ADCS.estimators.process_noise module¶
Shared continuous-time process-noise construction for attitude estimators.
The functions in this module deliberately operate on EstimatorState’s
named layout. They are filter-neutral: an EKF can use the returned error-state
Jacobian directly, while any future sigma-point estimator can reuse the same
Van Loan covariance discretization.
- ADCS.estimators.process_noise.assemble_continuous_process_psd(state, satellite, *, unmodeled_dynamics_psd=0.0, quaternion_mode='quaternion_vector')[source]¶
Assemble chart-local continuous PSD \(Q_c\) from the state layout.
unmodeled_dynamics_psdapplies to the physical local state[angular_velocity, attitude, wheel_momentum]and accepts a scalar, a diagonal vector, or a full PSD matrix. Bias and disturbance blocks are populated from their configured hardware random-walk rates. The returned coordinates matchquaternion_mode.- Parameters:
state (EstimatorState)
satellite (Any)
unmodeled_dynamics_psd (Any)
quaternion_mode (str)
- Return type:
ndarray
- ADCS.estimators.process_noise.continuous_error_state_model(state, satellite, control, orbital_state, *, unmodeled_dynamics_psd=0.0, quaternion_mode='quaternion_vector', quaternion_order='right')[source]¶
Build shared continuous-time
(F, Qc)for an estimator prediction.- Parameters:
state (EstimatorState)
satellite (Any)
control (ndarray)
orbital_state (Any)
unmodeled_dynamics_psd (Any)
quaternion_mode (str)
quaternion_order (str)
- Return type:
tuple[ndarray, ndarray]
- ADCS.estimators.process_noise.discretize_process_noise(state, satellite, control, orbital_state, dt, **kwargs)[source]¶
Build and Van Loan-discretize the shared attitude process-noise model.
The returned transition \(\Phi\) is chart-local at
state.- Parameters:
state (EstimatorState)
satellite (Any)
control (ndarray)
orbital_state (Any)
dt (float)
kwargs (Any)
- Return type:
tuple[ndarray, ndarray]
- ADCS.estimators.process_noise.error_state_transfer(state, satellite, control, orbital_state, *, quaternion_mode='quaternion_vector', quaternion_order='right')[source]¶
Return the continuous local error-state transfer matrix
F.Fis chart-local atstate; it must be rebuilt after the estimate’s linearization point or quaternion chart changes. Because the quaternion tangent map moves with the nominal attitude, the returned matrix includes the chart-motion termG_dot.EstimatedSatellite.dynJacCorestores derivative variables in rows and derivative outputs in columns. This function converts that historical convention to the conventional column-error matrix before augmenting it with random-walk states and reducing quaternion coordinates throughEstimatorState.tangent_mapandtangent_pinv.- Parameters:
state (EstimatorState)
satellite (Any)
control (ndarray)
orbital_state (Any)
quaternion_mode (str)
quaternion_order (str)
- Return type:
ndarray
- ADCS.estimators.process_noise.van_loan_discretize(transfer, continuous_psd, dt, *, noise_input=None)[source]¶
Discretize
xdot = F x + L wwith Van Loan’s matrix exponential.continuous_psdisQ_cin noise coordinates; omittingnoise_inputusesL=Iand therefore accepts state-space PSDs assembled byassemble_continuous_process_psd().- Parameters:
transfer (Any)
continuous_psd (Any)
dt (float)
noise_input (Any | None)
- Return type:
tuple[ndarray, ndarray]