|
odometry
|
Class which provides a simple wheel (skid steering) odometry. More...
#include <Odometry.hpp>
Public Types | |
| typedef base::Matrix6d | Matrix6d |
| typedef base::Vector6d | Vector6d |
Public Member Functions | |
| 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 More... | |
| SkidOdometry (const Configuration &config, double wheelRadiusAvg, double trackWidth, double wheelBase, const std::vector< std::string > &leftWheelNames, const std::vector< std::string > &rightWheelNames, const std::vector< std::string > &leftSteeringNames, const std::vector< std::string > &rightSteeringNames) | |
| Advanced constructor for wheel odometry class. More... | |
| void | update (Eigen::Vector2d diff, const Eigen::Quaterniond &orientation) |
| update method which is called for each new measurement More... | |
| void | update (double d, const Eigen::Quaterniond &orientation) |
| update method which is called for each new measurement More... | |
| void | update (const base::samples::Joints &js, const Eigen::Quaterniond &orientation) |
| update method which is called for each new measurement More... | |
| void | update (const base::samples::Joints &jsw, const base::samples::Joints &jss, const Eigen::Quaterniond &orientation) |
| update method which is called for each new measurement More... | |
| base::Pose | getPoseDelta () |
| provides the mean of the change in pose between the last two update calls More... | |
| Eigen::Matrix3d | getPositionError () |
| Provide the error covariance matrix for the current pose delta. More... | |
| Eigen::Matrix3d | getOrientationError () |
| provide the orientation covariance matrix for the current pose delta More... | |
| Matrix6d | getPoseError () |
| base::Pose | getPoseDeltaSample () |
| get a 3d pose sample based on the current state of the odometry More... | |
| base::Pose2D | getPoseDeltaSample2D () |
| provide a 2d pose sample based on the current state of the odometry More... | |
Public Member Functions inherited from odometry::Gaussian3D | |
| virtual | ~Gaussian3D () |
| base::Matrix6d | getPoseError () |
Public Member Functions inherited from odometry::Sampling3D | |
| virtual | ~Sampling3D () |
Public Member Functions inherited from odometry::Sampling2D | |
| virtual | ~Sampling2D () |
Protected Member Functions | |
| double | getTranslation (const std::vector< std::string > &actuatorNames) |
| double | getRotation (const std::vector< std::string > &actuatorNames) |
Protected Attributes | |
| Configuration | config |
| double | wheelRadiusAvg |
| double | trackWidth |
| double | wheelBase |
| GaussianSamplingPose3D | sampling |
| Eigen::Quaterniond | orientation |
| Eigen::Quaterniond | prevOrientation |
| base::Pose | pose |
| State< base::samples::Joints > | jointState |
| State< base::samples::Joints > | steeringJointState |
| std::vector< std::string > | leftWheelNames |
| std::vector< std::string > | rightWheelNames |
| std::vector< std::string > | leftSteeringNames |
| std::vector< std::string > | rightSteeringNames |
Class which provides a simple wheel (skid steering) odometry.
class is based on a simple skid steering model, where the change in orientation is provided by an IMU, so effectively only the translation comes from a change in wheel position.
| typedef base::Matrix6d odometry::SkidOdometry::Matrix6d |
| typedef base::Vector6d odometry::SkidOdometry::Vector6d |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW odometry::SkidOdometry::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
| config | odometry configuration class, mainly setting the error matrix |
| odometry::SkidOdometry::SkidOdometry | ( | const Configuration & | config, |
| double | wheelRadiusAvg, | ||
| double | trackWidth, | ||
| double | wheelBase, | ||
| const std::vector< std::string > & | leftWheelNames, | ||
| const std::vector< std::string > & | rightWheelNames, | ||
| const std::vector< std::string > & | leftSteeringNames, | ||
| const std::vector< std::string > & | rightSteeringNames | ||
| ) |
Advanced constructor for wheel odometry class.
| config | odometry configuration class, mainly setting the error matrix |
|
virtual |
provide the orientation covariance matrix for the current pose delta
Implements odometry::Gaussian3D.
Reimplemented in odometry::Skid4Odometry.
|
virtual |
provides the mean of the change in pose between the last two update calls
Implements odometry::Gaussian3D.
|
virtual |
get a 3d pose sample based on the current state of the odometry
Provides a sample of the pose based on the last two update calls. This is effectively the PoseDelta perturbed by gaussian noise based on the poseError.
Implements odometry::Sampling3D.
|
virtual |
provide a 2d pose sample based on the current state of the odometry
Works like the 3d pose sample, but performs a flatting onto a 2d pose.
Implements odometry::Sampling2D.
| base::Matrix6d SkidOdometry::getPoseError | ( | ) |
|
virtual |
Provide the error covariance matrix for the current pose delta.
Implements odometry::Gaussian3D.
Reimplemented in odometry::Skid4Odometry.
|
protected |
helper function that computes the mean angle of the specified actuators
|
protected |
helper function that computes the mean distance traveled by the specified actuators
| void SkidOdometry::update | ( | Eigen::Vector2d | diff, |
| const Eigen::Quaterniond & | orientation | ||
| ) |
update method which is called for each new measurement
| diff | average of wheel distance travelled within the time step in x and y |
| orientation | body to world rotation provided by an IMU |
| void SkidOdometry::update | ( | double | d, |
| const Eigen::Quaterniond & | orientation | ||
| ) |
update method which is called for each new measurement
| d | average of wheel distance travelled within the time step |
| orientation | body to world rotation provided by an IMU |
| void SkidOdometry::update | ( | const base::samples::Joints & | js, |
| const Eigen::Quaterniond & | orientation | ||
| ) |
update method which is called for each new measurement
| js | encodes the current in wheel positions |
| orientation | body to world rotation provided by an IMU |
| void SkidOdometry::update | ( | const base::samples::Joints & | jsw, |
| const base::samples::Joints & | jss, | ||
| const Eigen::Quaterniond & | orientation | ||
| ) |
update method which is called for each new measurement
| jsw | encodes the current in wheel positions |
| jss | encodes the current in steering positions |
| orientation | body to world rotation provided by an IMU |
|
protected |
Odometry configuration
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
distance between left and right wheel
|
protected |
distance between front and rear axle
|
protected |
avg wheel radius for odometry calculations
1.8.11