当前位置:网站首页>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脚本
(持续更新中... ... )
边栏推荐
- STL标准模板库(Standard Template Library)一周学习总结
- Brush question 4
- UE4_UE5结合罗技手柄(F710)使用记录
- 微信论坛交流小程序系统毕业设计毕设(8)毕业设计论文模板
- Network security CSRF
- Are the microorganisms in the intestines the same as those on the skin?
- 力扣解法汇总648-单词替换
- FreeLink开源呼叫中心设计思想
- 微信论坛交流小程序系统毕业设计毕设(4)开题报告
- Technology at home and abroad people "see" the future of audio and video technology
猜你喜欢
I wish you all the best and the year of the tiger
30讲 线性代数 第五讲 特征值与特征向量
Wechat forum exchange applet system graduation design completion (6) opening defense ppt
Install a new version of idea. Double click it to open it
微信论坛交流小程序系统毕业设计毕设(6)开题答辩PPT
Technology at home and abroad people "see" the future of audio and video technology
微信论坛交流小程序系统毕业设计毕设(5)任务书
UE4_UE5全景相机
Unity3D学习笔记5——创建子Mesh
STL标准模板库(Standard Template Library)一周学习总结
随机推荐
Wechat forum exchange applet system graduation design (3) background function
Network security sqlmap and DVWA explosion
Coreseek:第二步建索引及測试
Inftnews | the wide application of NFT technology and its existing problems
Network security - joint query injection
Dynamics 365 find field filtering
Unity3D学习笔记4——创建Mesh高级接口
Software test classification
leetcode-520. 检测大写字母-js
Exploratory data analysis of heartbeat signal
Unity3D学习笔记6——GPU实例化(1)
Adults have only one main job, but they have to pay a price. I was persuaded to step back by personnel, and I cried all night
About idea cannot find or load the main class
FreeLink开源呼叫中心设计思想
Opencv scalar passes in three parameters, which can only be displayed in black, white and gray. Solve the problem
智慧社區和智慧城市之間有什麼异同
微信论坛交流小程序系统毕业设计毕设(6)开题答辩PPT
Matlab-SEIR传染病模型预测
位运算(Bit Operation)
[microservices SCG] gateway integration Sentinel