Skip to content
Snippets Groups Projects
Commit b4f6adfa authored by Sergi Pujol's avatar Sergi Pujol
Browse files

passed all functions to loop_closure_falko.h. cpp file empty

parent f4f75253
No related branches found
No related tags found
1 merge request!4Resolve "Implementation of Falko lib"
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
namespace laserscanutils { namespace laserscanutils {
// CONSTRUCTOR // CONSTRUCTOR
/*
template <typename D, typename Extr, typename M> template <typename D, typename Extr, typename M>
loopClosureFalko<D, Extr, M>::loopClosureFalko(int _circularSectorNumber, loopClosureFalko<D, Extr, M>::loopClosureFalko(int _circularSectorNumber,
int _radialRingNumber) int _radialRingNumber)
...@@ -27,11 +28,14 @@ loopClosureFalko<D, Extr, M>::loopClosureFalko(int _circularSectorNumber, ...@@ -27,11 +28,14 @@ loopClosureFalko<D, Extr, M>::loopClosureFalko(int _circularSectorNumber,
// Matcher Extractor Parameters // Matcher Extractor Parameters
matcher_.setDistanceThreshold(0.1); matcher_.setDistanceThreshold(0.1);
} }
*/
/* /*
// DESTRUCTOR // DESTRUCTOR
template <typename D,typename Extr, typename M> template <typename D,typename Extr, typename M>
loopClosureFalko<D,Extr,M>::~loopClosureFalko(){} loopClosureFalko<D,Extr,M>::~loopClosureFalko(){}
*/ */
/*
template <typename D, typename Extr, typename M> template <typename D, typename Extr, typename M>
std::shared_ptr<falkolib::LaserScan> std::shared_ptr<falkolib::LaserScan>
loopClosureFalko<D, Extr, M>::convert2LaserScanFALKO( loopClosureFalko<D, Extr, M>::convert2LaserScanFALKO(
...@@ -43,6 +47,7 @@ loopClosureFalko<D, Extr, M>::convert2LaserScanFALKO( ...@@ -43,6 +47,7 @@ loopClosureFalko<D, Extr, M>::convert2LaserScanFALKO(
((*scanFALKO).fromRanges)(doubleRanges); ((*scanFALKO).fromRanges)(doubleRanges);
return scanFALKO; return scanFALKO;
} }
*/
/* /*
template <typename D,typename Extr, typename M> template <typename D,typename Extr, typename M>
typename loopClosureFalko<D,Extr, M>::sceneFalkoBSCPtr typename loopClosureFalko<D,Extr, M>::sceneFalkoBSCPtr
...@@ -86,5 +91,5 @@ loopClosureFalko<D, Extr, M>::convert2LaserScanFALKO( ...@@ -86,5 +91,5 @@ loopClosureFalko<D, Extr, M>::convert2LaserScanFALKO(
// newScene){} // newScene){}
// Explicitly compile all the templates // Explicitly compile all the templates
template class loopClosureFalko<bsc, bscExtractor, NNMatcher>; //template class loopClosureFalko<bsc, bscExtractor, NNMatcher>;
} }
...@@ -42,6 +42,10 @@ typedef falkolib::BSC bsc; ...@@ -42,6 +42,10 @@ typedef falkolib::BSC bsc;
typedef falkolib::BSCExtractor<falkolib::FALKO> bscExtractor; typedef falkolib::BSCExtractor<falkolib::FALKO> bscExtractor;
typedef falkolib::NNMatcher<falkolib::FALKO> NNMatcher; typedef falkolib::NNMatcher<falkolib::FALKO> NNMatcher;
typedef falkolib::CGH cgh;
typedef falkolib::CGHExtractor<falkolib::FALKO> cghExtractor;
typedef falkolib::AHTMatcher<falkolib::FALKO> AHTatcher;
/** \brief A base class for loop closure using falko library /** \brief A base class for loop closure using falko library
**/ **/
...@@ -52,13 +56,28 @@ private: ...@@ -52,13 +56,28 @@ private:
public: public:
typedef std::shared_ptr<sceneFalko<D>> sceneFalkoBSCPtr; typedef std::shared_ptr<sceneFalko<D>> sceneFalkoBSCPtr;
typedef std::shared_ptr<matchLoopClosure<D>> matchLoopClosurePtr; typedef std::shared_ptr<matchLoopClosure<D>> matchLoopClosurePtr;
typedef std::shared_ptr<falkolib::LaserScan> laserScanPtr;
Extr extractor_; Extr extractor_;
M matcher_; M matcher_;
/** \brief Constructor /** \brief Constructor
**/ **/
loopClosureFalko(int _circularSectorNumber = 16, int _radialRingNumber = 8); loopClosureFalko(int _circularSectorNumber = 16, int _radialRingNumber = 8)
: loopClosureBase2d(), falkolib::FALKOExtractor(),
extractor_(_circularSectorNumber, _radialRingNumber), matcher_() {
// FALKO Extractor Parameters
setMinExtractionRange(0.1);
setMaxExtractionRange(25);
enableSubbeam(true);
setNMSRadius(0.1);
setNeighB(0.01);
setBRatio(4);
setGridSectors(16);
// Matcher Extractor Parameters
matcher_.setDistanceThreshold(0.1);
};
/** \brief Destructor /** \brief Destructor
**/ **/
...@@ -81,8 +100,14 @@ public: ...@@ -81,8 +100,14 @@ public:
/** \brief Convert scans from laserscanutils::LaserScan to /** \brief Convert scans from laserscanutils::LaserScan to
*falkolib::LaserScan object *falkolib::LaserScan object
**/ **/
std::shared_ptr<falkolib::LaserScan> laserScanPtr convert2LaserScanFALKO(LaserScan &scan, LaserScanParams &scanParams) {
convert2LaserScanFALKO(LaserScan &scan, LaserScanParams &scanParams); auto scanFALKO = std::make_shared<falkolib::LaserScan>(
scanParams.angle_min_, scanParams.angle_max_, scan.ranges_raw_.size());
std::vector<double> doubleRanges(scan.ranges_raw_.begin(),
scan.ranges_raw_.end());
((*scanFALKO).fromRanges)(doubleRanges);
return scanFALKO;
};
/** \brief Create and update a matchLoopClosure struct with the info that is /** \brief Create and update a matchLoopClosure struct with the info that is
*produced when matching two given scenes *produced when matching two given scenes
......
...@@ -21,8 +21,6 @@ ...@@ -21,8 +21,6 @@
namespace laserscanutils { namespace laserscanutils {
template <typename D> struct matchLoopClosure { template <typename D> struct matchLoopClosure {
// std::shared_ptr<sceneFalko<D>> scene1;
// std::shared_ptr<sceneFalko<D>> scene2;
// tuple that stores the pointers of two matched scenes // tuple that stores the pointers of two matched scenes
std::tuple<std::shared_ptr<sceneFalko<D>>, std::shared_ptr<sceneFalko<D>>> std::tuple<std::shared_ptr<sceneFalko<D>>, std::shared_ptr<sceneFalko<D>>>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment