戴 彥,呂宏麗
(唐山學(xué)院a.河北省智能數(shù)據(jù)信息處理與控制重點(diǎn)實(shí)驗(yàn)室;b.唐山市智能運(yùn)動(dòng)控制系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,河北 唐山 063000)
在控制系統(tǒng)傳統(tǒng)設(shè)計(jì)中,多通過純數(shù)字仿真的方式對(duì)系統(tǒng)進(jìn)行分析,而純數(shù)字仿真大都以近似的數(shù)學(xué)模型為基礎(chǔ),往往由于對(duì)一些參數(shù)的忽略而得不到理想的控制效果,甚至?xí)霈F(xiàn)仿真的結(jié)果與實(shí)際應(yīng)用的效果相差很大的情況[1-2]。為解決該問題,可以考慮把實(shí)際系統(tǒng)放置在仿真系統(tǒng)中進(jìn)行研究,此過程稱為半實(shí)物仿真[3-5]。加拿大Quanser公司開發(fā)的Quanser平臺(tái)即可以把控制對(duì)象引入仿真系統(tǒng)中,通過Quanser的實(shí)時(shí)內(nèi)核實(shí)現(xiàn)控制器參數(shù)的在線調(diào)整。倒立擺系統(tǒng)是典型的高階次、多變量、強(qiáng)耦合的非線性系統(tǒng)。對(duì)倒立擺系統(tǒng)的仿真研究能有效反映許多關(guān)鍵問題,如非線性、魯棒性、跟蹤問題等。因此,本文基于Quanser平臺(tái),在Matlab/Simulink中搭建旋轉(zhuǎn)單級(jí)倒立擺的實(shí)時(shí)仿真與控制平臺(tái)。
旋轉(zhuǎn)單級(jí)倒立擺系統(tǒng)模型如圖1所示。旋轉(zhuǎn)臂轉(zhuǎn)軸連接于直流伺服電機(jī)SRV02系統(tǒng)上,且可被其驅(qū)動(dòng)。該臂長度為Lr,轉(zhuǎn)動(dòng)慣量為Jr。當(dāng)旋轉(zhuǎn)臂逆時(shí)針旋轉(zhuǎn)時(shí),旋轉(zhuǎn)臂旋轉(zhuǎn)角θ增大。當(dāng)直流電機(jī)電壓為正時(shí),旋轉(zhuǎn)臂轉(zhuǎn)向逆時(shí)針方向。擺桿與旋轉(zhuǎn)臂的末端相連,長度為Lp,質(zhì)心在Lp/2處,質(zhì)心的轉(zhuǎn)動(dòng)慣量為Jp。當(dāng)擺桿完全處于直立即在垂直位置時(shí),其擺桿角度α為0;當(dāng)它轉(zhuǎn)向逆時(shí)針方向時(shí),則擺桿角度α增大。
圖1 旋轉(zhuǎn)單級(jí)倒立擺系統(tǒng)模型
由圖1可知,旋轉(zhuǎn)單級(jí)倒立擺系統(tǒng)的動(dòng)能可由四部分組成:旋轉(zhuǎn)臂在水平面內(nèi)的轉(zhuǎn)動(dòng)動(dòng)能、擺桿在豎直平面內(nèi)的轉(zhuǎn)動(dòng)動(dòng)能、擺桿質(zhì)心在水平面內(nèi)的移動(dòng)動(dòng)能、擺桿質(zhì)心在豎直平面的移動(dòng)動(dòng)能。旋轉(zhuǎn)臂所在的水平面為零勢(shì)能面,則系統(tǒng)的勢(shì)能即為擺桿的重力勢(shì)能[6-8]。
運(yùn)用拉格朗日方程建立倒立擺系統(tǒng)的動(dòng)力學(xué)模型[9]。設(shè)整個(gè)系統(tǒng)的動(dòng)能為T,勢(shì)能為V,模型如式(1)、式(2)所示。
(1)
(2)
式中,Jr為旋轉(zhuǎn)臂的慣性力矩(kg·m2),Jp為擺桿的慣性力矩(kg·m2),mp為擺桿的質(zhì)量(kg),Lr為旋轉(zhuǎn)臂的長度(m),Lp為擺桿的長度(m),θ為旋轉(zhuǎn)臂的角度(°),α為擺桿的角度(°),g為重力加速度(m·s-2)。
動(dòng)能與勢(shì)能差設(shè)為L,則
(3)
得到旋轉(zhuǎn)單級(jí)倒立擺的拉格朗日方程式(4),
(4)
式中,t為時(shí)間(s),τ為旋轉(zhuǎn)臂扭矩(N·m),Br為旋轉(zhuǎn)臂的粘滯摩擦力矩或粘性阻尼(N·m·s/rad),Bp為擺桿的粘滯摩擦力矩或粘性阻尼(N·m·s/rad)。
對(duì)式(4)進(jìn)行線性化處理,得到線性方程組如式(5)所示。
(5)
(6)
式中,A為
(7)
本文采用PID控制器對(duì)旋轉(zhuǎn)單級(jí)倒立擺進(jìn)行控制,其仿真框圖如圖2所示。PID算法的控制規(guī)律如式(8)所示。
圖2 旋轉(zhuǎn)單級(jí)倒立擺控制系統(tǒng)仿真框圖
(8)
式中,kp表示比例系數(shù),顯示誤差信號(hào)的瞬時(shí)值大小,能改變系統(tǒng)響應(yīng)的快速性;ki表示積分時(shí)間常數(shù),顯示誤差信號(hào)的累加值,能改變系統(tǒng)響應(yīng)的準(zhǔn)確性;kd表示微分時(shí)間常數(shù),顯示誤差信號(hào)的變化趨勢(shì),能改變系統(tǒng)響應(yīng)的平穩(wěn)性。
旋轉(zhuǎn)單級(jí)倒立擺控制系統(tǒng)裝置如圖3所示。在此裝置中,在水平面上剛性旋轉(zhuǎn)臂的一端用一個(gè)旋轉(zhuǎn)伺服電機(jī)來驅(qū)動(dòng),另外一端安裝一個(gè)一自由度的轉(zhuǎn)軸。在此轉(zhuǎn)軸上安裝擺桿,電機(jī)通過控制旋轉(zhuǎn)臂的轉(zhuǎn)動(dòng)可使擺桿穩(wěn)定于垂直倒立的狀態(tài)。
圖3 旋轉(zhuǎn)單級(jí)倒立擺控制系統(tǒng)裝置
圖4為旋轉(zhuǎn)單級(jí)倒立擺控制系統(tǒng)實(shí)時(shí)控制Simulink框圖。Swing-up模塊為起擺模塊;Enable Balance Control模塊為角度比較模塊,擺桿角度期望值為12°,當(dāng)角度小于12°時(shí)啟動(dòng)PID控制模塊,大于12°時(shí)開關(guān)不變繼續(xù)執(zhí)行起擺模塊。SRV02-ET+ROTPEN-E為直流伺服電機(jī)和倒立擺模塊構(gòu)成的旋轉(zhuǎn)單級(jí)倒立擺控制系統(tǒng)硬件采集模塊。
圖4 旋轉(zhuǎn)單級(jí)倒立擺控制系統(tǒng)實(shí)時(shí)控制Simulink框圖
旋轉(zhuǎn)單級(jí)倒立擺控制系統(tǒng)的硬件設(shè)備通過數(shù)據(jù)采集卡將計(jì)算機(jī)與受控對(duì)象相連,構(gòu)成閉環(huán)控制結(jié)構(gòu)[10]。Quanser軟件兼容Matlab軟件,在Windows環(huán)境中能夠啟動(dòng)由Matlab/Simulink模型生成的硬件可識(shí)別代碼,通過USB接口由數(shù)據(jù)采集卡向受控對(duì)象發(fā)送或收集數(shù)據(jù),達(dá)到實(shí)時(shí)控制的目的。
調(diào)試程序時(shí),采用湊試法確定PID調(diào)節(jié)參數(shù):對(duì)參數(shù)進(jìn)行先比例、后積分、再微分的整定步驟。首先進(jìn)行比例整定:將比例系數(shù)由小調(diào)大,并觀察相應(yīng)的系統(tǒng)響應(yīng),直至得到反應(yīng)快、超調(diào)小的響應(yīng)。僅調(diào)節(jié)比例系數(shù),系統(tǒng)將會(huì)產(chǎn)生極大的靜差。其次進(jìn)行積分整定:先設(shè)為一個(gè)比較小的數(shù),慢慢增大,觀察系統(tǒng)的響應(yīng)變化,使系統(tǒng)不僅能夠?qū)崿F(xiàn)其所要的功能,而且還能夠消除靜差。根據(jù)系統(tǒng)的響應(yīng)情況不斷修改比例系數(shù)和積分系數(shù),直至可以實(shí)現(xiàn)系統(tǒng)要求的功能。最后進(jìn)行微分整定:將微分系數(shù)從零遞增,以改善動(dòng)態(tài)過程。最終確定控制參數(shù)為kp=11,ki=0.2,kd=0.2,倒立擺控制可達(dá)到要求。旋轉(zhuǎn)單級(jí)倒立擺控制系統(tǒng)實(shí)時(shí)控制仿真如圖5所示。由圖5可知,倒立擺控制系統(tǒng)調(diào)節(jié)時(shí)間為7s,其中α,θ,u響應(yīng)平滑,抖動(dòng)小。
圖5 旋轉(zhuǎn)單級(jí)倒立擺控制系統(tǒng)實(shí)時(shí)控制仿真圖
本文基于Quanser平臺(tái)搭建了旋轉(zhuǎn)單級(jí)倒立擺實(shí)時(shí)控制系統(tǒng),建立了旋轉(zhuǎn)單級(jí)倒立擺系統(tǒng)動(dòng)力學(xué)模型,分析了系統(tǒng)的穩(wěn)定性。面向?qū)嵨锸芸貙?duì)象設(shè)計(jì)了PID控制器,由仿真圖和實(shí)物控制效果可知,控制器實(shí)時(shí)控制效果較好。同時(shí),在該控制系統(tǒng)平臺(tái)上,可以開發(fā)控制算法,實(shí)時(shí)修改控制器參數(shù)。通過人機(jī)界面,可以直觀地比較不同控制算法的優(yōu)劣,為控制算法的研究提供依據(jù)。