pub struct EKFLocalizer { /* private fields */ }Expand description
Extended Kalman Filter for robot localization
Implementations§
Source§impl EKFLocalizer
impl EKFLocalizer
Sourcepub fn try_new(config: EKFConfig) -> RoboticsResult<Self>
pub fn try_new(config: EKFConfig) -> RoboticsResult<Self>
Create a new validated EKF localizer
Sourcepub fn with_defaults() -> Self
pub fn with_defaults() -> Self
Create with default configuration
Sourcepub fn with_initial_state(initial_state: EKFState, config: EKFConfig) -> Self
pub fn with_initial_state(initial_state: EKFState, config: EKFConfig) -> Self
Create with initial state
Sourcepub fn try_with_initial_state(
initial_state: EKFState,
config: EKFConfig,
) -> RoboticsResult<Self>
pub fn try_with_initial_state( initial_state: EKFState, config: EKFConfig, ) -> RoboticsResult<Self>
Create with validated initial state
Sourcepub fn with_initial_state_2d(
initial_state: State2D,
config: EKFConfig,
) -> RoboticsResult<Self>
pub fn with_initial_state_2d( initial_state: State2D, config: EKFConfig, ) -> RoboticsResult<Self>
Create with common State2D type
Sourcepub fn get_covariance_matrix(&self) -> &Matrix4<f64>
pub fn get_covariance_matrix(&self) -> &Matrix4<f64>
Get reference to state covariance
Sourcepub fn set_process_noise(&mut self, q: Matrix4<f64>)
pub fn set_process_noise(&mut self, q: Matrix4<f64>)
Set process noise covariance
Sourcepub fn try_set_process_noise(&mut self, q: Matrix4<f64>) -> RoboticsResult<()>
pub fn try_set_process_noise(&mut self, q: Matrix4<f64>) -> RoboticsResult<()>
Set process noise covariance with validation
Sourcepub fn set_measurement_noise(&mut self, r: Matrix2<f64>)
pub fn set_measurement_noise(&mut self, r: Matrix2<f64>)
Set measurement noise covariance
Sourcepub fn try_set_measurement_noise(
&mut self,
r: Matrix2<f64>,
) -> RoboticsResult<()>
pub fn try_set_measurement_noise( &mut self, r: Matrix2<f64>, ) -> RoboticsResult<()>
Set measurement noise covariance with validation
Sourcepub fn estimate(
&mut self,
measurement: &EKFMeasurement,
control: &EKFControl,
dt: f64,
) -> Result<&EKFState, RoboticsError>
pub fn estimate( &mut self, measurement: &EKFMeasurement, control: &EKFControl, dt: f64, ) -> Result<&EKFState, RoboticsError>
Full EKF estimation step (predict + update)
Sourcepub fn estimate_state(
&mut self,
measurement: Point2D,
control: ControlInput,
dt: f64,
) -> RoboticsResult<State2D>
pub fn estimate_state( &mut self, measurement: Point2D, control: ControlInput, dt: f64, ) -> RoboticsResult<State2D>
EKF estimate step using common crate types
Sourcepub fn ekf_estimation(
x_est: EKFState,
p_est: Matrix4<f64>,
z: EKFMeasurement,
u: EKFControl,
q: Matrix4<f64>,
r: Matrix2<f64>,
dt: f64,
) -> (EKFState, Matrix4<f64>)
pub fn ekf_estimation( x_est: EKFState, p_est: Matrix4<f64>, z: EKFMeasurement, u: EKFControl, q: Matrix4<f64>, r: Matrix2<f64>, dt: f64, ) -> (EKFState, Matrix4<f64>)
Legacy interface for EKF estimation (standalone function style)
Trait Implementations§
Source§impl StateEstimator for EKFLocalizer
impl StateEstimator for EKFLocalizer
Source§type State = Matrix<f64, Const<4>, Const<1>, ArrayStorage<f64, 4, 1>>
type State = Matrix<f64, Const<4>, Const<1>, ArrayStorage<f64, 4, 1>>
State type used by this estimator
Source§type Measurement = Matrix<f64, Const<2>, Const<1>, ArrayStorage<f64, 2, 1>>
type Measurement = Matrix<f64, Const<2>, Const<1>, ArrayStorage<f64, 2, 1>>
Measurement type used by this estimator
Source§fn update(&mut self, measurement: &Self::Measurement)
fn update(&mut self, measurement: &Self::Measurement)
Update step with measurement
Auto Trait Implementations§
impl Freeze for EKFLocalizer
impl RefUnwindSafe for EKFLocalizer
impl Send for EKFLocalizer
impl Sync for EKFLocalizer
impl Unpin for EKFLocalizer
impl UnsafeUnpin for EKFLocalizer
impl UnwindSafe for EKFLocalizer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.