All notable changes to this project will be documented in this file.
- Added
utils.get_subtree_body_ids
to get all bodies belonging to the subtree starting at a given body.- Example usage of this function can be found in the ALOHA example script where it is used to selectively apply gravity compensation torques to the left and right arm bodies.
- Improved ALOHA example script.
- Changed
inf
tomujoco.mjMAXVAL
for unbounded joint limits inConfigurationLimit
.
- Fixed a bug in
ConfigurationLimit
where the indices of the limited DoFs were storing the wrong values. - Changed
print
statement inConfiguration::check_limits
tologging.warning
.
- Examples:
- Mobile Kinova loaded from a module-oriented MJCF description: mobile_kinova.py (thanks @Zi-ang-Cao)
- Removes the nested class naming convention in tidybot.xml, allowing for seamless swapping of end-effectors.
- Mobile Kinova with LEAP hand: mobile_kinova_leap.py (thanks @Zi-ang-Cao)
- The example scripts also includes updated recommendations for controlling the mobile base, aiming to minimize unnecessary rotation.
- UFactory xArm7 with LEAP hand: xarm_leap.py
- Unitree H1: humanoid_h1.py
- Mobile Kinova loaded from a module-oriented MJCF description: mobile_kinova.py (thanks @Zi-ang-Cao)
- Relative frame task.
- More examples:
- Mobile manipulator: mobile_tidybot.py
- Bimanual manipulator: aloha.py
- Arm + dexterous hand: arm_hand_iiwa_allegro.py
- Posture task cost can now be a scalar or a vector. Vector costs are useful for specifying different costs for different dofs.
- Documentation.
- Damping task.
- Restrict numpy version to < 2.0.0 for compatibility with
osqp
solver inqpsolvers
. - README touchup.
Initial release.