吳志安,賴永朋,朱有亮,李德榮※
(1.廣東海洋大學機械與動力工程學院,廣東 湛江 524088;2.廣東海洋大學數學與計算機學院,廣東 湛江 524088)
近年來,隨著科學技術的高速發(fā)展,在處理復雜問題方面及進行復雜任務時必須借助現代的科學智能工具。與此同時,隨著物理硬件的進一步研發(fā)和普及率的提高,智能體技術也在蓬勃發(fā)展,并向著大規(guī)模、自動化方面前進。而由于實施目標任務時執(zhí)行環(huán)境具有較高復雜性,出于成本、安全等因素的考慮,智能控制系統(tǒng)越發(fā)受到關注,尤其是對多智能體控制系統(tǒng)的相關問題研究和探討。相對與單智能體系統(tǒng),多智能體系統(tǒng)具有巨大優(yōu)勢[1]:多智能體系統(tǒng)可以完成更多對于單智能體系統(tǒng)而言,無法完成或者完成難度高的任務;也可以以集群方式協(xié)同合作完成目標任務,而對于比較復雜的任務,則可以通過分治思想分成若干個小任務,再合理分配給系統(tǒng)的相應小個體,從而提高任務的執(zhí)行效率;還可以通過改變編隊和任務分配來實現功能上的可重塑性,從而提高控制系統(tǒng)的容錯率和目標任務的完成率。多智能體系統(tǒng)需要考慮協(xié)同問題,與社會科學和生命科學可以相互借鑒與發(fā)展。
多智能體系統(tǒng)有著諸多優(yōu)點,但依然有多個關鍵技術需要優(yōu)化[2]:多智能體系統(tǒng)集群在復雜環(huán)境中的約束建模;多智能體系統(tǒng)集群的通信問題;面對多任務,系統(tǒng)集群的任務分配問題;面對協(xié)同合作,系統(tǒng)集群的隊形控制與避障問題等。
目前關于產業(yè)集群管理算法的研究也已相當多,整體上可以分為兩大類,集中式與分布式。集中式如混合整數線性規(guī)劃計算、遺傳算法[3]、蟻群計算[4]、粒子群算法等。遺傳算法的核心理念是進化論,通過模仿自然界生物進化機制而開發(fā)出來的隨機全局檢索與優(yōu)化技術,借鑒了達爾文的進化論理念與孟德爾的基因概念,但使得其存在隨機性,導致在任務求解時會產生劣質結果,而且計算的準確度往往并不高;粒子群算法主要使整個運動過程依賴于目標個體間的數據獲取,以尋求任務最佳解,但也決定了該算法易于陷入的局部最優(yōu)問題。以上算法是集中式算法的典型,對控制中心節(jié)點依賴高,運用在汽車集群或者低維控制系統(tǒng)效果卓越,但對于無人機集群或者多機械臂運作等高維空間時,因通信技術以及經濟等因素無法滿足該類控制中心節(jié)點的建立。所以本文同時對分布式算法進行了探究。不同于傳統(tǒng)集中式控制系統(tǒng),分布式控制系統(tǒng)中智能機體之間以數據鏈技術為基礎,根據任務目標環(huán)境、任務目標群信息,機體狀態(tài)信息等進行相互作用,并綜合考慮各種因素,制定具體的方法解決任務指派問題和具體步驟。常見算法有長僚機編隊算法、集群行為分析算法、虛擬結構算法等。相比于傳統(tǒng)集中式計算,智能體在以上算法控制系統(tǒng)下具備了更強的實時性、抗干擾能力等優(yōu)勢,并能夠應用在動態(tài)環(huán)境、中等規(guī)模和大型系統(tǒng)中。本文將進一步闡述這些算法的異同和實用性。
多智體操作系統(tǒng)(Multi-Agent System,MAS),開始于20世紀的70年代,是一種實現復雜分析和建模的思維方式和工具,現在的確已形成了AI算法的一個重要研究領域和研究重點。MAS是由許多個多智能體構成的復雜體系,其目標是把大而復雜的體系構建成小的、彼此互相聯(lián)系與配合的、便于管理的復雜體系,而且各個智能體能夠具有獨立意識,而且每個智能體能夠擁有獨立意識,并且要求有獨立完成任務的能力,同時為了解決更復雜的問題,還要學會和其他智能體的協(xié)同合作[5]。由于單智能體因自身個人能力的限制以及自身資源上的不足,面對多目標、多任務問題表現得不盡如人意。近20年來,很多研究機構和學者都加大了對多智能體系統(tǒng)的開發(fā)和研究,以MAS系統(tǒng)為基礎的多智能體協(xié)同控制研究便是一大熱點。將多智能體視為一個整體,盡可能發(fā)揮其作為整體的特點,從而面對外面復雜多變的環(huán)境中,MAS能快速響應外界環(huán)境的動態(tài)變化,靈活應對,能夠高效完成任務,是MAS的主要研究目標。需要注意,同是多智能體的協(xié)同合作,機算機領域的多智能體強化學習和控制領域的多智能體協(xié)同的一致性差異是很大的,而本文更多是對控制領域進行闡述說明。
多智能體系統(tǒng)是智能體技術運用和研發(fā)上的一次質變,各個行業(yè)的專家與學者們對其展開了廣泛地研討,并從多種視角介紹了多智能體系統(tǒng)應用處理現實問題時的優(yōu)點,歸納起來,主要有以下幾點[6]。
(1)在多智體系統(tǒng)中,每個智體都擁有獨立性和自主權,可以處理給定的子課題,獨立地判斷和策劃并確定相應的對策,或以一定的方法影響周圍環(huán)境。
(2)多智能體系統(tǒng)由于支持分布式運行,所以擁有良好的模塊性、易于擴容和在設計上靈活性簡單,克服了建立一個大規(guī)模的體系所帶來的管理和擴展方面的問題,還可以有效減少信息系統(tǒng)的總成本。
(3)在多智體系統(tǒng)的實現過程中,并不追求一個大規(guī)模的復雜系統(tǒng),而要按面向對象的方式構建各層次、多元化的智慧體,其結果既減少了系統(tǒng)的設計復雜度,也減少了各個智體問題求解的復雜性。
(4)多智體系統(tǒng)是一種講究協(xié)調性的復雜體系,各智體必須通過相互配合才能處理大量的復雜現象;多智能體信息系統(tǒng)也是一種集成系統(tǒng),其通過信息集成技術把各個子系統(tǒng)的數據整合到一起,從而實現復雜系統(tǒng)集成。
(5)在多智體系統(tǒng)中,各智體間彼此聯(lián)系,相互配合,并行地解決難題,從而可以有效地增強難題的解決能力。
(6)多智體技術突破了傳統(tǒng)人工智能技術領域中僅使用一種專家系統(tǒng)的局限,在MAS環(huán)境下,各應用領域的各個專家可以協(xié)同解決專家無法很好處理的問題,從而增強了系統(tǒng)處理問題的能力。
(7)智能體的異質的和分布的。它們可以是不同個人和組織,采用不同的設計方法和計算機語言開發(fā)而成,因而可能是完全異質的和分布的。
(8)異步處理。因為各智能體是高度自治的,所以各個智能體都有自身的進程,可以根據自身的工作方式異步地完成。
目前,多智能體控制系統(tǒng)已經在飛機的編隊、傳感器網絡、大數據融合、多機器臂的協(xié)同裝備、并行計算、多機器人協(xié)同管理、交通車輛管理、互聯(lián)網的資源分配等多方面應用。
自麥克斯韋的《論調速器》開始,控制理論從只能處理單輸入單輸出(Single Input Single Output,SISO)系統(tǒng),發(fā)展成熟為可以應對復雜的多輸入多輸出(Multiple Input Multiple Output,MIMO)的控制[7]。典型的單輸入單輸出(SISO)系列:單輛賽車(車體控制系統(tǒng)),輸入為“賽道”,輸出為“路線”。典型的多輸入多輸出(MIMO)系統(tǒng):賽車比賽(如F1賽車錦標賽),輸入為“賽道+排位”,輸出為“路線+方向控制”。從以上兩個實例可知,多智能體協(xié)同控制方面的主要兩種通信方式為集中式控制和分布式控制。
集中式算法,系統(tǒng)的規(guī)模比較小時,集中式控制方案是一種高效的解決方式。通常應用在于環(huán)境變動較小,目標已明確且主體機器人功能突出的特殊情景,比如:疫情期間利用無人機和智能小車往小區(qū)派送物資等。顧名思義,集中式算法本質可以看做是集中式控制:僅有一個控制中心,有一個或多個執(zhí)行器[8]。如圖1所示,該算法中有一個協(xié)調者,不管何時某個進程需要加入臨界點區(qū),它都要給協(xié)調者發(fā)出一條請求消息,表示對它希望加入下一個臨界點區(qū)域的請求許可。若當前尚無其他進程在該臨界區(qū),協(xié)調者將發(fā)出許可進入的應答消息。
圖1 多智能體集中式控制算法
優(yōu)點:如果沒有進程,會處于永遠待機狀態(tài)(不會出現餓死的情況);易于實現,因為每次通過一個臨界區(qū)域僅需要3個消息(請求、允許和釋放);不但可以用來管理臨界區(qū)域,還能夠進行更一般的資源分配。
缺點:如果協(xié)調者是一個單獨的故障節(jié)點,一旦它崩潰了,整個網絡系統(tǒng)也可能崩潰。在通常情形下,一旦進程在發(fā)出請求之后被阻止了,則請求者將無法分辨“拒絕進入”和協(xié)調者操作系統(tǒng)已經崩潰這二者狀況,因此在上述的二者狀況下均不會消息返回。另外,在體量很大的操作系統(tǒng)中,對于一個協(xié)調者會形成性能的瓶頸。
面對問題規(guī)模小、自由度低的集群任務,顯而易見,集中式分布算法可以快速高效地控制機器集群完成任務[10];可一旦問題規(guī)模擴大,外來不可控因素增加,例如:城市里智能物流小車的快遞派送,無人機群通過森林或未知環(huán)境探索等任務時,通過增加對自由因素的變量監(jiān)控管理,不僅會造成集中式控制系統(tǒng)算法冗雜,增加算力負擔,而且降低任務完成效率,提高控制成本,并且集中式分布有一個致命弱點,集中式分布算法系統(tǒng)成型簡單,但修改困難,一旦核心算法與目標任務出現差別,系統(tǒng)就會陷入奔潰,無法繼續(xù)執(zhí)行任務。這些問題違背了多智能體系統(tǒng)建立的初衷,所以分布式集群控制算法更為穩(wěn)定和靈活多變,被人使用。
分布式控制器是沒有系統(tǒng)控制的中心點,而是利用相鄰個體間的交互協(xié)調進行消息交換,最終實現總體的編隊行為,既然不是系統(tǒng)中心,分布式控制器就具備了很大的靈活性,能夠動態(tài)的改善控制網絡系統(tǒng)的整體架構。所以對比集中式控制后,采用分布式控制策略使得集群系統(tǒng)具有可擴展性、魯棒性、適應性等優(yōu)點。以無人機編隊為例,在分布式控制中,無人機編隊系統(tǒng)中的個體只需要和領域的無人機進行通信,通信數據和通信鏈路較少,控制方法極為方便,能夠進行無人機編隊系統(tǒng)中的無人機的刪減和增加,實時調整編隊工作狀態(tài)。
如圖2所示,以無人駕駛飛行器群為例,UAV1的無人機指揮官,在整個無人機編隊中起著指導與管理的重要角色,指導整個隊伍沿著既定軌道航行,從而獲得預期的目標定位,并與地面中心進行實時通訊。UAV2、UAV3作為跟隨機與地面站保持聯(lián)系,不斷地接受無人指揮中心的指揮,且2、3之間進行實時通信,達到分布式控制的目的。了解分布式結構后,下面將闡述基于分布式控制的幾種控制算法。
圖2 集權分布式算法結構
(1)基于長機-僚機的分布式編隊控制方法
長機-僚機法的基本思想:leader-follower機制,既然集中式分布中一個核心失控風險過多,那就多布置幾個核心,并為核心機體分級控制,保證優(yōu)先度和避免機體互相沖突。在多智能體集群組成的群體中,某架機體作為整個編隊的領導者(長機),并作為第一優(yōu)先級,向第二優(yōu)先級(第二階梯僚機)傳送信息,以此類推,各僚機分別向比自己低一級的僚機傳送信息,完成多智能體間的信息通訊,達到隊形控制的目的。如圖3所示。但這種控制方法雖然增加了一定穩(wěn)定性,卻同樣魯棒性較差,沒有精確的隊形反饋,一旦長機出現問題,系統(tǒng)信息傳送不到位,那么整個系統(tǒng)就會處于癱瘓狀態(tài)。為了解決這種控制方式產生的弊端,提出leader-candidate-follower機制,通過從candidate中選舉產生下一任長機,故此來彌補魯棒性差這一問題,從而實現編隊的穩(wěn)定飛行[11]。
圖3 長機-僚機模式
Raft算法實現:長機-僚機法技術的好處是編隊控制結構簡單,且容易實施,在編隊時只需確定領航員的目標方向或其他行為,然后跟隨者再以所設定的方向或偏移跟蹤領航員,即可完成編隊管理。因此,領航者-跟隨者方案也在實際工程中被應用了。但該方案的不足之處是編隊系統(tǒng)仍然依賴領航員,各機體的自由度亦然不高。
(2)基于集群行為的分布式編隊控制
基于行為法的分布式控制系統(tǒng),主要是指一個先果后因的運動控制方式,思想可以是通過對智能體系統(tǒng)實施調控功能后所期望形成的總體活動模型,也可以通過對各種智能體的個體活動規(guī)律以及局部運動監(jiān)控方法加以設計,由于該種方法的每個個體都自成控制中心,可以對復雜的外界環(huán)境隨機應變,但要求每個個體的算力處理有一定要求,所以常常特定用于無人機集群的避障處理。如圖4所示,通常將每個無人機的動作行為,如同于“庫函數”一樣存放在編隊控制器中,當控制系統(tǒng)工作時,隨著環(huán)境信號和控制指令的改變而進行一定的動作方式,如避障、隊型組成、隊形轉換、方向運動等。例如,對于從障礙區(qū)駛出的情況,該方法是直接放任編隊打散,利用每架無人機的避障能力通過障礙區(qū)。這種方法中只要單架無人機有避障能力即可實現。但每架無人機通過路徑長度差距難以預估,駛出障礙區(qū)時長的不同可能導致無人機重構成完整編隊較為困難,甚至由于缺乏路徑規(guī)劃能力,有些無人機可能陷入死局點,無法駛出區(qū)域,所以對每架飛機的智能識別算法不僅要以自身坐標原點,還要以其他飛機為輔助參考系,才能保證編隊的完整性[12]。與領航跟隨者不同之處在于,該方法中的協(xié)作作用是通過無人機之間的位置、狀態(tài)輸入值等信息的共享來實現的。每架無人機僅需要知道相鄰無人機的信息即可,因而大大減少了信息的收集,同時大大降低了計算量,系統(tǒng)實現也較為簡單。劣勢在于很難描述群體的動態(tài)特征,也無法實現精準操控,且隊形所保持的穩(wěn)定性也不易控制。
圖4 基于行為法示意圖
(3)基于人工勢場法的分布式編隊控制法
人工勢場方法最早由Khatib提出,運用在控制機器人避開障礙的情境中,其在移動機器人上的應用有著很好的效果。人工勢場法的基本理論可解讀為:如圖5所示,機器人在一個具有勢場的空間中移動,將在空間中目標點看作一個具有吸引力的極點,將在空間中的障礙物看作是具有斥力的點,機器人在空間內同時受到引力和斥力,其按照受到的合力場移動。環(huán)境中的障礙物會對無人機體產生排斥力,而目標點對無人機體產生吸引力,導致無人機體向最小勢能方位移動。
圖5 人工勢場法示意圖
(4)粒子群優(yōu)化算法
粒子群優(yōu)化算法(Particle Swarm Optimization,PSO),是一類經典的群集行為最佳優(yōu)化算法。在集群中所有個體并不具有比較強的力量,而是所有個體根據簡單的運動規(guī)律來形成自發(fā)的群體行動。在1995年,Kennedy和Eberhart4提出了PSO算法的原型,假定有一鳥群在同一塊草坪上搜尋食物,并把每一只小鳥的位置看成一組在整體空間中的某個解,即是某個微粒,而小鳥群即是粒群。
如圖6所示粒子群中,每個粒子在當前地點時都會通過評價指標確定這一地點上的適合度,同時通過環(huán)境信息計算出其包括速度和航向的速度向量,從而在下一輪周期循環(huán)中再根據上述消息修改自身定位。粒子群算法首先在第一輪生成一組規(guī)定范圍內隨機位置的粒子,對粒子適應度進行評估后,粒子向適應度更高的粒子方向前進更新位置,如果找到比過去幾輪解集中最優(yōu)解的解則更新當前最優(yōu)解,通過多次迭代優(yōu)化解,最終得到整組粒子的最優(yōu)解。相對于以上幾種算法,粒子算法是整體最優(yōu)算法,但問題規(guī)模較小時成效反而不理想。
圖6 粒子群算法圖解
(5)基于虛擬結構的分布式編隊控制方法
虛擬結構法(Virtual Structure)[5]的主要思路是把整個多智體系統(tǒng)都視為一個總體結構,也就是把一個剛性的虛擬結構中的每個智能體都視為剛性結構中的一個單位。當整個系統(tǒng)完成編隊時,隊形中每一點的相對方位都會改變,但點和點間的相對位置卻保持不變。虛擬結構法問題其實是整個多智能體系統(tǒng)跟蹤一個虛擬點的問題。比較于其他方式,虛擬結構法有很多好處:編隊誤差的引入使得系統(tǒng)的控制精度更高;各個智能體之間的通訊協(xié)議較為簡單。針對多無人機編隊控制問題,提出了一種基于虛擬結構法的非線性魯棒控制算法。在充分考慮了多無人機在近距離編隊航行時,相互間的氣流干擾等因素的同時,還開發(fā)了一個supertwisting的魯棒控制算法,因而大大提高了編隊管理系統(tǒng)的控制精度和安全性。使用了Lyapunov穩(wěn)定性分析,證實了位置跟蹤誤差可以在有限時間內收斂到光滑模面,從而獲得了閉環(huán)系統(tǒng)全局漸近穩(wěn)定性的結果。把無人機的編隊視為一個剛性的虛擬結構。如圖7所示,每個無人機可以看作在這個虛擬結構中一個固定的點。編隊中的無人機個體通過進行追蹤并保持在虛擬結構上的穩(wěn)定位置點就能夠實現設計好的編隊空中巡檢路線。以虛擬結構為框架,通過在編隊控制算法計算中加入隊形反饋,相鄰的離散編隊控制器能夠相互之間實現通訊與消息傳遞,使編隊控制器也能夠自由調節(jié)編隊的速度快慢,又能很好的保持隊形。
圖7 基于虛擬結構的控制算法
多智能體系統(tǒng)協(xié)同控制算法起源于計算機領域關于分布式計算的研究,后由于數學家們的強勢加盟,控制領域的研究一度占領高地。隨著人工智能的發(fā)展,以多智能體強化學習為代表作的多智能體系統(tǒng)系協(xié)同控制算法更攀巔峰。目前,每年多智能體相關的論文的都浩如煙海,而在目前的研究中,許多學者的多智能體算法都過于單一,雖然對于特定的執(zhí)行環(huán)境和特定的智能體集群有著不可比擬的切合度和權威性,如無人機避障、物流小車規(guī)劃、地下蟻群規(guī)劃等,但這些算法的研究對整個的多智能體控制領域而言缺乏泛用性,給對多智能體控制領域的入門提高了不少門檻,本文則從多智能體控制的兩種思想,集中式控制和分布式控制來闡述了集群控制算法的核心思想,并探討了這些算法的適用條件。在集中式控制系統(tǒng)中,要求運行人員提前制訂任務分配方法和對各智能體的行動路徑設計,由機體本身決策功能強弱,完全取決于行控中心節(jié)點所提出的任務指令和目標執(zhí)行情況。其好處是任務分配計算的實現簡便,且具有產生全局最優(yōu)預測解的能力。由于這種控制結構適合于有確定環(huán)境,規(guī)模相對較小的控制系統(tǒng)。而對于分布式控制系統(tǒng),由于各個智能體都被視為擁有決策功能的機體,這種多任務分配問題將演變?yōu)椴煌悄荏w對任務的分配決策問題。整體框架:分布式任務分布—多任務聚類—集群控制框架,可解決集中式分布在任務分配后集群網絡中各節(jié)點的聚類問題,從而提高多智能體控制系統(tǒng)的穩(wěn)定性和可塑性。而對于實際而言,需要用到多智能體控制集群往往執(zhí)行環(huán)境難以預測和任務復雜,所以設計控制算法時,分布式為更優(yōu)解。