在選取Q和R時,主要從以下幾方面考慮:
(1)Q是正定或半正定矩陣,R是正定矩陣。
(2)Q陣中對角線上的元素與狀態(tài)變量一一對應(yīng),數(shù)值越大,則表示該狀態(tài)變量對系統(tǒng)的影響越顯著。
(3)加權(quán)矩陣R不要過小,否則會導(dǎo)致控制量的增大。控制量太大會超過系統(tǒng)執(zhí)行機(jī)構(gòu)的能力,R陣也不要太大,否則控制作用太小會影響控制性能。
綜合以上考慮,取Q=diag([100,100,100,100]),R=1,利用Matlab提供的LQR函數(shù),可得控制器的增益矩陣:
K=[-10.000 0 -24.140 8 250.036 0 158.553 3]
3.3 利用遺傳算法優(yōu)化Q陣
遺傳算法是一種基于生物界中的自然選擇原理和自然遺傳機(jī)制的隨機(jī)搜索算法,它模擬了生物界中的生命進(jìn)化機(jī)制,并用在人工系統(tǒng)中實(shí)現(xiàn)特定目標(biāo)的優(yōu)化。
采用遺傳算法優(yōu)化加權(quán)陣Q的具體步驟如下:
(1)選擇編碼策略,把參數(shù)轉(zhuǎn)換成染色體結(jié)構(gòu)空間。
(2)確定解碼方法。
(3)確定優(yōu)化目標(biāo)函數(shù)的類型及數(shù)學(xué)描述形式,在LQR最優(yōu)控制中取目標(biāo)函數(shù)J,J=trace(P)。
(4)設(shè)計遺傳算子。
(5)確定遺傳策略。設(shè)群體大小為80,最大迭代次數(shù)為200,交叉概率選為0.9,變異概率選為0.01,并隨機(jī)產(chǎn)生初始群體。
(6)計算群體中的個體或染色體解碼后的適應(yīng)值。在本設(shè)計中將適應(yīng)值取為目標(biāo)函數(shù)值的倒數(shù),即f=1/J。
(7)進(jìn)行遺傳算法搜索過程,即采用隨機(jī)采樣的方法選擇個體,通過交叉和變異產(chǎn)生新個體,再計算新個體的目標(biāo)函數(shù)值J’。
(8)判斷群體性能是否滿足指標(biāo)或者是否完成迭代次數(shù),若不滿足則重復(fù)步驟(7)。
通過上述算法即可確定使目標(biāo)函數(shù)值最小加權(quán)矩陣Q中待優(yōu)化元素的值,從而確定反饋控制規(guī)律的向量K。
4 仿真結(jié)果及分析
取Q=diag([100,100,100,100]),R=1時,得到的一級倒立擺仿真波形如圖3所示。由圖可見,小車經(jīng)過5.2 s達(dá)到平衡,而擺角經(jīng)過6.5 s達(dá)到平衡。對Q陣優(yōu)化后系統(tǒng)響應(yīng)超調(diào)量減少,響應(yīng)速度加快,調(diào)節(jié)時間減少,系統(tǒng)的靜態(tài)特性和動態(tài)特性都得到改善,如圖4所示。
5 結(jié)語
本文利用拉格朗日方程建立了直線一級倒立擺控制系統(tǒng)的數(shù)學(xué)模型,在此基礎(chǔ)上分析了該系統(tǒng)的性能,并利用LQR控制器進(jìn)行控制。結(jié)果表明,LQR控制器對該系統(tǒng)具有良好的控制作用。
用戶評論
共 0 條評論