Python与机器人技术
此文为我参加PyCon2014北京场闪电演讲的演讲稿,每张下面附加了我演讲时的注释。给没有看到该演讲的同学看的。
不解释
大家理想中的机器人是这样的,来自三部电影的大反派。
而现实是残酷的,左图是4年前做的第二个智能小车。如果你认为这个已经很烂了。那么有如爱因斯坦的小板凳一样,我还做过更烂的,比如右图这个是我做的第一个智能小车。
前面开开玩笑,现实也并不总是如此残酷。此图为我做的几种四轴飞行器。做下是第一个,三年多了居然还能飞。因此谈起航空界的一个话题:好的降落是无人伤亡的降落,而完美的降落是飞机还能起飞的降落。右图是我做得第三架。因此谈起航模界的一大迷信,就是首飞前不要拍照,否则就是遗照。可惜我做的第二架首飞炸机,连个遗照都没留下。左上是我做的第四架,配置略高,未来将用于deepglint的无人机平台。
谈谈正事,Python如何与机器人结合。机器人的感知非常重要,并因此影响了机器人的发展。而视觉的信息量很大,是个重要方向。与Python结合的机器人视觉,有关的:
1. PyGame可以用于读取摄像头的图像
2. PIL可以读写图片和处理图片,Pythoner是很幸运的,PIL使得很多常见工作无需引用OpenCV
3. OpenCV用于读写图像/视频,以及集成了多种视频处理算法,包括高级一些的人脸识别以及视差合成
4. OpenNI用于读取PrimeSense传感器的图像,可以直接拿到深度数据
5. v4l2可以在Linux下控制摄像头非常精确的功能,如曝光、白平衡等
将处理的结果,变为现实世界中实际的动作。
1. wave可以将读写声音文件,将信息编码为声音后,可以使得很多设备能收发控制信号
2. PWM:脉冲宽度调制,对舵机控制、电机调速很重要
3. Servo:舵机,很常用的执行机构
4. Arduino:可以自己用Arduino搭建电脑到现实世界的接口
所有系统都会耗费不少调试时间,更好的调试就带来更高的效率。
1. PySerial:串口是电子设备最简单的接口,用PySerial可以让Python直接通过串口通信
2. Python C API control GPIO:可以在特定平台让Python直接控制GPIO来调试,控制LED和读取按键等
3. Automated Testing:自动化测试可以极大的提高效率,而这正是Python的强项
很多处理数据工作都需要极高的性能。所以一些高性能运算的思路:
1. NumPy:可以轻松的调用多种科学计算函数,并且效率上丝毫不会降低
2. PyCUDA:可以使用NumPy的数组以及Python来容易的使用CUDA,而核函数就是CUDA的,不会损耗性能和移植性
3. TK1:一种nVidia推出的开发板,可以在嵌入式平台上使用192个CUDA核心
4. Parallella:嵌入式超级计算机
1. 传感器网络:机器人上会配备很多种传感器,而通过Python将这些传感器配置成一些网络服务会使得系统更加灵活
2. ROS是机器人操作系统,未来很有潜力的机器人开发平台,运行于Linux上,提供的官方语言支持就只有C++和Python,成熟度很好
3. Python作为胶水,结合ZeroMQ等,使得机器人系统变得更加灵活可用
4. Python作为集群的底层,使用twisted、gevent等,使得机器人系统可以与外部灵活的通信
立体视觉与深度信息是deepglint创业的核心思路。这个思路使得计算机视觉变得容易了许多。
右上为MultiView摄像机,由两个摄像机的视差形成立体视觉,原理与人眼相同。这个结构是用于安装在deepglint自动驾驶汽车上的。
PrimeSense是与kinect为同一制造商的深度摄像头,使用简单方便。右下图就是。
右下图底下是乐高积木,便于搭建各种简单的机械结构,加速机器人开发。图中安装了TK1。
deepglint开发中的各种机器人。
左图是室内巡逻机器人,未来会实现危险场景巡防,以及自动驾驶原型。
右上为deepglint自动驾驶原型车,改装中。
右下为改装前,车子太好玩,可以经常带大家去公园,而耽误了改车。
感兴趣的联系我,关于deepglint (格灵深瞳)或机器人皆可。以下为我的联系方式。
相关推荐
flask-pycon2014, 我的PyCon 2014教程"Flask By Example"的代码 Flask 示例我的PyCon 2014教程"Flask 按示例"的代码。要求一些以前的python 编码体验HTML和CSS的基本知识一点JavaScript肯定不会伤害到要求支持 ...
sklearn_pycon2014, 包含我的PyCon 2014 scikit文件的存储库学习教程 PyCon 2014-scikit学习教程注意:对于更新的教程内容,请参见 http://github.com/jakevdp/sklearn_tutorial/ 。:杰克 VanderPlas电子邮件:...
api-pycon2014, 我的PyCon talk"Writing RESTful Web Services with Flask"的代码 使用 Flask 编写rest式的rest 这个库包含一个完整的API项目,利用我在 PyCon 2014中讨论的技术,讨论如何构建漂亮的API以使用 Flask...
标题“2014-slides:PyCon 2014 的幻灯片”揭示了这是一个关于Python编程语言的会议——PyCon 2014的演讲材料集合。PyCon是一年一度的全球性Python开发者大会,参与者分享、讨论与Python相关的最新技术、最佳实践以及...
【Python与FPGA加速计算】 Python作为一种易学易用、高度可扩展的编程语言,在人工智能、数据分析等领域广泛应用。然而,Python在执行效率上相比于硬件加速技术存在一定的局限性,特别是对于计算密集型任务。FPGA...
PyconChina2014之Python机器学习实践讲稿 安装依赖 pip install -r requirements.txt 生成 make
扬声器蜘蛛(PyCon 2014 sprint) 该项目将: 从存档的会议网站上抓取演讲者的名字, 使用推断性别,以及随着时间的推移绘制不同会议的性别比例。 自 2011 年以来,Scrapy 团队构建了一个爬虫,用于抓取 Python 会议...
用于Python用例的TagUI | API参考| ...要为RPA(机器人流程自动化)安装此Python软件包-pip install rpa要在Jupyter笔记本,Python脚本或交互式shell中使用它-将rpa作为r导入关于不同操作系统的注释
2017年java源码Python中的闭包 这是在PyCon SK 2017上提供的Closures in Python对话Closures in Python支持材料。 谈话的目的是向观众介绍一般的封闭剂。 演示还包括来自其他语言(例如Java,C#或Javascript)的...
EdSchofield在PyCon AU 2014上做了一场名为"Writing 2/3 compatible code"的演讲,这场演讲的内容和相关材料可以在这个网址找到:***。 知识点七:Creative Commons Attribution Creative Commons Attribution是一...
漏洞挖掘是指对软件、系统或其他技术产品中存在的未知安全漏洞进行探索的过程。这个概念不仅局限于我们常说的bug,它特指那些可以被利用来造成安全问题的缺陷。编写程序的是人,由于程序的复杂性和精密性,不可避免...
PyCon 2014 Talk-线性回归示例这是我在“如何开始使用机器学习” PyCon 2014演讲中使用的线性回归示例。档案文件完整的pythonb脚本在lr_brain_body.py中提供。 ipython笔记本提供了示例代码片段,并显示了此示例的...
如何编辑 叉 更改index.md , TEMPLATE.html ,您知道 不要更改index.html ,它将从index.md生成 通过运行./md2html.py index.md生成index.html 提交,推送,请求请求
- **PyCon会议:**每年举办的PyCon会议是Python开发者交流技术和经验的重要场合,对于提升个人技能非常有益。 #### 六、总结 综上所述,Python凭借其简洁的语法、丰富的资源和强大的社区支持,已经成为当今最受...
PyCon Asia-Pacific不仅是一次技术交流的盛会,更是亚太地区Python开发者展示才华、拓宽视野的绝佳机会。通过参与此次会议,开发者不仅能了解Python最新动态和技术趋势,还有机会结识志同道合的同行,共同推动Python...
pycon-2017-eda-tutorial, PyCon 2017教程的资源,"Exploratory data analysis in python" EDA教程这个 repo 保存了为教程开发的内容,在 python的Exploratory探索性数据分析中,在 2017年05月17日的PyCon 。...
- 参加大型Python会议,如PyCon,这是获取前沿信息、学习新技术和结识同行的理想场合。 5. **分享经验和知识** - 通过撰写博客、发表技术文章或进行公开演讲,分享你的经验和见解,这既帮助了他人,也巩固了自己...
在描述中提到的是David Beazley所作的关于Python生成器的系统编程演示文稿,他曾在PyCon UK 2008上进行过该主题的讲解。此外,还强调了生成器在系统编程中的实用性,包括文件操作、文件系统、解析、网络编程和多线程...
PyCon Korea 2014 主页建造在姜戈南django-脆皮形式django-jsonfield django-rosetta django-summernote安装 $ pip install -r requirements.txt$ python manage.py syncdb$ python manage.py migrate$ python ...
胡安·门德斯Pycon 2017 哥伦比亚 要求 Python 2.7.x Python 点 地理信息系统 pip install -r requirements.txt 酿造安装mapnik brew 安装空间索引 数据 世界边界 ( ) 关于“odebrech”的推文 ( ) 地震 ( ) 爱德卡 ...