From a7b3b977fe3e5936359874e227551f28825dbd84 Mon Sep 17 00:00:00 2001 From: Sergi Pujol <sergi.pujol.badell@estudiantat.upc.edu> Date: Sun, 14 Feb 2021 10:00:10 +0100 Subject: [PATCH] added class loopClosureFalko --- src/CMakeLists.txt | 2 ++ src/loop_closure_falko.cpp | 26 ++++++++++++++++ src/loop_closure_falko.h | 64 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 src/loop_closure_falko.cpp create mode 100644 src/loop_closure_falko.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index cec2f98..3860988 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -66,6 +66,7 @@ SET(HDRS IF(falkolib_FOUND) SET(HDRS ${HDRS} corner_falko_2d.h + loop_closure_falko.h corner_scene.h) ENDIF(falkolib_FOUND) @@ -96,6 +97,7 @@ SET(SRCS IF(falkolib_FOUND) SET(SRCS ${SRCS} corner_falko_2d.cpp + loop_closure_falko.cpp corner_scene.cpp) ENDIF(falkolib_FOUND) diff --git a/src/loop_closure_falko.cpp b/src/loop_closure_falko.cpp new file mode 100644 index 0000000..2008e28 --- /dev/null +++ b/src/loop_closure_falko.cpp @@ -0,0 +1,26 @@ +/** + * \file loop_closure_base_2d.h + * + * Created on: Feb 9, 2021 + * \author: spujol + */ + +# include "loop_closure_falko.h" + +namespace laserscanutils{ + + loopClosureFalko::loopClosureFalko(){} + loopClosureFalko::~loopClosureFalko(){} +/* + std::shared_ptr<cornerScene> loopClosureBase2d::extractScene(LaserScan &scan,LaserScanParams &scanParams){ + + auto NewScene=std::make_shared<cornerScene>(); + + return NewScene; + } +*/ + + //void findLoopClosure(std::list<cornerScene>& scenes, const cornerScene newScene){} + + +} diff --git a/src/loop_closure_falko.h b/src/loop_closure_falko.h new file mode 100644 index 0000000..6053c7b --- /dev/null +++ b/src/loop_closure_falko.h @@ -0,0 +1,64 @@ +/** + * \file loop_closure_base_2d.h + * + * Created on: Feb 9, 2021 + * \author: spujol + */ + +#ifndef LOOP_CLOSURE_FALKO_H_ +#define LOOP_CLOSURE_FALKO_H_ + +#include <iostream> +#include <fstream> +#include <memory> + +/************************** + * laser_scan_utils includes * + **************************/ +#include "laser_scan.h" +#include "corner_scene.h" + +/************************** + * Falko includes * + **************************/ +#include <falkolib/Feature/FALKO.h> +#include <falkolib/Feature/CGH.h> +#include <falkolib/Feature/BSC.h> +#include <falkolib/Feature/FALKOExtractor.h> + +#include <falkolib/Feature/BSCExtractor.h> +#include <falkolib/Feature/CGHExtractor.h> + +#include <falkolib/Matching/NNMatcher.h> +#include <falkolib/Matching/AHTMatcher.h> + +namespace laserscanutils +{ + + /** \brief A 2base class for loop closure using falko library +*/ +class loopClosureFalko{ +private: + +public: + /** \brief Constructor + **/ + loopClosureFalko(); + + /** \brief Destructor + **/ + ~loopClosureFalko(); + + /** \brief compare new scans against the trained set in order to find loop closures + **/ + void findLoopClosure(std::list<cornerScene>& scenes, const cornerScene newScene){} + + /** \brief update the scene struct with keypoints and descriptors + **/ + std::shared_ptr<cornerScene> extractScene(LaserScan &scan,LaserScanParams &scanParams){} + + +}; +} /* namespace laserscanutils */ + +#endif /* LOOP_CLOSURE_FALKO_H_ */ -- GitLab