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.