謝凱 李含希 張藝瓊 王存萍
摘要:隨著黨和國家對社會主義強國建設(shè)的迫切需要,不管是國家還是個人都在不斷的超越自我,追求更快更強。我們擬設(shè)計一款乒乓球陪練機器人,用于個人能力的提高和對自我的超越,本文對此款機器人的三大系統(tǒng)進(jìn)行了簡要分析。
一、視覺系統(tǒng)
視覺系統(tǒng)會收集對手的力量、速度、旋轉(zhuǎn)打球的方法等數(shù)據(jù),通過大數(shù)據(jù)自主學(xué)習(xí),隨時根據(jù)不同對手的能力調(diào)整自己的打球水平。
乒乓球陪練機器人以每秒上百次的頻率捕捉乒乓球的位置,再通過人工智能的算法計算出球的速度和旋轉(zhuǎn),從而精確預(yù)測出球的運動軌跡,并且在極短的時間內(nèi)發(fā)出指令,時間、方向、速度和力度都控制的剛剛好,這樣就實現(xiàn)了與運動員的博弈。
視覺系統(tǒng)的設(shè)計主要涉及兩個部分,一個是雙目相機的標(biāo)定,一個是目標(biāo)檢測方法。相比于單目相機而言,雙目相機更加方便計算空間中乒乓球的三維信息。雙目相機的標(biāo)定是獲取相機參數(shù)以及轉(zhuǎn)換矩陣的過程,標(biāo)定精度對于三維信息的獲取至關(guān)重要。第三個相機是用來關(guān)注人的行為特征,這些行為特征可以理解為多分類問題,例如:可以識別人的發(fā)球姿勢,把運動員分為幾個級別,根據(jù)不同的級別來改變陪練難度,相當(dāng)于匹配一個旗鼓相當(dāng)?shù)膶κ?。不僅如此,攝像機還需要觀察人的臉部表情特征,如果發(fā)現(xiàn)人的表情變得疲倦或難受[1],機器人可以詢問運動員是否需要休息,多與運動員進(jìn)行溝通或者鼓舞之類,在得到運動員的語音反饋信息后便可根據(jù)語音識別系統(tǒng)進(jìn)行輸出回答,實現(xiàn)真正的智能化陪練體系。而這一套體系運用了深度學(xué)習(xí)的知識來進(jìn)行實現(xiàn),首先需要采集大量的運動員的姿態(tài)、動作、表情等圖像信息,這些信息可以從互聯(lián)網(wǎng)上獲取,通過深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)模型來進(jìn)行反復(fù)訓(xùn)練提升判斷的準(zhǔn)確性,這個訓(xùn)練過程是一個權(quán)重參數(shù)與偏置參數(shù)的不斷更新迭代過程,找到最合適的權(quán)重偏置參數(shù),便能達(dá)到最佳的狀態(tài)判別結(jié)果,從而能夠準(zhǔn)確判斷出運動員的水平和心情狀態(tài)信息[2]。
對于目標(biāo)檢測方法,有利用前后幀關(guān)系進(jìn)行目標(biāo)檢測,還有基于深度學(xué)習(xí)的目標(biāo)檢測方法,前者無法排除非所需目標(biāo)的運動信息,后者檢測精度與效率不能同時兼顧,除上述方法外,顏色分割目標(biāo)檢測方法在場景單一前提下可以滿足精度與效率的問題??紤]到顏色受光照的影響,選擇HSV通道顏色分割方法。經(jīng)過HSV閾值分割算法后,可以得到一張二值化圖像。對于顏色分割,背景中往往會存在一些處于該范圍的噪點,這些噪點面積要比乒乓球目標(biāo)小得多,但是仍然會影響查找乒乓球目標(biāo)位置。所以需要對閾值分割的二值化圖像在進(jìn)行腐蝕操作,圖像腐蝕操作雖然會一定程度減小目標(biāo)面積,但由于最終只需要乒乓球的目標(biāo)位置點,所以影響不大。
通過目標(biāo)檢測與標(biāo)定好的雙目相機參數(shù)計算出乒乓球的實際三維坐標(biāo)。通過拍攝乒乓球運動過程中的多個瞬間位置信息,便可以預(yù)測球的運動軌跡。
二、控制系統(tǒng)
控制系統(tǒng)主要為了實現(xiàn)機械臂對球的擊打,分為三個模塊:機器人的運動學(xué)模塊、機器人對乒乓球臺避障模塊,機器人擊球動作路徑設(shè)計模塊。
1.機器人的運動學(xué)求解模塊
首先我們利用 D-H 法。該方法是在每個關(guān)節(jié)處建立一個三維坐標(biāo)系,然后通過相連關(guān)節(jié)間的旋轉(zhuǎn)平移矩陣來描述有機器人基座坐標(biāo)系到末端坐標(biāo)系間的關(guān)系。從而,機械臂可以轉(zhuǎn)動或者平移起來。
2.機器人對乒乓球臺的避障路徑規(guī)劃
機器人在運動過程中可能會遇到乒乓球臺,所以需要設(shè)計可行的避障方法,使得機器人在不會碰到障礙物情況下根據(jù)系統(tǒng)的不同需求選取一條最優(yōu)路徑進(jìn)行運動,這類問題被稱為機器人避障路徑規(guī)劃問題。
(1)機器人擊球位置對乒乓球臺避障路徑規(guī)劃
對于避障問題,當(dāng)決策系統(tǒng)決策出合適的擊球點位置和姿態(tài)時,機器人可以與無窮組關(guān)節(jié)角與之對應(yīng),所以根據(jù)系統(tǒng)的需求選取合適的機器人構(gòu)型尤為重要[3]。機器人通過自運動讓前臂與上臂位于乒乓球臺上方時,機器人不會與乒乓球臺進(jìn)行碰撞,因此只要計算出機器人位于乒乓球臺上方時的臂形角范圍,即可在機器人與乒乓球臺不碰撞的情況下選擇最優(yōu)構(gòu)型。
觀察機器人運動可知,機器人與乒乓球臺的碰撞主要是機械人前臂對乒乓球臺邊緣的碰撞和機器人末端位置與乒乓球臺面的碰撞,所以可以將機器人擊球位置與乒乓球臺碰撞問題抽象成求解三維空間中一條直線與圓錐曲面交點、以及三維中某一點處于某一平面上或下的問題。因此只要計算出機器人位于乒乓球臺上方時的臂形角范圍,即可在機器人與乒乓球臺不碰撞的情況下選擇最優(yōu)構(gòu)型。
算出機器人避免碰撞乒乓球臺的臂形角范圍,即機器人在擊球位置避免碰撞乒乓球臺的臂形角范圍為[ &1-&2 ]
3.機器人擊球動作路徑規(guī)劃
根據(jù)前文的工作雖然可以讓機器人不碰撞的運動到目標(biāo)點,但是機器人到達(dá)目標(biāo)點后,將直接停在目標(biāo)點上,使得機器人沒有運動速度,無法完成擊球動作,所以需要對機器人最后的擊球路徑進(jìn)行單獨設(shè)計。
我們選取選取最后一個點作為機器人需要到達(dá)的目標(biāo)點,選取距離最后一個點五、六個采樣時間的點作為機器人擊球擊點。由于軌跡預(yù)測給出的乒乓球軌跡數(shù)據(jù)中保存有該點的采樣信息,所以假設(shè)標(biāo)點坐標(biāo)信息為p1,時間信息為t1,擊球點坐標(biāo)信息為p2,時間信息為t機器人末端的運動路徑如圖所示,因此對機器人的擊球路徑總體設(shè)計如下。
在時間坐標(biāo)系下,根據(jù)目標(biāo)點與擊球點間的連線,在目標(biāo)點與擊球點之間采集兩個點坐標(biāo),在擊球點后采集兩個點坐標(biāo)。然后根據(jù)這些點的坐標(biāo)以及目標(biāo)點的姿態(tài)通過運動學(xué)逆解算法得到5組七個關(guān)節(jié)的角度。設(shè)定機器人運動速度v,計算機器人從目標(biāo)點到最后一個采樣點的運動時間th。
控制機器人根據(jù)規(guī)劃好的運動路徑運動到目標(biāo)點,并記錄運動的時間tm,運動到目標(biāo)點或進(jìn)行一段時間等待,并記錄等待時間tw
當(dāng)tm+tw+th>t1-t2時,控制機器人依次按照5關(guān)節(jié)角度運動到各個采樣點即目標(biāo)點。因此乒乓球到達(dá)擊球點位置時,機器人將以向量p1p2方向,速度v擊打乒乓球。
三、決策系統(tǒng)
決策系統(tǒng)可以將視覺系統(tǒng)收集到的信息進(jìn)行整合,最后進(jìn)行決策輸出。首先,決策系統(tǒng)依賴于大數(shù)據(jù)和機器學(xué)習(xí),機器學(xué)習(xí)將在大數(shù)據(jù)的幫助下輸入無窮個樣本,這些樣本包括用戶平時的行為打法,國際頂尖運動員的打球技巧等,不斷自我訓(xùn)練提高水平。通過視覺系統(tǒng)捕捉到用戶和球的信息后,在決策系統(tǒng)中進(jìn)行檢索相應(yīng)回球方案,最終將指令發(fā)送到控制系統(tǒng),控制系統(tǒng)驅(qū)動機械臂進(jìn)行回球。
參考文獻(xiàn)
[1] ?Zhang ?Z ?, ?Xu ?D ?, Yu ?J ?. ?Research ?and ?latest ?development ?of Ping-Pong ?robot player[C]// World Congress on Intelligent Control & Automation. IEEE, 2008.
[2] ?鄭魁敬, ?崔培. ?乒乓球機器人的研究與發(fā)展[J]. 機床與液壓, 2009, 37(8):238-241.
[3] ?Billingsley J. Machineroe joins new title fight[J]. Practical Robotics, 1984: 14-16.
第一作者簡介:謝凱,1996.10.10生,男,漢族,四川樂山,西南民族大學(xué)學(xué)生