Open Source RoboticsRobots, software & learning

MjLab Upkie

Software

An Upkie-specific MjLab velocity-learning environment with supplied policies and a separate CPU MuJoCo playback path; learned-policy deployment to hardware remains future work. [1] [3] [4] [6]

Installation & first result →Official websiteGetting started

For
Robotics developers studying Upkie control and simulation-based reinforcement learning [1] [3]
Hardware
Upkie-derived model [1]
Source rights
Some licenses are unresolved. Review licenses
Unknowns
operating system not fully established. Review gaps

Source researched · Not tested by us
Sources checked · Research details

Licenses & related hardware
License
Apache-2.0 · license not fully assessed for model weights · Details by part

Requirements · Research details and dates

On this page

Overview

MjLab Upkie supplies an Upkie-specific velocity-learning task, robot model and policy artifacts. It offers MjLab training/playback plus a separate CPU-supported MuJoCo playback program. Its distinct contribution is that simulation workflow; this is a robotics-project entry linked conceptually to Upkie hardware, rather than a second claim that the original robot has been reproduced. [1] [3] [4] [6]

Is this for you?

Workflows
  • Run Mjlab-Velocity-Upkie with the supplied .pt checkpoint.
  • Train the registered velocity task using MjLab.
  • Use sim.py with an ONNX policy for standalone CPU-supported playback.

Editorial assessment from inspected sources.

[1] [3] [4] · Editorial assessment

Known limitations
  • Learned velocity-policy hardware deployment and a standup task are described as future work.
  • Pyproject version 1.1.0 differs from README citation 1.0.1; this profile pins a commit.
  • MjLab GPU playback and standalone CPU MuJoCo playback use different policy formats and dependencies.
  • Root Apache-2.0 declaration does not independently resolve linked Onshape CAD, third-party component meshes or separate weight rights.
  • No environment installation, policy training/inference or robot operation was performed.

Editorial assessment from inspected sources.

[1] [2] [3] [4] [5] [6] · Editorial assessment

What you need

Languages / runtimes
  • Python

[3] [4]

Dependencies
  • Python >=3.12,<3.14
  • mjlab==1.3.0
  • warp-lang==1.12.0
  • ONNX Runtime and standalone ONNX model tooling

[2] [4]

Host computer

NVIDIA GPU for MjLab environment/training; separate standalone MuJoCo playback supports CPU.

[1] [4]

Compute for the workload
  • NVIDIA GPU for MjLab training/playback
  • CPU-supported MuJoCo route requires default.onnx and its runtime dependencies; no measured requirements or operating cost established.

Editorial assessment from inspected sources.

[1] [2] [4] · Editorial assessment

Installation & first result

Open the upstream getting-started guide [1]

  • Create a compatible Python environment and run uv sync.
  • Begin with the supplied velocity task/policy in simulation.
  • Use the ONNX artifact for sim.py; do not pass the PyTorch checkpoint to that route.

Editorial assessment from inspected sources.

[1] [2] [4] · Editorial assessment

Installation

Use a compatible Python 3.12/3.13 environment and uv sync; respect pinned MjLab 1.3.0 and Warp 1.12.0.

Editorial assessment from inspected sources.

[2] · Editorial assessment

Hardware, models & data

Supported hardware
  • Upkie-derived model; physical demonstration uses the existing Upkie MPC balancer, not the learned velocity policy

[1]

Inputs and outputs

Commands and simulated joint/IMU observations enter the velocity task; policy actions command four leg joints and two wheel joints.

Editorial assessment from inspected sources.

[3] [4] · Editorial assessment

File formats
  • MuJoCo XML
  • STL meshes
  • PyTorch .pt checkpoint
  • ONNX policy

[4] [6]

Evaluation

Source inspection only. Reported physical balancing uses Upkie MPC; learned velocity-policy transfer and standup are described as future work.

Editorial assessment from inspected sources.

[1] · Editorial assessment

Project notes

Match the environment and policy format

This review pins d7895789a601943f78b3b9bcdc4def7b444f9913. The package metadata declares version 1.1.0, Python >=3.12,<3.14, MjLab 1.3.0 and Warp 1.12.0. Its README's citation still says 1.0.1. Use the pinned package constraints when attempting installation rather than treating the citation or the newest generic MjLab release as an equivalent environment. The documented installation begins with uv sync; we have not reproduced it. [1] [2]

The task is registered as Mjlab-Velocity-Upkie. Its implementation combines joint and inertial observations, previous actions and velocity commands, with task-specific action configuration and rewards. The README provides a supplied .pt checkpoint for MjLab playback and a training command using 2,048 parallel environments. The MjLab route requires a GPU; no training time, minimum GPU memory or measured operating cost is established here. [1] [3] [6]

The separate sim.py route uses an ONNX policy, with a default path ending in default.onnx. It loads the model through ONNX tooling and ONNX Runtime and drives a local MuJoCo model. That is a different path from giving MjLab its .pt checkpoint. The repository supplies both payload formats; we inspected the checkpoint container and artifact inventory without deserializing the PyTorch object or running either policy. [4] [6]

Separate simulation from the physical demonstration

The author's model changes Upkie's battery, IMU placement and some leg/body geometry, with a linked Onshape design and exported robot assets. The physical demonstration is described as balancing with the existing Upkie MPC controller. Deployment of the learned velocity policy to the real robot and a standup task remain future work in the reviewed README. Simulation disturbance handling is therefore not evidence that this learned policy has been reproduced on hardware. [1] [6]

The root project license is Apache-2.0. That declaration does not independently settle the linked CAD, every third-party component mesh or separate model-weight rights. This entry covers the inspectible task and playback source, while leaving those artifact boundaries explicit. No environment installation, policy inference/training or physical operation was performed. [1] [5] [6]

What we checked

Source research only; no fabrication, EDA import, firmware/controller compilation, environment installation, policy inference/training, numerical benchmark or physical robot testing. No affiliate links. No upstream media or CAD redistributed.

Not yet established

  • Requirements: operating system

Updates

Upstream last updated
Not established
Latest release
Not established
Profile updated
Oct 25, 2026
Sources last checked
Oct 25, 2026
Next review
Nov 25, 2026
Reviewed revision
d789578

Source files and licenses

Include as a distinct robotics simulation project for its Upkie velocity task, policy assets and standalone playback implementation. Upkie hardware and general MjLab are already catalogued; this project contributes a specific registered task and workflow, rather than a duplicate hardware listing. External CAD/mesh and policy-rights boundaries remain explicit.

LayerAvailability / license
softwareavailable · Apache-2.0
Task implementation and standalone playback source are licensed at root. [5]
model weightsavailable · License not fully assessed
Provided .pt and .onnx payloads inspected at container/header level only; no separate weight-specific grant identified. [6]
documentationavailable · Apache-2.0
README and package docs under root declaration; external media and CAD remain separate. [1]

Outside this entry’s scoped hardware/design or simulation contribution.

References

Each source links to the exact revision we read. “Used for” shows where this page relies on it.

Correction guidance · Discussion is not enabled · Profile format 0.7.0-draft.5

Change history