Module 3: Simulation Environments
Simulation lets you develop and test robot software without risking hardware: controllers can be tried thousands of times, failures can be reproduced exactly, and experiments can run faster than real time. This two-week module (weeks 6-7) uses Gazebo Harmonic with ROS 2 Jazzy to build simulated worlds, equip robots with realistic sensors, and prepare controllers for the move to real hardware.
Topics Covered
- Gazebo architecture, physics engines, and SDF world creation
- Spawning URDF robots from ROS 2 with
ros_gz_sim - Simulated cameras, depth cameras, LiDAR, IMUs, and contact/force-torque sensors
- Bridging sensor data to ROS 2 and visualising it in RViz2
- Unity as a rendering alternative
- Sim-to-real transfer: domain randomization, system identification, and validation
Chapters
- Gazebo Fundamentals — architecture, physics settings, SDF worlds, and spawning robots
- Sensor Simulation — sensor models with noise,
ros_gz_bridge, rclpy, RViz2, and Unity - Sim-to-Real Transfer — the reality gap, randomization, system identification, and a hardware validation checklist
Prerequisites
Complete Module 2: ROS 2 Fundamentals