1. 安装依赖项
sudo apt-get install cmake //cmake
sudo apt-get install libgoogle-glog-dev // glog是Google维护的一个开源的C++ log库
sudo apt-get install libatlas-base-dev
sudo apt-get install libeigen3-dev //线性算术的C++模板库,c++矩阵处理工具
sudo apt-get install libsuitesparse-dev //大型稀疏矩阵运算库
sudo apt-get install libboost-dev libboost-filesystem-dev
//boost可移植、提供源代码的C++库//boost.filesystem库中提供了一个跨平台的文件库
sudo apt-get install libopencv-dev
2. 安装libvisensor 库
视觉惯性传感器的传感器驱动程序库, 提供完全时间同步和工厂校准的IMU和立体相机数据流。
git clone https://github.com/ethz-asl/libvisensor.git //克隆
cd libvisensor
./install_libvisensor.sh //其中是一些指令,在libvisensor中生成了build,并安装
3.安装okvis
下载https://github.com/ethz-asl/okvis并放在libvisensor文件下。
cd ~/libvisensor/okvis
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j8 //默认的make不加-j参数效率比较低,加上-j参数,(多核处理器)提高效率。-j4和-j8性能差距不大,-j16性能就比较差了
改错:将安装包CMklist.txt的151行链接修改为:GIT_REPOSITORY https://github.com/ceres-solver/ceres-solver.git
再次运行cmake -DCMAKE_BUILD_TYPE=Release ..和make -j8,编译成功。
make install
//出现:CMake Error at cmake_install.cmake:44 (file):
file cannot create directory: /usr/local/lib/CMake.
Maybe need administrative privileges.权限不够。
改错:sudo make install。
安装结束。。。。。。
4.运行数据集
http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets
下载数据集(链接: https://pan.baidu.com/s/1i4W2is1 密码: 269k),注意是压缩包格式的那个,以下载的是MH_01_easy.zip,解压后是mav0,安装目录为/home/libvisensor/mav0。
okvis安装目录为/home/libvisensor/okvis为例:
将下载好的数据集解压在安装目录中,在okvis/build目录中运行
./okvis_app_synchronous /home/wj/libvisensor/okvis/config/config_fpga_p2_euroc.yaml /home/wj/libvisensor/mav0/
结果: