Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

GitHub Actions Documentation License Nightly Benchmarks

MuJoCo Warp (MJWarp)

MJWarp is a GPU-optimized version of the MuJoCo physics simulator, designed for NVIDIA hardware.

MJWarp uses NVIDIA Warp to circumvent many of the sharp bits in MuJoCo MJX. MJWarp is integrated into both MJX and Newton.

MJWarp is maintained by Google DeepMind and NVIDIA.

Getting started

There are a few ways to jump into using MuJoCo Warp:

If you would like to train robot policies using MJWarp, consider using a robotics research toolkit that integrates it:

Installing

From PyPI:

pip install mujoco-warp

From source:

git clone https://github.com/google-deepmind/mujoco_warp.git cd mujoco_warp uv sync --all-extras

To make sure everything is working:

uv run pytest -n 8

If you plan to write Warp kernels for MJWarp, please use the kernel_analyzer vscode plugin located in contrib/kernel_analyzer. Please see the README there for details on how to install it and use it. The same kernel analyzer will be run on any PR you open, so it's important to fix any issues it reports.

Compatibility

The following features are implemented:

CategoryFeature
DynamicsForward, Inverse
TransmissionAll
ActuatorAll except PLUGIN
GeomAll
ConstraintAll
EqualityAll
IntegratorAll except IMPLICIT
ConeAll
CondimAll
SolverAll except PGS, noslip
Fluid ModelAll
Tendon WrapAll
SensorsAll except PLUGIN
FlexAll except flex-flex collisions, selfcollide, mjEQ_FLEXVERT, and mjEQ_FLEXSTRAIN
Mass matrix formatSparse and Dense
Jacobian formatDENSE only (row-sparse, no islanding yet)

Differentiability via Warp is not currently available.

Viewing simulations

Explore MuJoCo Warp simulations using an interactive viewer:

mjwarp-viewer benchmarks/humanoid/humanoid.xml

This will open a window on your local machine that uses the MuJoCo native visualizer.

Batch Rendering

MJWarp includes a high-throughput GPU batch renderer designed for simultaneous rendering of cameras across many parallel simulation worlds. The renderer uses ray-tracing to render MuJoCo primitives using Warp's BVH API.

Key capabilities:

  • Mesh rendering
  • Texture support
  • Heightfield rendering
  • Flex deformable rendering
  • Heterogeneous multi-camera support (different resolutions/FOV/intrinsics for each camera)
  • Lighting and shadow support

Benchmarking

Benchmark as follows:

mjwarp-testspeed benchmarks/humanoid/humanoid.xml

To get a full trace of the physics steps (e.g. timings of the subcomponents) run the following:

mjwarp-testspeed benchmarks/humanoid/humanoid.xml --event_trace=True

mjwarp-testspeed has many configuration options, see mjwarp-testspeed --help for details.

Benchmark rendering with:

mjwarp-testspeed benchmarks/primitives.xml --function=render

关于 About

GPU-optimized version of the MuJoCo physics simulator, designed for NVIDIA hardware.
mujoco-warpnvidia-warp

语言 Languages

Python75.6%
Jupyter Notebook23.5%
Shell0.7%
TypeScript0.2%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
1394
Total Commits
峰值: 129次/周
Less
More

核心贡献者 Contributors