How tamastran/mjlab_mpopi works
mjlab is a GPU-accelerated robotics simulation and reinforcement-learning framework built around MuJoCo Warp. The main workflow is to select a registered task, configure a robot and environment, train or evaluate a policy through the manager-based environment, and observe simulation results. Environment steps coordinate actions, simulation, observations, rewards, events, and episode handling. The tree and README document additional velocity, motion-tracking, and manipulation tasks, plus terrain generation and sensor support. Some links reflect documented framework roles; unsampled implementation details are not expanded.
Main entry points: manager_based_rl_env.py Manager-based env · train.py Train / play CLI · scene.py Scene and entities · runner.py RL runner
Components 22
Task and policy workflow
- Train / play CLI
src/mjlab/scripts/train.py - Task registry
src/mjlab/tasks/registry.py - Task configurations
src/mjlab/tasks
Environment managers
- Manager-based env
src/mjlab/envs/manager_based_rl_env.py - Action manager
src/mjlab/managers/action_manager.py - Command manager
src/mjlab/managers/command_manager.py - Observation manager
src/mjlab/managers/observation_manager.py - Event manager
src/mjlab/managers/event_manager.py - Rewards and metrics
src/mjlab/managers/metrics_manager.py - Rollout recording
src/mjlab/managers/recorder_manager.py
Simulation and scene
- MuJoCo Warp sim
src/mjlab/sim/sim.py - Scene and entities
src/mjlab/scene/scene.py - Robot entities
src/mjlab/entity/entity.py - Actuator models
src/mjlab/actuator
Robotics capabilities
- Terrain generation
src/mjlab/terrains - Sensors and context
src/mjlab/sensor - Task MDP terms
src/mjlab/tasks - Simulation viewers
src/mjlab/viewer
RL runtime
- RL runner
src/mjlab/rl/runner.py - MPOPI algorithm
src/mjlab/rl/mpopi
Other components
- Engineer
- Weights & Biases
Connections 25
- Engineer → Train / play CLI: starts task
- Train / play CLI → Task registry: selects task
- Task registry → Task configurations: resolves config
- Task configurations → Manager-based env: configures
- Manager-based env → Scene and entities: initializes
- Manager-based env → MuJoCo Warp sim: steps physics
- Manager-based env → Action manager: loads manager
- Manager-based env → Command manager: loads manager
- Manager-based env → Observation manager: loads manager
- Manager-based env → Event manager: loads manager
- Manager-based env → Rewards and metrics: loads manager
- Manager-based env → Rollout recording: loads manager
- Scene and entities → Robot entities: contains
- Action manager → Robot entities: targets
- Robot entities → Actuator models: uses
- Scene and entities → Terrain generation: builds from
- Scene and entities → Sensors and context: provides context
- Observation manager → Task MDP terms: evaluates terms
- Command manager → Task MDP terms: updates commands
- Rewards and metrics → Task MDP terms: evaluates terms
- Train / play CLI → RL runner: runs training
- RL runner → Manager-based env: trains on
- RL runner → MPOPI algorithm: uses algorithm
- Train / play CLI → Simulation viewers: opens for play
- Train / play CLI → Weights & Biases: fetches checkpoint