1.1 Introduction to the Robot Operating System (ROS)
What is ROS?
ROS (Robot Operating System) is a flexible and open-source framework designed for developing robot software. Despite its name, ROS is not a traditional operating system but a middleware that sits on top of an operating system like Linux. It provides a structured communications layer between different parts of the robot's system (nodes), enabling developers to build complex and scalable robotic applications more easily.
Key features of ROS include:
Hardware Abstraction: ROS simplifies working with different hardware by providing a standard interface for controlling robotic components (sensors, actuators, etc.).
Modularity: ROS promotes modularity, allowing developers to break down software into smaller, reusable components called nodes.
Communication: It offers message-passing mechanisms like topics, services, and actions, enabling different parts of the system to communicate seamlessly.
Tools and Libraries: ROS provides a rich set of tools and libraries to aid in tasks such as simulation (Gazebo), visualization (RViz), navigation, and perception, among others.
ROS 1 vs. ROS 2
ROS has two major versions: ROS 1 and ROS 2.
ROS 1 (introduced in 2007) laid the foundation for robotics software development, supporting modular, scalable systems with strong community-driven libraries. However, it lacked certain features, such as real-time support, multi-robot communication, and native security measures.
ROS 2 was developed to address the limitations of ROS 1. Key improvements in ROS 2 include:
Real-time support: Essential for time-critical robotic operations.
Multi-robot systems: Improved capabilities for robots to work in coordination.
Security features: Added features like secure communications, which are critical in industrial or sensitive applications.
Cross-platform support: ROS 2 supports Linux, Windows, and macOS.
Last updated