Introduction
ROS 2 is the middleware and robotics software framework that connects the different parts of a robot system — nodes, topics, services, actions, parameters, interfaces, and the tools and frameworks built around them. It provides the communication and integration layer that allows sensors, controllers, planners, simulators, and higher-level robotics capabilities to work together as one system.
What's covered
- ROS fundamentals — what ROS is, why it exists, hardware abstraction, distributed computation, and the ROS computational graph
- ROS 1 vs ROS 2 — architectural differences, DDS, RMW, discovery, QoS, lifecycle management, security, and when the concepts matter
- Core ROS 2 communication — nodes, topics, services, actions, parameters, messages, interfaces, and standard message types
- ROS 2 development workflow — packages, workspaces,
ament, colcon, launch files, parameters, CLI tools, and ros2 bag
- QoS and middleware — reliability, durability, history, discovery,
ROS_DOMAIN_ID, and communication debugging
- tf2 and robot frames — coordinate frames, transformations, timestamps, and the
map → odom → base_link relationship
- Robot description and simulation — URDF, Xacro, SDF, Gazebo, simulation time, and simulator integration
- Navigation and manipulation — Nav2, costmaps, localization, SLAM, MoveIt 2, planning scenes, inverse kinematics, and motion planning
- Hardware control —
ros2_control, hardware interfaces, controller_manager, and common controllers such as differential-drive control
- Debugging and engineering practices — executors, callback groups, testing, tracing, diagnostics, real-time considerations, security, and multi-robot systems
- Practical learning path — progressing from a basic publisher/subscriber system to a complete mobile robot or manipulator pipeline
Recommended resource
Use the provided book below as the main reference for studying these topics.
Start with the early chapters for the ROS 2 fundamentals, then follow the book's recommended progression into QoS, tf2, simulation, Nav2/MoveIt 2, and ros2_control. The book is designed to be used alongside the ROS 2 Intro slides and includes concepts, commands, code examples, debugging workflows, and practical project guidance.
ROS 2 Complete Study Guide — Beginner to Advanced
Resources
Reference Links