当前位置:网站首页>[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
边栏推荐
- Explain @builder usage
- Can TCP syn handshake messages transmit data
- JSON. toJSONString(object, SerializerFeature.WriteMapNullValue); Second parameter action
- アルマ / 炼金妹
- Derivation of sin (a-b) =sina*cosb-sinb*cosa
- Wan Yin revealed that he was rejected by MIT in this way: "the department doesn't like you". He confronted the principal and realized
- Understand what MSS is
- How to deploy locally developed SAP ui5 applications to ABAP servers
- Kubernetes core components etcd details
- The five minute demonstration "teaches" actors to speak foreign languages and can seamlessly switch languages. This AI dubbing company has just received a round a financing of 20million US dollars
猜你喜欢

Non-contact infrared temperature measurement system for human body based on single chip microcomputer

How to create a handy vs Code?

レレ / 蕾蕾

Uncaught TypeError: Cannot read properties of undefined (reading ‘prototype‘)

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

Kubernetes cluster dashboard & kuboard installation demo

Can TCP syn handshake messages transmit data

Brief introduction and use of JSON

Power representation in go language
![Analysis on the scale of China's smart airport industry in 2020: there is still a large space for competition in the market [figure]](/img/cd/c8be09eca7b41407b0ca1f3b4f3fe8.jpg)
Analysis on the scale of China's smart airport industry in 2020: there is still a large space for competition in the market [figure]
随机推荐
Who can teach me how to learn SCM, what to learn first and how to get started?
ACWING2013. 三条线
父爱的表达方式
The perfect presentation of Dao in the metauniverse, and platofarm creates a farm themed metauniverse
PHP converts strings to hex and hex to string - PHP convert string to hex and hex to string
MSG_ OOB MSG_ PEEK
ASP. Net core - encrypted configuration in asp NET Core
Difference between rest and WebServices
Controlling volume mixer
STL map的用法
fastadmin 联级清空数据
mysql 表查询json数据
Period to string [repeat] - period to string [duplicate]
How to realize the stable output of 3.3v/3.6v (1.2-5v) voltage of lithium battery by using the voltage rise and fall chip cs5517
TCP BBR as rate based
Navicat防止新建查询误删
ACWING/2004. 错字
With a younger brother OCR, say no to various types of verification codes!
原子Alpha开发板--SD卡和emmc烧录工具
Single lithium battery 3.7V power supply 2x12w stereo boost audio power amplifier IC combination solution