ADCS.estimators.attitude_estimators.attitude_estimator module

Shared base class for new-generation Kalman attitude estimators.

All attitude filters compose the filter-neutral State, Covariance, process-model, and MeasurementStack operations through this base class.

class ADCS.estimators.attitude_estimators.attitude_estimator.AttitudeEstimator(satellite, state, *, dt, covariance_coordinates, correction_mode, measurement_quaternion_mode, unmodeled_dynamics_psd=0.0)[source]

Bases: object

Shared prediction/correction lifecycle for the first simple filters.

The base implementation defaults to the physical attitude state. Filters that explicitly support joint estimation of hardware biases or disturbance parameters can opt in by setting supports_augmented_parameters.

Parameters:
  • satellite (Any)

  • state (EstimatorState)

  • dt (float)

  • covariance_coordinates (str)

  • correction_mode (str)

  • measurement_quaternion_mode (str)

  • unmodeled_dynamics_psd (Any)

correct(measurements, orbital_state, *, enabled=None, time_s=None, epoch_s=0.0)[source]

Apply all selected finite measurements at the current state.

Parameters:
  • measurements (Any)

  • orbital_state (Any)

  • enabled (Any | None)

  • time_s (float | None)

  • epoch_s (float)

Return type:

EstimatorState

predict(control, orbital_state_start, orbital_state_end, *, dt=None, midpoint_orbital_state=None)[source]

Propagate the nominal state and covariance one deterministic step.

The model-generated discrete process covariance and the prior state’s discrete process_noise (legacy int_cov) are additive.

Parameters:
  • control (Any)

  • orbital_state_start (Any)

  • orbital_state_end (Any)

  • dt (float | None)

  • midpoint_orbital_state (Any | None)

Return type:

EstimatorState

reset(state)[source]

Replace the estimate after validating this filter’s layout.

Parameters:

state (EstimatorState)

Return type:

EstimatorState

step(measurements_or_control, orbital_state_or_measurements, orbital_state_start=None, orbital_state_end=None, *, dt=None, midpoint_orbital_state=None, enabled=None, time_s=None, epoch_s=0.0)[source]

Run the measurement stage, or preserve the old combined step call.

The staged contract calls step(measurements, orbital_state) after predict(). During migration, the historical step(control, measurements, orbital_state_start, orbital_state_end) form remains accepted and performs both stages.

Parameters:
  • measurements_or_control (Any)

  • orbital_state_or_measurements (Any)

  • orbital_state_start (Any | None)

  • orbital_state_end (Any | None)

  • dt (float | None)

  • midpoint_orbital_state (Any | None)

  • enabled (Any | None)

  • time_s (float | None)

  • epoch_s (float)

Return type:

EstimatorState

update(u=None, sensors=None, os=None)[source]

Return the posterior state, with a compatibility update adapter.

The staged simulation contract calls zero-argument update() after predict() and step(). The argument-bearing form remains as a temporary adapter for callers that still use the old one-call protocol.

Parameters:
  • u (Any | None)

  • sensors (Any | None)

  • os (Any | None)

Return type:

EstimatorState

property correction_mode: str

Attitude chart used for the transition matrix, the correction, and the reset.

property covariance_coordinates: str

"full" (EKF) or "tangent" (MEKF).

Type:

Coordinates the covariance is kept in

property diagnostics: dict[str, ndarray]

Return owned matrices and vectors from the latest operations.

property measurement_quaternion_mode: str

Attitude chart used for quaternion residuals and their Jacobians.

property state: EstimatorState

Return an owned snapshot of the current estimate.

supports_augmented_parameters = False