Skip to main content

Module 1: The Robotic Nervous System (ROS 2)

Introduction

Welcome to Module 1 of the Physical AI & Humanoid Robotics Textbook! In this module, we will dive into the Robotic Operating System 2 (ROS 2), the foundational middleware for developing complex robotic applications. Often referred to as the "nervous system" of a robot, ROS 2 provides the communication infrastructure, tools, and libraries necessary to integrate various hardware components and software algorithms into a cohesive system.

Prerequisites

Before starting this module, it is recommended that you have:

  • Basic understanding of Python programming.
  • Familiarity with command-line interfaces.
  • Fundamental knowledge of robotics concepts (optional but helpful).

Concept Map

(Placeholder for a concept map image or diagram)

Practical Assignments

This module includes practical lab assignments to reinforce your understanding. These will be presented as ri.LabTask components within the chapters.

Lab Task: ROS 2 Basics Exploration

Objective

Explore the core communication mechanisms of ROS 2 through practical exercises involving nodes, topics, and services.

Prerequisites

  • Chapter 1: Introduction to ROS 2 Core Concepts

Equipment

  • Computer with Ubuntu 20.04+
  • ROS 2 Foxy/Humble installed

Steps

  • Setup a ROS 2 workspace.
  • Create a publisher node that sends string messages.
  • Create a subscriber node that receives and prints string messages.
  • Implement a simple ROS 2 service client and server.

Deliverables

  • ROS 2 package with publisher, subscriber, and service nodes.
  • Screenshot of nodes communicating via command-line tools.

Assessment Criteria

Correct implementation of ROS 2 communication patterns and verification using ROS 2 command-line tools.

💬