服務機器人應用開發(中級) 課件 項目8 讓機器人構建地圖_第1頁
服務機器人應用開發(中級) 課件 項目8 讓機器人構建地圖_第2頁
服務機器人應用開發(中級) 課件 項目8 讓機器人構建地圖_第3頁
服務機器人應用開發(中級) 課件 項目8 讓機器人構建地圖_第4頁
服務機器人應用開發(中級) 課件 項目8 讓機器人構建地圖_第5頁
已閱讀5頁,還剩45頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

讓機器人構建地圖項目1CONTENT目錄項目導入01項目任務02學習目標03知識鏈接04項目準備05任務實施06任務評價07任務拓展08項目小結09項目導入01項目導入1移動機器人在服務場景中快速準確地從某一起始位置到達目標位置。需要解決兩個基本問題:1.了解自身周邊的環境信息;——建圖2.確定自身在環境中的具體位置。——定位機器人從自身角度獲得地圖,需要定位自己的初始位置,并探索未知區域,稱為即時定位與地圖構建(SLAM)4CONTENT目錄項目導入01項目任務02學習目標03知識鏈接04項目準備05任務實施06任務評價07任務拓展08項目小結09項目任務02項目任務17編譯安裝ROSSLAM源碼包配置電腦與機器人共享ROS環境使用KartoSLAM算法進行地圖構建保存并優化地圖文件01020304CONTENT目錄項目導入01項目任務02學習目標03知識鏈接04項目準備05任務實施06任務評價07任務拓展08項目小結09學習目標03知識目標職業素養目標技能目標1.熟悉移動機器人建圖的概念;2.熟悉控制移動機器人掃圖的方法、步驟和注意事項;3.熟悉ROS環境下的常用命令;4.了解KartoSLAM算法;5.熟悉ROSKartoSLAM功能包基本框架、節點及節點參數的含義;6.熟悉可視化界面rviz對傳感器數據獲取的基本操作。知識目標:知識目標、技能目標、職業素養目標10學習目標31.能正確使用ROS常用命令;2.能完成KartoSLAM源碼包編譯安裝;3.能設置電腦和機器人共享ROS環境;4.能了解并調用ROSKartoSLAM功能包的slam_karto節點;5.能控制機器人進行掃圖;6.能使用可視化界面rviz查看建圖過程和激光數據信息;7.能保存掃描完成的地圖文件;8.能夠讀懂機器人所建地圖的含義,并對保存的地圖文件進行編輯優化。技能目標:1.培養工程的耐心和細心2.提高學生自主學習和持續學習的意識和能力3.培養團隊合作精神。職業素養目標:CONTENT目錄項目導入01項目任務02學習目標03知識鏈接04項目準備05任務實施06任務評價07任務拓展08項目小結09知識鏈接04柵格地圖ROS常用命令行工具掃圖步驟和注意事項機器人可視化工具——rvizTeleop控制機器人KartoSLAM每個柵格以概率的形式表示被占據的概率,存儲非常緊湊,適合于進行路徑規劃。2D激光雷達一般用于室內機器人,如掃地機器人和商用場景中的服務型機器人,建立的地圖常用二維占用柵格地圖(Occupancygridmapping)表示。3D激光雷達多用于無人駕駛領域,其地圖用3D點云圖或三維占用柵格地圖的形式來表示。知識鏈接柵格地圖413知識鏈接掃圖步驟和注意事項4141、在使用激光雷達掃圖的過程中,最好使用鍵盤控制機器人移動。另外,最好選取附近環境比較獨特、相似度較低的位置開始掃圖,不建議在相似度較高的地方開始,比如平整的長走廊(如下所示)或特征相似的辦公室工位(如圖8-5所示),因為這類區域不適合掃圖完成前的回環檢測步驟。2、在一個存在多個分區的環境中,盡量選取環形路線(走之前走過的路線),有助于地圖回環,同時地圖中存在多個環形路線,應當先走小環路線,再走大環路線。如圖所示。知識鏈接ROS常用命令行工具415(1)rosdep命令

