王罡
(集美大學 計算機工程學院,福建 廈門 361000)
基于FRP反饋機制的仿真3D足球機器人運動平衡控制
王罡
(集美大學 計算機工程學院,福建 廈門 361000)
隨著RoboCup仿真足球3D的機器人模型由球形向人形的轉變.現階段很多隊伍的研究工作都主要是對機器人基本動作的實現,而機器人的平衡控制則是執行其他動作的前提.我們通過對機器人足部的反作用力感知器FRP(ForceResistance Perceptor)的感知信息的量與質兩方面的綜合分析,就可以知道當前機器人的平衡狀態,從而及時執行新的動作或做出矯正的策略.
RoboCup;仿真3D;FRP;平衡控制
RoboCup仿真足球機器人比賽是在一個標準的計算機環境中進行的.計算機提供了一個完全分布式控制,實時異步多智能體環境.通過這個平臺,測試各種理論,算法和Agent體系結構.在實時異步,有噪聲的對抗環境中,研究多智能體的合作對抗問題.目前仿真足球比賽主要包括仿真2D(二維平面)、仿真3D(三維立體)兩大賽種.從20007年的Atlanta世界杯開始微軟也推出了基于Sony-AIBO機器狗的仿真足球比賽MSRS.RoboCup仿真2D比賽主要研究的是多智能體之間的配合,并沒有空中球的概念,所有機器人被模擬作一個圓圈,對機器人的底層動作實現也進行的高度的抽象化和理想化.而仿真3D則隨著仿真0.5.3版的rcssserver3d在2007年2月12號的正式發布,標志著仿真足球機器人的比賽邁開了向類人挺進的步伐.
現在基于0.5.6.rsg的仿真3D的機器人模型體重約5KG,身高約4.5M,共有22個關節[1],如下圖所示:

基于0.5.6版rsg的仿真3D足球機器人模型
其中每個足部有兩個關節,分別控制著腳掌的側面和前后翻轉.每個腳掌上都有一個感知器,它包括外界(主要是地面,足球,球門和其他隊員的肢編號體)對腳底板的反作用力的方向和大小以及作用點的位置.當兩個物體的表面相互接觸時,它們有很多的接觸點,在仿真3D的世界里(即使在現實中也是如此),我們不可能提供每個接觸點的作用力的大小和方向.因此,為了簡化運算,我們引進了FRP,來抽象代表這些接觸點所受力的矢量和.格式如下:

身體部位 BodyParts 質量 長度 寬度 高度腳底板 Foot 0.10.60.9560.095足踝 Ankle 0.3550.1430.476肘子 shanks 0.250.520.450.964大腿 thighs 0.250.560.451.3髖hips 0.10.2730.2730.3hand10.0820.2720.57hand20.2420.2650.164hand30.0740.2720.2下臂 lower arms 0.20.4450.3160.6彎頭 elbows上臂 upper arms 0.20.4450.3980.506肩膀 shoulders 0.50.4451.0170.536頭head 0.3上半身 UpperTorso 1.21.370.961下半身 LowerTorso 0.61.320.550.55
(FRP(n lf)(c-1.500.110.05)(f 12249.48-1179.153891.65))
(FRP(n rf)(c-1.350.10-0.02)(f 9895.07601.752520.77))
其中FRP是標志字符串,n(node)是節點標志,lf(left foot)代表左腳節點,rf(right foot)代表右腳節點.C(concentration)代表反作用力的在本地坐標中三維中心坐標,f(force)代表反作用力的三維合成矢量大小和方向.

為了減少不必要的網絡傳輸,在0.5.6版服務器中規定,只有當機器人的足部有與其他物體表面接觸時才會得到以上感知信息.當機器人雙足都與地面接觸時,它所接收到的FRP個數為兩個(lf和rf).如果機器人左腳單腳站立,右腳懸空(比如在踢題球準備動作的抬腿期間),如下所示.

那么它的FRP返回個數就只有一個即只返回左腳的FRP感知信息.
如果機器人的雙腳同時離地(比如跳躍,或者摔倒),而且彼此又不互相碰撞,如下所示:

