李仲林,程子敬,郝曉強
(中國空間技術(shù)研究院第503 研究所 北京 100095)
近年來,低軌衛(wèi)星迅速發(fā)展,對于低軌衛(wèi)星的相關(guān)研究是當前研究的熱點,同時由于低軌衛(wèi)星的高速運動也對時間同步的跟蹤速度和精度有了更高要求。
PID 算法產(chǎn)生于20 世紀初,是迄今為止工業(yè)生產(chǎn)中仍使用最多的算法,其簡單的結(jié)構(gòu)、易于操作等特點使其在100 年后的今天仍然是最常用的控制算法[1]。在此基礎(chǔ)上發(fā)展了許多改進型的PID,其使用“基于誤差反饋來消除誤差”的控制策略是其最寶貴的思想。自抗擾控制(Active Disturbance Rejection Control,ADRC)算法是韓京清先生在1998 年提出的,其由3 大核心部分組成:過渡過程(跟蹤微分器TD)、非線性狀態(tài)誤差反饋控制率(NLESF)和擴張狀態(tài)觀測器(ESO)[2]。近年來,ADRC 快速發(fā)展,孫彪等[3]在韓京清教授提出的綜合函數(shù)fhan 的基礎(chǔ)上進一步探討研究,推導出了性能更好的fsun 函數(shù)。ADRC算法相比PID 來說,結(jié)構(gòu)上略微復雜,需要調(diào)整的參數(shù)也相對較多。陳宗祥等[4]提出設(shè)計PI 控制器和一階低通濾波器的方法來直接獲取線性ADRC 的參數(shù),推導PI控制器和線性ADRC 的參數(shù)對應(yīng)關(guān)系,解方程來得到線性ADRC 的參數(shù)。目前對于參數(shù)整定的研究大都集中在線性自抗擾控制器上。高志強博士[5-6]提出了線性的ADRC 控制算法,同時提出頻率尺度的概念,并將控制器需要整定的參數(shù)減少為3 個。
本文在簡要分析兩個算法的基礎(chǔ)上,在復雜的空間環(huán)境下針對跟蹤系統(tǒng)建立仿真模型,使用STK-MATLAB 仿真得到仿真結(jié)果,通過結(jié)果分析兩個算法的跟蹤性能。
PID 控制算法可以看成是誤差的過去(積分I)、誤差的現(xiàn)在(比例P)和誤差的未來(微分D)的線性組合,其結(jié)構(gòu)單一,實際的表達式一般可以寫成:
式中:K為反饋增益;Ti為積分時間常數(shù);Td為微分時間常數(shù)。PID 算法已經(jīng)發(fā)展的非常成熟,在此不再詳細敘述,調(diào)節(jié)此控制算法一般只需要調(diào)節(jié)其中的P、I、D 3個參數(shù)即可。
ADRC 控制算法由3 大部分組成,其結(jié)構(gòu)見圖1。
如圖1 所示,各部分的組成數(shù)學表達式如下所示:
過渡過程(TD):
此處使用的是文獻[3]中的函數(shù)fsun,而不是函數(shù)fhan。
擴張狀態(tài)觀測器(ESO):
非線性狀態(tài)誤差反饋控制率(NLESF):
其中:
其中,r 為快速因子,影響的是ADRC 控制器的跟蹤速度,此參數(shù)可以粗取較大值,當大到一定程度后,對系統(tǒng)的跟蹤影響不再特別敏感;h是采樣的步長,由系統(tǒng)確定;h0影響對輸入的濾波效果,一般為h 的比例關(guān)系,此處取為5 倍h值;β1、β2和β3為擴張狀態(tài)器的權(quán)值因子,需要根據(jù)實際系統(tǒng)具體調(diào)整;a為非線性飽和因子,δ為非線性函數(shù)線性區(qū)間寬度,這兩個參數(shù)是控制器的自帶參數(shù),調(diào)整好后一般不需要再做更改;b0為系統(tǒng)的輸出增益,決定補償強弱,與實際控制對象有關(guān),越接近控制對象越好;β01為非線性比例誤差系數(shù),β02為非線性微分誤差系數(shù),這是需要根據(jù)控制對象調(diào)整的參數(shù)。
與PID 相比,如果將NLESF 部分用線性組合來代替,ADRC 的結(jié)構(gòu)上就多兩個部分,一個是過渡過程,一個是擴張狀態(tài)觀測器。下面就這兩個部分對ADRC 和PID 的控制性能做理論上的分析比較。
在PID 中,雖然“基于誤差反饋來消除誤差”是PID的精髓所在,但是直接選取目標值與實際行為之間的誤差來進行控制太過于簡單,并不是完全合適[7]。當目標值與實際行為之間的誤差較大時,沒有過渡過程的PID 控制為了能夠盡快將目標值與當前的實際行為之間的差值給消除掉,控制參數(shù)中比例控制的參數(shù)值將會取得很大,從而達到快速控制的目的,但是這樣帶來的影響便是超調(diào)的出現(xiàn)。ADRC 算法中,在輸入值進入控制算法前,首先通過過渡過程,過渡過程的作用便是將目標值與實際行為之間的差值“平滑化”,使控制過程無超調(diào)的進行。
PID 控制算法中可以使用狀態(tài)觀測器來使得控制效果更好,同時為了抑制擾動帶來的影響,PID 算法中的誤差積分的反饋確實有效,但是當無擾動作用時,誤差積分的反饋常使閉環(huán)的動態(tài)特性變差,而對隨機變化的擾動來說,積分反饋的抑制能力又不顯著。ADRC 算法采用擴張狀態(tài)觀測器,與PID 相比的區(qū)別與優(yōu)勢在于將系統(tǒng)未建模的動態(tài)、已建模的動態(tài)和外擾部分的作用看成“總和擾動”。把作用于被控對象的所有不確定因素作用都歸結(jié)為“未知擾動”而用對象的輸入輸出數(shù)據(jù)對它進行估計并給予補償。可以認為是ADRC 的擴張狀態(tài)觀測器能夠比PID 獲得更多的信息,從而能給出更好的控制效果,帶來的好處便是對于擾動有很強的抗擾能力。
本文采用STK-Matlab 聯(lián)合仿真,使用的低軌衛(wèi)星是公開的YINHE-1 的星歷建立的仿真,采用的是雙向比對反饋時間同步方法得到低軌衛(wèi)星與地面站之間的時間偏差值。其大致過程見圖2。
如圖2 所示,從STK-Matlab 中得到時間偏差信息后,首先需要對偏差進行最小二乘法粗調(diào)整,因為控制算法的控制能力不是無限的,是有一定范圍的,所以先將很大的偏差調(diào)整到控制算法可控的范圍內(nèi),此處是將其偏差變化值控制在70 以內(nèi)。相應(yīng)的PID 和ADRC 的數(shù)學模型如上所述。
首先是跟蹤特定值時,PID 與ADRC 的不同仿真結(jié)果。
PID 與ADRC 算法跟蹤特定值,見圖3、圖4。
由圖3 與圖4 可知,PID 雖然能正常跟蹤上定值,但是在跟蹤過程中存在超調(diào),調(diào)節(jié)時間在0.7 s 左右。
由圖5和圖6可知,ADRC在跟蹤過程中幾乎是無超調(diào)的,其調(diào)節(jié)時間更是不到0.1 s,跟蹤速度快且無超調(diào),效果更好,其中跟蹤的實際輸出曲線與估計的輸出曲線重合。
其無超調(diào)的原理解釋在前文已經(jīng)有所介紹,圖7 是過渡過程的仿真輸出曲線。
由圖7 可知,對初始輸入進行處理,將階躍的定值“平滑”化,控制輸出實際跟蹤的是過渡過程曲線。
在分析了無擾動的輸入的情景后,為了更好地對比PID 與ADRC 算法的性能,下面的仿真模擬星地間的時間偏差值受其他因素影響,使得偏差值為正弦變化的情況下,兩種控制算法的跟蹤情況見圖8、圖9。
在原參數(shù)的情況下,PID 跟蹤效果不好,所以對PID的參數(shù)進行了改變優(yōu)化,得到了圖8。對比仿真圖8 和圖9 可以得到,即使在改變了PID 參數(shù)的情況下,其跟蹤的效果仍然略差于ADRC。PID 的跟蹤曲線的實際值總是會在正弦信號的峰值處低于目標值5 左右。而ADRC 在相同的位置的差值僅為1.5,差距明顯,在ADRC 算法下,正弦曲線幾乎完美跟蹤上。
通過上述理論分析和仿真驗證可以得到如下結(jié)論。
(1)ADRC 算法與PID 算法相比,其可以在整個控制過程中幾乎做到無超調(diào),這樣的控制性能帶來的好處是在選擇控制元器件時可選擇的范圍變大。
(2)ADRC 算法在此二階隨動系統(tǒng)下,調(diào)節(jié)的速度更快,調(diào)節(jié)時間縮短接近0.6s,跟蹤正弦信號時的穩(wěn)態(tài)誤差也從原來的5 左右降低到1.5 左右,控制精度提升,速度更快。
(3)與PID 相比,ADRC 的參數(shù)整定更加復雜,并且整定的參數(shù)更多,許多參數(shù)的選取仍處于經(jīng)驗調(diào)節(jié)階段,并沒有理論分析來驗證。
在航天領(lǐng)域中自抗擾算法還未被廣泛使用,若能解決其在參數(shù)整定方面的難題,其優(yōu)秀的控制能力在航天中具有廣闊應(yīng)用前景。本文分析了PID 和ADRC 控制算法的性能,對未來ADRC 算法在航天領(lǐng)域中廣泛應(yīng)用具有重要意義。