何德峰, 俞 立, 徐建明
(浙江工業大學 信息工程學院, 浙江 杭州 310023)
?
基于MATLAB的現代控制理論實驗教學實踐
何德峰, 俞立, 徐建明
(浙江工業大學 信息工程學院, 浙江 杭州310023)
針對現代控制理論的課程特點,進行了基于MATLAB語言的現代控制理論仿真實驗教學研究。根據課程教學內容,給出了現代控制理論課程中6個教學仿真實驗的實驗目的、實驗原理和實驗步驟,并以“利用MATLAB求解極點配置問題”實驗為例說明實驗過程。教學實踐表明,仿真實驗有助于學生理解課程的理論知識、提高學習效率和學習積極性。
控制理論實驗; 仿真實驗; 實驗教學; MATLAB
現代控制理論是大學自動化類專業的專業基礎課,在自動化類專業本科教學中占有十分重要的地位。但現代控制理論的教學內容包含大量的矩陣運算和復雜的公式證明[1-2],內容抽象且理論性很強,學生不易理解。對此,有必要通過引入實驗課的教學,幫助學生理解和掌握現代控制理論知識。基于MATLAB開發現代控制理論仿真實驗,不但可以解決硬件實驗設備不足的困難[3-5],而且可以供學生在課后進行自主性和探索性學習。
MATLAB是一款高性能數值運算軟件,也是適合多學科、功能強大的系統仿真軟件[6]。由于現代控制理論的主要數學工具是線性代數和常微分方程理論,而MATLAB以矩陣為基本運算單元,同時又可以調用預先定義的函數求解不同類型的控制問題,具有良好的交互分析功能。因此,MATLAB語言為現代控制理論課程的實驗教學提供了一種很好的教學工具[7-9]。針對現代控制理論課程的教學內容,筆者給出6個基于MATLAB的現代控制理論教學仿真實驗設計,包括實驗目的、實驗原理和實驗步驟。
現代控制理論主要講授控制系統的狀態空間模型、運動分析、能控性與能觀性分析、李雅普諾夫穩定性理論、狀態反饋控制器和狀態觀測器設計,以及線性最優控制等教學內容[1-2]。筆者針對這些教學內容并結合MATLAB的功能,設計了6個教學仿真實驗。這些實驗所需的實驗設備僅包括1臺中高檔PC機(CPU 1.8 GHz以上、內存 1 GB以上、顯卡 512 MB以上)、Windows操作系統和MATLAB 6.0以上版本。
1.1基于MATLAB的傳遞函數和狀態空間模型的轉換
(1) 實驗目的。學習系統狀態空間模型的建立方法;通過編程、上機調試,掌握系統狀態空間模型與傳遞函數相互轉換的方法。
(2) 實驗原理簡述。控制系統的狀態空間模型為

(1)
(2)
式中I為單位矩陣。
表示系統(1)的狀態空間模型和傳遞函數的MATLAB函數分別為ss(A,B,C,D)和tf(num,den),其中num表示傳遞函數G(s)中分子多項式的系數向量(單輸入單輸出系統);den表示傳遞函數G(s)中分母多項式的系數向量。狀態空間模型和傳遞函數相互轉換的MATLAB函數分別為
[A,B,C,D]=tf2ss(num,den),
[num,den]=ss2tf(A,B,C,D,ui)
其中,對多輸入系統,必須確定ui(ui為控制向量的第i個元素)的值。該函數的結果是第ui個輸入到所有輸出的傳遞函數。
(3) 實驗步驟。根據系統(1)的傳遞函數G(s)或狀態空間模型(A,B,C,D),對應轉換式(2),采用MATLAB相關函數編寫m文件;在MATLAB界面下調試程序。
1.2基于MATLAB的狀態空間模型進行分析
(1) 實驗目的。根據狀態空間模型,分析系統由初始狀態和外部激勵所引起的響應;通過編程、上機調試,掌握系統運動的分析方法。
(2) 實驗原理簡述。在控制系統(1)的狀態空間模型中,設系統的初始時刻為0,初始狀態為x(0),則系統的狀態響應x(t)和輸出響應y(t)分別為:
(3)
(4)
狀態響應由系統自由運動(即初始狀態響應)和由控制輸入引起的運動組成;輸出響應由初始狀態引起的零輸入響應、外部輸入響應和系統輸入的直接傳輸部分組成。系統響應分析的MATLAB函數命令包括:initial(A,B,C,D,x0)可以得到系統輸出對初始狀態x0的時間響應;step(A,B,C,D)給出了系統的單位階躍響應曲線;impulse(A,B,C,D)給出了系統的單位脈沖響應曲線;[y,T,x]=lsim(sys,u,t,x0) 給出狀態空間模型對任意輸入的響應,其中sys表示貯存在計算機內的狀態空間模型,它可以由函數sys=ss(A,B,C,D)產生。
(3) 實驗步驟。構建系統的狀態空間模型,采用MATLAB的m文件編程;求取系統的狀態和輸出響應;在MATLAB界面下調試程序,并檢查運行是否正確。
1.3基于MATLAB的連續時間狀態空間模型的離散化
(1) 實驗目的。導出系統的連續時間狀態空間模型相應的離散化狀態空間模型;通過編程、上機調試,掌握離散系統運動分析方法。
(2) 實驗原理簡述。考慮控制系統(1)的狀態空間模型和輸入信號的采樣保持性

