Skip to main content

Module 1: Introduction to ROS 2

Welcome to Module 1 of the Physical AI & Humanoid Robotics Textbook. This module provides a comprehensive introduction to ROS 2 (Robot Operating System 2), the industry-standard framework for building robot applications.

What You'll Learn​

By the end of this module, you will:

  • ✅ Understand what ROS 2 is and why it's essential for modern robotics
  • ✅ Set up a complete ROS 2 development environment
  • ✅ Master core ROS 2 concepts: nodes, topics, services, and actions
  • ✅ Build real-world applications using ROS 2
  • ✅ Work with sensors, actuators, and robot simulation tools
  • ✅ Understand navigation, mapping, and perception systems
  • ✅ Apply best practices for production robotics development

Module Structure​

This module contains 12 chapters organized into 4 sections:

🎯 Section 1: Fundamentals (Chapters 1-3)​

  • Chapter 1: What is ROS 2?
  • Chapter 2: Setting Up Your Development Environment
  • Chapter 3: ROS 2 Core Concepts

🔧 Section 2: Building with ROS 2 (Chapters 4-7)​

  • Chapter 4: Creating Your First ROS 2 Node
  • Chapter 5: Publishers and Subscribers
  • Chapter 6: Services and Clients
  • Chapter 7: Actions and Action Servers

🤖 Section 3: Robot Applications (Chapters 8-10)​

  • Chapter 8: Working with Sensors
  • Chapter 9: Robot Simulation with Gazebo
  • Chapter 10: Navigation and SLAM

🚀 Section 4: Advanced Topics (Chapters 11-12)​

  • Chapter 11: ROS 2 Parameters and Launch Files
  • Chapter 12: Best Practices and Production Deployment

Prerequisites​

To get the most out of this module, you should have:

  • Basic programming knowledge (Python or C++)
  • Familiarity with Linux command line
  • Understanding of basic robotics concepts (helpful but not required)
  • OS: Ubuntu 22.04 LTS (recommended) or Ubuntu 24.04 LTS
  • ROS 2 Distribution: Humble Hawksbill (LTS) or Jazzy Jalisco
  • Hardware: 4GB+ RAM, 20GB+ free disk space
  • Optional: Virtual machine (VirtualBox/VMware) or Docker

Learning Path​

Hands-On Projects​

Throughout this module, you'll build:

  1. Hello World Node: Your first ROS 2 publisher/subscriber
  2. Sensor Reader: Reading data from simulated sensors
  3. Robot Controller: Controlling a simulated robot in Gazebo
  4. Navigation System: Autonomous navigation with SLAM

Support & Resources​

Let's get started! 🚀