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)
Recommended Setup​
- 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:
- Hello World Node: Your first ROS 2 publisher/subscriber
- Sensor Reader: Reading data from simulated sensors
- Robot Controller: Controlling a simulated robot in Gazebo
- Navigation System: Autonomous navigation with SLAM
Support & Resources​
Let's get started! 🚀