劉秀杰,祝長生,王安航,李世鈺
(山東科技大學智能裝備學院,山東 泰安 271019)
乒乓球運動深受人們喜愛。然而,當人們在場館內訓練時,常會有大量乒乓球掉落在地面,運動者只能一次次彎腰撿球,消耗大量體力和時間,相關的自動撿球設備較少,市場需求比較大。當前市場已有安東陽研究的主要是通過機械手等機械裝置來撿球[1],該裝置結構設計關節(jié)較多,控制起來比較復雜,且拾取效率較低。文獻[2]研究的利用風扇吸力撿球設備,還有文獻[3]所設計的用真空泵吸力來撿球的機械機構,這兩種撿球結構,原理一樣,都是利用吸力把球吸入容器內,需要安裝專門的微型真空泵或者風扇,在吸球過程中,容易把運動場所內的垃圾吸入,不衛(wèi)生,還有噪聲。
針對以上情況,設計了一款存、儲一體式乒乓球智能撿取機器人,通過單目視覺技術,實現(xiàn)了乒乓球智能撿取機器人自主移動行走、避障及乒乓球定位識別的功能,再由控制部分控制機械結構來完成乒乓球的拾取。解決了當前的撿球問題,滿足市場需求。通過本自動撿球機器人的設計,為以后自動撿球設備提供技術創(chuàng)新與研發(fā)思路。
根據(jù)乒乓球撿取功能要求,設計出該產(chǎn)品的機械結構,它主要由驅動結構、拾取結構、傳動系統(tǒng)三部分組成。通過三部分機械結構的配合工作來實現(xiàn)乒乓球的有效撿取,最后根據(jù)每部分結構組裝來確定設備的整體結構及外形尺寸,機器人的整體結構及內部透視圖,如圖1所示。外部結構主要由機器人底座1、拾取裝置外桶2、拾取裝置內桶3、支撐桿4、攝像頭5、超聲波傳感器6、萬向輪7、驅動輪8(左、右各一個)組成;機器人底盤內部裝有齒輪驅動電機9、蓄能電池10、齒輪齒條傳動結構11、主控制器12、霍爾傳感器13、導柱14和驅動輪驅動電機15(左、右各一個)。機器人底座1通過導柱14與拾取裝置外桶2相連,拾取裝置內桶3裝在拾取裝置外桶2內,底盤上裝有支撐桿4,用以支撐攝像頭5,底盤下面裝有兩個驅動輪8和一個萬向輪7,驅動輪8分別由兩個驅動電機15帶動,從而使底盤可以帶動拾取裝置運動。齒輪齒條機構11由驅動電機9帶動,使拾取裝置上下運動,完成撿球,上下位置點裝有霍爾傳感器13 來提取信號,將信號傳遞給STM32F103單片機12,從而控制電機正反轉,使齒輪正轉或反轉來帶動拾取裝置上下運動,完成小球的拾取。該系統(tǒng)所需能量均有由蓄電池10來提供。

圖1 機器人的總體機械結構及內部透視圖Fig.1 Overall Mechanical Structure and Internal Perspective of the Robot
其具體工作過程如下:機器人在撿球工作之前,先由攝像頭,拍攝工作場地圖片,由視覺模塊要先識別乒乓球并確定其三維位置,計算出球到機器之間的距離,并將該信號傳輸給單片機,再由控制系統(tǒng)控制驅動電機15轉過一定的轉數(shù),從而使設備移動到乒乓球所在的位置,到達指定位置后,控制系統(tǒng)控制驅動電機9轉動,帶動齒輪轉動,齒輪和齒條嚙合,其中齒輪15固定,齒條向下運動,齒條與拾取裝置外桶為一體,內桶裝在外桶內,從而使拾取裝置向下運動,運動到與地面接觸,由于內桶下面裝有一定間隔的彈性繩,在彈力作用下,將小球彈入桶內,從而完成球的拾取。拾取裝置向下運動到與地面接觸拾取球的同時,霍爾傳感器向控制系統(tǒng)發(fā)出信號,再由控制系統(tǒng)控制電機9反轉,帶動齒輪齒條傳動,使拾取裝置向上運動,為下一次乒乓球的拾取做準備。
由于桶與導柱的接觸點是不斷變化的,我們研究桶在運動某一瞬時點的情況,圓桶上的受力情況,如圖2所示。

