唐逸凡,余 臻,劉利軍,2*
(1.廈門大學航空航天學院,福建 廈門 361102;2.廈門大學深圳研究院,廣東 深圳 518057)
電液伺服系統因其動態響應速率快、輸出功率大、容易實現高精度測量與控制,從而廣泛應用于電器工程、機械工程、航空航天、軍工制造等領域.但因其屬于典型的非線性系統,存在著模型參數不確定、交叉耦合干擾、外負載擾動、動力不確定性等因素,影響控制的精準度、抗干擾能力、動態響應性能等[1-2].
針對上述優缺點,國內外學者嘗試了各種方法對控制算法進行優化,例如自適應模糊控制、神經網絡、優化比例積分微分(PID)控制、滑模自適應控制等,提升了各自層面上電液伺服系統的控制效果.例如: 使用混合策略迭代訓練實現對于電液伺服系統多項式非線性模型的非線性魯棒控制[3]; 通過神經網絡優化控制消除初系統初撐壓力及啟動壓力波動影響[4]; 以添加速度補償的魯棒控制方法解決變剛度電液伺服系統在高頻控制中存在的超調現象[5].但由于電液伺服系統的非線性特性和系統油路中各部件的強耦合特點,電液伺服系統的精確解析模型難以獲得,僅通過基于模型的控制方法越來越難以滿足電液伺服系統控制分析與設計的需求[6].
深度強化學習(deep reinforcement learning,DRL)用于解決復雜的順序決策問題,其無模型學習的特點為控制研究提供了新的方向[7].基于模型的方法有良好的采樣效率,但必須依賴于模型估計與人工監督;而無模型的DRL方法擁有更好的逼近性能和易操作性.Liang等[8]提出一種融合滑模控制與強化學習算法相結合的容錯控制方法.Lin等[9]使用觸發式DRL實現了對具有執行器飽和特性的四旋翼無人機控制.在解決連續問題決策的DRL算法中,最優化獎勵函數設計是影響算法收斂性的核心問題.Kulkarni等[10]提出了一個層次化的DQN(deep Q-network)框架,通過設置和完成稀疏獎勵問題中的許多子目標來完成任務.為了探索一種有效且穩定的、用于連續狀態和動作空間的離線策略強化算法,Yang等[11]使用基于懲罰函數和屏障函數(barrier function,BF)的狀態轉換將狀態和輸入約束合并到DRL算法中.DRL算法基于無模型最大熵強化學習算法的特點正適合于電液伺服系統這類實際工作環境擾動復雜且非線性特征顯著的系統,設計高性能的回報獎勵函數能夠提高強化學習控制器的穩定性與魯棒性,訓練完成的離線非線性控制器具有很強的抗干擾能力.
綜合電液伺服系統和強化學習的特點,本文提出一種基于軟行為者評論家(soft actor-critic,SAC)算法的安全強化學習(safety reinforcement learning,SRL)控制方法.將強化學習中連續控制問題的穩態誤差控制目標設計為優化狀態空間稀疏獎勵,并使用基于屏障函數的安全屏障輔助獎勵項實現控制器的預置穩態安全性保障.該方法使得SAC算法在最大熵框架與隨機策略的較強魯棒性上進一步降低對動力學模型精度的要求,使控制器能夠直接有效地應用于實際的工業系統控制領域,有效提高最終離線控制器的魯棒性和控制性能.
本文所使用的SAC算法是一種在最大熵強化學習框架下通過在決策評價網絡與決策迭代網絡中交替進行決策學習的方法.其作為一種典型離線策略算法,不會出現在線策略算法在連續問題中因樣本更新而造成的樣本過載問題.無模型算法的高樣本利用率和強魯棒性決定了它可以很好地應用于實際控制系統而不僅僅是仿真[12].已有通過SAC算法實現多臂機械手的路徑規劃任務實例[13].
在決策評價網絡中,可以通過回報獎勵函數r與狀態價值函數V迭代計算狀態動作價值Q函數,其迭代過程表述為:
TπQ(st,at)=r(st,at)+γEst+1~p[V(st+1)],
(1)
式中,st為環境觀測狀態,at為動作輸入,p為隨機決策所對應的動作at的概率分布,γ是折扣因子,Tπ是貝爾曼期望備份算子,滿足Qk+1=TπQk.
狀態價值函數V表述為:
V(st)=Eat~π[Q(st,at)-logπ(at∣st)].
(2)
在決策迭代網絡中,將策略π限定在一個特定集合∏當中,例如帶有參數的高斯分布.使用KL散度對策略π進行更新的過程為
πnew=

