Problem Description
I am modeling a two-wheel rocker–bogie rover suspension for simulation in Isaac Sim. As expected, URDF requires a strict tree structure and does not support closed-loop kinematic chains. However, the rocker–bogie mechanism contains a passive differential bar that mechanically enforces the constraint:
θL+θR=constant
In the real mechanism, this differential:
-
Couples the left and right rocker rotations
-
Transfers torque between rockers
-
Distributes load symmetrically
Because URDF does not allow closed loops (a link cannot have multiple parents), I currently model the robot as a tree:
base_link
├── left_rocker_joint (passive revolute)
│ └── left_bogie_joint
└── right_rocker_joint (passive revolute)
└── right_bogie_joint
The mechanical differential bar is omitted.
Core Question
What is the recommended way in Isaac Sim to accurately simulate the rocker differential behavior while keeping the URDF articulation tree valid?
Additional Context
-
The rocker joints are passive (no motors).
-
The rover is intended for physically accurate mobility simulation (not just navigation/SLAM).
-
I want to preserve realistic load transfer and suspension behavior.
-
I am aware that many simplified rover URDF models omit the differential entirely, but I would like to understand the proper high-fidelity modeling approach within Isaac Sim.
If there is documentation or example projects demonstrating this pattern, I would appreciate references.