3 #ifndef POSE_ESTIMATION_ORIENTATIONESTIMATOR_TASK_HPP 4 #define POSE_ESTIMATION_ORIENTATIONESTIMATOR_TASK_HPP 6 #include "pose_estimation/OrientationEstimatorBase.hpp" 7 #include <boost/shared_ptr.hpp> 8 #include <pose_estimation/orientation_estimator/OrientationUKF.hpp> 9 #include <pose_estimation/orientation_estimator/OrientationUKFConfig.hpp> 10 #include <pose_estimation/Measurement.hpp> 11 #include <pose_estimation/StreamAlignmentVerifier.hpp> 34 boost::shared_ptr<pose_estimation::StreamAlignmentVerifier>
verifier;
59 bool initializeFilter(
const Eigen::Quaterniond& orientation,
const Eigen::Matrix3d& orientation_cov,
const OrientationUKFConfig& filter_config);
61 bool setProcessNoise(
const OrientationUKFConfig& filter_config,
double sensor_delta_t);
virtual void imu_sensor_samplesTransformerCallback(const base::Time &ts, const ::base::samples::IMUSensors &imu_sensor_samples_sample)
Definition: OrientationEstimator.cpp:25
boost::shared_ptr< pose_estimation::OrientationUKF > orientation_estimator
Definition: OrientationEstimator.hpp:33
void cleanupHook()
Definition: OrientationEstimator.cpp:317
void errorHook()
Definition: OrientationEstimator.cpp:309
void predictionStep(const base::Time &sample_time)
Definition: OrientationEstimator.cpp:134
OrientationEstimator(std::string const &name="pose_estimation::OrientationEstimator")
Definition: OrientationEstimator.cpp:11
Eigen::Affine3d imu_in_body_translation
Definition: OrientationEstimator.hpp:35
Eigen::Matrix3d cov_acceleration
Definition: OrientationEstimator.hpp:38
virtual bool addHeadingOffset(double heading_offset, double variance)
Definition: OrientationEstimator.cpp:113
bool startHook()
Definition: OrientationEstimator.cpp:206
bool setProcessNoise(const OrientationUKFConfig &filter_config, double sensor_delta_t)
Definition: OrientationEstimator.cpp:179
void stopHook()
Definition: OrientationEstimator.cpp:313
Definition: pose_estimationTypes.hpp:10
boost::shared_ptr< pose_estimation::StreamAlignmentVerifier > verifier
Definition: OrientationEstimator.hpp:34
~OrientationEstimator()
Definition: OrientationEstimator.cpp:21
States last_state
Definition: OrientationEstimator.hpp:42
Eigen::Matrix3d cov_angular_velocity
Definition: OrientationEstimator.hpp:37
bool velocity_unknown
Definition: OrientationEstimator.hpp:41
void updateHook()
Definition: OrientationEstimator.cpp:260
bool configureHook()
The following lines are template definitions for the various state machine.
Definition: OrientationEstimator.cpp:200
virtual void velocity_samplesTransformerCallback(const base::Time &ts, const ::base::samples::RigidBodyState &velocity_samples_sample)
Definition: OrientationEstimator.cpp:74
friend class OrientationEstimatorBase
Definition: OrientationEstimator.hpp:31
States new_state
Definition: OrientationEstimator.hpp:43
Eigen::Matrix3d cov_velocity_unknown
Definition: OrientationEstimator.hpp:39
Eigen::Quaterniond imu_in_body_rotation
Definition: OrientationEstimator.hpp:36
base::Time last_velocity_sample_time
Definition: OrientationEstimator.hpp:40
bool initializeFilter(const Eigen::Quaterniond &orientation, const Eigen::Matrix3d &orientation_cov, const OrientationUKFConfig &filter_config)
Definition: OrientationEstimator.cpp:147
The task context provides and requires services. It uses an ExecutionEngine to perform its functions...
Definition: OrientationEstimator.hpp:29