RoboticsIntermediate

Robotics Simulation with Gazebo

Model, simulate and test robots before touching hardware.

Taught by Sristi Maharjan · Robotics Engineer

What you'll learn

  • Install Gazebo Harmonic, navigate its GUI and command-line tools, and explain how it differs from Gazebo Classic
  • Write a robot description in URDF with xacro, including visual, collision and inertial properties
  • Build an SDF world with physics settings, lighting and models pulled from the Gazebo Fuel library
  • Attach differential-drive, lidar, camera and IMU plugins and inspect their output with gz topic
  • Bridge Gazebo topics into ROS 2 with ros_gz_bridge and visualise the simulated robot in RViz
  • Run headless simulations, reset worlds from code and write automated controller tests

About this course

Simulation is how modern robotics teams develop, test and ship software safely, and Gazebo is the open-source simulator that pairs natively with ROS 2. This intermediate course teaches you to build a complete simulated robot from the ground up: describe its links and joints in URDF and SDF, give it realistic mass and collision geometry, place it in a world with lighting, physics and obstacles, attach lidar, camera and IMU sensors through Gazebo system plugins, and bridge everything into ROS 2 so RViz and your own nodes see the robot exactly as they would see real hardware. The final lesson shows how to run headless simulations, write automated tests for controllers and reset worlds programmatically so simulation becomes part of your development loop rather than a demo. It is aimed at engineers and students who know basic ROS 2 and Python and want to design, debug and validate robots without waiting for, or breaking, expensive hardware.

Course content

6 lessons
  1. 1Why Simulate First, and the Gazebo LandscapeWhat simulation buys you, which Gazebo to install in 2026, and a tour of the GUI and gz command-line tools.Preview
  2. 2Describing a Robot in URDF and SDFLinks, joints, visual and collision geometry, inertial properties and xacro macros for a maintainable robot model.
  3. 3Building Worlds: Physics, Lighting and ObstaclesWrite an SDF world with physics settings, lights, ground and models from Fuel, and spawn your robot into it.
  4. 4Sensors and Plugins: Making the Robot Move and SeeAdd differential-drive, lidar, camera and IMU plugins to the model and inspect their data with gz tools.
  5. 5Bridging Gazebo to ROS 2 and Visualising in RVizConfigure ros_gz_bridge for every topic, publish TF, and see the simulated robot and sensors in RViz.
  6. 6Testing Controllers in SimulationRun headless, reset and script worlds from code, and write automated tests that gate controller changes.