Changelog
Version 1.1.0 (The Big Migration)
This version moves MIMo from gym and the mujoco_py wrappers to gymnasium and MuJoCo’s own python wrappers. With this move come several breaking changes:
Swapping python wrappers means two key changes:
The
env.simattribute is gone. Instead, there are now two attributesenv.modelandenv.datawhich correspond quite closely to thesim.modelandsim.dataobjects from mujoco_pysome functions are no longer available. In particular,
model.body_name2idand similar functions are not available with the MuJoCo wrappers. Instead they have named access, i.e.model.body(id).name. See the MuJoCo Documentation for more details.Gym has ben replaced with Gymnasium throughout. The key changes due to this are listed below:
The step function now returns 5 values,
(obs, reward, done, trunc, info). The new value ‘trunc’, indicates if the episode has ended for any reason other than reaching a terminal state, such as a time limit. As a result, any code such asif done: env.reset()needs to be changed toìf done or trunc: env.reset().The reset function has also gained an extra return value. This needs to be caught to avoid potentially obscure unpacking errors.
obs = env.reset()->obs, _ = env.reset()will do.Rendering has changed significantly, depending on use case. If you wish to use the interactive window you can pass ‘render_mode=”human”’ to the constructor and then call
env.render(). If you want to render images from multiple different cameras, or use both an interactive window and also render arrays (for example to save as a video), you should use gymnasiums MuJoCoRenderer withimg = env.mujoco_renderer.render(render_mode="rgb_array", ...), similar to the old interface.
In addition to these changes there were also some adjustments to the actuation models to allow multiple to be attached to the same environment without conflicts.
Version 1.0.0 (Initial release)
First full release.
In addition to many, many small updates, this version brings two major changes that “complete” the initial release:
A new, five-fingered version of MIMo. This allows for experiments which require dexterous manipulation.
A system to handle actuation models, with three models/implementations to start with. The first is the Spring-Damper model from the conference version. The second is a new approach in which each actuator is modeled as two opposing, independently controllable “muscles”. Finally we have a positional model which allows locking MIMo into or moving him through defined poses.
The actuation systems come in a new package ‘mimoActuation’, which defines the interfaces and functions that actuation models must provide, similar to the sensory modules. Performance was also somewhat improved.
Version 0.1.0 (Paper release)
Conference paper version.