大模型具身智能機器人ORB-SLAM3基本原理與安裝運行_第1頁
大模型具身智能機器人ORB-SLAM3基本原理與安裝運行_第2頁
大模型具身智能機器人ORB-SLAM3基本原理與安裝運行_第3頁
大模型具身智能機器人ORB-SLAM3基本原理與安裝運行_第4頁
大模型具身智能機器人ORB-SLAM3基本原理與安裝運行_第5頁
已閱讀5頁,還剩18頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

大模型具身智能機器人ORB-SLAM3基本原理與安裝運行1主要內容23ORB-SLAM3基本原理ORB-SLAM3庫文件安裝ORB-SLAM3編譯安裝與運行4UMI示例數據集1ORB-SLAM3基本原理ORB-SLAM3系列算法演進4PTAM(ParallelTrackingandMapping),首次實現了跟蹤和建圖的并行化,使用非線性優化,引入了關鍵幀機制ORB-SLAM(ParallelTrackingandMapping),在PTAM架構基礎上,增加了地圖初始化和回環檢測的功能,優化了關鍵幀選取和地圖構建的方法ORB-SLAM2,在ORB-SLAM架構基礎上,增加了地圖初始化和回環檢測的功能,優化了關鍵幀選取和地圖構建的方法VI-ORB-SLAM,ORB-SLAM2基礎上,增加了慣性測量單元IMU(InertialMeasurementUnit)ORB-SLAM-Atlas,在ORB-SLAM2基礎上,增加了無限量斷開的子地圖管理系統并可以將它們無縫合并ORB-SLAM3,在ORB-SLAM2基礎上,增加了對單目、雙目、RGB-D和魚眼相機的支持,引入了慣性測量單元(IMU)來輔助單目視覺SLAM并且增加了Atlas多地圖的支持;同時,回環檢測為了支持多地圖的模式,提供了一種叫WeldingBA的優化方式。PTAM(ParallelTrackingandMapping)算法5跟蹤線程:不修改地圖,只是利用已知地圖來快速跟蹤;建圖線程:專注于地圖的建立、維護和更新PTAM架構及流程1.并行化跟蹤和建圖:PTAM成功地將相機跟蹤和環境建圖的過程并行化處理,這提高了處理效率和實時性。傳統的方法通常是串行處理跟蹤和建圖的步驟,而PTAM通過并行化這兩個過程,能夠在進行跟蹤的同時不斷更新地圖。2.使用非線性優化:PTAM是第一個在后端使用非線性優化方法,而不是傳統的濾波器(如卡爾曼濾波器)的方案。非線性優化方法能夠更準確地處理復雜的相機運動和環境變化,從而提高系統的穩定性和精度。3.關鍵幀機制:PTAM引入了關鍵幀機制,而不是處理每一幀圖像。關鍵幀機制的核心思想是只選擇一些重要的圖像幀(關鍵幀)進行精細處理和建圖。通過連接這些關鍵幀,可以有效地估計相機軌跡和構建環境地圖。不僅減少了計算量,還能保持地圖和軌跡的準確性。ORB-SLAM(OrientedFASTandRotatedBRIEFSLAM)算法6基于特征點的單目視覺SLAM,在PTAM架構基礎上,增加了地圖初始化和回環檢測的功能,優化了關鍵幀選取和地圖構建的方法ORB-SLAM架構及流程1.特征提取和匹配使用ORB(OrientedFASTandRotatedBRIEF)特征,ORB是一種高效且具有旋轉不變性的特征描述子。提取關鍵點并計算其描述子,用于跟蹤和匹配圖像幀之間的特征點。2.跟蹤(Tracking)線程通過提取ORB特征點,在視頻流中逐幀跟蹤這些特征點。使用初始位姿估計和重定位技術來確定相機的初始位置。跟蹤局部地圖并進行優化,根據規則輸出關鍵幀。3.局部建圖(LocalMapping)線程插入新關鍵幀,并驗證和修剪最近生成的地圖點。使用局部BA(BundleAdjustment)進行優化,創建新的地圖點并修剪冗余的關鍵幀。4.回環檢測(LoopClosing)線程分為回環檢測和回環校正。使用BOW(BagofWords)快速匹配回環閉合。使用Sim3計算和轉換,最后進行回環融合和優化,實現地圖的全局一致性。ORB-SLAM2算法7在ORB-SLAM架構基礎上,增加了地圖初始化和回環檢測的功能,優化了關鍵幀選取和地圖構建的方法ORB-SLAM2架構及核心優化1.多類型相機支持支持單目、雙目和RGB-D相機2.完整的SLAM方案不僅能實時構建地圖,還能重復使用已創建的地圖,提供回環檢測和重新定位功能,增強系統的魯棒性和長期性能。3.光束法平差優化(BA)在后端采用光束法平差(BA)來優化相機軌跡和地圖。BA方法在單目和雙目攝像頭輸入下都能實現米級尺度的精確軌跡評估。4.輕量級定位模式此模式允許系統在未知區域中進行視覺里程計追蹤,即使在未建圖的情況下也能保持定位。VIORB-SLAM(Visual-InertialMonocularSLAMwithMapReuse)算法8在ORB-SLAM2基礎上,增加了慣性測量單元(InertialMeasurementUnit),實現了一種緊耦合的視覺慣性同步定位與建圖(Visual-InertialSLAM)系統VIORB-SLAM優化方法1.閉環重用提出了一種緊耦合的視覺慣性同步定位與建圖(Visual-InertialSLAM)系統,能夠實現閉環和地圖重用,從而在已經映射的區域實現零漂移定位。2.IMU初始化方法提出了一種新的IMU初始化方法,能夠在幾秒鐘內高精度地計算尺度、重力方向、速度以及陀螺儀和加速度計的偏差。ORB-SLAM-Atlas算法9在ORB-SLAM2基礎上,增加了無限量斷開的子地圖管理系統并可以將它們無縫合并等操作。ORB-SLAM-Atlas架構及流程1.多地圖管理Atlas擁有不限數量的子地圖關鍵幀的詞袋數據庫。詞袋數據庫(BagofWords,BoW)技術通過描述子地圖中的關鍵幀,確保了高效的場景重識別。這樣,當相機重新進入已建圖區域時,系統能夠迅速識別并定位。Atlas可以管理多個不相連的子地圖,提升在追蹤丟失或動態場景下的魯棒性和準確性。2.多地圖操作新地圖生成:相機跟蹤丟失時,系統不會停止建圖,而是立即生成一個新的子地圖。地圖融合:Atlas能夠無縫地融合不同子地圖,將多個子地圖(或局部地圖)合并成一個全局一致的地圖。混合地圖中的重定位:當相機在環境中丟失跟蹤后,Atlas能夠重新確定相機在地圖中的位置和姿態。ORB-SLAM3算法10在ORB-SLAM2基礎上,增加了對于IMU融合的支持,兼容魚眼相機模型,并且增加了Atlas多地圖的支持;同時,回環檢測為了支持多地圖的模式,提供了一種叫WeldingBA的優化方式。ORB-SLAM3架構及流程1.多種相機類型支持單目相機:單個相機;雙目相機:兩個相機立體視覺,能夠更準確地感知深度信息;RGB-D相機:RGB-D相機,既獲取顏色信息(RGB),又獲取深度信息(D),提供更豐富的環境感知能力;魚眼相機:能夠獲取更大視角的圖像。2.慣性測量單元(IMU)結合了慣性測量單元(IMU),特別是與單目相機結合使用。IMU提供加速度和角速度數據,可以補充視覺信息。3.Atlas多地圖支持系統可以同時管理和使用多個地圖。4.WeldingBA算法用于回環檢測(loopclosure)線程,在多地圖模式下優化地圖之間的連接和一致性,確保整體地圖的準確性和優化效果。2ORB-SLAM3庫文件安裝ORB-SLAM3相關庫文件安裝流程112ORB-SLAM3需安裝的依賴項包括:Eigen3、Pangolin、Boost、OpenCVEigen是C++開源的線性代數庫,提供了快速的有關矩陣的線性代數運算,包括解方程等功能。許多上層的軟件庫都使用Eigen進行矩陣運算,包括DBoW2、g2o、Sophus等優化方法,因此版本要求3.1.0以上。兩種安裝方式:1.apt安裝方式;2.源碼編譯安裝方式下載:gitclone/eigenteam/eigen-git-mirror編譯以及安裝:cdeigen-git-mirrormkdirbuildcdbuildcmake..sudomakeinstall移動頭文件:sudocp-r/usr/local/include/eigen3/Eigen/usr/local/includeDBoW2、g2o和Sophus在Thirdparty文件夾里面;DBoW2是一個圖像數據庫,離線訓練好了ORB庫和SIFT庫;g2o是一個圖優化庫,將非線性優化與圖論結合起來;Sophus是基于Eigen開發的李代數庫,支持關于李群和李代數運算。ORB-SLAM3相關庫文件安裝流程213ORB-SLAM3需安裝的依賴項包括:Eigen3、Pangolin、Boost、OpenCVPangolin是基于OpenGL的計算機圖像學的函數庫,用于3D繪圖。下載:gitclone/stevenlovegrove/Pangolin安裝Pangolin所需依賴項:sudoapt-getinstalllibglew-devsudoapt-getinstalllibboost-devlibboost-thread-devlibboost-filesystem-dev3.編譯以及安裝:mkdirbuildcdbuildcmake..make-jsudomakeinstallORB-SLAM3相關庫文件安裝流程314ORB-SLAM3需安裝的依賴項包括:Eigen3、Pangolin、Boost、OpenCVBoost是為C++語言標準庫提供擴展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,為標準庫的后備,是C++標準化進程的開發引擎之一。官網下載下載后解壓:tar-xzvfboost_1_83_0.tar.gz3.進入解壓完的文件開始安裝:sudo./bootstrap.shsudo./b2installORB-SLAM3相關庫文件安裝流程415ORB-SLAM3需安裝的依賴項包括:Eigen3、Pangolin、Boost、OpenCVOpenCV是圖像處理、計算機視覺的函數庫,由一系列C函數和少量C++類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。版本建議安裝4.4.0及以上。(演示使用的為4.8.0)官網下載opencv,GitHub下載opencv_contrib將Opencv4.8.0及opencv_contrib壓縮包解壓(注意解壓完的文件要到opencv_contrib-4.8.0),:

