当前位置:网站首页>ROS2专题(03):ROS1和ROS2的区别【01】
ROS2专题(03):ROS1和ROS2的区别【01】
2022-07-07 21:51:00 【无水先生】
1 提要
未来ROS2将越来越火,而ROS1将要退出历史;小米、华为都普遍用上ROS2了,然而,ROS2资料奇缺,我这里将从国外资料筛选出一些关键的信息,提供给那些能够快马加鞭的骑手们。
2 从架构上说
1)通信协议不同
ros1用的是TCP和UDP协议,而ROS2用DDS协议;DDS是专用总线协议,更快更明快的通信。
2)架构不同
ROS1需要Master也就是roscore那玩意;roscore可以理解成通信交换机,用户的通信全部集中在Master交换。
3)ROS2多了一个rcl
用户依赖于rclpy和rclcpp包,这两个包负责与rcl通信,而rcl是由DDS协议支撑的。
在下图清楚地表达了他们之间区别。

3 从代码上看
以下我们从实现“number”题目的程序为例,看ros1和ros2的代码区别是什么。
3.1 依赖包区别
3.2 回调函数

3.3 主函数调用

4 通信体上看
ros1的最小运行单元是节点,从通信上看,ros1是节点机制,即节点之间都可以相互通信,因为每个节点可以与master通信;而ros2的最小运行单元是可执行对象,每个可执行对象内部可以包含若干个组件,组件与组件能实现通信。

5 从节点的生命周期
ros1中的节点是没有生命周期的,什么时候启动,什么时候退出,节点本身没有控制权,控制权在使用节点的那个主体上,节点是纯被动的。
ros2开始有了生命周期的概念,即节点有未配置状态,未激活状态,激活状态,以及冰冻状态;显然,ros2的节点已经是一个多线程管理机制,内部有状态机组织。

6 Launch文件的对比
对比看出,两种launch文件差别很大:
1)ros1的launch文件如下:

2)ros2的launch文件是个python脚本

(持续更新中... ... )
边栏推荐
- Wechat forum exchange applet system graduation design completion (1) development outline
- Install Fedora under RedHat
- ArcGIS: field assignment_ The attribute table field calculator assigns values to fields based on conditions
- Specific method example of V20 frequency converter manual automatic switching (local remote switching)
- 聊聊 Dart 的空安全 (null safety) 特性
- Grid
- Anta DTC | Anta transformation, building a growth flywheel that is not only FILA
- Txt file virus
- Wechat forum exchange applet system graduation design completion (4) opening report
- JMeter interface automated test read case, execute and write back result
猜你喜欢

ArcGIS:矢量要素相同字段属性融合的两种方法

UE4_UE5全景相机

iNFTnews | Web5 vs Web3:未来是一个过程,而不是目的地

Brush question 3

Wechat forum exchange applet system graduation design completion (1) development outline

Unity3D学习笔记5——创建子Mesh

微信论坛交流小程序系统毕业设计毕设(2)小程序功能

STL标准模板库(Standard Template Library)一周学习总结

七月第一周

Innovation today | five key elements for enterprises to promote innovation
随机推荐
Network security - Eternal Blue
30讲 线性代数 第五讲 特征值与特征向量
Grid
漏洞复现----49、Apache Airflow 身份验证绕过 (CVE-2020-17526)
Clean C disk
[language programming] exe virus code example
系统架构设计师备考经验分享:论文出题方向
网格(Grid)
Brush question 6
ArcGIS: field assignment_ The attribute table field calculator assigns values to fields based on conditions
How to operate DTC community?
Dynamics 365 find field filtering
网络安全-钓鱼
Wechat forum exchange applet system graduation design completion (4) opening report
ArcGIS: two methods of attribute fusion of the same field of vector elements
力扣解法汇总648-单词替换
Wechat forum exchange applet system graduation design (5) assignment
Network security - joint query injection
2022 words for yourself
Circumvention Technology: Registry