MRPT  2.0.0
List of all members | Public Member Functions | Public Attributes | Private Attributes
mrpt::poses::SE_average< 2 > Class Template Reference

Detailed Description

template<>
class mrpt::poses::SE_average< 2 >

Computes weighted and un-weighted averages of SE(2) poses.

Add values to average with append(), when done call get_average(). Use clear() to reset the accumulator and start a new average computation. Theoretical base: See SO_average<2> for the rotation part. The translation is a simple arithmetic mean in Euclidean space.

Note
Class introduced in MRPT 1.3.1
See also
SE_traits

Definition at line 119 of file SO_SE_average.h.

#include <mrpt/poses/SO_SE_average.h>

Public Member Functions

 SE_average ()
 Constructor. More...
 
void clear ()
 Resets the accumulator. More...
 
void append (const mrpt::poses::CPose2D &p)
 Adds a new pose to the computation. More...
 
void append (const mrpt::poses::CPose2D &p, const double weight)
 Adds a new pose to the weighted-average computation. More...
 
void append (const mrpt::math::TPose2D &p, const double weight)
 
void get_average (mrpt::poses::CPose2D &out_mean) const
 Returns the average pose. More...
 

Public Attributes

bool enable_exception_on_undeterminate {false}
 (Default=false) Set to true if you want to raise an exception on undetermined average values. More...
 

Private Attributes

double m_count {0}
 
double m_accum_x {0}
 
double m_accum_y {0}
 
SO_average< 2 > m_rot_part
 

Constructor & Destructor Documentation

◆ SE_average()

Constructor.

Member Function Documentation

◆ append() [1/3]

void mrpt::poses::SE_average< 2 >::append ( const mrpt::poses::CPose2D p)

Adds a new pose to the computation.

See also
get_average

Referenced by mrpt::poses::CPosePDFGrid::getMean(), mrpt::poses::CPosePDFParticles::getMean(), and mrpt::poses::CPosePDFSOG::getMean().

Here is the caller graph for this function:

◆ append() [2/3]

void mrpt::poses::SE_average< 2 >::append ( const mrpt::poses::CPose2D p,
const double  weight 
)

Adds a new pose to the weighted-average computation.

See also
get_average

◆ append() [3/3]

void mrpt::poses::SE_average< 2 >::append ( const mrpt::math::TPose2D p,
const double  weight 
)

◆ clear()

void mrpt::poses::SE_average< 2 >::clear ( )

Resets the accumulator.

◆ get_average()

void mrpt::poses::SE_average< 2 >::get_average ( mrpt::poses::CPose2D out_mean) const

Returns the average pose.

Exceptions
std::logic_errorIf no data point were inserted.
std::runtime_errorUpon undeterminate average value (ie the average lays exactly on the origin point) and enable_exception_on_undeterminate is set to true (otherwise, the 0 orientation would be returned)
See also
append

Referenced by mrpt::poses::CPosePDFGrid::getMean(), mrpt::poses::CPosePDFParticles::getMean(), and mrpt::poses::CPosePDFSOG::getMean().

Here is the caller graph for this function:

Member Data Documentation

◆ enable_exception_on_undeterminate

bool mrpt::poses::SE_average< 2 >::enable_exception_on_undeterminate {false}

(Default=false) Set to true if you want to raise an exception on undetermined average values.

Definition at line 141 of file SO_SE_average.h.

◆ m_accum_x

double mrpt::poses::SE_average< 2 >::m_accum_x {0}
private

Definition at line 145 of file SO_SE_average.h.

◆ m_accum_y

double mrpt::poses::SE_average< 2 >::m_accum_y {0}
private

Definition at line 145 of file SO_SE_average.h.

◆ m_count

double mrpt::poses::SE_average< 2 >::m_count {0}
private

Definition at line 144 of file SO_SE_average.h.

◆ m_rot_part

SO_average<2> mrpt::poses::SE_average< 2 >::m_rot_part
private

Definition at line 146 of file SO_SE_average.h.




Page generated by Doxygen 1.8.14 for MRPT 2.0.0 Git: b38439d21 Tue Mar 31 19:58:06 2020 +0200 at miƩ abr 1 00:50:30 CEST 2020