{"id":7596,"date":"2020-08-20T10:50:11","date_gmt":"2020-08-20T07:50:11","guid":{"rendered":"https:\/\/atostek.com\/?p=7596"},"modified":"2020-08-21T10:07:17","modified_gmt":"2020-08-21T07:07:17","slug":"robot-operating-system-2-ros-2-is-here-why-should-you-care","status":"publish","type":"post","link":"https:\/\/atostek.com\/robot-operating-system-2-ros-2-is-here-why-should-you-care\/","title":{"rendered":"Robot Operating System 2 (ROS 2) is Here \u2013 Why Should You Care?"},"content":{"rendered":"
Companies around the world are spending huge amounts of money on robotics development. Autonomous cars, industrial robots, autonomous lawn mowers and work machines all are some kind of robots. Almost daily there are news about new R & D efforts and new progress made in robot development.<\/strong><\/p>\n Robot control requires a complex software stack to sense the environment, navigate, move, avoid obstacles, and perform the tasks the robot is designed for. A major part of the on-board software is common for all robot types, no matter whether the robot operates in logistics, agriculture, or some other field. Robot software is divided into subsystems or \u201cnodes\u201d that control its sensors and actuators, process information, plan the path, avoid obstacles, and communicate with other robots or control systems. Together these systems make the robot sense, plan actions, and act.<\/p>\n There are several commercial robot software platforms available, but open source alternatives have also emerged. Of the latter, the most widely used is ROS<\/a> (Robot Operating System) which is a set of open source software components, libraries and tools to help developers build robot applications with less effort. The first version of ROS \u2013 ROS 1 \u2013 is mainly used for educational purposes and building proof-of-concept or demo applications. Although ROS 1 has been used for a few commercial applications, it lacks some essential features to enable wider commercial use.<\/p>\n ROS 2 is a new version of the Robot Operating System<\/em>. It has been built from ground up to meet industrial grade safety and real-time requirements. If you are a robot developer, you should know following five things about ROS 2:<\/p>\n 1. Safety and reliability.<\/strong> ROS 2 has been designed to meet industrial grade requirements for safety and reliability. A central part of the new design is the use of DDS<\/a> (Data Distribution System) messaging between robot software nodes. DDS is fault tolerant and supports a variety of Quality of Service (QoS) policies. You can for example define in a QoS policy if a certain node wants to always receive all messages or if it is acceptable to lose some messages if the data is updated frequently.<\/p>\n 2. Lots of major companies are contributing to ROS 2<\/strong> and developing ROS 2 support for their products. Here are some examples:<\/p>\n Source: https:\/\/blog.roverrobotics.com\/ros-2-eloquent-is-it-time-to-switch<\/a><\/p>\n 3. Lots of things are available for free and ready to use.<\/strong> There are simulators, visualizers, hardware drivers and other components needed in robot application development. There are for example several commercial and non-commercial DDS messaging implementations to choose from.<\/p>\n 4. Many players in the field are already using ROS 2.<\/strong> Many companies who build autonomous machines or software for them are either using ROS 2 or considering using it. There are companies who start developing new products on top of ROS 2 and those who have an old on-board software platform and are now switching to ROS 2.<\/p>\n 5. ROS 2 has wide support.<\/strong> The final release of ROS 1 has been released in May 2020 and all the future releases will be ROS 2 releases. The ROS community has switched development focus to ROS 2 and there are bug fixes, support and help available. If you need community support, have a look at the ROS Discourse forum<\/a>.<\/p>\n If you are considering building a robot or robotics software, ROS 2 is definitely worth considering. ROS 2 user base is growing, and it is becoming a serious alternative to commercial robot software platforms. Maybe we will see the same happening with robot software platforms that happened with operating systems a few decades ago. In the 90s there were several commercial Unix variants available, Solaris, AIX, HP-UX, IRIX etc, but open source based Linux became dominant.<\/p>\n Will the same happen with robot software? We will see.<\/p>\n\n