Introduction and ROS2 Basics
Module 1:
Introduction to ROS2
- What is ROS and why ROS2
- Key features and differences from
ROS1
- ROS2 architecture and design
principles
Module 2:
Setting Up ROS2
- ROS2 distributions and
compatibility
- Installing ROS2 on Ubuntu
- Environment setup and configuration
Module 3:
Workspaces and Packages
- Understanding workspaces and
overlays
- Creating and building ROS2 packages
- Package structure and conventions
Module 4:
Writing First Nodes
- Introduction to ROS2 nodes
- Writing publisher and subscriber
nodes in Python
- Running nodes using ROS2 CLI
Communication and Configuration
Module 5:
ROS2 Topics
- Publish/Subscribe communication
model
- Creating custom messages
- Exploring topics with ROS2 CLI
tools
Module 6:
Services and Actions
- Difference between services and
actions
- Implementing service servers and
clients
- Actions for long-running tasks
Module 7:
Parameters and Launch Files
- Using parameters in ROS2 nodes
- Dynamic parameter updates
- Writing and running launch files
Tools, Simulation and Project
Module 8:
Visualization and Debugging Tools
- Using RViz2 for visualization
- Introduction to rqt plugins
- Debugging with ros2 doctor, ros2
bag, ros2 topic echo
Module 9:
Simulation with Gazebo
- Introduction to Gazebo simulator
- Running a robot simulation in ROS2
- Interfacing nodes with simulated
robots
Module 10:
Hands Exercises
Module 11:
Closing Session
- Review of key concepts
- Assessment discussion
- Course feedback and next learning
steps