(5)
其中,T表示系統的采樣周期。則連續時間控制系統(1)的狀態空間模型離散化方程可以寫成:
(6)
上述離散化過程的MATLAB函數為[G, H]=c2d(A, B, T)。
(3) 實驗步驟。導出連續狀態空間模型的離散化模型,采用MATLAB相關函數編寫m文件;在MATLAB界面下調試程序,并檢查是否運行正確。
1.4利用MATLAB求解極點配置問題
(1) 實驗目的。通過編程、調試,掌握極點配置狀態反饋控制器設計方法。

MATLAB軟件提供了兩個函數acker和place來確定極點配置狀態反饋控制器的增益矩陣K。函數acker是基于求解極點配置問題的愛克曼公式,它只能應用到單輸入系統,要配置的閉環極點中可以包括多重極點。用函數acker和place表示K的一般形式,K=acker(A,B,J)和K=place(A,B,J),其中的J=[λ1,λ2, …,λn]表示n個期望閉環極點。得到增益K后,可以用命令eig(A-BK)檢驗閉環極點。
(3) 實驗步驟。根據系統(1)的狀態空間模型(A,B,C,D)和n個期望閉環極點,采用MATLAB相關函數編寫m文件;在MATLAB界面下調試程序,并檢查是否運行正確。
1.5利用MATLAB設計狀態觀測器
(1) 實驗目的。學習狀態觀測器設計原理和算法;通過編程、上機調試,理解觀測器極點對觀測器性能的影響;掌握基于MATLAB語言的狀態觀測器設計方法。
(2) 實驗原理簡述。根據控制系統(1)的狀態空間模型,設計龍伯格全階狀態觀測器:

(7)


(8)

關于系統(1)的降階觀測器設計如下。假定系統(1)的矩陣C具有形式[1 0](對一般結構的矩陣,需要作適當的變換),根據矩陣C的結構,將系統狀態分成可直接測量狀態變量xa和不可直接測量狀態變量xb兩部分。據此,將系統(1)狀態空間模型中的矩陣和作相應的分塊,則該狀態空間模型可以寫成
(9)
其中,xb是要估計的狀態變量。設計降階觀測器
(10)

(3) 實驗步驟。根據系統(1)的狀態空間模型(A,B,C,D)和觀測器給的期望閉環極點,采用MATLAB相關函數編寫m文件;在MATLAB界面下調試程序,并檢查是否運行正確。
1.6利用MATLAB設計線性二次型最優控制器
(1) 實驗目的。學習線性二次型最優控制理論;通過編程、上機調試,掌握線性二次型最優控制器設計方法。
(2) 實驗原理簡述。考慮控制系統(1)的狀態空間模型,給定性能指標:
(11)
其中,Q為對稱正定(或半正定)矩陣,R為對稱正定矩陣。性能指標(11)右邊的第一項表示對狀態的要求,第二項是對輸入能量的限制。考慮狀態反饋控制器,使得性能指標(11)最小化的最優控制器為u=-Kx,其中K=R-1B′P是mxn維狀態反饋增益矩陣,P是黎卡提矩陣方程(12)的對稱正定解矩陣。
PA+A′P-PBR-1B′P+Q=0
(12)
(3) 實驗步驟。根據系統(1)的狀態空間模型和性能指標(11),采用MATLAB相關函數編寫m文件;在MATLAB界面下調試程序,并檢查設計結果的正確性。
以極點配置狀態反饋控制器設計為例,詳細說明實驗“利用MATLAB求解極點配置問題”的實驗教學過程。
考慮一個控制系統為