Wiki:/rosdep

安裝rosdep

初始化rosdep

檢查和安裝依賴(2)文件系統工具

rospack:獲取軟件包信息/rospackroscd:直接切換(cd)工作目錄到某個軟件包或者軟件包集roscdlog:切換到ROS保存日記文件的目錄下rosls:直接按軟件包的名稱而不是絕對路徑執行ls命令Tab自動補全運行節點node有兩種途徑:通過rosrun命令處理單個node;通過roslaunch命令批量處理,運行多個node及參數配置。(3)rosrun命令Wiki:

/rosbash#rosrun(4)roslaunch命令用來管理node的啟動與停止,一般需要一個或多個后綴為.launch的xml類文件作為參數。Wiki:/roslaunch利用rviz可以很方便地查看ROS建圖、導航功能包集發布的可視化數據知識鏈接機器人可視化工具——rviz416rviz界面介紹:File:用于加載保存配置文件;Panel:用于管理面板。Tools面板:包括交互、移動、測量等,以及一些插件,如2DNavGoal和2DPoseEstimate;Displays面板:其中的樹形列表為已添加配置的顯示項及其參數,樹形列表下面是管理按鈕,可以添加、刪除、重命名顯示項;3D模擬環境的圖形顯示面板;視角管理面板;Time面板:顯示時間、幀率等時參數。知識鏈接機器人可視化工具——rviz417知識鏈接Teleop控制機器人418在機器人建圖過程中,需要控制機器人在實驗場地移動。這需要使用Teleop工具發布速度控制命令控制機器人運動。啟動teleop所使用的命令為:roslaunchcruzr_tutorialsteleop.launch知識鏈接KartoSLAM算法419KartoSLAM算法框架算法采用了SLAM傳統的軟實時(softreal-time)的運行機制,每有一幀數據輸入,即進行處理,其基本流程主要包含:運動更新、掃描匹配、回環檢測、后端優化。主要分為前端和后端:前端包括掃描匹配,以提供估計的姿勢并將地圖構造為圖形;后端是非線性全局優化過程,以消除機器人重訪同一位置時累積的錯誤。知識鏈接KartoSLAM節點介紹420訂閱的話題激光數據:由/scan表示,類型為sensor_msgs/LaserScan;里程計數據:由tf轉換關系表示,需要包含里程計到機器人坐標系的轉換(odom->base_link)及機器人到激光坐標系的轉換(base_link->laser_link)等。發布的話題

/tf:輸出地圖坐標系到里程計坐標系的變換(map->odom);/map:創建的地圖;/map_metadata:創建的地圖的信息;/visualization_marker_array:建圖算法中的圖網絡CONTENT目錄項目導入01項目任務02知識鏈接04項目準備05學習目標03任務評價07任務拓展08項目小結09任務實施06項目準備05項目準備523檢查機器人急停開關,若急停開關被按下,需將其旋開一臺配置有Ubuntu18.04+ROSmelodic環境或虛擬機環境的電腦電腦和機器人處于同一局域網網段,且網絡連接正常實驗場地沒有影響或遮蔽激光雷達探測的障礙物01020304CONTENT目錄項目導入01項目任務02知識鏈接04任務實施06學習目標03任務評價07任務拓展08項目小結09項目準備05任務實施06編譯安裝SLAM源碼包PC端和機器人共享ROS環境使用KartoSLAM進行環境地圖的構建保存并優化地圖文件任務實施編譯安裝SLAM源碼包626ssh連接機器人進入/cruzr_open目錄解壓縮:tar-xvfcruzr_edu_open_V1.1.0.tar編譯:

