黃濤, 班曉軍, 吳奮, 黃顯林
(1.哈爾濱工業大學 控制理論與制導技術研究中心,哈爾濱 150001;2.Department of Mechanical and Aerospace Engineering,North Carolina State University, Raleigh 27695-7910, USA)
磁懸浮系統具有低阻力、無噪聲、壽命長等特點,在交通、機械、材料、電器等諸多領域都有著廣泛的運用。磁懸浮球系統具有非線性、開環不穩定等特性, 又因其結構簡單,而經常被用來作為驗證控制算法的研究對象。
針對磁懸浮球系統,學者們提出了許多先進的控制算法[1],包括變結構控制[2]、模糊控制[3-5]、神經網絡控制[6-7]、魯棒控制[8-9]等等。文獻[2]對存在干擾和抖動的磁懸浮球實驗平臺,通過積分補償設計了離散滑模變結構控制器;文獻[3-4]采用了模糊控制,在磁懸浮系統控制上起到了良好的效果;文獻[5]將模糊控制與滑??刂葡嘟Y合,進一步提高了磁懸浮系統的控制精度;文獻[6-7]使用RBF神經網絡控制器,對系統進行辨識后進行了神經網絡自適應狀態反饋控制器設計,在磁懸浮系統控制上也取得了良好的效果。
磁懸浮球系統在建模的過程中做了很多假設(如忽略磁漏、邊際效應等),一些物理參數難以準確獲得,這些問題都制約了建模精度,給基于精確模型的控制方法的設計帶來了困難。而PID控制、模糊控制等,雖然不需要精確的模型,但這些方法需要研究者根據經驗或實驗來選擇合適的控制規則或參數,受人為因素影響較大,且很難給出在特定指標下的最優控制。
針對以上問題,本文提出一種基于強化學習的Q網絡自學習控制方法,在無需系統模型的情況下,通過強化學習方法設計出一種磁懸浮系統自學習控制器。在基于Q網絡的強化學習算法訓練過程中,由于系統穩態的數據遠多于系統調節過程的數據,從而導致網絡對系統不同初狀態的泛化能力較弱。針對以上問題,本文首次提出基于系統加權平均狀態(weighted average state,WAS)的訓練算法,通過系統狀態濾波值,自適應調節每回合訓練的步數,提早結束每回合的訓練。最后通過數值仿真驗證了磁懸浮系統自學習控制器的有效性。數值仿真結果表明,相比常規的控制算法,在強化學習訓練中,本文提出的WAS算法能夠保證數據記憶庫中有更多系統調節狀態的數據,從而提高了網絡對系統不同初狀態的調節能力。
本研究中,采用文獻[10]中磁懸浮球系統的結構以及具體參數,磁懸浮球控制系統結構如圖1所示。

圖1 磁懸浮球控制系統結構圖Fig.1 Structure of magnetic levitation ball control system
圖中:以電磁下表面中點為原點o,豎直向下為正方向建立坐標系;x為小球距原點位移;d0為小球期望工作點;d為小球相對工作點的位移。
將小球看作質點,假設在氣隙中磁場分布均勻,并忽略磁場的渦流、磁滯等非線性因素。系統的運動學方程如下:
(1)
方程中參數含義如表1所示。

