Skip to content

Latest commit

 

History

History
69 lines (45 loc) · 4.23 KB

README.md

File metadata and controls

69 lines (45 loc) · 4.23 KB

MuJoCo ROS

Tools that combine the MuJoCo simulator with ROS. Meant to recreate a base port of gazebo_ros_pkgs for MuJoCo.

This is a ROS software Project that wraps the MuJoCo physics engine into a ROS package. It is an extension of the MuJoCo simulate program, with ROS integration and the possibility to load plugins via pluginlib.

ROS Versions

This project is mainly built for Ubuntu Focal with ROS Noetic. But we are working on adaptations for more recent Ubuntu systems with ROS One and Humble (ROS 2).

Continuous Integration

service Noetic / One Humble (coming soon)
GitHub Format CI -
CodeCov codecov -

Build Instructions

  1. Make sure MuJoCo is installed (the current build uses version 3.2.0) and runs on your machine.
  2. Create a new ROS workspace or include this repository into an existing workspace.
  3. Before building, make sure that your compiler knows where to find the MuJoCo library, e.g. by running
export MUJOCO_DIR=PATH/TO/MUJOCO/DIR
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MUJOCO_DIR/lib
export LIBRARY_PATH=$LIBRARY_PATH:$MUJOCO_DIR/lib

where PATH/TO/MUJOCO/DIR is ~/.mujoco/mujoco-3.2.0 if you used the recommended location to install mujoco (if downloaded as tarball). If you built MuJoCo from source and the install path is known to catkin, you can skip this step.

  1. Build with catkin_build, catkin b or colcon build.
  2. Source your workspace and try roslaunch mujoco_ros launch_server.launch use_sim_time:=true to test if it runs.

Warning To prevent action servers ignoring actions for a limited time after resetting the simulation, until ros/actionlib#203 is merged, you need to build the PR branch and any packages implementing action servers (like MoveIt) yourself.

Plugin Examples

As an example for extended functionality through plugins, take a look at mujoco_ros_control, mujoco_screw_plugin, mujoco_contact_surfaces or mujoco_ros_sensors.

We provide some code examples in our demo repository

Documentation

We are currently working on setting up more detailed documentation including tutorials and guides. The current prototype can be found here (though note that this will migrate once its ready for an initial proper release).

Some more structural and configuration info, which is not yet included in the documentation, can be found here.

Licensing

This work is licensed under the BSD 3-Clause License (see LICENSE). It is built on top of MuJoCo, which was released under an Apache 2.0 License. For the original MuJoCo and further third party licenses, see THIRD_PARTY_NOTICES.

Cite

If you are using this framework in your research, please cite the following work in your publications:

@inproceedings{leinsMuJoCoROSIntegrating2025
    author = {Leins, David P. and Haschke, Robert and Ritter, Helge},
    title = {MuJoCo ROS: Integrating ROS with the MuJoCo Engine for Accurate and Scalable Robotic Simulation},
    booktitle={2025 IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR)},
    year={2025},
    organization = {IEEE. in press},
}