~欢迎关注~
微信公众号:古月居
新浪微博:古月春旭
知乎专栏:古月居
2019年4月19日,古月君受邀参加了中国自动化学会主办的——国家机器人发展论坛,并做了题为《ROS加速机器人智能化变革》的主题报告,以下是报告的主要内容,和大家分享学习。
各位好,很荣幸能够分享我们在机器人操作系统ROS方面的研究,我来自一家新创公司——武汉精锋微控,目前主要做机器人的驱控系统。我们从2011年开始,就一直基于ROS做机器人的相关研究和开发,我们相信ROS是加速机器人智能化变革的重要工具之一,目前也已经看到了很多相关成果。
我们认为机器人的智能化需要全面发展,不仅要利用云计算等工具,为机器人配备一个超强大脑,还需要全面发展,充分提高本地的计算能力,让机器人成为一个头脑发达、四肢也发达的智能体。近年来我们一直围绕这两个主题在展开工作,ROS也为加速我们的研究和实现提供了强有力的工具支撑。
在机器人智能化进程中,机器人操作系统ROS作为一种重要的软件框架,大大提高了工作人员的开发效率,在分工协作、软件维护和系统扩展中具有重要意义。
2007年,斯坦福大学诞生了ROS的原型,2008年后由机器人孵化企业——Willow Garage公司接手维护,2010年正式开源,2013年建立开源机器人基金会,之后推出长期支持版Indigo、Kinetic、Melodic,保持和Ubuntu LTS的周期一致。
为了提高ROS在产品中的可用性,2017年还推出了完全重新设计的ROS 2。在不到12年的时间中,ROS已经发展成为机器人领域的普遍标准,各大公司也纷纷投入到ROS社区,不断推进下阶段ROS 2的进程。
ROS虽然意为机器人操作系统,但它本质上是一个针对机器人的软件框架,核心目标是提高机器人研发中的软件复用率,可以在通信机制、开发工具、应用功能和生态系统四大模块中减少开发者各自造轮子的重复工作。
ROS目前已经广泛应用于各种类型的机器人,涉及的应用功能也非常丰富,我们可以在友好的开源社区中找到很多高质量的项目,并且再次基础上二次开发,快速实现自己的应用功能。
在不到12年的时间里,ROS社区中的功能包数量、下载量、wiki的访问量,以及相关的学术文章,都在大幅度的逐年增长,据2018年7月份的数据统计,ROS wiki每个月的访问量近20万,功能包下载量有30多万。
以上为大家介绍了ROS的概况,接下来,我将从机器人的云端大脑和本地运动能力两个方面,汇报下我们基于ROS的一些工作。
云计算是一个强大的技术工具,可以为机器人的快速成熟提供强有力的推动。在2010年的Humanoids会议上,卡耐基梅隆大学的James Kuffner教授首次将云计算与机器人技术结合,提出“云机器人”的概念,这也引起了业界广泛的讨论与研究。云机器人作为机器人学术领域的一个新概念,其重要意义在于借助互联网与云计算,帮助机器 人相互学习和知识共享,解决单个机器自我学习的局限性。
RoboEarth是欧盟在2011年初资助的一个基于ROS的云机器人项目,由埃因霍温等大学和飞利浦公司的35位科学家共同合作研发,目标是建立面向机器人的万维网。RoboEarth是专门为机器人服务的一个网站,提供一个巨大的网络数据库系统,机器人在这里可以分享信息、互相学习彼此的行为与环境 。
由RoboEarth项目衍生了明星创业公司——Rapyuta。他们在Roboearth庞大数据库的基础上,将机器人的大脑也放入了云端,而且基于ROS提供了一系列基于web的开发工具,开发者可以在浏览器中完成机器人从设计、仿真到实现的全部过程。
云计算是很多大公司的优势,他们有庞大的计算能力和工具集群,所以他们也逐渐将触角延伸到机器人领域。2018年11月,最大的云计算平台厂商——亚马逊,推出了RoboMaker云机器人平台,同样是基于ROS框架,集成了自身在机器学习、图像语音处理和平台方面的优势,可以帮助开发者在云端快速实现大规模的机器人开发、测试和部署,还可以支持未来机器人软件的持续更新。
可参考:亚马逊云机器人平台RoboMaker,借助ROS重定义机器人开发方式
这些云机器人工具和平台都将提高机器人的可用性和易用性,而他们实现的核心也都是机器人操作系统ROS。
这是我们在2014年发表论文中提出的基于ROS的云机器人架构,设计理念是机器人即服务,可以将不同种类的机器人实现松耦合的连接,通过统一的服务单元,为用户提供丰富的应用功能。在本地云中实现以密集型计算为主的应用服务,比如机器人SLAM和视觉处理等,而在全局云中基于RoboEarth实现机器人全局数据的存储,共享学习和交互。
我们的主要创新工作是将传统云切分成了全局云和本地云两个部分,全局云是全局范围内的资源共享平台,包括世界各地的机器人可共享资源,同时对这些资源进行处理分析,以提供进一步基于数据的服务。
密集计算任务就交由本地云负责,这样可以释放全局云的计算压力,提高网络稳定性,本地云也可以根据局部需求做个性化定制,比如一个酒店组成的的本地云,其中的机器人主要以轮式移动型服务机器人为主,本地云就可以主力提供slam、导航、图像方面的服务,系统更加灵活,安全性也可以进一步提高。
这是我们基于全局云实现的知识分享演示,机器人对物体建模后分享至全局云端,所有可访问云端的设备都可以下载该模型,并作为物体识别的目标。
本地云为机器人提供SLAM与导航服务,利用ROS标准的接口封装统一的机器人功能。SLAM建立的地图可以在全局云端分享,如果有敏感信息的话,也可以在本地云端分享,提高安全性。
我们还可以通过手机、浏览器远程访问并监控机器人。
智能机器人的成熟不能只靠大脑方面的增强,机器人自身也需要有强健的筋骨,能够更好得完成大脑下达的指令,很多情况下还需要在机器人上搭配一个小脑,完成实时性较高的控制工作。所以我们进一步设计开发了新一代片上驱控系统,类似于手机中高通、华为各家争抢的SoC芯片,我们希望给机器人本身安装一个足够强大的“芯”脏,提高机器人控制系统自身的能力。
以工业机器人为例,通用的控制系统中包含不同厂家声场的驱动器、控制器和IO设备,其中包含20颗左右的可编程芯片,接线部署繁杂,体积大,而且产品间的兼容性问题不能充分发挥控制系统的性能。所以我们设计了一款全新架构的片上驱控系统,可广泛应用于多种机器人系统中,在体积大幅度减小的同时,整体性能和成本控制也更好。
该设计的核心是使用一颗SoC芯片,解决之前20颗芯片的问题,不再需要复杂的连线和通信。这颗SoC芯片是一款ARM+FPGA异构平台,我们在FPGA中使用硬件逻辑实现了常用电机类型的通用驱动和同步控制算法,ARM端嵌入了机器人控制算法和通信协议栈的支持,部分功能是基于ROS社区中的资源二次开发而来,整个系统支持ROS及其工业分支ROS-I接口。
我们设计的片上驱控系统,可以兼容多种机器人结构,并且提供机器人自底向上的软硬件支持。借助片上系统中的FPGA,很多基于模型的计算和机器学习算法可以高速运行,提升机器人的本地处理和认知能力,在此之上,我们也封装了很多机器人的通用算法,以ROS为原型提供标准API和通信协议,提供类似操作系统的功能。
我们也相信,随着机器人的广泛应用,机器人也将会成为生活、生产中重要的数据入口,利用片上系统可以拿到庞大的高速数据,再配合云端强大的计算能力,可以为未来智能制造提供强有力的支持。
未来我们希望在SoC平台的基础上不断延伸,结合云机器人架构,打造从端到云的智能机器人解决方案。而在这个方案的设计、实现过程中,都离不开ROS提供的众多工具和开源社区的支持。
这就是我们在利用ROS加速机器人智能化变革之路上的探索实践,欢迎各位专家批评指正。
更多内容欢迎关注:
微信公众号:古月居 (guyue_home)
新浪微博:古月春旭
知乎专栏:古月居
全部评论(38)
skylor
cc
古月作者
か 、YY 很任性
古月作者
佚名
古月作者
佚名
佚名
古月作者
佚名
古月作者
佚名
古月作者
佚名
古月作者
佚名
古月作者
佚名
佚名
古月作者
佚名
佚名
古月作者
古月作者
佚名
佚名
古月作者
佚名
佚名
古月作者
佚名
古月作者
佚名
佚名
古月作者
佚名
古月作者