1.安装所需的各种依赖项
g++ -v
需确认gcc版本不低于4.8;我的是7.5.0
安装pangolin
sudo apt install libgl1-mesa-dev
sudo apt install libglew-dev
sudo apt install cmake
下载pangolin源码
git clone https://github.com/stevenlovegrove/Pangolin.git
编译安装
cd Pangolin
mkdir build
cd build
cmake …
cmake --build .
安装opencv,ros melodic自带opencv3.2.0,无需安装
查看系统中opencv具体版本
pkg-config opencv --modversion
安装eigen3,要求版本不低于3.1.0
要用旧一点的
改别名移除系统自带的Eigen3.3.4
sudo mv -f /usr/include/eigen3 /usr/include/eigen3.default.bak
下载eigen源码到本地
git clone https://gitlab.com/libeigen/eigen.git
cd eigen
git checkout 3.2.10
编译安装
mkdir build
cd build
cmake …
sudo make install
通过…/eigen3/Eigen/src/Core/util/Macros.h文件中的宏变量来查看当前eigen版本,3.2.10
需要将…/eigen3/Eigen复制到上一层目录
sudo cp -rf /usr/local/include/eigen3/Eigen /usr/local/include
有些程序引用Eigen是到默认路径下/usr/include/目录去寻找
sudo cp -rf /usr/loccal/include/eigen3 /usr/include
sudo cp -rf /usr/loccal/include/Eigen /usr/include
下载orb_slam2源码
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
编译ORB_SLAM2源码
注意:电脑性能不好的,可以把build.sh和build_ros.sh中的make -j 改为make;性能好的可以改为make -j4或者j8
此外,ORB_SLAM2源码中存在usleep()函数未声明的错误,需要在ORB_SLAM2源码中所有11个使用usleep()函数的源文件中添加#include<unistd.h>头文件引用
运行build.sh脚本完成对ORB_SLAM2源码的编译
cd ORB_SLAM2
chmod +x build.sh
./build.sh
ORB_SLAM2l离线运行
TUM网站下载测试训练集,解压
以绝对路径启动mono_tum启动这个文件
cd ORB_SLAM2
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml …/rgbd_dataset_freiburg1_xyz