高博基于stereo-imu的VO运行尝鲜

文章目录

  • 环境搭建
  • 运行
  • 结果
  • TODO

说明: 记录运行高博的一个双目+惯导视觉里程计vo的运行情况,前端使用LK光流跟踪,使用EuRoc数据集测试,跟踪每一帧图像的时间大概在8-20ms,速度大概提升了3倍;精度暂时还未找到轨迹保存代码,待测试.

code地址(戳)

环境搭建

1.安装依赖
运行./install_dep.sh,但是可能会出现一些冲突或者找不到软件包,可以根据脚本中的内容自己手动挨个输入

sudo apt-get install libopencv-dev libcxsparse3 libcholmod3 libsuitesparse-dev libeigen3-dev libqt4-dev qt4-qmake libgoogle-glog-dev libgtest-dev libgflags-dev

2.编译
主要就是编译DBOW,g2o,fast三个第三方库和slam代码,没有ros的例子程序
直接运行脚本generate.sh,或者根据脚本中的内容在终端分步编译

问题: 在编译fast第三方库时会报错
先说解决办法:
先将最后一部分Create the fastConfig.cmake file for other cmake projects.去掉,然后正常进行编译
生成相应的动态库之后再将注释的部分恢复,再进行cmake .. && make,这事虽然会报错但不用管,动态库和fastConfig.cmake都有了,不影响后面的编译和运行

CMake Warning (dev) at CMakeLists.txt:57 (GET_TARGET_PROPERTY):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "fast".  Use the
  target name directly with add_custom_command, or use the generator
  expression $<TARGET_FILE>, as appropriate.

This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error at CMakeLists.txt:57 (GET_TARGET_PROPERTY):
  The LOCATION property may not be read from target "fast".  Use the target
  name directly with add_custom_command, or use the generator expression
  $, as appropriate.

运行

1.准备好数据集
这里使用的图像数据集,最好准备EorocMH_01_easy序列数据集,和作者保持一致不用进行过多的修改
2.修改EuRoC.yaml中图像,时间戳等文件路径
3.运行
这里是跑的双目程序

./bin/EurocStereo ./examples/EuRoC.yaml

结果

每次在结束时会出现Segmentation fault (core dumped)不知道为啥,换成ros的例子程序会好一点??
运行时间大概在8-20ms,可以说是超级快了
高博基于stereo-imu的VO运行尝鲜_第1张图片
放一张运行UI界面
高博基于stereo-imu的VO运行尝鲜_第2张图片
放一张光流检测图像
高博基于stereo-imu的VO运行尝鲜_第3张图片

TODO

1.写个基于ros的小Demo,还是更习惯跑bag数据集
2.添加位姿保存功能,看一下精度如何(听说是精度可以和orb-slam2相当,待验证)

你可能感兴趣的:(SLAM,计算机视觉,自动驾驶,人工智能)