Aim
Connect Newton–Euler and energy-based equations to conserved quantities.
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/p03-rigid-body/run.py
The program writes configuration, MuJoCo version, and metrics to outputs/p03-rigid-body/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/p03-rigid-body/run.py --config practices/p03-rigid-body/config.yml --output outputs/p03-rigid-body/baseline
Keep the original configuration as the baseline. Record all changes in your report; avoid changing several physical and numerical parameters at once.
Tasks
- Derive Euler's torque-free equations and predict the initial angular acceleration.
- Run the coupled quaternion/velocity integrator and plot energy and world-momentum drift.
- Inspect the independent point-mass arm model and test M symmetry and eigenvalues.
- Change timestep and compare invariant errors at equal final time.
Expected checks
The reference method conserves invariants approximately, with error decreasing under refinement. Quaternion normalization alone does not ensure correct momentum dynamics. The point-mass arm differs from the solid-link engine arm.
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
Perturb rotation about the intermediate principal axis. Explain the qualitative instability while checking that energy and momentum remain approximately conserved.