14 #include <gtest/gtest.h> 24 namespace mrpt {
namespace utils {
30 TEST(TopographyReconstructPathFrom3RTK, sampleDataset )
39 cerr <<
"WARNING: Skipping test due to missing file: " << dataset_fil <<
"\n";
44 cerr <<
"WARNING: Skipping test due to error loading file: " << dataset_fil <<
"\n";
63 EXPECT_EQ(robot_path.
size(),75u);
70 const CPose3D pose_GT_1(279.696, 216.623, 9.21315, 0.195764, -0.0319733, -0.0420478 );
71 const CPose3D pose_GT_2(377.087, 233.311, 10.474,0.178932,-0.0212096,-0.0154982 );
89 EXPECT_NEAR( (p1vec - p1vec_gt).array().abs().
sum(), 0, 1e-3);
90 EXPECT_NEAR( (p2vec - p2vec_gt).array().abs().
sum(), 0, 1e-3);
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
std::string MRPT_GLOBAL_UNITTEST_SRC_DIR
TEST(TopographyReconstructPathFrom3RTK, sampleDataset)
bool BASE_IMPEXP fileExists(const std::string &fileName)
Test if a given file (or directory) exists.
Column vector, like Eigen::MatrixX*, but automatically initialized to zeros since construction...
Used to return optional information from mrpt::topography::path_from_rtk_gps.
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...
bool loadFromRawLogFile(const std::string &fileName, bool non_obs_objects_are_legal=false)
Load the contents from a file containing one of these possibilities:
This base provides a set of functions for maths stuff.
CONTAINER::Scalar sum(const CONTAINER &v)
Computes the sum of all the elements.
This class stores a rawlog (robotic datasets) in one of two possible formats:
GLsizei const GLchar ** string
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
This class stores a time-stamped trajectory in SE(3) (CPose3D poses).
This namespace provides topography helper functions, coordinate transformations.
mrpt::system::TTimeStamp BASE_IMPEXP time_tToTimestamp(const double t)
Transform from standard "time_t" (actually a double number, it can contain fractions of seconds) to T...
void getAs12Vector(ARRAYORVECTOR &vec12) const
Get the pose representation as an array with these 12 elements: [r11 r21 r31 r12 r22 r32 r13 r23 r33 ...
size_t size() const
Returns the number of actions / observations object in the sequence.
void TOPO_IMPEXP path_from_rtk_gps(mrpt::poses::CPose3DInterpolator &robot_path, const mrpt::obs::CRawlog &rawlog, size_t rawlog_first, size_t rawlog_last, bool isGUI=false, bool disableGPSInterp=false, int path_smooth_filter_size=2, TPathFromRTKInfo *outInfo=NULL)
Reconstruct the path of a vehicle equipped with 3 RTK GPSs.