Overview of Robot Operating System (ROS)
Robot Operating System, or ROS, is an open-source software framework for building scalable robotic applications. It is a collection of tools, libraries, and conventions that aim to simplify the task of making complex and robust robots. It provides a framework to create and connect components like actuators, sensors and control systems using ROS tools called topics and messages. This framework uses a distributed architecture, with the ROS computation graph at its heart.
There are two major versions, namely ROS and ROS 2. ROS is the older version, and it is still widely used. ROS 2 is a rewrite of ROS that is designed to be more reliable, scalable, and secure. These topics takes you through the fundamentals of ROS 2 and ROS respectively.
The ROS ecosystem provides an infrastructure for developing and deploying robotic applications, offering a communication system, a rich suite of developer tools, a vast repository of ready-to-use software, and a thriving community of contributors. ROS uses a publish-subscribe or request-response mechanism that allows for message passing between different nodes.
This image provides a high level overview of a robotics system. It consists of four pivotal components that operate through decision, logic and action.
Sensors –– The sensors decide on data to be sent to the controller based on the perceived environment.
Controller –– The controller applies logic, incorporating algorithms to interpret sensor data and generate control commands.
Actuators –– The actuators perform actions based on controller commands, physically executing tasks such as moving, turning, or manipulating objects.
Training model –– The training model updates its algorithms based on the feedback from these actions, ensuring continuous improvement.
The ROS ecosystem provides the communication infrastructure that connects these components, enabling efficient and reliable data exchange and control.