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
232 Eigen::Vector3d getVelocity();
233 Eigen::Vector3d getAngularVelocity();
234 Eigen::Matrix3d getVelocityError();
235 double getDeltaYaw();
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:219
GaussianSamplingPose3D sampling
Definition: Odometry.hpp:148
State< BodyState > state
Definition: Odometry.hpp:240
Definition: Sampling3D.hpp:12
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
std::vector< std::string > rightSteeringNames
Definition: Odometry.hpp:159
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
Eigen::Quaterniond prevOrientation
Definition: Odometry.hpp:150
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
Class which provides a simple wheel (skid steering) odometry.
Definition: Odometry.hpp:24
std::vector< std::string > leftWheelNames
Definition: Odometry.hpp:156
Definition: Configuration.hpp:19
Definition: Gaussian3D.hpp:12
Definition: BodyState.cpp:5
Eigen::Matrix< double, 6, 6 > Matrix6d
Definition: ContactOdometry.hpp:14
Definition: BodyState.hpp:34