Choose contact geometry first
Visual detail need not all participate in contact. Spheres, boxes, and capsules suit regular parts; convex hulls can fill recesses; decomposition adds subshapes; multi-sphere fitting needs a continuous support envelope. Support for dynamic triangle meshes, SDFs, and kinematic bodies depends on backend and version. Rules from one engine cannot be assumed in another.
| Local experiment | Hold fixed | Observe |
|---|---|---|
| A resting roller | Mass, gravity, timestep | Settling and penetration |
| Slow wheel rotation | Friction, load, drive | Vertical oscillation, wheel speed |
| Chassis lateral motion | Wheel order, geometry, command | Direction, yaw, slip |
| Selected self-contact enabled/disabled | The same pose | Contact pairs and constraint cost |
Derive wheel signs from geometry
For chassis velocity (vx, vy, wz) and wheel center (xi, yi), the center velocity is (vx − wz·yi, vy + wz·xi). Project it onto the constraint direction defined by that wheel’s roller arrangement and divide by the effective radius. Wheel order, joint-axis signs, and roller mounting change the mapping. Test each wheel with a small command before checking forward, lateral, and rotational motion.
Rollers generally need passive rotation about their own axes. Fixing them rigidly or driving the wrong joint changes the contact constraint. A multi-sphere envelope with a periodically changing support radius can induce vertical oscillations despite a smooth visual mesh.
Official-source supplement: actuator choice matters
Isaac Lab distinguishes implicit physics-engine drives from explicit actuator models that compute applied efforts. Identical position targets and PD numbers need not produce identical closed-loop dynamics. MuJoCo documentation explains contact, constraint solving, and integration; record the backend, integrator, timestep, and constraint configuration separately.
Treat friction, damping, and solver iterations as controlled variables after diagnosing the problem. Exclude incorrect axes, initial penetration, and duplicate constraints first, compare collision geometry next, and tune solver settings last. Smaller timesteps increase cost; higher friction does not automatically remove vibration.
Acceptance criteria
Report contact error, vertical motion, velocity tracking, slip, and execution cost. Separate startup geometry processing from steady-state performance. A simplified navigation obstacle can coexist with detailed physical contact, but all representations need consistent transforms. These are experiment designs, not universal recommendations for sphere counts, friction, or iteration counts.