跑官方demo做一个记录以备后查。-2017.09.04 乐
前提:已经安装好SDK,安装好ROS kinetic ,ubuntu16.04 arm64
SDK:git链接
下载orb-slam2:git链接
orb-slam demo
1、下载demo到本地
git clone https://github.com/slightech/MYNT-EYE-ORB-SLAM2-Sample.git
2、编译安装orb-slam2
cd ~/catkin_slightech/MYNT-EYE-ORB-SLAM2-Sample
./build.sh
提示依赖包没有安装:
FindPangolin安装:
git 链接
git clone https://github.com/stevenlovegrove/Pangolin
cd Pangolin
mkdir build
cd build
cmake ..
make
sudo make install
make doc
(生成文档)
继续执行 编译脚本(如果提示等待为完成任务的错误,在执行一次)
3、运行orb-slam2
~/catkin_slightech/MYNT-EYE-ORB-SLAM2-Sample/Examples/Stereo
进入demo目录
把vocabulary目录下的txt文件拷贝过来,也可以根据readme直接填写相对路径
./stereo_mynteye ORBvoc.txt cam_stereo.yaml 0
在打开后报错,fail的读取setting文档错误,这是由于sdk采用的opencv2.4,编译默认的opencv3导致的,修改cmakelist.txt文件是编译例程也用opencv2.4。
4、优化
延迟问题
打开demo例程(stereo_mynteye.cc)_:修改摄像头一部抓取功能
cam.Open(params);
cam.ActivateAsyncGrabFeature();
//启用异步抓取
std::cout << "Open Camera: " << std::endl;
基本无直观延迟
okvis demo
1、下载demo到本地
git clone https://github.com/slightech/MYNT-EYE-OKVIS-Sample.git
2、编译安装orb-slam2
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j8
缺少visensor包:
mkdir third_lib_le && cd third_lib_le
git clone https://github.com/ethz-asl/libvisensor.git
cd libvisensor
./install_libvisensor.sh
缺少glog包:
sudo apt-get install libgoogle-glog-dev
缺少suitesparse:
sudo apt-get install libsuitesparse-dev
缺少BLAS & LAPACK:
sudo apt-get install libatlas-base-dev
遇到-mfpu问题:
参考资料
主要问题在cmakelist.txt中:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpu=neon")
对于arrch64为默认的neon不用指明,故直接屏蔽掉(唉,天真了,最后还是报错了看来还是没理解到位,后续继续)。