Spacecraft Attitude Control Sizing (space-systems/adcs/attitude-control-sizing)
Use when the task is spacecraft attitude control actuator sizing: momentum wheel capacity for slews, detumble rate checks, and wheel momentum margin.
Domain quick reference
- Slew momentum: H = I * omega, where I is the spacecraft inertia and omega is the slew rate in radians per second.
- A momentum wheel must store the slew momentum with margin; typical project bands require 30 percent or more.
- Detumble: the post-separation angular rate must be reduced to within the allowed rate before pointing control.
- Attitude control design follows ECSS-E-ST-60 practice.
Workflow
- Collect spacecraft inertia and the commanded slew rate.
- Compute the required wheel momentum with slew_momentum_from_deg.
- Check the detumble rate with detumble_ok.
- Verify the wheel margin with wheel_margin_ok.
- Gate actuator selection on the margin verdict.
Pitfalls
- Mixing degrees per second with radians per second.
- Sizing the wheel to the nominal slew with no margin.
- Skipping the detumble check after separation.
Behavior contract (gate 3)
The slew momentum, detumble, and margin logic is exercised by the gate 3 contract test: scripts/test_attitude_control_sizing.py against scripts/attitude_control_sizing_logic.py (stdlib unittest, offline). Run: python3 scripts/test_attitude_control_sizing.py
Compliance
- Standards referenced, not reproduced: ECSS-E-ST-60 text is copyright ESA; the sizing here is common control physics, summary-only per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.