navlie.filters.IteratedKalmanFilter¶
- class navlie.filters.IteratedKalmanFilter(process_model: ProcessModel, step_tol=0.0001, max_iters=200, line_search=True, reject_outliers=False)¶
Bases:
ExtendedKalmanFilter
On-manifold iterated extended Kalman filter.
- Parameters:
process_model (ProcessModel) – process model to be used in the prediction step
reject_outliers (bool, optional) – whether to apply the NIS test to measurements, by default False
- step_tol¶
- max_iters¶
- reject_outliers¶
- line_search¶
- correct(x: StateWithCovariance, y: Measurement, u: Input, x_jac: State | None = None, reject_outlier=None)¶
Fuses an arbitrary measurement to produce a corrected state estimate.
- Parameters:
x (StateWithCovariance) – The current state estimate.
u (Input) – Most recent input, to be used to predict the state forward if the measurement stamp is larger than the state stamp.
y (Measurement) – Measurement to be fused into the current state estimate.
x_jac (State, optional) – valuation point for the process model Jacobian. If not provided, the current state estimate will be used.
reject_outlier (bool, optional) – Whether to apply the NIS test to this measurement, by default None, in which case the value of
self.reject_outliers
will be used.
- Returns:
The corrected state estimate
- Return type:
- process_model¶
- predict(x: StateWithCovariance, u: Input, dt: float | None = None, x_jac: State | None = None, output_details: bool = False) → StateWithCovariance¶
Propagates the state forward in time using a process model. The user must provide the current state, input, and time interval
Note
If the time interval
dt
is not provided in the arguments, it will be taken as the difference between the input stamp and the state stamp.- Parameters:
x (StateWithCovariance) – The current state estimate.
u (Input) – Input measurement to be given to process model
dt (float, optional) – Duration to next time step. If not provided, dt will be calculated with
dt = u.stamp - x.state.stamp
.x_jac (State, optional) – Evaluation point for the process model Jacobian. If not provided, the current state estimate will be used.
- Returns:
New predicted state
- Return type: