Class CObservationOdometry

Inheritance Relationships

Base Type

Class Documentation

class CObservationOdometry : public mrpt::obs::CObservation

An observation of the current (cumulative) odometry for a wheeled robot. This provides the relative pose of the robot with respect to the odom frame of reference, in “ROS parlance”.

This kind of observation more naturally fits the “observation-only” rawlog format, since odometry increments are normally used in “sensory-frame based” datasets. However, the user is free to use them whenever it is useful. Refer to the rawlog format description.

Public Functions

CObservationOdometry()

Default ctor

inline virtual void getSensorPose(mrpt::poses::CPose3D &out_sensorPose) const override

A general method to retrieve the sensor pose on the robot. Note that most sensors will return a full (6D) CPose3D, but see the derived classes for more details or special cases.

See also

setSensorPose

inline virtual void setSensorPose(const mrpt::poses::CPose3D&) override

A general method to change the sensor pose on the robot. Note that most sensors will use the full (6D) CPose3D, but see the derived classes for more details or special cases.

See also

getSensorPose

virtual void getDescriptionAsText(std::ostream &o) const override

Build a detailed, multi-line textual description of the observation contents and dump it to the output stream.

Note

If overried by derived classes, call base CObservation::getDescriptionAsText() first to show common information.

Note

This is the text that appears in RawLogViewer when selecting an object in the dataset

inline virtual bool exportTxtSupported() const override

Must return true if the class is exportable to TXT/CSV files, in which case the other virtual methods in this group must be redefined too.

virtual std::string exportTxtHeader() const override

Returns the description of the data columns. Timestamp is automatically included as the first column, do not list it. See example implementations if interested in enabling this in custom CObservation classes. Do not include newlines.

virtual std::string exportTxtDataRow() const override

Returns one row of data with the data stored in this particular object. Do not include newlines.

Public Members

mrpt::poses::CPose2D odometry

The absolute odometry measurement (IT IS NOT INCREMENTAL)

bool hasEncodersInfo = {false}

“true” means that “encoderLeftTicks” and “encoderRightTicks” contain valid values.

int32_t encoderLeftTicks = {0}

For differential-driven robots: The ticks count for each wheel in ABSOLUTE VALUE (IT IS NOT INCREMENTAL) (positive means FORWARD, for both wheels);

See also

hasEncodersInfo

int32_t encoderRightTicks = {0}
bool hasVelocities = {false}

“true” means that velocityLocal contains valid values.

mrpt::math::TTwist2D velocityLocal

Velocity, in the robot (local) frame of reference (+X=forward).