From 9398ade14c127f5696739634844983c3191434ee Mon Sep 17 00:00:00 2001 From: Sergi Pujol <sergi.pujol.badell@estudiantat.upc.edu> Date: Sun, 14 Feb 2021 22:34:43 +0100 Subject: [PATCH] gtest_loop_closure_falko added but not implemented --- src/loop_closure_base_2d.h | 2 +- src/loop_closure_falko.cpp | 9 +++++--- src/loop_closure_falko.h | 8 ++++--- test/gtest_loop_closure_base_2d.cpp | 34 +++++++++++++++++++++++++++++ 4 files changed, 46 insertions(+), 7 deletions(-) diff --git a/src/loop_closure_base_2d.h b/src/loop_closure_base_2d.h index def39c0..58ddc4e 100644 --- a/src/loop_closure_base_2d.h +++ b/src/loop_closure_base_2d.h @@ -56,7 +56,7 @@ public: /** \brief update the scene struct with keypoints and descriptors **/ - virtual void extractScene(LaserScan &scan,LaserScanParams &scanParams){} + //virtual void extractScene(LaserScan &scan,LaserScanParams &scanParams){} /** \brief Convert scans from laserscanutils::LaserScan to falkolib::LaserScan object **/ diff --git a/src/loop_closure_falko.cpp b/src/loop_closure_falko.cpp index 38fb164..f03732a 100644 --- a/src/loop_closure_falko.cpp +++ b/src/loop_closure_falko.cpp @@ -22,10 +22,11 @@ namespace laserscanutils{ setGridSectors(16); // Matcher Extractor Parameters - matcher.setDistanceThreshold(0.1); + //matcher.setDistanceThreshold(0.1); } + // DESTRUCTOR template <typename D,typename E, typename M> loopClosureFalko<D,E,M>::~loopClosureFalko(){} @@ -35,9 +36,10 @@ namespace laserscanutils{ auto scanFALKO =loopClosureFalko<D,E,M>::convert2LaserScanFALKO(scan, scanParams); - auto NewScene=std::make_shared<cornerScene<D>>(); + //((*NewScene).keypointsList)=((*scanFALKO).ranges); + return NewScene; } @@ -45,5 +47,6 @@ namespace laserscanutils{ //void findLoopClosure(std::list<cornerScene>& scenes, const cornerScene newScene){} - + //Explicitly compile all the templates + template class loopClosureFalko <bsc, bscExtractor, NNMatcher>; } diff --git a/src/loop_closure_falko.h b/src/loop_closure_falko.h index 451cb82..4150397 100644 --- a/src/loop_closure_falko.h +++ b/src/loop_closure_falko.h @@ -17,6 +17,7 @@ **************************/ #include "laser_scan.h" #include "corner_scene.h" +#include "loop_closure_base_2d.h" /************************** * Falko includes * @@ -42,8 +43,9 @@ typedef falkolib::NNMatcher<falkolib::FALKO> NNMatcher; /** \brief A base class for loop closure using falko library **/ + template <typename D, typename E, typename M> -class loopClosureFalko : public falkolib::FALKOExtractor{ +class loopClosureFalko : public loopClosureBase2d, public falkolib::FALKOExtractor{ private: public: @@ -63,8 +65,8 @@ public: **/ std::shared_ptr<cornerScene<D>> extractScene(LaserScan &scan,LaserScanParams &scanParams); - E extractor; - M matcher; + //E extractor; + //M matcher; }; } /* namespace laserscanutils */ diff --git a/test/gtest_loop_closure_base_2d.cpp b/test/gtest_loop_closure_base_2d.cpp index d60cab9..7ba6372 100644 --- a/test/gtest_loop_closure_base_2d.cpp +++ b/test/gtest_loop_closure_base_2d.cpp @@ -1,10 +1,44 @@ #include "gtest/utils_gtest.h" #include "testData2.h" #include "../src/loop_closure_base_2d.h" +#include "../src/loop_closure_falko.h" + //#include "laser_scan_utils.h" using namespace laserscanutils; +TEST(loop_closure_fako, extractScene) +{ + int scanSize = 1440; + + LaserScan scan; + LaserScanParams laserParams; + + laserParams.angle_min_=0; + laserParams.angle_max_=2.0 * M_PI; + + for (int i=0; i<scanSize; i++) { + scan.ranges_raw_.push_back(testRanges1[i]); + } + + loopClosureFalko<bsc, bscExtractor, NNMatcher> LCFalko; + + std::cout << "AAA" << std::endl; +/* + + std::shared_ptr<falkolib::LaserScan> scanFALKO=LCBase.convert2LaserScanFALKO(scan, laserParams); + + int firstPoint = ((*scanFALKO).ranges)[0]; + + EXPECT_FALSE(false); + + ASSERT_TRUE(true); + + ASSERT_EQ(firstPoint, 250); +*/ +// PRINTF("All good at TestTest::DummyTestExample !\n"); +} + TEST(loop_closure_base_2d, convert2laserScanFalko) { int scanSize = 1440; -- GitLab