当前位置:网站首页>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 ... ... )
边栏推荐
- JMeter interface automated test read case, execute and write back result
- 十三、系统优化
- Locate to the bottom [easy to understand]
- Brush question 6
- Coreseek:第二步建索引及測试
- 网络安全-联合查询注入
- CXF call reports an error. Could not find conduct initiator for address:
- Grid
- ArcGIS: field assignment_ The attribute table field calculator assigns values to fields based on conditions
- The text editor of markdown class should add colors to fonts (including typora, CSDN, etc.)
猜你喜欢

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

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

Inftnews | the wide application of NFT technology and its existing problems

Digital collections accelerated out of the circle, and marsnft helped diversify the culture and tourism economy!

Wechat forum exchange applet system graduation design (5) assignment

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

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

USB(十五)2022-04-14

二叉树(Binary Tree)

Wechat forum exchange applet system graduation design (3) background function
随机推荐
ArcGIS: two methods of attribute fusion of the same field of vector elements
FPGA基础篇目录
网络安全-联合查询注入
Wechat forum exchange applet system graduation design completion (8) graduation design thesis template
Inftnews | web5 vs Web3: the future is a process, not a destination
在软件工程领域,搞科研的这十年!
微信论坛交流小程序系统毕业设计毕设(5)任务书
Network security -burpsuit
高级程序员必知必会,一文详解MySQL主从同步原理,推荐收藏
Circumvention Technology: Registry
Adrnoid开发系列(二十五):使用AlertDialog创建各种类型的对话框
CXF call reports an error. Could not find conduct initiator for address:
Specific method example of V20 frequency converter manual automatic switching (local remote switching)
Puce à tension stabilisée LDO - schéma de bloc interne et paramètres de sélection du modèle
十四、数据库的导出和导入的两种方法
网络安全-sqlmap与DVWA爆破
USB(十四)2022-04-12
云原生数据仓库AnalyticDB MySQL版用户手册
What are the similarities and differences between smart communities and smart cities
Wechat forum exchange applet system graduation design completion (1) development outline