当前位置:网站首页>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 ... ... )
边栏推荐
- Locate to the bottom [easy to understand]
- 2021-01-12
- Solve the problem of duplicate request resource paths /o2o/shopadmin/o2o/shopadmin/getproductbyid
- U盘拷贝东西时,报错卷错误,请运行chkdsk
- Bit operation
- Wechat forum exchange applet system graduation design completion (1) development outline
- 成年人只有一份主业是要付出代价的,被人事劝退后,我哭了一整晚
- 统计电影票房排名前10的电影并存入还有一个文件
- Gee (III): calculate the correlation coefficient between two bands and the corresponding p value
- 七月第一周
猜你喜欢

leetcode-520. 检测大写字母-js

Wechat forum exchange applet system graduation design (5) assignment

UE4_UE5蓝图command节点的使用(开启关闭屏幕响应-log-发布全屏显示)

14、 Two methods of database export and import

UE4_UE5全景相机

Transform XL translation

JMeter interface automated test read case, execute and write back result

十三、系统优化

Lecture 30 linear algebra Lecture 5 eigenvalues and eigenvectors

ArcGIS: field assignment_ The attribute table field calculator assigns values to fields based on conditions
随机推荐
网络安全-CSRF
GEE(四):计算两个变量(影像)之间的相关性并绘制散点图
USB(十四)2022-04-12
CXF call reports an error. Could not find conduct initiator for address:
oc 可变參数传递
Exploratory data analysis of heartbeat signal
微信论坛交流小程序系统毕业设计毕设(7)中期检查报告
ArcGIS:字段赋值_属性表字段计算器(Field Calculator)依据条件为字段赋值
USB(十六)2022-04-28
ROS2专题(03):ROS1和ROS2的区别【02】
Statistical method for anomaly detection
Unity3D学习笔记4——创建Mesh高级接口
kubernetes的简单化数据存储StorageClass(建立和删除以及初步使用)
Network security sqlmap and DVWA explosion
ArcGIS:矢量要素相同字段属性融合的两种方法
微信论坛交流小程序系统毕业设计毕设(6)开题答辩PPT
Conversion between commonsmultipartfile and file
Advantages and disadvantages of rest ful API
Redhat下安装fedora
网络安全-联合查询注入