Skip to main content

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​

  1. Gazebo Fundamentals — architecture, physics settings, SDF worlds, and spawning robots
  2. Sensor Simulation — sensor models with noise, ros_gz_bridge, rclpy, RViz2, and Unity
  3. Sim-to-Real Transfer — the reality gap, randomization, system identification, and a hardware validation checklist

Prerequisites​

Complete Module 2: ROS 2 Fundamentals