当前位置:网站首页>Ros2 topic (03): the difference between ros1 and ros2 [01]
Ros2 topic (03): the difference between ros1 and ros2 [01]
2022-07-07 23:19:00 【Mr anhydrous】
1 summary
future ROS2 Will become more and more popular , and ROS1 About to exit history ; millet 、 Huawei is widely used ROS2 了 , However ,ROS2 Data is extremely scarce , Here I will sift out some key information from foreign materials , For those riders who can speed up their horses .
2 Architecturally speaking
1) Communication protocols are different
ros1 It's using TCP and UDP agreement , and ROS2 use DDS agreement ;DDS It is a private bus protocol , Faster and faster communication .
2) Different architectures
ROS1 need Master That is to say roscore That thing ;roscore It can be understood as a communication switch , Users' communications are all concentrated on Master In exchange for .
3)ROS2 One more. rcl
Users rely on rclpy and rclcpp package , These two packages are responsible for rcl signal communication , and rcl By DDS Agreement supported .
The difference between them is clearly expressed in the figure below .

3 From the code point of view
Let's start with “number” Take the procedure of the topic as an example , see ros1 and ros2 What is the code difference between .
3.1 Dependent package differences 
3.2 Callback function

3.3 Main function call

4 From the perspective of communication body
ros1 The smallest unit of operation is the node , From the perspective of communication ,ros1 Node mechanism , That is, nodes can communicate with each other , Because each node can be connected with master signal communication ; and ros2 The smallest running unit of is the executable object , Each executable object can contain several components , Components can communicate with each other .

5 The lifecycle of the slave node
ros1 Nodes in have no lifecycle , When to start , When to quit , The node itself has no control , Control is on the subject that uses the node , Nodes are purely passive .
ros2 Began to have the concept of life cycle , That is, the node has unconfigured status , Inactive state , active , And frozen state ; obviously ,ros2 The node of is already a multi-threaded management mechanism , Internal state machine organization .

6 Launch Comparison of documents
The contrast shows that , Two kinds of launch The files are very different :
1)ros1 Of launch The documents are as follows :

2)ros2 Of launch The file is a python Script

( Ongoing update ... ... )
边栏推荐
- 14、 Two methods of database export and import
- FreeLink开源呼叫中心设计思想
- Network security - phishing
- Brush question 5
- leetcode-520. 检测大写字母-js
- 网络安全-burpsuit
- Byte hexadecimal binary understanding
- Gee (III): calculate the correlation coefficient between two bands and the corresponding p value
- UE4_UE5全景相机
- ArcGIS:矢量要素相同字段属性融合的两种方法
猜你喜欢

Unity3D学习笔记6——GPU实例化(1)

Wechat forum exchange applet system graduation design completion (8) graduation design thesis template

Wechat forum exchange applet system graduation design completion (4) opening report

RE1 attack and defense world reverse

U盘拷贝东西时,报错卷错误,请运行chkdsk

微信论坛交流小程序系统毕业设计毕设(5)任务书

漏洞复现----49、Apache Airflow 身份验证绕过 (CVE-2020-17526)

13、 System optimization

ROS2专题(03):ROS1和ROS2的区别【02】

UE4_UE5全景相机
随机推荐
Conversion between commonsmultipartfile and file
USB(十六)2022-04-28
智慧社區和智慧城市之間有什麼异同
Network security - information query of operating system
Wechat forum exchange applet system graduation design completion (4) opening report
In the field of software engineering, we have been doing scientific research for ten years!
Oracle-数据库的备份与恢复
网络安全-钓鱼
网络安全-安装CentOS
VS扩展工具笔记
Mitsubishi PLC SLmP (MC) protocol
kubernetes的简单化数据存储StorageClass(建立和删除以及初步使用)
微信论坛交流小程序系统毕业设计毕设(1)开发概要
Inftnews | web5 vs Web3: the future is a process, not a destination
网络安全-永恒之蓝
leetcode-520. Detect capital letters -js
Wechat forum exchange applet system graduation design (5) assignment
Unity3D学习笔记5——创建子Mesh
The text editor of markdown class should add colors to fonts (including typora, CSDN, etc.)
Lecture 30 linear algebra Lecture 5 eigenvalues and eigenvectors