安裝依賴項:sudoapt-getinstallbuild-essentialsudoapt-getinstallcmakegitlibgtk2.0-devpkg-configlibavcodec-devlibavformat-devlibswscale-devsudoapt-getinstallpython-devpython-numpylibtbb2libtbb-devlibjpeg-devlibpng-devlibtiff-devlibjasper-devlibdc1394-22-devsudoaptinstallcmake-qt-gui在opencv4.8.0文件夾中新建文件,命名為build;打開build文件夾,在終端中執行以下命令(最好在build文件下打開終端執行,并且如果多次執行下面cmake指令可能出現問題,解決方法就是直接將build文件夾刪除,重新運行):mkdirbuildcdbuildcmake-DCMAKE_BUILD_TYPE=Release-DCMAKE_INSTALL_PREFIX=/usr/local-DOPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.8.0/modules-DOPENCV_GENERATE_PKGCONFIG=ON..ORB-SLAM3相關庫文件安裝流程416ORB-SLAM3需安裝的依賴項包括:Eigen3、Pangolin、Boost、OpenCV完成build之后,執行下面的指令進行編譯及安裝:make-j$(nproc)sudomakeinstallsudoldconfig設置:PKG_CONFIG_PATH:exportPKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig驗證opencv4是否安裝完成(查看版本信息):pkg-config--modversionopencv4最終測試,為了驗證OpenCV是否正確安裝好,在opencv-4.8.0/samples/cpp/example_cmake文件夾下打開終端,輸入指令:cmake.make./opencv_example3ORB-SLAM3編譯安裝與運行ORB-SLAM3編譯安裝18打開源碼文件,開始分步安裝:1.在ORB-SLAM3文件夾下,執行下面命令完成DBoW2的編譯:cdThirdparty/DBoW2mkdirbuildcdbuildcmake..-DCMAKE_BUILD_TYPE=Releasemake-j2.在ORB-SLAM3文件夾下,執行下面命令完成g2o的編譯:cdThirdparty/g2omkdirbuildcdbuildcmake..-DCMAKE_BUILD_TYPE=Releasemake-j3.在ORB-SLAM3文件夾下,執行下面命令完成Sophus的編譯:cdThirdparty/Sophusmk

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論