class mrpt::poses::CPoses2DSequence

Overview

This class stores a sequence of relative, incremental 2D 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:

CPose2D, CMultiMetricMap

#include <mrpt/poses/CPoses2DSequence.h>

class CPoses2DSequence: public mrpt::serialization::CSerializable
{
public:
    // methods

    size_t posesCount();
    void getPose(unsigned int ind, CPose2D& outPose);
    void changePose(unsigned int ind, CPose2D& inPose);
    void appendPose(CPose2D& newPose);
    void clear();
    CPose2D absolutePoseOf(unsigned int n);
    CPose2D absolutePoseAfterAll();
    double computeTraveledDistanceAfter(size_t n);
    double computeTraveledDistanceAfterAll();
};

Methods

size_t posesCount()

Returns the poses count in the sequence:

void getPose(unsigned int ind, CPose2D& 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, CPose2D& 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(CPose2D& 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.

CPose2D 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:

absolutePoseAfterAll

CPose2D absolutePoseAfterAll()

A shortcut for “absolutePoseOf( posesCount() )”.

See also:

absolutePoseOf, posesCount

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:

computeTraveledDistanceAfter