PixHawk
Introduction to ROS: The Backbone of Modern Robotics
Robots are complex systems composed of various hardware components like sensors, motors, cameras, power systems, and more. To make all these heterogeneous components work together as a single coordinated unit, we need robust software that can manage, control, and integrate these devices seamlessly. This is where ROSβRobot Operating Systemβcomes into play. Despite its name, ROS is not a true operating system. Instead, it is a middleware framework that facilitates the development of robotic software. It abstracts the complexities of hardware integration and provides developers with tools and libraries for building robust, scalable, and reusable robotic systems. ROS supports both research and industrial applications and has a strong developer community that contributes to its continuously evolving ecosystem.
ROS is primarily supported on Linux, especially Ubuntu. While ROS 2 also offers partial support for Windows and macOS, Linux remains the most reliable and widely used platform for ROS development.
Why Use ROS?
Key Tools and Libraries
ROS Versions: ROS 1 vs ROS 2
ROS 1
ROS 2
Version Types
ROS 2 Architecture: Core Concepts
System Requirements
ROS Architecture Explained Using a Company Analogy
π’ ROS = Company Management System
Just like a large company needs coordinated communication among departments to function smoothly, a robot uses ROS to coordinate its components.
πΉ Nodes = Departments
- π₯οΈ Vision Department (Camera Node): Captures and processes images.
- π¦Ώ Actuation Department (Motor Node): Controls wheels and joints.
- π§ Navigation Department (Planner Node): Finds paths and avoids obstacles.
- π οΈ Control Department (PID Node): Ensures actions are smooth and accurate.
- π‘ Sensor Department (IMU/LiDAR Node): Measures environment and motion.
πΉ Topics = Inter-Department Memos
Nodes communicate via "topics", similar to sending memos between departments:
- The Vision Node publishes images to a topic like
/camera/image_raw
. - The Navigation Node subscribes to it to decide movement.
πΉ Messages = The Memo Content
Messages contain the actual data: position, speed, sensor values β just like a memo contains subject, date, and instructions.
πΉ Services = Direct Emails with Replies
When one department needs a specific answer from another (like HR asking IT about system status), ROS uses services β a request-response interaction.
πΉ Actions = Long Projects with Updates
Actions are like assigning a long-term project to a team with periodic progress updates and a final report.
πΉ Parameters = HR Records / Settings
Global settings (e.g., max speed, sensor limits) are stored in a "parameter server" β like HR records accessible to all departments.
πΉ ROS Master / DDS = Internal Communication System
- ROS 1: Uses ROS Master, like a company receptionist managing who talks to whom.
- ROS 2: Uses DDS, like a modern digital messaging system where employees (nodes) connect directly.
β Final Picture
Just as a company with well-defined roles and communication policies can function efficiently, a robot using ROS functions through coordinated nodes, topic-based communication, and reusable software modules. ROS turns robotic chaos into collaborative automation.
Comparison of ROS1 and ROS2
π· Add an Image

βΆοΈ Embed a YouTube Video
π Additional Section
Learn how pointers are used in plugin development, managing memory in ROS2 nodes, and other relevant applications.