Skip to main content

ProcessModel

Trait ProcessModel 

Source
pub trait ProcessModel {
    // Required methods
    fn propagate(
        &self,
        state: &NavigationState,
        over: Duration,
    ) -> Result<NavigationState>;
    fn jacobian(
        &self,
        state: &NavigationState,
        over: Duration,
    ) -> Result<StateJacobian>;
    fn noise(&self, state: &NavigationState, over: Duration) -> ProcessNoise;
}
Expand description

State propagation between observations; injected into the estimator.

Required Methods§

Source

fn propagate( &self, state: &NavigationState, over: Duration, ) -> Result<NavigationState>

State after a step, f(x), with the covariance unchanged; the estimator propagates the covariance from F and Q.

§Errors

Any error the model raises: negative step, unpropagatable state.

Source

fn jacobian( &self, state: &NavigationState, over: Duration, ) -> Result<StateJacobian>

Process Jacobian F.

§Errors

As ProcessModel::propagate.

Source

fn noise(&self, state: &NavigationState, over: Duration) -> ProcessNoise

Process noise Q at the start state.

State-dependent because noise may enter through the state (heading noise moving position across track at the speed made good). A self-consistent model gives the same Q for one step as for its two halves; late-observation handling relies on it.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§