Parameters: Added "Reg/VarianceNormalized". Registration: Transforms are now only normalized in Registration. Added rgbd_dataset tool. MainWindow: odom inliers-only shown option. ExportCloudsDialog: ignoring intermediate nodes for texturing (if they don't have data). DatabaseViewer: "optimized" checkbox enabled in Constraints view for non-neighbor links too.

This commit is contained in:
matlabbe
2017-05-22 11:48:01 -04:00
parent 58e6424bf7
commit 385b7e3389
20 changed files with 758 additions and 155 deletions
+10 -25
View File
@@ -1,28 +1,15 @@
cmake_minimum_required(VERSION 2.8)
IF(DEFINED PROJECT_NAME)
set(internal TRUE)
ENDIF(DEFINED PROJECT_NAME)
if(internal)
# inside rtabmap project (see below for external build)
SET(RTABMap_INCLUDE_DIRS
${PROJECT_SOURCE_DIR}/utilite/include
${PROJECT_SOURCE_DIR}/corelib/include
)
SET(RTABMap_LIBRARIES
rtabmap_core
rtabmap_utilite
)
else()
# external build
PROJECT( MyProject )
# inside rtabmap project (see below for external build)
SET(RTABMap_INCLUDE_DIRS
${PROJECT_SOURCE_DIR}/utilite/include
${PROJECT_SOURCE_DIR}/corelib/include
)
SET(RTABMap_LIBRARIES
rtabmap_core
rtabmap_utilite
)
FIND_PACKAGE(RTABMap REQUIRED)
FIND_PACKAGE(OpenCV REQUIRED)
FIND_PACKAGE(PCL 1.7 REQUIRED)
endif()
if(POLICY CMP0020)
cmake_policy(SET CMP0020 OLD)
endif()
@@ -45,7 +32,5 @@ ADD_EXECUTABLE(kitti_dataset main.cpp)
TARGET_LINK_LIBRARIES(kitti_dataset ${LIBRARIES})
if(internal)
SET_TARGET_PROPERTIES( kitti_dataset
SET_TARGET_PROPERTIES( kitti_dataset
PROPERTIES OUTPUT_NAME ${PROJECT_PREFIX}-kitti_dataset)
endif(internal)
+14 -6
View File
@@ -216,11 +216,14 @@ int main(int argc, char * argv[])
{
gtPath = uReplaceChar(gtPath, '~', UDirectory::homeDir());
gtPath = uReplaceChar(gtPath, '\\', '/');
printf(" Ground Truth: %s\n", gtPath.c_str());
if(!UFile::exists(gtPath))
{
UERROR("Ground truth file path is not valid: \"%s\"", gtPath.c_str());
return -1;
UWARN("Ground truth file path doesn't exist: \"%s\", benchmark values won't be computed.", gtPath.c_str());
gtPath.clear();
}
else
{
printf(" Ground Truth: %s\n", gtPath.c_str());
}
}
if(disp)
@@ -323,7 +326,7 @@ int main(int argc, char * argv[])
Transform(-0.27f, 0.0f, 0.08, 0.0f, 0.0f, 0.0f));
}
bool intermediateNodes = false;
bool intermediateNodes = Parameters::defaultRtabmapCreateIntermediateNodes();
Parameters::parse(parameters, Parameters::kRtabmapCreateIntermediateNodes(), intermediateNodes);
std::string databasePath = output+"/rtabmap" + seq + ".db";
UFile::erase(databasePath);
@@ -386,7 +389,7 @@ int main(int argc, char * argv[])
}
else
{
covariance = (covariance.inv() + odomInfo.covariance.inv()).inv();
covariance += odomInfo.covariance;
}
timer.restart();
@@ -399,8 +402,13 @@ int main(int argc, char * argv[])
double slamTime = timer.ticks();
++iteration;
printf("Iteration %d/%d: speed=%dkm/h camera=%dms, odom(quality=%d/%d)=%dms, slam=%dms\n",
printf("Iteration %d/%d: speed=%dkm/h camera=%dms, odom(quality=%d/%d)=%dms, slam=%dms",
iteration, totalImages, int(speed), int(cameraInfo.timeTotal*1000.0f), odomInfo.inliers, odomInfo.features, int(odomInfo.timeEstimation*1000.0f), int(slamTime*1000.0f));
if(processData && rtabmap.getLoopClosureId()>0)
{
printf(" *");
}
printf("\n");
cameraInfo = CameraInfo();
timer.restart();