文章目录
一、非ROS环境下
1、安装相关工具
- 首先安装好cmake、gcc、g++
sudo apt-get install cmake
sudo apt-get install gcc g++
2、安装Pangolin0.5
(1)安装依赖
sudo apt-get install libglew-dev libpython2.7-dev
sudo apt-get install libxkbcommon-x11-dev
(2)然后上github,将0.5版本的下载下来(过高导致后面编译报错)
下载地址https://github.com/stevenlovegrove/Pangolin
- 把下载解压好的文件放入主目录,执行安装和编译
cd Pangolin
mkdir build
cd build
cmake ..
make
sudo make install
(3)检验:
cd /home/mengwen/Pangolin/examples/HelloPangolin
mkdir build && cd build
cmake ..
make
./HelloPangolin
- 出现下面的图片代表安装成功
3、安装OpenCV3
(1)下载opencv3.4.1版本,安装版本过高会导致编译报错,下载地址:https://github.com/opencv/opencv
点击右下方选择需要的版本
- 将下载好的文件解压放在主目录,改名opencv3
(2)安装依赖
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
(3)安装opencv3
cd opencv3
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j4
sudo make install
(4)检验
pkg-config --modversion opencv
4、安装Eigen
sudo apt-get install libeigen3-dev
5、安装ORB_SLAM2
(1)下载ORB_SLAM2,放置在catkin_ws/src目录下,为后面在ROS 环境下运行做好准备
mkdir ~/catkin_ws/src
cd ~/catkin_ws/ws
git clone https://github.com/raulmur/ORB_SLAM2.git
(2)编译ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh
- 编译出现以下错误
error: ’usleep’ was not declared in this scope
- 在出现错误的文件加上:
#include <unistd.h>
6、下载Tum数据集
-
下载地址:https://cvg.cit.tum.de/data/datasets/rgbd-dataset/download 选择第一个
-
下载好后,在ORB_SLAM2文件夹创建一个文件夹:Data,将下载好的数据集压缩包提取到Data下面
7、运行单目slam
cd ~/catkin_ws/src/ORB_SLAM2
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml Data/rgbd_dataset_freiburg1_xyz
二、ROS环境下
1、安装ROS Melodic
详细过程见:Ubuntu18.04下安装ros melodic
2、创建工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ..catkin
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
3、ROS下编译
cd ~/catkin_ws/src/ORB_SLAM2
chmod +x build_ros.sh
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/src/ORB_SLAM2/Examples/ROS
./build_ros.sh
- 出现报错
(1)在~/ORB_SLAM2/Examples/ROS/ORB_SLAM2/文件夹下的CMakeLists.txt文件中加上:
-lboost_system
(2)在~/ORB_SLAM2/CMakeLists.txt文件中,改成自己的opencv版本
(3)设置环境
gedit ~/.bashrc
在最后一行添加:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/src/ORB_SLAM2/Examples/ROS
(4)再次运行./build_ros.sh
编译成功!
后续见:Ubuntu18.04下ZED结合ORB_SLAM2在ROS下运行
参考文献
1、Ubuntu18.04安装和配置ORB_SLAM2(非ROS、ROS环境)
2、Ubuntu18.04 ORB_SLAM2的安装、配置、运行SLAM单目实例
3、Ubuntu18.04从0安装运行ORB_SLAM2