黃林琪,盧穎儀,黎盛業,關兆基,郜志航,李德榮▲
(1.廣東海洋大學機械與動力工程學院,廣東 湛江 524088;2.廣東海洋大學電子與信息工程學院,廣東 湛江 524088)
運動正逐漸成為人們主要生活方式之一,其中球類運動已成為最受歡迎的運動[1-2]。而目前國內外收球裝置的機械化、自動化程度極低,一般以人工撿球的方式為主。但人工撿球勞動強度大、效率低,且專門從事此方面的勞務人員數量日漸短缺[3]。而現有的撿球機器人普遍效率低下或需要人工輔助,且大多數仍通過遍歷的方式進行撿球[4]。
針對上述問題,結合我國現代化裝備自動化和智能化的發展需求,本文提出一種適應小球類(主要針對乒乓球、網球類的小球)、準確快速、數據采集匯總的基于深度學習及嵌入式視覺系統的球童機器人。
本機器人結構設計主要由圖像采集裝置、行走裝置、撿球裝置、集球裝置構成。圖1為機器人結構示意圖。

圖1 機器人總體結構
機器人工作時,行走裝置由直流電機配合全向輪帶動,再利用圖像采集裝置實時監測場地上目標球類的位置,當其迅速到達球的附近時,通過控制四爪結構機械手爪來實現撿球。激光雷達可以使機器人有效躲避障礙物,提高其應變環境的能力。
機器人底盤近似圓形,4個搭載全向輪的驅動電機安裝在兩層底盤之間,驅動電機輸出軸由圓心指向圓周,沿徑向均勻分布。全向輪能使識別及撿球過程變得更加流暢,省去轉彎、掉頭等步驟,針對不同材質的地面依舊表現出高機動性。該行走裝置能實現機器人在水平地面上任意方向移動的同時,具有快速啟動、制動的優點。
驅動電機輸出軸受到的屈服力大小為20 N,根據SolidWorks Simulation應力分析得出支撐底盤的最大位移量為0.5886 mm,符合適度變形條件。負載扭矩32 N·m于驅動電機輸出扭矩115 N·m,驅動電機正常工作。故得出結論:機器人驅動平臺的支撐底盤設計校核安全。應力分析如圖2。

圖2 應力分析
目前,已有的撿球機器人其撿球動作根據掃地機器人“掃把”裝置的原理,將乒乓球掃入機器人內部[5],也有利用風扇等吸力裝置將乒乓球吸入收集[6]。這些裝置由于機械機構的限制,對于位于墻角處和藏于障礙物之間的球以及體積、重量稍大的網球不能有效撿取,因而只適用于拾取障礙物較少且遠離墻壁的質量輕的乒乓球。
針對上述問題,機械手爪類型裝置的撿球方式是最適用的。為使機器人能廣泛地適用于球場,本機器人采用了四爪結構的機械手,能牢牢抓住球類,使撿球動作更加平穩,成功概率高,能有效抓取墻角、墻邊等死角的球。
整個撿球裝置的結構由一個雙自由度的機械臂和四爪機械手組成,通過控制爪子張開與閉合的角度來抓取小球,舵機控制機械臂的轉動,將抓取的球轉動到傳送導管。撿球裝置如圖3所示。

圖3 撿球裝置
本機器人由圖像檢測系統、供電控制系統、定位避障系統、運動執行系統以及撿球執行系統此五大系統組成。圖像檢測系統對圖像進行處理并對其進行特征識別后,得到對應的目標球類在圖像中的位置。供電控制系統根據識別出的位置坐標,以及定位避障系統對機器人的具體定位,控制運動執行系統讓機器人運動至球類附近的位置并通過收球執行系統將球類抓取存放于儲球裝置。機器人系統的硬件組成框圖如圖4所示。

