,, ,,
(1.蘇州科技大學(xué) 天平學(xué)院,江蘇 蘇州 215009; 2.蘇州科技大學(xué) 江蘇省建筑智慧節(jié)能重點實驗室,江蘇 蘇州 215009)
機器人足球比賽是一項帶有人類行為意識的競技體育比賽。更為深層次的意義在于通過此類比賽形式,以足球為載體,促進包括人工智能、機器人學(xué)、傳感器、自動控制和通訊等一系列領(lǐng)域的技術(shù)發(fā)展。Robocup全球委員會提出未來將建立一支機器人足球隊,并將打敗人類足球世界杯冠軍隊作為奮斗目標。國際機器人足球聯(lián)盟制定的規(guī)則表明,在規(guī)定比賽時間內(nèi)進球最多的隊伍獲勝,因此雙足機器人射門成功率是比賽取勝的決定性因素。
目前,研究人員針對射門策略開展了廣泛的研究。張彥鐸等人在傳統(tǒng)射門的基礎(chǔ)上提出了一種射門區(qū)間模型。在為機器人規(guī)劃最佳運動路徑的同時尋找出最優(yōu)射門點[1]。但該方法忽略了當射門路徑上存在其他機器人時,對射門路徑造成的干擾。韓家新等人提出了一種改進直沖射門方法,相比較傳統(tǒng)射門算法而言射門成功率有所提高[2]。但是該算法代碼的復(fù)雜度高、計算時間長,無法保證機器人動作的實時性。宋大雷等人提出的動態(tài)橢圓射門方法從減少機器人射門運動距離入手,提高了射門成功率[3]。但是該方法對硬件有著苛刻的要求。梁家海、趙兵等人分別提出了利用機器學(xué)習和模糊算法這類人工智能方法來優(yōu)化射門路徑。雖然這類方法可以比較連貫的完成射門動作與避障[4-5]。但是對機器人的硬件設(shè)備和計算能力要求較高,從而容易對射門實時性造成影響。
針對上述射門方法中存在的射門精度和實時性的問題,本文主要借助于中國機器人大賽3D雙足機器人Robocup 11 vs 11仿真平臺[4],將真實的比賽場景進行高還原度的模擬。并通過分析本球隊射門機器人與本球隊成員、對方球隊成員的位置、行為之間的關(guān)系,提出了一種基于簡化三維倒立擺模型的模糊控制算法來提高機器人射門精度和實時性。該方法利用模糊控制方法精確地修正機器人的射門姿態(tài)和角度,并在射門時提供較大的沖量,從而提高射門成功率。
在雙足機器人運動過程中,如果只考慮前后和上下方向的運動而忽略左右的運動,那么容易造成機器人失去平衡而摔倒。因此,需要將線性倒立擺拓展到三維環(huán)境,并對機器人進行三維線性倒立擺建模。然而,直接分析研究雙足機器人多連桿結(jié)構(gòu)的過程往往較為繁瑣,因此本文等價地簡化機器人為合理的數(shù)學(xué)模型,從而便于研究[6]。將機器人的身體視為一個質(zhì)點,腿視為無質(zhì)量的支撐桿,可以建立起一個三維線性倒立擺模型。它不需要已知機器人的參數(shù),如質(zhì)量、質(zhì)心以及每個關(guān)節(jié)的慣性,而是通過模型導(dǎo)出,從而便于計算。
圖1 簡化三維線性倒立擺模型
圖1表示簡化的三維線性倒立擺模型,假定質(zhì)心高度固定為zc,重力加速度為g,根據(jù)三維線性倒立擺模型,則ZMP軌跡(px(t)、py(t))與質(zhì)心軌跡(x(t)、y(t))運動的方程為:
(1)
(2)
由公式(1)、(2)可以看出,給定ZMP軌跡(px(t)、py(t))和質(zhì)心軌跡(x(t)、y(t))就可以求得質(zhì)心軌跡。再通過指定游動腿軌跡,即能夠讓雙足機器人進行步態(tài)行走。
在實際比賽時,射門成功率不單單取決于射門算法,雙足機器人射門前調(diào)整姿態(tài)所花費的時間也對成功率有一定影響。機器人到達目標射門點時需要調(diào)整其姿態(tài)后才能進行射門,即將方向和速度調(diào)整到合理的數(shù)值。
在如圖2所示的雙腿支撐相中,可以得到機器人的質(zhì)心位置和加速度關(guān)系方程:
圖2 雙足機器人雙腿支撐相
(3)
(4)
(5)
給出質(zhì)點的初始方位、速度以及最終方位、速度,即已知:
則可得:
(6)
(7)
根據(jù)公式(4)~(7)可知,要想求得機器人在雙腿支撐相的身體質(zhì)點軌跡,只需要知道機器人的初始方位和速度、最終方位和速度。因此跟據(jù)上述方法可以實現(xiàn)雙足機器人一步停止,縮短了射門前的準備時間。
當雙足機器人開始進行踢球動作時,就需要獲得最佳的射門動作。在雙足機器人抬起游動腿之前,都需要實現(xiàn)將質(zhì)心位置移動到該單腿支撐項的位置。本文將公式(1)和公式(2)進行變換,從而得到公式(8)和公式(9):
px=c1*e4+c2*e3+org
(8)
vx=c1*e4/Tc-c2*e3/Tc
(9)
其中:e1=exp(-Ts/Tc),e2=exp(Ts/Tc),
e3=exp(-t/Tc),e4=exp(t/Tc),
c1=((x0-org)*e1-(c1-org))/(e1-e2),
c2=((x0-org)*e2-(c-org))/(e2-e1)。
由于雙足機器人要實現(xiàn)單腿支撐,就需要對質(zhì)心的運動軌跡進行規(guī)劃,同時提前規(guī)劃其側(cè)平面軌跡。從而使質(zhì)心能夠垂直投影于ZMP范圍內(nèi)。實際比賽時,機器人只有通過迅速調(diào)整球與腳之間的距離,在躲避對方攔截和避開干擾球員的同時,實現(xiàn)起腳射門動作。因此,處于單腿支撐相時,本文將質(zhì)心沿y軸移動的距離設(shè)置為一個變量。并通過動態(tài)地對機器人射門腳與球之間的距離進行調(diào)整,完成快速起腳射門的動作。
本文規(guī)定射門的起始位置為ps(xs,ys,zs),初始速度vs,初始角度為(αs,βs)。球的位置為po(xo,yo,zo),目標速度vo,目標角度為(αo,βo),α表示y軸方向上的角度,β表示x軸方向上的角度。關(guān)系式如下:
(10)
同理,根據(jù)po點得到p3關(guān)系式:
(11)
設(shè)射門周期為T,t∈[0,T],得到以ps、po
為起始點的3次貝塞爾曲線方程為:
(12)
其中:0≤t≤T,vs≥0,vo≥0。
這樣就可以根據(jù)雙足機器人的初始位置和球的坐標位置為起點和終點做一條平滑的曲線,作為雙足機器人的游動腿軌跡。
傳統(tǒng)曲線射門的思路是讓雙足機器人沿著一段圓弧的軌跡運動到足球所在的位置,然后繼續(xù)帶球運動到目標射門點之后將球踢出[7]。此類算法雖然優(yōu)于傳統(tǒng)直線射門算法,但是當機器人離足球與目標射門點所成直線的距離較近時,圓弧很大,因此射門效果不夠理想?;谏鲜鲈?,本文提出了一種模糊控制射門算法。利用模糊規(guī)則讓機器人用較短的時間走直線取球,接著走一段圓弧軌跡,把方向調(diào)整準確后踢球射門。具體實現(xiàn)步驟:
步驟2:從機器人R到圓O的切線也有兩條,選擇當機器人到達B點的方向與由B指向G相同的那條為切線。如圖5中選擇點切點P所在的切線,此時切線方向角θ=β-α。其中,β為RP的方向角,α=arcsin(r/d),d為線段OR的長度。由此可以求出切線RP的方向角θ;
步驟3:讓機器人沿直線RP運動到P點,然后沿曲線軌跡射門。
以上只解決了雙足機器人運動時的路徑規(guī)劃與射門方向問題,沒有將機器人初始方向?qū)ι溟T成功率的影響納入討論。因為機器人的初始方向是任意的,并不會默認與切線方向θ相同,所以會產(chǎn)生誤差。因此本文引入模糊控制方法來動態(tài)調(diào)整機器人的初始方向。
本文提出的模糊規(guī)則表述如下:
當左右腿中任意一個的速度達到設(shè)定值之后不再增加,同時另一條腿的速度也增加到設(shè)定值不再改變。如果機器人當前的方向角與本文期望的切線方向角的誤差到達一定的值,則調(diào)整機器人腿的速度,使它們產(chǎn)生速度差以調(diào)整角度。其控制函數(shù)VM和Vm表達式如下:
VM=a1d+a2δ+Vc
(13)
Vm=a1d-a2δ+Vc
(14)
VM表示游動腿的速度,Vm表示支撐腿速度,Vc為常數(shù),a1,a2為常數(shù),數(shù)值根據(jù)實際情況修改。
機器人走直線時伴隨著周期性的方向調(diào)整,當方向角與切線方向角一致時,讓機器人走直線運動到P點后,最后讓機器人沿曲線軌跡完成射門操作。在仿真與實際測試的時候,可以只通過計算機器人和圓心的距離來判定其是否運動到P點。
為了驗證本文提出射門算法的性能,先將NAO機器人為原型建立三維線性倒立擺模型,然后再將算法寫入RoboCup 11vs11仿真平臺。在RoboCup 3D仿真平臺中完全模擬真實比賽的場景,對本文提出的模糊控制射門算法進行抬腿、射門、持球、持球射門等項目的測試,如圖3所示。同時要求機器人在持球行走和射門的過程中自我調(diào)整方向,并實現(xiàn)快速地起腳射門。仿真實驗表明,本文的算法射門成功率高于其他射門算法。
圖3 雙足機器人仿真射門過程
傳統(tǒng)射門方法通常采用直線方程生成ZMP軌跡[8]。本文為了在多角度和任意姿態(tài)下實現(xiàn)最優(yōu)射門動作,分別將直線方程、貝塞爾曲線生成的游動腿ZMP軌跡用于本文提出的基于模糊控制算法的雙足機器人射門動作軌跡,并分別優(yōu)化獲得如圖4所示的適應(yīng)度函數(shù)值。
從圖4中不難發(fā)現(xiàn)直線方程的ZMP軌跡經(jīng)過迭代48次后收斂,而塞爾曲線的ZMP軌跡的適應(yīng)度函數(shù)經(jīng)過迭次78次后才趨于穩(wěn)定。由此可見ZMP軌跡為直線方程時收斂過早,并且其適應(yīng)度函數(shù)值最終也大于ZMP軌跡為塞爾曲線的情況。最后將兩種方法優(yōu)化后的參數(shù)分別應(yīng)用于仿真射門平臺進行射門測試對比。測試結(jié)果也驗證了本文游動腿采用ZMP軌跡是塞爾曲線時,射門準確性更高、用時也更短。
圖4 直線方程、貝塞爾曲線生成ZMP軌跡優(yōu)化效果對比
圖5為機器人射門全過程,采用Robocup實際比賽所用的NAO機器人,將程序輸入開發(fā)接口進行真實環(huán)境測試。測試過程分為初始化的起步階段,比賽時的正常行走,按照本文算法射門階段以及最后的進球過程。
圖5 NAO機器人全過程射門
如圖6所示,在2000次射門實驗中,隨機算法失球512次,被攔截236次,被撲出435次;基本算法失球235次,被攔截145次;切圓弧軌跡算法失球156次,被攔截81次,被撲出167次;本文算法在45°射門時失球133次,被攔截67次,被撲出136次。從圖中可以看出本文算法大幅優(yōu)于另外幾種算法,而且采用本算法比賽的足球隊所發(fā)生的失球、被攔截、被撲出的數(shù)量最少。
圖6 4種算法射門實驗比較結(jié)果
此外,本文還從射門平均距離、平均調(diào)整時間、平均射門時間3個方面對比了4種算法,如表1所示。統(tǒng)計結(jié)果表明,本文提出的射門算法在平均調(diào)整時間和平均射門時間這兩項性能上都優(yōu)于其他3種算法。并且在射門距離上也接近切圓弧軌跡射門法,滿足了比賽中射門距離越遠越好的需求。
表1 RoboCup3D平臺中的4種射門算法性能對比
本文提出的基于三維線性倒立擺的改進圓弧射門算法最大的亮點在于改善了機器人按照既定軌跡運動前初始方向調(diào)整的問題。在實現(xiàn)機器人運動路徑的平滑過渡的同時提高了運動的沖量,可以大大提高射門成功率,體現(xiàn)了本算法的可行性和優(yōu)越性。此外,蘇州科技大學(xué)STU機器人足球隊采用本文算法后,在2017年江蘇省大學(xué)生機器人比賽足球仿真組取得了亞軍一等獎的好成績。