基于视觉的机器人SLAM入门(Ubuntu18 ORB_SLAM2的安装配置以及SLAM单目运行实例)
目录
安装工具
先安装需要的cmake、gcc、g++、git工具
sudo apt-get install cmake
sudo apt-get install git
sudo apt-get install gcc g++
安装及配置Pangolin
安装依赖项
sudo apt-get install libglew-dev
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install libpython2.7-dev
下载Pangolin
git clone https://github.com/stevenlovegrove/Pangolin.git
编译安装
mkdir build
cd build
cmake ..
sudo make //也可以采用-j的方式,但是要电脑性能好点的采用
在cmake的时候可能会出现下面的问题
解决办法是:
sudo apt-get install libxkbcommon-x11-dev
完成之后就重新编译一下
cmake ..
然后再执行sudo make
安装完成之后,就是编译安装
sudo make install
pangolin就安装配置好了
安装及配置Opencv
安装依赖项
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
下载opencv3.4
wget -O opencv-3.4.1.zip https://github.com/Itseez/opencv/archive/3.4.1.zip
然后在主目录解压,然后进入opencv里面
编译安装
cd ~/opencv-3.4.1
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release –D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j8
安装完成之后,就是编译安装
sudo make install
配置编译环境
1.将OpenCV的库添加到路径
sudo gedit /etc/ld.so.conf.d/opencv.conf
在这个文件里面添加
/usr/local/lib
保存回到命令行界面,执行如下命令使得刚才的配置路径生效
sudo ldconfig
2.配置bash
sudo gedit /etc/bash.bashrc
在打开的文件的末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存,使得配置生效
source /etc/bash.bashrc
安装Eigen
sudo apt-get install libeigen3-dev
安装及配置ORB_SLAM2
下载ORB_SLAM2
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
编译ORB-SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh
出现的问题:usleep出现问题
解决办法:
在ORB_SLAM2/include/system.h中添加
#include<unistd.h>
然后在重新
./build.sh
在ros下面运行
可以先把这个包复制进catkin_ws/src文件下面
将包含Examples/ROS/ORB_SLAM2的路径添加到ROS_PACKAGE_PATH环境变量中
sudo gedit ~/.bashrc
打开.bashrc文件,在最后添加
保存使生效
source ./catkin_ws/devel/setup.sh
source ~/.bashrc
cd catkin_ws/src/ORB_SLAM2
chmod +x build_ros.sh
./build_ros.sh
这里可能出现的错误:
解决办法:
修改Examples/ROS/ORB_SLAM2/文件夹下的CMakeLists.txt文件
如下位置添加:-lboost_system
在重新执行./build_ros.sh
,就成功了
下载数据集
有TUM、KITTI、EuRoC三种数据集,本实验使用TUM数据集
通过如下链接进行下载:http://vision.in.tum.de/data/datasets/rgbd-dataset/download
选择如下红框位置的下载的(过程可能会有点慢)
下载解压完成之后,把它放在主目录的目录下面
运行ORB_SLAM2单目实例
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txtExamples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER
PATH_TO_SEQUENCE_FOLDER这个是路径,要改成自己rgbd_dataset_freiburg1_xyz的路径,我的在主目录下面
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/lanxin/rgbd_dataset_freiburg1_xyz
运行完成之后,自己会结束
心得体会:
1.一定要先配置好前面的包,才能启动ORB_SLAM2成功,我最开始就是前面安装的Pangolin有一些小问题没有管他导致后面的ORB_SLAM2启动不成功
2.在安装的过程中,可能会遇到下载很慢,出现问题,但是都不要放弃要一步一步总会解决的
参考文献
1.Ubuntu16.04下 ORB_SLAM2的安装与配置
2.ORB_SLAM2配置过程
3.ORB-SLAM2的安装与运行
4.Ubuntu18.04下安装配置ORB_SLAM2以及过程中遇到的问题解决方法