圖4 機器人系統的硬件組成框圖
深度學習為我們展示了端到端學習(end-to-end learning)的概念,簡而言之,針對每個特定類別的對象,機器會自動學習需要查找所需要的特征[7]。相對于其他目標檢測方法,YOLO-v3更有優勢[8],對于320×320的圖像的檢測,其可達到22 ms的速度,獲得28.2 mAP的性能,與SSD的準確率相當,但是速度快3倍。考慮到機器人算法的實用性,采用了工業上做圖像識別常用的Tensor Flow作為YOLO-v3的運行框架。將模型轉換到Tensor Flow環境下完成模型的訓練,再將訓練好的權重轉為darknet,就可以把識別的權重部署到實際應用中,這樣就可以將算法的訓練和實際部署分開。
圖像檢測系統決定了機器人原理實現的可能性。330fps高幀率攝像頭對圖像進行采集,樹莓派再對采集到的圖像進行初步處理。考慮到球類識別所需的算力對樹莓派來說是個很重的負擔,則運用其自帶的Wi-Fi芯片對圖像以及相關數據通過路由器無線傳輸至PC端,對相關圖像數據進行深度處理。
供電控制系統是控制機器人整體運作的系統。采用基于Cortex-M4內核的STM32F407ZGT6芯片作為主控CPU,高運算能力及IO功能口多等特點使其運作更少拖延。由于樹莓派在工作過程中功耗較大,以及運動控制系統需要大功率輸出的特點,則采用了大功率6S鋰電池,外加AS1015芯片用于大功率降壓穩壓,用于控制系統以及樹莓派和相關傳感器的供電。
短距離無線通信通常采用WiFi、Bluetooth、HomeRF、ZigBee和UWB(Ultra Wide Band)等技術。UWB是利用超短電磁能量在脈沖作為信息載體來傳輸脈沖信號,使得脈沖占用極高的寬帶并且使其數據傳輸速率達到上百Mbps[9]。其能憑借僅一兩厘米的誤差識別出隱藏在墻體后運動著的物體,在室內環境下,其抗多徑能力優秀,能使不同多徑到達時間之差較小。每次的脈沖發射時間很短,在反射波到達之前,直射波的發射和接收已經完成。因此,UWB系統特別適合于高速移動環境下使用[10]。采用UWB作為定位系統彌補了330fps攝像頭廣角有限(150°)所帶來的可視范圍較小的缺點,將其工作范圍增大至球場面積,同時利用激光雷達配合UWB的高速傳輸使機器人擁有了實時地形建模能力,通過相關路徑算法對機器人周圍的異物進行避障,完成運動的任務。
機器人的硬件為電源、控制主板、樹莓派4B、UWB標簽、330fps高幀率攝像頭等。樹莓派與控制主板的串口通信引腳相連,用于相互的通信以及控制;攝像頭與樹莓派相連,用于實時采集圖像;UWB標簽與定位基站配套使用,實時反饋機器人當前的位置。
由于機器人的軟件設計部分較為復雜,則這一部分可分為兩大部分,即圖像識別部分以及嵌入式控制兩部分。
在圖像識別部分中,當供電控制系統對樹莓派發送了開啟識別的指令,攝像頭將實時采集圖像數據,再使用OpenCV對其進行相關的圖像初步處理(如降噪、顏色空間的轉換等)。隨即將處理完畢的圖像數據通過Wi-Fi傳輸至PC端,其中用到一個路由器來提供局域網。PC端在接收到數據后,在TensorFlow下運行YOLO-v3算法,同時使用Intel二代神經網絡計算棒對神經網絡運算進行加速,輸出目標球類在圖像中的具體位置以及大小至樹莓派。樹莓派接收到數據后將其輸出至單片機用于后續的控制。圖像識別部分流程圖如圖5所示。

圖5 圖像識別部分流程圖
在嵌入式控制部分,當機器人開啟工作后,機器人將按照既定的路徑規劃算法,對場地球類進行搜索。當機器人在視野范圍內發現球時,圖像識別系統對其進行識別,得到球類的坐標以及大小、種類等信息,再調整機器人移動至靠近球類,并調整姿態使自身處于合適抓球的位置。根據球的種類以及大小,控制系統控制機械臂張開至合適的大小進行抓取。在機器人的移動過程中,定位避障系統不斷對機器人進行實時定位以及運動姿態糾正。嵌入式控制部分流程圖如圖6所示。

圖6 嵌入式控制部分流程圖
樹莓派作為圖像初步處理終端,而PC端作為圖像深度處理終端,一方面解決了樹莓派圖像識別算力不足的問題,另一方面樹莓派本身所嵌入的一些通訊以及芯片及協議便于機器人在機器視覺上的集成化,使其在性能方面比其他機器人性能更高的同時,體積更小,因此運動更輕便,實現了實際意義上的嵌入式視覺系統。嵌入式控制主控制電路如圖7所示。

圖7 嵌入式控制主控制電路
YOLO-v3算法相比于基于分類器系統的算法有一些優勢。它在測試時會查看整個圖像,所以它的預測利用了圖像中的全局信息。與需要數千張單一目標圖像的 R-CNN 不同,它通過單一網絡評估進行預測。這令YOLO-v3非常快,一般它比R-CNN算法快1000倍、比Fast R-CNN快100倍。快速的識別速度,使機器人大大提高了拾球的效率,并且基于深度學習的識別相對于市面上使用普通的機器視覺算法做設計的只針對某一種球類的拾球機器人,受環境的影響更小,并且理論上只要訓練數據種類足夠,可實現所有球類的識別。在1050顯卡上運行YOLO-v3模型進行識別,識別準確率最高可達92%,模型識別幀率達到29fps,足夠用于機器人日常識別工作。識別效果如圖8所示。

圖8 識別效果
由于現實世界的光線變化影響因素太大,因而需要運用OpenCV對圖像進行初步處理,使用開運算以及降噪算法對其中存在的噪聲進行過濾以及進行銳化,保證了圖像的質量。OpenCV中對球類圖像進行開運算處理,像素核為5*5,進行開運算后可對圖像進行降噪,減少不必要的噪聲干擾。經過轉換后的對比圖如圖9所示。

圖9 轉換后的對比
采用Intel二代神經網絡計算棒,是一個基于USB模式的深度學習推理工具和獨立的人工智能(AI)加速器,為廣泛的邊緣主機設備提供專用深度神經網絡處理功能。通過USB棒可簡單地進行原型設計和調整深層神經網絡,并以低功耗運行機器智能應用,不需要云連接。USB型尺寸有助于輕松連接到現有主機,而視覺處理單元(VPU)可減輕機器負載和加速機器智能應用,可以在低端ARM硬件上運行引用,節省了硬件的開發成本。
本文提出了一款基于深度學習及嵌入式視覺系統的球童機器人的設計,該機器人搭載攝像頭從不同角度實時記錄周圍的環境,利用OpenCV及相關算法對掃描出的圖像進行優化處理。系統通過YOLO-v3算法對圖像中的標定物進行全局預測并建立模型,同時利用激光雷達配合UWB輔助定位避障,使機器人完成拾球任務。本文研究結果適用于不同球場環境下的撿球任務,能夠有效減少人工成本,提高撿球效率,具有廣闊的應用前景。