圖2 桶的受力分析圖Fig.2 Stress Analysis Diagram of Bucket
首先建立空間坐標系(o-x-y-z),由靜力學方程所得式(1):

式中:G—圓桶的重力(已知);Fz—齒輪給齒條的切向力;Fr—徑向力;fd、Fd—導柱與圓桶間的摩擦系數(shù)和滑動摩擦力。
再由補充式(2)所示:

α=20°,齒輪齒條的嚙合角為20°;

以式(3)作為依據(jù),確定所選用電機的型號和規(guī)格。
該結構在設計時要解決三個問題,第一是底部彈簧繩的穿孔與分布問題;第二,彈性繩變形量的確定;第三,與外桶的連接問題。由于乒乓球為40mm,質量為2.7g,具有體積小、質量輕的特點[2]。撿球裝置利用彈性繩的彈性以及彈性形變恢復的能力將小球彈入桶內。當拾取桶向下運動時,當球與彈性繩接觸開始,彈性繩發(fā)生形變,直到桶底部到達地面位置時,即彈性繩卡在球的直徑三分之一處,小球拾取瞬時效果圖,如圖3所示。

圖3 小球拾取瞬時效果圖Fig.3 Instant Effect Picture of Small Ball Picking
取此瞬時研究小球的受力,球的受力分析,如圖4所示。由彈性力學胡克定律所得式(4):

又由于Δx1=Δx2=Δx,所以,F(xiàn)1=F2=F.
F1可以分解成Fx1和Fz1;F2可以分解成Fx2和Fz2,由此建立空間坐標系(o1-x1-y1-z1)。由靜力學方程所得式(5):

式中:F1、F2—球兩側受到左、右兩邊彈性繩的彈力;G—球的重力;K—彈性繩彈性系數(shù)為;Δx1、Δx2—左右兩側彈性繩的形變量;r—為乒乓球半徑。
從而確定彈性繩間隔和彈性繩的變形量Δx和相鄰的彈性繩間距L,L要小于乒乓球的直徑,大約在(17~30)mm時,拾取效果較好。由于選擇彈性繩材料不同,彈性系數(shù)不同,所求出的變形量也不同。內桶與外桶的連接主要靠內桶和外桶底部設計有三個均布的錐形面聯(lián)結。最后,設計出了乒乓球收集與儲存一體的桶式結構,如圖4所示。

圖4 球的受力分析圖Fig.4 Force Analysis Diagram of Ball
該設計使用STM32F103單片機作為控制核心,利用攝像頭拍攝場地圖片,將信息傳遞給圖像處理單元,獲取乒乓球的空間位置,計算出球到機器人之間的距離;同時,將信息傳遞給控制系統(tǒng),再由控制系統(tǒng)控制驅動電機帶動撿球設備移動到目標位置;最后,通過拾取機械裝置對乒乓球實現(xiàn)有效撿取。在運行過程中通過超聲波傳感器監(jiān)測周圍環(huán)境,實現(xiàn)自動避障[4];霍爾傳感器提取桶下移位置信息[16],將此信息傳遞給控制系統(tǒng)[5-7],由控制系統(tǒng)控制電機9反轉,使拾取裝置向上運動;穩(wěn)壓模塊進行降壓和穩(wěn)壓操作以獲得所需的電壓。其控制系統(tǒng)結構,如圖5所示。

圖5 機器人控制系統(tǒng)結構圖Fig.5 Structure Diagram of Robot Control System
在對技術參數(shù)(例如:發(fā)動機驅動的機器人的承載能力,運行扭矩、速度和功率)分析計算的基礎上,通過在機器人的機械結構中添加減速裝置,進一步改善了直流電動機選擇和運行扭矩。最后,確定直流電動機型號為:Y4566RS。
選用L298N用作電動機驅動,它可以控制電機正向、反向轉動以及速度控制,可以同時驅動兩個直流電動機,具有良好的啟動性能和高啟動轉矩。該驅動器可以通過PWM波傳輸接口,然后控制電動機的速度,電動機驅動電路,如圖6所示。

