新闻资讯

联系我们 Contact Us

电话:010-82488500

传真:010-82488501

E-mail:znj@bjrobot.com

地址:北京市亦庄经济开发区凉水河二街8号大族企业湾7号楼A座2层

邮编:100176

您现在的位置:主页 > 新闻资讯 >

ROS 2正式版来了,到底有哪些新变化?

作者: bjrobot 时间:2017-12-13 来源:易科机器人实验室
摘要:ROS 2正式版来了,到底有哪些新变化? 2017.12.09,机器人开源操作系统软件ROS 2终于推出首个正式版,新版本命名为Ardent Apalone,代号ardent。 查了一下,中文意思为热心的美洲鳖,不知ROS2是不是要从ROS1的海龟系列换成土鳖系列了,ORZ。 如果你只想用最短

ROS 2正式版来了,到底有哪些新变化?

 
2017.12.09,机器人开源操作系统软件ROS 2终于推出首个正式版,新版本命名为“Ardent Apalone”,代号“ardent”。
查了一下,中文意思为“热心的美洲鳖”,不知ROS2是不是要从ROS1的“海龟”系列换成“土鳖”系列了,ORZ。
如果你只想用最短时间了解有哪些关键的新特性,只看下一段就OK了。
 
1.                  1.ROS2全面支持三种平台
2.                  ØUbuntu 16.04(Xenial)
3.                  ØMac OS X 10.12(Sierra)
4.                  ØWindows 10
5.                  2.实现了分布式架构
取消Master中央节点,实现节点的分布式发现,发布/订阅,请求/响应通
支持实时
1.                  3.使用新版本的编程语言
2.                  ØROS 2广泛使用C ++ 11。而ROS 1的核心主要使用C ++ 03,在其API并没有使用C++ 11功能。
3.                  ØROS 2的Python版本至少为3.5,ROS 1的Python版本为2.7
4.                  4.使用了新的编译系统Ament(ROS为Catkin)
5.                  5.ROS1可以通过rosbridge和ROS 2通信
 
 
接下来进行详细介绍:
关于ROS2的起源、前世今生可参考我一年前写的一篇文章,在此不过多重复。
ROS和ROS2.0现在到底该学习哪个呢?
https://zhuanlan.zhihu.com/p/24391444
 
 

ROS 1和ROS 2之间变化


 
1.   系统架构
上图所示是ROS 2与ROS 1整体架构的对比:
ROS 1主要构建于Linux系统之上,主要支持Ubuntu。而ROS 2采用全新的架构,底层基于DDS通信机制,支持实时性、嵌入式、分布式、多操作系统。ROS 2支持的系统包括Linux、windows、Mac、RTOS,甚至是单片机等没有操作系统的裸机。
 
ROS 1的通讯系统基于TCPROS/UDPROS,强依赖于master节点的处理,而ROS 2的通讯系统是基于DDS,进而取消了master,同时在ROS2内部提供了DDS的抽象层实现,有了这个抽象层,用户就可以不去关注底层的DDS使用了哪个商家的API。
ROS 2目前已经在Ubuntu Xenial,OS X El Capitan以及Windows 10上进行了CI测试和支持(参阅ci.ros2.org)。
 
2.   编程语言
C ++标准
ROS 1的核心是针对C ++ 03,并没有在其API中使用C ++ 11功能。ROS 2广泛使用C ++ 11,并使用C ++ 14的某些部分。在未来,ROS 2可能会开始使用C ++ 17。
python
ROS 1是针对Python 2,ROS 2至少需要Python 3.5版本。



3.   编译系统
ROS编译系统从初期使用的rosbuild,到groovy版本之后的catkin,再到ROS2中的ament
虽然编译系统并不是ROS框架中的核心部分,但却是开发者最常接触的一个重要功能。
ROS 2新的编译系统ament是一种元编译系统,用来构建组成应用程序的多个独立功能包,它并不是一个全新的东西,是catkin编译系统进一步演化的版本,而这两个单词也是近义词。查了一下,catkin和ament的意思为柔荑花序(柳絮),而ROS最早起源于柳树车库公司。
ROS 2只支持隔离的构建
在ROS 1中,可以在单个CMake上下文中构建多个包。虽然这加快了构建步骤,但是每个包都需要确保正确定义了交叉包目标依赖关系。另外所有的软件包共享相同的命名空间,导致目标名称冲突等。
在ROS 2中,只支持隔离的构建,即每个包都是独立构建的。安装空间可以是隔离的或合并的。
取消了开发空间
在ROS 1中,可以在不安装包的情况下构建包。
在ROS 2中,必须先安装一个软件包,然后才能使用它。
ROS 1中使用开发空间的一个原因是为了使开发人员能够更改文件,例如Python代码或启动文件,并直接使用修改后的代码,而无需重新编译软件包。在ROS 2中保留了这一好处,可选择使用符号链接替换安装步骤中的复制操作。
 
4.   消息、服务接口
ROS 2使用了新的接口。有关更多信息,请参阅ROS接口定义文章。
如果现在就想动手开发,可参阅“古月居”的相关教程。



下一个版本

ROS 2 目前还在积极的开发完善中之中。下一个正式版本将在2018年夏天发布。届时会继续有一些出现新特性,例如将会进一步完善C++和Python的API,开发通用构建工具,发布Windows和Mac OS软件包,使用FastRTPS增强实时安全等。
期待更好,更强大的ROS 2 土鳖出现!
 
参考文献:
https://github.com/ros2/ros2/wiki/Release-Ardent-Apalone
https://github.com/ros2/ros2/wiki/Features
https://github.com/ros2/ros2/wiki/Roadmap
http://design.ros2.org/articles/changes.html
古月居 http://www.guyuehome.com/
开始学习机器人-知乎专栏https://zhuanlan.zhihu.com/p/24391444
 
 我们的产品非常丰富,能够满足您不同的需求:

      科普机器人方面:大型类人迎宾机器人、群体表演机器人、仿人形机器人、各种仿生机器人以及机器人开发与研制。
学校和科研机构试验平台:仿人形机器人协作平台,可重构创意机器人,嵌入式机器人开发平台、单片机基础教学等;适合中小学基础教学的开发平台,适合幼儿科学启蒙教育的开发平台。
    比赛系列机器人:创意大赛的机器人系列,满足RoboCup、FIRA 、RCJ、电教馆、教委及各省市的比赛,如类人足球、家政服务、创意、舞蹈、搏击、竞速、控球、功能挑战等多种比赛项目,并提供相应技术指导。
民用机器人方面:家用保安机器人、娱乐机器人系列、观赏机器鱼系列产品。

联 系 人:李雅倩

联系电话:18811421716/010-82488500转6833
地   址:北京市亦庄凉水河二街大族企业湾7栋A座2层
email:liyaqian@bjrobot.com

相关阅读

联系我们

电话:010-82488500
传真:010-82488501
E-mail: znj@bjrobot.com
地址:北京市亦庄经济开发区凉水河二街8号大族企业湾7号楼A座2层
邮编:100176

网站首页 产品中心 解决方案 联系我们

Copyright © 2006-2016 bjrobot 智能佳科技 京ICP备13001844号

在线客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息