Ubuntu16.04安装 ORB_SLAM2_PointCloud

ORB_SLAM2_PointCloud以 ORB_SLAM2为基础,利用RGB-D相机进行稠密地图构建,经实验测试,跑出来的效果还是相当不错的。先放一张实际运行效果图,其中由于我对代码做了修改,将部分稠密地图放在了键帧+地图点显示的Mapdrawer窗口中,所以与大家跑出来的不太一样,不用担心。
Ubuntu16.04安装 ORB_SLAM2_PointCloud_第1张图片

下面介绍以下具体的安装配置流程:

ORB_SLAM2_PointCloud工程源码下载:

https://gitee.com/cenruping/ORB_SLAM2_PointCloud

安装Eigen

官方网站下载源码
官方建议用Eigen3.1.0,但是自己安装了一个Eigen3.3.90,也能用,只是后续需要再CMakeLists.txt中改一下
解压文件,拷贝到/home文件夹下安装:

mkdir build
cd build
cmake ..
sudo make install

移动头文件:
因为eigen3 被默认安装到了usr/local/include里了(或者是usr/include里,这两个都差不多,都是系统默认的路径),在很多程序中include时经常使用#include 而不是使用#include 所以要做下处理,否则一些程序在编译时会因找不到Eigen/Dense而报错。上面指令将usr/local/include/eigen3文件夹中的Eigen文件递归地复制到上一层文件夹(直接放到/usr/local/include中,否则系统无法默认搜索到 -> 此时只能在CMakeLists.txt用include_libraries(绝对路径了))
输入下列命令移动头文件:

sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include 
sudo cp -r /usr/local/include/eigen3 /usr/include 

查看已安装的Eigen版本:

sudo gedit /usr/include/eigen3/Eigen/src/Core/util/Macros.h

编译Sopus:

cd ORB_SLAM2_PointCloud/Thirdparty
mkdir build
cd build
cmake ..
make -j

源码安装Pangolin

ORB-SLAM2依赖的库,跑代码前要安装上
准备工作:

sudo apt install git 
sudo apt install libglew-dev  
sudo apt install cmake  
sudo apt install libboost-dev libboost-thread-dev libboost-filesystem-dev

下载源码安装:

git clone --depth=1 https://github.com/stevenlovegrove/Pangolin
mkdir -p build && cd build
cmake ..
make -j12 && sudo make install
## 安装PCL:
官网中说建议用PCL1.8,事实证明PCL1.7也可以
```cpp
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl  
sudo apt-get update  
sudo apt-get install libpcl-dev

此时安装的应该是pcl1.7,因此需要再CmakeLists.txt中做如下修改:
Ubuntu16.04安装 ORB_SLAM2_PointCloud_第2张图片

编译源码:

cd ORB_SLAM2_PointCloud
sh build.sh

此时会出现一系列问题:
在这里插入图片描述
解决办法:
在ORB_SLAM2_PointCloud/CmakeList.txt中的add_library项中加入src/System.cc项,这个本来就应该有的,可能作者当时笔误,将这一项给删了。
遇到

No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so', needed by '../lib/libORB_SLAM2.so

解决办法:

sudo apt-get install libproj-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libproj.so.9 /usr/lib/x86_64-linux-gnu/libproj.so

遇到

/usr/bin/ld: 找不到 -lvtkproj4

解决办法:在CMakeLists.txt中加上以下内容:

list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")

如下图所示:
Ubuntu16.04安装 ORB_SLAM2_PointCloud_第3张图片

代码运行:

此处与原来ORB_SLAM2的命令相同

./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml ~/dataset/rgbd_dataset_freiburg1_room/  ~/dataset/rgbd_dataset_freiburg1_room/associate.txt

参考博客:
Ubuntu 编译ORB_SLAM2_modified
ORB-SLAM2 在线构建稠密点云(一)

你可能感兴趣的:(Ubuntu环境搭建)