Skip to main content

Chapter 1: ROS 2 Basics

🟢Beginner
Loading personalization panel...

Welcome to Chapter 1! This chapter introduces you to Robot Operating System 2 (ROS 2), the communication backbone of modern robotics. By the end of this chapter, you'll understand the fundamental concepts that allow robots to communicate with themselves and the world around them.

Learning Objectives​

After completing this chapter, you will be able to:

  • Explain the core concepts of ROS 2 architecture
  • Identify and describe ROS 2 nodes, topics, and services
  • Set up a basic ROS 2 workspace
  • Create and run simple ROS 2 nodes
  • Use ROS 2 tools for debugging and monitoring

Prerequisites​

Before starting this chapter, you should:

  • Complete the hardware setup guide
  • Have Ubuntu 22.04 with ROS 2 Kilted Kaiju installed
  • Understand basic Linux command line usage
  • Have Python 3.10+ installed

Chapter Overview​

ROS 2 (Robot Operating System 2) is not an operating system, but rather a middleware framework that provides services designed for a heterogeneous computer cluster. It includes hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more.

In this chapter, we'll cover:

  1. The fundamental concepts of ROS 2
  2. Nodes, topics, and services architecture
  3. Setting up your ROS 2 environment
  4. Creating your first ROS 2 publisher and subscriber
  5. Practical lab exercises to reinforce learning

Why ROS 2 Matters for Humanoid Robotics​

For humanoid robots, ROS 2 provides the essential communication layer that allows different subsystems (perception, planning, control, etc.) to work together seamlessly. Each component of a humanoid robot can be implemented as a separate ROS 2 node, communicating through topics and services.

This modular approach is crucial for humanoid robotics where complex behaviors emerge from the coordination of many different systems - from joint controllers to high-level planners.

What's Next​

In the following sections, we'll dive deeper into ROS 2 concepts, starting with the core architecture and then moving to practical implementation. The chapter concludes with a hands-on lab where you'll create your first ROS 2 publisher and subscriber nodes.