Robotic Systems

Robotic Systems · teaching-draft · v0.2.0

5. Constraint projection and drift

Aim

Relate multiplier forces to mass-weighted acceleration correction and discrete drift.

Time: about 120 minutes. Start with the linked lectures and the course notation contract. The reference program is complete and runnable; your work is to explain it, modify it, and test the results.

Run from this repository

uv sync --locked
uv run --locked python practices/p05-constraints/run.py

The program writes configuration, MuJoCo version, and metrics to outputs/p05-constraints/metrics.json. Experiments with a time history also write trajectory.csv. These are generated results and are not source material.

Use a separate configuration and output directory for each variation:

uv run --locked python practices/p05-constraints/run.py --config practices/p05-constraints/config.yml --output outputs/p05-constraints/baseline

Keep the original configuration as the baseline. Record all changes in your report; avoid changing several physical and numerical parameters at once.

Tasks

  1. Reproduce the unequal-mass Gauss projection analytically.
  2. Simulate a particle constrained to a circle with consistent initial conditions.
  3. Compare unstabilized and Baumgarte-stabilized constraint error.
  4. Sweep timestep and stabilization gains separately. Add a redundant constraint as a rank-deficiency experiment.

Expected checks

The unequal-mass projection returns [0.2, -0.2]. A tiny acceleration residual does not imply zero position drift. Large stabilization gains can make the numerical problem stiff.

Submission

Submit your YAML configuration, a short explanation of the equations and assumptions, labeled plots or numerical comparisons with units, and a paragraph explaining a failure or limitation. Include the exact run command. The weekly practice rubric awards 40% for correctness and checks, 30% for the controlled comparison, 20% for interpretation, and 10% for reproducibility.

Extension

Build a MuJoCo equality-constraint scene and vary compliance independently of solver tolerance. Do not equate soft constraints with exact rigid projection.

Reading

MIT multibody dynamics · MuJoCo computation