MjLab Upkie
SoftwareAn 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
- 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
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.
- 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.
What you need
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.
- 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
- 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.
- 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.
| Layer | Availability / license |
|---|---|
| software | available · Apache-2.0 Task implementation and standalone playback source are licensed at root. [5] |
| model weights | available · License not fully assessed Provided .pt and .onnx payloads inspected at container/header level only; no separate weight-specific grant identified. [6] |
| documentation | available · 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.
- S001 Project scope and upstream workflows
Revision, date & where cited
MarcDcls/mjlab_upkie contributors · github.com · revision
d789578· README.md at · Accessed Oct 25, 2026
Used for: Overview, Is this for you?, What you need, Installation & first result and 4 more - S002 Package version and dependency constraints
Package 1.1.0 requires Python >=3.12,<3.14, mjlab==1.3.0 and warp-lang==1.12.0; README citation 1.0.1 is not the package version.Revision, date & where cited
MarcDcls/mjlab_upkie contributors · github.com · revision
d789578· pyproject.toml at · Accessed Oct 25, 2026
Used for: Is this for you?, What you need, Installation & first result, Match the environment and policy format - S003 Velocity task implementation and registration
Real task/configuration source registers Mjlab-Velocity-Upkie, with observations, actions, commands, rewards and training parameters.Revision, date & where cited
MarcDcls/mjlab_upkie contributors · github.com · revision
d789578· src/mjlab_upkie/tasks/upkie_velocity_env_cfg.py at · Accessed Oct 25, 2026
Used for: Overview, Is this for you?, What you need, Hardware, models & data and 1 more - S004 Standalone CPU MuJoCo policy playback
Standalone playback uses default.onnx, ONNX checker and ONNX Runtime; it is distinct from MjLab .pt playback.Revision, date & where cited
MarcDcls/mjlab_upkie contributors · github.com · revision
d789578· sim.py at · Accessed Oct 25, 2026
Used for: Overview, Is this for you?, What you need, Installation & first result and 2 more - S005 Apache-2.0 project license
Root project declares Apache-2.0; external CAD, third-party assets and model weights require scope qualification.Revision, date & where cited
MarcDcls/mjlab_upkie contributors · github.com · revision
d789578· LICENSE at · Accessed Oct 25, 2026
Used for: Is this for you?, Separate simulation from the physical demonstration, Source files and licenses - S006 Model and checkpoint payload inventory
Robot model files and .pt/.onnx policy payloads are supplied; archive presence is not validation of policy behavior or separate weight rights.Revision, date & where cited
MarcDcls/mjlab_upkie contributors · github.com · revision
d789578· src/mjlab_upkie/robot/upkie at · Accessed Oct 25, 2026
Used for: Overview, Is this for you?, Hardware, models & data, Match the environment and policy format and 2 more
Correction guidance · Discussion is not enabled · Profile format 0.7.0-draft.5