当前位置:网站首页>[ros2] Why use ros2? Introduction to ros2 system characteristics
[ros2] Why use ros2? Introduction to ros2 system characteristics
2022-06-25 06:42:00 【Houchang Village Road caixukun】
List of articles
One 、 Why launch ROS2?
2010 year ,ROS1 First release of official version , The original intention of its research and development is to design PR2( Personal service robot ) Common software architecture . But as the ROS1 Popularization of technology ,ROS1 Began to be widely integrated into the research and development of unmanned systems in various fields , Many problems of the system have been exposed . In order to meet the needs of robot research and development in the new era ,2022 year 5 month ,ROS The developer team launched a new version ROS2.
( One )ROS1 The birth of
2007 year , Stanford students are developing PR2( Personal service robot ) Common software architecture , Design ROS The prototype of the .2010 year ,Willow Garage The company to launch ROS1 First release of .
( Two )ROS1 The problem is
ROS1 The earliest design goal : For home service robots PR2, Design a software architecture for common development .
(1)PR2 characteristic
- Large size , Enough calculating power : It is equipped with a workstation level computing platform and various advanced communication equipment , Don't worry about not being able to calculate , It has enough strength to support various complex real-time operations and processing ;
- Reliable communication : Because it is a single soldier operation , The vast majority of communications are done internally , Then you can use a wired connection , Ensure a good network connection , There is no risk of losing data or hacking ;
- Laboratory products , No engineering applications : The robot was eventually produced in small quantities , But because of the high cost and price , It can only be used for academic research .

(2)ROS1 Existing problems
With ROS1 Popularization of technology ,ROS1 Integrate into the research and development of unmanned systems in various fields . Originally only for PR2 Designed software architecture , There are many problems :
- There is a great demand for resources : Need to run in an embedded system with limited resources ;
- The anti-interference of the system is poor : Ensure the reliability of communication in places with interference ;
- Poor product application : We should make products and go to the market , Even used in autonomous vehicle and space robots .
( 3、 ... and )ROS2 Design thinking
(1)ROS2 Aimed at the scene
- Multi robot system :ROS2 It provides a standard method and communication mechanism for the application of multi robot systems .
- Cross platform : Robot application scenarios are different , The control platforms used will also vary greatly , In order for all robots to work ROS2,ROS2 It can run across platforms Linux、Windows、MacOS、RTOS, Even a microcontroller without any system (MCU) On .
- The real time : Robot motion control and many behavior strategies require that robots have real-time performance , For example, robots should be reliable in 100ms Find pedestrians in front , Or stable in 1ms Complete the kinematics in the cycle 、 Solution of dynamics ,ROS2 It provides basic guarantee for such real-time requirements .
- network connections : No matter what kind of network environment ,ROS2 Can try to ensure the integrity and security of a large number of robot data , For example wifi When the signal is bad, try your best to send the data , When there is a risk of hacker intrusion, the data should be encrypted and decrypted .
- Commercialization : A large number of robots have come into our life , There will be more and more in the future ,ROS2 It can not only be used in the robot development stage , It can also be directly carried in the product , Go to the consumer market , This is right ROS2 The stability of 、 Strength also poses great challenges .
- project management : Robot development is a complex system engineering , Design 、 Development 、 debugging 、 test 、 Deploy the whole process of project management tools and mechanisms , Will also be in ROS2 In the embodiment , It is more convenient for us to develop a robot .
(2) Design thinking
ROS The development team takes a long-term view , Select override ROS1 The software architecture of , Design a brand new ROS2 operating system . For the system architecture 、 Software code 、 The system compilation has been comprehensively upgraded .
- System architecture : With the help of DDS Communication architecture , Realize system distribution
- software interface :ROS2 combination C++ and Python3 The latest standard of , The redesign API Interface
- System compilation : For big projects and python engineering , More friendly .

Two 、ROS2 System features
( One ) System architecture

