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

refactor. function created convert2LaserScanFALKO. Added line in CMakelists to solve eigen Error

parent e057cb00
No related branches found
No related tags found
1 merge request!4Resolve "Implementation of Falko lib"
...@@ -31,6 +31,7 @@ IF(faramotics_FOUND) ...@@ -31,6 +31,7 @@ IF(faramotics_FOUND)
ENDIF(faramotics_FOUND) ENDIF(faramotics_FOUND)
if(${falkolib_FOUND}) if(${falkolib_FOUND})
add_definitions(-DEIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT)
include_directories(${falkolib_INCLUDE_DIRS}) include_directories(${falkolib_INCLUDE_DIRS})
link_directories(${falkolib_LIBRARY_DIRS}) link_directories(${falkolib_LIBRARY_DIRS})
endif() endif()
......
...@@ -34,11 +34,8 @@ void CornerFalko2d::storeCorners (LaserScan scan,LaserScanParams scanParams, int ...@@ -34,11 +34,8 @@ void CornerFalko2d::storeCorners (LaserScan scan,LaserScanParams scanParams, int
scanNumber=scanNumber+1; scanNumber=scanNumber+1;
if (scanNumber % scanInterval == 0){ if (scanNumber % scanInterval == 0){
//Convert scans from laserscanutils::LaserScan to falkolib::LaserScan object falkolib::LaserScan scanFALKO= convert2LaserScanFALKO(scan, scanParams);
falkolib::LaserScan scanFALKO(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);
// Extract keypoints // Extract keypoints
lastKeypointSet.clear(); lastKeypointSet.clear();
...@@ -59,11 +56,8 @@ void CornerFalko2d::storeCorners (LaserScan scan,LaserScanParams scanParams, int ...@@ -59,11 +56,8 @@ void CornerFalko2d::storeCorners (LaserScan scan,LaserScanParams scanParams, int
void CornerFalko2d::findLoopClosure(LaserScan scan,LaserScanParams scanParams){ void CornerFalko2d::findLoopClosure(LaserScan scan,LaserScanParams scanParams){
//Convert scans from laserscanutils::LaserScan to falkolib::LaserScan object falkolib::LaserScan scanFALKO= convert2LaserScanFALKO(scan, scanParams);
falkolib::LaserScan scanFALKO(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);
//Compute descriptors //Compute descriptors
std::vector<falkolib::FALKO> keypointSet2; std::vector<falkolib::FALKO> keypointSet2;
extract(scanFALKO, keypointSet2); extract(scanFALKO, keypointSet2);
...@@ -98,6 +92,15 @@ void CornerFalko2d::findLoopClosure(LaserScan scan,LaserScanParams scanParams){ ...@@ -98,6 +92,15 @@ void CornerFalko2d::findLoopClosure(LaserScan scan,LaserScanParams scanParams){
} }
falkolib::LaserScan CornerFalko2d::convert2LaserScanFALKO(LaserScan scan,LaserScanParams scanParams){
falkolib::LaserScan scanFALKO(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;
}
} // laserscanutils namespace } // laserscanutils namespace
...@@ -71,7 +71,6 @@ public: ...@@ -71,7 +71,6 @@ public:
/** \brief Extract landmark/scene (list of corners) from a given 2D scan /** \brief Extract landmark/scene (list of corners) from a given 2D scan
**/ **/
//void extract(falkolib::LaserScan scan);
/** \brief compare new scans against the training set in order to find loop closures /** \brief compare new scans against the training set in order to find loop closures
**/ **/
...@@ -82,6 +81,10 @@ public: ...@@ -82,6 +81,10 @@ public:
keypointsNumberTh = _th; keypointsNumberTh = _th;
} }
/** \brief Convert scans from laserscanutils::LaserScan to falkolib::LaserScan object
**/
falkolib::LaserScan convert2LaserScanFALKO(LaserScan scan,LaserScanParams scanParams);
std::vector<std::vector<falkolib::FALKO>> keypointSets; std::vector<std::vector<falkolib::FALKO>> keypointSets;
std::vector<falkolib::FALKO> lastKeypointSet; std::vector<falkolib::FALKO> lastKeypointSet;
std::vector<std::vector<falkolib::BSC>> descriptorSets; std::vector<std::vector<falkolib::BSC>> descriptorSets;
......
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