|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |
Launch files
Messages
Services
Plugins
Recent questions tagged mujoco_ros2_control_demos at Robotics Stack Exchange
|
mujoco_ros2_control_demos package from mujoco_ros2_control repomujoco_ros2_control mujoco_ros2_control_demos mujoco_ros2_control_msgs mujoco_ros2_control_tests |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | Apache License 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 | 2026-02-11 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Nathan Dunkelberger
- Erik Holum
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
mujoco_ros2_control_demos
Demonstration tutorials for the mujoco_ros2_control package. This package provides ready-to-use tutorials that show how to use MuJoCo with ros2_control.
Tutorials
This package includes 4 progressive tutorials demonstrating different aspects of MuJoCo ros2_control integration.
Tutorial 1: Basic Robot
The simplest setup - launches a two-link arm with position controllers using a pre-defined MJCF model.
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py
Key concepts: Pre-defined MJCF loading, basic ros2_control integration, position control
Resources: demo_resources/scenes/scene.xml, demo_resources/robot/test_robot.xml
Tutorial 2: MJCF Generation at Runtime
Demonstrates generating MJCF models from URDF at runtime using the conversion script.
# Using external input files
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py
# Using mujoco_inputs embedded in URDF
ros2 launch mujoco_ros2_control_demos 02_mjcf_generation.launch.py use_urdf_inputs:=true
Key concepts: Runtime URDF→MJCF conversion, <mujoco_inputs> tags, external input files
Resources: demo_resources/mjcf_generation/test_inputs.xml, demo_resources/scenes/scene_info.xml
Tutorial 3: PID Control
Demonstrates PID controllers with motor actuators for velocity/effort control modes.
ros2 launch mujoco_ros2_control_demos 03_pid_control.launch.py
Key concepts: PID gain configuration, motor actuators, velocity/effort control
Resources: demo_resources/pid_control/test_robot_pid.xml, config/mujoco_pid.yaml
Tutorial 4: Transmissions
Demonstrates ros2_control transmissions with mechanical reduction ratios.
ros2 launch mujoco_ros2_control_demos 04_transmissions.launch.py
Key concepts: SimpleTransmission interface, mechanical reduction, actuator-to-joint mapping
Resources: Uses demo_resources/robot/test_robot.urdf with use_transmissions:=true
Combined Demo
For backward compatibility and combined feature testing:
ros2 launch mujoco_ros2_control_demos demo.launch.py
ros2 launch mujoco_ros2_control_demos demo.launch.py use_pid:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py use_mjcf_from_topic:=true
ros2 launch mujoco_ros2_control_demos demo.launch.py test_transmissions:=true
Headless Mode
All tutorials support headless mode:
ros2 launch mujoco_ros2_control_demos 01_basic_robot.launch.py headless:=true
Controlling the Robot
# Set joint positions (joint1, joint2)
ros2 topic pub /position_controller/commands std_msgs/msg/Float64MultiArray "data: [0.5, -0.5]"
# Control the gripper
ros2 topic pub /gripper_controller/commands std_msgs/msg/Float64MultiArray "data: [-0.02]"
# Monitor joint states
ros2 topic echo /joint_states
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| controller_manager | |
| joint_state_broadcaster | |
| mujoco_ros2_control | |
| mujoco_ros2_control_msgs | |
| position_controllers | |
| robot_state_publisher | |
| rviz2 | |
| xacro |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mujoco_ros2_control_tests |