Main MRPT website > C++ reference for MRPT 1.9.9
CPose2DInterpolator_unittest.cpp
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 
11 #include <mrpt/system/datetime.h>
12 #include <CTraitsTest.h>
13 #include <gtest/gtest.h>
14 
15 template class mrpt::CTraitsTest<mrpt::poses::CPose2DInterpolator>;
16 
17 TEST(CPose2DInterpolator, interp)
18 {
19  using namespace mrpt::poses;
20  using mrpt::math::TPose2D;
21  using mrpt::DEG2RAD;
22 
25 
26  CPose2DInterpolator pose_path;
27 
28  pose_path.insert(t0, TPose2D(1., 2., DEG2RAD(30.0)));
29  pose_path.insert(
30  t0 + 2 * dt, TPose2D(1. + 3., 2. + 4., DEG2RAD(30.0 + 20.0)));
31 
32  TPose2D interp;
33  bool valid;
34  pose_path.interpolate(t0 + dt, interp, valid);
35 
36  EXPECT_TRUE(valid);
37 
38  const TPose2D interp_good(1. + 1.5, 2. + 2.0, DEG2RAD(30.0 + 10.0));
39  for (unsigned int i = 0; i < interp_good.size(); i++)
40  {
41  EXPECT_NEAR(interp_good[i], interp[i], 1e-4);
42  }
43 }
mrpt::system::secondsToTimestamp
mrpt::system::TTimeStamp secondsToTimestamp(const double nSeconds)
Transform a time interval (in seconds) into TTimeStamp (e.g.
Definition: datetime.cpp:224
CPose2DInterpolator.h
mrpt::system::now
mrpt::system::TTimeStamp now()
A shortcut for system::getCurrentTime.
Definition: datetime.h:75
TEST
TEST(CPose2DInterpolator, interp)
Definition: CPose2DInterpolator_unittest.cpp:17
mrpt::poses::CPoseInterpolatorBase::interpolate
pose_t & interpolate(mrpt::system::TTimeStamp t, pose_t &out_interp, bool &out_valid_interp) const
Returns the pose at a given time, or interpolates using splines if there is not an exact match.
Definition: CPoseInterpolatorBase.hpp:59
interp
GLuint interp
Definition: glext.h:7133
mrpt::poses
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
Definition: CHierarchicalMapMHPartition.h:25
mrpt::system::TTimeStamp
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1,...
Definition: datetime.h:31
mrpt::poses::CPoseInterpolatorBase::insert
void insert(mrpt::system::TTimeStamp t, const pose_t &p)
Inserts a new pose in the sequence.
Definition: CPoseInterpolatorBase.hpp:41
mrpt::math::TPose2D
Lightweight 2D pose.
Definition: lightweight_geom_data.h:186
mrpt::poses::CPose2DInterpolator
This class stores a time-stamped trajectory in SE(2) (mrpt::math::TPose2D poses).
Definition: CPose2DInterpolator.h:50
datetime.h
mrpt::DEG2RAD
double DEG2RAD(const double x)
Degrees to radians.
Definition: core/include/mrpt/core/bits_math.h:42



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