Skip to main content

Module 1: ROS 2 Fundamentals

Overview​

Welcome to Module 1! Over the next three weeks (Weeks 3-5), you'll master the Robot Operating System 2 (ROS 2), the middleware framework that powers modern robotic systems.

Duration: 3 weeks (30 hours estimated) Weeks: 3-5 Prerequisites: Basic Python programming, command-line proficiency

Learning Objectives​

By the end of this module, you will be able to:

  1. Understand ROS 2 Architecture - Explain the core concepts of ROS 2 including nodes, topics, services, actions, and the DDS middleware layer
  2. Create and Manage ROS 2 Nodes - Build Python and C++ nodes that communicate via publish-subscribe patterns
  3. Implement Communication Patterns - Use topics for asynchronous communication and services/actions for request-response interactions
  4. Build Multi-Node Systems - Design and implement complex robotic systems with multiple interconnected nodes

Module Content​

Week 3: ROS 2 Basics​

  • ROS 2 architecture and core concepts
  • Setting up your ROS 2 workspace
  • Creating your first nodes
  • Understanding topics and publish-subscribe communication

Week 4: Advanced Communication​

  • Services for synchronous request-response
  • Actions for long-running tasks with feedback
  • Parameters and launch files
  • ROS 2 command-line tools

Week 5: System Integration​

  • Building multi-node robotic systems
  • Inter-node communication patterns
  • Debugging and monitoring ROS 2 systems
  • Best practices for ROS 2 development

Capstone Integration​

The skills you learn in this module provide the communication layer for your autonomous humanoid capstone project. You'll use ROS 2 to:

  • Connect perception, planning, and control nodes
  • Manage sensor data streams (camera, lidar, IMU)
  • Coordinate navigation and manipulation subsystems
  • Implement robust inter-process communication

Assessment​

ROS 2 Package Project (Week 5) Build a functional ROS 2 package with multiple nodes demonstrating:

  • Topic-based sensor data publishing
  • Service-based configuration management
  • Action-based task execution
  • Launch file for system startup

Resources​


Ready to get started? Let's dive into Week 3: ROS 2 Basics! 🚀