一、安装工具
注意如果是虚拟机务必学会使用快照功能,很有用!
安装cmake、git、gcc、g++
- 在终端输入以下代码
sudo apt-get install cmake
sudo apt-get install git
sudo apt-get install gcc g++
二、安装Eigen库
- 在终端输入以下代码
sudo apt-get install libeigen3-dev
三、安装Pangolin0.5
- 安装依赖项
sudo apt-get install libglew-dev libpython2.7-dev
sudo apt-get install libxkbcommon-x11-dev
注意 不能用“git clone https://github.com/stevenlovegrove/Pangolin.git”这串代码安装Pangolin,否则会默认安装最新版(0.6版),导致后面运行出现错误
pangolin0.5版本的百度网盘下载链接: 百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1yEQvArzHz35CUJc-BEmNiw 提取码:
n6r8
直接用Ubuntu内的火狐浏览器打开下载
- 在压缩文件所在目录打开终端,输入以下代码进行解压
unzip Pangolin_v0.5.zip
- 解压后移动到主目录(其他目录也可),进入Pangolin文件夹进行编译
cd Pangolin
mkdir build
cd build
cmake ..
make
sudo make install
四、安装Opencv3.4.1(过高版本会导致错误)
- 用火狐浏览器打开OpenCV官网(http://opencv.org),点击上方菜单栏Library-Releases,点击下载OpenCV 的Source版本,然后解压。可以选择自己需要的版本,我下载的是3.4.10版本的,输入以下代码进行解压,后面文件名自行更改
unzip opencv-3.4.10.zip
- 将解压后的文件移动至主目录,打开终端,安装依赖项
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
sudo apt-get install build-essential //[compiler]
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev //[required]
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev //[optional]
- 在opencv-3.4.10文件夹的目录下打开终端进行编译
cd opencv-3.4.10
mkdir build
cd build
cmake ..
make
sudo make install
- 配置编译环境
sudo gedit /etc/ld.so.conf.d/opencv.conf
- 在打开的空白文件中添加如下代码
/usr/local/lib
- 保存后关闭文件夹, 打开终端输入以下代码
sudo ldconfig
- 配置bash
sudo gedit /etc/bash.bashrc
- 在打开的文件末尾添加以下两行代码
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
- 再执行以下命令
source /etc/bash.bashrc
sudo updatedb
五、安装ORB_SLAM2
- 执行以下代码
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
- 将build.sh文件和build_ros.sh中的make -j改为make
- 打开下列文件加入头文件代码
#include<unistd.h>
Examples/Monocular/mono_euroc.cc
Examples/Monocular/mono_kitti.cc
Examples/Monocular/mono_tum.cc
Examples/RGB-D/rgbd_tum.cc
Examples/Stereo/stereo_euroc.cc
Examples/Stereo/stereo_kitti.cc
src/LocalMapping.cc
src/LoopClosing.cc
src/System.cc
src/Tracking.cc
src/Viewer.cc
- 修改~/ORB_SLAM2/Examples/ROS/ORB_SLAM2/文件夹下的CMakeLists.txt文件,在set(LIBS xxxxx 的后面加上下列这一句代码
-lboost_system
如图所示
- 打开~/ORB_SLAM2/CMakeLists.txt文件,将find_package(OpenCV …)这行代码中的opencv版本号改成自己安装的opencv版本号,如下图所示
- 完成以上步骤后,进入ORB_SLAM2文件夹进行编译
./build.sh
mkdir build
cd build
cmake ..
make
完成ORB_SLAM2的安装
若要在ROS环境下运行
(SLAM在ROS下跑和非ROS下跑的区别:**可以把ROS理解成Linux下集成了许多好用的第三方和多进程编程的一个库集。在ROS下跑SLAM可以使用ROS的许多成熟的方法库。比如进程间通信可以默认使用ROSMaster建立的本地socket通信。不在ROS下跑,很多进程间通信、同步、回调之类的就需要自己去设计——引用自知乎网友@Slayers)
- Ubuntu18.04对应ROS版本为melodic 可以使用小鱼老师的一键安装、配置ROS的代码
wget http://fishros.com/install -O fishros && bash fishros
原文:如何一行代码安装ROS|2022最新版|一行代码安装ROS2|一行代码解决rosdep|一行代码配置多ROS环境_鱼香ROS的博客-CSDN博客_ros安装脚本
- 创建工作空间
roscore
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws
catkin_make
echo "source catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
- 若未安装过ORB_SLAM2,则在ROS工作空间catkin_ws/src目录下完成第五步步骤;若已安装且编译过,则将ORB_SLAM2文件夹直接移动到src目录下并重新编译(见第五步步骤)
- 在ORB_SLAM2目录下继续执行下列三条命令 ,编译build_ros.sh文件
注意:先编译总的ORB_SLAM2(build.sh),再编译ROS(build_ros.sh)
chmod +x build_ros.sh
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/src/ORB_SLAM2/Examples/ROS
./build_ros.sh
- 先编译总的ORB_SLAM2(若在工作空间外编译过,则删除原来的build文件夹)
cd ~/catkin_ws/src/ORB_SLAM2/
mkdir build
cd build
cmake ..
make
- 再单独编译ROS
cd //回到主目录
cd ~/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/
mkdir build
cd build
cmake ..
make
- 编辑bash文件
sudo gedit ~/.bashrc
将以下代码添加到文件末尾
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/src/ORB_SLAM2/Examples/ROS
使修改立即生效,在终端输入
source ~/.bashrc
六、运行数据集
- 首先执行下面的语句
sudo apt-get install libcanberra-gtk-module
- 打开Computer Vision Group - Dataset Download
- 按照图示点击下载第一个文件
- 下载完成后解压缩到主目录(其他位置也可),进入ORB_SLAM2文件夹进行编译
- 注意代码最后一部分是数据集的存储路径,需要按照自己的存储路径进行更改
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/qixin/rgbd_dataset_freiburg1_xyz
- 出现运行结果
参考文章:
Ubuntu18.04 ORB_SLAM2的安装、配置、运行SLAM单目实例_君琴的博客-CSDN博客_orbslam2安装
【在ROS下编译ORB_SLAM2遇到错误,】pangolin could not be found because dependency Eigen3 could not be found_瞲_大河弯弯的博客-CSDN博客
Unbuntu18.04 安装并配置OpenCV3.4.1_君琴的博客-CSDN博客
ubuntu18.04 安装OpenCV3.4.1踩坑过程_一直等待花开1的博客-CSDN博客_ubuntu18.04安装opencv3.3.1
Ubuntu18.04下 ORB_SLAM2的安装与配置_爱跑步的mango的博客-CSDN博客_orb-slam2安装
版权归原作者 混沌浮世 所有, 如有侵权,请联系我们删除。