Overview
ReactionWheelStateEffector is a StateEffector you attach to a Spacecraft object to simulate one or more reaction wheels. The module integrates wheel spin states, applies motor torques from a command message, and feeds back the resulting angular momentum and gyroscopic torques into the spacecraft equations of motion.
Wheel models
Three fidelity levels are available via theRWModels enum:
| Enum value | Description |
|---|---|
BalancedWheels | Ideal wheels — no mass imbalance. |
JitterSimple | Simplified jitter model (scalar imbalance). |
JitterFullyCoupled | Full 6-DOF jitter coupling. |
Configuration parameters
Maximum allowed wheel angular acceleration [rad/s²]. Clamps derivatives to prevent numerical blow-up. Default:
1.0e6 rad/s².Log-warning threshold for large torque commands when the wheel operates in unlimited-torque mode [N·m]. Default:
10.0 N·m.Adding wheels
rwConfig is a RWConfigPayload (or a Python object wrapping it) that carries per-wheel properties:
Unit spin-axis vector in the body frame.
Wheel spin-axis moment of inertia [kg·m²].
Maximum motor torque [N·m]. Set to
-1 for unlimited torque.Initial wheel spin rate [rad/s].
Input messages
(Optional) Array of motor torque commands, one entry per wheel [N·m]. If not connected, all motor torques are zero.
Output messages
Array of current wheel spin rates [rad/s].
Per-wheel log messages containing spin rate, torque, and configuration data.