Ubuntu16.04配置orb_slam2环境,orb_slam的单目数据集,单目实时运行,RGB-D数据集的运行

Ubuntu16.04配置orb_slam2环境,orb_slam的单目数据集,单目实时运行,RGB-D数据集的运行

1.运行配置过程中参考链接如下:

1.配置orb_slam2环境
参考链接https://zhuanlan.zhihu.com/p/412843996

2.安装ROS
参考链接:https://blog.csdn.net/sf9898/article/details/105290198

3.rosdep初始化,更新失败问题
参考链接:https://zhuanlan.zhihu.com/p/398754989

4.orb_slam2运行实例化
参考链接:https://blog.csdn.net/qq_41133375/article/details/105613129

2.ORB-SLAM配置过程

2.1.建立工作空间

mkdir -p catkin_ws/src 
cd catkin_ws/src
catkin_init_workspace
(报错,按提示安装。)
cd ..
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

安装cmake、gcc、g++、git工具

sudo apt-get install cmake
sudo apt-get install gcc g++ 

sudo apt-get install git

2.2 pangolin安装
下载地址:https://link.zhihu.com/?target=https%3A//github.com/stevenlovegrove/Pangolin/archive/refs/tags/v0.6.tar.gz
解压到catkin_ws/src下面,或Home下都可以
安装依赖项

sudo apt-get install libglew-dev libpython2.7-dev libboost-dev libboost-thread-dev libboost-filesystem-dev -y

由于还有一些依赖的库没有装上,建议利用github上自带的Dependencies部分进行配置。在Pangolin文件夹下新建一个文档名字叫install_prerequisites.sh,复制链接里代码https://link.zhihu.com/?target=https%3A//github.com/stevenlovegrove/Pangolin/blob/master/scripts/install_prerequisites.sh到install_prerequisites.sh文本文档中,进行下面操作

chmod +x install_prerequisites.sh
./install_prerequisites.sh --dry-run recommended
./install_prerequisites.sh 

接下来在Pangolin文件夹中新建一个build文件夹,然后在build文件夹中进行如下操作。这里的j8可以根据自己CPU的进程数目选择。

cmake ..
make -j8
sudo make install

注:pangolin安装失败请参考博客
https://blog.csdn.net/yinweiwuzhisuoyixue/article/details/121324007

https://blog.csdn.net/qq_35042020/article/details/86648566
2.3 安装opencv
下载地址https://link.zhihu.com/?target=https%3A//opencv.org/releases/
我下载的版本是3.4.1,下载source文件即可。
安装一些依赖项

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

解压到home下

cd opencv-3.4.1
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j8
sudo make install

接下来配置一些文件

sudo gedit /etc/ld.so.conf.d/opencv.conf 
sudo ldconfig  
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  
pkg-config opencv --modversion

2.4 安装eigen3

sudo apt-get install libeigen3-dev

至此ORB_SLAM2所需环境配置完成,下面运行操作。

3.ORB-SLAM运行实例化

下载
如果需要在ROS环境下运行ORB_SLAM,最好将工程放在catkin_ws/src文件夹下

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2

编译

cd ORB_SLAM2
chmod +x build.sh
./build.sh

3.1 单目运行

在ORB_SLAM2文件夹下打开终端,执行以下命令

 ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/用户名/Data/rgbd_dataset_freiburg1_desk

注意:Monocular表示单目,RGB-D表示深度相机数据集;TUM1.yaml,TUM2.yaml,TUM3.yaml对应不同数据集对应的设置,Vocabulary/ORBvoc.txt 表示词袋,rgbd_dataset_freiburg1_desk数据集

运行截图
在这里插入图片描述在这里插入图片描述

3.2 单目实时运行

再此之前先安装usb_cam和ros,参考https://blog.csdn.net/creative1/article/details/122094472

编译带ROS的版本

chmod +x build_ros.sh
gedit ~/.bashrc
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/自己的用户名/catkin_ws/src/ORB_SLAM2/Examples/ROS
source ~/.bashrc
./build_ros.sh
到这里可能会报一下错误

执行以下操作

sudo rosdep fix-permissions
rosdep update

再次编译还是会遇到问题
只需要修改ORB_SLAM2/Examples/ROS/ORB_SLAM2中CMakelists.txt,在set那里添加-lboost_system即可
在这里插入图片描述再次执行

./build_ros.sh

然后就可以顺利编译通过,大功告成了。

另外在/home/用户名/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src的目录下的ros_mono.cc文件
将/camera/image_raw,改为usb_cam节点发布的话题/usb_cam/image_raw
在这里插入图片描述再次编译

./build_ros.sh

下面运行操作:

打开一个终端

roscore

再打开一个终端

roslaunch usb_cam usb_cam-test.launch

在ORB_SLAM2文件夹下打开终端

rosrun ORB_SLAM2 Mono /home/用户名/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/yinyin/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml

运行截图:
在这里插入图片描述

3.3 rgb-d运行

在home目录下新建一个名字为Data的文件夹,下载TUM数据集,地址https://vision.in.tum.de/data/datasets/rgbd-dataset/download进入官网点击tgz下载
在这里插入图片描述
下载associate.py,https://vision.in.tum.de/data/datasets/rgbd-dataset/tools放在数据集下,在数据集下打开一个终端执行以下命令生成:associations.txt
在这里插入图片描述

在这里插入图片描述

python associate.py rgb.txt depth.txt > associations.txt

最后在ORB_SLAM2文件夹下打开终端,执行以下命令

./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml /home/用户名/Data/rgbd_dataset_freiburg1_desk /home/用户名/Data/rgbd_dataset_freiburg1_desk/associations.txt

ros安装和usb_cam安装放在我另一篇


版权声明:本文为creative1原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。