ROS探索总结(七十二)—— ROS加速机器人智能化变革,从云端大脑到本地运动

  • 内容
  • 评论
  • 相关

~欢迎关注~

微信公众号:古月居

新浪微博:古月春旭

知乎专栏:古月居

原文链接:ROS加速机器人智能化变革,从云端大脑到本地运动

 

2019年4月19日,古月君受邀参加了中国自动化学会主办的——国家机器人发展论坛,并做了题为《ROS加速机器人智能化变革》的主题报告,以下是报告的主要内容,和大家分享学习。

幻灯片1

各位好,很荣幸能够分享我们在机器人操作系统ROS方面的研究,我来自一家新创公司——武汉精锋微控,目前主要做机器人的驱控系统。我们从2011年开始,就一直基于ROS做机器人的相关研究和开发,我们相信ROS是加速机器人智能化变革的重要工具之一,目前也已经看到了很多相关成果。

幻灯片2

我们认为机器人的智能化需要全面发展,不仅要利用云计算等工具,为机器人配备一个超强大脑,还需要全面发展,充分提高本地的计算能力,让机器人成为一个头脑发达、四肢也发达的智能体。近年来我们一直围绕这两个主题在展开工作,ROS也为加速我们的研究和实现提供了强有力的工具支撑。

幻灯片3

在机器人智能化进程中,机器人操作系统ROS作为一种重要的软件框架,大大提高了工作人员的开发效率,在分工协作、软件维护和系统扩展中具有重要意义。

幻灯片4

2007年,斯坦福大学诞生了ROS的原型,2008年后由机器人孵化企业——Willow Garage公司接手维护,2010年正式开源,2013年建立开源机器人基金会,之后推出长期支持版Indigo、Kinetic、Melodic,保持和Ubuntu LTS的周期一致。

为了提高ROS在产品中的可用性,2017年还推出了完全重新设计的ROS 2。在不到12年的时间中,ROS已经发展成为机器人领域的普遍标准,各大公司也纷纷投入到ROS社区,不断推进下阶段ROS 2的进程。

幻灯片5

ROS虽然意为机器人操作系统,但它本质上是一个针对机器人的软件框架,核心目标是提高机器人研发中的软件复用率,可以在通信机制、开发工具、应用功能和生态系统四大模块中减少开发者各自造轮子的重复工作。

ROS目前已经广泛应用于各种类型的机器人,涉及的应用功能也非常丰富,我们可以在友好的开源社区中找到很多高质量的项目,并且再次基础上二次开发,快速实现自己的应用功能。

幻灯片6

在不到12年的时间里,ROS社区中的功能包数量、下载量、wiki的访问量,以及相关的学术文章,都在大幅度的逐年增长,据2018年7月份的数据统计,ROS wiki每个月的访问量近20万,功能包下载量有30多万。

幻灯片7

以上为大家介绍了ROS的概况,接下来,我将从机器人的云端大脑和本地运动能力两个方面,汇报下我们基于ROS的一些工作。

幻灯片8

云计算是一个强大的技术工具,可以为机器人的快速成熟提供强有力的推动。在2010年的Humanoids会议上,卡耐基梅隆大学的James Kuffner教授首次将云计算与机器人技术结合,提出“云机器人”的概念,这也引起了业界广泛的讨论与研究。云机器人作为机器人学术领域的一个新概念,其重要意义在于借助互联网与云计算,帮助机器 人相互学习和知识共享,解决单个机器自我学习的局限性。

幻灯片9

RoboEarth是欧盟在2011年初资助的一个基于ROS的云机器人项目,由埃因霍温等大学和飞利浦公司的35位科学家共同合作研发,目标是建立面向机器人的万维网。RoboEarth是专门为机器人服务的一个网站,提供一个巨大的网络数据库系统,机器人在这里可以分享信息、互相学习彼此的行为与环境 。

幻灯片10

由RoboEarth项目衍生了明星创业公司——Rapyuta。他们在Roboearth庞大数据库的基础上,将机器人的大脑也放入了云端,而且基于ROS提供了一系列基于web的开发工具,开发者可以在浏览器中完成机器人从设计、仿真到实现的全部过程。

幻灯片11

云计算是很多大公司的优势,他们有庞大的计算能力和工具集群,所以他们也逐渐将触角延伸到机器人领域。2018年11月,最大的云计算平台厂商——亚马逊,推出了RoboMaker云机器人平台,同样是基于ROS框架,集成了自身在机器学习、图像语音处理和平台方面的优势,可以帮助开发者在云端快速实现大规模的机器人开发、测试和部署,还可以支持未来机器人软件的持续更新。

可参考:亚马逊云机器人平台RoboMaker,借助ROS重定义机器人开发方式

这些云机器人工具和平台都将提高机器人的可用性和易用性,而他们实现的核心也都是机器人操作系统ROS。

幻灯片12

这是我们在2014年发表论文中提出的基于ROS的云机器人架构,设计理念是机器人即服务,可以将不同种类的机器人实现松耦合的连接,通过统一的服务单元,为用户提供丰富的应用功能。在本地云中实现以密集型计算为主的应用服务,比如机器人SLAM和视觉处理等,而在全局云中基于RoboEarth实现机器人全局数据的存储,共享学习和交互。

