劉駿豪 趙韓宇 王安浩 彭子翔
(江蘇大學,江蘇鎮江 212013)
乒乓球作為國球,越來越多的人喜歡打乒乓球,在乒乓球的學習中,發球是最基礎最重要的一環,其中,發球和撿球的效率決定練習的時長。為了更快更好地練習,減少運動員在練習過程中繁重的撿球工作。通過對市場上撿球機器人的調查,撿球機器人都存在一些問題,如種類較多、速度較慢、成本較高、工作效率較低等。
因此,研究一款智能化乒乓球撿球機器人,能夠自動拾取散落在球場上的乒乓球,可以在減少人力投入、提高訓練效率等方面發揮重要的作用。
撿球機器人利用傳感器對目標物體進行識別,再利用目標物體的位置信息,進行軌跡規劃,進而通過控制機器人實施撿球。為了解決這個問題,機器人通過樹莓派收集傳感器數據,采用深度強化學習算法[1],在學習的過程中,不斷實時定位,小車選擇出最優的路徑規劃,規避障礙物,快速運動到指定地點,同時機械臂運動可以更加準確地抓取目標乒乓球。通過深度學習算法,可以將小車運動最優化,機械臂的控制簡單化,使整個撿球的穩定性、實用性及操作精度得到更好的保障。
乒乓球撿球機器人的運行流程為:(1)經過系統的圖像訓練,在樹莓派之中生成所需要抓取的乒乓球的模板幀。(2)圖像識別模塊在周圍尋找相似的模板,并進行靠近。(3)機器人撿球系統的紅外避障傳感器開始檢測是否有障礙物。當檢測到障礙物時,紅外傳感器將信號傳遞給樹莓派,樹莓派控制運動模塊做出相應運動并再次檢測是否有障礙物存在。(4)到達所需要的模板幀處,當樹莓派根據圖像判別機器人當前的位置合適時,樹莓派對抓取模塊發出抓取命令,機器人抓取乒乓球并將其存儲到機械爪旁的框中[2-3]。
機器人以樹莓派為核心模塊,輔以攝像頭作為機器視覺部分的接收,獲取機器人身前的目標檢測區域。以電機驅動車輪傳動實現機器人運動方向的選擇和規劃,可基于樹莓派賦予不同高低電平控制行動。在車前左右兩端安裝紅外傳感設備,保證避障系統可靠運行。在車身后端安裝電源,前端安裝機械臂,用以平衡機器本身的重量,保證機器重心穩固在可控范圍內。
撿球機器人的硬件部分主要為主控模塊、下位機控制模塊、攝像模塊、抓取模塊、運動模塊及電源模塊。
(1)主控模塊:該模塊是整個硬件系統的核心模塊,需要對攝像頭采集到的圖像進行識別,然后集中處理,從強化學習模型中獲取機器人下一步的執行狀態,傳輸控制命令給樹莓派開發板,讓其控制機器人運動。
(2)在下位機控制模塊的實際應用過程中,樹莓派二代的開發板具有強大的擴展性,不僅集成了多種接口和充足的引腳,還自帶MicroSD 端口、Camera 接口,可以使外界攝像頭獲取圖片信息,同時還有10/100 自適應網卡和10/100 的RJ45 以太網接口、2 個USB2.0 接口等,在系統中自帶了GPIO 端口的驅動,為開發者提供優良便捷的開發條件。并且其作為一款開源的ARM 開發板,其操作系統可以自行下載和燒錄。在編程語言方面,樹莓派開發板的操作系統能夠完美支持Python 語言、Java、C 語言等多種常用的編程語言。
(3)攝像模塊:該模塊作為整個硬件系統的圖像數據輸入端,需要對環境中的乒乓球進行拍照并將原始的圖像數據輸入主控模塊做進一步處理[4]。
一是成果質量因素的影響。科研成果本身質量的高低,以及成果所隱含的應用價值的大小直接影響到科研成果的轉化程度。成果質量對轉化的影響主要通過其是否易轉化,可操作性和接受性體現出來。如圖2所示:
(4)抓取模塊:采用六自由度的LeArm 開源機械臂配套機械爪,機械爪的一邊固定不動,機械臂采用運動學逆解,由機械爪舵機帶動爪子進行乒乓球的抓取。同時對機械爪固定的一邊進行改造,將機械爪固定一邊的兩根銅柱拆下來并加裝一個存儲乒乓球的框。這樣可以借助另一邊夾取乒乓球的慣性力,將乒乓球放入框中存儲。
(5)運動模塊:該模塊是在一個電機驅動的小車上安裝六自由度的機械臂,這樣可以通過小車的運動到達目的地,然后機械臂實現抓取。
(6)電源模塊:該模塊作為整個硬件系統的供電端,需要為撿球機器人的下機位控制模塊供電,此時采用的是12V 保護板電池組外加樹莓派的電源驅動板給下位機供電。
基于系統的運行邏輯,在軟件運行部分,則希望以高效準確的識別和軌跡動作為運行前提,在準確無誤地識別和運行的過程中,能夠在變化較為豐富、障礙環境較為復雜的場景中實現諸多功能。
對乒乓球的識別使用了MobileNetV3-YOLO v3 算法。該算法基于數據庫機器學習,在收集足量的數據庫樣本的同時,覆蓋足夠多樣的數據場景,提高識別乒乓球的準確度。本設計使用的數據庫有800 張樣本,樣本基于環境光照、乒乓球顏色等指標進行區別收集[5]。
使用機器學習算法,能有效改善機器在復雜場景中對乒乓球的識別情況,在識別到乒乓球時,基于標準圓計算判斷乒乓球的實際位置,方便后續機械臂抓取定點目標,具體計算方法如圖1 所示[6]。

