Skip to main content
qrb_ros_simulation is a Gazebo-based simulation environment for the AMRs and manipulators that the qrb_ros_samples catalog targets. Its purpose is simple: let you evaluate QRB ROS code paths without buying hardware.
Honest framing — this is a convenience layer on top of Gazebo, not a unique simulation engine. The value is the pre-built URDFs, meshes, controllers, and launch files for QRB AMRs and arms, so the same Nav2 / MoveIt2 / control code that runs on a real robot also runs in sim.

What it ships

Two ROS 2 packages, working together:
PackageRole
qrb_ros_sim_descriptionURDFs, meshes, and description assets for QRB AMRs, manipulators, and sensors.
qrb_ros_sim_gazeboGazebo integration + launch files. Wires up controllers and exposes standard ROS topics via the ros-gz stack.
Standard topics published by the simulation include /clock, /tf, /tf_static, /robot_description, /joint_states, and /camera/color/camera_info — so any node that consumes sensor_msgs or follows the standard ROS 2 conventions sees a real-looking robot.

When to use it

  • Pre-purchase evaluation — verify your stack runs end-to-end against a QRB AMR or arm before committing to hardware.
  • CI / regression testing — run navigation and manipulation stacks in headless Gazebo on every commit.
  • Algorithm prototyping — iterate on Nav2, MoveIt2, or control logic without owning a robot.

Quick start

1

Install Gazebo and ROS 2 Jazzy

Follow the standard Gazebo Harmonic install and Install ROS Jazzy for your platform. No Qualcomm hardware required.
2

Build from source

mkdir -p qrb_sim_ws/src && cd qrb_sim_ws/src
git clone https://github.com/qualcomm-qrb-ros/qrb_ros_simulation.git
cd ..
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install
source install/setup.bash
3

Launch a sim world

See the upstream Usage section for the current launch commands. The simulation samples in qrb_ros_samples (e.g., simulation_sample_amr_simple_motion, simulation_sample_pick_and_place) are designed to run against this environment.

Why this helps

AlternativeShort take
Stock Gazebo + your own URDFsMaximum flexibility; you author the AMR / arm / sensor models yourself. Real bring-up effort.
NVIDIA Isaac SimPhotorealistic + RL pipelines, but needs an RTX-class GPU and is ecosystem-locked to Isaac ROS.
PyBullet / MuJoCo / Webots / CoppeliaSimDifferent sim ecosystems; not ROS-graph-native out of the box.
It’s a convenience layer, not a new sim engine — but it’s the fastest way to run QRB ROS samples and exercise the same code paths that target real Qualcomm-powered robots, with no hardware in the loop.