今年参加了ROS机器人暑期学校的交流分享,非常感谢组委会的邀请和易科的支持,虽然讲稿准备了一段时间,但是依然感觉没有讲好,在博文中再具体写一下。
关于ROS暑期学校的相关信息,可以查看:http://www.roseducation.org/。
----
主题: ROS 与人工智能(机器学习/视频/语音)
时间 | 题目 | 报告人 |
---|---|---|
9:00 -- 9:10 | 暑期学校讲者介绍 | 主持: |
9:10 -- 10:45 | HyaphaROS - 1/20 MPC MiniCarPDF下载视频链接 | 林浩鋕 HyphaROS(中国台湾) 创始人 |
10:45 -- 11:00 | 茶歇休息15分钟 | |
11:00 -- 12:00 | Probabilistic Robotics视频链接 | Juan Rojas 博士 广东工业大学 |
午餐,午休 | ||
13:30 -- 15:00 | ROS与语音识别PDF下载视频链接 | 陈宇 华东师范大学 智能机器人运动与视觉实验室 |
15:00 -- 15:15 | 茶歇交流活动 | |
15:15 -- 17:00 | 机器人感知 —— 视觉部分PDF下载视频链接 | 张瑞雷 易科机器人实验室 |
移动机器人全地形自主导航PDF下载视频链接 | 马庆华 一坤科技 |
----
这个方向我并不擅长,但是在本科机器人专业课的教学过程中讲过类似案例课程,分享一下,抛砖引玉。
其实仔细想来,机器人专业我也是学艺不精的。为了避免和其他嘉宾分享内容和风格的相似,讲稿做了一些调整。
01-这部分内容,是专业课中机器人感知的一个子方向,原课程大致分为三个专题:语音,视觉,其他。和人工智能最紧密的是语音交互和视觉系统,其他包括,压力触觉感知,气味辨别及一些IMU姿态传感器等。
02-分享主要为4部8节。不讲述具体实现的细节,但给出相关资源链接。
03-视觉的主要任务就是感知外部环境,这里的过程部分都有共性,三维环境投影至二维,再呈现出来会有一些奇特的现象,可以看左面图片,通过经验可以帮助我们理解这些,经验来源于学习和积累,对计算机而言就是机器学习。
需要识别一个物体,获取参数,颜色,形状,距离,角度,甚至这个物体的状态,比如图四,苹果的阴影和色彩会随着光线变化,苹果是否成熟,是否有虫眼等。这其中,有哪些对人类而言,非常简单,哪些功能机器已经可以实现?
04-差异又有哪些?人类视觉感知神经有两种,环境非常暗的情况下,人眼不会有噪点,但是摄像头会有,为什么?机器人视觉还分为主动和被动两类,用于对环境的辨识。哪些是主动视觉设备,哪些又是被动的。
人的视觉系统可以通过眼球,颈部,甚至脚部调整,实现视野改变,机器人如何做到?仿生是正解还是迷途?
(Reality is real, but the digital world is virtual.)
05-左图是关联性,右图是各类技术的输入和输出比较。从这里也能了解到各类视觉系统的联系与不同,引出概念。
06-任务驱动,是机器人视觉的显著特征,也有部分适应环境,改变环境的能力。目前也主要分为工业机器人和服务机器人两类。
07-工业类
08-服务类
现在有很多装配在服务机器人上的机械手臂,两类机器人也出现融合应用的案例,对视觉系统的要求越来越高。
09-二维和三维环境,视觉的区别,坐标表示的变量等,具体看如下示例。
10-二维环境导航和三维环境抓取操作,对于机器人视觉系统的要求,视觉采集维度(RGB-RGBD区别),机器人控制自由度等之间,需要满足什么样的关系。
例如,二维环境的导航,全局地图和局部地图,也可以看作过去环境(静态)和当前环境(动态)的叠加,具体在后面叙述。
11-是否可以用现代控制理论中的能控能观,分析上述案例呢,输入矩阵/输出矩阵,分别如何对应感知与控制?
12-控制算法需要时间运算,从初始到稳态需要时间过渡,硬件上,视觉采集,电机控制都有时延,如何保证系统实时可靠呢?
这里,需要理解二维空间,二维时空,三维空间,三维时空等,机器人视觉系统如果不仅能看到当下,还能看到将来能到达的区域,就可以解决这类问题,自然中的生物,感知范围都远大于控制范围,除此之外,还需注意传感器的布局,爬行动物,鸟类鱼类的眼睛在数百万年中如何进化和分布的。设计一款机器人视觉传感器布局不合理也是不合适的。
对比两款小车,全局视觉和局部视觉的差异,也是制约速度的一个因素,当然也包括机器人动力学模型等。
理解一个视觉系统的空间与时间联系,非常重要。
13-这些都是世界著名高校的课程资源,依据学习先后顺序列出,比我讲得好太多了,推荐大家有兴趣自学。
14-视觉系统的组成,感知+主控+控制等。
这里推荐NASA的火星车开源项目:https://github.com/nasa-jpl/open-source-rover
有兴趣可以搭建自己的火星车。
15-硬件
16-软件
17-消息示例,通用性,如Twist,可以用于二维小车控制,也可以用作飞行器控制。
Leap可以获取物体的位置和姿态信息,直接可以作为输入设备使用。
正如,前面所述,视觉可分为主动与被动,控制也可分为直接与间接。
18-Leap通过ROS消息控制仿真或真实机器人部分代码示例。
19-对于人体手势识别控制机械手,需要不同的消息了,如上所示,具体可参考ROS的对应资料。
20-巡线小车案例,当然这个也可以用单片机实现,为什么用ROS。(技术陷阱与技术误区)
ROS功能的"地平线"比单片机的"天花板"高多了,扩展性和通用性强很多,巡线案例修改后也可用于机器人制定位置停车等。
21-具体实现过程,可查阅github。
对于此类硬件平台,小车视觉前瞻和速度有一定关联性,是否为:
只有看得远,才能跑得快;要想跑得快,必须看得远?(视觉有分辨率,速度有电机性能等限制条件需要考虑)
22-颜色识别,形状识别,还是线形的边缘提取并处理,用于巡线,什么样的算法适用性更好?
23-算法修改后,是否可以用于飞行器,二维视觉传感器用于三维环境,飞行器如何定高,除了装配高度传感器外,视觉环境如果是标准的可以通过标定方式尝试解决,需要添加二维码识别功能包。以上都是课程中鼓励学生尝试的一些案例示例,作为实践课成绩参考。
24-如上图,量子计算会对现有的视觉带来什么样的影响呢?
补充参考:https://github.com/krishnakumarsekar/awesome-quantum-machine-learning
25-对于是否使用ROS,使用ROS进行机器人视觉系统的设计,这里借用苏轼的一首诗。
---------------------------------------------------
横看成岭侧成峰,远近高低各不同。 不识庐山真面目,只缘身在此山中。
---------------------------------------------------
要想看到一个领域的全貌,深陷其中,可能并不能做到,虽然可以将技术细节做到极致。
这也许就是常说的,庸人安于世故,学者溺于所习吧。
如何能用技术实现艺术美学,让技术充满艺术感?
如何能用共性方案实现用户个性需求,做出通用性强,可定制性高的机器人视觉系统?
26-非常感谢在我机器人学习道路一起奋斗的各位小伙伴,讲稿只是个人浅薄经验的分享,谬误多多,欢迎批评和建议,谢谢。
-End-