安装
安装过程参照github中给出的具体流程即可。在这里主要是在ROS环境下的安装。
1.安装相关依赖
sudo apt-get install ros-indigo-pcl-ros
sudo apt-get install libgoogle-glog-dev
sudo apt-get install libatlas-base-dev libeigen3-dev libsuitesparse-dev
sudo apt-get install libopencv-dev libboost-dev libboost-filesystem-dev
(可选,但好像不安装后续就会报错的样子)使用Skybotix VI传感器包
git clone https://github.com/ethz-asl/libvisensor.git
cd libvisensor
./install_libvisensor.sh
2.下载源码
有三种方式可以进行下载。
wget https://www.doc.ic.ac.uk/~sleutene/software/okvis_ros-1.1.3.zip
unzip okvis_ros-1.1.3.zip && rm okvis_ros-1.1.3.zip
或
git clone --recursive git@github.com:ethz-asl/okvis_ros.git
或
git clone --recursive https://github.com/ethz-asl/okvis_ros.git
编译
在项目的catkin工具空间下运行
catkin_make
编译中会遇到的问题
-
ceres_external连接超时
具体的解决方法参照博客
修改okvis文件夹下的CmakeLists的第151行为GIT_REPOSITORY http://github.com/ceres-solver/ceres-solver.git
-
No rule to make target ‘/usr/lib/x86_64-linux-gnu/libproj.so’, needed by ‘/home/l/Projects/okvis_ros/devel/lib/okvis_ros/okvis_node’。 停止。
解决方法参照博客、sudo ln -s /usr/lib/x86_64-linux-gnu/libproj.so.9 /usr/lib/x86_64-linux-gnu/l ibproj.so
示例运行
okvis_app可以处理ASL/ETH类型的数据
在非ROS下运行
./okvis_apps path/to/okvis_ros/okvis/config/config_fpga_p2_euroc.yaml path/to/MH_01_easy/
ROS下运行
rosrun okvis_ros okvis_node_synchronous path/to/okvis_ros/okvis/config/config_fpga_p2_euroc.yaml path/to/MH_01_easy.bag
运行结果