|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |
Launch files
Messages
Services
Plugins
Recent questions tagged kangaroo_mujoco at Robotics Stack Exchange
|
kangaroo_mujoco package from kangaroo_simulation repokangaroo_mujoco kangaroo_simulation |
ROS Distro
|
Package Summary
| Version | 2.5.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/pal-robotics/kangaroo_simulation.git |
| VCS Type | git |
| VCS Version | humble-devel |
| Last Updated | 2026-06-26 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sergi de las Muelas
Authors
kangaroo_mujoco
MuJoCo simulation package for the Kangaroo robot. Provides pregenerated MJCF
model variants and the launch infrastructure to run them under
mujoco_ros2_control.
Contents
models/ Pregenerated MJCF model variants
assets/
full/ Shared visual mesh pool (all .obj files live here)
mjcf_data_<variant>/
mujoco_description_formatted.xml Runtime MJCF (loaded by the launch file)
mujoco_description.xml Intermediate MJCF (not loaded at runtime)
robot_description_formatted.urdf Source URDF
assets/
full -> ../../assets/full Symlink to the shared mesh pool
decomposed/ Per-variant convex-collision meshes
scripts/
publish_mjcf.py Latched ROS 2 publisher for a pregenerated MJCF
consolidate_model_assets.py Tool to deduplicate visual meshes across variants
test/
test_model_assets.py Regression tests for the consolidated asset layout
Model variants
Each variant is named mjcf_data_{arm_type}_{end_effector_right}_{end_effector_left}_{feet_type}_{world_type}.
Currently pregenerated variants:
| Directory | Arm | End-effectors |
|---|---|---|
mjcf_data_5dof_RH8D_RH8D_fixed_empty |
5-DoF (fixed ankle type) | RH8D dexterous hands |
mjcf_data_4dof_fake-forearm_fake-forearm_fixed_empty |
4-DoF (fixed ankle type) | Fake forearm stubs |
mjcf_data_no-arm_no-end-effector_no-end-effector_fixed_empty |
None (fixed ankle type) | None |
Consolidated asset layout
All visual .obj meshes live in a single shared pool at models/assets/full/.
Each variant’s assets/full is a symlink pointing at that pool:
models/
assets/
full/ <-- one copy of every visual mesh
d435/d435.obj
torso_link/torso_link.obj
arm1_link/arm1_link.obj
...
mjcf_data_5dof_RH8D_RH8D/
assets/
full -> ../../assets/full <-- symlink (no per-variant copy)
decomposed/ <-- real dir, collision meshes only
mjcf_data_4dof_fake-forearm_fake-forearm/
assets/
full -> ../../assets/full
decomposed/
...
This avoids triplicating ~55 MB of identical mesh data. The decomposed/
convex-collision sets are intentionally kept per-variant because the number
of collision pieces differs across variants.
After regenerating a model variant
The upstream generator (mujoco_ros2_control’s robot_description_to_mjcf.sh)
writes a fresh per-variant assets/full/ directory, replacing the symlink.
After regeneration, restore the shared layout by running the consolidation
script (see below).
Consolidating model assets
What the script does
scripts/consolidate_model_assets.py performs four idempotent steps:
-
Verify — MD5-scans all
assets/full/trees, reports duplicated files and aborts if any same-named file has different content across variants (conflict guard). -
Build shared pool — merges all variant
assets/full/trees intomodels/assets/full/(no-clobber, lossless union). -
Install symlinks — replaces each variant’s
assets/full/directory with a symlink../../assets/full. -
Fix stale paths — patches any
<compiler meshdir="/tmp/...">inmujoco_description.xmlfiles back to the correct relativeassets/.
Usage
```bash
Report duplicates and conflicts only (read-only):
python3 scripts/consolidate_model_assets.py –verify
Preview what would change without touching anything:
python3 scripts/consolidate_model_assets.py –dry-run
File truncated at 100 lines see the full file
Changelog for package kangaroo_mujoco
2.5.0 (2026-06-26)
- Merge branch 'improve/ankle_fusion' into 'humble-devel' Improve ankle inertia fusion See merge request robots/kangaroo_simulation!20
- Add collision exclude between knee and ankle link
- Add fixed base mujoco simulation
- Remove duplicate density setting
- Refine the collision capsules for the new covers
- Add the capsules for the new feet with covers
- Update to new ankle configuration data
- Merge branch 'add/fixation_type/folder_naming' into 'humble-devel' Add fixation type to the folder naming See merge request robots/kangaroo_simulation!19
- Add fixation type to the folder naming
- Contributors: Sai Kishor Kothakota
2.4.0 (2026-06-23)
- Merge branch 'add/stairs' into 'humble-devel' Stairs world for lower body with detachable feet See merge request robots/kangaroo_simulation!18
- Stairs world for lower body with detachable feet
- Merge branch 'refine/models' into 'humble-devel' Refine models + Add lower body with detached foot See merge request robots/kangaroo_simulation!17
- Add lower body with detached foot precompiled simulation
- Remove pal_mujoco_scenes dependency
- Set --no-fuse for only fixed fixation type
- Set density to zero for the foot capsules
- Merge branch 'add/readme' into 'humble-devel' Add README to the package See merge request robots/kangaroo_simulation!16
- rename the script
- fix the generate decomposed pregenerated mjcf script
- Update README
- Merge branch 'add/worlds' into 'humble-devel' Adding world argument See merge request robots/kangaroo_simulation!15
- Adding world argument World suffix + launch option. Only works with pregenerated models. Will fallback gracefully to generating with empty if a given world name doesn't exist
- Merge branch 'add/cached_models_with_feet_type' into 'humble-devel' Add feet type to the cached models folder naming See merge request robots/kangaroo_simulation!14
- Add feet type to the cached models folder naming
- Merge branch 'add/density/foot_capsules' into 'humble-devel' Set foot capsules density set to zero See merge request robots/kangaroo_simulation!13
- Set foot capsules density set to zero
- Adding 5dof with RH8D pregenerated
- Contributors: Sai Kishor Kothakota, oscarmartinez, Óscar Martínez
2.3.0 (2026-06-21)
- Merge branch 'add/imu_args' into 'humble-devel' Add IMU args to the mujoco simulator See merge request robots/kangaroo_simulation!11
- Add IMU args to the mujoco simulator
- Contributors: Sai Kishor Kothakota
2.2.1 (2026-06-09)
- Merge branch 'fix/ankle_ft_missing_args' into 'humble-devel' Add missing ankle ft sensor arguments See merge request robots/kangaroo_simulation!10
- Add conditioning to pal_mujoco_scenes dependency
- Add missing ankle ft sensor arguments
- Contributors: Sai Kishor Kothakota
2.2.0 (2026-06-09)
- Merge branch 'update/models' into 'humble-devel' Update kangaroo models of 4DoF and lower body to local frozen mjcfs See merge request robots/kangaroo_simulation!9
- Add a script to publish the mujoco description if it is already generated
- Remove the bodies of the torso cameras
- Use capsules for the foot contact
- Add --cache-dir arg to reuse the generated mjcfs
- make meshdir, texturedir and assetdir relative paths
- Add the robot with configuration of lower body only
- rename the cached folder to mjcf_data_4dof_fake-forearm_fake-forearm
- Remove leg_type argument assuming is always leg
- Add new arguments as end_effector_<side> and feet_type
- Contributors: Aina, Sai Kishor Kothakota
2.1.1 (2026-04-23)
- Add missing dependency mujoco_ros2_control
- Contributors: Noel Jimenez
2.1.0 (2026-02-25)
- apply format
- removed unnecessary imports
- updated model
- set motor actuator default
- Enable topic publishing and also add emulate_tty for better noticing of logs
- Set back to 2kHz
- added test model and config to rl inference
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake_auto | |
| kangaroo_description | |
| kangaroo_bringup | |
| kangaroo_controller_configuration | |
| mujoco_ros2_control | |
| rclpy | |
| std_msgs | |
| launch | |
| launch_pal | |
| launch_ros | |
| ament_cmake_pytest |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| kangaroo_simulation |