|
pose_estimation
|
#include <PoseUKF.hpp>
Public Member Functions | |
| PoseUKF (const State &initial_state, const Covariance &state_cov) | |
| virtual | ~PoseUKF () |
| void | integrateMeasurement (const PositionMeasurement &measurement) |
| void | integrateMeasurement (const XYMeasurement &measurement) |
| void | integrateMeasurement (const ZMeasurement &measurement) |
| void | integrateMeasurement (const OrientationMeasurement &measurement) |
| void | integrateMeasurement (const VelocityMeasurement &measurement) |
| void | integrateMeasurement (const XYVelocityMeasurement &measurement) |
| void | integrateMeasurement (const ZVelocityMeasurement &measurement) |
| void | integrateMeasurement (const XVelYawVelMeasurement &measurement) |
| void | integrateMeasurement (const AngularVelocityMeasurement &measurement) |
| void | integrateMeasurement (const AccelerationMeasurement &measurement) |
Public Member Functions inherited from pose_estimation::UnscentedKalmanFilter< PoseWithVelocity > | |
| UnscentedKalmanFilter () | |
| virtual | ~UnscentedKalmanFilter () |
| void | initializeFilter (const State &initial_state, const Covariance &state_cov) |
| bool | getCurrentState (State &state, Covariance &state_cov) const |
| bool | getCurrentState (State &state) const |
| void | predictionStepFromSampleTime (const base::Time &sample_time) |
| void | predictionStep (double delta_t) |
| unsigned | getStateSize () const |
| bool | isInitialized () const |
| const Covariance & | getProcessNoiseCovariance () const |
| void | setProcessNoiseCovariance (const Covariance &noise_cov) |
| const base::Time & | getLastMeasurementTime () const |
| void | setLastMeasurementTime (const base::Time &last_measurement_time) |
| double | getMaxTimeDelta () const |
| void | setMaxTimeDelta (double max_time_delta) |
| double | getMinTimeDelta () const |
| void | setMinTimeDelta (double min_time_delta) |
Protected Member Functions | |
| virtual void | predictionStepImpl (const double delta) |
Protected Member Functions inherited from pose_estimation::UnscentedKalmanFilter< PoseWithVelocity > | |
| void | checkMeasurment (const Eigen::Matrix< scalar_type, DIM, 1 > &mu, const Eigen::Matrix< scalar_type, DIM, DIM > &cov) const |
Protected Attributes | |
| AccelerationMeasurement | acceleration |
Protected Attributes inherited from pose_estimation::UnscentedKalmanFilter< PoseWithVelocity > | |
| boost::shared_ptr< MTK_UKF > | ukf |
| Covariance | process_noise_cov |
| base::Time | last_measurement_time |
| double | max_time_delta |
| double | min_time_delta |
Additional Inherited Members | |
Public Types inherited from pose_estimation::UnscentedKalmanFilter< PoseWithVelocity > | |
| enum | |
| typedef PoseWithVelocity | State |
| typedef ukfom::mtkwrap< PoseWithVelocity > | WState |
| typedef ukfom::ukf< WState > | MTK_UKF |
| typedef MTK_UKF::cov | Covariance |
This filter integrates various linear and angular position and velocity measurements into a 12D pose and velocity state. It is simple to use and doesn't need much configurations. But since its model is limited to the propagation of accelerations and velocities into poses its accuracy will be limited as well, however for a lot of cases sufficient.
| pose_estimation::PoseUKF::PoseUKF | ( | const State & | initial_state, |
| const Covariance & | state_cov | ||
| ) |
|
inlinevirtual |
| void pose_estimation::PoseUKF::integrateMeasurement | ( | const PositionMeasurement & | measurement | ) |
Integrates a 3D position measurement. Body in navigation frame in m.
| void pose_estimation::PoseUKF::integrateMeasurement | ( | const XYMeasurement & | measurement | ) |
Integrates a 2D position measurement. XY of body in navigation frame in m.
| void pose_estimation::PoseUKF::integrateMeasurement | ( | const ZMeasurement & | measurement | ) |
Integrates a 1D position measurement. Z of body in navigation frame in m.
| void pose_estimation::PoseUKF::integrateMeasurement | ( | const OrientationMeasurement & | measurement | ) |
Integrates a 3D orientation measurement. As axis-angle representation of body in navigation frame.
| void pose_estimation::PoseUKF::integrateMeasurement | ( | const VelocityMeasurement & | measurement | ) |
Integrates a 3D linear velocity measurement. Velocity of body in m/s.
| void pose_estimation::PoseUKF::integrateMeasurement | ( | const XYVelocityMeasurement & | measurement | ) |
Integrates a 2D linear velocity measurement. XY velocity of body in m/s.
| void pose_estimation::PoseUKF::integrateMeasurement | ( | const ZVelocityMeasurement & | measurement | ) |
Integrates a 1D linear velocity measurement. Z velocity of body in m/s.
| void pose_estimation::PoseUKF::integrateMeasurement | ( | const XVelYawVelMeasurement & | measurement | ) |
Integrates a 2D linear and angular velocity measurement. X velocity of body in m/s and yaw velocity of body in rad/s.
| void pose_estimation::PoseUKF::integrateMeasurement | ( | const AngularVelocityMeasurement & | measurement | ) |
Integrates the 3D rotation rates. As angular velocity vector of the body in rad/s.
| void pose_estimation::PoseUKF::integrateMeasurement | ( | const AccelerationMeasurement & | measurement | ) |
Sets the current acceleration of the body in m/s^2. Note that this is not integrated but propagated in the prediction step to the velocity. As soon as this is used it should be updated continuously.
|
protectedvirtual |
|
protected |
1.8.11