朱正龍,湯茂銀,孔 麗,汪玉蘭
(1.遵義師范學(xué)院工學(xué)院,貴州遵義563002;2.湖南機電職業(yè)技術(shù)學(xué)院汽車工程學(xué)院,湖南長沙410000)
基于LabVIEW與Matlab的氣動位置系統(tǒng)模型辨識及分析
朱正龍1,湯茂銀2,孔麗1,汪玉蘭1
(1.遵義師范學(xué)院工學(xué)院,貴州遵義563002;2.湖南機電職業(yè)技術(shù)學(xué)院汽車工程學(xué)院,湖南長沙410000)
復(fù)雜系統(tǒng)數(shù)學(xué)模型的建立,采用傳統(tǒng)的計算方法需要對整個系統(tǒng)的每個子系統(tǒng)進行詳細的分析計算,往往需要耗費大量的時間;作者利用LabVIEW與Matlab系統(tǒng)辨識工具箱對氣動位置閉環(huán)控制系統(tǒng)進行模型參數(shù)辨識,得到復(fù)雜系統(tǒng)的數(shù)據(jù)模型,大大節(jié)省了系統(tǒng)數(shù)學(xué)模型建立的時間;作者對所建立的模型進行階躍響應(yīng)特性分析,從曲線可以看出辨識的模型能較好地實現(xiàn)階躍響應(yīng),說明此方法建立的模型是有效的。
LabVIEW;模型辨識;氣動位置系統(tǒng)
氣動位置閉環(huán)控制系統(tǒng)在自動化生產(chǎn)線、工業(yè)機器人等領(lǐng)域運用非常廣泛。在實際運用中,通常需要高精度的精準控制,必須建立各個子系統(tǒng)的準確數(shù)學(xué)模型。對于一個完整的氣動控制系統(tǒng),使用傳統(tǒng)的方法建立整個系統(tǒng)的數(shù)學(xué)模型是一項非常復(fù)雜、繁瑣和費時的工作。基于此,本文利用LabVIEW與 Matlab系統(tǒng)辨識工具箱對氣動位置閉環(huán)控制系統(tǒng)進行模型參數(shù)辨識,大大節(jié)省了系統(tǒng)數(shù)學(xué)模型建立的時間,并對所建立的模型進行階躍響應(yīng)特性分析,從曲線可以看出辨識的模型能較好地實現(xiàn)階躍響應(yīng),說明此方法建立的模型是有效的。
氣動位置控制數(shù)據(jù)采集系統(tǒng)主要由無桿氣缸、電比例閥、采集卡、模擬式位置傳感器和計算機等組成,如圖1所示。
圖1 為氣動位置控制系統(tǒng)原理圖
控制過程:將給定值與反饋值輸入控制器,控制器控制比例閥,比例閥控制無桿氣缸。同時給定值與反饋值經(jīng)過數(shù)據(jù)采集卡輸入計算機進行存儲分析。
1.1氣動位置系統(tǒng)數(shù)據(jù)采集
圖2 系統(tǒng)數(shù)據(jù)采集硬件接線圖
本文采集了1000組數(shù)據(jù):[1.525376 2 1.525376 2 1.525376 2…1.617052 2 3.094054 4],圖3為1000組數(shù)據(jù)中的一段輸入與反饋數(shù)據(jù)圖示,圖4為數(shù)據(jù)采集顯示與存儲程序。程序中選用波形圖標對數(shù)據(jù)進行顯示,用測量文件(LVM)對數(shù)據(jù)進行存儲,以便隨時對數(shù)據(jù)進行調(diào)用分析。
圖3 M序列激勵信號氣缸位置顯示
圖4 數(shù)據(jù)采集顯示與存儲程序
2.1系統(tǒng)辨識的基本原理
系統(tǒng)模型辨識是基于輸入與反饋數(shù)據(jù)的基礎(chǔ)上,從一組模型數(shù)據(jù)中,確定一個與研究系統(tǒng)等價的數(shù)學(xué)模型。
2.2最小二乘法ARX模型辨識基本原理
本文選用MATLAB中的ARX(AutoRegressive eXogenous)模型來對模型進行辨識,先假設(shè)所研究的模型具有ARX結(jié)構(gòu)。ARX模型結(jié)構(gòu)可表示為:
2.3ARX模型辨識在MATLAB中的實現(xiàn)
在MATLAB中,系統(tǒng)辨識工具箱經(jīng)過數(shù)據(jù)預(yù)處理、模型結(jié)構(gòu)辨識、模型參數(shù)辨識與模型驗證來完成模型的建立;通過多個函數(shù)的組合完成數(shù)據(jù)的預(yù)處理,再進行模型結(jié)構(gòu)辨識,即根據(jù)實驗對研究對象進行特性假設(shè);模型類確定后,根據(jù)采集的輸入與響應(yīng)數(shù)據(jù),確定模型結(jié)構(gòu)參數(shù),再進行驗證,以檢驗?zāi)P偷目煽啃浴?/p>
2.4ARX模型的氣動位置系統(tǒng)模型辨識
2.4.1數(shù)據(jù)預(yù)處理
本文研究的是閉環(huán)氣動位置系統(tǒng),用來完成系統(tǒng)辨識的數(shù)據(jù)為一組單輸入單輸出數(shù)據(jù),共81組數(shù)據(jù)。數(shù)據(jù)的輸入由程序內(nèi)部激勵電壓產(chǎn)生,輸出的數(shù)據(jù)為無桿氣缸上模擬式位置傳感器的電壓信號。為了消除數(shù)據(jù)中的線型或緩慢變化數(shù)據(jù),需要對數(shù)據(jù)進行預(yù)處理。設(shè)定u(k)為激勵電壓,y(k)為模擬式位置傳感器測量的無桿氣缸實際位置反饋值的響應(yīng)信號。
u為81個電壓采樣輸入值,y為81個無桿氣缸位置反饋值,采樣頻率為100Hz。MATLAB的系統(tǒng)辨識工具箱數(shù)據(jù)處理采用iddata進行,而u、y都是一維的向量,因此需要將u、y轉(zhuǎn)化為iddata對象,Data=iddata(y,u,0.01),Data對象包含了所研究系統(tǒng)的輸入與響應(yīng)參數(shù)。
Data=[1.525376 2 1.525376 2 1.525376 2…1.617052 2 3.094054 4];導(dǎo)入81組據(jù);
u=data(2:2:162);%81組氣缸位置輸入值;
y=data(1:2:161);%氣缸反饋值,即系統(tǒng)輸出值;
u=u’;
y=y’;%將輸入輸出向量轉(zhuǎn)化為列向量形式,以滿足iddata函數(shù)式要求;
Data=iddata(y,u);%生成包含輸入、輸出數(shù)據(jù)的iddata對象;
plot(Data);%顯示輸入輸出數(shù)據(jù)曲線,如圖5所示;
position=iddata(y,u);
position.InputName='電壓';%激勵電壓;
position.OutputName='氣缸位置';%氣缸實際位置表示;
position=iddata(y,u);%重新生成包含輸入、輸出數(shù)據(jù)的iddata對象;
position=detrend(position);%數(shù)據(jù)預(yù)處理;
Datai=position(1:40);%取數(shù)據(jù)前半部分;
Datav=position(40:81);%取數(shù)據(jù)后半部分;
圖5 原始數(shù)據(jù)曲線
采用MATLAB系統(tǒng)辨識工具箱的drend函數(shù)來對數(shù)據(jù)進行處理,以消除數(shù)據(jù)的趨勢項,把測量的數(shù)據(jù)變成均值為零。數(shù)據(jù)預(yù)處理結(jié)果如圖6所示。
圖6 加預(yù)處理后的數(shù)據(jù)曲線
從圖6可看出,經(jīng)過預(yù)處理后的數(shù)據(jù)消除了數(shù)據(jù)中的趨勢項,得到了比較理想的曲線。
2.4.2確定模型結(jié)構(gòu)類型和階次
MATLAB辨識工具箱調(diào)用ARX模型參數(shù)格式的形式為:M=ARX(DATA,ORDERS)其中,ORDERS=[na nb nk]為模型階次向量,DATA為研究系統(tǒng)模型辨識的輸入與響應(yīng)數(shù)據(jù)。模型結(jié)構(gòu)函數(shù)為selstruc,AIC極小化模型函數(shù)為:nn=selstruc(v,‘a(chǎn)ic’),其中,v為模型損失函數(shù)。要求出模型的階次需要得到模型結(jié)構(gòu)的損失函數(shù),計算多個單ARX模型損失函數(shù)的函數(shù)為arxstruc,調(diào)用格:V=arxstruc(Data,Data,NN);其中,第1個Data為模型辨識的輸入、輸出數(shù)據(jù)向量或矩陣;第2個Data為驗證的輸入、輸出數(shù)據(jù)向量或矩陣;NN模型結(jié)構(gòu)參數(shù)矩陣,NN每一行的形式為:nun=[an nab no]。
程序代碼為:
V=rostrum(Datai,Datav,struc(1:10,1:10,1:10));%計算多個單ARX模型的損失函數(shù);
nn=selstruc(V);%確定模型參數(shù)結(jié)構(gòu);
根據(jù)氣動位置控制系統(tǒng)的特性,選擇組合nn=[5 5 1]。
2.4.3確定模型參數(shù)與模型驗證
在MATLAB中,調(diào)用ARX函數(shù)進行模型參數(shù)驗證,程序如下:
M=arx(Data,[5 5 1]);%確定ARX模型參數(shù)
運行的模型結(jié)果:
Discrete-timeIDPOLYmodel:A(q)y(t)=B(q)u(t)+e(t)
A(q)=1+0.7175q^-1+1.825q^-2+2.432q^-3+0.3724 q^-4+2.09q^-5
B(q)=0.4743q^-1+1.313q^-2+1.829q^-3+0.2387 q^-4+1.616q^-5
由此得到模型的傳遞函數(shù)為:
得到模型以后,對ARX模型的有效性進行驗證。用一組去除趨勢項的輸入與響應(yīng)數(shù)據(jù)對模型進行驗證,比較模型輸入與系統(tǒng)實際反饋值之間的誤差,從圖7可以看出,模型輸出曲線和實際曲線重合較好。
圖7 模型輸出曲線和實際曲線
2.5模型特性分析及參數(shù)整定
2.5.1模型處理
經(jīng)過辨識得到離散閉環(huán)傳遞函數(shù)模型,為了對氣動位置控制系統(tǒng)進行特性分析,需要去除閉環(huán)模型離散環(huán)節(jié),并進行連續(xù)化處理。根據(jù)氣動位置系統(tǒng)的特征,先將其降為三階的模型系統(tǒng),再對模型進行特性分析,最后得到連續(xù)的三階數(shù)學(xué)模型:
2.5.2特性分析及參數(shù)整定
由此得到系統(tǒng)的傳遞函數(shù)為:
應(yīng)用Ziegler-Nichols方法求PID三個參數(shù),階躍響應(yīng)曲線如圖8所示。進而求出參數(shù),Km=0.25744,Wm=128.47,Km=0.19334,Kd=0.012522,Ki=7.4628。從圖9ID閉環(huán)系統(tǒng)階躍響應(yīng)曲線可以看出,當(dāng)系統(tǒng)引入PID控制后,氣動系統(tǒng)能較好地實現(xiàn)階躍響應(yīng),從而說明所建立的模型是有效的。
圖8 PID控制前后階躍響應(yīng)圖
本文采用LabVIEW與Matlab對氣動位置閉環(huán)控制系統(tǒng)進行數(shù)據(jù)采集存儲分析,采用基于最小二乘法的ARX方法對其進行模型辨識,最后對所建立的數(shù)學(xué)模型進行階躍響應(yīng)分析,結(jié)果證明所建立的模型是有效的。
[1]劉憲林,杜曉勇,田云峰,等.Matlab在水輪機模型辨識中的應(yīng)用[J].電力自動化設(shè)備,2007,(12):85-87.
[2]齊曉慧,田慶民,董海瑞.基于Matlab系統(tǒng)辨識工具箱的系統(tǒng)建模[J].兵工自動化,2006,(10):88-90.
[3]孫書立,胡守印.MATLAB在熱工系統(tǒng)辨識中的應(yīng)用[J].科學(xué)技術(shù)與工程,2005,(5):309-312.
[4]劉明月.水箱液位系統(tǒng)的RBF-ARX模型與預(yù)測控制的研究[D].長沙:中南大學(xué),2014.
[5]董玲,曾佳,楊晶晶,等.基于LabVIEW和Matlab混合編程的在線信號與線性系統(tǒng)實驗[J].實驗室研究與探索,2014,(12):113-116.
[6]徐曉峰,朱德森.基于DSP的伺服控制系統(tǒng)設(shè)計[J].工業(yè)控制計算機,2003,(5):26-27.
[7]姚巍.自行車機器人系統(tǒng)辨識及MATLAB仿真[D].北京:北京郵電大學(xué),2008.
[8]戴敬,王世立.LabVIEW基礎(chǔ)教程[M].北京:國防工業(yè)出版社,2002.3-20,157-164.
[9]馬建明.數(shù)據(jù)采集與處理技術(shù)[M].西安:西安交通大學(xué)出版社,1998.50-78.
(責(zé)任編輯:朱彬)
On the Cognition and Analysis of Pneumatic Position System Model based on LabVIEW and Matlab
ZHU Zheng-long1,TANG Mao-yin2,KONG Li2,WANG Yu-lan1
(1.Engineering College,Zunyi Normal College,Zunyi 563002,China;2.School of Automotive Engineering,Hunan Mechanical&Electrical Polytechnic,Changsha 410000,China)
The establishment of complex system model for math needs to adopt traditional calculating method to make a detailed study of the every sub-system of the whole system,which must take much time;LabVIEW and Matlab are used to make an identification of pneumatic position closed-loop control system in terms ofparameter model,and a complex systematic data model is attained,which saves much time to set up systematic math model;a step-response analysis is made of the features of the established model;and from the curve,we can see that the identified model can better serve the function of step response,proving that this method is effective.
LabVIEW;model identification;pneumatic position system
TP273
A
1009-3583(2016)-0106-04
2015-12-04
貴州省科學(xué)技術(shù)聯(lián)合基金項目(黔科合LH字[2015]7045號)
朱正龍,男,貴州遵義人,遵義師范學(xué)院工學(xué)院工程師,碩士,主要從事流體傳動與控制的科研和教學(xué)工作。