No version for distro humble showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
kilted

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
rolling

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro ardent showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro bouncy showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro crystal showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro eloquent showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro dashing showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro foxy showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro lunar showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro jade showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro indigo showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro hydro showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro kinetic showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro melodic showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange

No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

mujoco_ros2_control package from mujoco_ros2_control repo

mujoco_ros2_control

ROS Distro
jazzy

Package Summary

Version 0.0.0
License Apache License, Version 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/mujoco_ros2_control.git
VCS Type git
VCS Version main
Last Updated 2025-12-21
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ros2_control wrapper for the Mujoco Simulate application

Maintainers

  • Nathan Dunkelberger
  • Erik Holum

Authors

No additional authors.

MuJoCo ros2_control Simulation

This package contains a ros2_control system interface for the MuJoCo Simulator. It was originally written for simulating robot hardware in NASA Johnson’s iMETRO facility.

The system interface wraps MuJoCo’s Simulate App to provide included functionality. Because the app is not bundled as a library, we compile it directly from a local install of MuJoCo.

Parts of this library are also based on the MoveIt mujoco_ros2_control package.

Installation

This interface has only been tested against ROS 2 jazzy and MuJoCo 3.4.0. It should also be compatible with kilted and rolling, but we do not actively maintain those. We assume all required ROS dependencies have been installed either manually or with rosdep.

For configuring MuJoCo, the included CMakeLists.txt will download and install the tarfile automatically. As long as users have a good network connection there should not be an issue.

However, a local install of MuJoCo can be used to build the application by setting the following environment variables,

# The tested version
MUJOCO_VERSION=3.4.0

# Wherever it was installed and extracted on your machine
MUJOCO_INSTALL_DIR=/opt/mujoco/mujoco-3.4.0

From there the library can be compiled with colcon build ..., as normal.

URDF Model Conversion

Mujoco does not support the full feature set of xacro/URDFs in the ROS 2 ecosystem. As such, users are required to convert any existing robot description files to an MJCF format. This includes adding actuators, sensors, and cameras as needed to the MJCF XML.

We have built a *highly experimental tool to automate URDF conversion. For more information refer to the documentation.

Hardware Interface Setup

Plugin

This application is shipped as a ros2_control hardware interface, and can be configured as such. Just specify the plugin and point to a valid MJCF on launch:

  <ros2_control name="MujocoSystem" type="system">
    <hardware>
      <plugin>mujoco_ros2_control/MujocoSystemInterface</plugin>
      <param name="mujoco_model">$(find my_description)/description/scene.xml</param>

      <!--
       Optional parameter to load the PIDs that can be used with the actuators loaded with the MuJoCo model.
       The velocity actuator supports position mode with the PID gains, and the rest of the actuation models
       support both position and velocity mode provided the corresponding PID gains. The gains should be in ROS
       parameters format to be loaded by the control_toolbox::PidROS class.
        -->
      <param name="pids_config_file">$(find my_description)/config/pids.yaml</param>

      <!--
       Optional parameter to override the speed scaling parameters from the Simulate App window
       and just attempt to run at whatever the desired rate is here. This allows users to run the simulation
       faster than real time. For example, at 500% speed as set here. If this param is omitted or set to
       a value <0, then the simulation will run using the slowdown requested from the App.
      -->
      <param name="sim_speed_factor">5.0</param>

      <!--
        Optional parameter to use the keyframe from a provided file as the starting configuration. This is mutually exclusive with
        the initial_value that can be used for state interfaces. This is intended to provide an alternative method to load an entire
        mujoco model state from a configuration that was saved by clicking 'Copy state' in the simulate window, and pasted into a
        config file. Expected use cases are to work on a specific part of an application that involves the environment being in a
        very specific starting configuration. If this parameter is an empty string, it will be ignored.
      -->
      <param name="override_start_position_file">$(find my_description)/config/start_positions.xml</param>

      <!--
        Optional parameter to update the simulated camera's color and depth image publish rates. If no
        parameter is set then all cameras will publish at 5 hz. Note that all cameras in the sim currently
        publish at the same intervals.
      -->
      <param name="camera_publish_rate">6.0</param>

      <!--
        Optional parameter to update the simulated lidar sensor's scan message publish rates.
        All lidar sensors in the simulation will be configured to publish these scan messages at the same rate.
      -->
      <param name="lidar_publish_rate">10.0</param>

      <!--
        The parameter headless can be used to choose whether to launch the MuJoCo simulator in headless mode or not.
        By default, it is set to false
      -->
      <param name="headless">false</param>
    </hardware>
  ...

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mujoco_ros2_control at Robotics Stack Exchange