, ,
(北京控制工程研究所,北京 100190 )
信息物理系統(tǒng)(cyber-physical systems)是近年來控制與計(jì)算機(jī)領(lǐng)域興起的一個(gè)重要研究方向。其主要內(nèi)容是將系統(tǒng)中控制、計(jì)算、通信的過程當(dāng)作一個(gè)整體來考慮,研究其中信息系統(tǒng)行為與對(duì)象物理狀態(tài)間的互動(dòng)關(guān)系,從而進(jìn)一步提升系統(tǒng)性能[1-2]。而基于對(duì)信息系統(tǒng)狀態(tài)測(cè)量并在線對(duì)系統(tǒng)計(jì)算或通信資源進(jìn)行分配的反饋調(diào)度方法就成為了CPS研究中的一條重要技術(shù)路線。
與此同時(shí),隨著人類在太空的活動(dòng)日益頻繁,宇航任務(wù)模式也更加多元,進(jìn)一步降低太空活動(dòng)的成本,提高航天器自主任務(wù)管理能力的需求也不斷提高。如何進(jìn)一步提高航天器控制系統(tǒng)自主運(yùn)行的能力、提升控制性能、節(jié)約能量消耗、提升容錯(cuò)能力和故障判讀、處置[3]能力,也成為航天器控制系統(tǒng)研究中的關(guān)鍵問題之一。
在已有的國內(nèi)外研究成果中,在文獻(xiàn)[4]中首次提出了反饋調(diào)度的概念和一般的設(shè)計(jì)思路。文章對(duì)嵌入式微處理器的利用率和計(jì)算任務(wù)的截止時(shí)間丟失率進(jìn)行實(shí)時(shí)測(cè)量,將其與各自設(shè)計(jì)值的誤差作為模型輸入,建立誤差傳遞函數(shù)。通過不斷調(diào)整給各個(gè)計(jì)算任務(wù)分配的任務(wù)周期,對(duì)CPU利用率進(jìn)行動(dòng)態(tài)調(diào)節(jié)。文獻(xiàn)[5]研究了控制性能與微處理器電壓之間的關(guān)系。其將處理器期望利用率,各個(gè)任務(wù)最大、最小執(zhí)行時(shí)間等參數(shù)共同輸入調(diào)度模型,利用彈性調(diào)度算法,設(shè)計(jì)出了一套考慮處理器能耗的任務(wù)調(diào)度方法。文獻(xiàn)[6]將反饋調(diào)度方法應(yīng)用在一類機(jī)械臂的控制系統(tǒng)設(shè)計(jì)過程中,將控制算法分解成不同的周期性任務(wù),按照其數(shù)值大小分配權(quán)重,從而動(dòng)態(tài)分配計(jì)算資源,在保證性能的前提下達(dá)到了節(jié)約計(jì)算資源的目的。文獻(xiàn)[7]將模糊控制方法應(yīng)用于反饋調(diào)度算法的設(shè)計(jì)中。在文章中其應(yīng)用雙層的模糊邏輯,首先使用第一層模糊邏輯來調(diào)整任務(wù)優(yōu)先級(jí)從而降低截止時(shí)間丟失率,再應(yīng)用第二次模糊邏輯在線調(diào)整和分配任務(wù)周期來控制處理器計(jì)算資源的利用率。與傳統(tǒng)調(diào)度方法相比較,在相同處理器利用率條件下達(dá)到更高控制精度。文獻(xiàn)[8]是設(shè)計(jì)了一種考慮在可調(diào)度性約束條件下,基于固定優(yōu)先級(jí)的單調(diào)速率調(diào)度的多任務(wù)系統(tǒng)最優(yōu)任務(wù)周期分配算法。并通過物理實(shí)驗(yàn)驗(yàn)證了算法的有效性。
文獻(xiàn)[9]是航天器容錯(cuò)控制與故障診斷方面的一篇比較權(quán)威的綜述。從文中可知,目前航天器控制系統(tǒng)的故障研究主要集中在執(zhí)行機(jī)構(gòu)(如推力器、反作用輪)以及測(cè)量機(jī)構(gòu)(陀螺、敏感器)的故障上,而且多以開環(huán)的故障診斷方式為主。一般方法是利用先進(jìn)控制算法在執(zhí)行機(jī)構(gòu)故障時(shí)設(shè)計(jì)欠驅(qū)動(dòng)的控制算法,以及應(yīng)用濾波估計(jì)方法在無直接測(cè)量輸出情形下對(duì)狀態(tài)量進(jìn)行重構(gòu)與估計(jì)。而對(duì)于航天器上嵌入式計(jì)算與通信系統(tǒng)的故障研究較少,僅有在網(wǎng)絡(luò)控制領(lǐng)域會(huì)分析數(shù)據(jù)丟包等故障,但諸如處理器因?yàn)楣╇婋妷翰蛔慊蚨嗪颂幚砥鞑糠止收蠈?dǎo)致的降頻等故障形式,以及相關(guān)的容錯(cuò)控制方法未見研究成果發(fā)布。
本文主要結(jié)合已有的反饋調(diào)度方法,設(shè)計(jì)了一種基于對(duì)任務(wù)執(zhí)行時(shí)間測(cè)量的在線反饋調(diào)度與控制算法。能夠通過調(diào)節(jié)任務(wù)執(zhí)行周期,一方面保證航天器在軌工作過程具有滿足指標(biāo)的高控制精度,另一方面可以使航天器在軌的非工作過程通過延長(zhǎng)控制周期,來降低整個(gè)軌道周期的平均能耗。與此同時(shí),在處理器發(fā)生降頻故障時(shí),能夠自主調(diào)節(jié)任務(wù)的周期分配,保證航天器姿態(tài)穩(wěn)定。文章結(jié)構(gòu)如下:第一部分引言介紹文章的主要研究?jī)?nèi)容及背景;第二部分給出所研究問題的數(shù)學(xué)模型;第三部分介紹所提出的反饋調(diào)度與控制算法;第四部分為仿真驗(yàn)證;第五部分為文章的結(jié)論。
航天器線性化姿態(tài)動(dòng)力學(xué)模型可描述為[10]:
(1)
(2)
聯(lián)立式(2)可得到系統(tǒng)模型的狀態(tài)空間表達(dá)式:
(3)
其中:
星上控制系統(tǒng)采用計(jì)算機(jī)控制模式,所以將式(3)進(jìn)行離散化處理,得到:
x(k+1)=F(T)x(k)+G(T)u(k)
u(k)=-Kx(k)
(4)
其中:K為反饋增益陣,根據(jù)控制算法求得,T為采樣周期。一般來說,對(duì)于計(jì)算機(jī)控制系統(tǒng)越小的控制周期能夠?qū)崿F(xiàn)更高的控制精度。而同時(shí)越小的周期就意味著系統(tǒng)需要將更多的CPU分配資源給控制系統(tǒng)。對(duì)于低軌道航天器而言,其軌道周期約95 min,但其中需要航天器進(jìn)行高精度指向控制的工作時(shí)段只有約10 min,其余時(shí)間均可認(rèn)為是控制系統(tǒng)的非工作時(shí)段。所以在任務(wù)設(shè)計(jì)時(shí)可以在工作時(shí)段給控制系統(tǒng)分配較多的計(jì)算資源,提高控制精度,而在非工作時(shí)段可將資源分配給如數(shù)據(jù)處理、通信等系統(tǒng),提高任務(wù)完成質(zhì)量,優(yōu)化航天器的整體性能。
航天器的控制任務(wù)在星載嵌入式系統(tǒng)上具體實(shí)現(xiàn)時(shí),要將數(shù)據(jù)采集、計(jì)算、輸出的過程分解為順序執(zhí)行的幾個(gè)周期性子任務(wù)[11]。對(duì)于微小型航天器控制系統(tǒng)而言,由于功耗和體積限制苛刻,所以各個(gè)測(cè)量敏感器需要共用一塊CPU。其一階狀態(tài)量xp以及二階狀態(tài)量xd通過MEMS地球、太陽敏感器和三軸陀螺儀進(jìn)行采集。計(jì)算單元在一個(gè)控制周期開始時(shí)發(fā)出采集指令,在經(jīng)過一段執(zhí)行時(shí)間后,所采集到的狀態(tài)量進(jìn)入系統(tǒng)內(nèi)存中,在控制算法所需的狀態(tài)量均采樣得到之后,一同送入處理器,代入控制算法進(jìn)行運(yùn)算,最終將計(jì)算機(jī)所生成的控制指令發(fā)到執(zhí)行機(jī)構(gòu)。整個(gè)控制任務(wù)的周期為采樣周期T,xp的采集的子任務(wù)執(zhí)行時(shí)間為cp,xd的采集子任務(wù)執(zhí)行時(shí)間為cd,最終控制算法執(zhí)行及輸出子任務(wù)執(zhí)行時(shí)間為co。在此過程中,CPU用于控制任務(wù)的利用率可表示為Ua=(cp+cd+co)/T<1。在相同的軟硬件環(huán)境內(nèi),CPU功耗E與利用率直接相關(guān),存在表達(dá)式:
(5)
整個(gè)控制任務(wù)模型可以描述為τc(cp,cd,co,T,Ua),對(duì)于傳統(tǒng)的航天器控制系統(tǒng)而言,一般在設(shè)計(jì)過程中就確定一個(gè)固定參數(shù)的τc。不同任務(wù)間留夠充足的時(shí)間裕量避免時(shí)序沖突。這種思路的優(yōu)點(diǎn)是便于進(jìn)行不同系統(tǒng)間的銜接,設(shè)計(jì)難度較低。但隨著對(duì)航天器集約化要求及容錯(cuò)能力日益提高,就需要設(shè)計(jì)一種能夠自主靈活分配資源,處置故障的調(diào)度與控制算法。
圖1 反饋調(diào)度算法結(jié)構(gòu)圖
本文所研究的此類反饋調(diào)度算法,其實(shí)現(xiàn)過程主要分為三個(gè)步驟:第一是任務(wù)執(zhí)行時(shí)間測(cè)量;其內(nèi)容是對(duì)處理器在一個(gè)控制周期內(nèi)所需執(zhí)行的各個(gè)任務(wù)的具體耗時(shí)進(jìn)行測(cè)量與估計(jì);第二是資源調(diào)度;其核心是根據(jù)上層軟件分配給控制系統(tǒng)的可用處理器利用率以及控制任務(wù)所需的執(zhí)行時(shí)間,來調(diào)整控制周期。第三是反饋增益計(jì)算;即根據(jù)新的控制周期,來重新調(diào)整控制算法中的控制增益。如果不進(jìn)行調(diào)整,有可能造成控制性能下降甚至系統(tǒng)發(fā)散。本反饋調(diào)度算法結(jié)構(gòu)如下所示。
其中Ci為任務(wù)執(zhí)行時(shí)間,Ur為系統(tǒng)給控制任務(wù)的CPU利用率,yr為控制系統(tǒng)的參考輸入。
Ci為反饋調(diào)度器對(duì)CPU內(nèi)不同任務(wù)執(zhí)行時(shí)間的測(cè)量。一般來說可以通過對(duì)計(jì)算單元內(nèi)時(shí)間片的判讀得到,但其中會(huì)存在因量化效應(yīng)、時(shí)間抖動(dòng)產(chǎn)生的噪聲,需要進(jìn)行濾波估計(jì)。而反饋調(diào)度算法的另外一個(gè)重要功能就是當(dāng)計(jì)算單元發(fā)生故障,導(dǎo)致執(zhí)行時(shí)間發(fā)生變化時(shí),傳統(tǒng)的固定參數(shù)的優(yōu)先級(jí)調(diào)度方法會(huì)產(chǎn)生計(jì)算超時(shí)等時(shí)序問題,導(dǎo)致系統(tǒng)失控,而反饋調(diào)度方法能夠自主調(diào)整任務(wù)周期,調(diào)整控制增益,保證控制系統(tǒng)穩(wěn)定運(yùn)行。
執(zhí)行時(shí)間測(cè)量模型可描述為:
(6)
(7)
Ur為CPU分配給控制系統(tǒng)的參考利用率,一般由操作系統(tǒng)及任務(wù)規(guī)劃軟件決定。
定義調(diào)度任務(wù)模型為τs(cs,Ts),一般情況下為保證計(jì)算資源有效利用及系統(tǒng)穩(wěn)定,調(diào)度周期不易過小,設(shè)定Ts>3T。調(diào)度任務(wù)的作用就是根據(jù)給系統(tǒng)給控制任務(wù)分配的CPU利用率,來對(duì)控制周期進(jìn)行分配,并計(jì)算相應(yīng)的控制增益。則根據(jù)式(7),有控制周期表達(dá)式為:
(8)
(9)
控制增益計(jì)算一般應(yīng)用計(jì)算機(jī)控制理論,根據(jù)系統(tǒng)狀態(tài)矩陣及采樣周期計(jì)算控制增益陣。本文中采用離散最優(yōu)控制方法,將系統(tǒng)式(4)帶入Ricatti方程:
FTSF-S-FTSG(GTSG+R)-1GTSF+Q=0
其中:正定陣Q和R為二次型指標(biāo)的加權(quán)陣,表達(dá)式為:
解得對(duì)稱陣S,再解出:
K=(GTSG)-1GTSF
(10)
其中:Q越大則得到的控制精度越高,而R越大則控制輸出則越小,Q和R的選擇決定了控制精度與控制輸出的折中關(guān)系,同時(shí)也需要謹(jǐn)慎調(diào)節(jié)以避免執(zhí)行機(jī)構(gòu)輸出達(dá)到飽和。
此時(shí)就可以保證對(duì)于調(diào)度算法給出的任務(wù)周期T,找到一個(gè)對(duì)應(yīng)的最優(yōu)反饋增益陣K。
仿真研究的任務(wù)背景是一個(gè)微型低軌道航天器,工具使用Matlab中Truetime工具箱。仿真參數(shù)如表1所示。
表1 仿真參數(shù)設(shè)置[12]
xdr=[0.57sin(t/40),-0.57cos(t/50),
0.57sin(t/60)]Tdeg/s
在此設(shè)定航天器的軌道周期在t∈[600,1 000]s時(shí)為工作弧段,要求在此時(shí)段內(nèi)達(dá)到指標(biāo)跟蹤精度要求,以便于載荷正常工作。而在其余非工作時(shí)段內(nèi),要求航天器姿態(tài)保證跟蹤誤差較小,保證航天器姿態(tài)可控即可。而在t=1 200 s時(shí),給系統(tǒng)注入計(jì)算單元發(fā)生故障,驗(yàn)證反饋調(diào)度系統(tǒng)的容錯(cuò)能力。此時(shí)處理器降頻至0.25f,則任務(wù)執(zhí)行時(shí)間均變?yōu)闃?biāo)稱值的4倍(考慮控制任務(wù)代碼執(zhí)行速率均與處理器速度相關(guān))。
根據(jù)以上所交代的任務(wù)背景,可得到各個(gè)時(shí)段內(nèi)控制系統(tǒng)分配到的計(jì)算單元的任務(wù)參數(shù)為:
圖2為計(jì)算單元利用率變化曲線,實(shí)線為計(jì)算單元利用率的參考輸入,虛線為根據(jù)為系統(tǒng)實(shí)際利用率??梢钥闯霰疚慕o出的反饋調(diào)度算法對(duì)利用率需求變化具有很高的跟蹤精度。特別是在1200 s故障注入時(shí)刻之后,如圖所示,調(diào)度算法經(jīng)過30 s,即3個(gè)調(diào)度周期后使系統(tǒng)計(jì)算利用率恢復(fù)到參考輸入水平。
圖2 CPU利用率變化曲線
圖3為航天器在軌姿態(tài)角狀態(tài)變化曲線,從圖3可以看出,在整個(gè)仿真時(shí)間段內(nèi),即使在1 200 s故障發(fā)生后內(nèi)角度跟蹤精度均保持在±5°之內(nèi)。在所設(shè)置的航天器工作弧段600~1 000 s內(nèi),系統(tǒng)姿態(tài)控制精度從±1.5°提升到±0.5°, 達(dá)到性能指標(biāo)要求。而對(duì)于傳統(tǒng)控制與調(diào)度方法,要保證工作弧段性能指標(biāo)要求,就需要在整個(gè)周期內(nèi)保持控制精度在±0.5°之內(nèi),這就需要計(jì)算單元給控制系統(tǒng)分配固定的計(jì)算資源以保證任務(wù)要求,在非工作時(shí)段就會(huì)造成一定的計(jì)算資源浪費(fèi)及過多的能耗損失。所以本文提出的反饋調(diào)度方法與傳統(tǒng)方法相比,根據(jù)式(5)可知,在一個(gè)軌道周期之內(nèi)控制系統(tǒng)能夠極大的節(jié)約CPU能耗及計(jì)算資源。
圖3 角度變化曲線
圖4~6為基于Truetime工具箱得到的計(jì)算單元內(nèi)部的工作時(shí)序仿真結(jié)果。從圖4可知,在600 s之后因?yàn)楹教炱鬟M(jìn)入指向跟蹤的工作弧段,系統(tǒng)給予控制系統(tǒng)的計(jì)算資源有所增加,此時(shí)的控制任務(wù)周期從2 s降為0.2 s左右,而同時(shí)由圖3所示的系統(tǒng)狀態(tài)變化曲線上也能反映在得到更多CPU資源后,航天器的控制精度明顯提高,驗(yàn)證了反饋調(diào)度算法能夠動(dòng)態(tài)分配資源,提高系統(tǒng)整體性能。
圖4 工作時(shí)段時(shí)序變化曲線
由圖5可以發(fā)現(xiàn),在1200 s對(duì)航天器進(jìn)行了故障注入之后,控制任務(wù)中的各個(gè)子任務(wù)的執(zhí)行時(shí)間顯著增加。但從圖6可以看出,在1210 s之后,經(jīng)過一個(gè)調(diào)度之后,系統(tǒng)的控制周期開始逐漸變大,說明反饋調(diào)度系統(tǒng)已經(jīng)及時(shí)感知到了故障的發(fā)生,并采取了相應(yīng)的應(yīng)對(duì)策略。
圖5 故障時(shí)刻執(zhí)行時(shí)間變化
圖6 故障后任務(wù)周期變化
同時(shí)這也驗(yàn)證了反饋調(diào)度算法能夠通過調(diào)整控制周期來保證系統(tǒng)的實(shí)際CPU利用率的恒定,從而保證控制系統(tǒng)內(nèi)部任務(wù)之間以及控制系統(tǒng)與其他需要使用CPU的系統(tǒng)間不會(huì)發(fā)生時(shí)序沖突,保證整個(gè)航天器系統(tǒng)能夠穩(wěn)定運(yùn)行。
本文介紹了一類應(yīng)用于航天器控制系統(tǒng)的動(dòng)態(tài)調(diào)度CPU使用率并調(diào)整控制增益的反饋調(diào)度方法。通過仿真分析,該方法能夠在航天器在軌的工作與非工作時(shí)段動(dòng)態(tài)分配系統(tǒng)的計(jì)算資源。從而使得航天器控制系統(tǒng)具有了在工作時(shí)段提供高精度指向控制,滿足任務(wù)需求,在非工作時(shí)段保證姿態(tài)穩(wěn)定,節(jié)約系統(tǒng)功耗及計(jì)算資源的動(dòng)態(tài)資源管理能力。同時(shí)在遇到星上計(jì)算機(jī)故障時(shí),能夠通過調(diào)整任務(wù)周期的方式,保證姿態(tài)穩(wěn)定,達(dá)到容錯(cuò)控制的目的。