表1 系統參數
強化學習(reinforcement learning,RL)是一種無監督機器學習算法,它通過智能體與環境的交互進行探索,再通過交互信息對采取的動作進行評價,進一步指導后續動作,最終得到最優的動作策略[14]。
Q學習(Q-learning)是一種基于狀態-行為值的異策略、無模型時序差分強化學習方法[15-16]。狀態-動作值函數Q(s,a)定義如下:
(2)
即在狀態s下,根據策略π采取動作a取得的期望累計回報,其中Rt+k+1為t+k+1步的即時回報。
DeepMind公司于2013年首次提出深度Q學習(DQN)算法,并于2015年在Nature上提出改進的DQN算法[17]。相比于傳統的基于神經網絡的Q學習方法,其提出了兩方面改進:設置記憶庫,以及設置兩個值函數網絡,用以解決基于神經網絡Q學習環節中,神經網絡訓練不穩定、難收斂問題。
DQN算法中,值函數網絡的損失函數設置如下:
(3)
值函數更新如下:
(4)
其中:θ、θ-為值函數網絡參數;α∈(0,1)為學習步長。
獎勵函數是強化學習的優化指標,決定了最終策略的性能。本文的目標是通過迭代學習,最終獲得能使小球穩定地懸浮于指定工作點的控制策略。首先定義變量
Δd=|dold|-|dnew|。
(5)
其中:dold為小球上一時刻相對目標點位移;dnew為小球當前時刻位移;Δd反應了小球距目標點的距離隨時間變化的趨勢。
設計基于位移誤差的獎勵函數
(6)
其中:dmax為小球允許調節范圍;d為小球距目標點的偏差;r1為距離誤差獎勵;相對上一時刻,小球朝向目標點運動,函數值為正,反之為負。
為提高系統穩定性,設計基于小球速度的獎勵如下:
(7)
其中:vmax為最大允許速度;v為小球實時速度;r2為速度獎勵,小球速度絕對值越小,函數值越大,此獎勵為系統增加了阻尼項,以提高系統的穩定性。
以上獎勵函數都是基于標量進行設計,為了讓小球具有向工作點運動的趨勢,提高強化學習的收斂速度,本文還設計了基于運動方向的獎勵函數
(8)
當小球向工作點運動時,函數值為1,反之為-1。總獎勵函數R為三者的加權和,即
R=a1×r1+a2×r2+a3×r3。
(9)
其中a1、a2、a3為加權系數。
為了實現連續狀態空間下的系統控制,本文設計了基于Q網絡的自學習控制器。以小球距工作點的偏移量、速度、以及控制電流作為控制器的狀態輸入,電壓等距離散為15份,作為強化學習的有限動作空間,亦為系統的控制輸入,設計基于Q網絡的強化學習控制器如圖2所示。

圖2 系統控制框圖Fig.2 Block diagram of system control
使用DQN算法中經驗回放、單獨設置目標網絡的方法來訓練Q網絡。將系統狀態作為網絡輸入,動作空間中每個動作對應的狀態值作為輸出,設計隱藏層含有20個節點的兩層神經網絡作為估值網絡及目標網絡,如式(10)所示,采用relu作為隱藏層激活函數,網絡結構如圖3所示。

圖3 Q網絡結構Fig.3 Structure of Q-network

