当前位置:网站首页>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 ... ... )
边栏推荐
- ArcGIS: field assignment_ The attribute table field calculator assigns values to fields based on conditions
- Network security CSRF
- kubernetes的简单化数据存储StorageClass(建立和删除以及初步使用)
- The text editor of markdown class should add colors to fonts (including typora, CSDN, etc.)
- 【微服务|SCG】gateway整合sentinel
- CXF call reports an error. Could not find conduct initiator for address:
- ArcGIS: two methods of attribute fusion of the same field of vector elements
- 网络安全-beef
- ROS2专题(03):ROS1和ROS2的区别【01】
- 嵌入式音频开发中的两种曲线
猜你喜欢
Wechat forum exchange applet system graduation design (5) assignment
成年人只有一份主业是要付出代价的,被人事劝退后,我哭了一整晚
Lecture 30 linear algebra Lecture 5 eigenvalues and eigenvectors
Wechat forum exchange applet system graduation design completion (7) Interim inspection report
Technology at home and abroad people "see" the future of audio and video technology
【微服务|SCG】gateway整合sentinel
Add data analysis tools in Excel
LDO稳压芯片-内部框图及选型参数
Unity3D学习笔记5——创建子Mesh
iNFTnews | Web5 vs Web3:未来是一个过程,而不是目的地
随机推荐
Grid
Digital collections accelerated out of the circle, and marsnft helped diversify the culture and tourism economy!
When copying something from the USB flash disk, an error volume error is reported. Please run CHKDSK
Wechat forum exchange applet system graduation design completion (4) opening report
统计电影票房排名前10的电影并存入还有一个文件
Unity3D学习笔记5——创建子Mesh
Install a new version of idea. Double click it to open it
微信论坛交流小程序系统毕业设计毕设(2)小程序功能
网络安全-sqlmap与DVWA爆破
定位到最底部[通俗易懂]
Transform XL translation
Adrnoid Development Series (XXV): create various types of dialog boxes using alertdialog
十四、数据库的导出和导入的两种方法
UE4_UE5全景相机
The 19th Zhejiang Provincial Collegiate Programming Contest 2022浙江省赛 F.EasyFix 主席树
Coreseek:第二步建索引及測试
iNFTnews | NFT技术的广泛应用及其存在的问题
ArcGIS: two methods of attribute fusion of the same field of vector elements
Unity3D学习笔记6——GPU实例化(1)
Binary tree