Advice on Penetration Issues with Plant–Robot Interaction in RL #2726
Unanswered
kankanzheli
asked this question in
Asking for Help
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Intro
Hello MuJoCo team,
I’m working on a reinforcement learning task where a robotic arm interacts with a plant-like object. To complete each action within a small number of simulation steps, I assign the arm joints their target velocities at the start of each new action and then use a low-level controller (via ctrl) to maintain that velocity over the specified number of steps. I also give the robot higher mass to prevent noticeable slowdown from collisions.
The plant model consists of many thin cylindrical rods (1.5 cm–4 cm diameter), connected by ball joints with stiffness and damping to simulate bendable and springy stems. My problem is penetration during simulation.
To mitigate this, I significantly increased the number of simulation steps per action and added the following default attributes (only on the robot, not the plant):
My setup
mujoco 3.30
python 3.10
ubuntu 22
My question
After these changes, the softer thin stems (with low joint stiffness and damping) show much better collision behavior with reduced penetration. However, their rebound force is now very weak—they return to their initial positions much more slowly than realistic. Moreover, the stiffer stems near the root still consistently penetrate. I suspect this happens because, after bending, the collision push and joint spring force cancel out—or even that the spring force dominates—causing the plant near the root to move further inward and exacerbating penetration.
In your experience, what strategies or parameter adjustments should I consider to resolve this issue more effectively? Would further increasing solref and solimp help with penetration, or would that reduce realism or destabilize the simulation?
Thank you very much for any guidance!
Minimal model and/or code that explain my question
here is my miniman model
the mesh files are here
joint.zip
control code:
Confirmations
Beta Was this translation helpful? Give feedback.
All reactions