Main MRPT website
>
C++ reference for MRPT 1.9.9
mrpt
poses
CPose2DInterpolator.h
Go to the documentation of this file.
1
/* +------------------------------------------------------------------------+
2
| Mobile Robot Programming Toolkit (MRPT) |
3
| http://www.mrpt.org/ |
4
| |
5
| Copyright (c) 2005-2018, Individual contributors, see AUTHORS file |
6
| See: http://www.mrpt.org/Authors - All rights reserved. |
7
| Released under BSD License. See details in http://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
15
{
16
namespace
poses
17
{
18
/** This class stores a time-stamped trajectory in SE(2) (mrpt::math::TPose2D
19
* poses).
20
* It can also interpolate SE(2) poses over time using linear, splines or
21
* SLERP interpolation, as set in CPose2DInterpolator::setInterpolationMethod()
22
* Usage:
23
* - Insert new poses into the sequence with CPose2DInterpolator::insert()
24
* - Query an exact/interpolated pose with
25
* CPose2DInterpolator::interpolate().
26
* Example:
27
* \code
28
* CPose2DInterpolator path;
29
*
30
* path.setInterpolationMethod( CPose2DInterpolator::imSplineSlerp );
31
*
32
* path.insert( t0, mrpt::math::TPose2D(...) );
33
* path.insert( t1, mrpt::math::TPose2D(...) );
34
*
35
* mrpt::math::TPose2D p;
36
* bool valid;
37
*
38
* cout << "Pose at t: " << path.interpolate(t,p,valid).asString() << endl;
39
* \endcode
40
*
41
* Time is represented with mrpt::system::TTimeStamp. See mrpt::system for
42
* methods and utilities to manage these time references.
43
*
44
* See TInterpolatorMethod for the list of interpolation methods. The default
45
* method at constructor is "imLinearSlerp".
46
*
47
* \sa CPoseOrPoint
48
* \ingroup interpolation_grp poses_grp
49
*/
50
class
CPose2DInterpolator
:
public
mrpt::serialization::CSerializable
,
51
public
mrpt::poses::CPoseInterpolatorBase
<2>
52
{
53
// This must be added to any CSerializable derived class:
54
DEFINE_SERIALIZABLE
(
CPose2DInterpolator
)
55
56
};
// End of class def.
57
}
// End of namespace
58
}
// End of namespace
mrpt::poses::CPoseInterpolatorBase
Base class for SE(2)/SE(3) interpolators.
Definition:
CPoseInterpolatorBase.h:52
CPoseInterpolatorBase.h
mrpt
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Definition:
CKalmanFilterCapable.h:30
mrpt::serialization::CSerializable
The virtual base class which provides a unified interface for all persistent objects in MRPT.
Definition:
CSerializable.h:32
mrpt::poses::CPose2DInterpolator
This class stores a time-stamped trajectory in SE(2) (mrpt::math::TPose2D poses).
Definition:
CPose2DInterpolator.h:50
DEFINE_SERIALIZABLE
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
Definition:
CSerializable.h:102
CSerializable.h
Page generated by
Doxygen 1.8.17
for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST