廖列法,李浩瀚,李 帥,朱合隆,李志軍
1.江西理工大學 信息工程學院,江西 贛州 341000
2.斯旺西大學 工程學院,英國 威爾士 斯旺西SA1 8EN
隨著工業(yè)和互聯(lián)網(wǎng)等高新技術的發(fā)展,逐漸出現(xiàn)一種可以靈活運動的機器,該機器能夠應對實時對抗的復雜環(huán)境[1],這種近似于人類那樣的活動方式和基本職能的產(chǎn)物逐漸出現(xiàn)——機器人[2]。隨后又出現(xiàn)人工智能,好似給機械化的機器安裝上一顆靈活的大腦,使其逐漸在各個領域都能大展宏圖,更甚者比人類還出色。足球機器人[3]系統(tǒng)的研究涉及非常廣泛的領域[4],包括機械電子學、機器人學、傳感器信息融合、智能控制、通訊、計算機視覺、計算機圖形學、人工智能[5]等,吸引了世界各國的廣大科學研究人員和工程技術人員的積極參與。
足球機器人是一個多智能體,本身就是多種科技的集合體,對多個學科來說都有很高的研究價值[6],這是針對于個體本身來說。但是,它們又是同樣的復刻體,是有許多相似的“活動”,又可以組成一個團隊。不單單局限于個體本身的各個智能模塊的研究,還可以上升到整個團隊之間的研究。例如:競爭與協(xié)作等復雜的關系研究。足球機器人可以運用人工智能等先進科技技術,模擬現(xiàn)實中的運動員比賽模式,演繹一場非常精彩的機器人足球比賽。足球機器人比賽中涉及多領域研究方法,通過機器人比賽,可以很好的促進思想的交流,引進新的技術.相關專家學者也以足球機器人的控制為研究對象,對其進行深入研究,產(chǎn)生了一些較為成熟的理論和應用。
足球機器人在運動過程中會受到障礙物的干擾和足球態(tài)勢的隨機性等因素的影響,導致足球機器人的避障性能不好,需要對其進行智能控制設計,同時也要考慮它們的能耗問題。為了提高足球機器人的智能控制能力,研究足球機器人的優(yōu)化控制方法,在足球機器人的設計和比賽優(yōu)化中具有重要意義。
競爭在自然界和社會中廣泛存在[7]。在不同類型的競爭中,“贏者通吃”是指個體在群體中相互競爭[8]的現(xiàn)象,只有輸入最高的個體保持激活狀態(tài),其余個體均被抑制。這種類型的競爭的例子包括中央主干的主導增長,視覺系統(tǒng)中通過神經(jīng)元之間的贏者通吃競爭的對比增益[9],皮層決策競爭[10],基于競爭的多機器人協(xié)調(diào)控制[11]等。
盡管上面所舉例說明的許多現(xiàn)象都表現(xiàn)出相同的贏家通吃比賽,但是它們可能有不同的基本原則負責動態(tài)進化。除了分布式存儲和高速并行處理的特點之外,神經(jīng)網(wǎng)絡可以很容易地通過硬件來實現(xiàn),并且已經(jīng)被廣泛應用于各個領域,包括競爭現(xiàn)象[12]。例如,文獻[13]中介紹的N種類Lotka-Volterra 模型,交互式地插入Fitzhugh-Nagumo模型。
APF[14]方法是由Khatib 率先提出的,剛開始只是為了解決機械手臂在移動抓取物體的時候,能夠不碰到工作臺。但是后來人們發(fā)現(xiàn),這個方法在移動機器人上也有很好的效果。能產(chǎn)生出非常平滑的運行軌跡。人工勢場法就是在已知起點、終點和障礙物位置的情況下,構建一個人工勢場來模仿這種作用機制。人工勢場法的優(yōu)點在于,它其實是一種反饋控制策略,對控制和傳感誤差有一定的魯棒性。
人工勢場法簡單實用,有良好的實時性結構,在實時避障和平滑的軌跡控制方面得到廣泛的應用。它的基本思想是將機器人在周圍環(huán)境中的運動,設計成一種抽象的人造引力場中的運動,目標點對移動機器人產(chǎn)生“引力”,障礙物對移動機器人產(chǎn)生“斥力”,最后通過求合力來控制移動機器人的運動。目標機器人受力分析如圖1所示。
圖1 機器人受力分析圖
這個算法里面最主要的就是引力勢場和斥力勢場的設計。傳統(tǒng)方式的設計。利用勢函數(shù)U來建立人工勢場。勢(場)函數(shù)是一種可微函數(shù),空間中某點處勢函數(shù)值的大小,代表了該點的勢場強度。最簡單的勢函數(shù)是引力/斥力勢函數(shù)。
某點p處的勢函數(shù)U(p) 表達為引力勢和斥力勢之和:
最常見的引力勢函數(shù)表達如下:
其中,ζ為代表增益,d(p,pgoal)為當前點p到目標點pgoal之間的距離。
常見的斥力勢函數(shù)表示如下:
其中,D(p)為點p與其最近障礙物之間的距離,η為斥力增益,Q*為障礙物的作用距離閾值,大于此距離的障礙物不會產(chǎn)生斥力影響。
WTA 模型中的輸入值就是兩坐標點之間的坐標,輸出值是機器人的速度矢量,包括速度標量和速度方向。這些正是機器人進行路徑規(guī)劃的基本條件和必要條件。而APF路徑規(guī)劃法簡單實用,有良好的實時性結構,操作簡單,實際操作性強。最重要的是,勢場法里最多的必要值也是兩點間的距離。這就有良好的互通性,操作步驟和數(shù)據(jù)也類似。通過改進的算法,也大大提高了效率,避免了大多的弊端,使路徑更平滑,也使運動過程更加完整。
按照上述的思想,總體過程分兩步,分別采用對應的策略來進行問題的求解,總體流程圖如圖2所示。
圖2 運動過程流程圖
在足球機器人系統(tǒng)中,其運行環(huán)境是部分己知、部分未知,含有靜態(tài)和動態(tài)障礙物的環(huán)境,且是個時刻變化的競爭性動態(tài)環(huán)境。足球機器人運動場地圖3所示。
圖3 足球場場景圖
如圖3,描述的是足球機器人的比賽場地。雙方各派出11 個足球機器人,在規(guī)定的場地上進行足球比賽。所有的比賽環(huán)境都是在理想的狀態(tài)下進行的,不考慮過多的人為和其他自然力量的影響。這里說明一下比賽過程,大致分為兩個關鍵部分:第一個部分,比賽開始時,雙方都靜止在各自的場地中。等待比賽指令的傳達,雙方運動員去搶足球。當某一方成功搶到足球時,就控制足球向對方球門運動[15]。過程中會遇到對方球員的阻撓,成功越過障礙,到達對方球門,贏得比賽。否則,球會到達對方的隊員,再重復上述過程,直至某一方獲得勝利,比賽結束。
整個比賽過程,其實是由許多小分部組成,每個過程都不可或缺,共同構成足球機器人智能控制體系。足球機器人和足球都屬于不確定性障礙物,它們的形狀確定,但位置不確定,而且可能是靜態(tài)的或者是動態(tài)的,對這些障礙物的避障[16]是研究的重點和難點。
踢球是機器人足球比賽中一個最基本的動作,它是指機器人快速運動到球的位置,從而將球推出去。避障是機器人足球比賽中一個重要的動作,它是指機器人控球運動過程中,躲避出現(xiàn)的障礙,使其成功到達目標點。
本文研究的是單個足球機器人的運動,多個機器人間的競爭關系。比賽通常來說是一個動態(tài)的過程,在一個動態(tài)的系統(tǒng)中,如果每個組成部分都是無序的,不按照一定的規(guī)則來有序地進行,那么就會出現(xiàn)相應的一些問題。道路上車輛不遵守交通規(guī)則,就會出現(xiàn)交通事故;自然萬物如果不遵守達爾文進化論,就會出現(xiàn)畸形,給人們帶來難以估量的后果。所以要遵守規(guī)則,在足球機器人中這個規(guī)則就是控制策略。
足球機器人運動過程中路徑的規(guī)劃也是智能機器人的一個重要的課題,是機器人智能性的一個重要體現(xiàn)。在靜態(tài)環(huán)境和動態(tài)環(huán)境下進行路徑規(guī)劃與實時避障是解決機器人應用的一個非常重要的問題,而動態(tài)不確定環(huán)境下的機器人路徑規(guī)劃則是實際研究與應用的一個重點和難點。在足球機器人中,路徑規(guī)劃[17-18]的目的主要有兩個:一是為了完成制定的動作;二是為了躲避障礙并且實現(xiàn)安全平穩(wěn)的運行。
足球機器人的路徑規(guī)劃有些顯著的特點。
(1)復雜性:機器人足球系統(tǒng)是一個實時的、動態(tài)的復雜多機器人系統(tǒng)[19]。在這種動態(tài)時變環(huán)境中,機器人路徑規(guī)劃非常復雜,且需要很大的計算量。
(2)隨機性:機器人足球是一個充滿對抗的復雜環(huán)境,對方機器人的運動是難以預測的,動態(tài)障礙物的出現(xiàn)也帶有隨機性。
(3)多約束:機器人的運動存在幾何約束和物理約束。幾何約束是指機器人的形狀制約,而物理約束是指機器人的速度和加速度。
(4)多目標:機器人運動過程中路徑性能[20]要求存在多種目標,如路徑最短,時間最優(yōu),安全性能最好,能源消耗最小。但它們之間往往存在沖突。實現(xiàn)起來比較困難了。
足球機器人的比賽是一個多人參與的競技體育運動,比賽過程中,機器人處于不斷運動,不時的變化著運動狀態(tài),是一個在連續(xù)時間內(nèi)不斷變化的過程。這樣時間和運動狀態(tài)之間就不是單純的線形關系,時間和運動狀態(tài)之間就沒有了必要的聯(lián)系,屬于非線性關系。機器人畢竟不能像人類那樣擁有發(fā)達的大腦,可以自由機敏的控制自己的行為。如果繼續(xù)按照原先設定的程序,那么很可能就事倍功半。不僅阻礙自己的隊友,還會無形的幫助對方。所以,需要有一個相對可靠的策略來控制機器人的行為。
傳統(tǒng)方法是需要所有隊員都去追趕足球,最終只有一個機器人搶到足球,這樣,其他沒有搶到足球的機器人的能量就浪費掉。按上述方法,只允許離得最近的機器人去追趕足球,節(jié)省了許多不必要的能量開支。紅色部分就是采用新的策略來進行搶球的,其余藍色的機器人就不會去搶奪足球。搶球示意圖如圖4所示。
圖4 機器人搶球過程圖
本文中將采用WTA(Winner-Take-All)輔助競爭模型,來描述這種在連續(xù)時間非線性的競爭關系。足球運動時,離每一個機器人的距離都不一樣,且為了更方便快捷的控制足球運動,需要找到一個離足球最有優(yōu)勢(距離最近)的隊員來控制足球[21]。并且,足球是一個運動的物體,可以看成一個動態(tài)的系統(tǒng),而且距離足球最有優(yōu)勢的運動員也在無時無刻的變化。這就需要找出最具有優(yōu)勢的隊員來進行控制,從而達到更具有效率。
下面將介紹WTA競爭模型的建立以及針對模型本身的基本分析。
一組中有n個機器人,那么它的第m個機器人有以下的動態(tài)過程。v和s表示的都是向量。下述式子是一個常微分方程模型。
其中vm∈? 表示第m個機器人的速度狀態(tài),sm∈? 代表的是機器人所處的位置與足球之間距離的倒數(shù),并且sm≥0。對于m≠q時,有sm≠sq。表示狀態(tài)向量的歐幾里得范數(shù),而v=[v1,v2,…,vn]T。c0∈? ,c0≥0 是一個比例因子。
通過疊加所有足球機器人的狀態(tài),動態(tài)方程可以寫成如下緊湊形式:
其中v=[v1,v2,…,vn]T,而s=[s1,s2,…,sn]T,操作符°代表分量乘法,s°v=[s1v1,s2v2,…,snvn]T。
對于這個模型可以直觀地解釋了正反饋與負反饋的結果。請注意方程(2)中的項c0smvm提供了狀態(tài)變量vm的正反饋,當sm≥0 時,項-c0‖v‖2vm提供負反饋。對于第m個機器人,如果sm=‖v‖2,保持該值。如果sm <‖v‖2,則正反饋小于負反饋,狀態(tài)值衰減為零。相反,如果sm >‖v‖2,則正反饋大于負反饋,并且狀態(tài)值傾向于盡可能地增大直到‖v‖2的增加超過了sm。特別是對于獲勝者來說,即第k?個機器人,對于所有m≠k?保持sk?>sm。在這種情況下,當sm <‖v‖2時所有機器人都有負面的反饋,并且保持減少值直到‖v‖2減少到值sk,否則,當sk稍微大于‖v‖2(對于稍微大于,意思是sk>‖v‖2>sm其中l(wèi)表示具有第二大狀態(tài)值的機器人),只有贏家有一個正反饋并且狀態(tài)值在增加,而其他所有機器人都是負反饋并且保持減少直到‖v‖2等于sk。在這種選擇性的正負反饋機制下,贏家最終保持活躍在值sk?=‖v‖2而失敗者被抑制為零。
足球機器人搶到足球之后,控制足球朝對方的球門運動,最終使球到達對方的球門?;诒荣惖臋C制,對方一定會去阻攔控球方的行動。對于控球方而言,對方就成為了障礙物,想要贏得比賽就得想方設法越過障礙物。前提肯定不能破壞對方機器人,這樣就不能體現(xiàn)“體育精神”,因此要找到合適的路徑規(guī)避這些障礙物。為了快捷的解決這些問題,本文將采用APF路徑規(guī)劃方法來解決機器人間的避障問題[22]。
傳統(tǒng)的APF算法簡單、快捷,有良好的實時性,在路徑規(guī)劃這一方面應用廣泛,但也存在一些問題,為了解決這些已有的問題,進行了如下的改進。
(1)對于碰到障礙物的問題,可以通過修正引力函數(shù)來解決,避免距離過大導致引力過大。經(jīng)過修改的引力函數(shù)如下:
上式增加了范圍限定。d*goal給定了一個閾值限定了目標和物體之間的距離,本文中取半個機器人大小。對應的梯度也就是引力相應變成:
(2)斥力勢函數(shù)的改進:現(xiàn)有斥力勢函數(shù)的取值,取決于當前點與最近障礙物的距離。在這樣的設計中,如果當前點與兩個障礙物等距,可能會造成機器人在障礙物間的中線上來回跳動。對此,可以重新定義斥力勢函數(shù)為當前點與最近的障礙物點之間的距離,即不考慮障礙物本身的坐標位置,只要障礙物上的某點離當前點最近,就以此距離定義斥力勢函數(shù)。目標點附近有障礙物導致目標不可達的問題,引入一種新的斥力函數(shù)。
這里在原有斥力場的基礎上,加上了目標和物體距離的影響,(n是正整數(shù),本文中取值為2)物體靠近目標時,雖然斥力場要增大,但是距離在減少,所以在一定程度上可以起到對斥力場的拖拽作用,相應斥力變成:
(3)局部極小值問題:人工勢場法有時候會遇到局部極小值問題。在局部極小值點,雖然梯度為零,但并沒有真正到達終點。對這樣的情況,一般引入抽樣規(guī)劃的思想,在局部最小值處加入一個擾動或回溯,以跳出局部極小值,也可以通過引入時間參數(shù)來消除局部最小值的問題。
通過改進斥力函數(shù)和引力函數(shù)的方法,提高了算法的可實用性和效率。給定相應的限制條件,使機器人不會因為引力過大斥力較小的情況下撞到障礙物;也不會因為斥力非常大引力非常小的情況下,機器人無法到達目標點。引入隨機擾動,減少機器人會由于斥力、引力相近而引起的震蕩。
3.1.1 贏者通吃實驗
在本小節(jié)中,將通過仿真實驗來說明機器人動態(tài)產(chǎn)生的贏者通吃現(xiàn)象??紤]兩個方面:一個是靜態(tài)競爭,即輸入值s是不變的;一個是動態(tài)競爭,即輸入s是隨時間變化的。
(1)靜態(tài)競爭
對于靜態(tài)競爭問題,即剛開始比賽過程,雙方都處于靜止狀態(tài)。輸入值s不隨著時間變化。在實驗中,規(guī)定有11 個機器人,即n=11。輸入值s在0 和1 之間隨機生成,而狀態(tài)值v在?1 和1 之間變化。在仿真中,為了使過程更方便、簡單,選取c0=1。然后在MATLAB中進行仿真。
(2)動態(tài)競爭
在這一部分,需要考慮具有時變輸入的情景,即輸入值隨著時間變化。為了使結果加速收斂,考慮一個比較大的比例因子c0=1 000,分別考慮對于m=1,2,3,4,sm(t)=1+sin( 2π(t+0.25m))的4 個值。初始狀態(tài)值v0是在?1和1之間隨機產(chǎn)生。4個輸入值和狀態(tài)變量的絕對值繪制在結果圖中。
3.1.2 避障過程場景模擬實驗
將整個比賽場地虛擬成一個有力存在的場地,把力分為引力和斥力,根據(jù)比賽的進行,場上隊員會發(fā)生變化,因而整個力場中各部分的受力情況也會發(fā)生變化。在足球機器人的周圍,分布著環(huán)狀的虛擬力場,各環(huán)用環(huán)帶顏色深度和環(huán)的斥力系數(shù)來表示,各個足球機器人之間表現(xiàn)為排斥力。
下面將介紹APF 算法的執(zhí)行流程。如前文介紹,足球機器人的動力來自于各個主要作用力的合力。遠方的球門作為機器人的目標點,提供巨大的引力,而機器人控球過程中遇到敵方機器人的阻礙就是斥力,兩種力通過矢量結合成合力,提供動力使機器人運動到距離目標點更近的下一步位置,然后重復此操作,最終達到目標點即可。目標點條件就是合力為零的時候,如果不做此限制,機器人會一直運動。APF 算法流程圖如圖5所示。
圖5 APF算法流程圖
這一部分實驗將用Python 編程語言來驗證。首先設置實驗區(qū)域窗口的大小,確保每次實驗都在固定的范圍內(nèi)進行,也起到了實驗的嚴謹性。然后設置機器人初始位置和目標點位置坐標,定義中心點的大小,即運動過程中的動態(tài)足球機器人;包括中心點的顏色、大小等等。接下來設置障礙物,也同樣包括坐標點、大小、顏色等等;為了使虛擬更加現(xiàn)實,需要在障礙物周圍設置均勻變化的環(huán)繞。再然后畫出中心點引力、斥力和合成力,最后,中心點根據(jù)理論公式方法做出軌跡路線。
為了使實驗更具科學性,本文將采用多組實驗數(shù)據(jù)進行驗證。設置多組障礙物點的坐標位置,模擬球場上出現(xiàn)的多種陣型,也使實驗更加的貼近于實際應用。實驗依次準備三組數(shù)據(jù),這三組數(shù)據(jù)都是在目標點坐標不變的情況,在應用場景中就是指對方球門的位置不變,始終是個定植,也能更好地對應現(xiàn)實場景,只考慮單一變量,即障礙物位置(見表1)。
表1 障礙物坐標表
(1)按照上一節(jié)的WTA 模型實驗步驟,得到如圖6所示運行結果。
圖6 靜態(tài)競爭結果圖
圖中橫坐標代表迭代時間,縱軸是輸出值,代表機器人隨時間變化的狀態(tài)。線條是平滑的曲線,不同顏色的曲線代表不同的機器人,其狀態(tài)在同一坐標系中隨著時間變化而變化。
如圖6 運行結果顯示多次迭代之后第5 個機器人(即輸入值最大的)達到最大值,最接近1,屬于勝利者。其他的都收斂到0,屬于失敗者,它們的活動將受到限制,不會與勝利者再產(chǎn)生競爭。
實驗結果顯示,輸入值s 的初始值s_5=0.722 9 是最大值,通過前面介紹的模型計算出的結果才能最接近1,達到最大值。初始值最大,則其倒數(shù)最小,對應足球機器人比賽中,就是機器人和足球的距離最近。離球最近的機器人先去踢球,其他的就原地待命,不會影響控球機器人的運動,使整個團隊看起來井然有序。這樣做符合前期的預想,可以節(jié)省足球機器人的能量,也減少了因為搶球過程中碰撞造成機器人本身的損傷。
(2)按照動態(tài)競爭實驗步驟執(zhí)行,得到如圖7 的運行結果。
圖中橫坐標表示的是時間,縱坐標從上到下依次為輸入值s、機器人1 的狀態(tài)值、機器人2 的狀態(tài)值、機器人3的狀態(tài)值、機器人4的狀態(tài)值。最上面第一幅圖是4個機器人輸入值s 隨時間變化的曲線圖,下面4 幅圖是以第一幅圖為基礎,利用第一幅圖得到的某一時刻的輸入值來計算出輸出值。從圖中可以清晰看出,能夠實時找出最大的獲勝者,也達到了預期的猜想。足球機器人在運動過程中,只要知道機器人與足球之間的距離,就能隨時找到勝利者,更容易的去搶足球。雙方也不會造成比賽過程中的混亂場景,加快搶到球的幾率。
圖7 動態(tài)競爭結果圖
(3)根據(jù)上述實驗方法,進行了實驗,為了使實驗過程的變化更加的清晰,從動態(tài)場景中選取具有代表性的幾張動態(tài)圖進行展示.實驗結果如圖8所示。
圖8中,漸變色的紅色區(qū)域是障礙物所在位置以及周圍存在的“力場”,顏色的深淺代表力大的強弱。右上角的藍色圓點代表最終的目標位置,中間帶有許多不同顏色的箭頭的藍色實心點是目標點,即控球的足球機器人,帶箭頭的線代表不同的受力。
這6張圖都是選在同一障礙物坐標位置的6個不同關鍵過程的圖形,可以更加直接地了解目標點的運動過程,也能可以更加清楚地看到目標點運動過程的受力變化,真正實現(xiàn)一個動態(tài)時變的過程。
分別對障礙物坐標進行不同的設置,根據(jù)目標點運動軌跡的坐標點畫出散點圖,并與經(jīng)典算法進行對比實驗,結果如圖9~11所示。
圖中藍色曲線代表的是足球機器人的最終路徑,紅色的漸變圓是障礙物的影響力,顏色深淺代表障礙物力的大?。患t色線代表是經(jīng)典算法得到的路徑,綠色線代表改進后的算法得到的路徑。圖9 是針對能否碰到障礙物做的對比仿真圖,通過改進之后機器人能夠繞開障礙物,不會因為引力太大直接撞到障礙物停止運動。圖10描述的是目標機器人能否到達最終球門,通過改進之后機器人可以到達最終球門,不會造成路徑的不完整。圖11 描述的是兩種算法的震蕩程度的對比,通過改進之后,震蕩程度減小了很多,也使路徑更加平滑。
圖8 運動過程分解圖
圖9 能否碰到障礙物結果對比圖
圖10 能否到達目標位置結果對比圖
圖11 振蕩幅度結果對比圖
這幾張圖的結果是由于障礙物坐標的不同而形成的,因為障礙物形成的區(qū)域不同,障礙物對機器人的斥力也就不同,即使目標點對機器人產(chǎn)生的引力相同,也會由于合力的不同從而產(chǎn)生不同的路線。從圖中可以看出,機器人針對不同的障礙物布局,可以智能地采取合適的路線進行有效躲避,成功到達目標點位置,避免了與對方的“摩擦”,從而也減少了機器人昂貴的維修費用,其簡單實用,能更便捷地達到目的。
本文描述的是足球機器人運動的運動過程,較傳統(tǒng)方式更加完整。通過WTA連續(xù)時間非線性輔助競爭模型來解決多機器人爭奪足球的過程,相比傳統(tǒng)的方式,能夠實時找出離足球最有優(yōu)勢的機器人,搶先控制球,也能節(jié)省非必要的機器人的能耗。然后在躲避其他機器人的過程中,采用改進的APF 路徑規(guī)劃算法,成功有效地躲避障礙,找出合適的路線,成功到達目標球門。實驗結果也驗證了猜想,使理論更加嚴謹,也為將來更智能化的足球機器人運動過程研究提供了基礎。