英特尔开源专家万华旭:ROS想说爱你不容易 英特尔开源ROS移动机器人平台
说到市面上机器人都采用哪些操作系统,绝大多数人都会想到andriod系统。然而实则还有一款专门为机器人设计开发的开源系统——ROS。虽然鲜为人知,但其实它已经诞生有8年之久。并且,ROS正以新兴之星的身份在机器人产业成长得风生水起,至目前为止已是主流的机器人操作系统之一。
Nvidia、博世、高通、宝马、大疆等不少大型企业已经开始注意到ROS的魅力,并在此之上有了深度研究。英特尔也在此其中。
近日英特尔发布了旗下一款ROS移动机器人平台,并首次面向机器人团队和行业爱好人士开源。所以这期的机器人大家说我们邀请了一位在英特尔工作10余年的开源技术专家万华旭作为分享嘉宾,一起来聊聊这一平台,以及与ROS相关的技术热题。
英特尔开源技术专家 万华旭
嘉宾介绍:
万华旭 英特尔开源技术中心高级工程师、开源技术专家、资深创客;毕业于中国科学院,硕士学位。毕业即加入英特尔开源技术中心,拥有10余年开源技术从业经验。最近几年创客运动兴起,主导建立公司内部创客空间,3D打印,物联网,智能家居,机器人等领域都有涉猎。
首先,先甩出这一开源平台的网页介绍:
以及视频链接:
http://v.youku.com/v_show/id_XMTY0MjI1NTM5Ng==.html
以下,是机器人大家说第二期分享会干货实录:
问题1丨ROS是什么,它有哪些特性?
万华旭:ROS 全称是Robot Operating System,即机器人操作系统。但是这个操作系统并不是我们常说的计算机操作系统中的一种,这其实更像是一个系统框架,提供了一个完整的、开放的机器人研究和开发平台。与ROS相关的资料在http://www.ros.org/ 上都有介绍,还有一个部分在中文网站:http://wiki.ros.org/cn。
尽管在2013年的时候,已经有评论指出,ROS几乎已经是机器人软件的事实标准。当然,还有说是科研和工业类机器人的更多。
ROS有几大好处:
1.分布式;
2.高复用性;
3.调试、测试方便。
这些能够很大程度上加快机器人的研发速度。说起分布式,有个最大的好处就是再也不用坐在地上调试机器人了。
问题2丨英特尔开源ROS机器人移动平台是什么?
万华旭:关于英特尔开源ROS机器人移动平台,可以在英特尔开源ROS机器人移动平台视频介绍 这个视频链接能看到。
这个开源机器人平台主要包括,全向移动底盘,底盘控制器,一台微型电脑,Realsense,激光雷达等等。
英特尔ROS开源平台集成了NUC、Realsense实感相机、Arduino Due、三轮全向移动底盘等硬件,提供完整的ROS开发环境,以及2D/3D SLAM、自主导航、物体识别与跟踪等功能。并且,在现有的开源平台基础上,可以方便地扩展其他的功能,例如使用语音识别进行人机交互, 配合机械臂进行物体抓取和运送等。我们的软、硬件全部开源,为科研人员和机器人爱好者提供完整的软硬件开发平台,为机器人研究与产品研发提供极大便利。
更为详细的介绍可关注机器人创新生态网站的开源ROS机器人信息。
我们主要想说明的是,这一平台上的所有东西都是开源的,或者 即将开源。
https://github.com/open-robot/open-robot,这个链接里边是主要的软件代码。后期英特尔会开源所有相关东西。
(经群员发问,万华旭表示这一平台上目前只有realsense有部分使用了GPU)
问题3丨英特尔开源ROS机器人移动平台有哪些关键特性,能实现哪些功能,应用领域有哪些?
万华旭:ROS有很多很多功能,英特尔也是需要一点一点在这个平台上去做并实现。目前我们已经有一个完整2D激光SLAM方案,自主建图,定位,导航,三轮全向运动机构,可以向任意方向直接移动。
它的特性有:
原生ROS参考平台,方便学习和再定制,0.5m/s 运动速度,满足室内应用需求,多种外设兼容,激光器和深度摄像头都可替换为市面常见设备。
开发中的功能有:
1.基于深刻摄像头的3D SLAM;
2.语音人机交互,声源定向;
3.移动机械臂抓取,物体运送;
4.人体/物体检测,追踪,跟随;
这些功能都是面向服务机器人这个应用场景的。不过,因为轮式和激光这些因素的限制,目前更适合室内应用,比如家庭,宾馆,医院,商场等。
问题4丨开源后的ROS机器人移动平台能给机器人团队带来怎样的支持或价值?
万华旭:目前这个平台是完全开放和开源的,任何人都可以不受限制地自己制作这个平台。
当然英特尔也欢迎有兴趣和有实力的厂商给大家生产和销售对应的零部件,比如金属框架,电机,控制器,传感器等,英特尔可以提供底盘和控制器生成所需要的设计、图纸和原理图等。其它的组件我们也都是某宝上购买。BSD license, 随便商用,不受限制。更重要的,你们也可以自己去卖。
问题5丨从技术层面来看,移动机器人目前所处的行业壁垒有哪些?
万华旭:个人看来,目前机器人这个行业还处于一个刚开始的阶段。
需要攻克的难点有很多,比如传感器类,如激光雷达、3D摄像头等;运动执行器类,像电机、舵机、机械臂等;和对应处理控制算法都处在一个需要突破的时期。
目前国内外也都有一大批对应的创业公司正在这些对应的方向研究和开发产品。在这个时候,个人认为反而缺少一个能把所有这些东西集结在一起的平台:在这个平台上,所有人都可以把这些东西,“堆”在一块玩。
从大方向来说,在这个平台之上,各个厂商利用这一开源平台,专注于各自所擅长的领域,提高各个组件的能力。然后,依靠这个平台用户之间互相合作,可以得到第一手的测试和反馈来改进自己的产品。只有基于这种开放和合作的精神,机器人技术才能快速成长,机器人行业才能做大做强。
分享会精彩回答:
Q1.我看到这个开源平台上用到了arduino。我现在对物联网一块儿比较感兴趣,请问基于arduino开发物联网的优势和缺点在什么地方?
嘉宾万华旭:arduino 这个东西太多了,从小的到大的,你都能找到对应的东西来玩。arduino好处是开源、开放,有很多东西可以利用,这点和ROS一致。但其缺点是,产品化需要点过程和时间。
Q2.SLAM在ROS已经做到什么程度?基于摄像头的单目双目是否都支持?能展开讲一下slam。
万华旭:SLAM 是个比较大的概念,我们也只是研究了一点点。单目、双目和深度摄像头都有对应的资源可利用,因为这个一时半会也不一定能讲清楚就不展开说了。
基于视觉的SLAM,目前还比较受限。一个是计算资源,一个是好的传感器。SLAM目前我们实现的功能是基于激光的,因为比较成熟和稳定。前文也提到过,目前英特尔ROS开源平台实现了完整2D激光SLAM方案,自主建图,定位,导航。
与此相关联的内容可看以下链接:
https://github.com/intel-ros/realsense/tree/3491d4813c83a15bc9835b65d420332d9ab56fd8
接问:未来在ROS上都会支持吗?单目双目,深度,目前哪个团队在基于哪些资源开发?
万华旭:我们可能只用深度来做3D 的SLAM来了。
Q3.如果涉及到不同行业和垂类的应用,图像和语音这部分要有好的用户体验,应该是需要定制的吧?
万华旭:机器人上的东西,大都需要定制。
Q4.大牛好,请问现在有什么ros的替代产品吗?
万华旭:个人认为ROS太大了,它已经开始可以兼容很多其他机器相关的系统,不太容易被替代吧。
Q5.之前提到英特尔ROS开源平台支持语音识别,不知目前是否能同时支持图像和人脸识别?AI软件部分是Intel自己研发的么?
万华旭:图像和人脸识别的功能在Realsense的window SDK已经有了,但是在ROS里边貌似还没有完全实现。
Q6.有知道真正用ROS做的商业产品吗?而且还比较大量的那种
万华旭:ROS目前更多还是做研究的多,真正做商用产品应该都是简化。
(群员补充:ETH无人机用的就是ROS+Matlab,但是更多的好像没听说过似的)
ROS的pub sub 机制比较灵活,但是资源开销也会大一点。目前听到一波用ROS做无人机的,不过我个人认为没有发挥出ROS的最大优势,就是多机协同。
(群员补充:现在CPU还没跟上,如果用嵌入式主板跑的话成本会低。深度图像一定要用GPU处理的,CPU永远不够用。)
Q7.目前机器人用andriod系统比较多,ROS系统还不能被广泛地运用在各种移动机器人身上,原因是什么呢?
万华旭&群员:成本能降到1000以内再说,激光雷达成本降不下来;要想用ROS,linux是一个比较难过的坎。再加上ROS都是C、C++,python 写的,能同时处理这些语言的人又少了一大批。Andorid 系统也有自己的问题,所有算法都需要自己实现,没有现成的高级东西。