宋傳明, 杜欽君, 馮晗, 龐浩, 李存賀
(山東理工大學 電氣與電子工程學院,山東 淄博 255049)
仿人柔性關節(jié)因其獨特的關節(jié)柔性被廣泛應用于航空航天、醫(yī)療教育、生活服務等領域[1-2]。受柔性關節(jié)外形、體積和重量的限制,關節(jié)驅動電機輸出力矩存在飽和上限,當控制器輸入量超出關節(jié)驅動電機的可執(zhí)行范圍時,電機將進入飽和狀態(tài),進而引起控制性能降低甚至失控[3-4]。因此,研究帶有飽和約束的柔性關節(jié)控制方法格外重要。
PID控制是一種簡單有效且易于實現(xiàn)的控制方法,但大誤差時的積分飽和現(xiàn)象會嚴重影響控制系統(tǒng)性能[5-6]?,F(xiàn)有的如積分分離、積分負反饋、積分狀態(tài)預測等[7-9]抗積分飽和方法一定程度上緩解了飽和問題,但多以犧牲系統(tǒng)動態(tài)性能為代價。部分文獻提出基于PID的復合控制器設計思路,如自適應PID、模糊PID、神經(jīng)網(wǎng)絡模糊PID、動態(tài)飽和補償PI控制等[10-13]。多種策略的配合彌補了定值PID控制的設計缺陷,但復雜化的結構降低了系統(tǒng)可靠性,且仍未做到PID參數(shù)的最優(yōu)化。
人工智能的發(fā)展為PID控制的抗飽和設計提供了更多選擇。文獻[6]提出基于專家控制的抗積分飽和PID控制器,用于模型不確定系統(tǒng)的精確控制。文獻[14]提出基于粒子群算法的積分分離PID控制,用于減小響應超調。文獻[15]提出模糊神經(jīng)網(wǎng)絡PID控制方法,用于關節(jié)恒力控制。文獻[16]提出基于人工免疫算法的最優(yōu)分數(shù)階PID控制器,用于關節(jié)的軌跡跟蹤。各類優(yōu)化算法具備實時優(yōu)化PID參數(shù)的能力,但受限于算法固定的迭代邏輯,單一的優(yōu)化算法很難兼顧全局搜索能力和收斂的快速性,且部分算法對初值較敏感,抗干擾能力差,不適用于工作環(huán)境多變的柔性關節(jié)系統(tǒng)。
文獻[17]提出利用模擬退火算法(simulated annealing,SA)求解最優(yōu)化問題的方法。Ulungu在SA基礎上提出了用于組合優(yōu)化問題的多目標模擬退火算法(multi-objective simulated annealing,MOSA)[18],但退火算法以概率接受差解的邏輯存在迭代后期效率下降的問題。為此文獻[19]提出一種基于萊文貝格—馬夸特(Levenberg-Marquardt,LM)算法的組合優(yōu)化方法,利用LM局部收斂速度快的優(yōu)點,解決了SA算法在接近全局最優(yōu)解時效率低的問題,但該方法不適用于多目標優(yōu)化。
本文提出一種基于組合優(yōu)化算法的PID抗飽和方法。在驅動電機飽和約束下,構建同時考慮系統(tǒng)調節(jié)時間和跟蹤誤差最優(yōu)的目標函數(shù);利用MOSA算法全局收斂能力強的優(yōu)勢,得到近似最優(yōu)解所在區(qū)域,再利用LM算法局部收斂速度快的特點將近似最優(yōu)解擬合為全局最優(yōu)解,解決了MOSA后期乏力的問題;設計了以優(yōu)化結果變化率為依據(jù)的目標函數(shù)權重賦值方法,解決了MOSA權重一次性隨機賦值帶來的優(yōu)化偏重問題。
柔性關節(jié)系統(tǒng)如圖1所示。圖中θ為減速器輸出轉角;q為關節(jié)轉角;J為折算到減速器輸出端的電機轉子及輸出軸轉動慣量;Ir、mr為關節(jié)的慣量和質量,包括減速器和彈性機構;k為關節(jié)剛度系數(shù);I、l、m為手臂的轉動慣量、長度和質量。為簡化模型復雜度,假設連桿在垂直于關節(jié)輸出軸的平面上運動,不考慮連桿的伸縮和彈性變形,且忽略模型離心力與哥氏力項。
圖1 仿人柔性關節(jié)物理結構Fig.1 Physical model of a humanoid flexible joint
根據(jù)Spong提出的柔性關節(jié)等效模型[20],柔性關節(jié)的拉格朗日動力學模型表示為
(1)
將模型(1)寫為傳遞函數(shù)的形式:
(2)
(3)
式中:a=JD+MBv;b=Jk+Jζ(s)+DBv+kM;c=k(D+Bv)+Bvζ(s);d=kζ(s);ζ(s)為重力矩G(q)拉氏變換后產(chǎn)生的非線性項。
基于PID控制的柔性關節(jié)系統(tǒng)如圖2所示。
圖2 PID控制系統(tǒng)結構Fig.2 Structure of PID control system
柔性關節(jié)的控制過程中,驅動電機的輸出力矩具有飽和約束,其飽和特性描述為:
(4)
式中:u是電機輸入信號;u*是電機實際輸出。考慮飽和約束的系統(tǒng)控制結構如圖3所示。
圖3 具有飽和特性的PID控制結構Fig.3 PID control structure with saturation characteristics
以關節(jié)驅動力矩τm為控制量,即u(t)=τm,則PID控制器的輸出為:
(5)
當關節(jié)受擾動而產(chǎn)生較大誤差時,積分項對誤差的累積將產(chǎn)生較大的控制輸入,以期快速消除誤差。但柔性關節(jié)的響應滯后會延長誤差的持續(xù)時間,極易使控制輸入量在持續(xù)的積分作用下超過電機輸出上限,造成飽和。同時較短的調節(jié)時間和較小的跟蹤誤差、超調量相互矛盾,當期望減小響應超調和跟蹤誤差而選擇較小的比例、積分系數(shù)時,會不可避免地延長系統(tǒng)調節(jié)時間。因此,需要在避免電機進入飽和的前提下,通過對PID參數(shù)的優(yōu)化,使系統(tǒng)調節(jié)時間與跟蹤誤差達到最優(yōu)平衡。
考慮帶約束的多目標優(yōu)化模型:
(6)
式中包含K個目標函數(shù)fi(X)和M個約束條件gj(X);Rn={X=(x1,x2,…,xn)T|xk∈[a,b],k=1,2,…,n}為解向量構成的解空間,其中x1,x2,…,xn為決策變量。
對于Rn中的兩個解X1、X2,若滿足:
(7)
則稱X1支配X2,即解X1優(yōu)于X2。若Rn中不存在優(yōu)于X1的解,則X1稱為優(yōu)化問題的Pareto最優(yōu)解[21-22]。各目標存在競爭關系的多目標優(yōu)化問題中,會產(chǎn)生多個非支配的解,這些非支配解構成的集合,稱為多目標優(yōu)化問題的Pareto前沿。
根據(jù)式(6),以關節(jié)調節(jié)時間和跟蹤誤差為優(yōu)化目標,構建具有飽和約束的優(yōu)化模型為:
(8)
Δu(k)=KP[e(k)-e(k-1)]+KIe(k)+
KD[e(k)-2e(k-1)+e(k-2)]。
(9)
式中Δu(k)為控制器輸出增量。則當前迭代周期控制器輸出為
u(k)=u(k-1)+Δu(k)。
(10)
系統(tǒng)輸出值的離散化形式為
y(k)=u(k)×G1(k)G2(k)。
(11)
函數(shù)f2表示系統(tǒng)調節(jié)時間,由每個迭代周期的當前最優(yōu)解對應的系統(tǒng)調節(jié)時間所構成的集合來表示,其中k為當前迭代次數(shù)。調節(jié)時間ts由系統(tǒng)的傳遞函數(shù)得到。PID控制器的傳遞函數(shù)為
(12)
式中:Ti=KP/KI為積分時間;Td=KD/KP為微分時間。由此可以寫出系統(tǒng)的傳遞函數(shù)為
(13)
G(s)為高階系統(tǒng),難以精確給出調節(jié)時間的計算方法。因此采用主導極點法對系統(tǒng)的調節(jié)時間進行估計,即ts=4/(ζωn)(Δ=2%),其中ζ、ωn為G(s)由主導極點近似得到的二階系統(tǒng)的阻尼比和固有頻率,均與KP、KI、KD相關。
利用加權聚合法將模型中的兩個最小化目標函數(shù)合并為新的價值函數(shù):
(14)
(15)
(16)
傳統(tǒng)的隨機確定權重的方法容易造成局部優(yōu)化且優(yōu)化時間較長,而人為地根據(jù)目標優(yōu)先級確定權重的方法會降低效率,且對于無法突出目標優(yōu)先級的模型來說,無法做到最優(yōu)權衡。為此提出一種依據(jù)優(yōu)化結果變化率來確定權重的方法:
(17)
式中k為迭代周期。各目標優(yōu)化結果的導數(shù)表征了目標函數(shù)的變化趨勢,通過判斷目標變化趨勢確定當前周期權重值是否適用。若當前計算結果偏重了某一目標而導致另一目標結果的增大,則在下一周期的權重選擇時向未得到優(yōu)化的目標傾斜;若目標均被優(yōu)化,則保留當前權重不變;若計算結果使各目標均呈現(xiàn)增大趨勢,則重新確定權重。
MOSA是在SA的基礎上針對多優(yōu)化目標提出的一種優(yōu)化方法,具有邏輯簡單、魯棒性強等優(yōu)點,被廣泛應用在多目標組合優(yōu)化問題中。
改進權重賦值方法的MOSA算法邏輯如下:
1)確定算法初始參數(shù)。給定初始溫度T0、終止溫度Tend、退火系數(shù)α以及鏈長L(即迭代次數(shù))。初始溫度越高,MOSA獲得全局最優(yōu)結果的可能性越大,本文選定T0=500、Tend=0.1;退火系數(shù)越小則優(yōu)化時間越短,但過快的退火速度可能造成較大的誤差,根據(jù)數(shù)值仿真經(jīng)驗取α=0.98;鏈長L=500。
3)對X0進行隨機擾動產(chǎn)生新解X1直至其滿足目標約束。擾動方式如下:
X1=X0+r×v。
(18)
式中r=rand[-1,1],v為計算步長。
5)評價被接受的新解X1對各優(yōu)化目標函數(shù)值fi(X1)的影響,并根據(jù)式(17)確定下一迭代周期內(nèi)的權值。
6)判斷是否滿足終止準則。若滿足準則,則輸出當前最優(yōu)解X0,算法終止,否則轉到步驟7)。
7)更新迭代次數(shù)k=k+1,執(zhí)行降溫過程T1=αT0,并跳轉到步驟3)重復該過程。
步驟4)中,若新解X1被接受,則F(X1) LM算法是對高斯—牛頓法的改進,常用于非線性回歸參數(shù)的估計問題。高斯—牛頓法要求原函數(shù)的Hessian矩陣滿秩且正定,否則收斂方向可能出現(xiàn)錯誤。LM算法則通過引入已知的正定矩陣D來構造新的“Hessian矩陣”,避免了錯誤收斂: Gk=▽2F(X)+λD。 (19) 將式(15)轉化為非線性最小二乘問題: (20) 式中:J(X)為當前最優(yōu)解對應的目標函數(shù)實際值與算法計算出的最優(yōu)解對應的目標函數(shù)計算值的差值平方總和;ε(X)為當前最優(yōu)解對應的目標函數(shù)實際值F′與算法迭代出的最優(yōu)解對應的目標函數(shù)計算值F(X)的差值向量: ε(X)=F′-F(X)。 (21) 文獻[19]給出一種歸一化LM方法,解決了LM算法運算復雜的問題。設MOSA輸出的最優(yōu)解為X0,經(jīng)過歸一化LM算法輸出的參數(shù)計算值表示為: X=X0+ΔX=X0+ηTX0。 (22) 式中η=[ηKP,ηKI,ηKD]T是歸一化的優(yōu)化參數(shù)向量。 歸一化處理后,求解優(yōu)化參數(shù)X的問題轉變?yōu)榍蠼鈿w一化優(yōu)化參數(shù)η。其迭代過程表示為: ηj+1=ηj-{[J″+λdiag(J″)]-1J′}η=ηj。 (23) 式中:λ為阻尼因子,λ較大時(λ?1),LM與最速下降法相似,下降量大、迭代迅速;當λ接近0時,LM算法具有高斯牛頓法的二階收斂性,收斂速度快且能夠避免迭代末期的振蕩[23]。因此,λ可根據(jù)結果的優(yōu)化情況做相應變化。設常系數(shù)β>1,若ε(Xk)<ε(Xk-1),則減小λ來提高收斂速度,令λk+1=λk/β;若ε(Xk)>ε(Xk-1),則令λk=λk-1·β并重新計算直至滿足ε(Xk)<ε(Xk-1)。取λ0=0.01、β=10。J′和J″為偏差目標函數(shù)的梯度矩陣和二階偏導數(shù)矩陣: (24) 式中ση是參數(shù)X的靈敏度函數(shù)矩陣σX的歸一化形式,用來表征歸一化優(yōu)化目標的計算值對歸一化優(yōu)化參數(shù)的依賴程度: (25) 式中ση=?U(η)/?η。 通過式(23)得到歸一化參數(shù)最優(yōu)解后,將其代入式(22)求解得到式(20)的最優(yōu)解,即組合優(yōu)化的全局最優(yōu)解。 MOSA算法全局收斂能力強,迭代初期下降速度快,但在接近最優(yōu)解時會出現(xiàn)無效搜索,降低效率;LM算法求解精度高、收斂快,但對初值較敏感,當初值偏差較大時算法可能無法收斂。所以,本文采取組合優(yōu)化的方式,先利用MOSA算法快速縮小解空間,在發(fā)生無效搜索后,切換至LM算法將離散的近似最優(yōu)解擬合為全局最優(yōu)解,提高后期搜索效率的同時削弱了初值對LM算法的影響。 組合優(yōu)化的關鍵在于確定兩種算法的切換時機。目前沒有關于多目標優(yōu)化模擬退火算法與其他算法之間切換方法的研究,但以減少無效搜索為準則可以給定一種切換方法: 若對任意給定較小的正數(shù)ε0,有[24]: (26) 式中n為當前溫度T對應的迭代次數(shù);n0為小于n的常數(shù),用于表示T之前的各個溫度對應的迭代次數(shù);Fn和Fn-i為第n次和第n-i次迭代輸出的目標函數(shù)值;ε為較小的正數(shù),通常取1。如果連續(xù)n0次退溫過程對應的目標函數(shù)值與當前溫度對應的目標函數(shù)值之間的差值小于某個給定常數(shù),則認為MOSA算法已經(jīng)收斂。設置n0=5、ε0=0.1。組合優(yōu)化過程如圖4所示。 圖4 算法流程圖Fig.4 Algorithm flow chart 利用MATLAB搭建PID、MOSA-PID、MOSA-LM-PID控制下的柔性關節(jié)系統(tǒng)模型。模型中,取關節(jié)質量mr=4.85 kg,關節(jié)殼體半徑R=0.1 m,連桿質量m=2 kg,g=9.8 N/kg,連桿長度l=0.3 m,關節(jié)慣量M=0.1 kg·m2,電機端慣量J=0.05 kg·m2;電機摩擦系數(shù)Bv=0.1,連桿摩擦系數(shù)D=0.1;取關節(jié)剛度為k=10 N·m/rad。PID控制參數(shù)取KP=15、KI=10、KD=5。MOSA-PID和MOSA-LM-PID采用相同的退火參數(shù),T0=500、Tend=0.1、α=0.98,L=500,PID參數(shù)范圍為KP∈[0,20]、KI∈[0,10]、KD∈[0,20],并設輸入飽和約束為u∈[-2,2];MOSA-LM-PID控制的目標函數(shù)權重由式(17)給出,LM算法的終止條件為兩次迭代結果的差值小于0.001。 圖5為柔性關節(jié)系統(tǒng)的階躍響應曲線。圖中,MOSA-LM-PID控制的調節(jié)時間約0.18s,超調量約11%,相比于PID和MOSA-PID,MOSA-LM-PID的調節(jié)時間縮短了約73.1%、63.2%,超調量下降了約42%、21%。圖6為關節(jié)控制力矩曲線,啟動過程中PID和MOSA-PID控制的輸入飽和度分別約為93.5%和83.8%,而MOSA-LM-PID控制的輸入飽和度僅約50%,具有更低的飽和度和更優(yōu)秀的動態(tài)性能。 圖5 系統(tǒng)階躍響應曲線Fig.5 Step response curve of the system 圖6 控制輸入Fig.6 Control input 圖7為適應度函數(shù)曲線,MOSA算法在迭代后期效率明顯下降,而MOSA-LM在第71次退火后改由LM算法進行局部收斂,收斂速度明顯加快;而且MOSA-LM算法的適應度終值更小,說明其收斂精度優(yōu)于單一的MOSA算法。此外, MOSA算法終值對應的權重為ω1=0.61、ω2=0.39,而MOSA-LM算法采用了變權重迭代方法,第71次迭代后的權重為ω1=0.45、ω2=0.55,輸出結果的優(yōu)化偏重程度低于隨機權重的MOSA算法。圖8為響應誤差,圖9為MOSA-LM輸出的PID參數(shù)。 圖7 適應度函數(shù)值Fig.7 Curve of the fitness function 圖8 誤差曲線Fig.8 Curve of error 圖9 PID參數(shù)變化曲線Fig.9 Curve of PID parameter change process 為了體現(xiàn)時變信號作用下算法迭代過程的時滯問題對系統(tǒng)控制效果的影響,分別以幅值為1的正弦和方波信號作為輸入,以驗證系統(tǒng)對時變信號的跟蹤能力。 圖10為關節(jié)對正弦信號的跟蹤曲線。圖10(a)、圖10(b)中,PID和MOSA-PID控制的最大跟蹤誤差分別約2.7%和1.8%,而MOSA-LM-PID控制的最大跟蹤誤差小于1.1%。此外,PID控制不具備自主調節(jié)能力,所以其受關節(jié)彈性導致的響應滯后最明顯,而MOSA-LM-PID控制的滯后幅度最小。圖10(c)中,PID和MOSA-PID控制時的最大輸入飽和度分別約為40.4%、30.9%,而MOSA-LM-PID控制的最大輸入飽和度約23.8%,抗飽和能力更強。圖10(d)為MOSA-LM算法優(yōu)化下的PID參數(shù)變化過程。 圖10 系統(tǒng)對正弦信號的跟蹤曲線Fig.10 Tracking curve of the system for sinusoidal signals 圖11為系統(tǒng)對方波信號的跟蹤曲線。圖11(a)中,MOSA-LM-PID控制的超調量小于11%,調節(jié)時間小于0.25 s,相較于PID與MOSA-PID控制,MOSA-LM-PID控制下的柔性關節(jié)具有更好的動態(tài)性能。圖11(c)中,當給定信號大幅變化時,PID的控制輸入量最大飽和度達到了183%,超過飽和上限,將導致電機飽和;而MOSA-PID和MOSA-LM-PID在飽和約束的限制下其控制輸入量均未超過飽和上限,但MOSA-LM-PID控制時70.5%的最大輸入飽和度低于MOSA-PID控制88%的飽和度,具有更好的抗飽和能力。 圖11 系統(tǒng)對方波信號的跟蹤曲線Fig.11 Tracking curve of the system for square wave signal 利用一體化柔性關節(jié)測試平臺對所提方法進行實驗驗證,平臺如圖12所示。平臺左側為裝有固定外殼和支架的一體化柔性關節(jié),包含運動控制卡、驅動電機、諧波減速器(100∶1)和彈性元件??刂菩酒捎肨MS320F28335,利用CCSLink工具實現(xiàn)Simulnk模型與控制板卡的信號傳輸;電機采用額定值48 V、100 W、1 000 r/min、0.3 N·m的永磁無刷直流電機,用磁編碼器采集關節(jié)及電機的位置信號;右側負載電機為松下1 000 W低慣量伺服電機,用配套的MFDLNB3SE伺服驅動器進行驅動控制;平臺裝有0~100 N·m的應變片式力矩傳感器,檢測關節(jié)輸出力矩并通過采集卡傳輸至PC端。 圖12 實驗測試平臺Fig.12 Platform for experimental testing 電機設計一般預留額定值3~5倍的可調裕度,為避免過度飽和造成電機損壞,取|u|max=1.5 N·m。給定軌跡5sin(πt),實驗結果如圖13所示。圖中,給定信號快速大幅度的變化,使PID的控制輸入在飽和限制下出現(xiàn)平頂,影響了輸出對給定信號的跟蹤;而MOSA和MOSA-LM的控制輸入僅在啟動時達到飽和上限,隨后振蕩下降并快速穩(wěn)定,飽和度始終小于50%。同時,MOSA-LM-PID控制的最大跟蹤誤差小于1.5%,調節(jié)時間小于0.5 s,均優(yōu)于MOSA-PID控制。 圖13 實驗結果1Fig.13 Experimental results 1 圖14為跟蹤方波信號的實驗結果,令關節(jié)輸出角度在5 s時由1 rad反向旋轉至-1 rad。圖中,飽和約束對PID的控制效果產(chǎn)生顯著影響,關節(jié)輸出無法有效跟蹤給定信號,而MOSA和MOSA-LM對PID參數(shù)的持續(xù)優(yōu)化使關節(jié)控制力矩始終滿足飽和約束,且均能有效跟蹤給定信號。同時, MOSA-LM-PID控制小于0.4 s的調節(jié)時間,以及信號突變時小于5%的響應超調量,均優(yōu)于MOSA-PID控制。實驗與仿真結果的一致性,證明了所提方法的有效性和優(yōu)勢性。 圖14 實驗結果2Fig.14 Experimental results 2 針對柔性關節(jié)驅動電機飽和問題,本文提出利用MOSA-LM算法優(yōu)化PID參數(shù)的抗飽和方法。以系統(tǒng)跟蹤誤差和調節(jié)時間為優(yōu)化目標,以飽和約束為限制條件的優(yōu)化模型,能夠在避免電機進入飽和的同時提高系統(tǒng)動態(tài)性能;提出的組合優(yōu)化方法,先由MOSA算法快速縮小最優(yōu)解所在區(qū)域,再由LM算法快速收斂到全局最優(yōu)解,減少無效搜索的同時提高了收斂速度和精度;改進的權重賦值方法能夠根據(jù)目標變化率來判斷是否存在優(yōu)化偏重問題,保障了誤差和調節(jié)時間的同步優(yōu)化。實驗結果表明,所提方法有效降低了驅動電機的控制輸入飽和度,并且縮短了系統(tǒng)調節(jié)時間,提高了跟蹤精度。3.2 歸一化L-M算法
3.3 組合優(yōu)化算法實現(xiàn)
4 仿真與實驗分析
5 結 論