那么此時就沒有了FRP的返回信息,根據這些服務器所返回的FRP的個數,我們可以定性地推測出機器人當前是否摔倒或者單腳獨立(亞平衡狀態)等等[4].如果發現FRP的個數為0,而且這種情況持續了一段時間(目前我們設為10仿真個周期,約0.2s的真實時間)那么我們就可以斷定此時機器人已經倒地,必須調用起站立的功能來讓它爬起來,等到站立動作結束后,再檢測一次FRP的個數,如果發現還是為0,則說明起站立失敗,必須重新執行.
以上大致說明了通過FRP的個數來分析機器人的狀態,并做出相應的策略.我們還可以通過對FRP的具體內容進行分析,以獲得更高質量的機器人狀態平衡信息.主要是包括行走時的偏移矯正,轉彎過程中側翻的預防以及踢球時避免出腳時與地面發生摩擦.
以下是改進前的JMU3D機器人向前直走時的FRP曲線圖:



這里我們主要關心的是FRP的Z軸,因為它決定了機器人是否會前翻或后仰.如上圖所示,Z軸在起初平穩站立時平穩地保持在34N左右,這主要時克服地面對機器人重力的反作用力.當雙腳同時站立時各分擔一半的重力即:mg*1/2,由于機器人在每個周期內都要對各個關節進行角度矯正,加上魯棒的因素,因此實際在站立過程中機器人并不是絕對靜止的,而是在顫抖著[5],所以它對地面的反作用力要大于本身的重力.從圖中可以看出Z軸的反作用力在保持一段0值后會有一個峰值Zmax,均在80以上,這是當左腳落地時地面的沖擊力.通過多次實驗證明以上的Zmax值過大,從而導致了機器人在行走時經常發生前翻的意外,導致走路很不穩定.根據倒立擺模型,我們可以得出FRP的Z軸在行走時最佳的觸地值.
Zmaxbest=mg+mv^2/r[2];其中倒立擺的中心為機器人左腳落地時第一個周期的接地點,根據機器人的重量m,正常步行速度約為v,機器人的重心高度即半徑R,從而我們得到此時的理想值約為58N.根據以上結果,我們對機器人起步時的膝關節作適當的后傾的調整,同時在行走時落地前作角度的檢測并及時的更新使之保持在允許的誤差范圍內.
改進后的機器人走路時FRP-Z軸反作用力圖如下:

以下為正常比賽狀態下,對每個Zmax值進行100次的向前步行測試

Zmax正走2步穩定率正走4步穩定率正走停止穩定率 出現異常情況機器人偶爾會向前、或向后傾倒,或與地面產生滑動摩擦而轉向導致重心失衡5691% 72% 70% 機器人會向后傾倒6080% 75% 72% 機器人會向前后傾倒5895% 90% 87%
通過實驗驗證,改進后的機器人步行發生前翻的概率大大降低,在起停時的穩定性也有了進一步的提高.
機器人的轉彎可分為原地轉彎和繞球轉彎[3].為了簡化復雜度,我們在這里只分析原地轉彎時的情況.在機器人轉彎過程中,整個身體的重心一直都處于側向搖擺的狀態,在轉彎完畢停止的瞬間搖擺也要隨之而停止,但如果超過必要的幅度,則會導致發生側翻的危險,如下所示:

對此,我們從FRP的作用點的坐標出發,探索轉彎時腳底板最佳的觸地點和起步點.而接觸點中的X軸分量是關系其是否側翻的最主要因素,以下是改進前的機器人在原地轉彎時,FRP反作用力的受力點中X軸的位置時序圖:

X軸的正向代表坐標位于足底中心向外,在落地的瞬間,即圖中的第41、89和122個周期中X軸的正向坐標都達到一個正向峰值,這意味著轉彎時每次的落地點都在左腳的外沿,而且在第89到100個周期內,基本上維持在0.4以上的峰值,這必將導致整個身體的重心嚴重左移,甚至超出了搖擺所能承受的回落極限,一旦不能回落,就意味著機器人將向左邊側翻.因此我們也必須找出這個最佳值,來限制機器人在落腳時的觸地點和作用時間,以防止其發生因過度搖晃而側翻的危險.足部X軸的正向最大值為Xmax,人的身體寬度(軀干加肩膀)為BodyX,轉彎時的重心高度H,要確保在轉彎時不發生左側翻,則必須保證其重心在X軸方向上不超過左腳的受力點.
通過反正弦函數可求得θ=atan(BodyX/(2*H)),所以根據 Xoffside的最佳值 Xbest為:(Xmax+ Xmax*(1-cosθ))/2;
這時我們可以通過對落地點的判斷通過控制左腳底側向自由度向右側旋轉或和重心的右移(如張開右腿)等措施來做出矯正,我們同樣分別對FRP-X的極限值進行了左右方向轉彎各100次的轉向測試,結果如下:


