于振中 周 楓
(江南大學物聯網工程學院 無錫 214122)
電動負載模擬器是一種被動式力伺服系統[1],廣泛應用于減速器的性能檢測等方面。當加載電機的加載指令為零時,由于慣性、控制滯后等因素的影響,驅動電機的運動會在傳動軸上產生多余力矩[2],多余力矩會大大增加電動負載模擬器的控制誤差。
現有多余力矩消除方法主要有結構法和控制法[3]。結構法通過改變驅動電機和加載電機之間的連接剛度來抑制多余力矩,例如增加彈簧桿[4]、蓄壓器等,但存在抑制效果不佳,對安裝精度要求較高等缺點。控制法利用算法對多余力矩進行補償消除,目前在工程上使用較多的是利用結構不變性原理抑制多余力矩。王修巖等[5]在系統中加入了多路補償來提高加載精度,并設計了電動加載實驗裝置,驗證此方法的有效性。文獻[6]設計了基于力矩加載指令和加載電機速度的前饋控制器來消除擾動。上述方法能夠在一定程度上減小多余力矩,但是由于力矩加載系統是一個復雜且參數時變的非線性系統,難以準確建模,因此該方法只能近似補償。
本文在前饋補償的基礎上加入蟻群優化算法,通過對PID 控制器參數進行尋優,在一定程度上解決了普通PID 控制器無法適應系統非線性變化的問題。最后通過Matlab仿真對比實驗,驗證此方法在多余力矩抑制上的有效性和優越性。
圖1 是電動負載模擬器結構圖,其由力矩加載系統和驅動系統兩部分組成。其中驅動系統的位置擾動產生多余力矩,經減速器傳遞到力矩加載端,在設計相關控制方法之前,需首先建立加載系統的數學模型。

圖1 電動負載模擬器系統結構圖
本文選用的加載電機為直流電機,其動態方程為[7]

式中:um為電樞電壓,Rm為電樞電阻,im為電樞電流,Em為電樞反電動勢,KE為反電動勢系數,θm為電機角位移,Tm為電磁力矩,Jm為電機轉動慣量,Bm為電機阻尼系數,TL為電機輸出力矩。
轉矩傳感器數學模型為

式中:Kf為轉矩傳感器的扭轉剛度,θr為驅動電機經減速器后的輸出角位移。
由式(1)、(2)可得加載系統的數學模型表達式為


驅動和加載電機輸出端的相對位置變化是影響加載轉矩大小的決定因素,因此采用驅動電機的位置輸出量作為前饋補償信號是最直接的方法[8]。根據2.1節得到的加載系統數學模型并利用結構不變性原理,畫出的前饋補償框圖如圖2 所示,其中Gθ(s)為前饋補償環節。

圖2 增加前饋補償和PID控制的系統方框圖
在框圖中,引入PID 控制器GT(s)來提高系統的動態特性,各模塊滿足如下約束關系:

以力矩加載系統的轉矩指令信號和驅動電機的輸出角度θr作為系統輸入,則加載系統的輸出轉矩TL可表示為

若完全抑制多余力矩的大小,只需在系統力矩輸入指令為零時,消除θr(s)帶來的影響,因此有:

即Gb(s)的分子部分為零,聯立式(4)、(6)可得Gb(s)的分子部分表達式為

上式進一步變形可得到位置補償控制器Gθ(s)為

常規PID 控制器的參數不能在線調整,導致其無法很好地適應系統非線性變化[9],使得前饋補償方法抑制多余力矩的效果大打折扣,本文采用蟻群算法對常規PID 控制器進行優化,其結構如圖3 所示。

圖3 蟻群算法優化PID控制器的結構圖
蟻群算法是根據螞蟻搜尋食物的特點,建立數學模型并用于解決最優問題的一種方法[10]。在求解問題時,首先需要建立螞蟻搜索的路徑。

圖4 螞蟻搜索路徑示意圖
PID 控制器的三個參數中起主要調節作用的是比例和積分數值,為了降低算法的復雜度,本文采用結構較簡單的PI 控制器,即待優化的變量為Kp和Ki,二者均精確到小數點后兩位,各需要三個數來表示,每個數的范圍設為0~9。最后建立的路徑示意圖如圖4所示。
圖中共有6×10 個節點,表示螞蟻可能出現的位置,用N(xi,yLi)表示。螞蟻的初始位置為坐標原點,單次搜索的路徑為N(0,0)→N(x1,yL1)→N(x2,yL2)→…→N(x6,yL6),則該次搜索路徑下的 PI 控制器參數值為

