Hi Isaac Sim team,
I am using isaacsim 4.5.0
I’m building a plant model whose stem is a chain of many small capsules joined by compliant articulation joints (variable stiffness along the length).
On top of the stem I want a leaf that can fold in two directions.
In MuJoCo I achieve this with four rigid parts:
part1 —(ball)→ part2 —(ball)→ part3 —(ball)→ part4
part4 —(distance-weld)→ part1 # closes the loop
The last distance joint makes the structure behave like a hinged ring: it bends about two axes but keeps a closed outline.
What I tried in Isaac Sim
- I created the same four capsules as links of the same reduced-coordinate articulation (parent chain 1-2-3-4).
- Links 1-2, 2-3, 3-4 are spherical joints with natural-frequency / damping-ratio settings (compliance works great).
- To close the loop I added a
PxDistanceJointbetween link 4 and link 1.
As soon as I press Play I get the runtime error
Articulation cannot contain a distance joint! (Please exclude it from articulation)
How to create a closed-loop (ring) leaf structure with rigid “weld” in Articulation? forums.developer.nvidia.com
What I have read so far
- PhysX articulations are strict trees and “cannot natively contain closed loops” 【docs】. nvidia-omniverse.github.ionvidia-omniverse.github.io
- The Omni-Physics docs say “closing loops is still possible by using a regular joint and marking it Exclude From Articulation.” docs.omniverse.nvidia.com
- Forum threads suggest the same, but some users report non-physical motion when the excluded joint detaches. forums.developer.nvidia.comforums.developer.nvidia.com
Questions
- Is ‘Exclude From Articulation’ + DistanceJoint still the officially supported way to close a ring?
Are there recommended solver settings (e.g.,solverPositionIterationCount ≥ 32) to keep the loop stable? forums.developer.nvidia.comforums.developer.nvidia.com - Would a FixedJoint flagged Exclude From Articulation be better than a DistanceJoint for this weld-like constraint?
- Is there a plan to allow loop joints inside PxArticulationReducedCoordinate in PhysX 5.x, or should I split the leaf into a second articulation and connect the two articulations with a rigid joint? nvidia-omniverse.github.io
- Any examples or USD snippets that demonstrate a small closed ring (or four-bar linkage) working inside Isaac Sim 2024.1+ would be very helpful.
Constraints / things already tried
- Internal self-collision is disabled for every link, so the error is purely joint-related.
- Global timestep must stay at 1 / 60 s (real-time RL training).
- Position iterations are currently 32; velocity iterations 8.
Thanks a lot for your guidance!