0.260.300.35左轉 93% 94% 75%右轉 92% 97% 70%存在問題落地不穩,易產生滑動摩擦,導致平面重心移動和轉向效率降低落地時由于慣性的影響,轉向的角度與需要目標角度略有誤差機器人落地時易發生側翻,或出現兩腿同時騰空的劇烈顫動
經過以上改良方法之后的FR-X軸坐標時序圖如下:

通過對X軸觸地坐標的動態矯正,改進后的機器人幾乎不會發生側翻的情況,原地轉彎的停止動作也變得更加的平穩利索.
通過以上的實驗和研究,我們在agentspark的基礎上,建立了自己的JMU3D仿真機器人足球隊,并參加了”2007中國機器人大賽暨RoboCup中國公開賽”和“2007拉丁美洲RoboCup公開賽”,“2008年世界杯”均取得了不錯的成績.
在RoboCup人形仿真3D中,傳感器的數量和功能目前還有很大的極限,比如攝像頭位于身體的中心而不是頭部,而且所看到的對象只是一個個抽象的質點,沒有具體的狀態,如看到其他隊球員時不能知道他的身體朝向和各個關節的狀態等等.雖然FRP傳感器的反饋信息基本上尚可以滿足對整個機器人的運動平衡的控制,但是這仍然是不夠的,比如人體手和頭部等突出部位也同樣需要壓力傳感器,以便更好得的動態控球和避免不必要的碰撞等.
我們也期待著更完善的仿真3D服務器(rcssserve-0.5.7)能夠早日推出,相信通過全體RoboCup成員的共同努力,我們必定能夠趕在2050年實現RoboCup的遠大目標:“于2050年組建真實世界機器人足球隊,在世界杯的比賽中贏得與人類的比賽.”
〔1〕http://www.robocup.org/overview/21.html.
〔2〕Mao Chen&Klaus Dorer&Ehsan Foroughi& Fredrik Heintz&ZhanXiang Huang&Spiros Kapetanakis & Kostas Kostiadis & Johan Kummeneje&Jan Murray&Itsuki Noda& Oliver Obst&Pat Riley& Timo Steens&Yi Wang and Xiang Yin,Users Manual RoboCup Soccer Server for Soccer Server Version 7.07and later,February 11,2003.
〔3〕http://www.gnu.org/copyleft/gpl.html.
〔4〕李蔚澤.Red Hat Linux 9網絡管理.清華大學出版社,2003.216-239.
〔5〕郭軍,熊蓉,吳鐵軍.RoboCup機器人足球仿真比賽開發設計.浙江大學控制科學與工程系,工業控制國家重點實驗室,2002.
〔6〕http://www.nlict.zju.edu.cn/nlictrobocup/robocup _chinese.htm.
〔7〕Peter Stone,Layered Learning in Multi-Agent Systems,Carnegie Mellon University,1998.
〔8〕Kostas K,Hu Huosheng,Rinforcement Learning and Co-operation in a Simulated Multi—agent System [C]//Proceedings of the 1999lEEE/RSJ internationalConference on Intelligent Robots and Systems Japen:IEEE,1999.990-995.
〔9〕Endo K.Ito S,Yam aguchiH.eta1.Team Descriptionfor ‘DONGURI’[C]//HirokiK.RoboCup一 98:Robot Soccer WorldCup II Berlin:Springer,1998.305-308.
〔10〕李實,陳江,孫增圻.清華機器人足球隊的結構設計與實現.清華大學計算機科學與技術系,智能技術與系統國家重點實驗室.清華大學學報(自然科學版),2001,41(7).
TP242
A
1673-260X(2010)09-0034-04