3 #ifndef POSE_ESTIMATION_ORIENTATIONINITIALIZATION_TASK_HPP 4 #define POSE_ESTIMATION_ORIENTATIONINITIALIZATION_TASK_HPP 6 #include "pose_estimation/OrientationInitializationBase.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> 32 static const unsigned estimator_count = 3;
35 boost::shared_ptr<pose_estimation::StreamAlignmentVerifier>
verifier;
55 bool initializeFilter(boost::shared_ptr<pose_estimation::OrientationUKF>& filter,
const Eigen::Quaterniond& orientation,
const Eigen::Matrix3d& orientation_cov,
const OrientationUKFConfig& filter_config);
57 bool setProcessNoise(boost::shared_ptr<pose_estimation::OrientationUKF>& filter,
const OrientationUKFConfig& filter_config,
double sensor_delta_t);
OrientationInitialization(std::string const &name="pose_estimation::OrientationInitialization")
Definition: OrientationInitialization.cpp:11
bool initializeFilter(boost::shared_ptr< pose_estimation::OrientationUKF > &filter, const Eigen::Quaterniond &orientation, const Eigen::Matrix3d &orientation_cov, const OrientationUKFConfig &filter_config)
Definition: OrientationInitialization.cpp:134
bool configureHook()
The following lines are template definitions for the various state machine.
Definition: OrientationInitialization.cpp:187
Eigen::Affine3d imu_in_body_translation
Definition: OrientationInitialization.hpp:36
Eigen::Quaterniond imu_in_body_rotation
Definition: OrientationInitialization.hpp:37
bool startHook()
Definition: OrientationInitialization.cpp:193
Eigen::Matrix3d cov_angular_velocity
Definition: OrientationInitialization.hpp:38
The task context provides and requires services. It uses an ExecutionEngine to perform its functions...
Definition: OrientationInitialization.hpp:29
boost::shared_ptr< pose_estimation::StreamAlignmentVerifier > verifier
Definition: OrientationInitialization.hpp:35
Eigen::Matrix3d cov_acceleration
Definition: OrientationInitialization.hpp:39
bool setProcessNoise(boost::shared_ptr< pose_estimation::OrientationUKF > &filter, const OrientationUKFConfig &filter_config, double sensor_delta_t)
Definition: OrientationInitialization.cpp:166
bool velocity_unknown
Definition: OrientationInitialization.hpp:42
States new_state
Definition: OrientationInitialization.hpp:44
void errorHook()
Definition: OrientationInitialization.cpp:328
Definition: pose_estimationTypes.hpp:10
virtual void predictionStep(const base::Time &sample_time)
Definition: OrientationInitialization.cpp:120
Eigen::Matrix3d cov_velocity_unknown
Definition: OrientationInitialization.hpp:40
base::Time last_velocity_sample_time
Definition: OrientationInitialization.hpp:41
States last_state
Definition: OrientationInitialization.hpp:43
virtual void imu_sensor_samplesTransformerCallback(const base::Time &ts, const ::base::samples::IMUSensors &imu_sensor_samples_sample)
Definition: OrientationInitialization.cpp:26
void cleanupHook()
Definition: OrientationInitialization.cpp:336
void updateHook()
Definition: OrientationInitialization.cpp:256
virtual void velocity_samplesTransformerCallback(const base::Time &ts, const ::base::samples::RigidBodyState &velocity_samples_sample)
Definition: OrientationInitialization.cpp:78
boost::shared_ptr< pose_estimation::OrientationUKF > orientation_estimators[estimator_count]
Definition: OrientationInitialization.hpp:34
~OrientationInitialization()
Definition: OrientationInitialization.cpp:21
void stopHook()
Definition: OrientationInitialization.cpp:332
friend class OrientationInitializationBase
Definition: OrientationInitialization.hpp:31