MRPT
2.0.4
mrpt
poses
CPose3DInterpolator.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(3) (CPose3D poses).
17
* It can also interpolate SE(3) poses over time using linear, splines or
18
* SLERP interpolation, as set in CPose3DInterpolator::setInterpolationMethod()
19
* Usage:
20
* - Insert new poses into the sequence with CPose3DInterpolator::insert()
21
* - Query an exact/interpolated pose with
22
* CPose3DInterpolator::interpolate().
23
* Example:
24
* \code
25
* CPose3DInterpolator path;
26
*
27
* path.setInterpolationMethod( mrpt::poses::imSplineSlerp );
28
*
29
* path.insert( t0, mrpt::poses::CPose3D(...) );
30
* path.insert( t1, mrpt::math::TPose3D(...) ); // prefered (faster)
31
*
32
* mrpt::math::TPose3D p;
33
* bool valid;
34
*
35
* cout << "Pose at t: " << path.interpolate(t,p,valid).asString() << endl;
36
* \endcode
37
*
38
* Time is represented with mrpt::Clock::time_point. See mrpt::system for
39
* methods and utilities to manage these time references.
40
*
41
* See TInterpolatorMethod for the list of interpolation methods. The default
42
* method at constructor is "imLinearSlerp".
43
*
44
* \sa CPoseOrPoint
45
* \ingroup interpolation_grp poses_grp
46
*/
47
class
CPose3DInterpolator
:
public
mrpt::serialization::CSerializable
,
48
public
mrpt::poses::CPoseInterpolatorBase
<3>
49
{
50
DEFINE_SERIALIZABLE
(
CPose3DInterpolator
,
mrpt::poses
)
51
};
// End of class def.
52
}
// namespace mrpt::poses
CSerializable.h
mrpt::poses::CPoseInterpolatorBase
Base class for SE(2)/SE(3) interpolators.
Definition:
CPoseInterpolatorBase.h:50
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
mrpt::poses::CPose3DInterpolator
This class stores a time-stamped trajectory in SE(3) (CPose3D poses).
Definition:
CPose3DInterpolator.h:47
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.4 Git: 33de1d0ad Sat Jun 20 11:02:42 2020 +0200 at sáb jun 20 17:35:17 CEST 2020