圖6 電機驅動電路圖Fig.6 Motor Drive Circuit Diagram
電源為系統(tǒng)中的單片機、電機、其驅動裝置以及避障系統(tǒng)等提供所需的電源。電源電壓有12V和5V兩個電壓值,該系統(tǒng)使用12V鋰電池作為電源。需要進行降壓和穩(wěn)壓操作以獲得所需的電壓,通常使用電壓穩(wěn)定芯片7812和7805以獲得分別為12V和5V的穩(wěn)定電壓。設計電路,如圖7所示。

圖7 電源模塊設計電路圖Fig.7 Power Module Design Circuit Diagram
超聲模塊的實物,如圖8所示。該原理及其在撿球機器人中的應用[4,16]如下:提供大于10μS的脈沖激活信號,該模塊將發(fā)送八個40kHz周期電平并檢測回波。當檢測到回聲信號時,將輸出高回聲信號。脈沖寬度由單片機計時器計算,回波信號的脈沖寬度與測得的距離成正比。因此,可以根據(jù)發(fā)送信號和接收回波信號之間的時間間隔來計算距離,如式(7)所示。

圖8 超聲波模塊實物圖Fig.8 Physical Drawing of Ultrasonic Module

式中:L—測試距離,m;T—高電平時間,s;V—聲速(340M/S)。
單片機收到計算出的距離,數(shù)字信號用于激活電信號到電機驅動模塊的傳輸,從而使撿球機器人可以實現(xiàn)停止、前進、后退、左轉、右轉等動作,并通過預處理的微控制器完成智能拾球機器人的避障過程。
機器人控制系統(tǒng)主要由視覺識別模塊、電機驅動模塊、避障模塊、電源四部分組成,在綜合考慮機器人的分辨能力、反應速度等指標后,確定了對主控芯片的選型,主控芯片STM32F103的電路原理圖,如圖9所示。

圖9 主控芯片原理圖Fig.9 Schematic Diagram of Main Control Chip
其中主控芯片PC10,PC11引腳作為串口發(fā)送與接收端口分別連接攝像頭STM32H743 芯片的PA1,PA2 引腳;主控芯片PD12-PD15引腳連接兩個如圖6所示的L298N電機驅動電路;主控芯片PA0-PA3等引腳功能復用為定時器編碼器模式與直流電機的編碼器相連接;主控芯片PA6,PA7引腳功能復用為定時器3通道1和通道2分別與超聲波模塊的發(fā)射端和接收端連接。電源模塊通過電壓穩(wěn)定芯片得到5V和12V電壓,分別給主控單片機和直流電機供電,如圖7所示。
軟件設計包括攝像頭圖像處理程序設計、運動控制系統(tǒng)程序設計。其中攝像頭圖像處理的程序設計是在Openmv-ide開發(fā)調試環(huán)境下采用Python編程實現(xiàn)的,運動控制系統(tǒng)的設計是在Keil uvision 5 MDK開發(fā)調試環(huán)境下采用C語言編程實現(xiàn)的,其軟件系統(tǒng)流程圖,如圖10所示。

圖10 撿球機器人軟件系統(tǒng)流程圖Fig.10 Software System Flow Chart of Ball Picking Robot
撿球機器人進行撿球工作之前,要先識別乒乓球并確定其三維位置,對乒乓球的識別和定位[9-10,14-15],考慮到成本和計算時間的問題,最后確定選用單目攝像頭來完成乒乓球的識別與定位,其工作流程,如圖11所示。

圖11 圖像處理工作流程圖Fig.11 Image Processing Flow Chart
首先利用MATLAB 軟件仿真,再用樣機驗證。利用Python軟件處理MATLAB 仿真處理過程,如圖12 所示。先利用Open-MV沒獲取乒乓球的圖像,如圖12(a)所示,系統(tǒng)先對圖像差分處理,處理后的圖像,如圖12(b)所示;再進行中值濾波處理,去除圖像或其他信號中的噪聲,處理后的圖象,如圖12(c)所示;然后,通過對圖像腐蝕膨脹處理,去除圖像中的干擾點和干擾線,處理后的圖象,如圖12(d)所示;緊接著用連通域法處理圖像,找出最大面積,處理后的圖像,如圖12(e)所示;先用Canny 算子邊緣檢測,提取圖像的邊緣,如圖12(f)所示;再用Hough變換算法找取圓,處理后的圖像,如圖12(g)所示;最后求取平均質心,如圖12(h)所示。

