Run dynamics validation and smoke tests on a robosuite robot XML. Use when porting robots, tuning dynamics, or after any XML/physics changes.
Run the dynamics validation toolkit on a robot. This catches:
Find the robot XML: If $ARGUMENTS[1] is provided, use that path. Otherwise look for the cached XML at ~/.cache/zombiesnack/robosuite/robots/$ARGUMENTS[0]/robot.xml, or the source in src/simulation/robosuite_sim/.
Determine joint names and init_qpos: Read the robot's *_robot.py registration file to find _INIT_QPOS and the joint names from the XML.
Run dynamics validation:
uv run python -m simulation.robosuite_sim.tools validate \
--xml <xml_path> \
--joints <comma-separated-joint-names> \
--init-qpos="<comma-separated-values>"
uv run python -m simulation.robosuite_sim.tools smoke-test --robot $ARGUMENTS[0]
solver_stability FAIL → equality constraints incompatible with robosuite's impratio=20; simplify grippergravity_stability FAIL → check masses, armature, damping valuesmass_sanity FAIL → replace placeholder inertias with realistic estimatesactuator_response FAIL → increase ctrlrangeosc_movement FAIL → tune kp, output_max, damping for OSC controller