|
mujoco_ros2_control repositorymujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Repository Summary
| Description | Provides a ROS 2 control hardware interface for the MuJoCo physics simulator, including plugins for various sensors, RGB-D cameras, and lidar. |
| Checkout URI | https://github.com/ros-controls/mujoco_ros2_control.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-02-24 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mujoco_ros2_control | 0.0.1 |
| mujoco_ros2_control_demos | 0.0.1 |
| mujoco_ros2_control_msgs | 0.0.1 |
| mujoco_ros2_control_tests | 0.0.1 |
README
MuJoCo ros2_control
This repository provides a ros2_control system interface and supporting packages to run ROS 2 controllers against the MuJoCo physics simulator.
This project wraps MuJoCo as a hardware/system interface so you can use the ros2_control stack (controller manager, controllers, controller interfaces) against simulated robots based on MJCF or generated from URDF.
Contents
-
mujoco_ros2_control- core system interface plugin and resources -
mujoco_ros2_control_msgs- message/service definitions used by the plugin -
mujoco_ros2_control_demos- demo launch files, configs and example robots -
mujoco_ros2_control_tests- integration / launch tests and simple examples -
docker/- Dockerfiles and scripts to run CI/containers
Key features
- Full ros2_control SystemInterface plugin for MuJoCo
- MJCF/URDF conversion utilities to auto-generate MuJoCo models
- Example demos showing basic control, PID and transmission setups
Quick start
There are two common ways to get running: build from source (recommended) or install prebuilt binaries (if available for your distribution).
-
Build from source (recommended)
-
Install required dependencies manually or from rosdep, including the
mujoco_vendorpackage, if available. Otherwise MuJoCo will will be downloaded at build time. -
Build the workspace (example with a sourced ROS 2 installation):
-
# from workspace root (this repository is typically inside a ROS 2 workspace)
colcon build --symlink-install --packages-select mujoco_ros2_control* \
--cmake-args -DCMAKE_BUILD_TYPE=Release
- Source the workspace and run a demo:
source install/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
-
Install prebuilt binaries (if available)
If your ROS 2 distribution or your OS package index provides prebuilt packages for
mujoco_ros2_control, you can install those instead of compiling from source. Check your distribution’s package repositories or the project’s GitHub releases for available binary artifacts.Example (Debian/Ubuntu with ROS packages — replace
<distro>):
sudo apt update
sudo apt install ros-<distro>-mujoco-ros2-control
After installing binaries, source your ROS install and run a demo:
source /opt/ros/<distro>/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
See mujoco_ros2_control/README.md for detailed usage, configuration examples and mappings between MJCF actuators/sensors and ros2_control interfaces.
Supported ROS 2 distributions
- The project is developed and tested against multiple ROS 2 distributions.
This README includes basic notes for:
Humble,Kilted,JazzyandRolling.
Support matrix
| Distribution | Status |
|---|---|
| Humble | Supported |
| Kilted | Supported |
| Jazzy | Supported |
| Rolling | Supported (development) |
Contributing
- Contributions, bug reports and feature requests are welcome. Please follow standard ROS Controls project workflows: open issues, send PRs against the
mainbranch and respect the repository code style usingpre-commit.
License & maintainers
- This repository is distributed under the terms of the LICENSE file (
LICENSE). Maintainers and authors are listed in the Git history and package manifests (package.xml) inside each package.
CONTRIBUTING
|
mujoco_ros2_control repositorymujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Repository Summary
| Description | Provides a ROS 2 control hardware interface for the MuJoCo physics simulator, including plugins for various sensors, RGB-D cameras, and lidar. |
| Checkout URI | https://github.com/ros-controls/mujoco_ros2_control.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-02-24 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mujoco_ros2_control | 0.0.1 |
| mujoco_ros2_control_demos | 0.0.1 |
| mujoco_ros2_control_msgs | 0.0.1 |
| mujoco_ros2_control_tests | 0.0.1 |
README
MuJoCo ros2_control
This repository provides a ros2_control system interface and supporting packages to run ROS 2 controllers against the MuJoCo physics simulator.
This project wraps MuJoCo as a hardware/system interface so you can use the ros2_control stack (controller manager, controllers, controller interfaces) against simulated robots based on MJCF or generated from URDF.
Contents
-
mujoco_ros2_control- core system interface plugin and resources -
mujoco_ros2_control_msgs- message/service definitions used by the plugin -
mujoco_ros2_control_demos- demo launch files, configs and example robots -
mujoco_ros2_control_tests- integration / launch tests and simple examples -
docker/- Dockerfiles and scripts to run CI/containers
Key features
- Full ros2_control SystemInterface plugin for MuJoCo
- MJCF/URDF conversion utilities to auto-generate MuJoCo models
- Example demos showing basic control, PID and transmission setups
Quick start
There are two common ways to get running: build from source (recommended) or install prebuilt binaries (if available for your distribution).
-
Build from source (recommended)
-
Install required dependencies manually or from rosdep, including the
mujoco_vendorpackage, if available. Otherwise MuJoCo will will be downloaded at build time. -
Build the workspace (example with a sourced ROS 2 installation):
-
# from workspace root (this repository is typically inside a ROS 2 workspace)
colcon build --symlink-install --packages-select mujoco_ros2_control* \
--cmake-args -DCMAKE_BUILD_TYPE=Release
- Source the workspace and run a demo:
source install/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
-
Install prebuilt binaries (if available)
If your ROS 2 distribution or your OS package index provides prebuilt packages for
mujoco_ros2_control, you can install those instead of compiling from source. Check your distribution’s package repositories or the project’s GitHub releases for available binary artifacts.Example (Debian/Ubuntu with ROS packages — replace
<distro>):
sudo apt update
sudo apt install ros-<distro>-mujoco-ros2-control
After installing binaries, source your ROS install and run a demo:
source /opt/ros/<distro>/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
See mujoco_ros2_control/README.md for detailed usage, configuration examples and mappings between MJCF actuators/sensors and ros2_control interfaces.
Supported ROS 2 distributions
- The project is developed and tested against multiple ROS 2 distributions.
This README includes basic notes for:
Humble,Kilted,JazzyandRolling.
Support matrix
| Distribution | Status |
|---|---|
| Humble | Supported |
| Kilted | Supported |
| Jazzy | Supported |
| Rolling | Supported (development) |
Contributing
- Contributions, bug reports and feature requests are welcome. Please follow standard ROS Controls project workflows: open issues, send PRs against the
mainbranch and respect the repository code style usingpre-commit.
License & maintainers
- This repository is distributed under the terms of the LICENSE file (
LICENSE). Maintainers and authors are listed in the Git history and package manifests (package.xml) inside each package.
CONTRIBUTING
|
mujoco_ros2_control repositorymujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Repository Summary
| Description | Provides a ROS 2 control hardware interface for the MuJoCo physics simulator, including plugins for various sensors, RGB-D cameras, and lidar. |
| Checkout URI | https://github.com/ros-controls/mujoco_ros2_control.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-02-24 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mujoco_ros2_control | 0.0.1 |
| mujoco_ros2_control_demos | 0.0.1 |
| mujoco_ros2_control_msgs | 0.0.1 |
| mujoco_ros2_control_tests | 0.0.1 |
README
MuJoCo ros2_control
This repository provides a ros2_control system interface and supporting packages to run ROS 2 controllers against the MuJoCo physics simulator.
This project wraps MuJoCo as a hardware/system interface so you can use the ros2_control stack (controller manager, controllers, controller interfaces) against simulated robots based on MJCF or generated from URDF.
Contents
-
mujoco_ros2_control- core system interface plugin and resources -
mujoco_ros2_control_msgs- message/service definitions used by the plugin -
mujoco_ros2_control_demos- demo launch files, configs and example robots -
mujoco_ros2_control_tests- integration / launch tests and simple examples -
docker/- Dockerfiles and scripts to run CI/containers
Key features
- Full ros2_control SystemInterface plugin for MuJoCo
- MJCF/URDF conversion utilities to auto-generate MuJoCo models
- Example demos showing basic control, PID and transmission setups
Quick start
There are two common ways to get running: build from source (recommended) or install prebuilt binaries (if available for your distribution).
-
Build from source (recommended)
-
Install required dependencies manually or from rosdep, including the
mujoco_vendorpackage, if available. Otherwise MuJoCo will will be downloaded at build time. -
Build the workspace (example with a sourced ROS 2 installation):
-
# from workspace root (this repository is typically inside a ROS 2 workspace)
colcon build --symlink-install --packages-select mujoco_ros2_control* \
--cmake-args -DCMAKE_BUILD_TYPE=Release
- Source the workspace and run a demo:
source install/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
-
Install prebuilt binaries (if available)
If your ROS 2 distribution or your OS package index provides prebuilt packages for
mujoco_ros2_control, you can install those instead of compiling from source. Check your distribution’s package repositories or the project’s GitHub releases for available binary artifacts.Example (Debian/Ubuntu with ROS packages — replace
<distro>):
sudo apt update
sudo apt install ros-<distro>-mujoco-ros2-control
After installing binaries, source your ROS install and run a demo:
source /opt/ros/<distro>/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
See mujoco_ros2_control/README.md for detailed usage, configuration examples and mappings between MJCF actuators/sensors and ros2_control interfaces.
Supported ROS 2 distributions
- The project is developed and tested against multiple ROS 2 distributions.
This README includes basic notes for:
Humble,Kilted,JazzyandRolling.
Support matrix
| Distribution | Status |
|---|---|
| Humble | Supported |
| Kilted | Supported |
| Jazzy | Supported |
| Rolling | Supported (development) |
Contributing
- Contributions, bug reports and feature requests are welcome. Please follow standard ROS Controls project workflows: open issues, send PRs against the
mainbranch and respect the repository code style usingpre-commit.
License & maintainers
- This repository is distributed under the terms of the LICENSE file (
LICENSE). Maintainers and authors are listed in the Git history and package manifests (package.xml) inside each package.
CONTRIBUTING
|
mujoco_ros2_control repositorymujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Repository Summary
| Description | Provides a ROS 2 control hardware interface for the MuJoCo physics simulator, including plugins for various sensors, RGB-D cameras, and lidar. |
| Checkout URI | https://github.com/ros-controls/mujoco_ros2_control.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-02-24 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mujoco_ros2_control | 0.0.1 |
| mujoco_ros2_control_demos | 0.0.1 |
| mujoco_ros2_control_msgs | 0.0.1 |
| mujoco_ros2_control_tests | 0.0.1 |
README
MuJoCo ros2_control
This repository provides a ros2_control system interface and supporting packages to run ROS 2 controllers against the MuJoCo physics simulator.
This project wraps MuJoCo as a hardware/system interface so you can use the ros2_control stack (controller manager, controllers, controller interfaces) against simulated robots based on MJCF or generated from URDF.
Contents
-
mujoco_ros2_control- core system interface plugin and resources -
mujoco_ros2_control_msgs- message/service definitions used by the plugin -
mujoco_ros2_control_demos- demo launch files, configs and example robots -
mujoco_ros2_control_tests- integration / launch tests and simple examples -
docker/- Dockerfiles and scripts to run CI/containers
Key features
- Full ros2_control SystemInterface plugin for MuJoCo
- MJCF/URDF conversion utilities to auto-generate MuJoCo models
- Example demos showing basic control, PID and transmission setups
Quick start
There are two common ways to get running: build from source (recommended) or install prebuilt binaries (if available for your distribution).
-
Build from source (recommended)
-
Install required dependencies manually or from rosdep, including the
mujoco_vendorpackage, if available. Otherwise MuJoCo will will be downloaded at build time. -
Build the workspace (example with a sourced ROS 2 installation):
-
# from workspace root (this repository is typically inside a ROS 2 workspace)
colcon build --symlink-install --packages-select mujoco_ros2_control* \
--cmake-args -DCMAKE_BUILD_TYPE=Release
- Source the workspace and run a demo:
source install/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
-
Install prebuilt binaries (if available)
If your ROS 2 distribution or your OS package index provides prebuilt packages for
mujoco_ros2_control, you can install those instead of compiling from source. Check your distribution’s package repositories or the project’s GitHub releases for available binary artifacts.Example (Debian/Ubuntu with ROS packages — replace
<distro>):
sudo apt update
sudo apt install ros-<distro>-mujoco-ros2-control
After installing binaries, source your ROS install and run a demo:
source /opt/ros/<distro>/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
See mujoco_ros2_control/README.md for detailed usage, configuration examples and mappings between MJCF actuators/sensors and ros2_control interfaces.
Supported ROS 2 distributions
- The project is developed and tested against multiple ROS 2 distributions.
This README includes basic notes for:
Humble,Kilted,JazzyandRolling.
Support matrix
| Distribution | Status |
|---|---|
| Humble | Supported |
| Kilted | Supported |
| Jazzy | Supported |
| Rolling | Supported (development) |
Contributing
- Contributions, bug reports and feature requests are welcome. Please follow standard ROS Controls project workflows: open issues, send PRs against the
mainbranch and respect the repository code style usingpre-commit.
License & maintainers
- This repository is distributed under the terms of the LICENSE file (
LICENSE). Maintainers and authors are listed in the Git history and package manifests (package.xml) inside each package.
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/moveit/mujoco_ros2_control.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-09-25 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mujoco_ros2_control | 0.1.0 |
| mujoco_ros2_control_demos | 0.1.0 |
README
mujoco_ros2_control
Overview
This repository contains a ROS2 control package for Mujoco simulation, offering the MujocoSystem plugin to integrate ros2_control with Mujoco. Additionally, it includes a node responsible for initializing the plugin, Mujoco rendering, and the simulation.
Installation Guide
Follow these steps to install and run the project locally.
Prerequisites
Make sure you have the following software installed if you are running on the local machine:
Package Install
Before build this package configure environment variable for mujoco directory.
export MUJOCO_DIR=/PATH/TO/MUJOCO/mujoco-3.x.x
You can now compile the package using the following commands.
cd mujoco_ros2_control
source /opt/ros/${ROS_DISTRO}/setup.bash
colcon build
Usage
See the documentation for usage.
Docker
A basic containerized workflow is provided to test this package in isolation. For more information refer to the docker documentation.
Future Work
Here are several potential areas for future improvement:
-
Sensors: Implement IMU sensors, and range sensors.
-
Loading Model From URDF: Implement direct loading of models from URDF, eliminating the need to convert URDF files to XML.
Feel free to suggest ideas for new features or improvements.
CONTRIBUTING
Contributing to mujoco_ros2_control
Thank you for considering contributing to our project! We welcome contributions in all forms, from bug fixes and documentation improvements to new features. Please read our guidelines carefully and ensure you follow contribution guidelines throughout your participation.
How to Contribute
1. Reporting Issues
- Check Existing Issues: Before opening a new issue, please search through the existing issues to see if someone else has already reported it.
- Bug Reports: If you find a bug, please open an issue with a detailed description and, if possible, steps to reproduce it.
- Feature Requests: For new features or improvements, please open an issue to discuss the idea before starting work.
2. Submitting Pull Requests
When you’re ready to contribute code or documentation, please follow these steps:
- Click the “Fork” button at the top right of the repository page to create your own copy.
- Clone your forked repository.
- Create a feature branch.
- Implement your feature or bug fix.
- Before submitting your pull request, run the following commands to ensure everything is in order:
# Run Unit/Integration Tests
colcon test
# Run Pre-Commit Hooks
pre-commit run -a
- Commit and push your changes
- Open a pull request
License
Any contribution that you make to this repository will be under the MIT license, as dictated by that license.
Thank You
We appreciate your time and effort in contributing to our project.
|
mujoco_ros2_control repositorymujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Repository Summary
| Description | Provides a ROS 2 control hardware interface for the MuJoCo physics simulator, including plugins for various sensors, RGB-D cameras, and lidar. |
| Checkout URI | https://github.com/ros-controls/mujoco_ros2_control.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-02-24 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mujoco_ros2_control | 0.0.1 |
| mujoco_ros2_control_demos | 0.0.1 |
| mujoco_ros2_control_msgs | 0.0.1 |
| mujoco_ros2_control_tests | 0.0.1 |
README
MuJoCo ros2_control
This repository provides a ros2_control system interface and supporting packages to run ROS 2 controllers against the MuJoCo physics simulator.
This project wraps MuJoCo as a hardware/system interface so you can use the ros2_control stack (controller manager, controllers, controller interfaces) against simulated robots based on MJCF or generated from URDF.
Contents
-
mujoco_ros2_control- core system interface plugin and resources -
mujoco_ros2_control_msgs- message/service definitions used by the plugin -
mujoco_ros2_control_demos- demo launch files, configs and example robots -
mujoco_ros2_control_tests- integration / launch tests and simple examples -
docker/- Dockerfiles and scripts to run CI/containers
Key features
- Full ros2_control SystemInterface plugin for MuJoCo
- MJCF/URDF conversion utilities to auto-generate MuJoCo models
- Example demos showing basic control, PID and transmission setups
Quick start
There are two common ways to get running: build from source (recommended) or install prebuilt binaries (if available for your distribution).
-
Build from source (recommended)
-
Install required dependencies manually or from rosdep, including the
mujoco_vendorpackage, if available. Otherwise MuJoCo will will be downloaded at build time. -
Build the workspace (example with a sourced ROS 2 installation):
-
# from workspace root (this repository is typically inside a ROS 2 workspace)
colcon build --symlink-install --packages-select mujoco_ros2_control* \
--cmake-args -DCMAKE_BUILD_TYPE=Release
- Source the workspace and run a demo:
source install/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
-
Install prebuilt binaries (if available)
If your ROS 2 distribution or your OS package index provides prebuilt packages for
mujoco_ros2_control, you can install those instead of compiling from source. Check your distribution’s package repositories or the project’s GitHub releases for available binary artifacts.Example (Debian/Ubuntu with ROS packages — replace
<distro>):
sudo apt update
sudo apt install ros-<distro>-mujoco-ros2-control
After installing binaries, source your ROS install and run a demo:
source /opt/ros/<distro>/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
See mujoco_ros2_control/README.md for detailed usage, configuration examples and mappings between MJCF actuators/sensors and ros2_control interfaces.
Supported ROS 2 distributions
- The project is developed and tested against multiple ROS 2 distributions.
This README includes basic notes for:
Humble,Kilted,JazzyandRolling.
Support matrix
| Distribution | Status |
|---|---|
| Humble | Supported |
| Kilted | Supported |
| Jazzy | Supported |
| Rolling | Supported (development) |
Contributing
- Contributions, bug reports and feature requests are welcome. Please follow standard ROS Controls project workflows: open issues, send PRs against the
mainbranch and respect the repository code style usingpre-commit.
License & maintainers
- This repository is distributed under the terms of the LICENSE file (
LICENSE). Maintainers and authors are listed in the Git history and package manifests (package.xml) inside each package.
CONTRIBUTING
|
mujoco_ros2_control repositorymujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Repository Summary
| Description | Provides a ROS 2 control hardware interface for the MuJoCo physics simulator, including plugins for various sensors, RGB-D cameras, and lidar. |
| Checkout URI | https://github.com/ros-controls/mujoco_ros2_control.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-02-24 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mujoco_ros2_control | 0.0.1 |
| mujoco_ros2_control_demos | 0.0.1 |
| mujoco_ros2_control_msgs | 0.0.1 |
| mujoco_ros2_control_tests | 0.0.1 |
README
MuJoCo ros2_control
This repository provides a ros2_control system interface and supporting packages to run ROS 2 controllers against the MuJoCo physics simulator.
This project wraps MuJoCo as a hardware/system interface so you can use the ros2_control stack (controller manager, controllers, controller interfaces) against simulated robots based on MJCF or generated from URDF.
Contents
-
mujoco_ros2_control- core system interface plugin and resources -
mujoco_ros2_control_msgs- message/service definitions used by the plugin -
mujoco_ros2_control_demos- demo launch files, configs and example robots -
mujoco_ros2_control_tests- integration / launch tests and simple examples -
docker/- Dockerfiles and scripts to run CI/containers
Key features
- Full ros2_control SystemInterface plugin for MuJoCo
- MJCF/URDF conversion utilities to auto-generate MuJoCo models
- Example demos showing basic control, PID and transmission setups
Quick start
There are two common ways to get running: build from source (recommended) or install prebuilt binaries (if available for your distribution).
-
Build from source (recommended)
-
Install required dependencies manually or from rosdep, including the
mujoco_vendorpackage, if available. Otherwise MuJoCo will will be downloaded at build time. -
Build the workspace (example with a sourced ROS 2 installation):
-
# from workspace root (this repository is typically inside a ROS 2 workspace)
colcon build --symlink-install --packages-select mujoco_ros2_control* \
--cmake-args -DCMAKE_BUILD_TYPE=Release
- Source the workspace and run a demo:
source install/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
-
Install prebuilt binaries (if available)
If your ROS 2 distribution or your OS package index provides prebuilt packages for
mujoco_ros2_control, you can install those instead of compiling from source. Check your distribution’s package repositories or the project’s GitHub releases for available binary artifacts.Example (Debian/Ubuntu with ROS packages — replace
<distro>):
sudo apt update
sudo apt install ros-<distro>-mujoco-ros2-control
After installing binaries, source your ROS install and run a demo:
source /opt/ros/<distro>/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
See mujoco_ros2_control/README.md for detailed usage, configuration examples and mappings between MJCF actuators/sensors and ros2_control interfaces.
Supported ROS 2 distributions
- The project is developed and tested against multiple ROS 2 distributions.
This README includes basic notes for:
Humble,Kilted,JazzyandRolling.
Support matrix
| Distribution | Status |
|---|---|
| Humble | Supported |
| Kilted | Supported |
| Jazzy | Supported |
| Rolling | Supported (development) |
Contributing
- Contributions, bug reports and feature requests are welcome. Please follow standard ROS Controls project workflows: open issues, send PRs against the
mainbranch and respect the repository code style usingpre-commit.
License & maintainers
- This repository is distributed under the terms of the LICENSE file (
LICENSE). Maintainers and authors are listed in the Git history and package manifests (package.xml) inside each package.
CONTRIBUTING
|
mujoco_ros2_control repositorymujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Repository Summary
| Description | Provides a ROS 2 control hardware interface for the MuJoCo physics simulator, including plugins for various sensors, RGB-D cameras, and lidar. |
| Checkout URI | https://github.com/ros-controls/mujoco_ros2_control.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-02-24 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mujoco_ros2_control | 0.0.1 |
| mujoco_ros2_control_demos | 0.0.1 |
| mujoco_ros2_control_msgs | 0.0.1 |
| mujoco_ros2_control_tests | 0.0.1 |
README
MuJoCo ros2_control
This repository provides a ros2_control system interface and supporting packages to run ROS 2 controllers against the MuJoCo physics simulator.
This project wraps MuJoCo as a hardware/system interface so you can use the ros2_control stack (controller manager, controllers, controller interfaces) against simulated robots based on MJCF or generated from URDF.
Contents
-
mujoco_ros2_control- core system interface plugin and resources -
mujoco_ros2_control_msgs- message/service definitions used by the plugin -
mujoco_ros2_control_demos- demo launch files, configs and example robots -
mujoco_ros2_control_tests- integration / launch tests and simple examples -
docker/- Dockerfiles and scripts to run CI/containers
Key features
- Full ros2_control SystemInterface plugin for MuJoCo
- MJCF/URDF conversion utilities to auto-generate MuJoCo models
- Example demos showing basic control, PID and transmission setups
Quick start
There are two common ways to get running: build from source (recommended) or install prebuilt binaries (if available for your distribution).
-
Build from source (recommended)
-
Install required dependencies manually or from rosdep, including the
mujoco_vendorpackage, if available. Otherwise MuJoCo will will be downloaded at build time. -
Build the workspace (example with a sourced ROS 2 installation):
-
# from workspace root (this repository is typically inside a ROS 2 workspace)
colcon build --symlink-install --packages-select mujoco_ros2_control* \
--cmake-args -DCMAKE_BUILD_TYPE=Release
- Source the workspace and run a demo:
source install/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
-
Install prebuilt binaries (if available)
If your ROS 2 distribution or your OS package index provides prebuilt packages for
mujoco_ros2_control, you can install those instead of compiling from source. Check your distribution’s package repositories or the project’s GitHub releases for available binary artifacts.Example (Debian/Ubuntu with ROS packages — replace
<distro>):
sudo apt update
sudo apt install ros-<distro>-mujoco-ros2-control
After installing binaries, source your ROS install and run a demo:
source /opt/ros/<distro>/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
See mujoco_ros2_control/README.md for detailed usage, configuration examples and mappings between MJCF actuators/sensors and ros2_control interfaces.
Supported ROS 2 distributions
- The project is developed and tested against multiple ROS 2 distributions.
This README includes basic notes for:
Humble,Kilted,JazzyandRolling.
Support matrix
| Distribution | Status |
|---|---|
| Humble | Supported |
| Kilted | Supported |
| Jazzy | Supported |
| Rolling | Supported (development) |
Contributing
- Contributions, bug reports and feature requests are welcome. Please follow standard ROS Controls project workflows: open issues, send PRs against the
mainbranch and respect the repository code style usingpre-commit.
License & maintainers
- This repository is distributed under the terms of the LICENSE file (
LICENSE). Maintainers and authors are listed in the Git history and package manifests (package.xml) inside each package.
CONTRIBUTING
|
mujoco_ros2_control repositorymujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Repository Summary
| Description | Provides a ROS 2 control hardware interface for the MuJoCo physics simulator, including plugins for various sensors, RGB-D cameras, and lidar. |
| Checkout URI | https://github.com/ros-controls/mujoco_ros2_control.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-02-24 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mujoco_ros2_control | 0.0.1 |
| mujoco_ros2_control_demos | 0.0.1 |
| mujoco_ros2_control_msgs | 0.0.1 |
| mujoco_ros2_control_tests | 0.0.1 |
README
MuJoCo ros2_control
This repository provides a ros2_control system interface and supporting packages to run ROS 2 controllers against the MuJoCo physics simulator.
This project wraps MuJoCo as a hardware/system interface so you can use the ros2_control stack (controller manager, controllers, controller interfaces) against simulated robots based on MJCF or generated from URDF.
Contents
-
mujoco_ros2_control- core system interface plugin and resources -
mujoco_ros2_control_msgs- message/service definitions used by the plugin -
mujoco_ros2_control_demos- demo launch files, configs and example robots -
mujoco_ros2_control_tests- integration / launch tests and simple examples -
docker/- Dockerfiles and scripts to run CI/containers
Key features
- Full ros2_control SystemInterface plugin for MuJoCo
- MJCF/URDF conversion utilities to auto-generate MuJoCo models
- Example demos showing basic control, PID and transmission setups
Quick start
There are two common ways to get running: build from source (recommended) or install prebuilt binaries (if available for your distribution).
-
Build from source (recommended)
-
Install required dependencies manually or from rosdep, including the
mujoco_vendorpackage, if available. Otherwise MuJoCo will will be downloaded at build time. -
Build the workspace (example with a sourced ROS 2 installation):
-
# from workspace root (this repository is typically inside a ROS 2 workspace)
colcon build --symlink-install --packages-select mujoco_ros2_control* \
--cmake-args -DCMAKE_BUILD_TYPE=Release
- Source the workspace and run a demo:
source install/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
-
Install prebuilt binaries (if available)
If your ROS 2 distribution or your OS package index provides prebuilt packages for
mujoco_ros2_control, you can install those instead of compiling from source. Check your distribution’s package repositories or the project’s GitHub releases for available binary artifacts.Example (Debian/Ubuntu with ROS packages — replace
<distro>):
sudo apt update
sudo apt install ros-<distro>-mujoco-ros2-control
After installing binaries, source your ROS install and run a demo:
source /opt/ros/<distro>/setup.bash
ros2 launch mujoco_ros2_control_demos demo.launch.py
See mujoco_ros2_control/README.md for detailed usage, configuration examples and mappings between MJCF actuators/sensors and ros2_control interfaces.
Supported ROS 2 distributions
- The project is developed and tested against multiple ROS 2 distributions.
This README includes basic notes for:
Humble,Kilted,JazzyandRolling.
Support matrix
| Distribution | Status |
|---|---|
| Humble | Supported |
| Kilted | Supported |
| Jazzy | Supported |
| Rolling | Supported (development) |
Contributing
- Contributions, bug reports and feature requests are welcome. Please follow standard ROS Controls project workflows: open issues, send PRs against the
mainbranch and respect the repository code style usingpre-commit.
License & maintainers
- This repository is distributed under the terms of the LICENSE file (
LICENSE). Maintainers and authors are listed in the Git history and package manifests (package.xml) inside each package.