Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/qualcomm-qrb-ros/qrb_ros_simulation/llms.txt

Use this file to discover all available pages before exploring further.

Docker provides an isolated environment with all dependencies pre-installed, including ROS 2 Jazzy, the Gazebo bridge packages, and an SSH server configured for X11 forwarding. This means you can run the simulation on any Ubuntu host without modifying your system packages. The container runs with host networking so that ROS 2 DDS discovery works without additional configuration. The Dockerfile starts from ros:jazzy-ros-base-noble and installs ros-jazzy-desktop, ros-jazzy-ros-gz, ros-jazzy-gz-ros2-control, and ros-jazzy-ros2-controllers. It also installs and configures OpenSSH Server on port 222 with root login enabled, so you can connect from a separate terminal with X11 forwarding to display the Gazebo GUI on your host.

Prerequisites

  • Docker installed and running on your Ubuntu host
  • The qrb_ros_simulation repository cloned locally

Setup steps

1

Build the Docker image

From the root of the cloned repository, make the build script executable and run it. The script builds an image tagged qrb_ros_simulation:latest using the bundled Dockerfile:
chmod +x scripts/docker_build.sh
./scripts/docker_build.sh
2

Start the container

Make the run script executable and start the container. The container runs interactively with host networking and is named qrb_ros_simulation_container:
chmod +x scripts/docker_run.sh
./scripts/docker_run.sh
3

Enable SSH inside the container

Inside the running container, set a root password and start the SSH service:
passwd
service ssh start
4

Connect via SSH with X forwarding

In a separate terminal on your host, connect to the container over SSH. Replace your_host_ip with the IP address of your host machine:
ssh -X -p 222 root@your_host_ip
The -X flag enables X11 forwarding. This routes the Gazebo GUI window back to your host display, so the graphical simulation renders on your local screen even though it is running inside the container.

Next steps

Once connected to the container, continue to Build QRB ROS Simulation from source to clone the repository, download mesh assets, and compile the packages inside the container.

Build docs developers (and LLMs) love