Changelog#

Release v1.1.0 (2026-05-08)#

General#

  1. The _step_callback of the BasicMagBotSingleAgentEnv now returns the possibly modified action instead of None.

  2. Added support for Python 3.14

  3. The StateBasedGlobalPushingEnv and all related pushing environments, such as StateBasedPushBoxEnv, StateBasedPushTEnv, StateBasedPushLEnv, and StateBasedPushXEnv now also support the rotation of the movers around the z-axis (\(\gamma\)-rotation) to establish more stable contacts with the object. It is possible, but not necessary, to specify a limit for the \(\gamma\)-rotation.

Performance#

  1. Added spatial hashing for mover-mover collision detection.

  2. Precompute per-tile wall-segment lookup table for wall collision checks.

  3. Added fast paths for uniform mover sizes and complete tile layouts in qpos_is_valid.

  4. Cached episode-level Shapely polygons in StateBasedGlobalPushingEnv to avoid rebuilding them on every step.

  5. Removed scipy dependency and optimize rectangle vertex calculation in geometry_2D_utils.

Bug Fixes#

  1. Fixed wrong mover bumper mass and corresponding examples in the documentation

  2. Fixed wrong gainprm in all RL environments

  3. Ensured correct maximum dynamics of the actions (RL environments). This is fixed by using the _step_callback.


Release v1.0.3 (2026-03-25)#

General#

  1. Fixed bug in StateBasedGlobalPushingEnv-v0

  2. Updated RL examples


Release v1.0.2 (2026-02-27)#

General#

  1. Added the 6D-Platform MagBot (SixDPlatformMagBotsAPM4330)

  2. Added tutorial on how to add MagBots to custom environments

  3. Added example environments with MagBots (SixDPlatformMagBotApplicationExampleEnv and SixDPlatformMagBotExampleEnv)


Release v1.0.1 (2025-11-24)#

General#

  1. Used MuJoCo functions in MoverImpedanceController instead of scipy.spatial.transform.Rotation (better performance, but scipy.spatial.transform.Rotation is not completely replaced)

  2. Added benchmark environments

  3. Added StateBasedPushXEnv-v0 and StateBasedPushLEnv-v0

  4. Updated throughput calculation in pushing environments and update benchmark results accordingly


Release v1.0.0 (2025-11-08)#

General#

  1. Added the basic environments: BasicMagBotEnv, BasicMagBotSingleAgentEnv, BasicMagBotMultiAgentEnv

  2. Added the following example environments for trajectory planning and object manipulation: LongHorizonGlobalTrajectoryPlanningEnv-v0, StateBasedStaticObstaclePushingEnv-v0, StateBasedGlobalPushingEnv-v0, StateBasedPushBoxEnv-v0, StateBasedPushTEnv-v0

  3. Added a MoverImpedanceController that solves a position and orientation task

  4. Added the MujocoOffScreenViewer: an extension of the Gymnasium OffScreenViewer that allows to also specify the groups of geoms to be rendered by the off-screen renderer

  5. Added the MujocoViewerCollection: a manager for all renderers in a MuJoCo environment

  6. Added the Matplotlib2DViewer: a simple viewer that displays the tile and mover configuration together with the mover collision offsets for debugging and analyzing planning tasks

  7. Added auxiliary functions for MuJoCo, collision checking and rotations

  8. Added benchmarks and latest results for trajectory planning and object pushing

  9. Added tutorials and examples on how to use MagBotSim