Skip to main content

ROS 2 Fundamentals

Overview​

In this chapter, you'll learn the foundational concepts of ROS 2 (Robot Operating System 2), the middleware framework that powers modern autonomous robots. You'll set up your development workspace and understand the architectural improvements over ROS 1.

Duration: 8 hours Week: 3 Prerequisites: Basic Python programming, command-line proficiency

Learning Objectives​

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

  1. Explain the core architecture of ROS 2 and its key differences from ROS 1
  2. Set up a ROS 2 workspace with proper directory structure
  3. Understand the Data Distribution Service (DDS) middleware layer
  4. Create, build, and run your first ROS 2 package
  5. Use basic ROS 2 command-line tools (ros2 node, ros2 topic, ros2 service)

Chapter Contents​

1. What is ROS 2?​

Content to be added: Introduction to ROS 2, its purpose in robotics, and real-world applications.

2. ROS 2 vs ROS 1​

Content to be added: Key architectural differences, DDS middleware, real-time capabilities, security improvements.

3. Setting Up Your Workspace​

Content to be added: Installing ROS 2 Humble, workspace structure, colcon build system.

4. ROS 2 Core Concepts​

Content to be added: Nodes, packages, workspaces, and the computational graph.

5. Your First ROS 2 Package​

Content to be added: Creating a Python package, package.xml, setup.py, and running nodes.

6. Command-Line Tools​

Content to be added: ros2 CLI overview, introspection tools, debugging techniques.

Hands-On Lab​

Lab 3.1: Create Your First ROS 2 Node

Lab instructions to be added: Step-by-step guide to creating a "Hello World" publisher node.

Assessment​

Quiz: ROS 2 architecture and workspace setup (10 questions) Practical: Create a ROS 2 package with a functioning node

Resources​


Next Chapter: Nodes and Topics - Learn publish-subscribe communication patterns