文章目录
在前一篇文章的Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法中,Ubuntu18.04的系统下成功配置完成了ORB-SLAM3,在ORB_SLAM3目录下输入命令:
./Examples/Monocular-Inertial/mono_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular-Inertial/EuRoC.yaml ./dataset/V102 ./Examples/Monocular-Inertial/EuRoC_TimeStamps/V102.txt dataset-V102_monoi
即可在线构建地图,但是即使程序运行完成,也看不见地图文件,它在哪里?
原因:ORB-SLAM3并不会自己保存构建的点云地图文件。
若是想要将其构建的点云地图文件保存下来,则需要自己修改一些文件
保存地图方法一:使用ORB-SLAM3自带的保存方法(oea后缀文件)
仔细观察之前运行测试集的命令中,有一个EuRoc.yaml出现,这是运行ORB-SLAM3必要的配置文件,内含一些相机的内参数据等资料,必不可少。
若是需要使用ORB-SLAM3自带的保存方法,我们则需要修改类似的运行调用配置文件。
在yaml文件末尾加入以下语句,即可保存地图文件
System.LoadAtlasFromFile: "map"
地图文件后缀为osa,文件名为“map”,文件名这个部分可以根据需求自行更改
生成的地图文件在ORB_SLAM3的主目录下
暂时不知道osa后缀的文件能否用在其他地方,但是我目前只在ORB-SLAM3中遇到过这种后缀类型的文件,所以我更推荐使用第二种保存为PCD类型的地图文件
若是需要在ORB-SLAM3运行时加载osa后缀的地图文件,可以在yaml文件末尾加上
System.LoadAtlasFromFile: "map"
需要存在名为“map”的后缀为osa的地图文件才能成功加载地图
注意:同时使用会报错,需要使用哪个时,另一个记得删除或者注释
修改yaml后缀的配置文件无需进行重新编译,改完即可直接使用运行指令运行
保存地图方法二:使用PCL库保存为PCD类型地图文件
若要了解PCD类型文件,可以查看PCD(点云数据)文件格式这篇文章
安装PCL库:
sudo apt-get install libpcl-dev pcl-tools
取巧方法:
如果没有对ORB-SLAM3的 CMakeLists.txt 文件和 src目录下的MapDrawer.cc 文件进行修改,则可以采取一些取巧的方法,下载上传至github项目中的 CMakeLists.txt 文件和 MapDrawer.cc 文件,直接进行覆盖即可
CMakeLists.txt 文件修改内容:(向该文件内添加PCL库)
find_package(PCL REQUIRED)
include_directories(
${
PROJECT_SOURCE_DIR}
${
PROJECT_SOURCE_DIR}/include
${
PROJECT_SOURCE_DIR}/include/CameraModels
${
PROJECT_SOURCE_DIR}/Thirdparty/Sophus
${
EIGEN3_INCLUDE_DIR}
${
Pangolin_INCLUDE_DIRS}
${
PCL_INCLUDE_DIRS}
)
target_link_libraries(${
PROJECT_NAME}
${
OpenCV_LIBS}
${
EIGEN3_LIBS}
${
Pangolin_LIBRARIES}
${
PCL_LIBRARIES}
${
PROJECT_SOURCE_DIR}/Thirdparty/DBoW2/lib/libDBoW2.so
${
PROJECT_SOURCE_DIR}/Thirdparty/g2o/lib/libg2o.so
-lboost_serialization
-lcrypto
)


334

被折叠的 条评论
为什么被折叠?