幻灯片13

我们的主要创新工作是将传统云切分成了全局云和本地云两个部分,全局云是全局范围内的资源共享平台,包括世界各地的机器人可共享资源,同时对这些资源进行处理分析,以提供进一步基于数据的服务。

密集计算任务就交由本地云负责,这样可以释放全局云的计算压力,提高网络稳定性,本地云也可以根据局部需求做个性化定制,比如一个酒店组成的的本地云,其中的机器人主要以轮式移动型服务机器人为主,本地云就可以主力提供slam、导航、图像方面的服务,系统更加灵活,安全性也可以进一步提高。

幻灯片14

这是我们基于全局云实现的知识分享演示,机器人对物体建模后分享至全局云端,所有可访问云端的设备都可以下载该模型,并作为物体识别的目标。

幻灯片15

本地云为机器人提供SLAM与导航服务,利用ROS标准的接口封装统一的机器人功能。SLAM建立的地图可以在全局云端分享,如果有敏感信息的话,也可以在本地云端分享,提高安全性。

幻灯片16

我们还可以通过手机、浏览器远程访问并监控机器人。

幻灯片17

智能机器人的成熟不能只靠大脑方面的增强,机器人自身也需要有强健的筋骨,能够更好得完成大脑下达的指令,很多情况下还需要在机器人上搭配一个小脑,完成实时性较高的控制工作。所以我们进一步设计开发了新一代片上驱控系统,类似于手机中高通、华为各家争抢的SoC芯片,我们希望给机器人本身安装一个足够强大的“芯”脏,提高机器人控制系统自身的能力。

幻灯片18

以工业机器人为例,通用的控制系统中包含不同厂家声场的驱动器、控制器和IO设备,其中包含20颗左右的可编程芯片,接线部署繁杂,体积大,而且产品间的兼容性问题不能充分发挥控制系统的性能。所以我们设计了一款全新架构的片上驱控系统,可广泛应用于多种机器人系统中,在体积大幅度减小的同时,整体性能和成本控制也更好。

幻灯片19

该设计的核心是使用一颗SoC芯片,解决之前20颗芯片的问题,不再需要复杂的连线和通信。这颗SoC芯片是一款ARM+FPGA异构平台,我们在FPGA中使用硬件逻辑实现了常用电机类型的通用驱动和同步控制算法,ARM端嵌入了机器人控制算法和通信协议栈的支持,部分功能是基于ROS社区中的资源二次开发而来,整个系统支持ROS及其工业分支ROS-I接口。

幻灯片20

我们设计的片上驱控系统,可以兼容多种机器人结构,并且提供机器人自底向上的软硬件支持。借助片上系统中的FPGA,很多基于模型的计算和机器学习算法可以高速运行,提升机器人的本地处理和认知能力,在此之上,我们也封装了很多机器人的通用算法,以ROS为原型提供标准API和通信协议,提供类似操作系统的功能。

幻灯片21

我们也相信,随着机器人的广泛应用,机器人也将会成为生活、生产中重要的数据入口,利用片上系统可以拿到庞大的高速数据,再配合云端强大的计算能力,可以为未来智能制造提供强有力的支持。

幻灯片22

未来我们希望在SoC平台的基础上不断延伸,结合云机器人架构,打造从端到云的智能机器人解决方案。而在这个方案的设计、实现过程中,都离不开ROS提供的众多工具和开源社区的支持。

幻灯片23

这就是我们在利用ROS加速机器人智能化变革之路上的探索实践,欢迎各位专家批评指正。

 

更多内容欢迎关注:

微信公众号:古月居 (guyue_home)

新浪微博:古月春旭

知乎专栏:古月居

微信 OR 支付宝 扫描二维码
为本文作者 打个赏
pay_weixinpay_weixin

评论

8条评论
  1. Gravatar 头像

    啦啦大侠 回复

    古月老师您好,gazebo仿真时出现[ERROR] [1561342600.607019970, 370.934000000]: Client [/move_base] wants topic /scan to have datatype/md5sum [sensor_msgs/PointCloud/d8e9c3f5afbdd8a130fd1d2763945fca], but our version has [sensor_msgs/LaserScan/90c7ef2dc6895d81024acba2ac42f369]. Dropping connection.
    请问老师,这怎么回事啊,具体是那个地方出错啦

  2. Gravatar 头像

    小虎 回复

    古月学长好(华科学弟报到),我是买了您的书籍在学习ROS,请教一个问题,我删掉了一个ROS的工作空间,但是在ROS PATH的环境变量中,它的路径还在,怎么删除掉这个环境变量中的路径~

  3. Gravatar 头像

    薛棣棣 回复

    老师,在ROS中进行多个机器人的协调有什么可以参考的资料

  4. Gravatar 头像

    小昌同学 回复

    老师,你好,激光采集的点云,转换成立体栅格,我想提取特征点,但是立体栅格的表面存在噪声,不平整,我该怎么去噪声呢,对于立体栅格提取特征点,您有什么建议吗

小虎进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据