调试SVO_edgelet
感谢白巧克力亦唯心提供的SVO_edgelet代码,作者博客:https://blog.csdn.net/heyijia0327/article/details/61682150
程序地址:
https://github.com/HeYijia/svo_edgelet
此文主要记录调试作者代码出现的一些小问题,供大家参考。
配置环境:
1、使用的是ubuntu14.04系统
最好不要使用虚拟机,我使用虚拟机去调试,最后可以生成可执行的二进制文件,但是程序运行不了,显示段错误,最后改用ubuntu14.04系统上可以成功运行代码。
2、按照网站作者提示的步骤按照相应的依赖项,另外作者增加了可视化功能,要自己去安装pangolin,下面是pangolin的github地址和参考的安装步骤
https://github.com/stevenlovegrove/Pangolin
https://www.cnblogs.com/liufuqiang/p/5618335.html
3、编译过程中可能会提示se3、 libSophus.so之类的错误,但是Sophus安装显示成功,原因可能是程序找不到sophus的源文件
解决方法:在文件的CmakeLists.txt文件中加入下面的语句
find_package(Sophus REQUIRED) include_directories(${Sophus_INCLUDE_DIRS}) set(Sophus_LIBRARIES libSophus.so)
然后在下面找到# Create svo library,在里面加入下面语句
# Create svo library ADD_LIBRARY(svo SHARED ${SOURCEFILES}) TARGET_LINK_LIBRARIES(svo ${LINK_LIBS} ${Pangolin_LIBRARIES} ${Sophus_LIBRARIES} )
4、成功编译通过后但是程序运行不了,你的数据集文件路径没有修改
修改路径主要修改test文件夹的三个文件,打开进去修改成你自己的数据集文件目录,下面附带数据集的下载链接
http://www.sohu.com/a/219232053_715754
作者test_pipel_euroc.cpp使用的是EuRoC的MH_01_easy系列的数据集,其他的也可以下载来试下,不过要相应改下相机的参数;test_pipeline.cpp使用的是TUM的数据集freiburg2_desk。