当前位置: 代码迷 >> 综合 >> 【嵌入式应用7】UBUNTU18.04安装使用ORB-SLAM2
  详细解决方案

【嵌入式应用7】UBUNTU18.04安装使用ORB-SLAM2

热度:123   发布时间:2023-10-09 09:27:09.0

目录

      • 1.下载orb_slam2:
      • 2.安装依赖项:
      • 3.安装eigen,pangolin
      • 4.解决ORB-SLAM2编译死机问题
      • 5.解决usleep问题
      • 6.安装open-cv
      • 7.安装使用orb_slam2
      • 8.基于ROS下ORB-SLAM2包中摄像头的单目运行
      • 9.用orb_slam2运行kitti数据集

1.下载orb_slam2:

 git clone https://gitee.com/ufo360/ORB_SLAM2.git

2.安装依赖项:

sudo apt install autotools-dev ccache doxygen dh-autoreconf git liblapack-dev libblas-dev libgtest-dev libreadline-dev libssh2-1-dev pylint clang-format-3.9

3.安装eigen,pangolin

git clone https://github.com/stevenlovegrove/Pangolin.git
sudo apt-get install libglew-dev cmake libpython2.7-dev ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavdevice-dev libdc1394-22-dev libraw1394-dev libjpeg-dev libtiff5-dev libopenexr-dev libxkbcommon-dev libeigen3-dev
cd Pangolin
mkdir build
cd build
cmake ..
cmake --build .

【嵌入式应用7】UBUNTU18.04安装使用ORB-SLAM2

4.解决ORB-SLAM2编译死机问题

sudo gedit build.sh,在最后将 -j 取消掉。

5.解决usleep问题

在include里面的system.h加入#include<unistd.h>

6.安装open-cv

官网下载opencv包,随便放哪里,解压,进解压目录,创建mybuild文件夹,进mybuild目录,进行文件配置:

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

编译(20分钟):

sudo make -j8

安装(1分钟):

sudo make install

将OpenCV的库添加到路径

sudo gedit /etc/ld.so.conf.d/opencv.conf 

在打开文文件末添加如下代码(打开是空白的,不要慌,是这样的,添加下面路径进去):

/usr/local/lib  

使得配置路径生效

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  

查看是否安装成功opencv:(打印出版本即可)

pkg-config opencv --modversion

7.安装使用orb_slam2

如果第二个bulid_ros.sh提示找不到makefile就不管他= =

chmod +x ./build.sh
./build.sh
chmod +x ./build_ros.sh
./build_ros.sh

效果如下:
【嵌入式应用7】UBUNTU18.04安装使用ORB-SLAM2
然后再orb_slam2目录新建个data文件夹,下载数据集rgbd_dataset_freiburg1_xyz到data文件夹里面
下载TMU数据集:
链接:https://pan.baidu.com/s/1laDzRQ78SKDFf85HyrtfHQ
提取码:kcsi
如图:
【嵌入式应用7】UBUNTU18.04安装使用ORB-SLAM2
运行:

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml Data/rgbd_dataset_freiburg1_xyz/

运行效果:
【嵌入式应用7】UBUNTU18.04安装使用ORB-SLAM2

8.基于ROS下ORB-SLAM2包中摄像头的单目运行

试试能不能打开摄像头:

sudo apt-get install guvcview
guvcview -d /dev/video

能打开,继续进入ros空间,下载usb_cam

git clone https://github.com/bosch-ros-pkg/usb_cam.git
git clone https://github.com/ros-interactive-manipulation/manipulation_msgs.git
git clone https://github.com/ros-interactive-manipulation/household_objects_database_msgs.git

回到上层目录,make一下:

catkin_make

程序注册,使得该功能包生效

source ./devel/setup.bash

进src/usb_cam/,新建build,进build,

cmake ..
make -j8

进usb_cam下/launch文件夹中找到usb_cam-test.launch文件
让他成为可执行文件:

chmod +x usb_cam-test.launch 

运行这个launch相机节点:

roslaunch usb_cam usb_cam-test.launch

运行Mono:

rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/ROS/ORB_SLAM2/Asus.yaml

遇到点问题,尚在努力!以后更新~
反正这个调用摄像头我失败了,不管了~

9.用orb_slam2运行kitti数据集

下载好数据集kitti_images:
链接:https://pan.baidu.com/s/1DvlT2hIyLaM5c-s0pSUANw
提取码:mijm
解压,把calib里面的两个txt拿到外面来,修改KItti_imag_2文件夹名为image_0
【嵌入式应用7】UBUNTU18.04安装使用ORB-SLAM2

运行:

/Examples/Monocular/mono_kitti Vocabulary/ORBvoc.txtExamples/Monocular/KITTI00-02.yaml data/kitti_Image 

效果图:
【嵌入式应用7】UBUNTU18.04安装使用ORB-SLAM2