張秋實(shí),張?zhí)旌?,張雨澤,?陽,黃冰冰
(東北電力大學(xué)信息工程學(xué)院,吉林吉林132012)
機(jī)器人足球融合了實(shí)時視覺系統(tǒng)、機(jī)器人控制、無線通訊、多機(jī)器人控制等多個領(lǐng)域的技術(shù)[1],已成為研究多智能體系統(tǒng)的一個標(biāo)準(zhǔn)實(shí)驗(yàn)平臺[2,3]。機(jī)器人足球賽是在一個實(shí)時、動態(tài)的環(huán)境中進(jìn)行的[4],射門成功率無疑是決定一支球隊(duì)實(shí)力的關(guān)鍵因素,引起越來越多學(xué)者的重視[5]。
提高射門成功率的方法有很多,最受學(xué)者們關(guān)注的是人工智能算法和曲線擬合算法。由于仿真機(jī)器人足球比賽平臺時間響應(yīng)快,實(shí)時性要求高,人工智能算法的特點(diǎn)和優(yōu)勢無法充分體現(xiàn)。所以,各參賽隊(duì)多使用曲線擬合算法規(guī)劃射門路徑。文獻(xiàn)[6-12]構(gòu)造了不同的擬合曲線,在射門曲線的速度性、準(zhǔn)確性、連慣性以及避障和死角射門等方面進(jìn)行了深入研究,一定程度上提高了機(jī)器人一次射門成功率。
隨著團(tuán)隊(duì)防守層次的不斷優(yōu)化和守門員防守質(zhì)量的不斷提高,一次射門效率受到了很大的限制。為此本文提出一種基于動態(tài)碰撞時間預(yù)測的區(qū)域射門算法,在保證一次射門成功率的前提下,嘗試著提高二次射門成功率,進(jìn)而提高射門效率。該算法在運(yùn)動中預(yù)測機(jī)器人與球碰撞發(fā)生的時間、碰撞區(qū)域以及對方守門員站位趨勢,根據(jù)對方守門員的站位趨勢來設(shè)計死角射門動作。仿真實(shí)驗(yàn)結(jié)果表明,用此方法改進(jìn)射門動作后,射門的成功率和比賽的進(jìn)球數(shù)明顯提高。
圖1 射門區(qū)域
比賽中,機(jī)器人和球的位姿時刻在變化,只有滿足特定關(guān)系時才具備射門條件。本文將射門機(jī)器人和球的運(yùn)動方向、碰撞位置和預(yù)測碰撞時間作為約束,判斷是否具備射門條件。
(1)運(yùn)動方向約束:機(jī)器人運(yùn)動方向與球運(yùn)動方向必須有交點(diǎn),且交點(diǎn)在球場之內(nèi)。
(2)碰撞位置約束:球經(jīng)過s個周期運(yùn)動后必須達(dá)到射門區(qū)域(如圖1陰影區(qū)域)。(3)預(yù)測時間約束:保證機(jī)器人和球經(jīng)過s個周期后相碰撞。
如果同時滿足上述三個約束條件,就認(rèn)定該機(jī)器人滿足射門條件。
比賽中滿足射門條件的態(tài)勢主要分為三種情況:
情況1:機(jī)器人運(yùn)動方向與球運(yùn)動方向交點(diǎn)位于射門區(qū)域內(nèi),如圖2(a)。
這是最簡單的一種態(tài)勢,只需實(shí)時預(yù)測小球運(yùn)動到G點(diǎn)所用的時間——碰撞周期。通過碰撞周期控制機(jī)器人直線運(yùn)動的速度,保證在最短時間內(nèi)用最高速度撞擊小球,完成射門。
情況2:機(jī)器人運(yùn)動方向與球運(yùn)動方向交點(diǎn)位于射門區(qū)域上側(cè),如圖2(b)。
當(dāng)交點(diǎn)G位于射門區(qū)域上側(cè)時,本文將小球運(yùn)動方向與射門區(qū)域上邊界交點(diǎn)G'點(diǎn)視為機(jī)器人與小球的碰撞點(diǎn)。機(jī)器人通過曲線運(yùn)動調(diào)整運(yùn)動方向和運(yùn)動速度,使其運(yùn)動方向?qū)?zhǔn)G_Top點(diǎn)(死角),此時碰撞點(diǎn)G點(diǎn)與G'點(diǎn)重合。接下來直線射門同情況1。
情況3:機(jī)器人運(yùn)動方向與球運(yùn)動方向交點(diǎn)位于射門區(qū)域下側(cè),如圖2(c)。
當(dāng)交點(diǎn)G位于射門區(qū)域下側(cè)時,將小球運(yùn)動方向與射門區(qū)域下邊界交點(diǎn)視為機(jī)器人與小球的碰撞點(diǎn)。射門曲線同情況2。
圖2 射門態(tài)勢
假設(shè)碰撞點(diǎn)在大禁內(nèi)或大禁區(qū)前沿,如果預(yù)測對方守門運(yùn)動趨勢為快速封堵G_Top點(diǎn)或G_bottom點(diǎn),主攻機(jī)器人強(qiáng)行射門不但不能得分還容易造成犯規(guī)(門區(qū)內(nèi)進(jìn)攻方機(jī)器人碰到守門員和門區(qū)內(nèi)進(jìn)攻機(jī)器人數(shù)大于1個均視為犯規(guī)),使球權(quán)易主。為了確保射門效率,本文將射門動作進(jìn)行了優(yōu)化,即實(shí)施遠(yuǎn)門柱射門策略。在機(jī)器人與小球碰撞瞬間,用原地高速旋轉(zhuǎn)碰撞代替高速直線碰撞,將小球射向遠(yuǎn)門柱(如圖3)。即使推射遠(yuǎn)角效果不理想,球被守門員撲出,小球的反彈大致方向如圖4。此時,助攻機(jī)器人滿足射門條件,可用本文算法實(shí)施二次射門。遠(yuǎn)門柱射門策略不僅可以增加進(jìn)球幾率,其戰(zhàn)略意義更大。一是可有效避免沖撞守門員犯規(guī),二是將主攻機(jī)器人控制在門區(qū)外,給助攻機(jī)器人補(bǔ)射創(chuàng)造條件。
如果碰撞點(diǎn)G離大禁區(qū)較遠(yuǎn),射門路徑中有對方機(jī)器人攔截,可利用本文射門算法進(jìn)行傳接球策略設(shè)計。
圖3 推射遠(yuǎn)角
圖4 二次射門
圖5 機(jī)器人運(yùn)動學(xué)模型
機(jī)器人的射門路徑規(guī)劃可分解為機(jī)器人先作曲線運(yùn)動(VR≠VL)消除角度偏差,當(dāng)運(yùn)動方向指向G_Top點(diǎn)(下邊為G_Bottom點(diǎn))時再做直線運(yùn)動(VR=VL)射門。消除角度偏差可通過改變機(jī)器人的左右輪速來實(shí)現(xiàn)。輪式機(jī)器人運(yùn)動學(xué)模型如圖5所示。
機(jī)器轉(zhuǎn)向半徑:
碰撞時間:
機(jī)器人速度:
機(jī)器人轉(zhuǎn)向角速度:
由公式(1)(2)(3)(4)可解得:
式中:Vball是小球速度,L是機(jī)器人邊長,Δθ是機(jī)器運(yùn)動方向與期望射門方向的夾角,Dis_B_G是小球與G'點(diǎn)的距離,Dis_R_G是機(jī)器人與G點(diǎn)的距離。
公式(5)、(6)主要用來消除角度偏差,可看出,當(dāng)角度偏差Δθ=0時,VR=VL。
仿真試驗(yàn)使用FIRA SimuroSot 5Vs5標(biāo)準(zhǔn)仿真比賽平臺,如圖6所示。針對快速、動態(tài)的比賽過程,用VC++編寫算法,進(jìn)行射門仿真試驗(yàn)。藍(lán)方為防守方,0號機(jī)器人為守門員,1號機(jī)器人為專職防守隊(duì)員。黃方為進(jìn)攻方,0號機(jī)器人為守門員,1、2號機(jī)器人中優(yōu)先級高的機(jī)器人負(fù)責(zé)射門,優(yōu)先級低的機(jī)器人跑位,準(zhǔn)備補(bǔ)射。進(jìn)攻方分別使用本文算法、Bézier曲線、切入圓軌跡、動態(tài)基準(zhǔn)圓算法進(jìn)行射門,每種算法射門試驗(yàn)500次,試驗(yàn)結(jié)果如表1所示。
圖6 PIRA SimuroSot 5Vs5仿真比較平臺
表1 實(shí)驗(yàn)結(jié)果
從表1中不難看出,本文射門算法與幾種經(jīng)典曲線擬合算法相比,一次射門成功率相差不大,但二次射門成功率明顯提高。且對方守門員防守質(zhì)量越高,本算法的優(yōu)勢越大。
本文射門算法充分考慮了機(jī)器人的當(dāng)前狀態(tài),并能保證到達(dá)目標(biāo)點(diǎn)的速度和方向。當(dāng)機(jī)器人運(yùn)動角度與期望射門角度一致時,機(jī)器人最后擊球完成射門。射門曲線簡單,路程短,與直線射門路徑過渡平滑,能滿足準(zhǔn)確性、速度性和連慣性的要求。仿真實(shí)驗(yàn)表明,該算法大大提高球隊(duì)動態(tài)環(huán)境下的進(jìn)球效率。此外,該算法還可用作攔截球和多機(jī)器人傳接配合。
[1]Kim J H,Kim H S,Jung M J,et al.A cooperative multi-agent system and its real time application to robot soccer[A].Proc of IEEE Conf on Robotics and Automation[C].New Mexico:Albuquerque,1997:638 -643.
[2]Kim J H.Third call for participation micro-robot world cup soccer tournament 1996(MiroSot’96)[EB/OL].http://vivald.i kaist.ac.kr.
[3]Asada M,Kitano H.The RoboCup challenge[J].Robotics and Autonomous System,1999,29(1):3 - 12.
[4]Stone P.Layered learning in multi-agent systems[D].Pittsburgh:Carnegie Mellon University,1998.
[5]Harvey J,Cheng C.High-level design of a MIROSOT simulator[A].Proc of the Micro-Robot World Soccer Tournament[C].Taejon:KAIST,1996:87-89.
[6]劉宏志.一種改進(jìn)的射門算法[J].哈爾濱工業(yè)大學(xué)學(xué)報,2004,36(7):975-977.
[7]臧軍旗,趙臣,崔煒,等.基于區(qū)域和切圓弧的足球機(jī)器人射門動作研究[J].哈爾濱工業(yè)大學(xué)學(xué)報,2005,37(7):950-952.
[8]郭路生,楊林權(quán),呂維先.基于Bézier曲線的機(jī)器人足球射門算法[J].哈爾濱工業(yè)大學(xué)學(xué)報,2005,37(7):921-923.
[9]王月海,董天禎,洪炳镕.基于動態(tài)基準(zhǔn)圓的機(jī)器人足球射門算法研究[J].哈爾濱工業(yè)大學(xué)學(xué)報,2005,37(7):953-955.
[10]柳在鑫,王進(jìn)戈,朱維兵.足球機(jī)器人的雙圓弧射門算法研究[J].西安交通大學(xué)學(xué)報,2007,41(11):1326-1329.
[11]柳在鑫,王進(jìn)戈,王強(qiáng),朱維兵,張均富.利用漸開線的足球機(jī)器人射門算法研究[J].西安交通大學(xué)學(xué)報,2009,43(1):96-98.
[12]宋大雷,孟憲強(qiáng),宋朝暉,申文卿.基于動態(tài)橢圓曲線的足球機(jī)器人射門路徑規(guī)劃算法[J].計算機(jī)應(yīng)用,2009,29(6):1544-1546.