- Added <tendon> with spatial spring between tray and obj0 to enable stiffness inference
- Defined corresponding <site> elements for tendon attachment points
- Introduced <default> block to centralize geom and joint parameters (friction, solref, solimp, damping)
- Applied local solref, solimp, condim, margin, and friction to all geoms for stable soft contact behavior
- Set density and material properties for all dynamic objects (obj0–obj9, pusher)
- Applied consistent visual and physical material definitions
- Ensured all bodies have free joints for 6-DOF motion and interaction
The MuJoCo Python binding requires positional arguments in a specific order and format (NumPy arrays with shape (3,) or (3,1)), and crucially, you must pass the force and torque as NumPy arrays, not lists.