Description
The Thruster Remainder Mapping Software converts thruster force requests into on-time commands suitable for pulsed thruster operation. The module implements the remainder accumulation method from [1], which improves pointing stability by accumulating sub-minimum pulse requests across control cycles rather than discarding them. This prevents time-step-dependent behavior when the requested impulse falls below the thruster’s minimum fire duration.
Example Use Cases
- RCS Firing Scheme: Convert torque-derived force allocations into thruster firing times for attitude control.
- Fine Pointing: Achieve smoother attitude control by accumulating small pulse requests that would otherwise be lost.
Module Implementation
On-Time Calculation
For each thruster, the required on-time is computed from the ratio of requested force to maximum thrust, scaled by the control period:
where is the desired thrust force, is the thruster’s maximum thrust, and is the simulation time step.
Remainder Accumulation
When the computed on-time is less than the minimum fire duration , the pulse cannot be executed. Instead of discarding this request, the module accumulates it as a fractional remainder:
On subsequent cycles, the accumulated remainder is added back to the on-time calculation:
When the total exceeds , a pulse is fired and the remainder is cleared.
Saturation Handling
If the requested on-time exceeds the control period (indicating the thruster cannot provide enough impulse), the on-time is set to a slight oversaturation:
This ensures the thruster fires continuously without blocking future commands as the dynamic state evolves.
Off-Pulsing Mode
In off-pulsing mode, thrusters are nominally on and pulse off to reduce thrust. The module adds the maximum thrust to the force request so that a zero control command results in continuous firing, and negative commands reduce the duty cycle.
References
[1] John Alcorn, Hanspeter Schaub, and Scott Piggott. Steady-state attitude and control effort sensitivity analysis of discretized thruster implementations. AIAA Journal of Spacecraft and Rockets, 54(5):1161-1169, 2017.
Assumptions/Limitations
- Requires a Thruster Array configuration message with maximum thrust values.
- The minimum fire time should match the physical thruster’s minimum impulse capability.
- When a device status message indicates inactive, all output is suppressed and accumulated remainders are cleared.
- Failed thrusters (zero maximum thrust) are skipped to prevent division by zero.