121 double bestDet = 1e3;
126 if ((*it)->GetRuntimeClass()->derivedFrom(
133 if (temp->estimationMethod ==
139 double det = temp->poseChange->getCovariance().det();
173 if ((*it)->GetRuntimeClass()->derivedFrom(
181 if (temp->estimationMethod == method)
209 CPose3D& out_pose_increment)
const 212 getActionByClass<CActionRobotMovement3D>();
215 out_pose_increment = act3D->poseChange.mean;
219 getActionByClass<CActionRobotMovement2D>();
222 out_pose_increment =
CPose3D(act2D->poseChange->getMeanVal());
235 getActionByClass<CActionRobotMovement3D>();
238 out_pose_increment = act3D->poseChange;
242 getActionByClass<CActionRobotMovement2D>();
245 out_pose_increment.
copyFrom(*act2D->poseChange);
EIGEN_STRONG_INLINE Scalar det() const
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
bool getFirstMovementEstimationMean(mrpt::poses::CPose3D &out_pose_increment) const
Look for the first 2D or 3D "odometry" found in this collection of actions, and return the "mean" inc...
void copyFrom(const CPose3DPDF &o) override
Copy operator, translating if necesary (for example, between particles and gaussian representations) ...
The virtual base class which provides a unified interface for all persistent objects in MRPT...
#define IMPLEMENTS_SERIALIZABLE(class_name, base, NameSpace)
This must be inserted in all CSerializable classes implementation files.
const_iterator end() const
Returns a iterator pointing to the end of the list: this is an example of usage:
#define THROW_EXCEPTION(msg)
virtual CObject * clone() const =0
Returns a deep copy (clone) of the object, indepently of its class.
std::deque< mrpt::utils::poly_ptr_ptr< CAction::Ptr > > m_actions
The robot "actionss".
CActionRobotMovement2D::Ptr getMovementEstimationByType(CActionRobotMovement2D::TEstimationMethod method)
Returns the pose increment estimator in the collection having the specified type. ...
void readFromStream(mrpt::utils::CStream &in, int version) override
Introduces a pure virtual method responsible for loading from a CStream This can not be used directly...
Declares a class for storing a collection of robot actions.
Represents a probabilistic 2D movement of the robot mobile base.
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
#define CLASS_ID(T)
Access to runtime class ID for a defined class name.
std::shared_ptr< CActionRobotMovement2D > Ptr
CActionRobotMovement2D::Ptr getBestMovementEstimation() const
Returns the best pose increment estimator in the collection, based on the determinant of its pose cha...
CAction::Ptr get(size_t index)
Access the i'th action.DO NOT MODIFY the returned object, make a copy of ir with "CSerializable::dupl...
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations.
std::shared_ptr< CAction > Ptr
void clear()
Erase all actions from the list.
std::deque< mrpt::utils::poly_ptr_ptr< CAction::Ptr > >::iterator iterator
You can use CActionCollection::begin to get a iterator to the first element.
This namespace contains representation of robot actions and observations.
TEstimationMethod
A list of posible ways for estimating the content of a CActionRobotMovement2D object.
std::shared_ptr< CActionRobotMovement3D > Ptr
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
iterator erase(const iterator &it)
Removes the given action in the list, and return an iterator to the next element (or this->end() if i...
Declares a class for storing a robot action.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Declares a class that represents a Probability Density function (PDF) of a 3D pose ...
size_t size()
Returns the actions count in the collection.
std::deque< mrpt::utils::poly_ptr_ptr< CAction::Ptr > >::const_iterator const_iterator
You can use CActionCollection::begin to get a iterator to the first element.
void eraseByIndex(const size_t &index)
Remove an action from the list by its index.
unsigned __int32 uint32_t
GLubyte GLubyte GLubyte a
void writeToStream(mrpt::utils::CStream &out, int *getVersion) const override
Introduces a pure virtual method responsible for writing to a CStream.
const_iterator begin() const
Returns a iterator to the first action: this is an example of usage:
bool getFirstMovementEstimation(mrpt::poses::CPose3DPDFGaussian &out_pose_increment) const
Look for the first 2D or 3D "odometry" found in this collection of actions, and return the "mean" inc...
void insert(CAction &action)
Add a new object to the list.