楊云 張森 宋要斌 苗新敏 趙瑋
摘要:針對國際水中機器人大賽2D仿真項目搶球博弈,提出了一種基于場地區(qū)域劃分的運球策略。該策略合理利用比賽場地,進行區(qū)域劃分,在直線運球時設置多個中間目標點降低了運球誤差,以及在狹窄區(qū)域利用仿真機器魚的身體、魚鰭和魚尾等魚體各部位進行運球。此策略避免了因魚體與場地邊緣相互作用而導致的失真現(xiàn)象,提高了進球效率。
關鍵詞:機器魚;2D仿真;區(qū)域劃分;運球策略
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2016)44-0103-03
一、前言
近年來,隨著仿生學和機器人技術的發(fā)展,仿生機器人取得了很大的進步。魚類在游動的時候具有高推進效率和機動性、低噪聲、高隱蔽性等優(yōu)點[1],這些優(yōu)點引發(fā)了研究魚類的運動機理和開發(fā)仿魚類水中機器人的熱潮。
URWPGSim2D仿真平臺提供了一種仿生機器魚的實時仿真系統(tǒng),它可以模擬仿生機器魚的游動規(guī)律和位姿變化,驗證仿生機器魚協(xié)作算法與執(zhí)行任務的策略。在此基礎上,國際水中機器人聯(lián)盟組織了國際水中機器人大賽,并設立2D仿真項目。搶球博弈是在URWPGSim2D仿真平臺版本更新后新增的2D仿真項目,任務較為復雜,對抗性強,尤其是系統(tǒng)隨機產(chǎn)生的模擬水波以及仿真機器魚和場地邊緣相互作用時的失真情況,導致了魚體坐標和位姿的跳變[2],使仿生機器魚對水球的控制難度提高了很多。此項比賽目前還沒有優(yōu)勢較為明顯的策略,因此本文提出了一種基于比賽場地區(qū)域劃分的仿真機器魚運球策略以解決這些問題。
二、搶球博弈比賽平臺簡介
2D仿真搶球博弈比賽平臺是URWPGSim2D仿真平臺中的一個對抗類比賽項目。它由兩支隊伍參與,每支隊伍有2條仿生機器魚,初始狀態(tài)時呈對稱分布在左、右半場,場中共有9個仿真水球,3個藍色水球(編號為0、1、2,每球各3分)位于場地正中央,2個紅色水球(編號為7、8,每球各2分)位于場地中線上下方,4個紫色水球(編號為3、4、5、6,每球各1分)位于場地四角。左、右各有一個球門,在初始狀態(tài)時,各隊球門都在其身后,通過計算10分鐘內(nèi)機器魚的進入己方球門的所有球?qū)目偡峙卸▌儇摚謹?shù)高者獲得勝利。比賽場地、仿真機器魚編號及水球編號如圖1所示。
三、比賽場地區(qū)域劃分
在此項比賽中,參賽隊伍一般傾向于通過確定目標點與水球的位置,使魚體、水球和目標點的方向達成一線,通過魚頭的頂點頂球達到進球得分的目的。具體來講,當比賽計時開始后,仿真機器魚以最大速度游到藍色3分球后方,運行基本的直線運球策略,使水球向己方球門兩側運行;如果出現(xiàn)對方機器魚與己方機器魚爭搶水球時,運行搶球策略。當籃球進入球門后,再將紅色2分球運回球門,最后運輸離球門最近的紫色1分球。
但是相對于場地中央的寬闊區(qū)域,球門后方及靠近場地邊緣的區(qū)域比較特殊,這些區(qū)域由于系統(tǒng)隨機產(chǎn)生的模擬水波以及仿真機器魚和場地邊緣相互作用時的失真情況,使得魚體難以控制。如在這些特殊區(qū)域使用全程直線的運球方式,將很難實現(xiàn)平穩(wěn)運球,從而造成較多的時間浪費。將比賽場地進行劃分并分別選擇運球策略,并結合仿真機器魚的游動特點和身體形狀,對魚的運球及進球策略進行規(guī)劃是非常有必要的。
搶球博弈的比賽場地由于球門居中設置在場地內(nèi),使其復雜程度有所提升。本文將其分為5個區(qū)域:中央?yún)^(qū)、球門區(qū)、球門前緩沖區(qū)、目標點設置區(qū)、對方球門區(qū)。每個區(qū)域有各自的作用,對應著不同的運球策略。
(1)中央?yún)^(qū):此區(qū)域空間廣闊,無障礙物,雙方機器魚爭奪水球。
(2)球門區(qū):水球進入此區(qū)域即可獲得相應分數(shù)。
(3)球門前緩沖區(qū):此區(qū)域進球容易,但非常狹窄,障礙物較多,魚體與場地邊緣相互作用易產(chǎn)生失真現(xiàn)象。
(4)目標點設置區(qū):此區(qū)域可設置中央?yún)^(qū)的運球目標點,使水球靠近己方球門。
(5)對方球門區(qū):水球進入此區(qū)域后,我方爭奪非常困難,對方易得分。
四、仿真機器魚運球策略
在運球過程中,由于仿真平臺的原因,每當魚體靠近場地邊緣時總會出現(xiàn)失真現(xiàn)象,使得魚體反復調(diào)整自身位姿,從而嚴重影響仿真機器魚的運球過程。因此,在寬闊區(qū)域和場地邊緣應該考慮不同的運球策略以達到高效進球的目的。具體可以分為以下三種情況。
1.當水球在比賽場地的中央?yún)^(qū),采用直線運球是最簡單快捷、高效的方法,即通過頭部頂球使球到達靠近己方球門的目標點設置區(qū)。然而當目標點較遠時,由于隨機水波的影響,很容易在運球過程中產(chǎn)生方向角度的偏差,從而導致運球路徑的加長。這里可以在較遠的目標點和仿真機器魚之間建立數(shù)個距離較短的中間目標點,從而縮小單次的運行路徑,提高運球準確性。
2.當水球在中央?yún)^(qū)和目標點設置區(qū),當球靠近場地邊緣時,為防止仿真機器魚魚體與邊界相互作用產(chǎn)生失真現(xiàn)象,可以利用魚鰭側身運球[3],提高運球的平穩(wěn)性,仿真機器魚利用魚鰭側身運球進入球門前緩沖區(qū)的過程如圖3所示。
利用魚鰭側身運球的實現(xiàn)過程如下:
Step1:當球靠近墻體時改原先球上的擊球點為另外的目標點以達到斜體運球的目的,可將目標點設為:xna,Vector3 Point = new xna,Vector3(fishes[1].PositionMm.X+N,0,fishes[1].PositionMm.Z+M),M、N為常數(shù)。
Step2:通過改變M、N的數(shù)值來控制魚體傾斜游動的角度。
Step3:通過調(diào)用機器魚游動函數(shù)Dribble達到控制魚體頂球的目的。
3.當水球由目標點設置區(qū)運輸?shù)角蜷T前緩沖區(qū)時,由于球門后的空間狹小,仿真機器魚運球時容易與場地邊緣相互作用造成失真現(xiàn)象,魚體不受控制地在同一地點反復調(diào)整角度和位姿,較為浪費時間。為了避免此現(xiàn)象,本文提出一種在球門后方狹窄區(qū)域直接擊球入球門的算法,即通過判斷魚體相對于球的位置來選擇進球方式,在旋轉(zhuǎn)魚體的過程中利用仿真機器魚的身體和尾巴掃球進門,過程如圖4所示。
利用身體和尾巴掃球的實現(xiàn)過程如下:
Step1:當魚與球同時出現(xiàn)在目標點設置區(qū)時,以球門前緩沖區(qū)內(nèi)一點為目標點,使球運向球門后的中間區(qū)域。
Step2:當球中心超過橫線進入框體內(nèi)側時,判斷魚體中心與球中心的距離。
Step3:當此距離大于300時,按照直線頂球策略,將球運向目標點;當此距離小于300時,判斷魚體是在球體的左側還是右側。當魚體在球右側時,執(zhí)行以目標點在其左上方60°為目標點的直線頂球策略,直到球進框計數(shù)得分;當魚體在球左側時,使魚體逆時針旋轉(zhuǎn),由于魚體與球相距距離較小,球會向球門方向掃去,這樣避免了由于框內(nèi)空間狹小而出現(xiàn)失真的現(xiàn)象,同時增加了魚體右側的活動范圍。
五、結論
本文針對國際水中機器人大賽2D仿真新增項目搶球博弈提出了新的運球策略。在充分考慮了比賽場地地形和因魚體與場地邊緣相互作用而導致的失真現(xiàn)象的基礎上,對比賽場地進行了區(qū)域劃分,提出了設置多個中間目標點的直線運球策略,以及在狹窄區(qū)域利用仿真機器魚的身體、魚鰭和魚尾等魚體各部位進行運球的運球策略。通過多次的實驗驗證,與全場直線運球策略相比,本策略在規(guī)定時間內(nèi)的進球數(shù)目有明顯提升。
參考文獻:
[1]王耀威,紀志堅,翟海川.仿生機器魚運動控制方法綜述[J].智能系統(tǒng)學報,2014,(3):276-284.
[2]王梅娟,李易凡,范彬彬.基于URWPGSim2D仿真平臺的測試分析與策略改進[J].兵工自動化,2015,(12):82-85.
[3]滕江,李淑琴,龍海楠.機器魚2D仿真搶球大作戰(zhàn)策略的優(yōu)化[J].兵工自動化,2014,(3):89-92.