• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

ROS探索总结(四十七)—— ROS产品化探索之生态系统篇

人工智能 古月 1435次浏览 0个评论

诞生于2007年的ROS,发展速度之迅猛超出了所有人的预料,已经成为一个机器人领域的生态系统,可以提供机器人相关的全方位技术,从硬件到软件,从框架到功能,从驱动到应用。。。

前边三篇已经分别从通信机制、开发工具、应用功能这三个方面浅谈了笔者对ROS产品化探索的一点总结,本篇就来聊聊最后一个部分——从生态系统的角度来看,ROS可以为机器人产品化提供哪些思路。

什么是生态系统?

维基百科的解释是:生态系统(Ecosystem)是指在一个特定环境内,相互作用的所有生物和此环境的统称。

2

ROS提供了一个庞大的开源社区,为ROS生态系统提供了基础环境,众多机器人的基础工具和应用功能不断融入这个系统,并且不断吸收第三方开源软件的精华,同时得到全球范围内众多开发者的支持,系统中的各部分协调统一、相互促进、共同成长,成为一个整体。

这个ROS生态系统应该是目前最大的机器人知识库了,在机器人产品化开发中,也必将成为一个重要的资源池。

 

一、机器人资源

 

目前国内外常用的机器人平台大部分都已经支持ROS系统,可以在wiki上查找:

http://robots.ros.org/

3

就算wiki上找不到的,基本也可以在github上找到其他开发者的分享。如果加上爱好者自己设计、实现的机器人,那就更加数不胜数了。

这些机器人资源对我们有什么用呢?

1. 机器人硬件设计参考

ROS中的机器人资源都是开源的,包括机器人的模型文件。如果我们需要做机器人设计,完全可以参考这些开源的机器人模型,毕竟包含了不少知名的机器人平台。

2. 辅助机器人原型搭建

使用ROS中已有的功能包,我们可以在自己的机器人上快速搭建功能原型,验证机器人设计中的问题。

3. 基于应用功能包的二次开发

ROS中的功能包非常丰富,一定可以找到与我们研究方向相关的应用功能,虽然不太可能直接应用在产品开发中,但还是可以减少类似重复造轮子的工作。

4. 算法验证

如果我们是算法工程师,手上又没有现成的机器人平台,那么使用ROS中的机器人可以随便挑随便选,放在物理仿真环境中,想怎么用怎么用,还分文不要。

5. 学习机器人系统

无论我们是机器人方向刚入门的初学者,还是资深工程师,都不可能掌握机器人方方面面的知识,那么借助ROS学习更多机器人相关的技能,一定可以事半功倍。

 

二、功能框架

设计一个完善的机器人系统并不是一件简单的事情,借用Python的一句名言:人生苦短,我用ROS。ROS中丰富的机器人框架,一定可以给你一些设计、实现上的灵感:

1. 机器人通信框架

4

ROS1的通信机制部分在机器人产品化中存在很多问题,但并不代表这种通信框架是不可用的,如果我们设计类似的通信功能,一样可以参考这个模型。

5

如果你不喜欢这种“中央集权”的通信模型,也可以看一下ROS2的通信模型。

这些通信模型的底层实现是开源透明的,真要拿来二次开发实现商业化,也不是没有可能。

2. 机器人导航框架

6_副本

这个框架我们在上一篇已经说过,这里就不多说了,谁用谁知道。

3. ROS-I框架

7

工业机器人是机器人中非常重要的一个部分,在工业领域应用广泛而且成熟。ROS迅猛发展的过程中,也不断渗入到工业领域,从而产生了一个新的分支——ROS-Industrial(ROS -I)。

工业机器人的品牌众多,接口也各不统一,ROS-I框架为这些机器人提供了一个统一的控制平台,可以将ROS社区中的众多资源应用到生产环境中,或许会成为ROS最快落地的一个领域。

4. ros_control框架

8

硬件平台千差万别,如何将上层应用快速适配到不同的机器人硬件平台上,也是软件开发工程师头疼的一个问题,那就参考一下ros_control框架吧,仿真控制与实物控制轻松切换,类似于linux系统底层write、read机制一般的统一接口,可以帮助我们解决不少麻烦。

ROS中还有很多功能框架,都是全球范围内顶尖开发者的知识结晶,妈妈再也不用担心我不会机器人设计了。

三、机器人前沿科技

机器人绝对是走在当今科技最前沿的一个领域,更新换代也异常迅速,所以我们不仅要掌握机器人基础理论和技术,还要时刻关心前沿动态。ROS在机器人领域的地位越来越高,也是我们窥看前沿科技的一个窗口。

1. 机器人前沿

9

比如这款“百万级”的仿生手。

10

比如这款“不会伤人”的KUKA LWR iiwa。

11

再比如这款“机器僧人”Pepper。

2. 学术前沿

每年机器人顶级期刊和会议上的论文,很多都是基于ROS实现的,部分论文还会把成果和源码在ROS社区中分享。很多大公司或大牛也经常会把一些机器人算法在ROS社区分享。这就为我们接触学术前沿提供了机会,也可以从中汲取不少新的灵感和知识。

12

比如2016年Google在ROS社区中开源了一种SLAM实现算法——cartographer,同时也分享了ICRA会议上的相关论文:

https://research.google.com/pubs/pub45466.html

13

再比如基于ROS实现的无人驾驶平台:

http://www.ros.org/news/2017/06/simulated-car-demo.html

14

当然,也少不了当今热门的人工智能与ROS的结合:

http://www.theconstructsim.com/machine-learning-openai-gym-ros-development-studio-2/

此外,很多基于ROS实现的论文都可以在这里找到:

http://wiki.ros.org/Papers

ROS的生态系统在机器人领域保罗万象,还有更多资源可以让我们随意使用,无论是提高个人技能,还是进行商业开发,都可以让我们站在巨人的肩膀上看得更远。这也是ROS最初的设计目标:提高机器人领域的代码复用率,促进不同组织之间各施所长、合作共赢。

 

至此,《浅谈ROS的产品化探索》系列文章也就告一段落了,笔者使用四篇文章浅谈了个人在ROS学习、应用、产品化开发过程中的一些感悟和总结,欢迎各位批评指正。

总而言之,ROS能不能产品化应用,不能用一个“能”或者“不能”简而概之,而是需要剖析开来具体分析,在应用中取其精华去其糟粕。

turtle

祝各位有一段美妙的ROS机器人开发之旅!ROS探索总结(四十七)—— ROS产品化探索之生态系统篇CaptureROS探索总结(四十七)—— ROS产品化探索之生态系统篇


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明ROS探索总结(四十七)—— ROS产品化探索之生态系统篇
喜欢 (0)

您必须 登录 才能发表评论!

加载中……