31 rawOdometryIncrementReading(),
32 estimationMethod( emOdometry ),
33 motionModelConfiguration(),
34 hasVelocities(6,false),
37 velocities.assign(.0);
57 out << hasVelocities << velocities;
80 in >> hasVelocities >> velocities;
95 const CPose3D &odometryIncrement,
99 estimationMethod = emOdometry;
100 rawOdometryIncrementReading = odometryIncrement;
101 motionModelConfiguration = options;
104 computeFromOdometry_model6DOF( odometryIncrement, options );
112 modelSelection(mm6DOF),
136 const CPose3D &odometryIncrement,
143 static CPose3D nullPose(0,0,0,0,0,0);
145 mrpt::poses::CPose3DPDFPtr poseChangeTemp = CPose3DPDFParticles::Create();
196 float Ayaw1 = ( odometryIncrement.
y()!=0 || odometryIncrement.
x()!=0) ?
197 atan2( odometryIncrement.
y(), odometryIncrement.
x() ) : 0;
199 float Atrans = odometryIncrement.
norm();
201 float Apitch1 = ( odometryIncrement.
y()!=0 || odometryIncrement.
x()!=0 || odometryIncrement.z()!=0) ?
202 atan2( odometryIncrement.z(), odometryIncrement.
norm()) : 0;
204 float Aroll = odometryIncrement.
roll();
205 float Apitch2 = odometryIncrement.
pitch();
206 float Ayaw2 = odometryIncrement.
yaw();
231 aux->
m_particles[i].d->setYawPitchRoll(new_yaw,new_pitch,new_roll);
#define IMPLEMENTS_SERIALIZABLE(class_name, base, NameSpace)
This must be inserted in all CSerializable classes implementation files.
CParticleList m_particles
The array of particles.
Declares a class for storing a robot action.
Represents a probabilistic 3D (6D) movement.
mrpt::poses::CPose3DPDFGaussian poseChange
The 3D pose change probabilistic estimation.
void computeFromOdometry(const mrpt::poses::CPose3D &odometryIncrement, const TMotionModelOptions &options)
Computes the PDF of the pose increment from an odometry reading and according to the given motion mod...
TEstimationMethod
A list of posible ways for estimating the content of a CActionRobotMovement3D object.
struct OBS_IMPEXP mrpt::obs::CActionRobotMovement3D::TMotionModelOptions motionModelConfiguration
void writeToStream(mrpt::utils::CStream &out, int *getVersion) const
Introduces a pure virtual method responsible for writing to a CStream.
void computeFromOdometry_model6DOF(const mrpt::poses::CPose3D &odometryIncrement, const TMotionModelOptions &o)
Computes the PDF of the pose increment from an odometry reading, using the motion model for 6 DOF.
void readFromStream(mrpt::utils::CStream &in, int version)
Introduces a pure virtual method responsible for loading from a CStream This can not be used directly...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
double pitch() const
Get the PITCH angle (in radians)
double roll() const
Get the ROLL angle (in radians)
double yaw() const
Get the YAW angle (in radians)
void copyFrom(const CPose3DPDF &o) MRPT_OVERRIDE
Copy operator, translating if necesary (for example, between particles and gaussian representations)
Declares a class that represents a Probability Density function (PDF) of a 3D pose.
void resetDeterministic(const CPose3D &location, size_t particlesCount=0)
Reset the PDF to a single point: All m_particles will be set exactly to the supplied pose.
double x() const
Common members of all points & poses classes.
double norm() const
Returns the euclidean norm of vector: .
double drawGaussian1D_normalized(double *likelihood=NULL)
Generate a normalized (mean=0, std=1) normally distributed sample.
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
#define INVALID_TIMESTAMP
Represents an invalid timestamp, where applicable.
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations.
This namespace contains representation of robot actions and observations.
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
A namespace of pseudo-random numbers genrators of diferent distributions.
BASE_IMPEXP CRandomGenerator randomGenerator
A static instance of a CRandomGenerator class, for use in single-thread applications.
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values,...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
unsigned __int32 uint32_t
float additional_std_XYZ
An additional noise added to the 6DOF model (std.
float additional_std_angle
uint32_t nParticlesCount
Options for the 6DOFModel model which generates a CPosePDFParticles object an then create from that C...
The parameter to be passed to "computeFromOdometry".
struct OBS_IMPEXP mrpt::obs::CActionRobotMovement3D::TMotionModelOptions::TOptions_6DOFModel mm6DOFModel
TDrawSampleMotionModel modelSelection
The model to be used.
TMotionModelOptions()
Default values loader.