MRPT  2.0.1
CObservationOdometry.h
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | https://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2020, Individual contributors, see AUTHORS file |
6  | See: https://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See: https://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 
10 #pragma once
11 
12 #include <mrpt/math/TTwist2D.h>
13 #include <mrpt/obs/CObservation.h>
14 #include <mrpt/poses/CPose2D.h>
15 #include <mrpt/poses/CPose3D.h>
17 
18 namespace mrpt::obs
19 {
20 /** An observation of the current (cumulative) odometry for a wheeled robot.
21  * This kind of observation will only occur in a "observation-only" rawlog
22  * file, otherwise
23  * odometry are modeled with actions. Refer to the <a
24  * href="http://www.mrpt.org/Rawlog_Format">page on rawlogs</a>.
25  *
26  * \sa CObservation, CActionRobotMovement2D
27  * \ingroup mrpt_obs_grp
28  */
30 {
32 
33  public:
34  /** Default ctor */
36 
37  /** The absolute odometry measurement (IT IS NOT INCREMENTAL) */
39 
40  /** "true" means that "encoderLeftTicks" and "encoderRightTicks" contain
41  * valid values. */
42  bool hasEncodersInfo{false};
43  /** For differential-driven robots: The ticks count for each wheel in
44  * ABSOLUTE VALUE (IT IS NOT INCREMENTAL) (positive means FORWARD, for both
45  * wheels); \sa hasEncodersInfo */
47 
48  /** "true" means that `velocityLocal` contains valid values. */
49  bool hasVelocities{false};
50  /** Velocity, in the robot (local) frame of reference (+X=forward). */
52 
53  // See base class docs
54  void getSensorPose(mrpt::poses::CPose3D& out_sensorPose) const override
55  {
56  out_sensorPose = mrpt::poses::CPose3D(0, 0, 0);
57  }
58  void setSensorPose(const mrpt::poses::CPose3D&) override {}
59  void getDescriptionAsText(std::ostream& o) const override;
60 
61 }; // End of class def.
62 
63 } // namespace mrpt::obs
mrpt::poses::CPose2D odometry
The absolute odometry measurement (IT IS NOT INCREMENTAL)
bool hasEncodersInfo
"true" means that "encoderLeftTicks" and "encoderRightTicks" contain valid values.
2D twist: 2D velocity vector (vx,vy) + planar angular velocity (omega)
Definition: TTwist2D.h:19
mrpt::math::TTwist2D velocityLocal
Velocity, in the robot (local) frame of reference (+X=forward).
This namespace contains representation of robot actions and observations.
void getDescriptionAsText(std::ostream &o) const override
Build a detailed, multi-line textual description of the observation contents and dump it to the outpu...
void setSensorPose(const mrpt::poses::CPose3D &) override
A general method to change the sensor pose on the robot.
int32_t encoderLeftTicks
For differential-driven robots: The ticks count for each wheel in ABSOLUTE VALUE (IT IS NOT INCREMENT...
A class used to store a 2D pose, including the 2D coordinate point and a heading (phi) angle...
Definition: CPose2D.h:39
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:85
Declares a class that represents any robot&#39;s observation.
Definition: CObservation.h:43
void getSensorPose(mrpt::poses::CPose3D &out_sensorPose) const override
A general method to retrieve the sensor pose on the robot.
#define DEFINE_SERIALIZABLE(class_name, NS)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
An observation of the current (cumulative) odometry for a wheeled robot.
bool hasVelocities
"true" means that velocityLocal contains valid values.



Page generated by Doxygen 1.8.14 for MRPT 2.0.1 Git: 0fef1a6d7 Fri Apr 3 23:00:21 2020 +0200 at vie abr 3 23:20:28 CEST 2020