1 #ifndef __ODOMETRY_ODOMETRY_HPP__
2 #define __ODOMETRY_ODOMETRY_HPP__
4 #include <base/Time.hpp>
5 #include <base/Pose.hpp>
7 #include <odometry/Gaussian.hpp>
8 #include <odometry/Configuration.hpp>
9 #include <odometry/BodyState.hpp>
10 #include <odometry/State.hpp>
11 #include <odometry/Gaussian3D.hpp>
12 #include <odometry/Sampling3D.hpp>
13 #include <odometry/Sampling2D.hpp>
14 #include <base/samples/Joints.hpp>
33 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
73 void update(
const base::samples::Joints &js,
const Eigen::Quaterniond&
orientation);
82 void update(
const base::samples::Joints &jsw,
const base::samples::Joints &jss,
const Eigen::Quaterniond&
orientation);
165 double getTranslation(
const std::vector< std::string >& actuatorNames);
171 double getRotation(
const std::vector< std::string >& actuatorNames);
188 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Class which provides a simple wheel (skid steering) odometry from asguard.
Definition: Odometry.hpp:184
helper class that represents a pose (position and orientation) and associated gaussian uncertainty...
Definition: Gaussian.hpp:21
Eigen::Matrix3d getOrientationError()
provide the orientation covariance matrix for the current pose delta
Definition: Odometry.cpp:241
Eigen::Matrix3d getOrientationError()
provide the orientation covariance matrix for the current pose delta
Definition: Odometry.cpp:219
GaussianSamplingPose3D sampling
Definition: Odometry.hpp:148
State< BodyState > state
Definition: Odometry.hpp:240
Definition: Sampling3D.hpp:12
Eigen::Vector3d getTranslation()
Definition: Odometry.cpp:259
State< base::samples::Joints > steeringJointState
Definition: Odometry.hpp:154
void update(Eigen::Vector2d diff, const Eigen::Quaterniond &orientation)
update method which is called for each new measurement
Definition: Odometry.cpp:185
std::vector< std::string > leftSteeringNames
Definition: Odometry.hpp:158
base::Pose pose
Definition: Odometry.hpp:151
Eigen::Vector3d getAngularVelocity()
Definition: Odometry.cpp:295
std::vector< std::string > rightSteeringNames
Definition: Odometry.hpp:159
Eigen::Matrix3d getPositionError()
Provide the error covariance matrix for the current pose delta.
Definition: Odometry.cpp:229
double wheelRadiusAvg
Definition: Odometry.hpp:142
Configuration config
Definition: Odometry.hpp:139
State< base::samples::Joints > jointState
Definition: Odometry.hpp:153
double trackWidth
Definition: Odometry.hpp:144
double wheelBase
Definition: Odometry.hpp:146
Matrix6d getPoseError()
Definition: Odometry.cpp:224
EIGEN_MAKE_ALIGNED_OPERATOR_NEW SkidOdometry(const Configuration &config, double wheelRadiusAvg, double trackWidth, double wheelBase, const std::vector< std::string > &leftWheelNames, const std::vector< std::string > &rightWheelNames)
default constructor for wheel odometry class
base::Pose getPoseDelta()
provides the mean of the change in pose between the last two update calls
Definition: Odometry.cpp:31
Eigen::Quaterniond orientation
Definition: Odometry.hpp:150
std::vector< std::string > rightWheelNames
Definition: Odometry.hpp:157
Eigen::Matrix3d getPositionError()
Provide the error covariance matrix for the current pose delta.
Definition: Odometry.cpp:214
Matrix6d getPoseError()
Definition: Odometry.cpp:248
Eigen::Quaterniond prevOrientation
Definition: Odometry.hpp:150
Eigen::Matrix3d getVelocityError()
Definition: Odometry.cpp:338
base::Matrix6d Matrix6d
Definition: Odometry.hpp:30
Definition: Sampling2D.hpp:12
base::Pose2D getPoseDeltaSample2D()
provide a 2d pose sample based on the current state of the odometry
Definition: Odometry.cpp:41
base::Vector6d Vector6d
Definition: Odometry.hpp:31
Eigen::Matrix< double, 6, 1 > Vector6d
Definition: ContactOdometry.hpp:15
double getRotation(const std::vector< std::string > &actuatorNames)
Definition: Odometry.cpp:98
base::Pose getPoseDeltaSample()
get a 3d pose sample based on the current state of the odometry
Definition: Odometry.cpp:36
double getTranslation(const std::vector< std::string > &actuatorNames)
Definition: Odometry.cpp:72
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Skid4Odometry(const Configuration &config, double wheelRadiusAvg, double trackWidth, double wheelBase)
default constructor for wheel odometry class
Definition: Odometry.cpp:26
Class which provides a simple wheel (skid steering) odometry.
Definition: Odometry.hpp:24
std::vector< std::string > leftWheelNames
Definition: Odometry.hpp:156
Eigen::Vector3d getVelocity()
Definition: Odometry.cpp:283
Definition: Configuration.hpp:19
Definition: Gaussian3D.hpp:12
Eigen::Matrix< double, 6, 6 > Matrix6d
Definition: ContactOdometry.hpp:14
double getDeltaYaw()
Definition: Odometry.cpp:329
Definition: BodyState.hpp:34
void update(const BodyState &bs, const Eigen::Quaterniond &orientation)
update method which is called for each new measurement
Definition: Odometry.cpp:47