Replies: 3 comments 4 replies
-
Hi @vyeevani , we will have an announcement in the coming weeks that makes brax more interoperable with MuJoCo, stay tuned on the announcements page! |
Beta Was this translation helpful? Give feedback.
-
Are you able to comment on how performant these more complex models will be in brax? I have recently tried simulating the Franka Panda manipulator in Brax by taking the Menagerie XML and making it Brax compliant. While the model loaded successfully, jitting the step and reset functions were incredibly slow (on my M1 Macbook) and I got several warnings such as
This surprised me as the Google Barkour experimental model JITs quite happily, as do the complex Gym-based environments like the Humanoid. Do you see there being future performance improvements in this setting, or is it just a consequence of the more complex kinematic chain and collision models? |
Beta Was this translation helpful? Give feedback.
-
Hi @JoeMWatson , I'm somewhat surprised Google Barkour JITs happily. Generally, Brax does not scale well with the # of contacts, esp. if they are convex<>convex collisions. I suggest turning off self-collisions for the panda arm (or if you need self-collisions, replacing the meshes with primitives like capsules OR just using joint limits if possible). Panda may be more expensive to JIT if the meshes are larger. Check out the fork of Google Barkour here, which only keeps feet<>plane contacts, sufficient for learning joystick policies |
Beta Was this translation helpful? Give feedback.
-
One of the most attractive things to me about brax is the possibility of highly parallelized sim-to-real applications for robotics. However, one of the issues that I'm facing right now that mujoco-menagerie models require a great deal of handholding and editing be importable into Brax due to specific things not being supported in Brax.
The list of things that I've currently faced are:
It would be great to have a "permissive" mode for mjcf loading in brax.io to handle loading files that may have some surface level violations like the above. (The last one is a bit more tricky but I figure capsule and cylinder aren't terribly far off)
I've got a hacky script to handle this (tested working on unitree go1 from mujoco menagerie):
Beta Was this translation helpful? Give feedback.
All reactions