陳嚴波,韓笑冬,姜 斌,程月華
通常將由多顆近距離伴飛的衛(wèi)星協(xié)同完成任務的系統(tǒng)稱為集群航天器.集群航天器是繼星座以及編隊的發(fā)展之后,逐漸興起的一種分布式系統(tǒng)[1].傳統(tǒng)航天器多采用復雜的集中式架構(gòu),具有較長的研制周期,維護較為困難[2].集群航天器繼承了航天器編隊飛行的優(yōu)勢,與此同時,又具有生物集群的特性,因此集群航天器具有更靈活、更快的響應速度、更好的容錯性等優(yōu)點,因此在具有不確性的空間環(huán)境中可以執(zhí)行許多復雜的科研任務.
目前,針對集群航天器的一致性問題、集群構(gòu)型等的研究,已經(jīng)取得了較多的研究成果.一致性控制[3]為集群航天器相對構(gòu)型的設計提供了理論基礎.蜂擁控制[4]通過建立簡單的行為準則,使得集群航天器可以在避免碰撞的前提下保持松散的構(gòu)型.帶領(lǐng)航反饋[5]的蜂擁控制算法可以使得集群跟隨領(lǐng)航星運動,并且可以保證基于局部通訊方式的集群中,每一個航天器的速度最終都能趨于一致.對于航天器數(shù)目較多的集群來說,全局通訊通常需要花費的代價是十分巨大的,例如功耗的增加、信息延時變長,節(jié)點的網(wǎng)絡負擔加重.同時相關(guān)研究結(jié)果表明,即使簡單的相對簡單的模型,當智能體間存在更多的通信時,不一定能取得更快的系統(tǒng)收斂速度,相反還有可能影響系統(tǒng)的收斂性[6].
對于集群航天器來說,希望集群在蜂擁控制的作用下穩(wěn)定時,可以對集群邊界(所有航天器的包絡面)的尺度進行控制,將航天器約束或分散在給定的空間范圍內(nèi).有關(guān)集群邊界控制的研究較少,而對于集群構(gòu)型的研究則較多,有文獻通過一致性算法來維持集群特定的構(gòu)型[7-9],但是這種構(gòu)型通常較為嚴格,不符合集群松散隊形的要求;還有文獻通過橢圓空腔虛擬勢場[10]的方法,將集群限制在橢圓形的邊界上,這種集群控制方法保證了集群在邊界上松散分布,但是造成了橢圓形邊界內(nèi)部出現(xiàn)“空洞”的現(xiàn)象,即集群內(nèi)部邊界以內(nèi)不存在個體.文獻[11]中使用軌跡跟蹤誤差設計出相應的控制率來實現(xiàn)無人機群的編隊控制,但這種控制方法對個體數(shù)目較多的集群來說難以實現(xiàn).文獻[12]提出了航天器群運動過程中的邊界問題,但該航天器群并非集群航天器的概念,而且該文中邊界的概念與本文所提的邊界也不相同.文獻[13]中設計出一種新穎的開環(huán)納什控制策略,使無人機群通過完全分布式的方式估計出其終端狀態(tài),從而實現(xiàn)了無人機群的編隊控制.但這種控制策略要求具有固定的編隊的構(gòu)型.
基于局部通訊,集群航天器邊界控制的意義在于:集群邊界的改變同時改變了通訊鏈路的數(shù)量,無任務時可以通過增大集群邊界使得航天器之間的通訊鏈路減少來減小能耗;當集群航天器需要繞過空間障礙區(qū)時,對集群邊界的控制可以使集群順利通過(即整體避障).若集群包絡面可以通過,則只需規(guī)劃虛擬領(lǐng)航星的軌道即可使得集群順利通過;若集群包絡面無法通過,則可以通過縮小集群邊界,使得集群包絡能夠通過障礙區(qū).如圖1所示.
圖1 集群整體避障Fig.1 Obstacle avoidance of spacecraft cluster
本文設計的集群航天器邊界控制系統(tǒng)如圖2所示,其中集群航天器動力學模型的輸出為各航天器的位置、速度;蜂擁控制器作用于每個航天器個體,用于實現(xiàn)集群的速度一致性(使得集群內(nèi)部相對位置穩(wěn)定)以及避免集群內(nèi)部的碰撞;動力學模型的輸出通過粒子群球形邊界搜索模塊得到球形邊界中心(xc,yc,zc)以及半徑Rc;勢函數(shù)邊界控制器根據(jù)集群的邊界反饋信息,僅對處于集群邊界附近的航天器產(chǎn)生球形空腔勢場力,從而使得集群邊界達到期望值.
圖2 集群航天器邊界控制系統(tǒng)框圖Fig.2 Boundary control system of cluster spacecraft
為了描述航天器間的相對運動,從而可以較為直觀地反映出航天器間相對位置地變化,這里引入?yún)⒖架壍雷鴺讼礝c-xcyczc,坐標原點位于參考星的質(zhì)心.xc軸由地心指向參考星質(zhì)心,zc軸指向參考星軌道面法線方向,Oc-xcyczc構(gòu)成右手直角坐標系,如圖3所示.
圖3 參考軌道坐標系Fig.3 Coordinate system of reference orbit
當參考軌道為圓軌道,且航天器相對參考星距離較近時,航天器相對于參考星的運動可由C-W方程描述:
(1)
(ux,uy,uz)為其他力在參考軌道系下產(chǎn)生的加速度輸入,w0為參考星角速度.
基于C-W方程,航天器i的控制輸入形式如下:
(2)
參考文獻[14],取如下的勢場作用力函數(shù):
(3)
其中,r為航天器之間的距離,k1為引力系數(shù),k2為斥力系數(shù),rmax為航天器間的最大通訊距離,則當作用力為零時,達到平衡狀態(tài),有:
(4)
其中re為期望保持的距離.當lead(i)=1時,領(lǐng)航反饋項可以按一致性理論中的形式給出:
(5)
其中rr、vr分別為領(lǐng)航星的位置、速度矢量,α1、α2分別為領(lǐng)航星位置、速度反饋系數(shù).當集群中所有的航天器都能感知到領(lǐng)航星的狀態(tài)信息時,對于任意初始狀態(tài),集群航天器最終可以實現(xiàn)一致性.在集群航天器速度達成一致性時,航天器之間相對位置保持不變(穩(wěn)態(tài)).因此可以在集群航天器處于穩(wěn)態(tài)時研究集群的邊界,并根據(jù)其邊界信息設計邊界控制方法.
集群航天器蜂擁控制是進行邊界控制的基礎,只有當航天器之間的相對距離保持穩(wěn)定,邊界控制才有意義.為了實現(xiàn)集群航天器的邊界控制,首先對邊界進行定義,再研究合適的搜索算法得到集群的邊界,以此為反饋信息,實現(xiàn)邊界控制.2.1中給出集群球形邊界以及盒形邊界的兩種定義,2.2中使用粒子群算法對2.1中最小球形邊界進行尋優(yōu),并結(jié)合仿真進行了驗證.
集群邊界指的是包含所有個體的具有最小尺寸的包絡面,定義并不唯一,通常根據(jù)不同的需求來給出不同的定義,通常有兩種定義,球形邊界和盒形邊界.球形邊界更容易求解,但對于一些特殊分布的集群擬合效果并不好;盒形邊界比球形邊界的擬合效果好,但通常不易求解.
1)球形邊界
球形邊界指的是包絡集群中所有個體的最小半徑的包絡球.集群半徑最小包絡球的確定主要存在兩個問題,首先是包絡球球心的確定,其次是包絡球半徑的確定.事實上,集群的包絡球的中心也是隨集群整體運動而運動的,因此可將其視為一顆虛擬的衛(wèi)星集群在參考軌道坐標系下相對位置穩(wěn)定時,即代表集群的構(gòu)型保持不變,因此可以對集群邊界進行建模(球形)ri為航天器i位置矢量,r0為球心位置矢量,得到最小的包絡球的半徑Rmin為:
(6)
上述函數(shù)自變量為球心位置r0,由于上述表達無法直接最值,因此需要用到智能搜索算法來求得近似解,這里我們使用粒子群算法找到最優(yōu)的r0.圖4為集群球形邊界示意圖.
圖4 球形邊界Fig.4 Spherical boundary
2)盒形邊界
盒形邊界顧名思義,就是長方體形狀的集群邊界,如圖5所示.
圖5 盒形邊界Fig.5 Box boundary
基于不同的性能指標,盒形邊界有不同的形式,基于盒形長寬高最大尺寸的最小值的性能指標,有:
(7)
基于盒體積最小的性能指標,有:
(8)
1)粒子群搜索算法設計
在本文的球形邊界尋優(yōu)問題中,性能指標函數(shù)如式(6),每個粒子的位置為x,即代表球形邊界的球心坐標r0的一個可行解.每個粒子的速度、位置更新如下所示:
(9)
2)集群航天器邊界尋找過程仿真
設置參考星軌道為圓軌道,軌道高度500 km,集群由10顆星組成,初始位置隨機分布距離參考星(-3 km,3 km).通過蜂擁控制,使得集群穩(wěn)定時尋找集群球形邊界.
圖7中為蜂擁控制在穩(wěn)態(tài)時,航天器間的相對位置、通訊拓撲以及球形邊界.藍色五角星表示航天器,航天器之間的連線代表它們的通訊拓撲,圓形陰影代表球邊界的半徑.從圖7可以看出,航天器間通過局部通訊,在蜂擁控制作用下,集群穩(wěn)態(tài)時并沒有嚴格的構(gòu)型,而是形成一種較為松散的構(gòu)型.
圖6 粒子群算法尋找集群邊界流程圖Fig.6 Particle swarm optimization algorithm for finding cluster boundary
圖7 集群球形邊界及通訊拓撲Fig.7 Spherical boundary of spacecraft cluster and local communication topology
粒子群算法運行時間:0.075 265 s;全局最優(yōu)粒子位置為:Xbest=(1.124,0.983,0.473)km;球形邊界最小半徑為3.458 km;
圖8為粒子群算法搜索集群航天器最小球形邊界的迭代過程,從圖中可以看出,在第16代時,粒子群算法就已經(jīng)收斂,球形邊界半徑為3.458 km,球心坐標為Xbest=(1.124,0.983,0.473)km.粒子群算法運行時間為0.075 265 s,即在0.075 265 s便可得到一次最小球形邊界的反饋信息,該信息給控制器設計采樣時間提供了參考.
圖8 最小半徑搜索Fig.8 Search minimum radius
根據(jù)2.2中獲得的集群航天器球形邊界的球心位置以及半徑作為反饋信息,3.1節(jié)中根據(jù)期望的集群邊界設計出特定的球形空腔勢函數(shù)來實現(xiàn)集群的邊界控制,并在3.2中對集群航天器的邊界控制進行了仿真,驗證了算法的可行性.
集群邊界進行控制指的是通過一定的控制算法,改變集群的邊界尺寸(本文針中球形邊界的半徑).通過粒子群算法的迭代過程,可以找到集群航天器球形邊界的中心以及半徑.采用球形邊界的航天器集群,在每一個采樣時間內(nèi),集群的邊界尺寸僅由最外層航天器所決定.因此在每個采樣時間內(nèi),只需對最外層航天器(最外層航天器是在不斷變化的)進行控制,使其保持在某一指定半徑的球面上(或者球形空腔內(nèi)),由于蜂擁控制的作用,集群內(nèi)部的航天器便會直接或間接地受到來自邊界航天器地吸引力(或排除力),從而具有向外擴張(或向內(nèi)收縮)的趨勢,因此,整個集群便完成了在球形空間內(nèi)的分布.
設粒子群算法搜索到球邊界的中心的坐標為(xc,yc,zc),球半徑Rc,期望集群球邊界半徑為R,空腔內(nèi)徑Rin=R-Δr,空腔外徑Rout=R+Δr,Δr為小量.航天器i到球心的距離為Ri:
(10)
為了讓控制只對最外層航天器起作用,引入bound向量,當航天器i到球心的距離Ri滿足|Ri-R|≤ΔR時,bound(i)=1,表示航天器i是處于集群的邊界(稱之為邊界航天器),受到球形空腔勢場力的作用;反之,bound(i)=0,表示航天器i是處于集群內(nèi)部,不受到勢場力的作用.
邊界航天器i受到的斥力Fin、引力Fout表達式為:
(11)
其中Fmax為最大勢場力.由式(11)可知,當航天器i到球心的距離Ri=R時,斥力和引力大小相同,方向相反,因此合力為零.
采用粒子群算法對球形邊界進行搜索時需要占用時間,頻繁的搜索會導致計算速度變慢.在3.2節(jié)中,根據(jù)粒子群算法的運行時間,我們設置搜索過程的采樣時間為1 s.為了方便觀察集群航天器邊界控制的效果,這里僅仿真8顆衛(wèi)星.首先對集群施加蜂擁控制,觀察集群相對位置穩(wěn)定時的球形邊界大小,以及集群中個體的分布情況.然后設置集群期望邊界大小,同時加入邊界控制,觀察集群相對位置穩(wěn)定時的球形邊界大小,以及集群中個體的分布情況.
仿真參數(shù)設置如下:航天器數(shù)量為8;領(lǐng)航星反饋項lead=[1 0 1 0 1 0 1 0];最大勢場力Fmax=0.3;Δr=0.05 km;ΔR=0.1 km;期望球形邊界半徑R=3 km;只加入蜂擁控制時:
圖9 集群邊界變化(未加入邊界控制)Fig.9 Changes in cluster boundary (boundary control not added)
圖10 航天器到球心距離(未加入邊界控制)Fig.10 Stance to center of sphere for every spacecraft (boundary control not added)
由圖9知,只加入蜂擁控制時,集群航天器穩(wěn)態(tài)時球邊界半徑為4.26 km.從圖10看出各航天器在球形邊界內(nèi)的分布情況.航天器2、7、8位于距球心4.26 km的球形邊界處,航天器4、5位于距球心3 km附近,航天器1、3、6位于距球心2 km附近.
加入蜂擁控制以及邊界控制時:
圖11 邊界變化(加入邊界控制)Fig.11 Changes in cluster boundary (boundary control added)
圖12 天器到球心距離(加入邊界控制)Fig.12 Distance to the center of sphere for every spacecraft (boundary control added)
加入邊界控制后,集群邊界與各航天器到球心距離變化分別如圖11和12所示.從圖11可看出,加入邊界控制后,集群航天器穩(wěn)態(tài)時邊界半徑為3.00 km,與期望邊界3 km完全吻合.從圖12中可以看出,航天器2、3、6、7位于距球心3 km的球形邊界處,航天器4、8位于距球心2.7 km附近,航天器5位于距球心1.4 km附近,航天器1位于距球心0.9 km附近.對比文獻[14],基于球形空腔勢函數(shù)的邊界控制并沒有使得集群全部分布在邊界上,而是在整個球體內(nèi)保持松散的分布,僅有個別航天器處于期望邊界3 km處,這是由于邊界控制只對邊界航天器起作用,因此對集群內(nèi)部影響較小,其影響僅僅在于使得集群有整體向內(nèi)收縮的趨勢.因此實現(xiàn)了集群航天器的邊界控制.
本文提出了集群航天器在蜂擁控制下的邊界問題,對集群航天器邊界的研究意義與研究目的進行了分析.研究了球形邊界參數(shù)的優(yōu)化性能指標,并使用粒子群算法對實現(xiàn)了集群的最小邊界搜索.并依據(jù)搜索結(jié)果設計了一種基于球形勢函數(shù)的邊界控制方法.仿真結(jié)果表明,加入邊界控制后的集群能夠保持在給定球形區(qū)域內(nèi).
集群在蜂擁控制下,穩(wěn)態(tài)時可以保持固定構(gòu)型,因此集群邊界也固定.當面對一些特點任務需求時,如對障礙物環(huán)境中的避障,若對集群的邊界進行控制,就不需要使集群中個體先分散后集中,避障問題因此變得十分簡單.本文僅討論了球形邊界的控制算法,希望以后可以對盒形邊界的控制算法進行研究,并考慮集群航天器姿控系統(tǒng)故障診斷與容錯控制[15],同時針對具體的任務約束對集群航天器姿控算法進行重構(gòu)[16].