odometry
ContactOdometry.hpp
Go to the documentation of this file.
1 #ifndef ODOMETRY_FOOT_CONTACT_HPP__
2 #define ODOMETRY_FOOT_CONTACT_HPP__
3 
4 #include <odometry/ContactState.hpp>
5 #include <odometry/Gaussian.hpp>
6 #include <odometry/Configuration.hpp>
7 #include <odometry/State.hpp>
8 #include <odometry/Gaussian3D.hpp>
9 #include <odometry/Sampling3D.hpp>
10 #include <odometry/Sampling2D.hpp>
11 
12 namespace odometry
13 {
14 typedef Eigen::Matrix<double,6,6> Matrix6d;
15 typedef Eigen::Matrix<double,6,1> Vector6d;
16 
17 class FootContact :
18  public Gaussian3D,
19  public Sampling3D,
20  public Sampling2D
21 {
22 public:
23  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
24  FootContact(const Configuration& config);
25  virtual ~FootContact();
26  void update(const odometry::BodyContactState& state, const Eigen::Quaterniond& orientation);
27 
28  base::Pose getPoseDelta();
29  Eigen::Matrix3d getPositionError();
30  Eigen::Matrix3d getOrientationError();
32 
33 public:
34  base::Pose getPoseDeltaSample();
35  base::Pose2D getPoseDeltaSample2D();
36 
37  Eigen::Quaterniond orientation, prevOrientation;
39 
40 private:
42  Configuration config;
43 
44  GaussianSamplingPose3D sampling;
45 };
46 
47 }
48 
49 #endif
Matrix6d getPoseError()
Definition: ContactOdometry.cpp:47
Eigen::Quaterniond orientation
Definition: ContactOdometry.hpp:37
helper class that represents a pose (position and orientation) and associated gaussian uncertainty...
Definition: Gaussian.hpp:21
base::Pose getPoseDeltaSample()
Definition: ContactOdometry.cpp:52
Definition: Sampling3D.hpp:12
EIGEN_MAKE_ALIGNED_OPERATOR_NEW FootContact(const Configuration &config)
Definition: ContactOdometry.cpp:5
base::Pose2D getPoseDeltaSample2D()
Definition: ContactOdometry.cpp:57
base::Pose getPoseDelta()
Definition: ContactOdometry.cpp:62
State< BodyContactState > state
Definition: ContactOdometry.hpp:38
void update(const odometry::BodyContactState &state, const Eigen::Quaterniond &orientation)
Definition: ContactOdometry.cpp:67
Eigen::Matrix3d getPositionError()
Definition: ContactOdometry.cpp:37
Eigen::Quaterniond prevOrientation
Definition: ContactOdometry.hpp:37
Definition: Sampling2D.hpp:12
Eigen::Matrix< double, 6, 1 > Vector6d
Definition: ContactOdometry.hpp:15
Eigen::Matrix3d getOrientationError()
Definition: ContactOdometry.cpp:42
Definition: ContactOdometry.hpp:17
Definition: Configuration.hpp:19
Definition: Gaussian3D.hpp:12
Definition: State.hpp:14
Definition: ContactState.hpp:26
Eigen::Matrix< double, 6, 6 > Matrix6d
Definition: ContactOdometry.hpp:14
virtual ~FootContact()
Definition: ContactOdometry.cpp:10