于振中 周 楓
(江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院 無錫 214122)
電動負載模擬器是一種被動式力伺服系統(tǒng)[1],廣泛應(yīng)用于減速器的性能檢測等方面。當加載電機的加載指令為零時,由于慣性、控制滯后等因素的影響,驅(qū)動電機的運動會在傳動軸上產(chǎn)生多余力矩[2],多余力矩會大大增加電動負載模擬器的控制誤差。
現(xiàn)有多余力矩消除方法主要有結(jié)構(gòu)法和控制法[3]。結(jié)構(gòu)法通過改變驅(qū)動電機和加載電機之間的連接剛度來抑制多余力矩,例如增加彈簧桿[4]、蓄壓器等,但存在抑制效果不佳,對安裝精度要求較高等缺點。控制法利用算法對多余力矩進行補償消除,目前在工程上使用較多的是利用結(jié)構(gòu)不變性原理抑制多余力矩。王修巖等[5]在系統(tǒng)中加入了多路補償來提高加載精度,并設(shè)計了電動加載實驗裝置,驗證此方法的有效性。文獻[6]設(shè)計了基于力矩加載指令和加載電機速度的前饋控制器來消除擾動。上述方法能夠在一定程度上減小多余力矩,但是由于力矩加載系統(tǒng)是一個復(fù)雜且參數(shù)時變的非線性系統(tǒng),難以準確建模,因此該方法只能近似補償。
本文在前饋補償?shù)幕A(chǔ)上加入蟻群優(yōu)化算法,通過對PID 控制器參數(shù)進行尋優(yōu),在一定程度上解決了普通PID 控制器無法適應(yīng)系統(tǒng)非線性變化的問題。最后通過Matlab仿真對比實驗,驗證此方法在多余力矩抑制上的有效性和優(yōu)越性。
圖1 是電動負載模擬器結(jié)構(gòu)圖,其由力矩加載系統(tǒng)和驅(qū)動系統(tǒng)兩部分組成。其中驅(qū)動系統(tǒng)的位置擾動產(chǎn)生多余力矩,經(jīng)減速器傳遞到力矩加載端,在設(shè)計相關(guān)控制方法之前,需首先建立加載系統(tǒng)的數(shù)學(xué)模型。
圖1 電動負載模擬器系統(tǒng)結(jié)構(gòu)圖
本文選用的加載電機為直流電機,其動態(tài)方程為[7]
式中:um為電樞電壓,Rm為電樞電阻,im為電樞電流,Em為電樞反電動勢,KE為反電動勢系數(shù),θm為電機角位移,Tm為電磁力矩,Jm為電機轉(zhuǎn)動慣量,Bm為電機阻尼系數(shù),TL為電機輸出力矩。
轉(zhuǎn)矩傳感器數(shù)學(xué)模型為
式中:Kf為轉(zhuǎn)矩傳感器的扭轉(zhuǎn)剛度,θr為驅(qū)動電機經(jīng)減速器后的輸出角位移。
由式(1)、(2)可得加載系統(tǒng)的數(shù)學(xué)模型表達式為
驅(qū)動和加載電機輸出端的相對位置變化是影響加載轉(zhuǎn)矩大小的決定因素,因此采用驅(qū)動電機的位置輸出量作為前饋補償信號是最直接的方法[8]。根據(jù)2.1節(jié)得到的加載系統(tǒng)數(shù)學(xué)模型并利用結(jié)構(gòu)不變性原理,畫出的前饋補償框圖如圖2 所示,其中Gθ(s)為前饋補償環(huán)節(jié)。
圖2 增加前饋補償和PID控制的系統(tǒng)方框圖
在框圖中,引入PID 控制器GT(s)來提高系統(tǒng)的動態(tài)特性,各模塊滿足如下約束關(guān)系:
以力矩加載系統(tǒng)的轉(zhuǎn)矩指令信號和驅(qū)動電機的輸出角度θr作為系統(tǒng)輸入,則加載系統(tǒng)的輸出轉(zhuǎn)矩TL可表示為
若完全抑制多余力矩的大小,只需在系統(tǒng)力矩輸入指令為零時,消除θr(s)帶來的影響,因此有:
即Gb(s)的分子部分為零,聯(lián)立式(4)、(6)可得Gb(s)的分子部分表達式為
上式進一步變形可得到位置補償控制器Gθ(s)為
常規(guī)PID 控制器的參數(shù)不能在線調(diào)整,導(dǎo)致其無法很好地適應(yīng)系統(tǒng)非線性變化[9],使得前饋補償方法抑制多余力矩的效果大打折扣,本文采用蟻群算法對常規(guī)PID 控制器進行優(yōu)化,其結(jié)構(gòu)如圖3 所示。
圖3 蟻群算法優(yōu)化PID控制器的結(jié)構(gòu)圖
蟻群算法是根據(jù)螞蟻搜尋食物的特點,建立數(shù)學(xué)模型并用于解決最優(yōu)問題的一種方法[10]。在求解問題時,首先需要建立螞蟻搜索的路徑。
圖4 螞蟻搜索路徑示意圖
PID 控制器的三個參數(shù)中起主要調(diào)節(jié)作用的是比例和積分數(shù)值,為了降低算法的復(fù)雜度,本文采用結(jié)構(gòu)較簡單的PI 控制器,即待優(yōu)化的變量為Kp和Ki,二者均精確到小數(shù)點后兩位,各需要三個數(shù)來表示,每個數(shù)的范圍設(shè)為0~9。最后建立的路徑示意圖如圖4所示。
圖中共有6×10 個節(jié)點,表示螞蟻可能出現(xiàn)的位置,用N(xi,yLi)表示。螞蟻的初始位置為坐標原點,單次搜索的路徑為N(0,0)→N(x1,yL1)→N(x2,yL2)→…→N(x6,yL6),則該次搜索路徑下的 PI 控制器參數(shù)值為
在實際中可利用 Z-N 法[11]整定出大致的 Kp和Ki值,并在其附近范圍內(nèi)進行搜索,使螞蟻更易找到最優(yōu)解,從而加快算法的收斂速度。
根據(jù)文獻[12],本文選擇在實際工程中應(yīng)用較廣的ITAE作為適應(yīng)度函數(shù),其表達式為
式中:tk是當前的時間,e(t)為給定力矩與轉(zhuǎn)矩傳感器測得的實際力矩之間的差值。
螞蟻在搜索空間內(nèi)依靠信息素的指引不斷調(diào)整路徑,尋找最優(yōu)解[13~14]。對于 t 時刻位于節(jié)點 N(xi,yLi)的螞蟻來說,其狀態(tài)發(fā)生轉(zhuǎn)移的概率為
式中:τ(xi,yLi,t)為信息素殘留量,按照式(12)進行計算,η(xi,yLi,t)為信息素能見度,按照式(14)進行計算,ɑ 為殘留信息素的重要程度,b 為啟發(fā)信息的重要程度,二者均由算法初始化時給定。
式中:r 為信息素的揮發(fā)系數(shù),Δτk(xi,yLi,t)為節(jié)點N(xi,yLi)被第k 只螞蟻爬過后的信息素增加量,其計算公式如下:
式中:Q 為螞蟻完成一次搜索后釋放的總信息素量,F(xiàn)k為第k只螞蟻的適應(yīng)度函數(shù)值。
式中:為最優(yōu)路徑的下節(jié)點的縱坐標值。
蟻群算法優(yōu)化PID控制器的步驟如下:
1)初始化
對蟻群的群體規(guī)模n,最大迭代次數(shù)NC_max,初始信息素量以及上一小節(jié)中的ɑ、b、r、Q 完成設(shè)定。
2)單次尋優(yōu)過程
螞蟻從原點出發(fā),按照式(11)計算橫坐標相同而縱坐標不同的各個節(jié)點的狀態(tài)轉(zhuǎn)移概率,將概率最大的節(jié)點作為下一個節(jié)點。當螞蟻完成一次路徑搜索后,按照式(9)計算Kp和Ki值,運行電動負載模擬器系統(tǒng)得到適應(yīng)度函數(shù)值。將所有螞蟻進行以上尋優(yōu)過程,比較適應(yīng)度函數(shù)值,記錄本次最優(yōu)的 Kp和 Ki值。
3)按照式(12)更新信息素量,并將迭代次數(shù)加一。
4)重復(fù)步驟2)和3),直到迭代次數(shù)達到NC_max,輸出最優(yōu)的Kp和 Ki值。
利用圖2的系統(tǒng)方框圖在Matlab/Simulink中搭建電動負載模擬器仿真模型,利用S-Function 的m函數(shù)對蟻群算法進行編寫,為Kp和Ki賦值。
根據(jù)參考文獻[15],驅(qū)動電機的位置擾動頻率是影響多余力矩大小的重要因素。在仿真中給定加載電機轉(zhuǎn)矩信號為0,同時令驅(qū)動電機的位置信號為正弦信號,幅值為50rad,頻率分別取1Hz、2Hz、4Hz、8Hz,分別進行本文算法和常規(guī)PID 的仿真實驗,得到的實驗結(jié)果如圖5~8和表1所示。
圖5 頻率為1Hz時多余力矩波形
圖6 頻率為2Hz時多余力矩波形
圖7 頻率為4Hz時多余力矩波形
圖8 頻率為8Hz時多余力矩波形
隨著驅(qū)動電機角頻率的增加,兩種方法產(chǎn)生的多余力矩均增大,這是由于加載系統(tǒng)存在慣性和滯后環(huán)節(jié),控制電壓難以實時跟隨,且系統(tǒng)變化頻率越高,慣性和滯后表現(xiàn)的越明顯,控制誤差也越大。本文算法在不同頻率下產(chǎn)生的多余力矩均低于常規(guī)PID 控制,且分別減少了82.8%、78.2%、65.8%、26.8%。因此無論低頻還是高頻,本文算法在多余力矩的抑制效果上均要優(yōu)于常規(guī)PID 控制器。
表1 兩種方法產(chǎn)生最大多余力矩對比表
本文首先建立了基于前饋補償?shù)牧丶虞d系統(tǒng)數(shù)學(xué)模型,針對PID 控制器無法在線調(diào)整參數(shù)問題,提出了利用蟻群算法對PID 控制器參數(shù)進行優(yōu)化的控制策略。最后通過仿真實驗表明:本文算法對多余力矩的抑制效果要優(yōu)于常規(guī)PID控制器。
隨著驅(qū)動電機角頻率的增加,蟻群算法對PID控制器參數(shù)的尋優(yōu)過程跟不上系統(tǒng)的變化頻率,對多余力矩抑制的效果逐漸減弱,因此如何在高頻時提高算法對多余力矩的抑制能力,是以后研究工作的重點。