MRPT
2.0.1
mrpt
poses
CPose2DInterpolator.h
Go to the documentation of this file.
1
/* +------------------------------------------------------------------------+
2
| Mobile Robot Programming Toolkit (MRPT) |
3
| https://www.mrpt.org/ |
4
| |
5
| Copyright (c) 2005-2020, Individual contributors, see AUTHORS file |
6
| See: https://www.mrpt.org/Authors - All rights reserved. |
7
| Released under BSD License. See: https://www.mrpt.org/License |
8
+------------------------------------------------------------------------+ */
9
#pragma once
10
11
#include <
mrpt/poses/CPoseInterpolatorBase.h
>
12
#include <
mrpt/serialization/CSerializable.h
>
13
14
namespace
mrpt::poses
15
{
16
/** This class stores a time-stamped trajectory in SE(2) (mrpt::math::TPose2D
17
* poses).
18
* It can also interpolate SE(2) poses over time using linear, splines or
19
* SLERP interpolation, as set in CPose2DInterpolator::setInterpolationMethod()
20
* Usage:
21
* - Insert new poses into the sequence with CPose2DInterpolator::insert()
22
* - Query an exact/interpolated pose with
23
* CPose2DInterpolator::interpolate().
24
* Example:
25
* \code
26
* CPose2DInterpolator path;
27
*
28
* path.setInterpolationMethod( CPose2DInterpolator::imSplineSlerp );
29
*
30
* path.insert( t0, mrpt::math::TPose2D(...) );
31
* path.insert( t1, mrpt::math::TPose2D(...) );
32
*
33
* mrpt::math::TPose2D p;
34
* bool valid;
35
*
36
* cout << "Pose at t: " << path.interpolate(t,p,valid).asString() << endl;
37
* \endcode
38
*
39
* Time is represented with mrpt::Clock::time_point.
40
* See mrpt::system for methods and utilities to manage these time references.
41
*
42
* See TInterpolatorMethod for the list of interpolation methods. The default
43
* method at constructor is "imLinearSlerp".
44
*
45
* \sa CPoseOrPoint
46
* \ingroup interpolation_grp poses_grp
47
*/
48
class
CPose2DInterpolator
:
public
mrpt::serialization::CSerializable
,
49
public
mrpt::poses::CPoseInterpolatorBase
<2>
50
{
51
// This must be added to any CSerializable derived class:
52
DEFINE_SERIALIZABLE
(
CPose2DInterpolator
,
mrpt::poses
)
53
54
};
// End of class def.
55
}
// namespace mrpt::poses
CSerializable.h
mrpt::poses::CPoseInterpolatorBase
Base class for SE(2)/SE(3) interpolators.
Definition:
CPoseInterpolatorBase.h:50
mrpt::poses::CPose2DInterpolator
This class stores a time-stamped trajectory in SE(2) (mrpt::math::TPose2D poses). ...
Definition:
CPose2DInterpolator.h:48
mrpt::poses
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
Definition:
CHierarchicalMapMHPartition.h:22
mrpt::serialization::CSerializable
The virtual base class which provides a unified interface for all persistent objects in MRPT...
Definition:
CSerializable.h:30
DEFINE_SERIALIZABLE
#define DEFINE_SERIALIZABLE(class_name, NS)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
Definition:
CSerializable.h:152
CPoseInterpolatorBase.h
Page generated by
Doxygen 1.8.14
for MRPT 2.0.1 Git: 0fef1a6d7 Fri Apr 3 23:00:21 2020 +0200 at vie abr 3 23:20:28 CEST 2020