Go to the documentation of this file.
95 double a1_,
double a2_,
double a3_,
double a4_,
96 double minStdXY_,
double minStdPHI_)
TOptions_GaussianModel(double a1_, double a2_, double a3_, double a4_, double minStdXY_, double minStdPHI_)
mrpt::poses::CPose2D m_fastDrawGauss_M
double minStdPHI
Additional uncertainty: [degrees].
void drawSingleSample_modelGaussian(mrpt::poses::CPose2D &outSample) const
The sample generator for the model "computeFromOdometry_modelGaussian", internally called when the us...
void prepareFastDrawSingleSample_modelThrun() const
Internal use.
#define MRPT_ENUM_TYPE_END()
TDrawSampleMotionModel modelSelection
The model to be used.
Options for the Thrun's model, which generates a CPosePDFParticles object in poseChange using a Monte...
double velocityAng() const
TOptions_GaussianModel gaussianModel
#define DEFINE_SERIALIZABLE(class_name, NS)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
bool hasVelocities
If "true" means that "velocityLin" and "velocityAng" contain valid values.
double a2
Ratio of uncertainty: [meter/degree].
double a4
Ratio of uncertainty: [degree/degree].
void drawSingleSample(mrpt::poses::CPose2D &outSample) const
Using this method instead of "poseChange->drawSingleSample()" may be more efficient in most situation...
double vx
Velocity components: X,Y (m/s)
Represents a probabilistic 2D movement of the robot mobile base.
#define MRPT_ENUM_TYPE_BEGIN(_ENUM_TYPE_WITH_NS)
void drawSingleSample_modelThrun(mrpt::poses::CPose2D &outSample) const
The sample generator for the model "computeFromOdometry_modelThrun", internally called when the user ...
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 ...
This namespace contains representation of robot actions and observations.
mrpt::math::CMatrixDouble33 m_fastDrawGauss_Z
Auxiliary matrix.
double velocityLin() const
TEstimationMethod estimationMethod
This fields indicates the way in which this estimation was obtained.
TOptions_ThrunModel thrunModel
virtual void getDescriptionAsText(std::ostream &o) const override
Build a detailed, multi-line textual description of the action contents and dump it to the output str...
mrpt::poses::CPose2D rawOdometryIncrementReading
This is the raw odometry reading, and only is used when "estimationMethod" is "TEstimationMethod::emO...
A class used to store a 2D pose, including the 2D coordinate point and a heading (phi) angle.
constexpr double RAD2DEG(const double x)
Radians to degrees.
double minStdXY
Additional uncertainty: [meters].
double a3
Ratio of uncertainty: [degree/meter].
TMotionModelOptions()=default
Default values loader.
void fastDrawSingleSample(mrpt::poses::CPose2D &outSample) const
Faster version than "drawSingleSample", but requires a previous call to "prepareFastDrawSingleSamples...
int32_t encoderRightTicks
float additional_std_XY
An additional noise added to the thrun model (std.
Options for the gaussian model, which generates a CPosePDFGaussian object in poseChange using a close...
constexpr double DEG2RAD(const double x)
Degrees to radians
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 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...
uint32_t nParticlesCount
The default number of particles to generate in a internal representation (anyway you can draw as many...
mrpt::math::TTwist2D velocityLocal
If "hasVelocities"=true, the robot velocity in local (robot frame, +X forward) coordinates.
double a1
Ratio of uncertainty: [meter/meter].
bool hasEncodersInfo
If "true" means that "encoderLeftTicks" and "encoderRightTicks" contain valid values.
mrpt::containers::deepcopy_poly_ptr< mrpt::poses::CPosePDF::Ptr > poseChange
The 2D pose change probabilistic estimation.
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...
Declares a class for storing a robot action.
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 fastDrawSingleSample_modelThrun(mrpt::poses::CPose2D &outSample) const
Internal use.
The parameter to be passed to "computeFromOdometry".
void fastDrawSingleSample_modelGaussian(mrpt::poses::CPose2D &outSample) const
Internal use.
TMotionModelOptions motionModelConfiguration
double omega
Angular velocity (rad/s)
TOptions_GaussianModel()=default
TEstimationMethod
A list of posible ways for estimating the content of a CActionRobotMovement2D object.
int32_t encoderLeftTicks
For odometry only: the ticks count for each wheel FROM the last reading (positive means FORWARD,...
2D twist: 2D velocity vector (vx,vy) + planar angular velocity (omega)
MRPT_FILL_ENUM_MEMBER(mrpt::obs::CActionRobotMovement2D, emOdometry)
Page generated by Doxygen 1.8.17 for MRPT 2.0.3 at Fri May 15 23:51:15 UTC 2020 | |