楊慶凱 潘云龍 周勃 劉虹 方浩
1.北京理工大學(xué)自動(dòng)化學(xué)院北京100081
近年來,隨著各國(guó)軍事力量的不斷增強(qiáng),傳統(tǒng)打擊武器已經(jīng)很難滿足作戰(zhàn)需求.為完成更加復(fù)雜的作戰(zhàn)任務(wù),多平臺(tái)協(xié)同編隊(duì)成為越來越重要的協(xié)作方式.
現(xiàn)代戰(zhàn)爭(zhēng)中的陸用運(yùn)動(dòng)體以多系統(tǒng)協(xié)同為主要作戰(zhàn)模式,陳杰等將編隊(duì)控制作為多系統(tǒng)協(xié)同指揮控制中重要的研究方向之一[1].在文獻(xiàn)[2] 中,徐世均等采用作戰(zhàn)決策建模技術(shù)對(duì)編隊(duì)作戰(zhàn)指揮過程進(jìn)行量化建模,不僅保證作戰(zhàn)效果最優(yōu)化,而且該模型具有較好的彈性和較廣的適用范圍,建立了一種適用于各級(jí)海上編隊(duì)的作戰(zhàn)決策模型.在航空作戰(zhàn)任務(wù)中,剛建勛等根據(jù)實(shí)際作戰(zhàn)任務(wù)對(duì)航母編隊(duì)進(jìn)行了能力需求分析,為航母編隊(duì)的集成配置、能力需求論證提供方法指導(dǎo)[3].針對(duì)美國(guó)近年來對(duì)有人/無人協(xié)同作戰(zhàn)在軍事方面的重視,申超等分析了有人/無人協(xié)同作戰(zhàn)中分散編隊(duì)的動(dòng)態(tài)、適應(yīng)性任務(wù)規(guī)劃等技術(shù),為相關(guān)領(lǐng)域軍事發(fā)展提供了參考情報(bào)[4].
多智能體編隊(duì)控制的目標(biāo)一般是指在控制策略的作用下,智能體間通過交互形成期望的隊(duì)形.經(jīng)過多年的研究,已經(jīng)形成了多種控制體系結(jié)構(gòu).最近Ahn 教授在文獻(xiàn)[5]中對(duì)已有研究進(jìn)行了梳理,指出大部分編隊(duì)控制算法可劃分為基于絕對(duì)位置、相對(duì)位置和距離3 種類型.其中雖然基于絕對(duì)位置的方法簡(jiǎn)單易實(shí)施,但是卻強(qiáng)依賴于全局定位系統(tǒng)[6].基于相對(duì)位置的方法對(duì)圖的連通性要求較寬松,但是局部坐標(biāo)系朝向需保持一致[7].近期,編隊(duì)控制又產(chǎn)生了一系列新的成果.Eren 在文獻(xiàn)[8]中較早地討論了基于方位(bearing)的編隊(duì)控制問題,并為輪式移動(dòng)機(jī)器人設(shè)計(jì)了相應(yīng)控制策略.趙世鈺等在文獻(xiàn)[9]中研究了方位角約束下的隊(duì)形唯一性問題,并設(shè)計(jì)了基于方位角的編隊(duì)控制律,證明了系統(tǒng)的全局收斂性.針對(duì)環(huán)形隊(duì)形,王晨等在文獻(xiàn)[10]中設(shè)計(jì)了基于極限環(huán)的控制算法,將編隊(duì)任務(wù)分解為包圍和隊(duì)形生成.謝廣明等將事件驅(qū)動(dòng)的強(qiáng)化學(xué)習(xí)方法用于解決編隊(duì)控制問題[11].
隨著編隊(duì)控制研究的深入,為了更好地適應(yīng)復(fù)雜環(huán)境及動(dòng)態(tài)任務(wù),許多學(xué)者將研究重心轉(zhuǎn)移到了編隊(duì)變換控制.Coogan 等通過構(gòu)造一種稱為“監(jiān)控圖”的拓?fù)?分別基于單邊和多邊交互提出了隊(duì)形伸縮控制算法[12].趙世鈺等還利用智能體間的方位角實(shí)現(xiàn)了隊(duì)形的平移和伸縮變換,證明了變換系統(tǒng)的全局穩(wěn)定性[13].除了上述研究,還有一大類研究利用仿射變換的思想研究編隊(duì)變換問題.在文獻(xiàn)[14]中,Rastgoftar 等將隊(duì)形變換問題建模為齊次形變,借助于物理學(xué)中的連續(xù)介質(zhì)力學(xué)理論設(shè)計(jì)了編隊(duì)控制器.林志赟等就仿射隊(duì)形可鎮(zhèn)定的拓?fù)錀l件給出了嚴(yán)格的理論分析,證明了無向圖下仿射控制問題可解決的充要條件是該無向圖是普遍剛性的[15].在此基礎(chǔ)上,趙世鈺在文獻(xiàn)[16] 中首先給出了仿射定位中的領(lǐng)航者選擇條件,然后分別針對(duì)領(lǐng)航者速度常值和時(shí)變情形,設(shè)計(jì)了仿射編隊(duì)變換控制器.
分布式定位作為分布式協(xié)同控制的基本保障,與編隊(duì)控制密不可分.現(xiàn)有的分布式定位算法根據(jù)測(cè)量變量,大致可分為基于距離、方位角和相對(duì)位置的定位.在基于距離的定位方法中,柴國(guó)飛等考慮了時(shí)變拓?fù)湎碌亩ㄎ粏栴},在一致性估計(jì)和持續(xù)激勵(lì)條件下,解決了單特征點(diǎn)動(dòng)態(tài)定位問題[17].Shames等在文獻(xiàn)[18]中考慮了帶有測(cè)量噪聲情況下的角度可定位條件.在文獻(xiàn)[19]中,Oh 和Ahn 等利用一致性理論,結(jié)合相對(duì)距離和方位角測(cè)量信息,解決了定位和編隊(duì)控制問題.林志赟等在文獻(xiàn)[20] 中也考慮了混合測(cè)量信息下的分布式定位問題,通過建立與質(zhì)心坐標(biāo)相關(guān)的一致線性方程,設(shè)計(jì)了一類迭代定位算法.不久前,韓志敏等在復(fù)拉普拉斯框架下設(shè)計(jì)了僅基于相對(duì)位置和速度信息的定位編隊(duì)聯(lián)合算法,有效融合了定位和編隊(duì)任務(wù)[21].
我們團(tuán)隊(duì)近年來對(duì)基于仿射變換的編隊(duì)控制進(jìn)行了深入的研究.在文獻(xiàn)[22]中,筆者給出了基本的普遍剛性圖的構(gòu)建方法,并針對(duì)一階積分器系統(tǒng)引入了基本的仿射隊(duì)形控制器.在文獻(xiàn)[23]中,筆者討論了隊(duì)形伸縮控制,解決了當(dāng)群體中只有兩個(gè)智能體知悉期望隊(duì)形信息下的編隊(duì)控制問題.進(jìn)一步在文獻(xiàn)[24] 中,攻克了隊(duì)形信息隱含于某一條邊中的情形,提出了一類分布式估計(jì)器,精確地估計(jì)了隊(duì)形伸縮因子,在此基礎(chǔ)上完成了控制器的設(shè)計(jì).筆者還在文獻(xiàn)[25] 中探討了應(yīng)用仿射隊(duì)形控制,智能體交互圖需滿足的條件以及該類拓?fù)涞脑O(shè)計(jì)方法,并將其應(yīng)用于編隊(duì)控制中.
無人機(jī)間的通信/交互關(guān)系用無向圖來描述.集合v= {1,2,···,n} 和集合ε ?v×v分別表示無向圖g中的點(diǎn)集合和邊的集合.當(dāng)且僅當(dāng)點(diǎn)i和點(diǎn)j是彼此的鄰居時(shí),圖g存在一條邊(i,j).與點(diǎn)i相鄰的點(diǎn)集合由Ni= {j|(i,j)∈ε} 表示.將一個(gè)無向圖嵌入到歐式空間中,該圖便有了相應(yīng)的位形,由q= [qT1,···,qTn]T表示.如果q中的坐標(biāo)在有理數(shù)范疇內(nèi)是代數(shù)無關(guān)的,則稱位形q是一般的(generic).由圖g和該位形q組成的二元組構(gòu)成了一個(gè)結(jié)構(gòu)(g,q).
一般結(jié)構(gòu)的剛性可以用應(yīng)力矩陣來表征.將標(biāo)量ωij賦值給結(jié)構(gòu)(g,q)中的邊(i,j),并且用向量ω = (···,ωi j,···)T∈Rm表示邊應(yīng)力的集合.當(dāng)ω 滿足下式時(shí)
稱ω 為結(jié)構(gòu)(g,q)的一個(gè)平衡應(yīng)力系數(shù).式(1)寫成緊湊形式為
其中,? ∈Rn×n為應(yīng)力矩陣,定義為
在一般位形下,當(dāng)應(yīng)力矩陣? 的秩為n?d?1且? 半正定時(shí),則結(jié)構(gòu)(g,q)是普遍剛性的.
接下來,在這里介紹關(guān)于位形q的仿射變換,定義為
或等價(jià)寫成
其中,實(shí)矩陣M表示旋轉(zhuǎn)和伸縮變換,b表示平移變換.結(jié)合式(1)和式(4)可得
易知,在仿射空間中,平衡應(yīng)力不會(huì)隨著隊(duì)形的伸縮、旋轉(zhuǎn)或者平移發(fā)生改變.
Crazyflie 2.0 是一款微型的四旋翼無人機(jī)(如圖1),斜對(duì)角的電機(jī)間的距離為92 mm,帶電池情況下的重量為27 g,適用于室內(nèi)以及集群飛行驗(yàn)證.Crazyflie 2.0 采用了STM32F405RG 和NRF51822 兩款微控制單元.STM32F405RG 內(nèi)核為Cortex-M4,主頻168 MHz,主要負(fù)責(zé)對(duì)傳感器數(shù)據(jù)的采集與處理,控制無人機(jī)的飛行姿態(tài)以及驅(qū)動(dòng)4 個(gè)電機(jī)的旋轉(zhuǎn).NRF51822 內(nèi)核為Cortex-M0,主頻32 MHz,主要負(fù)責(zé)無人機(jī)與地面站之間的通信,管理電源和加載啟動(dòng)任務(wù)等輔助功能.該芯片支持藍(lán)牙、2.4 GHz 無線通信方式,能夠?qū)崿F(xiàn)無人機(jī)與手機(jī)、電腦等設(shè)備間的通信.Crazyflie 2.0 裝有MPU9250 和LPS25H 兩款傳感器,能夠有效保證無人機(jī)飛行過程中的穩(wěn)定性.MPU9250 內(nèi)部集成有3 軸陀螺儀、3 軸加速度計(jì)和3 軸磁力計(jì),用于對(duì)無人機(jī)角速度、加速度以及偏航角的測(cè)量.LPS25H 是一款氣壓傳感器,可以有效防止螺旋槳在旋轉(zhuǎn)過程中引起氣流變化而引起的氣壓變化.Crazyflie 2.0 上標(biāo)準(zhǔn)電池容量為170 mAh,有效飛行時(shí)間為7 min.
圖1 Crazyflie 2.0 微型無人機(jī)
由于無人機(jī)本身重量較輕,處理器的性能也較弱,無法安裝GPS 或攝像頭來實(shí)現(xiàn)自身的定位.MOTION ANALYSIS 動(dòng)作捕捉系統(tǒng)由一組若干個(gè)動(dòng)作捕捉攝像頭(如圖2)、動(dòng)作捕捉軟件Cortex(如圖3)以及動(dòng)作捕捉附件組成,有著非常優(yōu)秀的性能,可以在室內(nèi)實(shí)現(xiàn)毫米級(jí)精度的定位.通過給無人機(jī)貼上光學(xué)反光球型標(biāo)記點(diǎn),可以使用MOTION ANALYSIS 動(dòng)作捕捉系統(tǒng)來間接追蹤無人機(jī)的位置.另外,需要一臺(tái)電腦安裝配套的動(dòng)作捕捉軟件Cortex 來獲取球型標(biāo)記點(diǎn)的位置.官方推薦的電腦配置為4 核3.2 GHz CPU,8 GB 內(nèi)存,Windows 7 (64 位)操作系統(tǒng),顯存容量256 MB.
地面站上裝有Crazyradio PA,Crazyradio PA 是一個(gè)2.4 GHz 的USB 無線電適配器,能夠傳輸32 個(gè)字節(jié)的數(shù)據(jù)包,傳輸速率高達(dá)2 Mbit.通過該無線電適配器,地面站能夠獲取無人機(jī)的狀態(tài)、信號(hào)強(qiáng)度以及機(jī)載傳感器的數(shù)據(jù),并向無人機(jī)發(fā)送控制指令以完成各種復(fù)雜的飛行任務(wù).地面站上裝有ROS Kinetic 機(jī)器人操作系統(tǒng),用于實(shí)現(xiàn)對(duì)無人機(jī)的控制.ROS 支持C++ 和Python 等多種編程語(yǔ)言,我們的控制代碼均在該框架下運(yùn)行.另外為了獲取無人機(jī)的位置信息,地面站還需要與安裝Cortex 軟件的電腦處于同一IP 地址下,借由官方提供的SDK,通過TCP/IP 通信協(xié)議獲取動(dòng)作捕捉系統(tǒng)的數(shù)據(jù).硬件結(jié)構(gòu)框圖如圖4所示.
圖2 Motion Analysis 動(dòng)作捕捉系統(tǒng)攝像頭
圖3 Cortex 軟件界面
基于仿射變換的思想,采用的無人機(jī)控制算法如下[26].
其中,ki>0 表示常數(shù),θ2和θ2?分別表示2 號(hào)無人機(jī)與1、3 號(hào)無人機(jī)之間的實(shí)際和期望的夾角,b21和分別表示2 號(hào)無人機(jī)指向1 號(hào)無人機(jī)的實(shí)際和期望的朝向,d?21表示2 號(hào)無人機(jī)與1 號(hào)無人機(jī)期望的距離,d?23表示2 號(hào)無人機(jī)與3 號(hào)無人機(jī)期望的距離,ωi j的設(shè)計(jì)需要滿足式(1).一些符號(hào)的含義示意圖如圖5所示.
圖4 硬件結(jié)構(gòu)框圖
圖5 編隊(duì)示意圖
從控制律中可以看出,僅僅1 號(hào)、2 號(hào)和3 號(hào)無人機(jī)需要知道跟期望的隊(duì)形相關(guān)的信息.1 號(hào)和3 號(hào)無人機(jī)跟2 號(hào)無人機(jī)保持期望的距離,2 號(hào)無人機(jī)負(fù)責(zé)控制期望的角度和朝向.
在實(shí)物實(shí)驗(yàn)中,如圖6所示,首先利用控制律實(shí)現(xiàn)4 臺(tái)無人機(jī)的編隊(duì),形成期望的正方形標(biāo)稱隊(duì)形.
圖6 無人機(jī)的標(biāo)稱隊(duì)形
再改變無人機(jī)間期望的距離、夾角和朝向,實(shí)現(xiàn)隊(duì)形的伸縮、旋轉(zhuǎn)等變換.隊(duì)形的變換過程如圖7所示,無人機(jī)的隊(duì)形依次經(jīng)過拉伸、旋轉(zhuǎn)、再旋轉(zhuǎn)回原位,切變的變換過程.
圖7 無人機(jī)的隊(duì)形變換
本文研究了混合控制變量下的分布式編隊(duì)控制問題,其中兩個(gè)是距離量,一個(gè)是角度量.在考慮具有不同傳感器的異構(gòu)智能體的情況下,這樣的控制設(shè)置很有意義.通過使用應(yīng)力矩陣來利用仿射編隊(duì)控制技術(shù),可以通過控制3 個(gè)無人機(jī)來穩(wěn)定和靈活地改變編隊(duì)形狀.實(shí)現(xiàn)“以少控多”.此外,整個(gè)編隊(duì)的方向可以通過向僅配備有角度傳感器的一個(gè)無人機(jī)加入額外的、基于方位的控制項(xiàng)來控制.實(shí)驗(yàn)結(jié)果表明了該實(shí)物驗(yàn)證平臺(tái)和控制算法的有效性.下一步主要工作:1)進(jìn)一步減少算法中的外部信息輸入,擴(kuò)大算法適用范圍.2)實(shí)現(xiàn)更大規(guī)模無人機(jī)的編隊(duì)實(shí)物驗(yàn)證.