class mrpt::poses::CPoses3DSequence
This class stores a sequence of relative, incremental 3D poses.
It is useful as the bases storing unit for more complex probability particles and for computing the absolute pose of any intermediate pose.
See also:
CPose3D, CMultiMetricMap
#include <mrpt/poses/CPoses3DSequence.h> class CPoses3DSequence: public mrpt::serialization::CSerializable { public: // methods size_t posesCount(); void getPose(unsigned int ind, CPose3D& outPose); void changePose(unsigned int ind, CPose3D& inPose); void appendPose(CPose3D& newPose); void clear(); CPose3D absolutePoseOf(unsigned int n); CPose3D absolutePoseAfterAll(); double computeTraveledDistanceAfter(size_t n); double computeTraveledDistanceAfterAll(); };
Methods
size_t posesCount()
Returns the poses count in the sequence:
void getPose(unsigned int ind, CPose3D& outPose)
Reads the stored pose at index “ind”, where the first one is 0, the last “posesCount() - 1”.
Parameters:
std::exception |
On invalid index value |
void changePose(unsigned int ind, CPose3D& inPose)
Changes the stored pose at index “ind”, where the first one is 0, the last “posesCount() - 1”.
Parameters:
std::exception |
On invalid index value |
void appendPose(CPose3D& newPose)
Appends a new pose at the end of sequence.
Remember that poses are relative, incremental to the last one.
void clear()
Clears the sequence.
CPose3D absolutePoseOf(unsigned int n)
Returns the absolute pose of a robot after moving “n” poses, so for “n=0” the origin pose (0,0,0deg) is returned, for “n=1” the first pose is returned, and for “n=posesCount()”, the pose of robot after moving ALL poses is returned, all of them relative to the starting pose.
Parameters:
std::exception |
On invalid index value |
See also:
CPose3D absolutePoseAfterAll()
A shortcut for “absolutePoseOf( posesCount() )”.
See also:
double computeTraveledDistanceAfter(size_t n)
Returns the traveled distance after moving “n” poses, so for “n=0” it returns 0, for “n=1” the first traveled distance, and for “n=posesCount()”, the total distance after ALL movements.
Parameters:
std::exception |
On invalid index value |
See also:
computeTraveledDistanceAfterAll
double computeTraveledDistanceAfterAll()
Returns the traveled distance after ALL movements.
A shortcut for “computeTraveledDistanceAfter( posesCount() )”.
See also: