智能終端應用開發基礎 課件 第11章 SLAM建圖與自主導航_第1頁
智能終端應用開發基礎 課件 第11章 SLAM建圖與自主導航_第2頁
智能終端應用開發基礎 課件 第11章 SLAM建圖與自主導航_第3頁
智能終端應用開發基礎 課件 第11章 SLAM建圖與自主導航_第4頁
智能終端應用開發基礎 課件 第11章 SLAM建圖與自主導航_第5頁
已閱讀5頁,還剩30頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

第11章

SLAM建圖與自主導航Contents01.引言02.基礎理論04.SLAM建圖03.準備工作05.amcl功能包與代價地圖的配置06.機器人導航實踐07.多點連續導航01引言室內機器人定位導航挑戰服務型室內移動機器人面臨地圖構建、定位和路徑規劃等挑戰,需解決精度、穩定性和實時性問題。機器人技術瓶頸室內機器人需實現實時地圖更新、準確定位和實時路徑規劃,以滿足快速響應和高效導航的需求。實時性與準確性室內環境復雜多變,光照、障礙物等影響機器人感知和決策,需提升機器人環境適應性和魯棒性。室內環境復雜性123SLAM通過實時感知環境并構建地圖,實現機器人在無GPS信號或先驗信息缺失環境中的自主定位與導航。SLAM技術優勢SLAM技術從軍事領域拓展至掃地機器人、無人機等民用領域,成為智能系統實現自主導航的關鍵技術。技術應用廣泛科研人員持續優化SLAM算法,提升其精度、魯棒性和實時性,推動相關應用向更廣泛領域滲透。算法不斷優化SLAM技術崛起及應用03未來展望隨著技術不斷發展,基于ROS的機器人SLAM與導航技術將更加成熟,為機器人技術的廣泛應用奠定基礎。01ROS功能包ROS提供了如gmapping、hector_slam、cartographer等功能包,簡化了機器人的SLAM和導航開發。02實踐項目通過具體項目實踐,如使用ROS實現機器人的實時地圖構建與自主導航,可深化對理論知識的理解與應用。ROS機器人SLAM與導航實踐02基礎理論0102SLAM核心概念SLAM,即時定位與地圖構建,驅動機器人未知環境自主探索。機器人邊移動邊構建地圖,持續定位自身,實現智能導航與路徑規劃。盲人比喻借盲人探索比喻SLAM,盲人伸手探測障礙,移動校正地圖與位置,體現SLAM核心,機器人亦如此,不斷感知、定位、建圖,實現自主導航。盲人感知局限盲人探索環境,感知有限,會存在誤差,他根據確定程度為障礙物設置概率值,概率越大,障礙物可能性越高,體現SLAM探索的局限性。應用場景家庭、商場、車站等室內場所是室內機器人的主要應用場景,在這些應用中,用戶需要機器人通過移動完成某些任務,這就需要機器人具備自主移動、定位的功能。自主導航自主導航與SLAM緊密相連,SLAM生成的地圖是機器人移動的藍圖,引導機器人精準定位,規劃最優路徑,避開障礙物,實現高效、智能的自主移動。030405SLAM簡介深度信息獲取01機器人SLAM與自主導航的關鍵在于感知周圍環境,特別是深度信息,用于探測障礙物距離。激光雷達、攝像頭和RGB-D攝像頭是獲取深度信息的三種主要傳感器。激光雷達02激光雷達是研究最多、使用最成熟的深度傳感器,提供精確的距離信息,用于掃地機器人等。其優點是精度高、響應快、數據量小,適合實時SLAM;缺點是成本高。RGB-D攝像頭03RGB-D攝像頭融合了RGB圖像和深度信息,適用于SLAM、圖像處理和物體識別。其成本較低,但存在測量視野窄、盲區大和噪聲大等缺點,是室內服務機器人的主流方案。傳感器簡介激光雷達通過發射接收激光束,實現3D掃描,獲取周圍環境深度信息。機器人利用這些數據實現精準避障,確保在復雜環境中穩定運行。3D掃描與避障在室內定位與建圖方面,激光雷達具有顯著優勢;它為機器人提供精確的環境數據,支持實時地圖構建與定位,是實現智能導航的關鍵技術。室內定位與建圖盡管激光雷達具有高精度和穩定性,但成本較高;因此,在選用時需綜合考慮性能與成本,選擇性價比優的產品,以滿足不同應用場景的需求。性能與成本考量激光雷達單目攝像頭:單目攝像頭以一個攝像頭完成SLAM任務,具有傳感器簡單、適用性強的特點;但實現過程復雜,且在靜止狀態下無法測量距離,需依賴運動狀態下的三角測量原理。雙目攝像頭:雙目攝像頭通過兩個攝像頭協同工作,實現距離信息的感知,無論在運動或靜止狀態下均能進行有效測量;然而,兩個攝像頭的精確標定較為復雜,且圖像數據量大導致運算量大。攝像頭室內應用主流:RGB-D攝像頭因其成本低廉且性能穩定,成為室內服務機器人的首選傳感器方案;然而,其測量視野相對較窄,且存在盲區和噪聲問題,需在實際應用中加以注意。融合感知技術:RGB-D攝像頭通過融合RGB圖像與深度信息,實現環境的三維重建與深度感知。其獨特優勢在于能夠精準識別物體位置與姿態,為SLAM提供強有力的支持。RGB-D攝像頭03準備工作環境深度信息無論是SLAM還是自主導航,獲取周圍環境的深度信息都是至關重要的。要獲取深度信息,首先要清楚ROS中的深度信息是如何表示的。激光雷達掃描數據針對激光雷達,ROS在sensor_msgs包中定義了專用數據結構——LaserScan,用于存儲激光消息。LaserScan消息的具體定義如下圖所示。雷達驅動與launch文件機器人教學平臺的激光雷達節點,可視化機器人的激光雷達發布的數據,機器人的雷達驅動launch文件存放在xtark_driver功能包中。傳感器信息啟動雷達驅動節點遠程連接機器人,啟動此launch文件,將雷達驅動起來,然后在PC端(注意,非機器人端)啟動RViz,按照添加雷達數據的話題。固定幀修改與顯示添加完成后,按將GlobalOptions里的FixedFrame修改為laser,即可在三維界面中看到我們的雷達掃描出的環境深度信息數據。里程計信息里程計根據傳感器獲取的數據來估計機器人隨時間發生的位置變化,在機器人平臺中,較為常見的里程計是編碼器,例如,機器人驅動輪配備的旋轉編碼器。傳感器信息機器人當前的運動狀態,包括x、y、z三軸的線速度與角速度,以及用于校正誤差的協方差矩陣。上述數據結構中,除速度與位置的關鍵信息外。在精度要求不高的機器人系統中,可以使用默認的協方差矩陣;而在精度要求較高的系統中,需要先對機器人精確建模后,再通過仿真。機器人能夠發布里程計nav_msgs/Odometry消息,如圖11-11所示,包含機器人在自由空間中的位置和速度估算值,pose為機器人當前位置坐標。機器人移動時,編碼器測量輪子旋轉圈數;知周長,可算速度與距離。里程計通過速度積分求位置,對誤差敏感,需精確采集、標定、濾波等措施。精度需求與協方差矩陣導航功能包要求twist編碼器測量輪距傳感器信息里程計數據估計里程計根據傳感器數據估計機器人位置變化,常見里程計為編碼器;通過測量輪子旋轉圈數和周長,可計算機器人速度和移動距離。深度信息獲取無論是SLAM還是自主導航,獲取周圍環境的深度信息都是至關重要的;要獲取深度信息,首先要清楚ROS中的深度信息是如何表示的。LaserScan消息定義LaserScan消息定義包含角度、時間、距離等信息,用于存儲激光雷達掃描數據;angle_min和angle_max定義可檢測范圍。激光雷達數據采集運行機器人教學平臺的激光雷達節點,并啟動相應的launch文件,可在RViz中可視化激光雷達掃描的環境深度信息數據。環境深度信息數據采集與標定01里程計根據傳感器獲取的數據來估計機器人隨時間發生的位置變化,在機器人平臺中,較為常見的里程計是編碼器,例如,機器人驅動輪配備的旋轉編碼器。發布Odometry消息02導航功能包要求機器人能夠發布nav_msgs/Odometry消息,包含機器人在自由空間中的位置和速度估算值,以及用于校正誤差的協方差矩陣。精度需求與矩陣設定03在精度要求不高的機器人系統中,可以使用默認的協方差矩陣;而在精度要求較高的系統中,需要先對機器人精確建模后,再通過仿真、實驗等方法確定。里程計信息04SLAM建圖gmapping優缺點gmapping實時構建室內地圖,適用于小場景,對激光雷達頻率要求低且魯棒性強。相比Cartographer,gmapping計算量小、精度相當且能利用里程計信息,但構建大地圖時受內存和計算量限制,且無回環檢測可能導致地圖錯位。gmapping功能包gmapping功能包采用Rao-Blackwellized粒子濾波算法,訂閱深度信息、IMU和里程計,配置參數后輸出二維柵格地圖。支持的話題和服務包括地圖數據發布、坐標變換及動態地圖獲取,同時提供豐富的配置參數以滿足不同應用需求。gmapping建圖流程在機器人中啟動gmapping建圖,需發送SSH命令以遠程連接機器人并執行建圖文件。該過程包括啟動鍵盤控制節點以手動控制機器人移動,同時在PC上啟動RViz并加載配置文件以實時查看地圖。建圖完成后,使用map_saver節點保存地圖。gmappinghector-slam的優點在于無需里程計,適應空中無人機及地面小車在不平坦區域建圖,通過高斯牛頓方法優化激光點陣,實現精準映射。但依賴于高頻率、低噪聲雷達,且建圖效果受速度影響,無法有效利用精確里程計信息,存在局限性。hector_slam的核心是hector_mapping節點,訂閱激光數據/scan并發布構建的地圖及機器人位姿話題。支持的話題包括激光掃描數據、系統命令等,發布的話題有地圖Meta數據、柵格地圖、機器人位姿等,同時提供服務動態獲取地圖數據。在機器人中啟動hector建圖需發送SSH命令以遠程連接機器人并執行建圖文件,同時啟動鍵盤控制節點以低速控制機器人移動。在虛擬機上啟動RViz并加載配置文件以查看建圖過程,建圖完成后使用map_saver保存地圖,并關閉相關節點。hector優缺點hector功能包hector建圖流程hector-slamcartographer的優缺點采用基于圖網絡的優化方法,占用計算資源少,能有效避免建圖中移動物體的干擾,并支持大環境。但相較于其他SLAM算法,它占用內存較大,需要考慮到資源消耗問題,在資源受限的環境下需謹慎使用。cartographer功能包需要源碼編譯安裝,將創建一個工作空間catkin_google_ws并下載源碼編譯。為避免沖突,已安裝人員可跳過。安裝涉及更新、初始化、合并ROS安裝、編譯及設置環境變量等步驟,確保所有依賴正確安裝。在機器人中使用cartographer在機器人教學平臺中,啟動cartographer建圖算法需發送SSH命令連接機器人并執行集成啟動文件。該文件啟動了必要的底層驅動和cartographer算法節點。通過虛擬機中的鍵盤控制節點和RViz進行建圖操作。cartographer05amcl功能包與代價地圖的配置amcl支持靈活配置,通過調整粒子數、誤差界限、更新間隔等參數,可以根據具體應用場景優化定位性能,同時提供初始化姿態、激光模型和里程計模型等高級配置選項。amcl與里程計同為機器人定位工具,里程計依賴連續運動數據定位,而amcl通過匹配激光掃描實現定位,兩者結合使用,可以互補優缺點,提升機器人定位的穩定性和準確性。訂閱激光雷達、TF變換和地圖數據,發布機器人在地圖中的位姿估計及粒子云,提供全局定位服務,并通過服務調用實現地圖獲取和恢復操作,靈活應對不同定位需求。amcl功能包提供自適應蒙特卡羅定位方法,通過粒子濾波器在地圖中跟蹤機器人姿態,實現自主定位。這種方法基于概率統計,能處理機器人任意狀態下的定位問題。里程計與amclamcl話題服務amcl配置參數amcl定位方法amcl功能包本地規劃配置文件為本地代價地圖提供寬度、高度、分辨率等參數,這些參數適用于局部路徑規劃和實時避障,確保機器人在復雜環境中能夠靈活導航。代價地圖配置導航功能包使用代價地圖來存儲環境障礙信息,通過配置文件設置地圖參數,如更新頻率、發布頻率、靜態地圖等,以適應不同的導航需求。通用配置文件定義共用的代價地圖參數,如障礙物范圍、射線追蹤范圍、機器人足跡、膨脹半徑等,這些參數確保了代價地圖能夠準確地反映環境障礙信息。全局規劃配置文件針對全局代價地圖,設置參考系、更新頻率、是否靜態地圖等參數,這些參數有助于規劃全局路徑,實現高效、準確的全局導航。代價地圖的配置06機器人導航實踐遠程連接:通過安全的SSH協議遠程連接至機器人,確保實時操作與監控的無界限,為導航任務奠定堅實基礎。地圖準備:啟動機器人激光雷達節點,利用RViz三維可視化工具實時查看并確認雷達掃描到的環境深度信息,為后續導航任務提供精準地圖支持。遠程鏈接與地圖準備遠程連接到機器人,啟動gmapping建圖文件的集成文件,該文件包含所有gmapping建圖所需的節點和配置,用于生成室內地圖。啟動gmapping啟動hector_mapping建圖算法的集成文件,該文件包含必要的節點和配置,用于構建地圖,適用于空中無人機及地面小車等特殊平臺。啟動hector啟動cartographer建圖算法的集成文件,該文件包含所有cartographer建圖所需的節點和配置,實現實時高精度2D地圖構建。啟動cartographer啟動導航集成文件RViz可視化與標定坐標變換標定:利用RViz中的工具和功能,對激光雷達坐標系與機器人基坐標系、里程計坐標系之間的變換進行精確標定,確保導航信息的準確無誤。RViz配置:在虛擬機上啟動RViz,并加載事先準備好的RViz配置文件,該文件包含固定視角、話題訂閱等設置,確保三維可視化界面的準確性和實用性。自動避障:機器人通過超聲波傳感器或激光雷達實時檢測到障礙物,并能夠自主規劃路徑,繞開障礙物繼續前行,實現智能自主的移動。精度測試:通過模擬復雜環境,在地圖上設置隨機分布的障礙物,測試機器人在導航過程中的定位精度和路徑規劃能力,確保其在真實環境中的可靠運行。機器人自動避障導航07多點連續導航導航框架01機器人導航核心在于精準定位與高效路徑規劃。ROS導航框架集成amcl定位與move_base規劃,實現實時避障與智能導航,部署簡便,性能卓越。傳感器信息02導航功能

溫馨提示

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

評論

0/150

提交評論