NaNs in qpos when rolling out muscle-driven arm26.xml with MJX and random actions. #2317
Open
2 tasks done
Labels
bug
Something isn't working
Intro
Hi!
I am a PhD student at the university of Tuebingen, I use MuJoCo for my research on musculoskeletal control.
Me and a group of other researchers are very excited about the support of muscle actuators in MJX.
We have tried using MJX with a simple musculoskeletal model (A single finger) in conjunction with brax, but we keep running into NaNs while training.
We went back to the provided arm26 model in the MJX Github repo.
While this model runs through in the provided testspeed.py file, it also produces NaNs as soon as we use random actions in the rollout loop.
I have created a standalone script that reproduces this behavior. We can improve stability with smaller timesteps and other settings, but we can almost always recover NaNs by just increasing the number of environments and the length of rollouts in the following script. The string model there is just a 1-to-1 copy of the arm26.xml model, contained in the MuJoCo Github code.
Are we missing something? Is this expected behavior?
CCing the involved researchers: @vikashplus @Balint-H @jamesheald
My setup
Hardware: Nvidia Geforce RTX 4080
What's happening? What did you expect?
The script produces NaNs in the model qpos after several rollout steps with random actions.
I would expect the provided parameters for this simple model to be stable under these conditions. We have tried to improve stability, but can almost always reproduce NaNs when running this script for long enough.
Steps for reproduction
Run the script I provided with
python test_script.py
On my system it produced NaNs in the qpos.
Minimal model for reproduction
I used the provided arm26.xml model.
minimal XML
Code required for reproduction
Confirmations
The text was updated successfully, but these errors were encountered: