From b7ed32b136f5a9c96b437435937495a2e0c2b712 Mon Sep 17 00:00:00 2001 From: Sergi Pujol <sergi.pujol.badell@estudiantat.upc.edu> Date: Tue, 9 Feb 2021 15:04:21 +0100 Subject: [PATCH] added cornerScene struct --- src/CMakeLists.txt | 8 ++++++-- src/corner_scene.cpp | 0 src/corner_scene.h | 23 +++++++++++++++++++++++ src/loop_closure_base_2d.cpp | 16 ++++++++++++++++ src/loop_closure_base_2d.h | 23 +++++++++++++++++++++-- 5 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 src/corner_scene.cpp create mode 100644 src/corner_scene.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b187780..cec2f98 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -56,6 +56,7 @@ SET(HDRS point_set.h polyline.h scan_segment.h + loop_closure_base_2d.h ) IF(csm_FOUND) SET(HDRS ${HDRS} @@ -64,7 +65,8 @@ SET(HDRS IF(falkolib_FOUND) SET(HDRS ${HDRS} - corner_falko_2d.h) + corner_falko_2d.h + corner_scene.h) ENDIF(falkolib_FOUND) #sources @@ -84,6 +86,7 @@ SET(SRCS point_set.cpp polyline.cpp scan_segment.cpp + loop_closure_base_2d.cpp ) IF(csm_FOUND) SET(SRCS ${SRCS} @@ -92,7 +95,8 @@ SET(SRCS IF(falkolib_FOUND) SET(SRCS ${SRCS} - corner_falko_2d.cpp) + corner_falko_2d.cpp + corner_scene.cpp) ENDIF(falkolib_FOUND) diff --git a/src/corner_scene.cpp b/src/corner_scene.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/corner_scene.h b/src/corner_scene.h new file mode 100644 index 0000000..a2cd43c --- /dev/null +++ b/src/corner_scene.h @@ -0,0 +1,23 @@ +/** + * \file corner_scene.h + * + * Created on: Feb 9, 2021 + * \author: spujol + */ + +#ifndef CORNER_SCENE_H_ +#define CORNER_SCENE_H_ + +#include <iostream> +#include <fstream> + +namespace laserscanutils +{ +struct cornerScene{ + std::vector<double> keypointsList; + std::vector<double> descriptorsList; +}; + +} /* namespace laserscanutils */ + +#endif /* CORNER_SCENE_H_ */ \ No newline at end of file diff --git a/src/loop_closure_base_2d.cpp b/src/loop_closure_base_2d.cpp index e69de29..1693e91 100644 --- a/src/loop_closure_base_2d.cpp +++ b/src/loop_closure_base_2d.cpp @@ -0,0 +1,16 @@ +/** + * \file loop_closure_base_2d.h + * + * Created on: Feb 9, 2021 + * \author: spujol + */ + +# include "loop_closure_base_2d.h" + +namespace laserscanutils{ + + cornerScene extractScene(LaserScan scan,LaserScanParams scanParams){ + cornerScene NewScene; + return NewScene; + } +} \ No newline at end of file diff --git a/src/loop_closure_base_2d.h b/src/loop_closure_base_2d.h index 0c36cf1..73edd7d 100644 --- a/src/loop_closure_base_2d.h +++ b/src/loop_closure_base_2d.h @@ -11,8 +11,20 @@ #include <iostream> #include <fstream> +/************************** + * laser_scan_utils includes * + **************************/ +#include "laser_scan.h" +#include "corner_scene.h" + namespace laserscanutils { + /* +struct cornerScene{ + std::vector<double> keypointsList; + std::vector<double> descriptorsList; +};*/ + /** \brief A 2base class for loop closure using falko library */ class loopClosureBase2d{ @@ -21,14 +33,21 @@ private: public: /** \brief Constructor **/ - loopClosureBase2d(); /** \brief Destructor **/ ~loopClosureBase2d(); + /** \brief compare new scans against the trained set in order to find loop closures + **/ + virtual void findLoopClosure(); + + /** \brief update the scene struct with keypoints and descriptors + **/ + virtual cornerScene extractScene(LaserScan scan,LaserScanParams scanParams); + }; } /* namespace laserscanutils */ -#endif /* LANDMARK_POLYLINE_2d_H_ */ \ No newline at end of file +#endif /* LOOP_CLOSURE_BASE_2D_H_ */ \ No newline at end of file -- GitLab