ros_timeline


ROS


Robot Operating System also named ROS is a middleware at the heart of modern robotics. A powerful tool for interconnecting various "bricks". These bricks can include simple algorithms, sensor drivers returning their values, machine learning pipelines, or many other elements.

The ability of ROS to standardize the inputs and outputs of complex functions while managing communication between these functions via standardized protocols makes it an invaluable tool. What truly sets ROS apart from other middleware is its active community and its well-made documentation. Thanks to this community, numerous algorithms and drivers have been standardized, providing a plug-and-play experience for users of these packages.

However, it is important to distinguish the "simple use of packages" from more comprehensive stacks such as NAV2, PX4, MoveIT, ros2_control, and many others. Mastering these stacks enables advanced robotic behaviours to be implemented, leading to complex and effective results. Therefore, mastering these stacks is a real expertise and goes well beyond the "simple" use of ROS.

ROS also offers extensive interoperability with various simulation tools such as Gazebo or Isaac, and can be integrated with visualization tools like Foxglove, PlotJugler, not to mention Rviz, the native visualization tool of ROS. These integrations enhance the user experience and facilitate the development of comprehensive robotic solutions.

One of the major challenges in using ROS lies in managing the compatibilities between different versions of ROS and tools used around. To navigate these complexities, the following dependency graph provides an overview of ROS compatibility with the Gazebo simulator for exemple.

ros_timeline

ROS Timeline: Dependencies with Ubuntu, Gazebo, and Ignition - Dependency graph available here

Finally, it is worth mentioning Micro_ROS, a remarkable tool that enables the integration of microcontrollers into the ROS architecture. This resolves common communication issues between computers and microcontrollers, making ROS even more versatile.

In this section, you will find articles detailing the use of ROS and its stacks, along with practical examples to enhance your robotics skills. Explore these resources to discover the full potential of ROS and how it can transform your robotics projects.