劉莉欣,曹云峰,莊麗葵,王 彪
(1.南京航空航天大學自動化學院,江蘇 南京210016;2.南京航空航天大學 高新技術研究院,江蘇南京210016)
四旋翼飛行器是一種具有4個螺旋槳的飛行器,并且4個螺旋槳呈十字形交叉結(jié)構(gòu),相對的四旋翼具有相同的旋轉(zhuǎn)方向,分2組,2組的旋轉(zhuǎn)方向不同.具有垂直起降穩(wěn)定懸停和自主巡航能力.與傳統(tǒng)的直升機不同,四旋翼直升機能通過改變螺旋槳的速度來實現(xiàn)各種動作.在軍事和民事領域具有廣闊的應用前景.
微小型四旋翼飛行器的姿態(tài)取決于4個直流電機的轉(zhuǎn)速[1].為了精確控制電機的轉(zhuǎn)速,通常對電機模型的傳遞函數(shù)進行辨識,電機的扭矩和角速度等輸出取決于當前輸入電壓.當然它們的這種相關性取決于電機的電感、電阻、轉(zhuǎn)動慣量以及摩擦因數(shù)和載荷等因素.用系統(tǒng)辨識方法確定的傳遞函數(shù)相對比機理建模準確,辨識得到直流電機模型的一種方法是利用遞推預報誤差方法(RPEM),該方法利用電壓作為輸入,位置信息作為輸出,有研究者利用一個加有噪聲的變化電壓作為輸入,位置信息作為輸出來進行辨識,然而極少能得到準確模型.系統(tǒng)辨識方法也廣泛應用于非線性機電一體化系統(tǒng)[2]、異步電機[3]、數(shù)控機床[4]和機器人技術[5]方面.本文直流電機模型的辨識將利用脈沖響應來得到輸出數(shù)據(jù),通過最速下降自回歸滑動平均模型算法(ARMA)來將原系統(tǒng)輸出角速度和辨識模型的角速度之間的誤差降到最小[6].建立起ARMA模型后通過脈沖響應辨識出系統(tǒng)的Z變換傳遞函數(shù)模型.
對于直流電機,根據(jù)機械和電壓守恒有以下2個等式:
其中T為電機扭矩,Tload為電機載荷扭矩,ω為電機角速度,J為電機轉(zhuǎn)動慣量,b為電機摩擦因數(shù),Vin為電機輸入電壓值,Vemf為電磁式電壓力,i為電機電流,R為電機繞組阻值,L是電機繞組電感.
另外扭矩T和電機當前電流存在比例關系,電磁電壓Vemf與電機角速度ω存在比例關系,
其中Km是電機機械常數(shù),Ke為電機電力常數(shù).
另外電機載荷的扭矩可以進一步化成包含載荷轉(zhuǎn)動慣量的形式.
將(3)~(5)式代入(1)、(2),將輸入電壓作為輸入,電機轉(zhuǎn)速作為輸出并且進行拉氏變換,得到電機輸入輸出模型,如圖1所示.
系統(tǒng)辨識指的是通過實驗數(shù)據(jù)(系統(tǒng)的輸入和輸出)來確定系統(tǒng)的模型.
在ARMA模型中,假設被辨識的系統(tǒng)滿足以下條件:
輸入輸出值可通過待辨識系統(tǒng)的仿真或物理模型的實際測量得到,輸入輸出在式(6)中用來計算,它們的關系如圖2所示,aj和bi隨著輸入輸出的值變化而變化,使得誤差最小.
其中p是有效數(shù)據(jù)采樣數(shù),每個序列最小二乘逼近值為:
這是我們需要的最小化誤差方程.
最速平滑下降算法可以在此處用來計算誤差的最小值,通過以下求導可得:
最速下降平滑算法被用來得到以下不斷更新的值:
其中α為步長,為了得到最佳步長值,可以利用線性搜索方法,但該方法相對用時較長,參數(shù)確定之后,我們就可以利用計算ARMA模型的Z變換來得到待估計模型的傳遞函數(shù):
我們知道,當系統(tǒng)的輸入為脈沖函數(shù)時,系統(tǒng)的輸出為y(n),等于該系統(tǒng)傳遞函數(shù)h(n).因此系統(tǒng)輸出的Z變換等于系統(tǒng)傳遞函數(shù)的Z變換值H(z).
利用脈沖輸入來使得電機模型產(chǎn)生角速度的輸出,然后根據(jù)已知的輸入和電機角速度的輸出,利用ARMA算法對模型參數(shù)aj和bi進行計算,從而就能得到待辨識的模型.
對實驗室飛行器上的電機進行辨識,已知飛行器400個輸入數(shù)據(jù),400個輸出數(shù)據(jù),取步長為5×10-7,5 ×10-6,1 ×10-5,辨識模型輸入輸出如圖3 ~5所示,可見步長取5×10-6更加接近電機實際輸出模型,步長越小,待辨識模型接近實際模型的速度變慢,而步長過大導致電機待辨識模型噪聲過大,最大值與最小值之間差距抖動劇烈,模型結(jié)構(gòu)相對不穩(wěn)定.因此我們?nèi)”容^接近實際模型的步長值5×10-6.圖6為實際電機模型輸出.
圖6與圖4很相似,一定程度保證了數(shù)據(jù)的有效性.通過已知的輸入輸出和本文第3章介紹的ARMA及最速下降平滑算法,可以計算出aj和bi的值,從而得到系統(tǒng)脈沖傳遞函數(shù)的模型.分別對系統(tǒng)進行3階、4階和5階的脈沖傳遞函數(shù)的計算,結(jié)果為
不同階數(shù)脈沖傳遞函數(shù)得到的系統(tǒng)進行階躍響應,曲線如圖7~9所示.
階躍響應輸入值為1,而電機采用的輸入值為前200個數(shù)據(jù)是0.15定值,后200個數(shù)據(jù)是0.圖3中可見,前200 ms時系統(tǒng)已達穩(wěn)定狀態(tài),電機輸出峰值在300~350 rad/s,部分值接近400 rad/s,我們對辨識出的3階系統(tǒng)模型進行階躍輸入,可見輸出值為2 000左右;對辨識出的4階系統(tǒng)模型進行階躍輸入,可見輸出值為3 000左右;而我們對辨識出的5階系統(tǒng)模型進行階躍輸入,可見輸出值為3 000左右.3階系統(tǒng)穩(wěn)定值與電機模型輸出輸入值相比,比4階與5階系統(tǒng)的更接近.可見3階系統(tǒng)更接近系統(tǒng)真實值.因電機系統(tǒng)本來階數(shù)較小,增大階數(shù)反而引進了不必要的誤差,并且階數(shù)越大引入的誤差反而越大,未來我們可以對輸出信號進行多種階數(shù)的測試,并對電機輸出值進行濾波處理,將野值進行剔除,這樣所得結(jié)果會更準確.
[1]楊成順,楊忠,張強.一種新型多旋翼飛行器的建模與反演控制[J].濟南大學學報:自然科學版,2013(1):52-58.
[2]ANGERER B T,HINTZ C.Online identification of a nonlinear mechatronic system[J].Control Engineering Practice,2004,12(11):1465-1478.
[3]KOUBAA Y.Recursive identification of induction motor parameters[J].Simulation Modelling Practice and Theory,2004,12(5):363-381.
[4]YAN M T,LEE M H,YEN P L.Theory and application of a combined self-tuning adaptive control and crosscoupling control in a retrofit milling machine[J].Mechatronics,2005,15(2):193-211.
[5]?STRING M,GUNNARSSON S,NORRL?F M.Closedloop identification of an industrial robot containing flexibilities[J].Control Engineering Practice,2003,11(3):291-300.
[6]郭永剛,許亮華,水小平.基于脈沖響應數(shù)據(jù)的ARMA法建模以及模態(tài)參數(shù)識別[J].地震工程與工程振動,2006,26(5):167-171.