[关闭]
@yanbo01haomiao 2020-08-05T11:34:10.000000Z 字数 2391 阅读 1318

Rtabmap安装记录 by zhangyuan

官方安装参考链接:Installation-introlab/rtabmap

1.Ubuntu 16.04系统依赖(已经安装ROS)

  1. $ sudo apt-get update
  2. $ sudo apt-get install libsqlite3-dev libpcl-dev libopencv-dev git cmake libproj-dev libqt5svg5-dev

如果在安装时候出现了依赖包的不匹配,但是代码和包确保没有问题,使用rosdep命令安装依赖

  1. rosdep update
  2. rosdep install --from-paths src --ignore-src --rosdistro indigo -y

其中的indigo需要换成自己实际使用的ros版本,比如melodic,kinetic等。

2.其他依赖

如果你git clone的时候速度比较慢,运行命令nslookup github.global.ssl.fastly.netnslookup github.com把对应的Non-authoritative answer下的Name和Address记住,并且按照ip address的格式加到/etc/hosts文件里。下面是我使用的例子,具体的ip按本机为准:

  1. $ nslookup github.global.ssl.fastly.net
  2. Server: 127.0.1.1
  3. Address: 127.0.1.1#53
  4. Non-authoritative answer:
  5. Name: github.global.ssl.fastly.net
  6. Address: 173.252.102.241
  7. $ nslookup github.com
  8. Server: 127.0.1.1
  9. Address: 127.0.1.1#53
  10. Non-authoritative answer:
  11. Name: github.com
  12. Address: 13.229.188.59
  13. $ sudo gedit /etc/hosts
  14. // 在文件末尾添加
  15. 173.252.102.241 github.global.ssl.fastly.net
  16. 13.229.188.59 github.com

然后刷新DNS

  1. $ sudo /etc/init.d/networking restart

这样一来命令git clone来自github的速度就会提升很多。

可选 安装OpenCV。如果要在RTAB-Map中启用SURF / SIFT功能,则还必须从源代码构建OpenCV才能访问非自由模块(对于OpenCV3和OpenCV4,使用opencv_contrib构建)

推荐 从源码安装g2o,仓库地址,依赖Eigen3包,需要先行安装。

  1. $ sudo apt-get update
  2. $ sudo apt-get install libeigen3-dev
  3. $ mkdir slam
  4. $ cd slam
  5. $ git clone https://github.com/RainerKuemmerle/g2o.git
  6. $ cd g2o
  7. $ mkdir build
  8. $ cd build
  9. $ cmake -DBUILD_WITH_MARCH_NATIVE=OFF -DG2O_BUILD_APPS=OFF -DG2O_BUILD_EXAMPLES=OFF -DG2O_USE_OPENGL=OFF ..
  10. $ make -j4
  11. $ sudo make install

推荐 从源码安装GTSAM

  1. $ git clone --branch 4.0.0-alpha2 https://github.com/borglab/gtsam.git gtsam-4.0.0-alpha2
  2. $ cd gtsam-4.0.0-alpha2
  3. $ mkdir build
  4. $ cd build
  5. $ cmake -DGTSAM_USE_SYSTEM_EIGEN=ON -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF -DGTSAM_BUILD_TESTS=OFF -DGTSAM_BUILD_UNSTABLE=OFF ..
  6. $ make -j4
  7. $ sudo make install

可选 安装cvsba,安装介绍

  1. $ sudo apt-get install liblapack-dev libf2c2-dev
  2. $ tar -zxvf cvsba-1.0.0.tgz
  3. $ mkdir cvsba-1.0.0.tgz/build
  4. $ cd cvsba-1.0.0.tgz/build
  5. $ cmake ..
  6. $ make
  7. $ sudo make install

为了让rtabmap能够找到它,还需要执行下面的步骤:

  1. $ sudo mkdir /usr/local/lib/cmake/cvsba
  2. $ sudo mv /usr/local/lib/cmake/Findcvsba.cmake /usr/local/lib/cmake/cvsba/cvsbaConfig.cmake

3.Rtab-map

3.1 下载源码编译

  1. $ git clone https://github.com/introlab/rtabmap.git rtabmap
  2. $ cd rtabmap/build
  3. $ cmake ..
  4. $ make -j4
  5. $ sudo make install
  6. $ sudo ldconfig

3.2 安装rtabmap-ros

4.运行程序

测试了一下双目的测试集,跑出来的效果还不错。官方实例

补充问题与讨论

  1. 同学在安装过程中出现了cs.h的相关问题,需要sudo apt install libsuitessparse-dev就可以解决。这个包的安装需要在g2o的包安装之前安装才可以。所以如果已经安装g2o需要卸载一下,重新安装上面的包之后再次安装就没有问题了。
  2. 源码编译安装的rtabmap相当于一个独立的软件,不依赖ros环境,命令行rtabmap就可以使用软件,有图形界面。一般使用ros命令时,需要安装rtabmap-ros,安装之后就可以使用ros命令,同时图形界面也会实时展示结果。
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注