ROS 2 (Robot Operating System 2) is the new version of the widely-used ROS (Robot Operating System) framework for building robotic software, and it will soon be available on PAL Robotics’ TIAGo robots. This will allow researchers and developers to create and run ROS 2-based applications on the robot, by providing improved features and capabilities, such as real-time processing, security, and scalability. The team at PAL Robotics’ has been hard at work on the migration from ROS to ROS 2, which represents several challenges and opportunities that affect different areas of robotics, read on to find out more.
Background to developing ROS 2: a system that is more robust, flexible, and scalable
One of the key advantages of the new ROS 2 is that it is more robust, flexible, and scalable. It addresses some of the key challenges that have arisen as robotics technology has advanced in recent years. This includes the need for a system that allows easier development, maintenance of complex environments, and deployment of large-scale robotic systems. ROS 2 solves these challenges thanks to an improved design that allows for better scalability, modularity, and flexibility.
For any organisation however, the migration from ROS to ROS 2, presents a number of challenges in different areas.
Challenges in the implementation: including changes to the design of the core interfaces
The migration to ROS 2 brings significant changes to the way that communication happens between different parts of the system, ROS 2 introduces DDS (Data Distribution Service), which is a new communication layer that works differently from the one used in ROS 1, these changes require several updates to core packages.
There are also changes to the design of the core interfaces in ROS 2, such as topics, parameters, and actions. These changes from ROS have been carefully considered and adapted to the new system. Furthermore, the transition to new OS affects the control architecture built for the robot, which is challenging but also caters to the needs of most use cases.
In order to address some of these challenges, we have used the change to ROS 2 infrastructure as an opportunity to review, rethink and redesign our code base to enhance the overall usability of our robots to further improve the way that we deliver robot software.
Benefits of ROS 2: including ease of adaptation to new use cases and creating custom plugins
When it comes to navigation, ROS 2 is capable of adapting to any situation and environment with ease. The OS is highly configurable, giving developers the power to shape it according to their robot’s unique characteristics and the specific scenarios the robot faces. It takes customisation to a new level by allowing developers to create custom plugins. These plugins can extend the capabilities of the system or also tweak it.
LifecycleNodes to easily manage your system
The use of LifecycleNodes is a feature in ROS 2 that provides more control over the lifecycle of different nodes in the system. It allows developers to configure, activate, deactivate, and clean up their nodes. All of this aims to lead to more robust and reactive applications.
Navigation system to plan and execute paths
In addition, ROS 2 supports several different environmental representations. For robot navigation, this could mean different ways of representing the robot’s surroundings that can be used by the navigation system to plan and execute paths.
To benefit navigation further, the use of the ROS 2 DDS communication layer provides reliable communication between different parts of the system. This is important for navigation, as it allows different nodes to communicate information about the robot’s surroundings and its current position and orientation, which is essential for planning and executing paths.
ROS 2 with controller chaining for controlling robots with complex behaviours
ROS 2 also brings a revamped API (Application Programming Interface), opening up a world of new possibilities to developers.
It also introduces game-changing concepts like controller chaining, which can be highly useful for controlling robots with complex behaviours. This looks at how the controllers operate, including their interfaces and functionality.
ROS 2 operated TIAGo mobile manipulator demonstrated at ICRA 2023 conference
At PAL Robotics we recently demonstrated a TIAGo robot fully operated in ROS 2 that makes use of the ros2_control framework, Navigation 2, MoveIt 2 and an enhanced TTS (text-to-speech) interface at the ICRA 2023 conference.
ROS 1 and ROS 2 will coexist in our robots for as long as the full migration to ROS 2 takes place. The new OS is set to take center stage in the near future, making its debut on more of our robots. Stay tuned for the latest updates on ROS 2 and PAL Robotics’ robots as we have it.
TIAGo’s family of mobile manipulator robots including TIAGo Pro
TIAGo robot combines perception, navigation, manipulation & Human-Robot Interaction skills out of the box, and is popular with universities and innovation centres all over the world. TIAGo is a modular, customisable platform, available with a single-arm, dual-arms and with or without a touchscreen. The end-effectors can be grippers (with a range of options available) or hands.
As well as the original TIAGo robot, we are happy to add the latest creation, TIAGo Pro to the family. TIAGo Pro is a state-of the-art mobile manipulator with an optimised bi-manual workspace, torque-controlled arms, and sophisticated Human-Robot Interaction (HRI) abilities.
Learn more about TIAGo the mobile manipulator, and TIAGo Pro, and the endless possibilities for your research that the robots provide on our website. To find out more about our platforms, and to ask us any questions, don’t hesitate to get in touch.
If you like robotics, follow PAL Robotics’ blog to be updated on our work and research in robotics!