圖1 物象成像距離估算
在得知焦距而不知道物體距離時,依照:
將標準乒乓球大小和YOLO 標簽檢測框獲取的目標進行基礎比對,按相似圖像比例換算,可得到目標相對于機器本身的距離,即單目測距手段。但此方法針對偏移相機中心的物體會產生圖像畸變,導致距離估算產生較大誤差,由此,在識別算法得知目標后,機器會通過運動使目標處在相機的中心位置,減少畸變產生的誤差,并且相較于抗畸變算法,其能更好地減少機器的算力需求,提高識別效率。
對于復雜運行場景中隨時可能出現移動障礙和光影的變化,路徑規劃算法在識別算法完成的基礎上,以“最短直線為首要準則,繞行可運行為次要準則”,會不斷嘗試直行前往目標位置,而在面對障礙時,采取如下邏輯:機器人前端左右兩邊的紅外傳感器,檢測到機器的左前方有障礙物出現,則向后倒車并右轉避開障礙,檢測到機器的右前方有障礙物出現,則向后倒車并左轉避開障礙。為防止機器先前的檢測目標丟失,機器會在確保左右紅外檢測器均指示無障礙時,回調轉向參數,再次搜索目標,并繼續依照識別邏輯進行檢測。
在使用機械臂抓取目標時,基于識別算法的距離測算,產生物體基準坐標,運用機械臂的運動學逆解測算[7],獲取合適的機械臂運動軌跡,抓取目標并進行收集。使用的機械臂形制為可視編程邏輯,在具體運用時,直接調用系統機械臂功能,輸入待抓取目標坐標,即自動抓取目標。
在乒乓球的識別測試過程中,識別準確率和效率作為主要基準,進行測試比對。在識別測試的環境中,以圖像直達理想識別(所提供圖片為樹莓派攝像設備拍攝)和機器運行環境實際識別為比對對象,測試理想識別條件和實際識別條件是否會產生較大的差別。測試的具體參數指標為圖像識別準確度和識別響應速度,以此來判斷是否達到測試要求。根據圖片信息測算的距離和實際照片拍照環境,測算距離誤差是否在可接收范圍內。
最終計算得出,在實際場景下,受樹莓派攝像機拍攝圖像和數據傳輸設備的影響,實際識別較理想識別稍有延遲,延遲差平均為0.8s,理想識別時間處于2.3s,實際識別處于3.1s,但識別精度不會產生較大誤差,均保持在識別準確度83%且標注準確度79%左右。而距離算法產生的估算結果和實際距離相比,誤差也在2cm 內,機械臂的抓取范圍大于乒乓球本身,其誤差也在可接受范圍內。
抓取測試則是在準確識別乒乓球目標后,從抓取響應速度和抓取準確度兩種層面收集數據并作分析,所有待抓取目標均位于機器人身前。在樹莓派開始識別目標到目標成功抓取的流程中,其響應時長為30±5s。而機器人對于乒乓球能以8/10 的比例完成抓取工作,無法抓取則出現在距離判斷誤差較大或場景明暗跨度較大的場景中。考慮到機械臂在部分場景中的局限性和機器功耗問題,將爪子和機器人本身進行對比,爪子能更快抓取目標且更具寬容度,其響應時長為18±3s,以9/10 的比例完成抓取工作。
在完成如上測試后,測試結果均達到理想設計條件,且將機器投放至實際環境中測試,可以發現機器在路徑算法上也滿足設計條件,且抓取動作除角落目標外,均能以合理姿勢完成撿球工作。在復雜光線處,亦可保證抓取準確性。
本文首先就本作品設計的背景和意義進行了闡述,同時對本作品設計過程中可能會遇到的問題進行了分析。其次,在總述本作品總體設計的基礎上分述了本作品的硬件設計和軟件設計。同時,展示了乒乓球撿球機器人的功能測試,包括乒乓球識別測試、機器人抓取測試,以及全流程實際場景測試。
本文設計的乒乓球撿球機器人,共有4 個模塊,分別是小車運動模塊、識別跟蹤模塊、機械手臂抓取模塊和智能避障模塊。作為乒乓球撿球機器人的大腦,樹莓派為這4 個模塊高度協同、自動化的實現提供了保障,其中應用的技術主要有高斯濾波、Canny 邊緣檢測、霍夫圓檢測、顏色特征提取、脈寬調制技術等。
本文設計的乒乓球撿球機器人不需要預先設定運動路線,而是根據乒乓球定位信息自動規劃最佳的運動軌跡,能夠獨立自主地完成乒乓球的拾取工作,因而應用前景廣闊。
本文設計的乒乓球撿球機器人還存在一定的缺陷,為進一步完善和優化其性能,使其能夠更高效地完成撿球工作,還需在以下方面開展進一步的研究。
(1)設計中的乒乓球收集裝置較小,一次能夠收集的乒乓球數量有限,為使其更具實際應用意義,在實際應用場景中,可以適當擴大其收集裝置的容量。
(2)本文設計的乒乓球撿球機器人的4 個輪子沒有延展特性,靈活性不強,在崎嶇路段容易發生側翻,為使其能夠應用于一些特殊的場景,可以改用履帶輪或麥克納姆輪。
(3)本文設計的乒乓球機器人通過機械手臂進行乒乓球的抓取,故工作效率較低,且對乒乓球位置的精度要求高,在實際應用場景中,可以采用滾動式撿球裝置來代替機械手臂工作,這種裝置對乒乓球的位置精度要求不高,且一次能夠撿起多個乒乓球,拾球效率高。