圖12 乒乓球定位識別過程圖Fig.12 Table Tennis Positioning and Recognition Process Chart
系統(tǒng)通過以上計算求取圖像的質心,從而確定乒乓球在空間中的具體位置,再通過單目視覺成像原理,單目視覺成像原理圖,如圖13所示。求取球的中心位置到機器人之間的距離L[11-13]。

圖13 單目視覺測距原理圖Fig.13 Schematic Diagram of Monocular Vision Ranging
由圖13 所示,(o-x0-y0-z0)為空間坐標系,(Oc-x1-y1-z1)為攝像機坐標系,(O'-x2-y2)為圖像坐標,(O0-u-v)為像素坐標,由坐變轉換后,求出像素中球心O"在空間坐標系下的坐標,球心O"像素坐標與空間坐標系的轉換關系式(8)所示:

式中:u、v—像素坐標系中的像素坐標;f—相機焦距,是校準參數(shù);Dxdy—像素坐標系中x軸和y軸方向上每個像素的物理尺寸;u0v0—顯示坐標系,點坐標系中原點的坐標;ax=f/dx,ay=f/dy—分別是使用像素寬度和高度做單位時的焦距長度;—它與攝像機的內部結構有關,稱為攝像機的內部參數(shù);RT—表示相機相對于空間坐標系的位置和方向,并稱為相機的外部參數(shù)。
將單目視覺測距原理圖轉換成二維圖,如圖14所示。球的半徑r已知,像素坐標系中的r"在空間坐標系下的值可由式(8)求得,f是攝像機標定參數(shù),由幾何關系式(9)可求得d:

圖14 小孔成像原理二維圖Fig.14 Two Dimensional Diagram of Pinhole Imaging Principle

再由三角形原理,如圖15所示。求出距離的球到攝像機的水平距離L,如式(10)所示:

圖15 三角形原理圖Fig.15 Triangle Diagram

式中:h—攝像機距離地面的距離(已知)。
通過式(10)求取乒乓球到機器人之間的距離,再由控制系統(tǒng)控制電機ZY4566RS轉過一定的轉數(shù),從而使設備移動到乒乓球所在的位置,再由控制系統(tǒng)控制拾取裝置上、下移動將球拾取。
通過以上機械結構、控制系統(tǒng)、視覺識別與定位三部分的設計,最終完成了智能撿球機器人的實物模型,如圖16所示。
機器人裝配時,首先對攝像頭的安裝角度進行設定,設定撿球機器人攝像頭安裝角度為45°,在機器人前方不同方向位置放置若干乒乓球,如圖17(a)所示。啟動機器人,觀察機器人拾球動作的執(zhí)行與效果,檢查機器人在找不到球的情況下的動作執(zhí)行,撿球過程,如圖17(b)~圖17(h)所示。實際運行測試結果表明,機器人可以順利完成撿球動作,撿球效率比較高。


圖17 智能撿球機器人撿球過程圖Fig.17 Process Diagram of Intelligent Ball Picking Robot
基于單目視覺技術乒乓球智能拾取機器人,采用移動平臺搭載四自由度的機械撿取裝置,以STM32F103為控制核心,控制拾取裝置上、下運動,利用存儲一體拾取裝置上的彈性繩的彈力來實現(xiàn)撿球。它具有視覺定位功能,能定位、跟蹤乒乓球在空間中的準確位置;具有自動避障功能,可控性強。通過實物模型的測試表明,該機器人結構簡單、運動靈活,成本低,撿球的效率高。它為自動撿球機的設計提供技術創(chuàng)新與研發(fā)思路,后續(xù)設計考慮采用雙目來代替單目以提高球的定位準確性,采用新的圖像處理算法來實現(xiàn)復雜背景下的乒乓球的檢測與跟蹤。