Added new 2d feature ORB OcTree (approach used in ORB_SLAM2). report tool: fixed assert caused by bidirectional links. detectModeLoopClosures tool: check if input path exists.

This commit is contained in:
matlabbe
2019-04-18 19:50:58 -04:00
parent 8a6c0dad00
commit a0f74eaee2
15 changed files with 1585 additions and 111 deletions
+4
View File
@@ -153,6 +153,10 @@ int main(int argc, char * argv[])
}
std::string dbPath = argv[argc-1];
if(!UFile::exists(dbPath))
{
printf("Database %s doesn't exist!\n", dbPath.c_str());
}
printf("\nDatabase: %s\n", dbPath.c_str());
printf("Cluster radius = %f m\n", clusterRadius);
+7 -2
View File
@@ -280,10 +280,15 @@ int main(int argc, char * argv[])
}
std::multimap<int, Link> links;
driver->getAllLinks(links, true, true);
std::multimap<int, Link> allLinks;
driver->getAllLinks(allLinks, true, true);
std::multimap<int, Link> loopClosureLinks;
for(std::multimap<int, Link>::iterator jter=links.begin(); jter!=links.end(); ++jter)
for(std::multimap<int, Link>::iterator jter=allLinks.begin(); jter!=allLinks.end(); ++jter)
{
if(jter->second.from() == jter->second.to() || graph::findLink(links, jter->second.from(), jter->second.to(), true) == links.end())
{
links.insert(*jter);
}
if(jter->second.type() == Link::kGlobalClosure &&
graph::findLink(loopClosureLinks, jter->second.from(), jter->second.to()) == loopClosureLinks.end())
{
+1 -1
View File
@@ -55,7 +55,7 @@ void showUsage()
" To see warnings when loop closures are rejected, add \"--uwarn\" argument.\n"
" Options:\n"
" -r Use database stamps as input rate.\n"
" -c \"path.ini\" Configuration file, overwritting parameters read \n"
" -c \"path.ini\" Configuration file, overwriting parameters read \n"
" from the database. If custom parameters are also set as \n"
" arguments, they overwrite those in config file and the database.\n"
" -g2 Assemble 2D occupancy grid map and save it to \"[output]_map.pgm\".\n"