在實際中可利用 Z-N 法[11]整定出大致的 Kp和Ki值,并在其附近范圍內進行搜索,使螞蟻更易找到最優解,從而加快算法的收斂速度。
根據文獻[12],本文選擇在實際工程中應用較廣的ITAE作為適應度函數,其表達式為

式中:tk是當前的時間,e(t)為給定力矩與轉矩傳感器測得的實際力矩之間的差值。
螞蟻在搜索空間內依靠信息素的指引不斷調整路徑,尋找最優解[13~14]。對于 t 時刻位于節點 N(xi,yLi)的螞蟻來說,其狀態發生轉移的概率為

式中:τ(xi,yLi,t)為信息素殘留量,按照式(12)進行計算,η(xi,yLi,t)為信息素能見度,按照式(14)進行計算,ɑ 為殘留信息素的重要程度,b 為啟發信息的重要程度,二者均由算法初始化時給定。

式中:r 為信息素的揮發系數,Δτk(xi,yLi,t)為節點N(xi,yLi)被第k 只螞蟻爬過后的信息素增加量,其計算公式如下:

式中:Q 為螞蟻完成一次搜索后釋放的總信息素量,Fk為第k只螞蟻的適應度函數值。

式中:為最優路徑的下節點的縱坐標值。
蟻群算法優化PID控制器的步驟如下:
1)初始化
對蟻群的群體規模n,最大迭代次數NC_max,初始信息素量以及上一小節中的ɑ、b、r、Q 完成設定。
2)單次尋優過程
螞蟻從原點出發,按照式(11)計算橫坐標相同而縱坐標不同的各個節點的狀態轉移概率,將概率最大的節點作為下一個節點。當螞蟻完成一次路徑搜索后,按照式(9)計算Kp和Ki值,運行電動負載模擬器系統得到適應度函數值。將所有螞蟻進行以上尋優過程,比較適應度函數值,記錄本次最優的 Kp和 Ki值。
3)按照式(12)更新信息素量,并將迭代次數加一。
4)重復步驟2)和3),直到迭代次數達到NC_max,輸出最優的Kp和 Ki值。
利用圖2的系統方框圖在Matlab/Simulink中搭建電動負載模擬器仿真模型,利用S-Function 的m函數對蟻群算法進行編寫,為Kp和Ki賦值。
根據參考文獻[15],驅動電機的位置擾動頻率是影響多余力矩大小的重要因素。在仿真中給定加載電機轉矩信號為0,同時令驅動電機的位置信號為正弦信號,幅值為50rad,頻率分別取1Hz、2Hz、4Hz、8Hz,分別進行本文算法和常規PID 的仿真實驗,得到的實驗結果如圖5~8和表1所示。

圖5 頻率為1Hz時多余力矩波形

圖6 頻率為2Hz時多余力矩波形

圖7 頻率為4Hz時多余力矩波形

圖8 頻率為8Hz時多余力矩波形
隨著驅動電機角頻率的增加,兩種方法產生的多余力矩均增大,這是由于加載系統存在慣性和滯后環節,控制電壓難以實時跟隨,且系統變化頻率越高,慣性和滯后表現的越明顯,控制誤差也越大。本文算法在不同頻率下產生的多余力矩均低于常規PID 控制,且分別減少了82.8%、78.2%、65.8%、26.8%。因此無論低頻還是高頻,本文算法在多余力矩的抑制效果上均要優于常規PID 控制器。

表1 兩種方法產生最大多余力矩對比表
本文首先建立了基于前饋補償的力矩加載系統數學模型,針對PID 控制器無法在線調整參數問題,提出了利用蟻群算法對PID 控制器參數進行優化的控制策略。最后通過仿真實驗表明:本文算法對多余力矩的抑制效果要優于常規PID控制器。
隨著驅動電機角頻率的增加,蟻群算法對PID控制器參數的尋優過程跟不上系統的變化頻率,對多余力矩抑制的效果逐漸減弱,因此如何在高頻時提高算法對多余力矩的抑制能力,是以后研究工作的重點。