欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

DS-SLAM编译总结

程序员文章站 2022-03-16 17:47:52
...

编译

caffe-segnet-cudnn5编译

该库的编译与caffe一样,其中的Makefile.config文件Makefile文件都需要进行配置
参考教程
caffe-segnet-cudnn5的编译安装,其需要cuda8.0和cudnn5,且需要gpu需要支持compute_20
在cuda9.0和cudnn7.0.5的环境下也可以成功编译,不过需要在Makefile.config中再做相关调整
首先将USE_CUDNN :=1注释掉
其次修改CUDA_ARCH的参数

CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
		-gencode arch=compute_20,code=sm_21 \
		-gencode arch=compute_30,code=sm_30 \
		-gencode arch=compute_35,code=sm_35 \
		-gencode arch=compute_50,code=sm_50 \
		-gencode arch=compute_50,code=compute_50

这里需要删除

-gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \

注意,最后运行测试时
需要执行如下命令

sudo make runtest -j8

一定要加sudo,否则会报错,原因不知

OctoMap和RVIZ编译安装

需要在octomap_mapping/octomap_server/include/octomap_server目录下的OctomapServer.h文件中添加宏定义

#define COLOR_OCTOMAP_SERVER

先安装ros包

sudo apt-get install ros-kinetic-octomap ros-kinetic-octomap-mapping ros-kinetic-octomap-msgs ros-kinetic-octomap-ros ros-kinetic-octomap-rviz-plugins ros-kinetic-octomap-server

下载DS-slam所需要的OctoMapRVIZ
在ros工作空间目录下输入

catkin_make

则编译安装成功

编译项目时出现orb词典错误

可使用该TemplatedVocabulary.h或者TemplatedVocabulary.h(高翔)替换第三方库中的DBoW2库中相对应的文件
因为DS-SLAM给的第三方库中的该文件下定义的类中没有对应的loadFromBinaryFile(strVocFile)成员函数

在bashrc下添加路径

export  ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/DS-SLAM/Examples/ROS/ORB_SLAM2_PointMap_SegNetM

PATH需要修改为ROS工作空间src目录的路径

修改CMakeLists.txt

修改DS-SLAM路径下的CMakeLists.txt文件,需要将如下代码取消注释:

set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib)

否则会出现编译时找不到相应库的情况

相关标签: slam