日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Ubuntu >内容正文

Ubuntu

Ubuntu18.04运行ORB-SLAM3(Demo+本地Realsense D415运行)

發(fā)布時(shí)間:2023/12/20 Ubuntu 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu18.04运行ORB-SLAM3(Demo+本地Realsense D415运行) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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里面安裝即可:

#安裝依賴(lài) sudo apt install libglew-dev sudo apt install cmake sudo apt install libpython2.7-dev #可選依賴(lài)見(jiàn)github,我沒(méi)裝所以就不貼出來(lái)啦 #下載并編譯 git clone https://github.com/stevenlovegrove/Pangolin.git cd Pangolin mkdir build cd build cmake .. cmake --build . #最后不要忘了安裝 sudo make install

2、opencv3.2.0
下載官網(wǎng)opencv3.2.0安裝包

#安裝依賴(lài) 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 #再加上以下依賴(lài),后面出錯(cuò)了,所以先加上 sudo apt-get install libgtk-3-dev sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev #進(jìn)入文件夾編譯安裝 mkdir build cd build cmake -D ENABLE_PRECOMPILED_HEADERS=OFF -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. sudo make -j8 sudo make install

環(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_PATH

2.1 出現(xiàn)錯(cuò)誤及解決辦法
(1)無(wú)法定位軟件包 libjasper-dev

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main" sudo apt update sudo apt install libjasper1 libjasper-dev

(2)出現(xiàn)錯(cuò)誤

– Checking for module ‘gtk±3.0’
– No package ‘gtk±3.0’ found

#安裝依賴(lài) sudo apt-get install libgtk-3-dev

(3)出現(xiàn)錯(cuò)誤

– No package ‘gstreamer-base-1.0’ found

#安裝依賴(lài) 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>

#在cmake語(yǔ)句里加上 -D ENABLE_PRECOMPILED_HEADERS=OFF

3、ROS
根據(jù)ROS官網(wǎng)安裝對(duì)應(yīng)版本的ROS,本機(jī)安裝的是ROS Melodic

#加鏈接和鑰匙 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt update #安裝完整版,其他的見(jiàn)官網(wǎng) sudo apt install ros-melodic-desktop-full #環(huán)境配置 echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc 安裝依賴(lài) sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential sudo apt install python-rosdep sudo rosdep init rosdep update

安裝成功后,創(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.bash

4、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文件夾中

#注意在ROS工作空間的src文件夾中下載,或者是下載完成后移入工作空間 git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3 #編譯 cd ORB_SLAM3 chmod +x build.sh ./build.sh

下載數(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)的名稱(chē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版

#添加環(huán)境變量 gedit ~/.bashrc #加入以下內(nèi)容,PATH改為自己的地址 #export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM3/Examples/ROS export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/yu/catkin_ws/src/ORB_SLAM3/Examples/ROS #再加個(gè)這個(gè)吧 source ~/catkin_ws/devel/setup.bash #編譯 chmod +x build_ros.sh ./build_ros.sh

修改相應(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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。