趙子達, 高藝, 孫克彬
(長春理工大學(xué) 機電工程學(xué)院,長春130022)
近年來,圖像處理技術(shù)突飛猛進,其應(yīng)用范圍越來越廣泛。通過圖像處理技術(shù),對某些物體進行跟蹤與定位是一個重要的研究方向。通過攝像頭對物體定位,控制機器人的移動跟蹤,這也是移動機器人研究方向的熱點[1]。本文采用逐次逼近的方式,對機器人進行位置隨動控制,實現(xiàn)其準(zhǔn)確收集乒乓球的功能。
基于圖像處理的逐次逼近式位置、速度雙閉環(huán)反饋隨動系統(tǒng)如圖1所示。硬件系統(tǒng)包括STM32F103RCT6控制器(以下簡稱為STM32)、電動機驅(qū)動、電動機、光電編碼器、openMV攝像頭(以下簡稱為攝像頭)及球場智能服務(wù)機器人整體機械結(jié)構(gòu)(以下簡稱為機器人),通過串口通信(USART)、圖像處理、速度PID調(diào)節(jié)、PWM脈沖輸出及逐次逼近式位置控制器,實現(xiàn)系統(tǒng)工作。
圖1 系統(tǒng)工作流程圖
圖2 機械運動結(jié)構(gòu)圖
通過攝像頭對乒乓球位置信息進行采集,將乒乓球的實際二維位置信息處理成攝像頭內(nèi)部的二維位置信息,并將其通過串口發(fā)送至STM32。STM32接收到位置信息后,對位置信息進行判斷,即判斷乒乓球與機器人的相對位置是否在規(guī)定區(qū)域內(nèi),如不在,則控制電動機轉(zhuǎn)動,使機器人旋轉(zhuǎn)移動,逐步使乒乓球與機器人的相對位置符合要求,進而通過機器人的拾球機構(gòu)實現(xiàn)對乒乓球的拾取。
為了保證機器人旋轉(zhuǎn)的精度,使用速度閉環(huán)保證旋轉(zhuǎn)速度的穩(wěn)定,同時攝像頭不斷采集乒乓球與機器人的相對位置,利用閉環(huán)位置控制,保證拾取精度。
系統(tǒng)的機械運動結(jié)構(gòu)如圖2所示。
通過4個電動機帶動全向輪進行旋轉(zhuǎn),實現(xiàn)對機器人的全方位水平運動控制。光電編碼器位于電動機后方,將電動機輸出軸的角位移轉(zhuǎn)變?yōu)槊}沖信號,對電動機進行測速。攝像頭與單片機系統(tǒng)固定于機器人上方平臺,攝像頭有一定高度,傾斜放置一定角度,以方便對乒乓球所在的實際二維平面的相對位置進行采集。
相對坐標(biāo)系,即以機器人為參考系的坐標(biāo)系,機器人與乒乓球都位于該坐標(biāo)系下進行運動。由于攝像頭位于機器人之上,且具有相對高度和一定傾斜度,則攝像頭采集的數(shù)據(jù)信息其實是以攝像頭視角的圖像坐標(biāo)系。
這兩個坐標(biāo)系應(yīng)該具有固定的相對關(guān)系,但這個相對關(guān)系是未知的,這就給機器人的乒乓球拾取工作造成困難。攝像頭采集的乒乓球位置信息是基于圖像坐標(biāo)系的,而機器人在相對坐標(biāo)系下運動,未知的關(guān)系造成了圖像坐標(biāo)系下的位置信息無法直接應(yīng)用于相對坐標(biāo)系,為此,可以采取逐次逼近的方法,忽略未知關(guān)系的定量關(guān)系,直接對其進行定性分析。
基于實際機械運動結(jié)構(gòu),首先將機器人和乒乓球放置在同一平面。然后以平臺的幾何中心作為原點,以機器人的正方向作為Y軸的正方向,以垂直于Y軸向右的方向作為X軸的正方向,建立一個相對坐標(biāo)系。這樣可以測量出乒乓球的坐標(biāo)位置,稱為相對坐標(biāo)。此時也可以使用攝像頭進行位置讀取,以攝像頭檢測范圍的右上角像素點為原點,沿下方為Y軸正方向,沿右方為X軸正方向,則建立了一個圖像坐標(biāo)系??梢宰x取出乒乓球在該坐標(biāo)系的坐標(biāo)位置,稱為圖像坐標(biāo)。
圖3 相對坐標(biāo)系
圖4 圖像坐標(biāo)系
移動乒乓球,使乒乓球在相對坐標(biāo)系下,沿X軸正方向運動,即實際坐標(biāo)X增大,Y不變,觀察圖像坐標(biāo)變化。同時再使乒乓球沿Y軸正方向運動,即相對坐標(biāo)Y增大,X不變,觀察圖像坐標(biāo)變化。最后使乒乓球作以原點為圓心、半徑為R(以圖中為例)的運動,同樣觀察圖像坐標(biāo)變化,得到表1。
表1 相對坐標(biāo)系與圖像坐標(biāo)系定性關(guān)系
通過表1可以得出,乒乓球在相對坐標(biāo)系下的改變與在圖像坐標(biāo)系下的改變具有定性的關(guān)系,這就使逐次逼近型系統(tǒng)的實現(xiàn)成為可能。
對于整個系統(tǒng),電動機是系統(tǒng)最主要的運動部件。為了保證系統(tǒng)的精度,首先使用PID算法對電動機的速度進行閉環(huán)控制,以光電編碼器作為測速器件,實現(xiàn)速度反饋[6]。
由于系統(tǒng)屬于隨動系統(tǒng),對快速性要求比較高,所以對速度控制采用PID調(diào)節(jié)器進行調(diào)節(jié),全面提高速度內(nèi)環(huán)的性能。
圖5 速度閉環(huán)系統(tǒng)組成原理框圖
為了實現(xiàn)機器人的拾取功能,系統(tǒng)需要將機器人與乒乓球的相對位置調(diào)整到一定范圍內(nèi),為此,可以將二者相對圖像位置作為信息輸入量,通過電動機不斷調(diào)整相對位置,逐步逼近規(guī)定位置。
為此,可以建立一個以機器人平臺幾何中心O為極點,以機器人的正方向的射線為極軸L的極坐標(biāo)相對坐標(biāo)系[7]。則實際平面的任意一點都可以使用角度β與半徑R表示,如圖6所示。所以,只要確定相對坐標(biāo)系下符合要求的規(guī)定區(qū)域在圖像坐標(biāo)系下的范圍,即可對此范圍進行反饋,從而逐步使相對關(guān)系符合要求。
為了測量圖像坐標(biāo)系下的規(guī)定范圍,首先將該規(guī)定范圍沿L方向延長為規(guī)定區(qū)域1,此時這個區(qū)域在圖像坐標(biāo)系下,可以由兩條直線之間的區(qū)域表示。
圖6 相對極坐標(biāo)系示意圖
圖7 實際坐標(biāo)系下的規(guī)定區(qū)域1
圖8 相對坐標(biāo)系下的規(guī)定區(qū)域1
本文通過測量直線上各點的圖像坐標(biāo),通過線性擬合得到這兩條直線在圖像坐標(biāo)系下的方程。測量數(shù)據(jù)如表2所示。
表2 相對坐標(biāo)及其擬合方程
圖9 逐次逼近步驟1
圖10 逐次逼近步驟2
根據(jù)測量數(shù)據(jù)擬合出來的兩條直線R2均大于0.99,說明測量數(shù)據(jù)無誤,也表示該回歸擬合的效果很好。
在此坐標(biāo)系下,若機器人作旋轉(zhuǎn)運動,則乒乓球相對于機器人作圓周運動。由上文可知相對坐標(biāo)系下乒乓球相對于機器人作圓周運動時乒乓球圖像坐標(biāo)的變化規(guī)律。所以先使用逐次逼近使乒乓球角度符合規(guī)定區(qū)域1的要求,之后只需要將半徑R減小,就能實現(xiàn)要求。其步驟如圖9、圖10所示。
由圖10可以看出,步驟2縮短半徑的方式主要是走直線,電動機速度主要影響步驟2的完成時間。因此逐次逼近的重點應(yīng)放到步驟1上,即規(guī)定區(qū)域1的逼近。當(dāng)機器人作旋轉(zhuǎn)運動時,θ=ω·t。其中:θ為旋轉(zhuǎn)角度;ω為旋轉(zhuǎn)角速度;t是旋轉(zhuǎn)時間。
逐次逼近要求每次旋轉(zhuǎn)的Δθ適中,才能保證在提高效率的前提下讓所有的乒乓球可以逼近到規(guī)定區(qū)域。為保證所有的乒乓球被收集,首先假設(shè)攝像頭最遠(yuǎn)識別距離1000 mm。同時取乒乓球剛好處于邊界的時候作為一種極限位置,如果可以保證在該位置時,乒乓球可以逼近到規(guī)定區(qū)域,則所有乒乓球均可,通過軟件模擬計算,求得最小旋轉(zhuǎn)角度Δθmin=2°。
圖11 乒乓球極限位置模擬
通常為了提高系統(tǒng)的響應(yīng)速度,系統(tǒng)要求Δt足夠小。而Δt的最小值受到攝像頭采集速度和STM32的程序執(zhí)行速度的限制,即
式中:Δtmin為每次逼近的最短時間間隔;t1為攝像頭采集位置信息的發(fā)送周期;t2為STM32執(zhí)行中斷程序的執(zhí)行時間。
為了保證整個逐次逼近過程的連續(xù)性,應(yīng)保證t>t1+t2,為了保證STM32接收位置信息的完整性,應(yīng)保證t1>t2。
在預(yù)設(shè)好一個旋轉(zhuǎn)時間t之后,我們可以通過調(diào)節(jié)旋轉(zhuǎn)速度ω的大小,來使整個系統(tǒng)穩(wěn)定工作。在理想條件下,旋轉(zhuǎn)速度與電動機轉(zhuǎn)速的換算關(guān)系為
式中:n為電動機轉(zhuǎn)速;r1為輪子半徑;r2為底盤半徑。
該位置隨動系統(tǒng)忽略了相對坐標(biāo)系和圖像坐標(biāo)系的定量關(guān)系,使用逐次逼近的方式,控制機器人接近目標(biāo),對二維平面內(nèi)的位置信息有較好的跟蹤效果。通過樣機實驗,證實了該位置隨動系統(tǒng)的跟蹤效果。