Report: fixed landmarks not used during optimization. Reprocess: added --nolandmark option to ignore landmarks in input database.

This commit is contained in:
matlabbe
2021-11-12 12:47:54 -05:00
parent b002e85e0f
commit 4ba805b5b3
2 changed files with 46 additions and 11 deletions
+8 -1
View File
@@ -69,6 +69,7 @@ void showUsage()
" arguments, they overwrite those in config file and the database.\n"
" -start # Start from this node ID.\n"
" -stop # Last node to process.\n"
" -nolandmark Don't republish landmarks contained in input database.\n"
" -loc_null On localization mode, reset localization pose to null and map correction to identity between sessions.\n"
" -gt When reprocessing a single database, load its original optimized graph, then \n"
" set it as ground truth for output database. If there was a ground truth in the input database, it will be ignored.\n"
@@ -225,6 +226,7 @@ int main(int argc, char * argv[])
int startId = 0;
int stopId = 0;
int framesToSkip = 0;
bool ignoreLandmarks = false;
bool locNull = false;
bool originalGraphAsGT = false;
bool scanFromDepth = false;
@@ -303,6 +305,11 @@ int main(int argc, char * argv[])
showUsage();
}
}
else if(strcmp(argv[i], "-nolandmark") == 0 || strcmp(argv[i], "--nolandmark") == 0)
{
ignoreLandmarks = true;
printf("Ignoring landmarks from input database (-nolandmark option).\n");
}
else if(strcmp(argv[i], "-loc_null") == 0 || strcmp(argv[i], "--loc_null") == 0)
{
locNull = true;
@@ -604,7 +611,7 @@ int main(int argc, char * argv[])
bool rgbdEnabled = Parameters::defaultRGBDEnabled();
Parameters::parse(parameters, Parameters::kRGBDEnabled(), rgbdEnabled);
bool odometryIgnored = !rgbdEnabled;
DBReader * dbReader = new DBReader(inputDatabasePath, useDatabaseRate?-1:0, odometryIgnored, false, false, startId, -1, stopId, !intermediateNodes);
DBReader * dbReader = new DBReader(inputDatabasePath, useDatabaseRate?-1:0, odometryIgnored, false, false, startId, -1, stopId, !intermediateNodes, ignoreLandmarks);
dbReader->init();
OccupancyGrid grid(parameters);