Because of the lack of support for real-time performance in ROS1, the creation of ROS2 was proposed to address the performance limitations.
- Multi-robot system: Multi-robot system is a key issue in the field of robotics. It can solve the problems of insufficient performance and unavailability of a single robot. However, there is no standard method for building a multi-robot system in ROS1.
- Multi-platform: ROS1 is based on Linux and cannot be applied or has limited functions on Windows, MacOS, RTOS and other systems. This places higher requirements on robot developers and development tools, and also has great limitations.
- Real-time: Robots in many application scenarios have high requirements for real-time performance, especially in the industrial field. The system needs to achieve hard real-time performance indicators, but ROS1 lacks real-time design, so it is stretched in many applications.
- Network connection: The distributed mechanism of ROS1 requires a good network environment to ensure data integrity, and the network does not have data encryption, security protection and other functions. Any host in the network can obtain the message data issued or received by the node.
- Production: The stability of ROS1 is not good. The important links such as ROS1 Master and nodes will be inexplicably down in many cases, which makes many robots transition from research to market very difficult.