林金珠,袁 馳,倪天偉
(河海大學(xué)文天學(xué)院電氣信息工程系,安徽 馬鞍山 243031)
在FIRA仿真足球機(jī)器人比賽中,策略的執(zhí)行、陣型的變換、路徑的規(guī)劃等都是比賽的關(guān)鍵,而射門則是終結(jié)比賽的重中之重,在整場比賽中射門動作至關(guān)重要,射門能力是決定一支球隊(duì)實(shí)力的關(guān)鍵因素[1-2]。文獻(xiàn)[3]引入基于中位線的傳球方法,將機(jī)器人的足球動作作為機(jī)器人的行為來設(shè)計(jì),算法結(jié)構(gòu)簡單,通俗易懂,但是受足球機(jī)器人初始姿態(tài)的影響較大。文獻(xiàn)[4-5]提出了一種改進(jìn)的射門算法,機(jī)器人先沿直線運(yùn)動靠近球,然后沿曲線運(yùn)動去撞球射門,該算法優(yōu)化了射門路線,實(shí)用性強(qiáng),但機(jī)器人在運(yùn)動到目標(biāo)點(diǎn)附近時(shí)調(diào)整左右輪轉(zhuǎn)速,踢球射門,容易被斷球或被守門員阻截,不利于提高進(jìn)攻效率,尤其在點(diǎn)球大戰(zhàn)中,射門算法易被對方看破,點(diǎn)球得分率低[6]。為此,本文提出了一種基于FIRA仿真的足球機(jī)器人預(yù)判圓弧射門算法,該算法利用預(yù)測球的運(yùn)動方向與無干擾情況下實(shí)時(shí)姿態(tài)的相對位置,規(guī)劃出圓弧射門軌跡,提前到達(dá)預(yù)定目標(biāo)點(diǎn),調(diào)整并完成快速射門動作。經(jīng)仿真實(shí)驗(yàn)證明,該算法加快了射門的節(jié)奏,有效提高了射門的成功率。
在FIRA仿真足球機(jī)器人比賽中,機(jī)器人行駛速度快從而攻防節(jié)奏快,使得分機(jī)會稍縱即逝,特別是突破后的射門和點(diǎn)球,是比賽中得分的關(guān)鍵。如何提高射門效率是一直以來的研究問題,其中,提高射門速度、精度和可變性是提高射門效率的關(guān)鍵。預(yù)判圓弧射門是指利用計(jì)算機(jī)系統(tǒng)先預(yù)判出球下一時(shí)刻到達(dá)的位置,或到達(dá)某一位置所需的時(shí)間,再計(jì)算出合適的射門點(diǎn),此時(shí),機(jī)器人以平滑的圓弧移動,邊行駛邊調(diào)整位姿,行至目標(biāo)點(diǎn)時(shí)剛好達(dá)到可射門狀態(tài),立即射門。預(yù)判圓弧射門算法可以使機(jī)器人動作連貫,快速到達(dá)攻擊點(diǎn),既可完成高質(zhì)量射門,又能利用預(yù)判的時(shí)間做出細(xì)微調(diào)整,改變射門角度,達(dá)到出其不意的變化效果。其中,弧形的路徑規(guī)劃可讓機(jī)器人最大限度地保持平穩(wěn),無拐點(diǎn),可減少調(diào)整時(shí)間,從而保持最大速度,使得射門能量最大化,保證射門的成功率。
在FIRA仿真平臺中,首先需要計(jì)算球在正常運(yùn)動時(shí)的加速度α,如式(1)所示,可認(rèn)為環(huán)境中摩擦因數(shù)alpha是不變的,所以,此時(shí)的α也是恒定的,F(xiàn)IRA仿真平臺中數(shù)據(jù)以60次/s的速度進(jìn)行交換,可由式(2)得到下一時(shí)刻球移動的距離d。
(1)
式中:Δv為速度的變化量;Δt為發(fā)生這一變化所用時(shí)間。
d=(α*t*t)/2,
(2)
式中t為時(shí)間。假定,小球的t1和t2時(shí)刻的坐標(biāo)分別為:(x1,y1),(x2,y2),則計(jì)算小球的位移Δx=x1-x2和Δy=y1-y2。
得出小球的偏轉(zhuǎn)角theta,即小球運(yùn)動方向,如式(3)所示。
theta=(int)(180.0/PI*atan2((double)dy,(double)dx)),
(3)
通過得到的運(yùn)動方向與距離,可以預(yù)判出球在無干擾的情況下下一時(shí)刻所達(dá)到的位置,通過這些計(jì)算出小球到達(dá)某點(diǎn)的運(yùn)動時(shí)間,得出周圍最佳射門機(jī)器人與應(yīng)到達(dá)的射門點(diǎn),從而做出提前跑位動作和提前調(diào)整的技術(shù)動作。
圖1為小車圓弧射門模型機(jī)器人,小車的運(yùn)動、轉(zhuǎn)向、旋轉(zhuǎn)都由小車左右輪速控制,當(dāng)通過小球的速度方向等信息反饋得到范圍內(nèi)最適宜動作的小車后,由于小車的速度在-127~127內(nèi),可計(jì)算出最佳射門點(diǎn)與位姿,得出射門點(diǎn)到達(dá)的時(shí)間t,從而有左右輪速使小車按照圓弧軌跡運(yùn)動,到達(dá)射門點(diǎn)時(shí),機(jī)器人小車的運(yùn)動角度與期望射門角度剛好一致,擊球完成射門。
圖1 機(jī)器人小車圓弧射門模型
其中,弧線部分為機(jī)器人小車運(yùn)動軌跡,是以車、球的撞擊點(diǎn)為端點(diǎn),以射門目標(biāo)方向?yàn)榍芯€的圓弧,射門目標(biāo)軌跡如粗線部分。因?yàn)樽笥逸喚嘁阎獮镈,兩輪行駛路徑為同心圓弧,兩圓弧半徑已知為R1、R2,則可由此得到左右輪速差V。算法執(zhí)行流程如圖2所示。
文本通過FIRA SimuroSot 5vs5仿真平臺進(jìn)行了仿真實(shí)驗(yàn),該平臺中的賽場尺寸為1 130像素×788像素,移動機(jī)器人為10像素×10像素的正方形,用高爾夫球作比賽用球,直徑為5像素。通過仿真實(shí)驗(yàn)?zāi)M球臨近大禁區(qū)附近時(shí),移動機(jī)器人采取適當(dāng)應(yīng)對機(jī)制,發(fā)生射門動作。在正常的進(jìn)攻中,未采用預(yù)判圓弧射門算法的射門動作效果如圖3所示,采用預(yù)判圓弧射門算法的射門動作效果如圖4所示。
圖2 算法執(zhí)行流程圖
圖3 傳統(tǒng)的射門動作效果
圖4 采用預(yù)判圓弧射門算法的射門動作效果
兩種射門動作從任務(wù)車啟動至射門的完成時(shí)間(s)與進(jìn)球數(shù)對比見表1。在點(diǎn)球動作中,傳統(tǒng)點(diǎn)球和輕推小球到達(dá)一定角度再應(yīng)用預(yù)判圓弧射門算法,設(shè)每種情況踢10次的進(jìn)球數(shù)量與得分率的對比數(shù)據(jù)見表2。
由此可見,基于FIRA仿真足球機(jī)器人的預(yù)判圓弧射門算法在一定程度上提高了射門速度,超前于小球進(jìn)行跑位,從而有更多的時(shí)間用于運(yùn)算和調(diào)整位姿,提升了實(shí)戰(zhàn)中的預(yù)判能力,大大提高了射門的成功率。
表1 兩種射門算法的完成時(shí)間(s)與進(jìn)球數(shù)對比
表2 兩種射門算法在點(diǎn)球中進(jìn)球數(shù)量和得分率的對比
本文提出了一種基于FIRA仿真足球機(jī)器人的預(yù)判圓弧射門算法,不僅考慮了機(jī)器人的當(dāng)前狀態(tài),也能計(jì)算到達(dá)目標(biāo)點(diǎn)的速度和方向,預(yù)判下一狀態(tài),當(dāng)機(jī)器人運(yùn)動角度與期望射門角度一致時(shí),機(jī)器人立即擊球完成射門。該算法能很好地提高進(jìn)攻端的
進(jìn)攻效率,適合對已有攻防體系做出優(yōu)化,提升空間大,本文給出的一些思路和代碼適合借鑒,預(yù)判思想也適合用在防守和路徑規(guī)劃等方面。