1 #ifndef ODOMETRY_GAUSSIAN_HPP__
2 #define ODOMETRY_GAUSSIAN_HPP__
4 #include <odometry/Configuration.hpp>
5 #include <base/Pose.hpp>
7 #include <boost/random/linear_congruential.hpp>
8 #include <boost/random/uniform_real.hpp>
9 #include <boost/random/variate_generator.hpp>
10 #include <boost/random/normal_distribution.hpp>
15 base::Pose2D
projectPoseDelta(
const Eigen::Quaterniond& orientation,
const base::Pose& pose );
27 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
44 void update(
const Vector6d& mean,
const Matrix6d& llt );
58 boost::variate_generator<boost::minstd_rand, boost::normal_distribution<> >
rand_norm;
helper class that represents a pose (position and orientation) and associated gaussian uncertainty...
Definition: Gaussian.hpp:21
Matrix6d poseCov
Definition: Gaussian.hpp:51
Configuration config
Definition: Gaussian.hpp:55
Matrix6d poseLT
Definition: Gaussian.hpp:51
Vector6d poseMean
Definition: Gaussian.hpp:52
Vector6d sample()
get a pose sample based on mean and covariance provided by update
Definition: Gaussian.cpp:59
base::Pose2D projectPoseDelta(const Eigen::Quaterniond &orientation, const base::Pose &pose)
Definition: Gaussian.cpp:32
void update(const Vector6d &mean, const Matrix6d &llt)
set mean and upper triangular matrix of covariance
Definition: Gaussian.cpp:52
Eigen::Matrix< double, 6, 1 > Vector6d
Definition: ContactOdometry.hpp:15
Definition: Configuration.hpp:19
boost::variate_generator< boost::minstd_rand, boost::normal_distribution<> > rand_norm
Definition: Gaussian.hpp:58
Eigen::Matrix< double, 6, 6 > Matrix6d
Definition: ContactOdometry.hpp:14
EIGEN_MAKE_ALIGNED_OPERATOR_NEW GaussianSamplingPose3D(const Configuration &config)
Definition: Gaussian.cpp:43