导航

    蓝鲸ROS机器人论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 热门
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

    升级ORB_SLAM2依赖程序以提升效率

    技术交流
    1
    1
    3728
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • weijiz
      weijiz 最后由 weijiz 编辑

      ORB_SALM2的默认依赖是g2o, OpenCV, Eigen。这些软件的新版和作者使用的版本相比都有比较大的更新。比如OpenCV和Eigen在新版里面都可以使用显卡加速。下面介绍怎么对ORB_SLAM2进行修改使其使用最新版本的对应软件。

      首先是OpenCV,我使用的是ros自带的3.1版本
      如果你是jade系统则执行下面的指令

      安装OpenCV

      sudo apt-get install ros-jade-opencv3
      

      如果你是kinetic系统则执行下面的指令

      sudo apt-get install ros-kinetic-opencv3
      

      默认安装的OpenCV的cmake 文件可能会出问题,最好还是按照这篇文章所说的修改一下。

      在ORB_SLAM2的cmake文件里面添加OpenCV引用,在ORB_SLAM2的CMakeList文件里面把

      find_package(OpenCV 2.4.9 REQUIRED)
      

      更改为

      find_package(OpenCV 3.1.0 REQUIRED)
      

      这样OpenCV就添加完成了。

      安装Eigen

      到这里去下载最新版本的Eigen
      然后安装网站的提示进行编译安装就可以了

      注意如果你之前安装过Eigen,很有可能cmake找不到新的Eigen位置。
      更改ORB_SLAM2的cmakelist 文件,
      把

      find_package(Eigen3 3.1.0 REQUIRED)
      

      改成

      find_package(Eigen3 3.3.1 REQUIRED)
      

      再次运行cmake,如果cmake没有报错则说明已经成功找到了,如果报错了就说明没有找到。修改的方法也比较简单。
      更改ORB_SLAM2/cmake_modules/FindEigen3.cmake文件
      在最上面添加

      set(EIGEN3_INCLUDE_DIR "FALSE")
      

      因为其他版本的Eigen可能会把EIGEN3_INCLUDE_DIR这个变量设值,导致寻找错误,所以这里重新设置成False就没有问题了。
      这样Eigen的依赖问题就解决了。

      安装g2o

      g2o的安装是一个比较大的问题,因为作者使用了自己修改的一份g2o。所以如果我们想要使用最新版的g2o就要把作者的修改内容给移植过去。

      1 条回复 最后回复 回复 引用 0
      • 1 / 1
      • First post
        Last post
      Copyright © 2015-2023 BlueWhale community