黃兢誠
(香港中文大學,香港 999077)
多車輛協同控制的研究始于20世紀70年代。主要研究內容是如何組織多車輛系統完成給定的任務。近年來,世界上許多研究機構都在這一方向上取得了一定的成果。研究重點主要在以下四個問題:共識、群集、群集控制和編隊控制。
本文主要研究基于勢函數的多車輛編隊控制方法。目標是使多車輛系統達到:一是到達指定位置;二是避免車與車、車與障之間的碰撞?;谲囕v的物理模型,構建合適的系統勢函數,以使得系統最后能夠收斂。使用Lyapunov理論驗證了系統的穩定性,最后使用matlab進行了軟件仿真。
勢函數是在20世紀90年代提出的一種虛擬力場的方法,旨在構造一個人工勢場,對場內的車輛或智能體進行控制。在場內,目標位置對車輛產生虛擬引力,引力方向從車輛指向目標位置,引力大小與車輛和目標之間的距離成正相關;障礙物或其他車輛對控制車輛產生虛擬斥力,斥力方向從障礙物指向控制車輛,斥力大小與障礙物和控制車輛之間的距離成反相關[1]。

圖1 虛擬勢場
對系統中每一個個體進行物理建模。本文使用一階模型,輸入為線速度和角速度,其狀態空間方程為:
部分多車輛系統包含一個主機,多個從機。各從機通過傳感器感知到環境信息后,傳遞給主機,在主機內進行決策判斷,最終下達控制指令給到各從機。也有一些系統是多主機系統,各自個體接收到周圍個體信息后,自我決策。
實際系統中,常需要每一個個體之間都存在信息傳遞。受限于通信方式,存在約束是所有個體需要在一定的區域內行動,保持連接。這就是群集,確保系統的連通性。
如圖2,考慮一個以r0為中心,以R0為半徑的圓形。系統中所有車輛在移動中,必須時刻保持在這樣的虛擬圓形區域內,以保證發送和接受信息的穩定性。

圖2 連通區域
轉換成數學模型即:
其中,di0是個體i和限制區域中心圓點r0的距離;rα是個體車輛的物理半徑。由于限制區域的半徑R0和個體車輛的物理半徑rα是常量,使用R=R0-rα代替。
使用Ci0表示個體距離限制區域邊緣的距離,簡化后的模型即:
基于此,我們可以構造連通性邊緣的斥力勢函數為:
為了使得系統收斂,使用梯度構造目標坐標的引力勢函數,結合上述斥力勢函數,可得:
使用梯度函數的原因在于:1.當Ci0接近于0時,即控制個體i即將超出限制區域時,斥力bi0(ri)將會趨近于無窮,阻止其沖出;2,當個體i坐標接近目標坐標rid時,即到達指定區域,那么綜合勢函數ri0(ri)將會趨近于0,不再有任何方向的勢力,使其可以收斂。
此外,式中的bi0(ri)的梯度表達式在此處給出:
為了確保得到一個可以使用Lyapunov理論的正定函數,對其采取平方:
當系統中多個車輛在移動時,有必要對整個系統進行協調控制,避免車與車之間的碰撞[2]。
圖3是個體i與個體j之間的物理距離示意圖。為確保兩者之間不發生碰撞,需要確保其質心之間的距離大于兩者半徑之和。此處以圓形代替真實的車輛尺寸,在實際中,可以以車輛表面任意兩點連線中最長的距離,作為本文圓形模型的直徑,即可達到一樣的避撞效果。使用dij表示二者質心的距離,約束可以用數學模型表達為:

圖3 避撞示意圖
使用坐標表示,則有約束:
可以構造同樣的斥力模型:
為使得系統能夠收斂,定義勢函數為:
最后將其平方,得到正定函數,同時乘以系數ρ:
該系數ρ是取決于二個個體間距離的權數參數,當超出一定距離,可以忽略該斥力;當距離太近時,權數增加到1,斥力充分發揮作用,避免碰撞;當距離由遠及近或由近及遠,斥力呈現出平穩的變化趨勢。
結合上述保持連通性和避撞的約束條件,整合出每個個體i完整的勢函數方程:
為計算方便,將其歸一化:
基于勢函數,可以計算得到控制方向和大小。針對每個個體i給出控制率:
其中,ki和λi是控制參數的比例系數,而控制合力的方向,由勢函數求偏導后給出。
該系統的穩定性在2.6小節中由Lyapunov理論證明。
存在類Lyapunov函數Vi,基于此求導有:
引入梯度向量,可得:
將其帶入Vi:
當個體i到達目標坐標時,即ζi=0,顯然Vi值也為0。為避免存在某一點非目標坐標的其他坐標rγ使得廣義梯度朝各向都是0,引入系數α∈[0,1]:
那么動態方程可以轉化成:
其中β∈[0,1],ui≥0。簡化后得:
因此,當且僅當個體i到達目標坐標時,才會收斂到0,ui也同步收斂。
將目標坐標帶入表達式,即ri→r0時,可表達為:
本文使用matlab進行了2次仿真。搭建的系統中一共設置了13個個體,分別有各自的初始坐標和目標坐標。在仿真開始后,它們將在勢函數的作用下,朝著指定位置前進,同時保持連通性和避障。此外,在第15秒時,目標位置發生變化,系統需要即時調整,朝新坐標收斂。

記錄過程的圖組中清楚地顯示,在前15秒中,各個體均可以成功到達設置的目標位置;但當15秒調整了目標位置后,存在2個個體無法正確收斂,而是停在了某一平衡點。
原因是出現了局部最小值[4]。在該點,個體在虛擬勢場中受到的引力和斥力是平衡的,合力為0,所以控制率也為0,個體不再移動,達到平衡。而出現局部最小值的原因是避障勢函數不合適,導致系統會存在多個平衡點。為解決這個問題,需要調整避障勢函數。

在此次仿真中,所有個體均能收斂到目標位置,達到所有預期。
本文主要闡述了基于勢函數的多車輛編隊控制方法。通過系統的物理模型,構建出合適的勢函數,使得系統收斂到給定目標,且過程中保持連通性和沒有碰撞發生。仿真結果表明,系統搭建成功。
事實上,勢函數法存在很多問題,例如局部最小值和局部振蕩,但其也有獨特的優勢,如安全可靠、響應快速、控制平滑[5]……關鍵點在于找到合適的勢函數模型,才能夠有一個穩定可靠的系統。