Ubuntu18.04运行ORB-SLAM3(Demo+本地Realsense D415运行)
ORB-SLAM3論文地址:https://arxiv.org/abs/2007.11898
代碼地址:https://github.com/UZ-SLAMLab/ORB_SLAM3
一、安裝庫(kù)
根據(jù)ORB-SLAM3源代碼安裝以下庫(kù):
1、Pangolin
附上github網(wǎng)址:https://github.com/stevenlovegrove/Pangolin
根據(jù)github里面安裝即可:
2、opencv3.2.0
下載官網(wǎng)opencv3.2.0安裝包
環(huán)境配置
sudo gedit /etc/ld.so.conf.d/opencv.conf #添加庫(kù)路徑 #里面應(yīng)該是 /usr/local/lib #沒(méi)有則加上 sudo gedit ~/.profile #添加環(huán)境變量 #末尾加上 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH2.1 出現(xiàn)錯(cuò)誤及解決辦法
(1)無(wú)法定位軟件包 libjasper-dev
(2)出現(xiàn)錯(cuò)誤
– Checking for module ‘gtk±3.0’
– No package ‘gtk±3.0’ found
(3)出現(xiàn)錯(cuò)誤
– No package ‘gstreamer-base-1.0’ found
#安裝依賴 sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev(4)出現(xiàn)錯(cuò)誤
/usr/include/c++/7/cstdlib:75:15: fatal error: stdlib.h: 沒(méi)有那個(gè)文件或目錄
#include_next <stdlib.h>
3、ROS
根據(jù)ROS官網(wǎng)安裝對(duì)應(yīng)版本的ROS,本機(jī)安裝的是ROS Melodic
安裝成功后,創(chuàng)建并初始化工作目錄
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace cd ~/catkin_ws/ #直接$ cd .. 也一樣 catkin_make #catkin的構(gòu)建系統(tǒng)的相關(guān)文件保存在build目錄中,構(gòu)建后的可執(zhí)行文件保存在devel目錄中 #加載與catkin構(gòu)建系統(tǒng)相關(guān)的環(huán)境文件 $ source ~/catkin_ws/devel/setup.bash4、Eigen3
5、python2.7
6、DBoW2 and g2o(ORB-SLAM3文件中自帶)
二、運(yùn)行ORB-SLAM3
1、運(yùn)行demo
依舊是根據(jù)github來(lái)
下載并編譯ORB-SLAM3,將文件放入ROS工作空間的src文件夾中
下載數(shù)據(jù)集,官網(wǎng)下載慢可用迅雷下載
ps.不使用ROS運(yùn)行的下載ASL格式的,使用ROS運(yùn)行的下載ROS bag
修改ORB-SLAM3/euroc_examples.sh文件中的數(shù)據(jù)集地址
#!/bin/bash #pathDatasetEuroc='/Datasets/EuRoC' #Example, it is necesary to change it by the dataset path pathDatasetEuroc='/home/yu/Datasets' #Example, it is necesary to change it by the dataset path另外,數(shù)據(jù)集文件名需要修改為euroc_examples.sh文件中對(duì)應(yīng)的名稱
例如MH_01_easy修改為MH01
接下來(lái),運(yùn)行demo
./euroc_examples.sh結(jié)果圖
2、用Realsense D415相機(jī)運(yùn)行
Ubuntu18.04安裝RealsenseD415方法見(jiàn)另一篇博客。
編譯ROS版
修改相應(yīng)節(jié)點(diǎn)
> 打開(kāi) ORB_SLAM3/Examples/ROS/ORB_SLAM3/src/ros_rgbd.cc 文件 > 修改節(jié)點(diǎn)(綠色字體) message_filters::Subscriber<sensor_msgs::Image> rgb_sub(nh, "/camera/color/image_raw", 100); message_filters::Subscriber<sensor_msgs::Image> depth_sub(nh, "camera/depth/image_rect_raw", 100);相機(jī)標(biāo)定后,修改ORB_SLAM3/Examples/ROS/ORB_SLAM3/Asus.yaml文件
#打開(kāi)ROS roscore #打開(kāi)相機(jī) roslaunch realsense2_camera rs_rgbd.launch #運(yùn)行節(jié)點(diǎn),注意修改命令中的地址 #使用還需要修改yaml文件,即修改相機(jī)的參數(shù) rosrun ORB_SLAM3 RGBD /home/yu/catkin_ws/src/ORB_SLAM3/Vocabulary/ORBvoc.txt /home/yu/catkin_ws/src/ORB_SLAM3/Examples/ROS/ORB_SLAM3/Asus.yaml結(jié)果圖
定位丟失時(shí),建立新地圖并與原地圖匹配,為綁架恢復(fù)問(wèn)題提供了一個(gè)可行的開(kāi)源解決方案。
總結(jié)
以上是生活随笔為你收集整理的Ubuntu18.04运行ORB-SLAM3(Demo+本地Realsense D415运行)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 东哥带你刷图论第四期:二分图的判定
- 下一篇: 2020美国纽约大学计算机科学排名,纽约