首页 > 技术文章 > 调试SVO_edgelet

jxfighting 2018-08-21 09:45 原文

  感谢白巧克力亦唯心提供的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。

 

 

 

  

推荐阅读