Robotics is evolving rapidly, and with the rise of powerful open-source tools like ROS (Robot Operating System), it's easier than ever to develop and control robots. ROS 2 is the next-generation version of ROS, designed to handle the complexities of modern robotic systems with a focus on distributed systems, real-time applications, and security. In this guide, you'll get an introduction to ROS 2 and learn how to get started.

What is ROS 2?

ROS 2 is a set of software libraries and tools that help developers build robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. Compared to ROS 1, ROS 2 comes with improved communication middleware, real-time capabilities, and better support for multi-robot systems. It is built on the Data Distribution Service (DDS) standard, allowing more flexible and scalable communication across distributed networks.

Why Choose ROS 2?

  1. Real-time systems: ROS 2 supports real-time control, essential for robotic systems that need precise timing.
  2. Improved communication: With the DDS standard, ROS 2 can handle complex communication scenarios across multiple robots and environments.
  3. Security: ROS 2 has built-in mechanisms for secure communication, making it suitable for commercial and sensitive applications.
  4. Cross-platform compatibility: ROS 2 is supported on Linux, Windows, and macOS, allowing more flexibility in development environments.

Setting Up ROS 2 (Humble)

Follow these steps to get started with ROS 2 Humble on your system.

Step 1: Choose Your Operating System

While ROS 2 supports multiple platforms, Ubuntu is the most commonly used OS due to its strong support for open-source tools. This guide will focus on installing ROS 2 Humble on Ubuntu, but you can also find installation guides for Windows and macOS on the official ROS 2 website.

Step 2: Install ROS 2

The latest stable release of ROS 2 is Humble Hawksbill. To install it on Ubuntu, follow these steps:

  1. Add ROS 2 repository:
    sudo apt update
    sudo apt install software-properties-common
    sudo add-apt-repository universe
    sudo apt update
  2. Add ROS 2 GPG Key:
    sudo apt install curl
    sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -
  3. Install ROS 2 Humble:
    sudo apt update
    sudo apt install ros-humble-desktop

    For a minimal install, replace ros-humble-desktop with ros-humble-ros-base.

  4. Set up ROS 2 environment:
    source /opt/ros/humble/setup.bash

    Or source it manually each time you open a new terminal:

    source /opt/ros/humble/setup.bash

Step 3: Test Your Installation

To verify that ROS 2 is installed correctly, open a terminal and run:

ros2 run demo_nodes_cpp talker

In a new terminal, run:

ros2 run demo_nodes_cpp listener

The talker node will publish messages, and the listener node will subscribe and print them, demonstrating the message-passing system of ROS 2.

Conclusion

Getting started with ROS 2 might seem challenging at first, but it opens up a world of possibilities for building robust, scalable, and flexible robotic systems. Happy coding!