2018.9.20 个人学习笔记,如有错误请指正。
orbslam是一套比较成功的,完整的基于特征点的的SLAM系统,具有代表性,所以先学习这个。其原论文目前读了一半左右,后续会接着就进行学习,今天先对orbslam在ros下运行的环境进行配置。
主要参考:
*Ubuntu 16.04+ROS+ORB-SLAM2配置以及相关问题
在ROS中使用ORB-SLAM(1)
运行ORB-SLAM笔记_编译篇(一)
ORB-slam的配置和使用
-
orb-slam概览
下载orbslam:https://github.com/OpenSLAM-org/openslam_orbslam
解压之后:
首先应该关注它的README.txt,基本上是按照这里边的介绍进行安装的,但是过程中可能会出现问题。 -
安装依赖库
sudo apt-get install libboost-all-dev
sudo apt-get install libsuitesparse-dev
sudo apt-get install libblas-dev
sudo apt-get install liblapack-dev
sudo apt-get install libeigen3-dev
以上是需要的依赖库,应该没什么问题。此外还需要g2o和dbow的库。
- 编译orb-slam
如果要用自己的摄像头运行,需要安装ROS,配置环境变量的过程遇到了一些问题,这里具体讲讲
安装好ROS后,需要将ROS的PACKAGE加入到环境变量中:
进入.bashrc文件(这个文件是在home目录下的隐藏文件,在文件夹下按ctrl+h就可以看到)
sudo gedit ~/.bashrc
在文件最下边添加:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:orb-slam的绝对路径
然后执行下句,使其生效:
source ~/.bashrc
然后就可以对orbslam进行编译了:
mkdir build
cd build
cmake .. -DROS_BUILD_TYPE=Releasemake
make
但是在编译过程中出现了错误。提示没有安装opencv2什么的
忘记在哪个博客里边看到了它的解决办法:
打开orbslam目录下的manifest.xml文件将其中的opencv那一句删除或者注释掉就可以了。
直接打开的话删不掉,所以使用
vi manifest.xml
在命令行窗口进行删除,之后再最后一行输入
:wq
保存并退出,之后再进行编译即可。