趙敏,江艷霞
摘要:《預測控制》是大多控制理論與控制工程專業碩士的專業基礎課。本文利用Matlab/MPC工具箱圖形用戶界面(GUI)的控制器設計與分析功能,通過對《預測控制》課程中位置伺服對象進行控制器設計與分析,將抽象的理論與仿真實驗相結合,使學生更好地掌握理論知識,培養學生解決實際問題的能力,說明了使用Matlab輔助《預測控制》課程教學的有效性。
關鍵詞:預測控制;Matlab;GUI;仿真;教學研究
中圖分類號:G642.0?搖 文獻標志碼:A 文章編號:1674-9324(2014)09-0049-03
一、引言
預測控制是上世紀70年代后期產生的一類新型計算機控制算法,是繼PID控制之后在過程控制應用中最廣泛、有效的控制算法。它直接產生于工業過程控制的實際應用,并在與工業應用的緊密結合中不斷完善和成熟,具有良好的魯棒性和控制效果。在石油、化工、冶金、機械等行業的過程控制系統中得到了成功的應用,已成為處理復雜約束多變量控制問題的公認標準[1]。《預測控制》是雙控專業碩士重要的專業課程之一,該課程是以實際工業生產過程為背景,以控制理論為基礎發展起來的,主要向學生介紹預測控制的基本算法理論,從而使學生理解過程控制的基本原理和概念,對培養學生解決實際應用問題的能力有著重要的作用。預測控制屬于先進過程控制領域,先進過程控制(APC)是對那些不同于常規單回路控制,并具有比常規PID控制更好的控制效果的控制策略的統稱,主要應用于包含大量復雜多變量的控制問題[2]。因此《預測控制》課程具有理論性強、與實際聯系緊密,以及涉及面廣的特點,對學生理論基礎和設計能力要求較高,這造成該課程較為抽象難學,采用常規的課堂PPT授課方法難以激起學生的學習興趣,不能適應專業技術課程的發展要求。為了改善這一現狀,多媒體技術已經被廣泛的應用于控制學科課程的課堂教學。采用多媒體課件結合板書的教學方法,可以將枯燥的理論知識更加形象化、具體化,在一定程度上能夠改善教學效果[3-5]。
隨著計算機科學的不斷發展,各種仿真軟件的日益廣泛應用給專業課教學提供了現代化的教學手段。其中Matlab語言自上世紀80年代問世以來,以其高性能的數值計算和可視化的圖形功能以及簡單易學的編程方式,已被廣泛應用于教學和科研當中。本文結合《預測控制》課程中被控對象的特點,以系統的控制器設計為例,將Matlab/MPC工具箱GUI的分析與綜合的功能應用于《預測控制》教學中,通過簡單快速的仿真實驗,使學生對控制器設計的過程和控制效果有更加深刻的認識和理解,從而激發學生的學習興趣,提高教學質量。
二、預測控制和MPC工具箱簡介[6]
目前《預測控制》課程所涉及的控制算法主要有基于非參數模型的模型算法控制(MAC)、動態矩陣控制(DMC),以及基于參數模型的廣義預測控制(GPC)和廣義極點配置控制(GPP)等。其中模型算法控制采用脈沖響應模型,動態矩陣控制采用階躍響應模型,這兩種模型都具有易于獲得的優點。廣義預測控制和廣義極點配置控制是將預測控制思想與自適應控制的結合,有助于提高控制系統閉環的穩定性和魯棒性。
Matlab的MPC工具箱提供了一系列用于模型預測控制設計和分析的函數。利用這些函數可以方便的設計控制器,通過仿真獲得系統直觀的控制效果,有助于學生對算法的理解和學習。這些函數包括:系統模型辨識函數,通過多變量線性回歸方法計算脈沖響應模型和階躍響應模型;模型建立和轉換函數,建立MPC工具箱使用的MPC狀態空間模型,并完成各模型之間的相互轉換;模型預測控制器設計和仿真工具,分別面向階躍響應模型和狀態空間模型完成控制器設計和仿真;系統分析工具,計算系統頻率響應、極點和奇異值等。除此之外,Matlab/MPC工具箱還有一個基于人機交互界面的預測控制器設計工具,設計者可以根據菜單提示一步一步的完成控制器設計,之后利用Simulink庫中的預測控制模塊進行調用,對復雜的預測控制系統進行仿真。
在Matlab命令窗口中,直接鍵入mpctool用于啟動MPC設計工具,在圖形界面的左側會出現被控對象(Plan models)、MPC控制器(Controllers)和仿真器(Scenarios)三個欄目。隨后打開被控對象的模型輸入窗口,選擇存于Matlab工作空間或磁盤中的被控對象模型文件,同時設置被控對象輸入輸出信號的屬性,如輸入信號類型為控制變量(Manipulated),可測干擾信號(Meas.disturb.)或不可測干擾信號(Unmeas.disturb.);輸出信號類型為可為測干擾信號(Measurd)或不可測信號(Unmeasured)。將輸入輸出信號屬性設置完畢后,再對控制器屬性進行設置,如采樣間隔時間(Control interval)、預測時域(Prediction horizon)、控制時域(Control horizon),以及約束和權重值設置(Manipulated variables/Output variables)。對被控對象和控制器模型描述完畢后,在仿真器中設置仿真參數,如仿真時間(Duration)、設定點(Setpoints)以及它們的信號類型(Type)、幅值(Size)和作用起始時間(Time)、周期(Period)等。所有參數完成設置后,通過Simulate對系統進行仿真,并將結果通過Export命令保存到Matlab工作空間或磁盤文件中。對于已設計完成的控制器,可以通過Simulink進行調用。
綜上所述,可見Matlab的MPC工具箱具有強大的設計和分析功能,能夠對預測控制課程中所涉及到的多種基本算法進行仿真驗證,而其中基于模型預測控制設計工具的圖形界面更是能夠避免編寫代碼過程,使得控制器的設計更加方便直觀,非常適于《預測控制》課程的教學。本文在接下來的部分中將通過位置伺服控制對象,基于GUI設計預測控制仿真實驗,以幫助學生對理論知識的形象理解。
三、仿真實例
假設位置伺服系統由直流電機、變速箱、彈性軸承和負載組成,其數學模型描述如下:
■L=-■θL-■-■ωL (1)
■M=■■-■θL-■ (1)
ωL=■L
ωM=■M
其中kθ=1282.2;kT=10,JM=0.5;JL=50JM;ρ=20;βM=0.1;βL=25;R=20。電壓V為輸入變量,過載角位置θL和力矩T為輸出變量。控制目標為:在電壓的控制下,使過θL跟蹤設定值。其中輸出力矩滿足約束|T|≤78.5Nm,輸入滿足約束|V|≤220V。首先在Matlab工作空間定義系統的數學模型,記作MotorModel,隨后利用MPC工具箱GUI工具設計控制器。
1.導入模型:在命令窗口輸入mpctool,點擊Import Plant,選中被控對象模型MotorModel,點擊Import導入模型,如圖1(a)。
2.設置主要參數屬性:θL可測;T不可測;輸入變量為 V,輸出為θL和T,同時將采樣周期修改為0.1s。在約束面板,將輸出力矩約束修改為|T|≤78.5Nm;在權重面板,輸入 V的權重為0,變化率權重為0.1,其他均選為默認值。這里需要注意的是,增加懲罰項能夠增加控制器的魯棒性,但是會降低跟蹤的精度,因此需要根據精度和性能折中選取懲罰項,如圖1(b~e)。
3.仿真器設置:通過Setpoints設置跟蹤參考信號,本例設置θL為階躍信號,階躍時間為1s,幅值為1;T為常數,幅值為0,如圖1(f)。
4.點擊Simulate開始仿真,結果如圖2(a),仿真結果尚未達到控制要求,通過進入權重頁修改權重值,以獲得滿意的控制效果,如圖2(b)。
5.當仿真得到滿意的控制效果,控制器設計完畢,點擊Controllers,選擇Export,將控制器導出保存至工作空間,控制器設計完畢。
可見,通過MPC工具箱的人機交互圖形界面設計預測控制器,可以直觀地觀察到控制器參數對控制效果的影響,有助于加強學生對理論知識的理解和掌握。
四、結語
在《預測控制》課程教學中引入Matlab/MPC工具箱的圖形界面工具,通過對被控對象設計控制器等內容進行輔助分析,將抽象的控制問題形象化,讓學生直觀了解控制器設計的過程,并掌握控制器參數調整對控制效果的影響,彌補了單一課堂教學中的不足,進一步加強了學生對理論知識的理解,激發了他們的學習興趣,充分發揮其自主學習的能力,更好地掌握預測控制理論和算法,為后續的應用研究工作打下了基礎。
參考文獻:
[1]席裕庚.預測控制[M].北京:國防工業出版社,1993.
[2]俞金壽.工業過程先進控制[M].北京:中國石化出版社,2002.
[3]李國勇.智能控制及其Matlab實現[M].北京:電子工業出版社,2005.
[4]唐紅.Matlab在《自動控制原理》課程教學中的應用研究[J].教育教學論壇,2013,(6):61.
[5]羅健旭,顧幸生,劉漫丹,俞金壽,孫京浩.過程控制工程課程教學的創新與改革[J].化工高等教育,2012,(2):19-22.
[6]周建興.MATLAB從入門到精通[M].北京:人民郵電出版社,2012.
基金項目:上海市重點學科建設資助項目(S30501)。
作者簡介:趙敏,上海理工大學講師,研究方向預測控制,電力電子技術應用等;江艷霞,上海理工大學講師,研究方向模式識別與智能系統。
三、仿真實例
假設位置伺服系統由直流電機、變速箱、彈性軸承和負載組成,其數學模型描述如下:
■L=-■θL-■-■ωL (1)
■M=■■-■θL-■ (1)
ωL=■L
ωM=■M
其中kθ=1282.2;kT=10,JM=0.5;JL=50JM;ρ=20;βM=0.1;βL=25;R=20。電壓V為輸入變量,過載角位置θL和力矩T為輸出變量。控制目標為:在電壓的控制下,使過θL跟蹤設定值。其中輸出力矩滿足約束|T|≤78.5Nm,輸入滿足約束|V|≤220V。首先在Matlab工作空間定義系統的數學模型,記作MotorModel,隨后利用MPC工具箱GUI工具設計控制器。
1.導入模型:在命令窗口輸入mpctool,點擊Import Plant,選中被控對象模型MotorModel,點擊Import導入模型,如圖1(a)。
2.設置主要參數屬性:θL可測;T不可測;輸入變量為 V,輸出為θL和T,同時將采樣周期修改為0.1s。在約束面板,將輸出力矩約束修改為|T|≤78.5Nm;在權重面板,輸入 V的權重為0,變化率權重為0.1,其他均選為默認值。這里需要注意的是,增加懲罰項能夠增加控制器的魯棒性,但是會降低跟蹤的精度,因此需要根據精度和性能折中選取懲罰項,如圖1(b~e)。
3.仿真器設置:通過Setpoints設置跟蹤參考信號,本例設置θL為階躍信號,階躍時間為1s,幅值為1;T為常數,幅值為0,如圖1(f)。
4.點擊Simulate開始仿真,結果如圖2(a),仿真結果尚未達到控制要求,通過進入權重頁修改權重值,以獲得滿意的控制效果,如圖2(b)。
5.當仿真得到滿意的控制效果,控制器設計完畢,點擊Controllers,選擇Export,將控制器導出保存至工作空間,控制器設計完畢。
可見,通過MPC工具箱的人機交互圖形界面設計預測控制器,可以直觀地觀察到控制器參數對控制效果的影響,有助于加強學生對理論知識的理解和掌握。
四、結語
在《預測控制》課程教學中引入Matlab/MPC工具箱的圖形界面工具,通過對被控對象設計控制器等內容進行輔助分析,將抽象的控制問題形象化,讓學生直觀了解控制器設計的過程,并掌握控制器參數調整對控制效果的影響,彌補了單一課堂教學中的不足,進一步加強了學生對理論知識的理解,激發了他們的學習興趣,充分發揮其自主學習的能力,更好地掌握預測控制理論和算法,為后續的應用研究工作打下了基礎。
參考文獻:
[1]席裕庚.預測控制[M].北京:國防工業出版社,1993.
[2]俞金壽.工業過程先進控制[M].北京:中國石化出版社,2002.
[3]李國勇.智能控制及其Matlab實現[M].北京:電子工業出版社,2005.
[4]唐紅.Matlab在《自動控制原理》課程教學中的應用研究[J].教育教學論壇,2013,(6):61.
[5]羅健旭,顧幸生,劉漫丹,俞金壽,孫京浩.過程控制工程課程教學的創新與改革[J].化工高等教育,2012,(2):19-22.
[6]周建興.MATLAB從入門到精通[M].北京:人民郵電出版社,2012.
基金項目:上海市重點學科建設資助項目(S30501)。
作者簡介:趙敏,上海理工大學講師,研究方向預測控制,電力電子技術應用等;江艷霞,上海理工大學講師,研究方向模式識別與智能系統。
三、仿真實例
假設位置伺服系統由直流電機、變速箱、彈性軸承和負載組成,其數學模型描述如下:
■L=-■θL-■-■ωL (1)
■M=■■-■θL-■ (1)
ωL=■L
ωM=■M
其中kθ=1282.2;kT=10,JM=0.5;JL=50JM;ρ=20;βM=0.1;βL=25;R=20。電壓V為輸入變量,過載角位置θL和力矩T為輸出變量。控制目標為:在電壓的控制下,使過θL跟蹤設定值。其中輸出力矩滿足約束|T|≤78.5Nm,輸入滿足約束|V|≤220V。首先在Matlab工作空間定義系統的數學模型,記作MotorModel,隨后利用MPC工具箱GUI工具設計控制器。
1.導入模型:在命令窗口輸入mpctool,點擊Import Plant,選中被控對象模型MotorModel,點擊Import導入模型,如圖1(a)。
2.設置主要參數屬性:θL可測;T不可測;輸入變量為 V,輸出為θL和T,同時將采樣周期修改為0.1s。在約束面板,將輸出力矩約束修改為|T|≤78.5Nm;在權重面板,輸入 V的權重為0,變化率權重為0.1,其他均選為默認值。這里需要注意的是,增加懲罰項能夠增加控制器的魯棒性,但是會降低跟蹤的精度,因此需要根據精度和性能折中選取懲罰項,如圖1(b~e)。
3.仿真器設置:通過Setpoints設置跟蹤參考信號,本例設置θL為階躍信號,階躍時間為1s,幅值為1;T為常數,幅值為0,如圖1(f)。
4.點擊Simulate開始仿真,結果如圖2(a),仿真結果尚未達到控制要求,通過進入權重頁修改權重值,以獲得滿意的控制效果,如圖2(b)。
5.當仿真得到滿意的控制效果,控制器設計完畢,點擊Controllers,選擇Export,將控制器導出保存至工作空間,控制器設計完畢。
可見,通過MPC工具箱的人機交互圖形界面設計預測控制器,可以直觀地觀察到控制器參數對控制效果的影響,有助于加強學生對理論知識的理解和掌握。
四、結語
在《預測控制》課程教學中引入Matlab/MPC工具箱的圖形界面工具,通過對被控對象設計控制器等內容進行輔助分析,將抽象的控制問題形象化,讓學生直觀了解控制器設計的過程,并掌握控制器參數調整對控制效果的影響,彌補了單一課堂教學中的不足,進一步加強了學生對理論知識的理解,激發了他們的學習興趣,充分發揮其自主學習的能力,更好地掌握預測控制理論和算法,為后續的應用研究工作打下了基礎。
參考文獻:
[1]席裕庚.預測控制[M].北京:國防工業出版社,1993.
[2]俞金壽.工業過程先進控制[M].北京:中國石化出版社,2002.
[3]李國勇.智能控制及其Matlab實現[M].北京:電子工業出版社,2005.
[4]唐紅.Matlab在《自動控制原理》課程教學中的應用研究[J].教育教學論壇,2013,(6):61.
[5]羅健旭,顧幸生,劉漫丹,俞金壽,孫京浩.過程控制工程課程教學的創新與改革[J].化工高等教育,2012,(2):19-22.
[6]周建興.MATLAB從入門到精通[M].北京:人民郵電出版社,2012.
基金項目:上海市重點學科建設資助項目(S30501)。
作者簡介:趙敏,上海理工大學講師,研究方向預測控制,電力電子技術應用等;江艷霞,上海理工大學講師,研究方向模式識別與智能系統。