ROS交流群
ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
升级ORB_SLAM2依赖程序以提升效率
-
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就要把作者的修改内容给移植过去。