(13)
設計一個狀態反饋控制器u=-Kx,使得閉環系統的極點為{-2+j4,-2-j4,-10},進而對給定初始狀態x(0)=[1 0 0]'測試閉環系統的狀態響應。
執行以下應用函數acker編制的m文件:
A=[0 1 0; 0 0 1; -1 -5 -6];B=[0;0;1];
得到K=[199 55 9]。
若執行以下應用函數place編制的m文件:
A=[0 1 0; 0 0 1; -1 -5 -6];B=[0;0;1];
K=place(A,B,);
得到K=[199 55 9]。
對給定初始狀態,應用MATLAB函數initial測試閉環系統的狀態響應,編制m文件:
sys=ss(A-B*K,[0;0;0],eye(3),0);
t=0:0.01:4;
x=initial(sys,[1;0;0],t);
x1=[1 0 0]*x’;
x2=[0 1 0]*x’;
x3=[0 0 1]*x’;
subplot(3,1,1);
plot(t,x1), grid;
title(‘Response to Initial Condition’);
ylabel(‘x1’);
subplot(3,1,2);
plot(t,x2), grid;
ylabel(‘x2’);
subplot(3,1,3);
plot(t,x3), grid;
xlabel(‘t (sec)’);
ylabel(‘x3’);
可得閉環系統的狀態響應曲線如圖1所示。

圖1 初始狀態響應圖
在實驗過程中,教師現場編程演示與實時指導,然后學生應用MATLAB函數acker和place編寫m文件,執行m文件得到被控系統的狀態反饋控制器,使得閉環系統的極點配置到預先給定的位置。進一步,為檢驗所設計的狀態反饋控制器的控制性能,應用initial函數編寫m文件,測試閉環系統的狀態響應。如果狀態響應不理想,如振蕩頻繁、超調量大等,那么就要求學生移動期望閉環極點,然后再重復整個設計過程,直到閉環系統得到滿意的狀態響應。這樣就可以利用MATLAB對狀態響應曲線進行直觀顯示,讓學生理解基于極點配置的狀態反饋控制器設計的原理、過程和方法。
教學實踐表明,通過MATLAB實驗,學生可以把課堂教學中學到的基本原理和基礎性知識與實際系統的控制相結合,不僅加深了對書本知識的理解,更重要的是培養了學生的實際工作能力。
筆者將MATLAB引入現代控制理論課程的實驗教學中,所設計的6個仿真教學實驗覆蓋了該課程的主要教學內容。通過近3年的教學實踐表明,基于MATLAB的仿真教學實驗不僅有助于學生對現代控制理論課程抽象知識點的理解和掌握,還有助于提高學生的學習積極性和靈活運用課本知識的能力,同時對學生熟悉和應用MATLAB語言也有積極作用。
References)
[1] 俞立.現代控制理論[M].北京:清華大學出版社,2007.
[2] 張嗣瀛,高立群.現代控制理論[M].北京:清華大學出版社,2006.
[3] 葉彪明.基于MATLAB的《現代控制理論》課程的實驗設計[J].實驗室研究與探索,2004,23(1):28-30.
[4] 范秋鳳,李正斌.基于MATLAB的現代控制理論課程教學改革[J].才智,2010(28):266-267.
[5] 劉強,賈鴻莉,董德發.Matlab在現代控制理論教學中的應用[J].現代電子技術,2010(18):71-72.
[6] Katsuhiko Ogata.控制理論MATLAB教程[M].英文版.北京:電子工業出版社,2008.
[7] 高立群,楊姝,韓杰,等.關于本科生教學改革的實踐思考:以《現代控制理論》課為例[J].遼寧教育研究,2006(11):78-79.
[8] 黃忠霖.新編控制系統MATLAB仿真實訓[M].北京:機械工業出版社,2013.
[9] 薛定宇.控制系統計算機輔助設計:MATLAB語言與應用 [M].2版.北京:清華大學出版社,2006.
Experimental teaching and practice of modern control theory based on MATLAB
He Defeng, Yu Li, Xu Jianming
(College of Information Engineering, Zhejiang University of Technology, Hangzhou 310023, China)
The simulation experimental teaching of Modern Control Theory is studied based on MATLAB language for the characteristics of the Modern Control Theory course. According to the teaching content of the course, six simulation experiments for teaching are presented, including the experimental purpose, experimental principle, experimental procedure, etc. One of these experiments is used to illustrate the practice of teaching process. The teaching practice shows that these simulation experments are helpful for students to understand the theoretical knowledge of the course and to improve students’ learning efficiency and enthusiasm.
modern control theory; simulation experiment; experimential teaching; MATLAB
10.16791/j.cnki.sjg.2016.03.031
2015- 09- 21
《現代控制理論》國家精品資源共享課程建設項目(教高司函(2013)132號)
何德峰(1979—),男,浙江義烏,博士,教授,從事現代控制理論與應用教學研究.
E-mail:hdfzj@zjut.edu.cn,lyu@zjut.edu.cn
TP273.1
A
1002-4956(2016)3- 0123- 04