Brax ❤️ MuJoCo = MJX #409
Replies: 4 comments 9 replies
-
|
What's the relationship between Brax and MuJoCo XLA (MJX)? |
Beta Was this translation helpful? Give feedback.
-
|
Well done guys 🔥 |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the clarification! The future question is, as a user who wants to do robot simulation, should I choose Brax, or use MuJoCo directly? What are the key benefits that make users choose to use Brax? |
Beta Was this translation helpful? Give feedback.
-
|
How is MJX different from MuJoCo? Is MJX using Brax environments with an optimized MuJoCo backend? I have a custom MuJoCo model from https://github.com/google-deepmind/mujoco_menagerie/. Can one import and use it in Brax with the MJX backend? Finally, is dm_control then irrelevant with this new release? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi all,
🚨 Major announcement 🚨
Brax has joined forces with the MuJoCo authors, to develop a jax version of the MuJoCo simulator called MuJoCo XLA (MJX). MJX is a strictly more comprehensive and performant version of the Brax
generalizedpipeline. We've just released MuJoCo XLA in MuJoCo 3.0.Please check it out!
A bit of history
MJXsprang from a dawning realization that the algorithms employed in our generalized physics pipeline were more scalable than we had originally anticipated. Fun fact: we originally developedgeneralizedas a baseline for a paper, and we did not expect to actively develop it past publication. We were quite surprised when our metrics forgeneralizedsuggested that, with careful algorithm design, accelerators could significantly speed up even complex/sophisticated physics algorithms such as those used in MuJoCo!We still don't think Brax
generalizedorMJXare suitable for all rigid body simulation workloads, and we expound upon this a bit in 🔪 MJX - The Sharp Bits 🔪, but we are convinced at this point that it's useful for a significant core of real-world robotics tasks, so we're happy to share our tools with the outside world.It's been a real joy to work with the MuJoCo developers and we've learned a lot!
MJXfeatures many improvements over thegeneralizedpipeline - it not only supports more of the MuJoCo feature set thangeneralized(see this feature parity table) but it scales better across more scenes than Braxgeneralized. At this point we consider it more or less a strictly better implementation thangeneralized.What this means for Brax
Going forward we plan to support both Brax and
MJX, and see the world as follows:MJXin many circumstances, but is more challenging to transfer to real-world robotsMJXinto Brax as another physics pipelineMJXwill be the newgeneralizedand will continue to be developed, whilegeneralizedwill soon be deprecatedIn the coming months, we will make Brax import
MJXdirectly. We will make it easy to selectMJXas a pipeline, just likespring,pbd, andgeneralized. Once that's done, we will markgeneralizedas deprecated and encourage our users to use theMJXpipeline instead.Thanks to all of you for your helpful PRs, bug reports, and general comments - it makes this project that much more fun to work on! Onwards and upwards.
Beta Was this translation helpful? Give feedback.
All reactions