Flight Solver
Real-time solvers for flight controllers. no_std, fully stack-allocated, const-generic over all dimensions.
Solvers
| Module | Algorithm | Description |
|---|---|---|
cls |
Constrained Least Squares | Active-set solver with incremental Givens QR |
cls::setup::wls |
WLS formulation | Weighted LS with actuator-preference regularisation |
cls::setup::ls |
LS formulation | Plain (unregularised) least-squares |
rls::standard |
Standard RLS | Covariance-form with numerical guards |
rls::inverse_qr |
Inverse QR-RLS | Information-form via Givens rotations |
Quick start
RLS - online parameter estimation
use ;
// Inverse QR-RLS: 4 regressors, 3 parallel outputs
let mut rls = new;
let a = new;
let y = new;
rls.update;
CLS - constrained allocation
use ;
use ;
let g: = zeros;
let wv = from_column_slice;
let mut wu = from_column_slice;
let = ;
let b = ;
let mut us = from_column_slice;
let mut ws = ;
let stats = ;
References
- Haykin, S. Adaptive Filter Theory, 5th ed., Pearson, 2014. Ch. 15 - Square-root adaptive filtering (inverse QR-RLS derivation).
- ActiveSetCtlAlloc - C reference implementation of the active-set WLS solver.
- Indiflight - C reference implementation of the standard RLS with numerical guards.