- Process management : stay ROS1 in , You need to start the central node manager Master, Unified management of all nodes . If Master Node failure , Will seriously affect ROS system function . stay ROS2 in , The system introduces the node self discovery mechanism , It can effectively improve the robustness of the system .
- In-process communication : Process internal communication ,ROS1 and ROS2 Shared memory is adopted .
- Interprocess communication : stay ROS1 in , The communication between processes mainly depends on the underlying TCP\UDP agreement , But in ROS2 in , Introduce complex DDS System .
( Two ) Communication architecture

ROS1 Is based on TCP/UDP communication system , With high latency 、 Losing data 、 Unable to encrypt . and ROS2 Use... At the communication level DDS Communication protocol .
DDS It is a communication protocol in the Internet of things , With multiple versions ,DDS It's an international standard , The software system that can implement this standard is not the only one . It can be provided by multiple manufacturers DDS System , such as OpenSplice、FastRTPS etc. , The performance of each company is different , The applicable scenarios are also different .
The software interfaces of each manufacturer are different , To solve this problem ,ROS2 Designed a ROS Middleware, abbreviation RMW, That is, specify a standard interface . For example, how to send data , How to receive data , How to configure various attributes of data , It's all defined , If the manufacturer wants to access ROS Community , You have to write an adaptive interface according to this standard , Put your own DDS Transplant it , In this way, the problem is handed over to the most familiar family DDS The manufacturer of . For us users , One of them DDS It doesn't work , Just install another , Then make a simple configuration , There is no need to change a single line of the program , Easily replace the underlying communication system .
For developers , In the product development stage , You can use open source DDS Meet the basic needs of the product , In the deployment and delivery phase , It can be changed to a more stable one DDS edition , To reduce development costs .
( 3、 ... and ) The core concept
in order to ROS Continuity of developer development ,ROS2 Retain the ROS1 Basic concepts of .
ROS2 System learning , May refer to : Ancient Moon House ROS2 introduction 21 speak
边栏推荐
- Acwing / 2004. Mauvaise écriture
- How two hosts in different network segments directly connected communicate
- The perfect presentation of Dao in the metauniverse, and platofarm creates a farm themed metauniverse
- Zero foundation wants to learn web security, how to get started?
- We cannot activate inspection type for article master in transaction code MM41?
- Bcrypt password encryption kalrry
- Aviator an expression evaluation engine
- Analysis of China's food cold chain logistics, output of quick-frozen noodles and rice products and operation of major enterprises in 2021 [figure]
- Metauniverse in 2022: robbing people, burning money and breaking through the experience boundary
- Uncaught TypeError: Cannot read properties of undefined (reading ‘prototype‘)
猜你喜欢

Understand what MTU is

DataX tutorial (09) - how does dataX achieve speed limit?

How two hosts in different network segments directly connected communicate

Message queue table structure for storing message data

Self adjustment process of MySQL index tree when adding data

Navicat防止新建查询误删

Derivation of COS (a+b) =cosa*cosb-sina*sinb

Cloning and importing DOM nodes

Meta universe is over, Web 3.0 will be fooled again?

Who can teach me how to learn SCM, what to learn first and how to get started?
随机推荐
Cannot activate inspection type when SAP retail uses transaction code mm41 to create commodity master data?
How to deploy locally developed SAP ui5 applications to ABAP servers
使用OpenGL绘制shp文件
[speech discrimination] discrimination of speech signals based on MATLAB double threshold method [including Matlab source code 1720]
JD 7 head search navigation layout
[轻松学会shell编程]-5、计划任务
Viewing Chinese science and technology from the Winter Olympics (V): the Internet of things
Streaming a large file using PHP
cos(a-b)=cosa*cosb+sina*sinb的推导过程
In depth inventory: 23 vscode plug-in artifacts that improve development efficiency and aesthetics
Query process of MySQL secondary index
Uncaught TypeError: Cannot read properties of undefined (reading ‘prototype‘)
Understand what ICMP Protocol is
@Detailed explanation of valid annotation usage
Who can teach me how to learn SCM, what to learn first and how to get started?
Why can't GC () free memory- Why does gc() not free memory?
@Principle of preauthorize permission control
Analysis on the scale of China's smart airport industry in 2020: there is still a large space for competition in the market [figure]
直接选择排序和快速排序
Detailed explanation of @jsoninclude annotation in Jackson