Skip to content

MuJoCo ​

Introduction ​

Open-source MuJoCo simulator for the RBQ quadruped robot.

MuJoCo runs the full RBQ software stack (Motion / Vision / GUI) against a physics simulation. Unlike the Isaac Gym and Isaac Lab environments — which exist to train reinforcement-learning policies — MuJoCo lets you develop and test the robot software itself without any hardware. It joins the running RBQ stack as a DDS peer, so the same Motion / Vision / GUI processes that run on the real robot run unchanged against the simulator.

MuJoCo
MuJoCo

Layout ​

PathDescription
src/Simulator sources → bin/rbq_mujoco
resources/model/MJCF models — default.xml (quadruped) / wheel.xml (wheeled), each including the robot and env/environment.xml
scripts/Build / Docker scripts

Options ​

OptionMeaning
--wheelWheeled RBQ (12 leg joints + 4 driven wheels). Default is the quadruped
--livoxLivox Mid-360 x2 (front / rear): draws the housings and runs their raytracer threads
--ousterOuster OS1 x1 (rear deck): draws the housing. The scan itself is not simulated yet
-p, --path <mjcf>MJCF model to load. Defaults to the selected variant's model under resources/model/
-i, --interface <name>DDS network interface. Default lo, which is what the on-host RBQ stack uses
--selftest [seconds]Run headless for N seconds (default 3) and exit with the result. Used by scripts/docker/run.bash --test

The default model is resources/model/default.xml; --wheel selects wheel.xml. -p overrides only which file is loaded — the joint layout still comes from the variant flag.

Run with the full RBQ stack (Local) ​

Run the full RBQ stack (Motion / Vision) together with the MuJoCo simulator:

scripts/sim.bash runs the RBQ stack in Docker, so Docker is the only thing to install for it — the script offers to install Docker when it is missing. The first run builds the rbq-sim image, which takes a few minutes. Logs go to log/sim-docker/, and Ctrl-C stops the stack. Settings changed from the app while it runs are not kept after it stops.

bash
# Clone
git clone https://github.com/RainbowRobotics/RBQ.git
cd RBQ

# Install dependencies (first time only)
cd rbq_simulator/rbq_mujoco && bash scripts/debian-dep.bash

# Build rbq_mujoco
bash scripts/build.bash
cd ../../

Quadruped

bash
bash scripts/sim.bash --vision --no-sim
cd rbq_simulator/rbq_mujoco
./bin/rbq_mujoco

Wheeled RBQ

bash
bash scripts/sim.bash --vision --no-sim -r wheel
cd rbq_simulator/rbq_mujoco
./bin/rbq_mujoco --wheel

Run with the full RBQ stack (Docker) ​

Run the same stack with the MuJoCo simulator inside Docker:

bash
# Clone
git clone https://github.com/RainbowRobotics/RBQ.git
cd RBQ
bash
bash scripts/sim.bash --vision --no-sim
cd rbq_simulator/rbq_mujoco
bash scripts/docker/run.bash            # quadruped
bash scripts/docker/run.bash --wheel    # wheeled RBQ

run.bash supplies the model path itself. It handles --headless, --build, --test [seconds], --gpu and --no-check, and forwards every other argument to the simulator — so --wheel, --livox and --ouster pass straight through.

NOTE — DDS networking

The simulator shares DDS domain 0 on the loopback interface (lo) with the host RBQ stack. In Docker this is provided by --network host.

See also ​

This user manual is intended for RBQ users.