(3)
式中,Zπold(st)為配分函數,不影響策略梯度.
SAC使用參數化的神經網絡Qθ(st,at)和πφ(at∣st)對狀態動作價值Q函數和策略π進行描述,并使用最小化貝爾曼殘差的方法訓練,決策評價網絡迭代學習過程表述為:
(4)

通過式(4)最小化期望KL散度來優化決策迭代網絡參數:
Jπ(φ)=Est~D[Eat~πφ[αlog(πφ(at∣st))-
Qθ(st,at)]].
(5)
更新后決策迭代網絡表示為:
at=fφ(εt;st),
(6)
式中,εt是根據先驗分布中采樣的隨機噪聲,一般工程中使用單位高斯分布.
將式(6)代入式(5),即SAC決策迭代網絡的迭代學習過程表述為:
Jπ(φ)=Est~D,εt~N[αlogπφ((fφ(εt;st))|st)-
Qθ(st,fφ(εt;st))].
(7)
強化學習馬爾科夫鏈中的回報獎勵函數設計是為了從長周期上選擇最優動作a,其狀態回報獎勵函數可表述為:
(8)
式中,st=(xt1,xt2,…,xtn)為強化學習代理環境中觀測到的狀態,xgi為對應的目標狀態量,bi為經驗參數,‖·‖m表示m-范數.
累計回報獎勵通常有以下3種表述形式:式(9)為無限折扣型,式(10)為有限和型,式(11)為平均獎勵型[14].
(9)
(10)
(11)
式中,γ為加權參數,決策迭代網絡的目標為最大化累計獎勵Vπ(st).
屏障函數的作用是保障系統在安全可行的狀態集C內運行.安全集是由系統的安全狀態不等式所約束的,使用連續可微函數h(x)將其定義為:
C={x∈Rn∣h(x)≥0}.
(12)
屏障函數可保證初始狀態在安全集內部的系統保持前向不變性.對于連續可微函數Bγ(x),其作為安全集C的有效屏障函數需具有以下性質[15]:
(i)Bγ(x)>0,?x∈C;
(ii)Bγ(x)→∞,?x∈?C,即安全集邊界處函數值趨于無窮;
(iii) 安全集內Bγ(x)單調遞減.
控制屏障函數是屏障函數在控制系統中對系統安全性保證的應用.在狀態空間表達式為x=f(x)+g(x)u的控制系統中,若存在楔函數K(h)[16]使h(x)滿足式(13),則其可作為該系統的控制屏障函數:
(13)
深度強化學習任務中,獎勵函數的設計多根據實際系統人為的設計“密集”獎勵,往往具有很強的局限性[17].本文針對電液伺服系統建立相應的強化學習環境,傳統的回報獎勵函數設計使用狀態誤差ei構造成式(14).
(14)
其中,系數ωi之間的耦合性難以調整,導致最終控制器的動態性能與魯棒性難以收斂.
本文提出了一種適用于電液伺服系統位置控制的優化狀態空間稀疏獎勵函數設計方法,將細分連續獎勵使用優化狀態空間正獎勵與非優化狀態空間無獎勵進行替代,并添加狀態屏障函數作為懲罰項使控制器能夠滿足預置的穩態安全性,除長時高幅干擾外能夠有效地提高系統的動態穩定性.電液伺服系統位置控制任務中,優化狀態空間的范圍決定了最終控制器的穩態誤差的大小,狀態有界的連續控制問題中,按歸一化后的有效狀態值以0.1的縮減比逐步縮小優化狀態空間的半徑,直至滿足控制需求.優化狀態空間系數獎勵可表示為:
(15)
其中,es為歸一化后的狀態誤差,MN是隨訓練輪次逐漸縮小的正獎勵區間.
本文中將屏障函數約束問題融入到強化學習的稀疏獎勵設計問題中,使得在優化狀態空間稀疏獎勵的正獎勵區間內安全屏障輔助獎勵懲罰項rb占主導地位,通過梯度下降引導最優策略向含有安全控制的最優策略傾斜.安全屏障輔助獎勵函數rb表示為:
rb=
(16)
其中,η是用于工程中實現真邊界值時的微小值,便于將無邊界懲罰轉化為歸一化有界值.
而安全輔助獎勵項實際是一種保守策略的優化,過早加入會導致控制器動態響應性能降低,故只需在最后一層優化狀態空間縮減時加入.對優化狀態空間稀疏獎勵做相應的處理,將非優化狀態空間無獎勵替換為-1:
(17)
綜上所述,電液伺服系統SRL控制方法中的回報獎勵函數設計為:
(18)
優化狀態空間稀疏獎勵可以高效地解決強化學習控制器回報獎勵函數設計困難的問題,并且能夠有效切合實際控制系統中的動態性能指標要求.本文所設計應用優化狀態空間稀疏獎勵函數的N次迭代SRL控制算法流程見算法1.
算法1
forj=1 toNdo
初始化網絡參數;
ifj=1 do
初始化網絡權值θj,1,θj,2,φj,1,φj,2;
else do
初始化網絡權值θj,1=θj-1,1,θj,2=θj-1,2,φj,1=φj-1,1,φj,2=φj-1,2;
初始化經驗池D←?;
fori=1 toEdo
隨機初始化環境,樣本采樣;
fort=1 toTdo
采樣動作值at=fφ(εt,st);
根據動作采樣下一狀態st+1;
計算單步獎勵rt;
將樣本集合{st,at,rt,st+1,d}加入經驗池D;
end for
從經驗池D抽取最小樣本集Dminbatch;
更新預測網絡參數φj,2;
更新評價網絡參數θj,1,θj,2;
更新策略網絡參數φj,1;
end for
end for
輸出策略網絡參數φj,1.
其中,Dminbatch訓練樣本為從經驗池中抽取的最小采樣集,含有128個以{st,at,rt,st+1,d}為最小元組的樣本,d為是否完成任務指標值,最終輸出的控制器為策略網絡的參數矩陣.
本章以電液伺服系統多項式非線性模型為研究對象,通過仿真實驗證明了所提出的電液伺服系統SRL控制方法具有良好的動態響應性能與較強的魯棒性,并對比了最小優化狀態空間下是否使用安全輔助獎勵項的方法,驗證了SRL控制方法能夠使最終控制器滿足預置的穩態安全性.
本文所使用的高精度電液伺服仿真模型為多項式非線性模型,可表述為一種以電液伺服系統狀態誤差作為狀態變量的非線性狀態空間表達式[3]:
(19)
式中,ei為系統狀態誤差,u為控制電壓輸入.模型參數取值為a1=-18.732 4,a2=6.215 1,a3=24.416 5,a4=-9.049 9,a5=-22.415 4,b1=-13.007 1.
本節中,強化學習的狀態空間變量由伺服作動筒位移反饋信號計算得到的狀態變量位移誤差積分值、位移誤差值和速度誤差值構成,表示為s=[se1,se2,se3].系統的動作空間即伺服閥的閥控電壓信號,故動作空間表示為a=aV.
實驗設置如下:伺服缸初始位置隨機,初始位置在區間[-1,1] cm,缸位移反饋精度為10-3mm.將每個單次迭代定義為T=2 000個時間步長,每步的時間間隔為dt=10 ms.完成單次迭代后對環境進行重新隨機重置.動作對象伺服閥閥控電壓的初始電壓為0 V,按照實際電液伺服實驗臺將閥控電壓限定在[-5,5] V區間內.初始時歸一化伺服缸速度服從分布U[0,1].當伺服缸位移誤差處于優化狀態空間范圍內連續500個步長,認為伺服缸已到達穩態,并結束本次迭代.
電液伺服系統SRL控制器的單次訓練時間為2 000 個時間步,本文設計的多層變獎勵空間的空間半徑分別為0.1,0.01以及0.001,共進行了3層策略迭代訓練,表1展示了決策網絡和評價網絡參數以及其他參數設置,圖1展示了訓練結果.優化狀態空間稀疏獎勵正獎勵空間半徑為0.001時,對應的系統穩態誤差允許范圍為±0.1 mm.

