Changelog#
Version 1.1.1 (February 14, 2026)#
Added#
Added reward term visualization to the native viewer (toggle with
P).Added
DifferentialIKActionfor task-space control via damped least-squares IK. Supports weighted position/orientation tracking, soft joint-limit avoidance, and null-space posture regularization. Includes an interactive viser demo (scripts/demos/differential_ik.py).
Fixed#
Fixed
play.pydefaulting to the base rsl-rlOnPolicyRunnerinstead ofMjlabOnPolicyRunner, which caused aTypeErrorfrom an unexpectedcnn_cfgkeyword argument. Contribution by @griffinaddison.
Changed#
Removed
body_mass,body_inertia,body_pos, andbody_quatfromFIELD_SPECSin domain randomization. These fields have derived quantities that requireset_constto recompute; without that call, randomizing them silently breaks physics.Replaced
moviepywithmediapyfor video recording.mediapyhandles cloud storage paths (GCS, S3) natively.
Version 1.1.0 (February 12, 2026)#
Added#
Added RGB and depth camera sensors and BVH-accelerated raycasting.
Added
MetricsManagerfor logging custom metrics during training.Added terrain visualizer. Contribution by @mktk1117.
Added many new terrains including
HfDiscreteObstaclesTerrainCfg,HfPerlinNoiseTerrainCfg,BoxSteppingStonesTerrainCfg,BoxNarrowBeamsTerrainCfg,BoxRandomStairsTerrainCfg, and more. Added flat patch sampling for heightfield terrains.Added site group visualization to the Viser viewer (Geoms and Sites tabs unified into a single Groups tab).
Added
env_idsparameter toEntity.write_ctrl_to_sim.
Changed#
Upgraded
rsl-rl-libto 4.0.0 and replaced the custom ONNX exporter with rsl-rl’s built-inas_onnx().sim.forward()is now called unconditionally after the decimation loop. See When do I need to call sim.forward()? for details.Unnamed freejoints are now automatically named to prevent
KeyErrorduring entity init.
Fixed#
Fixed
randomize_pd_gainscrash withnum_envs > 1.Fixed
ctrl_idsindex error with multiple actuated entities. Reported by @bwrooney82.Fixed Viser viewer rendering textured robots as gray.
Fixed Viser plane rendering ignoring MuJoCo size parameter.
Fixed
HfDiscreteObstaclesTerrainCfgspawn height.Fixed
RaycastSensorvisualization ignoring the all-envs toggle. Contribution by @oxkitsune.
Version 1.0.0 (January 28, 2026)#
Initial release of mjlab.