(10)
在強化學習訓練中,通常以連續運行步數、以及智能體運動范圍作為控制每回合結束的指標。針對穩定控制問題,隨著訓練過程中網絡逐漸收斂,每回合系統的調節時間遠小于系統處于穩態的時間,從而使強化學習記憶庫中,系統調節過程的數據逐漸被穩態數據所淹沒,導致網絡對系統不同狀態的調節能力變弱。
為了提高網絡對不同初始狀態的泛化能力,在常規算法的基礎上,本文提出了一種基于系統加權平均狀態(weighted average state,WAS)的訓練算法,本文稱之為WAS訓練方法。具體來講,首先定義系統位移的漸消加權平均值形式如下:
avg_dk=(1-λ)(dk+λdk-1+λ2dk-2+…)=
(1-λ)dk+λ(1-λ)(dk-1+λdk-2+…)=
(1-λ)dk+λavg_dk-1。
(11)
其中,權值λ∈(0,1),dk為k時刻小球相對目標工作點的位移。每回合訓練開始時,初始化avg_d0=d0,當avg_dk 為了平衡學習策略中對未知狀態空間的探索以及對已獲得知識的利用,訓練過程中采用強化學習中常用的ε-貪婪策略,策略定義如下: (12) 其中:ε∈[0,1]為動作探索概率;a(st)為st狀態下選擇的動作。每次進行動作選擇時,以1-ε的概率采用貪婪策略選擇最大值函數對應的動作;以ε的概率在所有動作中以均勻隨機取樣的方法進行動作選擇,以探索新策略。 綜上,基于WAS的強化學習訓練算法流程如圖4所示。 圖4 算法流程圖Fig.4 Algonithm flowchart 設置仿真步長為0.1 ms,使用四階龍格庫塔法進行解算,控制系統的采樣周期為1 ms。 獎勵函數取值如下: R=2.2r1+r2+0.3r3。 由于系統主要目標是在工作點的穩定控制,因此基于距離的獎勵函數r1取較大的權值,而r3為離散值,為了提高策略的穩定性,所以賦予其較小的權值。 為了在訓練前期探索更多的策略,本文采用了時變ε設置,取ε初值為1,并在訓練的每一時間步中以0.000 1的幅值遞減,直到變為0.1不再變化。 設置經驗回放記憶庫的大小為4 000,訓練步數超過4 000后,采用先進先出的原則更新記憶庫。設置學習率α=0.01,折扣系數γ=0.9。初始化神經網絡的權重初值為[0, 0.3]的均勻隨機數,初始化偏置為0.1。每步訓練時,從經驗回放記憶庫中均勻選取32組數據訓練Q估值網絡。 訓練過程中,每隔150步,通過復制Q估值網絡參數更新Q目標網絡。首先進行50回合隨機嘗試,然后進行450回合的訓練,每回合運行步數上限為1 000步。訓練中設置小球的調節范圍為工作點附近3 mm,小球速度調節范圍為0.3 m/s。取WAS的權值λ=100/101,位移的閾值dexp=0.05 mm。當小球運動速度或是位移超出調節范圍,或濾波狀態值小于設定閾值,即|avg_dk| 將WAS算法與不依賴系統濾波狀態的常規訓練算法對比,仿真結果如圖5、圖6所示。 圖5 常規算法訓練過程Fig.5 Training process of conventional algorithm 圖6 WAS算法訓練過程Fig.6 Training process of WAS algorithm 如圖所示,訓練250回合,在兩種算法下,系統都能連續運行1 000步,回合平均獎勵函數接近最大值,這表明兩種算法的收斂速度基本相同。后續訓練中,由于探索概率存在,系統會出現發散的情況,但累計獎勵總體趨于穩定,網絡訓練趨于收斂。 強化學習訓練結束后,利用訓練好的神經網絡控制器進行磁懸浮球系統控制仿真。取6~10 mm范圍內任意位置,零初始速度來初始化小球狀態,進行50次蒙特卡洛仿真實驗,對比實驗結果如圖7、圖8所示。 圖7 常規算法仿真Fig.7 Conventional algorithm simulation 圖8 WAS算法仿真Fig.8 WAS algorithm simulation 取0.5~3 s,即小球進入穩態后的位置數據,通過計算其均值與標準差來衡量控制精度。50次蒙特卡洛仿真實驗結果如表2所示。 表2 仿真結果對比 仿真結果表明,常規算法訓練得到的網絡控制器可控范圍為6~8.7 mm,當初始位置大于8.7 mm,系統發散;基于WAS算法訓練得到的Q網絡自學習控制器可以實現系統在6~10 mm范圍內任意初始位置下的穩定控制。基于常規算法的Q網絡控制器,50次實驗穩態誤差約為0.10 mm,基于WAS算法的控制器,50次實驗穩態誤差小于0.01 mm。因此,基于WAS算法的Q網絡控制器控制可以實現系統的穩定控制,同時相比較于常規訓練算法,WAS算法能有效提高網絡的泛化能力,擴大系統的有效控制范圍,減小穩態誤差。 為了考察系統的抗干擾性,在位置信號的測量輸出中加入了服從正態分布的隨機干擾信號。取小球的初始位置為6~10 mm范圍內任意值、初速度為零,進行仿真實驗,實驗結果如圖9所示。 圖9 量測噪聲干擾下WAS算法仿真Fig.9 Simulation of WAS algorithm under measurement noise interference 50次蒙特卡洛實驗結果如表3所示。 表3 量測噪聲下仿真結果 50次實驗穩態穩態誤差小于0.02 mm。仿真結果表明,在量測噪聲干擾下,Q網絡控制器依然可以實現系統的高精度穩定控制,系統具有良好的抗干擾能力。 本文針對磁懸浮球系統,在不依賴系統模型的情況下,利用強化學習方法,訓練得到了基于Q網絡的系統自學習控制器;設計了基于系統濾波狀態的WAS訓練算法,通過系統濾波狀態,自適應控制每回合訓練的步數,以提高網絡對系統不同初始狀態的泛化能力。最后通過數值仿真驗證了控制器的有效性,并得到以下結論:基于Q網絡的磁懸浮系統自學習控制器能夠在無模型情況下,實現系統垂直方向高精度的穩定控制,控制器具有良好的抗干擾能力;相比較常規訓練算法,WAS訓練算法能夠有效提高控制器的穩定控制范圍并減少穩態誤差。
3 數值仿真
3.1 參數設置
3.2 對比仿真結果







4 結 論