Learn ROS-ROS2 with Real Code Examples
Updated Nov 27, 2025
Learning Path
Learn ROS1 basics: nodes, topics, services
Transition to ROS2: DDS, QoS, real-time concepts
Understand message types and parameter management
Work with simulation (Gazebo) and visualization (RViz)
Build multi-robot and hardware-integrated applications
Skill Improvement Plan
Week 1: ROS1 nodes and topic communication
Week 2: ROS2 node migration and DDS understanding
Week 3: Sensor integration and driver usage
Week 4: Simulation and visualization tools
Week 5: Multi-robot coordination and deployment
Interview Questions
Explain the differences between ROS1 and ROS2.
How do ROS nodes communicate using topics and services?
What are QoS policies in ROS2 and why are they important?
How do you integrate sensors and actuators into a ROS system?
Describe a real-world scenario using ROS2 for multi-robot coordination.
Cheat Sheet
ros2 run <package> <node> - run a ROS2 node
ros2 topic list - list active topics
ros2 topic echo <topic> - view messages on a topic
ros2 service call <service> <args> - call a service
colcon build - build workspace
Books
Programming Robots with ROS
Learning ROS for Robotics Programming
ROS Robotics By Example
Mastering ROS for Robotics Programming
ROS2 Essentials
Tutorials
ROS2 Beginner Tutorials
Creating and running ROS2 nodes
Working with topics, services, and actions
Simulation with Gazebo and RViz
Multi-robot communication in ROS2
Official Docs
https://www.ros.org/
https://docs.ros.org/en/ros2/
https://index.ros.org/doc/ros2/
https://answers.ros.org/
https://discourse.ros.org/
Community Links
ROS Discourse
ROS Answers Stack Exchange
ROS GitHub repositories
ROSCon conference talks
ROS Discord and Slack channels
Community Support
ROS Discourse and ROS Answers
ROS2 GitHub repositories
ROS Wiki and Tutorials
ROSCon conference and workshops
ROS Slack and Discord channels