Repository navigation
v1.0.0 - Closed-loop detumbling convergence (M49)
What's new
Closed-loop detumbling convergence (M49)
The B-dot loop is now closed end to end, so the spacecraft actually detumbles in the YAMCS demo instead of reacting to a fixed field vector.
Rigid-body dynamics integrator
make_rigid_body_dynamics(): Euler's equation plus quaternion kinematics, propagating body rates and attitude with no external physics engine required- Rotates the orbital B-field into the body frame using the integrated attitude
- Starting from a 3 deg/s tumble, the B-dot controller converges to below 0.005 rad/s in about 5-10 minutes with default 3U CubeSat inertia
Demo and ground segment
scripts/demo_yamcs.pywires OrbitalEnvironment -> RigidBody -> Magnetometer -> MTQ -> RigidBody- New
TM(250,2)BodyState packet carriesaocs.body.omega_x/y/z/normto YAMCS early_orbit.opidisplay gains a live omega_norm readout and convergence trend chart- SRDB:
aocs.body.omega_*(0x20C0-0x20C3) andaocs.body.b_true_*
Tests
- 7 new unit tests: angular momentum conservation, detumbling convergence, quaternion normalisation, B-field rotation
Housekeeping
- Em-dashes replaced with
-across docs, source, tests and YAML
Implements: SVF-DEV-181