《鴻蒙機器人比賽》課件-08-智能機器人倉儲應用場景開發(fā)_第1頁
《鴻蒙機器人比賽》課件-08-智能機器人倉儲應用場景開發(fā)_第2頁
《鴻蒙機器人比賽》課件-08-智能機器人倉儲應用場景開發(fā)_第3頁
《鴻蒙機器人比賽》課件-08-智能機器人倉儲應用場景開發(fā)_第4頁
《鴻蒙機器人比賽》課件-08-智能機器人倉儲應用場景開發(fā)_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

智能機器人倉儲應用場景開發(fā)課程內(nèi)容課程背景場景程序分析和設計機械臂與攝像頭標定手動控制場景程序代碼視覺處理程序啟動機器人驅(qū)動程序與功能程序?NXROBO20232課程背景課程背景?NXROBO20234倉儲空間利用率是倉儲運營成本的重要組成部分,為了提升倉儲庫容率,節(jié)省空間儲存成本,各行業(yè)倉庫通常都會選擇將貨物進行逐層向上的自然堆疊處理,因此貨物自然堆疊是實現(xiàn)內(nèi)部物流自動化必須攻克的剛需場景之一。實踐模擬自動化倉庫貨物堆疊場景,使用智能機器人spark,場地為3m*3m的平面,場地圖如下所示,貨物采用的是9個10cm*10cm*10cm的藍色方塊,均放置在場地中央。機器人通過手動操控的方式,從起始位置出發(fā)到場地中央,從中吸取藍色方塊回至起始位置,將所有方塊吸取并放置在起始區(qū)域中,實現(xiàn)貨物的堆疊。該場景融合了機器人移動控制、SLAM建圖導航、計算機視覺、機械臂抓取等技術(shù),通過該場景可以很好地將前幾章的知識進行實踐運用。場景程序分析和設計?NXROBO20236場景程序分析和設計設計鍵盤控制程序,通過設定鍵盤按鍵發(fā)布對應的底盤運動話題,如前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、抓取、釋放等等;設計視覺處理程序,將攝像頭視野范圍中的方塊進行定位,識別其中抓取成功概率最高的藍色方塊,獲取其中心點位置;設計機械臂抓取與釋放程序,根據(jù)藍色方塊的位置,通過攝像頭與機械臂標定后,確定機械臂抓取位置,根據(jù)實際放置情況,設定不同的釋放高度。機械臂與攝像頭標定?NXROBO20238機械臂與攝像頭標定打開攝像頭與機械臂標定程序。?NXROBO20239機械臂與攝像頭標定此時打開了這個界面,我們需要將機械臂的末端橙色部分對著圖中綠色方框,可以適當調(diào)整攝像頭的拍攝角度來確定位置。?NXROBO202310機械臂與攝像頭標定點擊旁邊的終端,按任意鍵確定。這時,機械臂開始與攝像頭標定。機械臂與攝像頭標定?NXROBO202311這個是比較好的標定過程,周圍沒有其他顏色干擾,所以要注意周圍光線、環(huán)境的影響,同時也要注意比較相關(guān)的參數(shù),因為使用的是一元線性回歸,圖像位置與機械臂位置會有相對固定的定值增減,所以在標定過程中,觀察圖像的x軸與y軸的變化量是否相對穩(wěn)定。標定完成之后,退出即可。手動控制場景程序代碼手動控制場景程序代碼?NXROBO202313首先打開我們手動控制場景程序,teleop.py文件。手動控制場景程序代碼?NXROBO202314首先是初始化的配置,導入相關(guān)庫,創(chuàng)建發(fā)布者對象,定義抓取和放置的標志位。手動控制場景程序代碼?NXROBO202315這里是機械臂相關(guān)的話題訂閱,首先創(chuàng)建機械臂訂閱者對象,訂閱機械臂的狀態(tài),判斷當時是抓取狀態(tài)還是放置狀態(tài)。手動控制場景程序代碼?NXROBO202316這里就是鍵盤控制函數(shù)的相關(guān)初始化參數(shù)操作,速度的設置等等,此處銜接我們之前學的運動控制程序。手動控制場景程序代碼?NXROBO202317手動控制場景程序代碼跟我們之前學習的運動控制代碼有一部分類似,也算是拓展,其中這里增加了機械臂抓取和機械臂放置的功能,通過鍵盤的g或h實現(xiàn),會發(fā)送抓取或者放置信號給機器人,同學們也可以開發(fā)其他的鍵值。視覺處理程序視覺處理程序?NXROBO202319首先打開我們的視覺處理程序grasp_d435.py。視覺處理程序?NXROBO202320導入相關(guān)庫文件,這里更多的是圖像處理相關(guān)的,其中也自定義了一個消息類型,這個是跟機械臂狀態(tài)相關(guān)的。視覺處理程序?NXROBO202321這里也是做一些初始化操作,初始化各個坐標點、標志位,同時也創(chuàng)建一些發(fā)布者、訂閱者對象。視覺處理程序?NXROBO202322這里是機械臂抓取的回調(diào)函數(shù),當機械臂發(fā)布了抓取的消息后,機器人會進入這個回調(diào)函數(shù),機器人會轉(zhuǎn)圈,攝像頭會一直發(fā)布圖像信息,圖像處理回調(diào)函數(shù)也會運行。如果發(fā)現(xiàn)目標物品,停下抓取。視覺處理程序?NXROBO202323這部分主要是有機械臂抓取相關(guān)的程序,這部分,會與我們之前機械臂與攝像頭標定的部分有關(guān),根據(jù)機械臂的位置,結(jié)合視覺識別目標的位置,完成抓取。視覺處理程序?NXROBO202324通過設置機械臂相關(guān)的位置高度,實現(xiàn)提起物品高度,放置物品高度。?NXROBO202325視覺處理程序先將訂閱到的圖像格式轉(zhuǎn)換成opencv能夠處理的格式,使用“CvBridge().imgmsg_to_cv2”。然后通過opencv的方法,實現(xiàn)對物品顏色的識別,同時確定要抓取物品的位置。?NXROBO202326視覺處理程序通過主邏輯程序,完成機器人視覺抓取邏輯功能。啟動機器人驅(qū)動程序與功能程序?NXROBO202328啟動機器人驅(qū)動程序與功能程序結(jié)合前面課程的學習,若需要將機器人的各個驅(qū)動(底盤驅(qū)動、雷達驅(qū)動、攝像機驅(qū)動等等)一起啟動的話,可以使用launch文件進行整合編寫,那么接下來創(chuàng)建一個launch文件將所需啟動的節(jié)點驅(qū)動包含其中,創(chuàng)建名為teleop2grasp的launch文件。?NXROBO202329啟動機器人驅(qū)動程序和功能程序使用<include>標簽啟動driver_bringup.launch文件,該文件包含了底盤的啟動節(jié)點、機器人的描述文件、攝像機驅(qū)動,機器人的描述文件,即機器人的模型文件可以在rviz上顯示機器人模型。?NXROBO202330啟動機器人驅(qū)動程序和功能程序啟動swiftpro功能包中的pro_control_nomoveit.launch,機械臂開始訂閱運動控制話題與吸盤開關(guān)話題。啟動lidar_driver_transfer功能包中的雷達啟動文件,具體的啟動文件根據(jù)雷達的型號進行選擇,雷達開始掃描并發(fā)布雷達數(shù)據(jù)。?NXROBO202331啟動機器人驅(qū)動程序和功能程序使用<node>標簽啟動teleop.py程序,然后根據(jù)攝像頭型號的不同,啟動對應的視覺處理程序grasp_d435.py。啟動成功后,就可以通過彈出的鍵盤控制終端對機器人進行控制與對貨物方塊的抓取?NXROBO202332啟動機器人驅(qū)動程序和功能程序通過roslaunch命令啟動teleop2grasp.launch文件,同時指定攝像頭類型為d435,雷達類型為ydlidar_g6。?NXROBO202333啟動機器人

溫馨提示

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

評論

0/150

提交評論