Robotic Systems

Robotic Systems · teaching-draft · v0.2.0

TH2: Engines and contact

TH2: engine dynamics, constraints, and contact

Weight: 25%. Suggested release: after week 5. Estimated effort: 8–12 hours.

Question

Which differences in simulated motion come from physical assumptions, and which come from numerical settings?

Required work

  1. Build or adapt a small articulated MuJoCo model with explicit masses, inertias, joints, collision geometry, and actuator semantics.
  2. At a contact-free state, check M symmetry/positive definiteness, reconstruct M columns from inverse-dynamics differences, and verify the force balance. Explain passive forces and any Cartesian applied loads.
  3. Add one equality constraint. Compare constraint position error, velocity error, and acceleration residual. Relate the result to the exact multiplier or Gauss projection in the notes, while explaining the engine's compliance.
  4. Add a contact experiment with a simple analytical reference, such as a translating sliding block. Measure penetration, normal support force, and motion.
  5. Perform two controlled sweeps: one physical/model parameter such as friction or compliance, and one numerical parameter such as timestep or solver tolerance. Do not vary them simultaneously in the main comparison.

Interpretation

A smaller penetration is not automatically a more faithful physical model. Distinguish geometric contact candidates from active force constraints. Convert contact-frame wrenches before combining them in another frame. Explain force versus impulse units.

An optional comparison with Drake or another engine can enrich the study. State differences in contact models and unsupported features; do not silently simplify one model and call the trajectories equivalent.

Rubric

  • 25%: model and force-accounting correctness.
  • 20%: independent dynamics API checks.
  • 20%: equality-constraint analysis.
  • 25%: contact sweeps and physical/numerical interpretation.
  • 10%: reproducible scripts, configs, and source attribution.

Submit code, model files, parameter configurations, numerical outputs, and a report of at most six pages. Include one failure or mismatch. The reference practice results alone are insufficient without your additional scene and controlled experiments.