表1 電液伺服系統的強化學習控制器訓練參數Tab.1 Reinforcement learning controller training parameters for electro-hydraulic servo system

圖1 優化狀態空間稀疏獎勵下的電液 伺服系統強化學習控制器訓練過程Fig.1 Reinforcement learning controller training process of electro-hydraulic servo system with optimized state space sparse reward
基于第二次迭代得到的網絡參數,進行電液伺服系統SRL控制器訓練,不同系統對系統穩態安全域的需求不同,本文將穩態安全域設置為emax=emin=3 mm,η=10-12.圖2展示了訓練結果.
由圖1與2可知:優化狀態空間的設計彌補了稀疏獎勵下強化學習算法直接獲取最優正獎勵樣本困難的缺點;加入安全屏障輔助獎勵項的優化稀疏獎勵能夠實現系統安全控制器的預設安全性保障,保持優化狀態空間稀疏獎勵設計理念的同時也具有連續獎勵易收斂的特性.

圖2 電液伺服系統的SRL控制器訓練過程Fig.2 SRL controller training process of electro-hydraulic servo system

圖3 控制效果曲線Fig.3 Control effect curve
為了驗證本文作者所提方法的控制效果,首先將所提優化狀態獎勵空間下的電液伺服系統強化學習控制器與GA-PID控制器的控制性能進行仿真實驗.GA-PID無設計主觀性及性能未達最優的缺點,優化后的控制效果較傳統PID控制器提升較大[18].強化學習控制器的表達為訓練結束決策網絡對應系數矩陣,激活函數使用relu函數可在MATLAB中使用腳本函數實現.在3.1節所提高精度電液伺服多項式非線性模型下,利用MATLAB軟件進行仿真模擬.仿真實驗采用目標追蹤的方法進行,通過觀察追蹤曲線,對所提方法進行分析.
SRL控制器對于控制指令的整體跟蹤效果如圖3所示.復雜輸入信號在[7.5,8.5] s的時間加入擾動信號ω,其函數表示為:
ω(t)=5sin(2πt)+normrnd(0,1).
(20)
分析圖3可知,本文所提的優化狀態空間稀疏獎勵作用下的SAC強化學習控制器,在跟蹤復雜指令信號時整體的動態性能優于GA-PID優化控制器,并具有較強的抗干擾能力.SAC強化學習控制器降低了最大超調量,取得了更好的控制效果,并且實現了無靜差、無超調量,具有更快的響應速度和更小的控制誤差,其詳細動態性能如表2所示.

表2 階躍信號下系統動態性能指標Tab.2 System dynamic performance index under step signal
電液伺服系統SRL控制器的穩態安全控制效果對比結果如圖4所示.使用一個步長的滿量程控制電壓作為擾動,模擬電液伺服系統在極限工況下的突發故障.SRL實現了穩態下的安全控制目標,但相應使得過渡時間加長,損失部分動態性能.

圖4 SRL控制器穩態安全性控制效果對比Fig.4 SRL controller steady state safety control effect
本文提出了一種基于離線策略強化學習算法的安全控制方法,并將其用于電液伺服系統的位置控制.通過歸一化狀態空間隨機初值與最大熵強化學習的特點相結合的方法,解決普通強化學習對樣本要求高的問題,加快了控制器整定速度.使用優化狀態空間稀疏獎勵與安全屏障輔助獎勵懲罰項,完成對于電液伺服系統的SRL控制器快速收斂訓練,最后得到基于狀態的SRL離線控制策略.以高精度電液伺服多項式非線性模型為控制對象,與遺傳算法優化的PID控制方法進行對比.結果表明,本文所提的SRL控制算法有效縮減了控制誤差并提高了控制性能,能實現電液伺服系統精確位置控制,驗證了該算法的可行性.