catkin_make任務實施PC端和機器人共享ROS環境627PC端使用vim命令行工具編輯~/.bashrc文件,按提示輸入密碼:在文件最后添加主機與從機的配置。任務實施PC端和機器人共享ROS環境628然后通過同樣的操作編輯/etc/hosts文件,在最后添加??機器人的IP和定義的名稱“ubt-robot”重啟終端或在當前終端執行:source~/.bashrc可查看是否能ping通ubt-robot,若成功,然后執行rostopiclist,查看是否出現機器人端的topic,若沒有topic,則~/.bashrc文件中ROS_MASTER_URI設置錯誤:任務實施PC端和機器人共享ROS環境629執行rostopicecho/odom,查看是否出現機器人的里程計信息,若沒有信息輸出,檢查hosts文件是否正確。任務實施使用KartoSLAM進行環境地圖的構建630進入目錄/ftpDownload,并查看目錄下文件:任務實施使用KartoSLAM進行環境地圖的構建631配置slam算法環境

由于機器人Cruzr擁有兩套slam算法,一套為自帶USLAM算法,一套為開源算法KartoSLAM,當我們要使用開源算法進行建圖時,則需要將slam_algorithm.sh文件中第八行的slam_algorithm=’uslam’這行代碼注釋掉。任務實施使用KartoSLAM進行環境地圖的構建632配置完成后,同樣在機器人端,進入目錄/cruzr_open,并配置工作環境:運行cruzr_tutorials功能包中的launch文件開啟kartoslam算法建圖:任務實施使用KartoSLAM進行環境地圖的構建633回到PC端,打開新的終端(同樣需要/cruzr_open配置工作環境),進入cruzr_tutorials功能包中的/rviz目錄,啟動rviz可視化工具,實時觀察創建的地圖:任務實施使用KartoSLAM進行環境地圖的構建634這里rviz界面加載了karto_mapping.rviz,一個已經配置好的rviz界面文件,如圖所示任務實施使用KartoSLAM進行環境地圖的構建635控制機器人移動這里控制機器人底盤移動的方式有兩種:第一種:通過機器人遙控器節點;第二種:通過機器人頭部屏幕的“手推模式”。在不太空曠的場景里,建議通過第二種方式更安全方便。第一種方式的開啟命令是roslaunchcruzr_tutorialsteleop.launch,就可以啟動cruzr_tutorials功能包中的機器?遙控器,使用鍵盤控制機器?運動。調節線速度為0.7,角速度為0.5,調節命令為:roslaunchcruzr_tutorialsteleop.launchspeed:=0.7turn:=0.7。任務實施使用KartoSLAM進行環境地圖的構建636控制機器人移動進行建圖通過rviz觀察機器人建圖信息:TF坐標系關系:圖中紅綠相間的部分代表機器人的坐標系,可放大查看;激光數據:紅點表示激光當前掃描的地方;kartoslam算法創建的地圖:白色:已掃描的無障礙區域;黑色:已掃描的障礙區域,如墻壁、柜子等;灰色:未掃描的區域。karto算法關鍵幀信息和路徑:藍色線條代表機器人走過的路徑。任務實施使用KartoSLAM進行環境地圖的構建637控制機器人移動進行建圖當我們進行較大場景的建圖時,由于激光雷達累計誤差的影響,走重復路徑時機器人的位姿可能有一定的偏差,需要等待回環檢測進行修正,以降低建圖誤差。回環檢測優化前地圖回環檢測優化后地圖任務實施使用KartoSLAM進行環境地圖的構建638建圖完成當我們掃描完一塊區域后,就可以保存地圖用于后續導航。掃圖完成示例任務實施保存并優化地圖文件639

在rviz中觀察到地圖結構完整,完成建圖任務后,保存地圖,示例如下:rosrunmap_servermap_saver-f<地圖名稱>掃圖完成時(左)和保存的地圖(右)任務實施保存并優化地圖文件640編輯優化地圖(a)原始地圖(b)去噪后地圖由于地圖中會出現部分噪點和障礙物,若直接使用該地圖進行導航,可

溫馨提示

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

最新文檔

評論

0/150

提交評論