李思遠,谷海宇,徐大富,趙 陽
(1. 哈爾濱工業(yè)大學 航天學院,黑龍江 哈爾濱 150001; 2. 上海宇航系統(tǒng)工程研究所,上海201108)
?
基于LabVIEW與MATLAB混合編程的自抗擾控制系統(tǒng)設計與仿真
李思遠1,谷海宇1,徐大富2,趙 陽1
(1. 哈爾濱工業(yè)大學 航天學院,黑龍江 哈爾濱 150001; 2. 上海宇航系統(tǒng)工程研究所,上海201108)
以直流力矩電機作為控制對象,對經(jīng)典PID控制系統(tǒng)進行改進,采用LabVIEW與MATLAB/Simulink的混合編程方法搭建了自抗擾控制系統(tǒng),并通過仿真接口工具包將其導入LabVIEW,以NI PXIe-8135控制器為下位機進行實時仿真,驗證了自抗擾控制系統(tǒng)相比經(jīng)典PID控制系統(tǒng)提高了系統(tǒng)的快速性、 精度及抗擾能力,同時驗證了聯(lián)合仿真的可行性.
PID控制; 自抗擾控制; 混合編程; 實時仿真
在目前工程控制領域中,經(jīng)典PID控制仍然作為主要的過程控制方法,是因為其工作原理與結構簡單易于實現(xiàn),但是在工程實際應用中存在許多缺陷,例如,直接對給定信號和輸出信號取誤差常常會在系統(tǒng)初始的時候出現(xiàn)很大的超調; 對誤差信號、 誤差微分信號與誤差積分信號的線性加和并不是最佳的組合方式; 在擾動隨時間變化的情況下,控制效果不理想等[1]. 自抗擾控制是韓京清研究員運用特殊非線性效應發(fā)展而來的一種不依賴于被控對象精確數(shù)學模型的新型實用的控制方法,可以很好地解決PID控制在工程中存在的缺陷[2,3].
常用的編程語言MATLAB具有十分強大的計算、 仿真、 繪圖等功能,但是它在界面開發(fā)、 儀器連接控制和網(wǎng)絡通訊等方面都不如LabVIEW,若將兩者結合起來,則可以充分利用兩種語言的優(yōu)勢,更好地解決各個領域的問題[4]. Simulink是MATLAB最重要的組件之一,是一種可視化的仿真工具,用于實現(xiàn)動態(tài)系統(tǒng)建模、 仿真和綜合分析. 本文采用LabVIEW與Simulink混合編程的方法,對以直流力矩電機為控制對象的自抗擾控制器進行設計與仿真,解決控制系統(tǒng)快速性、 精度及抗擾能力,并提供簡潔的操作界面.
NI LabVIEW仿真接口工具包Simulation Interface Toolkit,是LabVIEW專門為調用MATLAB/Simulink的工具,用戶可以利用LabVIEW豐富的界面作為Simulink的輸入、 輸出,同時可以利用LabVIEW數(shù)據(jù)采集程序或其它測量程序連接Simulink[5]. LabVIEW仿真接口工具包的組件如下:
圖 1 LabVIEW與MATLAB混合編程工作流程圖Fig.1 Work flow chart of LabVIEW and MATLAB
1) Model. 一個以圖形化形式、 源代碼形式或者編譯過的形式仿真結構圖,該模型包括數(shù)據(jù)的輸入輸出接口、 控制參數(shù)和可見信號.
2) Host VI. 包括前面板和程序框圖,可使用前面板控制模型參數(shù).
3) SIT Server. 使用TCP/IP在Host VI和模型之間傳輸數(shù)據(jù)的服務器. 首先必須在運行仿真之前啟動SIT Server,默認情況下在端口6011上運行.
4) Host Computer. 運行Windows NT/2000/XP等操作系統(tǒng)的PC.
5) Execution Computer. 運行MATLAB軟件、 SIT Server和仿真的計算機.
本文以NI PXIe-8135作為 Execution Computer. NI PXIe-8135是基于Intel Core i7-3610QE處理器的高性能嵌入式控制器,結合2.3 GHz基頻、 3.3 GHz四核處理器和雙通道1 600 MHz DDR3內(nèi)存,具有8 GB/s系統(tǒng)帶寬和4 GB/s插槽帶寬,2個Super Speed USB端口、 4個高速USB端口、 2個千兆以太網(wǎng)端口、 GPIB、 串口和其他外設. 工作流程如圖 1 所示.
首先,Host VI使用TCP/IP發(fā)送新的參數(shù)給SIT服務器,SIT服務器傳送這些參數(shù)給Model模型. 然后由Model模型再使用這些新的參數(shù)去執(zhí)行更新信號值,SIT服務器檢測已建立映射的模型信號. 最后SIT Server傳輸新的信號值給Host VI更新前面板的指示器.
2.1 直流電機系統(tǒng)模型
本文以直流力矩電機為控制對象,對其進行建模[6],直流力矩電機的電磁平衡方程與轉矩方程為
式中:Um為電樞電壓;Tm為電磁轉矩;Cm,Km為轉矩常數(shù);Im為電樞電流;Lm為電樞電感;Rm為電樞電阻. 電機額定運行存在摩擦,以及轉子與負載具有一定的質量慣量,電機轉矩平衡方程為
式中:Tf為機械摩擦及其他損耗造成的阻轉矩;TL為電機的負載轉矩;TJ為由電機轉子和負載的轉動慣量產(chǎn)生的力矩;B為粘滯系數(shù);ω為角速度. 由直流力矩點及的轉矩平衡和電磁平衡的方程經(jīng)過拉普拉斯變換可推導出傳遞函數(shù)
式中:J為電機轉動慣量;Ke為反電動勢系數(shù),可繼續(xù)得出電機位置環(huán)的數(shù)學模型
式中:θ為電機轉角,其他符號含義與上面公式相同.
2.2 自抗擾控制系統(tǒng)結構
自抗擾控制器是在經(jīng)典PID控制器的基礎上發(fā)展得出的新控制理念,它繼承了經(jīng)典PID控制的精華,并將其控制缺陷進行了改進[7]. 自抗擾控制系統(tǒng)結構如圖 2 所示.
圖 2 自抗擾控制系統(tǒng)結構Fig.2 Architecture of ADRC control system
利用二階最速開關系統(tǒng)構造出非線性跟蹤微分器,采用離散形式,可以更好地跟蹤不連續(xù)信號,并提取其近似的微分信號,其表達式為
式中:v(k)是第k時刻的輸入信號;δ是決定微分器跟蹤速度的參數(shù); fst(·)函數(shù)是最速控制綜合函數(shù)
擴張狀態(tài)觀測器的作用[8,9]是將控制對象尚未完全已知的系統(tǒng)模型,轉化成含有未知擾動的積分串聯(lián)環(huán)節(jié),同時對其進行觀測,其中所測得的信號當中就有對擾動的實時估計值. 本文采用二階擴張狀態(tài)觀測器,其結構如式(8)狀態(tài)空間表達式
式中: y為系統(tǒng)輸出; b0為系統(tǒng)控制輸入的增益; f(x1,x2,t)為系統(tǒng)全部未知擾動的總和,并將其擴張,所以得出
從而對其建立擴張狀態(tài)觀測器
式中: z是擴張狀態(tài)觀測器的各輸出狀態(tài); e1是擴張狀態(tài)觀測器對系統(tǒng)輸出信號跟蹤誤差; z3則逼近系統(tǒng)的未知擾動f(x1,x2,t).
2.3 自抗擾控制器控制律設計
自抗擾控制器中的控制律設計在傳統(tǒng)PD算法的基礎上加以改進,保留其基本的誤差反饋形式,在局部采用非線性算法,構成了非線性PD控制算法[10],其表達式為
式中:fal(·)函數(shù)是為了避免高頻振蕩,將冪函數(shù)|e|αsign(e)轉化成在原點附近具有線性段的連續(xù)冪次函數(shù),即飽和函數(shù),δ為線性段的區(qū)間長度,其表達式為
根據(jù)以上推導,若令x1=θ,x2=ω,由式(4)和式(5),可得到電機位置環(huán)的狀態(tài)方程
再利用MATLAB/Simulink中的S函數(shù)將各個部分模塊化[11],連接,得到控制系統(tǒng)模塊圖,如圖 3 所示,其中包含TD跟蹤微分器輸出與實際信號的對比,以及位置、 位置誤差、 速度、 擾動估計等輸出量,并與經(jīng)典PID算法進行對比.
圖 3 控制系統(tǒng)模塊圖Fig.3 Block diagram of control system
3.1 系統(tǒng)仿真界面設計
利用LabVIEW編輯界面,并將Simulink模型導入[12]后,得到控制面板如圖 4 所示,而前面板界面可以對模型參數(shù)進行設置,對輸出結果進行顯示,如圖 5 所示.
圖 4 LabVIEW控制面板Fig.4 Control panel of LabVIEW
圖 5 LabVIEW-MATLAB/Simulink聯(lián)合仿真界面Fig.5 Co-simulation interface of LabVIEW-MATLAB / Simulink
3.2 系統(tǒng)仿真結果
仿真實驗采用的直流力矩電機型號為55LY54,額定電壓27V,電樞電阻8.5Ω,電樞電感1.57mH,堵轉轉矩0.126N·m,轉矩常數(shù)0.036 4N·m/A,反電動勢系數(shù)0.015 3V·s/rad,轉動慣量4.4×10-5kg·m2,最大轉速1 500r/m. 自抗擾控制器擴張狀態(tài)觀測器參數(shù)為β1=300,β=4 000,β3=20 000,h=0.001,α
圖 6 系統(tǒng)階躍響應
Fig.6 Step response of system
1=0.25,α
2
=0.5,δ=0.002 5,非線性
PD
取值K
P
=40,K
D
=5,經(jīng)典
PID
取值同樣為K
p
=40,K
i
=1,K
d
=5,仿真時間設為5
s
. 系統(tǒng)在負載擾動為2
sin
(2t+30°)
N
·
m
的正弦量與3
s
處突加幅值為2
N
·
m
的混合擾動下的階躍響應如圖 6 所示,輸出信號的誤差如圖 7 所示,擴張狀態(tài)觀測器對系統(tǒng)擾動的估計如圖 8 所示.
通過,LabVIEW操作界面可修改期望值與擾動值,在仿真試驗中可以看出自抗擾控制器在對突變信號的響應速度上,相較經(jīng)典PID控制的快速性更好,能夠更好地跟蹤適應突變的信號,通過誤差比較,可得到經(jīng)典PID最大誤差為0.004rad,而自抗擾控制器輸出的最大誤差不到 0.001rad,所以自抗擾控制得到的控制精度更高,且不需要積分調節(jié),在突加擾動時只有少許波動,控制效果很好. 擴張狀態(tài)觀測器對負載擾動的觀測基本與輸入的擾動值相符,可以很好地補償擾動. 同時,系統(tǒng)在LabVIEW軟件調用下,運行穩(wěn)定,可以方便地添加與實際設備的輸入輸出接口,有利于實際應用.
圖 7 輸出信號的誤差Fig.7 Error of output signal
圖 8 系統(tǒng)的擾動估計Fig.8 Estimationof system disturbance
本文采用LabVIEW與MATLAB/Simulink混合編程的方法搭建了自抗擾控制系統(tǒng),通過仿真分析驗證了系統(tǒng)的可行性與其良好的控制效果,LabVIEW具有簡潔的操作界面,方便更改參數(shù),并且可以進行實時仿真,同時仿真接口工具包含有與外界實物的接口,可將控制對象或控制器替換為實物,從而有針對性地解決實際應用問題.
[1] 蘇思賢. 自抗擾控制器及其應用研究[D]. 無錫: 江南大學,2011.
[2] 韓京清. 自抗擾控制技術——估計補償不確定因素的控制技術[M]. 北京: 國防工業(yè)出版社,2009.
[3] 黃一,薛文超. 自抗擾控制: 思想、 應用及理論分析[J]. 系統(tǒng)科學與數(shù)學,2012,32(10): 1-21.HuangYi,XueWenchao.ADRCcontrol:ideology,applicationandtheoreticalanalysis[J].JournalofSystemsScienceandMathematicalSciences, 2012, 32(10): 1-21. (inChinese)
[4] 袁培鐸. 基于LabVIEW與MATLAB混合編程的應用研究[J]. 機械制造與自動化,200(6): 15-37.YuanPeiduo.ApplicationbasedonLabVIEWandMATLAB[J].MachineBuilding, 200(6): 15-37. (inChinese)
[5] 吳成東,孫秋野,盛科.LabVIEW虛擬儀器程序設計及應用[M]. 北京: 人民郵電出版社,2008.
[6] 葉恭宇. 基于自抗擾控制的機器人關節(jié)控制系統(tǒng)[D]. 浙江: 浙江大學,2013.
[7]HanJingqing.FromPIDtoactivedisturbancerejectioncontrol[J].IEEETrans.Ind.Electron,2009,56(3): 900-906.
[8] 黃一,韓京清. 非線性連續(xù)二階擴張狀態(tài)觀測器的分析與設計[J]. 科學通報, 2000, 45(13): 1373-1378.HuangYi,HanJingqing.AnalysisanddesignofsecondordernonlinearcontinuousESO[J].ScienceBulletin, 2000, 45(13): 1373-1378. (inChinese)
[9] 韓京清. 自抗擾控制技術[J]. 前沿科學,2007,1(1): 24-31.HanJingqing.ADRCcontroltechnology[J].FrontierofScience, 2007, 1(1): 24-31. (inChinese)
[10] 韓京清. 從PID技術到“自抗擾控制”技術[J]. 控制工程,2002,9(3): 13-18.HanJingqing.FromPIDtechnologyto“ADRCcontrol”[J].ScientificJournalofControlEngineering, 2002, 9(3): 13-18. (inChinese)
[11] 王兵樹,姜萍,林永君.Simulink中自抗擾控制技術自定義模塊庫的創(chuàng)建[J]. 系統(tǒng)仿真學報,2010,22(3): 610-615.WangBingshu,JiangPing,LinYongjun.Simulinkindisturbancerejectioncontroltechnologytocreateacustommodulelibrary[J].JournalofSystemSimulation, 2010, 22(3): 610-615. (inChinese)
[12] 曲麗蓉,胡容,范壽康.LabVIEW、MATLAB及其混合編程技術[M]. 北京: 機械工業(yè)出版社,2011.
Design and Simulation of ADRC Control System Based on Hybrid Programming of LabVIEW and MATLAB
LI Siyuan1, GU Haiyu1, XU Dafu2, ZHAO Yang1
(1. School of Astronautics, Harbin Institute of Technology, Harbin 150001, China; 2. Shanghai Academy of Spaceflight Technology,Shanghai 201108, China)
Using DC torque motor as a control object, to compensate the inadequacies of the classic PID control system, ADRC control system is built by MATLAB / Simulink, and it is imported LabVIEW through Simulation Interface Toolkit.Finally NI PXIe-8135 controller is used as the next crew for real-time simulation. The simulation results show that the ADRC control system which can compensate for deficiencies in the classic PID control system with rapidity, accuracy and disturbance resistance and other aspects, and the feasibility of the system.
PID control; ADRC control; mixed programming; real-time simulation
1671-7449(2016)06-0461-06
2016-09-16
上海市優(yōu)秀學科帶頭人計劃資助項目(14XD1423300)
李思遠(1991-),男,碩士,主要從事飛行器系統(tǒng)動力學與仿真研究.
TP273.2
A
10.3969/j.issn.1671-7449.2016.06.001