9#ifndef CActionRobotMovement2D_H
10#define CActionRobotMovement2D_H
79 float a1,
a2,
a3,a4,minStdXY,minStdPHI;
98 } motionModelConfiguration;
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
A numeric matrix of compile-time fixed size.
Declares a class for storing a robot action.
Represents a probabilistic 2D movement of the robot mobile base.
mrpt::poses::CPose2D rawOdometryIncrementReading
This is the raw odometry reading, and only is used when "estimationMethod" is "TEstimationMethod::emO...
void fastDrawSingleSample(mrpt::poses::CPose2D &outSample) const
Faster version than "drawSingleSample", but requires a previous call to "prepareFastDrawSingleSamples...
float velocityAng
The velocity of the robot, linear in meters/sec and angular in rad/sec.
void prepareFastDrawSingleSample_modelGaussian() const
Internal use.
void prepareFastDrawSingleSamples() const
Call this before calling a high number of times "fastDrawSingleSample", which is much faster than "dr...
void drawSingleSample_modelGaussian(mrpt::poses::CPose2D &outSample) const
The sample generator for the model "computeFromOdometry_modelGaussian", internally called when the us...
void computeFromOdometry_modelThrun(const mrpt::poses::CPose2D &odometryIncrement, const TMotionModelOptions &o)
Computes the PDF of the pose increment from an odometry reading, using the motion model from Thrun's ...
void drawSingleSample_modelThrun(mrpt::poses::CPose2D &outSample) const
The sample generator for the model "computeFromOdometry_modelThrun", internally called when the user ...
void fastDrawSingleSample_modelThrun(mrpt::poses::CPose2D &outSample) const
Internal use.
void fastDrawSingleSample_modelGaussian(mrpt::poses::CPose2D &outSample) const
Internal use.
bool hasVelocities
If "true" means that "velocityLin" and "velocityAng" contain valid values.
int32_t encoderLeftTicks
For odometry only: the ticks count for each wheel FROM the last reading (positive means FORWARD,...
CActionRobotMovement2D(const CActionRobotMovement2D &o)
Copy constructor.
void computeFromOdometry_modelGaussian(const mrpt::poses::CPose2D &odometryIncrement, const TMotionModelOptions &o)
Computes the PDF of the pose increment from an odometry reading, using a Gaussian approximation as th...
void computeFromOdometry(const mrpt::poses::CPose2D &odometryIncrement, const TMotionModelOptions &options)
Computes the PDF of the pose increment from an odometry reading and according to the given motion mod...
void computeFromEncoders(double K_left, double K_right, double D)
If "hasEncodersInfo"=true, this method updates the pose estimation according to the ticks from both e...
~CActionRobotMovement2D()
Destructor.
bool hasEncodersInfo
If "true" means that "encoderLeftTicks" and "encoderRightTicks" contain valid values.
CActionRobotMovement2D()
Constructor.
void drawSingleSample(mrpt::poses::CPose2D &outSample) const
Using this method instead of "poseChange->drawSingleSample()" may be more efficient in most situation...
TEstimationMethod
A list of posible ways for estimating the content of a CActionRobotMovement2D object.
mrpt::math::CMatrixDouble33 m_fastDrawGauss_Z
Auxiliary matrix.
mrpt::poses::CPosePDFPtr poseChange
The 2D pose change probabilistic estimation.
void prepareFastDrawSingleSample_modelThrun() const
Internal use.
mrpt::poses::CPose2D m_fastDrawGauss_M
TEstimationMethod estimationMethod
This fields indicates the way in which this estimation was obtained.
A class used to store a 2D pose.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Options for the gaussian model, which generates a CPosePDFGaussian object in poseChange See docs in :...
Options for the Thrun's model, which generates a CPosePDFParticles object in poseChange See docs in :...
uint32_t nParticlesCount
The default number of particles to generate in a internal representation (anyway you can draw as many...
The parameter to be passed to "computeFromOdometry".
TDrawSampleMotionModel modelSelection
The model to be used.
TMotionModelOptions()
Default values loader.