ubuntu 16.04 x64 ROS kinetic 安装ORB—SLAM
来源:互联网 发布:2018java的就业前景 编辑:程序博客网 时间:2024/06/10 09:42
We use g2o to perform several optimizations. We include a modified copy of the library including only the components we need and also some changes that are listed inThirdparty/g2o/Changes.txt. In order to compile g2o you will need to have installed CHOLMOD, BLAS, LAPACK and Eigen3.
sudo apt-get install libsuitesparse-dev
sudo apt-get install libblas-dev
sudo apt-get install liblapack-dev
注意:在安装eigen3这个库的时候请用下面这个版本:
https://launchpad.net/ubuntu/trusty/amd64/libeigen3-dev/3.2.0-8
找到libeigen3-dev_3.2.0-8_all.deb这个deb下载下来,然后在下载的目录下:
sudo dpkg -i libeigen3-dev_3.2.0-8_all.deb
在编译ORB-slam这个包的时候会报错,这里是第一个坑
2、确定你安装了一下库和依赖 (boost, eigen3, cholmod, blas, lapack).
2.0下载ORB的包 git clone https://github.com/raulmur/ORB_SLAM.git ORB_SLAM
2.1添加系统路径:
cd ~
gedit .bashrc
在.bashrc文件的最后一行加入:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/robot3/ORB_SLAM-master(2.0中你的ORB的包文件路径)添加完毕,关闭.bashrc
source .bashrc
注意:如果你直接将ORB—slam这个包放到ros打工作空间下,就不用2.1这一步了!!!
cd ORB_SLAM-master/Thirdparty/g2o/
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
2.3 Build DBoW2. Go into Thirdparty/DBoW2/ and execute:
cd ORB_SLAM-master/Thirdparty/DBoW2/
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make (如果未安装OpenCV,首先编译OpenCV)
2.4 Build ORB_SLAM. In the ORB_SLAM root execute:
这里需要打开manifest.xml,然后注释掉对opencv2的依赖,注释完如下:
<package>
<description brief="ORB_SLAM">
ORB_SLAM
</description>
<author>Raul Mur-Artal</author>
<license>GPLv3</license>
<depend package="roscpp"/>
<depend package="tf"/>
<depend package="sensor_msgs"/>
<!--depend package="OpenCV"-->
<depend package="image_transport"/>
<depend package="cv_bridge"/>
</package>
(这是第二个坑)
然后打开src/ORBextractor.cc这个文件,在开头添加#include <opencv2/opencv.hpp>,因为我的系统找不到下面两个opencv的头文件(这是第三个坑),下面正常编译就可以了:
cd ORB_SLAM-master/
mkdir build
cd build
cmake .. -DROS_BUILD_TYPE=Release
make
结果:
[ 0%] Built target rospack_genmsg_libexe
[ 0%] Built target rosbuild_precompile
Scanning dependencies of target ORB_SLAM-master
[ 5%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/main.cc.o
[ 10%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/Tracking.cc.o
[ 15%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/LocalMapping.cc.o
[ 21%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/LoopClosing.cc.o
[ 26%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/FramePublisher.cc.o
[ 31%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/Converter.cc.o
[ 36%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/KeyFrame.cc.o
[ 42%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/Optimizer.cc.o
[ 47%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/PnPsolver.cc.o
[ 52%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/Frame.cc.o
[ 57%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/KeyFrameDatabase.cc.o
[ 63%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/Sim3Solver.cc.o
[ 68%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/Initializer.cc.o
[ 73%] Linking CXX executable ../bin/ORB_SLAM-master
[100%] Built target ORB_SLAM-master
说明OK了~~~
3.2 测试数据集准备
http://webdiis.unizar.es/~raulmur/orbslam/downloads/Example.bag.tar.gz
上面的链接为测试数据集的下载链接,可以下下着,比较大了,会很慢。。
下载完解压 得到Example.bag文件
- ubuntu 16.04 x64 ROS kinetic 安装ORB—SLAM
- 在ubuntu 16.04安装ROS Kinetic
- 在ubuntu 16.04安装ROS Kinetic
- 在ubuntu 16.04安装ROS Kinetic
- Ubuntu 16.04安装ROS Kinetic问题集
- SLAM: Ubuntu16.04安装ROS-kinetic
- ROS学习(二):在ubuntu 16.04安装ROS Kinetic
- Ubuntu安装ROS Kinetic(Ubuntu install of ROS Kinetic)
- Ubuntu 16.04 ROS-kinetic安装华硕Xtion Pro Live 驱动
- SLAM学习1 Ubuntu16.04安装ROS-kinetic
- UBUNTU 1604 虚拟机 ORB SLAM 安装笔记
- Ubuntu 16.04 安装ROS kinetic提示Depends: ros-kinetic-desktop but it is not going to be installed
- ORB-SLAM2(单目slam、ROS环境)安装总结
- ROS学习历程(1)-----在ubuntu 15.10 安装ROS Kinetic
- ROS kinetic + zed +ubuntu 16.04 应用
- ROS kinetic+ubuntu 16.04 +cuda8.0记录
- ROS kinetic+ubuntu 16.04 +rplidar A1记录
- Ubunte 16.04下安装ROS kinetic
- Python打包成exe
- 硬盘基本术语(磁道、扇区、柱面、磁头数、簇)
- 深入Android内存泄露
- iOS实现UIView渐变的几种方法以及实现渐变透明功能
- 安装Windows和Linux双系统需要注意的一些问题
- ubuntu 16.04 x64 ROS kinetic 安装ORB—SLAM
- latex中,如何定义definition 和theorem
- sqlite3学习
- 柯西序列与完备空间
- 聚合函数有哪些
- 新的博客
- 实现任意字节对齐的内存分配和释放
- SpringBoot-SpringSecurity集成
- Dubbo开发指南入门