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.准备好数据集
这里使用的图像数据集,最好准备Eoroc
的MH_01_easy
序列数据集,和作者保持一致不用进行过多的修改
2.修改EuRoC.yaml
中图像,时间戳等文件路径
3.运行
这里是跑的双目程序
./bin/EurocStereo ./examples/EuRoC.yaml
每次在结束时会出现Segmentation fault (core dumped)
不知道为啥,换成ros的例子程序会好一点??
运行时间大概在8-20ms,可以说是超级快了
放一张运行UI界面
放一张光流检测图像
1.写个基于ros的小Demo,还是更习惯跑bag数据集
2.添加位姿保存功能,看一下精度如何(听说是精度可以和orb-slam2相当,待验证)