ccm-slam 配置过程记录
介绍:一种协同视觉slam方法。传统的slam是一个机器人完成定位与建图的任务,但对于大范围的环境,多机器人协同建图往往能提高效率,ccm-slam就是基于这个目的设计的。整个系统包括一个中央服务终端和多个运行在各个机器人上的子端,每个机器人携带一台单目相机,一个通信单元和一个处理器,并且都可以独立自主地运行SLAM前端视觉里程计,建立局部的子地图。而服务终端具有更强的处理能力,用来处理所有机器人子端的地图数据,合并和优化它们的地图,并在适当的情况向它们传播信息,使它们能够协作。
摘自:https://zhuanlan.zhihu.com/p/86631769
-
现有环境介绍
-
ubuntu18.04
-
ros melodic base
-
项目源码:https://github.com/VIS4ROB-lab/ccm_slam
note: 原项目推荐使用的环境是ubuntu 16.04 + ros kinetic, 由于环境略有差异,在编译项目代码是,有一些地方稍有不同,之后会特别之处。
-
安装opencv 3.4.10
正常编译即可。
-
编译ccm-slam
参考项目的readme, 依次编译DBoW2, g2o, 和整个项目。
-
compile DBoW2
正常编译即可。
-
compile g2o
-
编译时遇到报错:a required library with BLAS API not found. 解决方法如下:
sudo apt-get install libatlas-base-dev libblas-dev liblapack-dev
-
编译时遇到报错: could not found engine3. 解决方法如下:
sudo apt-get install libeigen3-dev
-
compile ccm-slam
-
编译工程时,报错提示ros版本既不是indigo 也不是 kinetic。解决方法:
找到CMakefile.txt中的报错行,可以看到这里对ros版本做了检测,由于melodic与kinetic差别不大,因此修改文件,添加一个else if ,检测到如果ros的版本是melodic,就按照kinetic的方式一并处理。
-
编译时遇到报错,提示很多ros的库没有安装,这是因为我安装的时base基础版,因此需要手动安装缺少的库。
sudo apt-get install ros-melodic-xxx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)