Does Isaac Gym or the underlying simulation support robotic systems with closed-loop constraints defined by mechanisms (not the ground contact constraints)? Such as Delta manipulator robot or legged robots with closed-loop mechanism (passive springs etc). Thank you
Hello!
Unfortunately, we don’t currently have a way to specify closed loop constraints in Isaac Gym. Such constraints are supported by the physics engines themselves, but we just don’t have an API that exposes that currently.
One workaround could be to try and use fixed tendons or you could try to manually apply forces to enforce the constraints, though that’s not likely to be very stable because it happens outside of the solver.
The positive news is that we already do support closed loop constraints in Omni Gym, but it’s not released yet.
Thank you very much!
You are right, it would be best to link this feature from Omni to the Isaac Gym, rather than calculating the forces outside the solver. May I know any release plans for adding this feature and API into the Isaac Gym? Thank you!
Can you provide any pointer to the support of closed-loop constraints in Omni Gym? Thanks!
Any updates on the closed-loop constraint support?
Summary for the closed-loop link compatibility
URDF/MJCF: No native support. → Requires additional constraints
Isaac Sim/USD: Native support doc.
However, it appears that constraints and .usd are not supported in Isaac Gym yet?
Hello @lwawrzyniak, since it is two years later now, I would like to know if there is some more news about the closed kinematic loops? Is there now an option that would enable such closed kinematic loop robots in IsaacGym?
Also what is the mentioned Omni Gym about? What is the difference between Isaac Gym and Omni Gym?
Thank you kindly for your response,
Andrej
I have the same question, could anyone give me an answer?
The closed loop kinematics chain is simulated well in the current Orbit release. Note that it might be necessary to do it manually in the isaac sim app and save your model as usd. Otherwise you might need to add the closed loop into your URDF programatically at runtime.
Notes for the closed loop simulation:
- its important that you step the simulation with small enough physics step (usually called
sim_dt
, i.e. 0.005, or even 0.001) - its important that you simulate the articulation with enough solver_position_iteration_count (more than 8, default 4) and solver_velocity_iteration_count (more than 1, default 0)
- Its important that one of the joints in the closed kinematic loop is excluded from articulation (i.e. is only passive and moves according to other physical restrictions)
To disambiguate the different NVIDIA tools:
There were multiple versions of isaac sim or repos that used isaac sim:
- Isaac Gym Preview (had standalone IsaacSim minimal instalation with limited API)
- Omni Isaac Gym Environments - repository built on Isaac Sim installation through Omniverse (maybe already deprecated)
- Isaac Orbit - repository built on Isaac Sim installation through Omniverse. This one resembles the original Isaac Gym Preview the closest. (Deprecated in favor of Isaac Lab)
- Isaac Lab - refactored Isaac Orbit, current release, state of the art as of July 2024.