This class provides a high level interface to the Kalman Filter allowing to predict the state of the filter with time and observe it by receiving ROS messages.
More...
#include <kalman_filter_wrapper.hpp>
|
using | State = typename FilterT::State |
|
template<typename FilterT>
class autoware::common::state_estimation::KalmanFilterWrapper< FilterT >
This class provides a high level interface to the Kalman Filter allowing to predict the state of the filter with time and observe it by receiving ROS messages.
- Template Parameters
-
FilterT | Type of filter used internally. |
◆ State
template<typename FilterT >
◆ KalmanFilterWrapper()
template<typename FilterT >
Create an EKF wrapper.
- Parameters
-
[in] | motion_model | The motion model that is to be used. |
[in] | noise_model | The noise model that is to be used. |
[in] | initial_state_covariance | The initial covariances for the state. This is usually a diagonal matrix with sigmas squared for each state dimension on the diagonal. |
[in] | expected_dt | Expected time difference between updates of the filter. |
[in] | frame_id | The frame id in which tracking takes place. |
[in] | history_duration | Length of the history of events. |
[in] | mahalanobis_threshold | The threshold on the Mahalanobis distance for outlier rejection. |
◆ add_next_temporal_update_to_history()
template<typename FilterT >
Predict state of filter at the next timestep defined by the period of this node.
- Returns
- true if the update was successful and false otherwise. In case false is returned, this update had no effect on the state of the filter.
◆ add_observation_to_history()
template<typename FilterT >
template<typename MeasurementT >
Update the filter state with a measurement.
- Parameters
-
[in] | measurement | The measurement. It is expected to be a concrete instantiation of the Measurement class. |
- Template Parameters
-
MeasurementT | Measurement type that is a concrete template specialization of the Measurement class. |
- Returns
- true if the observation was successful, false otherwise. In case of an unsuccessful update, the state of the underlying filter has not been changed.
◆ add_reset_event_to_history() [1/2]
template<typename FilterT >
template<typename MeasurementT >
Reset the filter state using the default covariance and state derived from the measurement.
- Parameters
-
[in] | measurement | The measurement from which we initialize the state. |
- Template Parameters
-
MeasurementT | Type of measurement. |
◆ add_reset_event_to_history() [2/2]
template<typename FilterT >
Reset the filter state. This must be called at least once to start / tracking.
- Parameters
-
[in] | state | The full state to set the system to. |
[in] | initial_covariance | The initial covariance. |
[in] | event_timestamp | The event timestamp. Ideally this should be in the same clock as the one that timestamps the messages. |
◆ get_state()
template<typename FilterT >
Get the current state of the system as an odometry message.
◆ is_initialized()
template<typename FilterT >
Check if the filter is is_initialized with a state.
The documentation for this class was generated from the following files: