第一篇:倒立擺實(shí)驗(yàn)報(bào)告
倒立擺實(shí)驗(yàn)報(bào)告 機(jī)自 82
組員:李宗澤
李航
劉凱
付榮 倒立擺與自動(dòng)控制原理實(shí)驗(yàn) 一.實(shí)驗(yàn)?zāi)康茫?/p>
1、運(yùn)用經(jīng)典控制理論控制直線一級(jí)倒立擺,包括實(shí)際系統(tǒng)模型得建立、根軌跡分析與控制器設(shè)計(jì)、頻率響應(yīng)分析、PID 控制分析等內(nèi)容、2、運(yùn)用現(xiàn)代控制理論中得線性最優(yōu)控制LQR 方法實(shí)驗(yàn)控制倒立擺 3、學(xué)習(xí)運(yùn)用模糊控制理論控制倒立擺系統(tǒng) 4、學(xué)習(xí)MATLAB工具軟件在控制工程中得應(yīng)用 5、掌握對(duì)實(shí)際系統(tǒng)進(jìn)行建模得方法,熟悉利用MATLAB 對(duì)系統(tǒng)模型進(jìn)行仿真,利用學(xué)習(xí)得控制理論對(duì)系統(tǒng)進(jìn)行控制器得設(shè)計(jì),并對(duì)系統(tǒng)進(jìn)行實(shí)際控制實(shí)驗(yàn),對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行觀察與分析,非常直觀得感受控制器得控制作用。
二、
實(shí)驗(yàn)設(shè)備 計(jì)算機(jī)及MATLAB、VC等相關(guān)軟件 固高倒立擺系統(tǒng)得軟件 固高一級(jí)直線倒立擺系統(tǒng),包括運(yùn)動(dòng)卡與倒立擺實(shí)物 倒立擺相關(guān)安裝工具 三. 倒立擺系統(tǒng)介紹 倒立擺就是機(jī)器人技術(shù)、控制理論、計(jì)算機(jī)控制等多個(gè)領(lǐng)域、多種技術(shù)得有機(jī)結(jié)合,其被控系統(tǒng)本身又就是一個(gè)絕對(duì)不穩(wěn)定、高階次、多變量、強(qiáng)耦合得非線性系統(tǒng),可以作為一個(gè)典型得控制對(duì)象對(duì)其進(jìn)行研究。倒立擺系統(tǒng)作為控制理論研究中得一種比較理想得實(shí)驗(yàn)手段,為自動(dòng)控制理論得教學(xué)、實(shí)驗(yàn)與科研構(gòu)建一個(gè)良好得實(shí)驗(yàn)平臺(tái),以用來檢驗(yàn)?zāi)撤N控制理論或方法得典型方案,促進(jìn)了控制系統(tǒng)新理論、新思想得發(fā)展。由于控制理論得廣泛應(yīng)用,由此系統(tǒng)研究產(chǎn)生得方法與技術(shù)將在半導(dǎo)體及精密儀器加工、機(jī)器人控制技術(shù)、人工智能、導(dǎo)彈攔截控制系統(tǒng)、航空對(duì)接控制技術(shù)、火箭發(fā)射中得垂直度控制、衛(wèi)星飛行中得姿態(tài)控制與一般工業(yè)應(yīng)用等方面具有廣闊得利用開發(fā)前景. 倒立擺已經(jīng)由原來得直線一級(jí)倒立擺擴(kuò)展出很多 種類,典型得有直線倒立擺環(huán)形倒立擺,平面倒立擺與復(fù)合倒立擺等,本次實(shí)驗(yàn)采用得就是直線一級(jí)倒立擺。
倒立擺得形式與結(jié)構(gòu)各異,但所有得倒立擺都具有以下得 特性: 1)
非線性2)
不確定性3)耦合性4)開環(huán)不穩(wěn)定性5)
約束限制
倒立擺 控制器得設(shè)計(jì)就是倒立擺系統(tǒng)得核心內(nèi)容,因?yàn)榈沽[就是一個(gè)絕對(duì)不穩(wěn)定得系統(tǒng),為使其保持穩(wěn)定并且可以承受一定得干擾,需要給系統(tǒng)設(shè)計(jì)控制器,本小組采用得 控制方法有:PID 控制、雙PID控制、LQR控制、模糊PID控制、純模糊控制 四.直線一級(jí)倒立擺得物理模型: 系統(tǒng)建模可以分為兩種:機(jī)理建模與實(shí)驗(yàn)建模。實(shí)驗(yàn)建模就就是通過在研究對(duì)象上加上一系列得研究者事先確定得輸入信號(hào),激勵(lì)研究對(duì)象并通過傳感器檢測其可觀測得輸出,應(yīng)用數(shù)學(xué)手段建立起系統(tǒng)得輸入-輸出關(guān)系。機(jī)理建模就就是在了解研究對(duì)象得運(yùn)動(dòng)規(guī)律基礎(chǔ)上,通過物理、化學(xué)得知識(shí)與數(shù)學(xué)手段建立起系統(tǒng)內(nèi)部得輸入-狀態(tài)關(guān)系。,由于倒立擺本身就是自不穩(wěn)定得系統(tǒng),實(shí)驗(yàn)建模存在一定得困難。但就是忽略掉一些次要得因素后,倒立擺系統(tǒng)就就是一個(gè)典型得運(yùn)動(dòng)得剛體系統(tǒng),可以在慣性坐標(biāo)系內(nèi)應(yīng)用經(jīng)典力學(xué)理論建立系統(tǒng)得動(dòng)力學(xué)方程。
下面我們采用 牛頓--歐拉方 法建立直線型一級(jí)倒立擺系統(tǒng)得數(shù)學(xué)模型:
在忽略了空氣阻力與各種摩擦之后,可將直線一級(jí)倒立擺系統(tǒng)抽象成小車與勻質(zhì)桿組成得系統(tǒng),如圖所示:
我們不妨做以下假設(shè): M 小車質(zhì)量 m 擺桿質(zhì)量 b
小車摩擦系數(shù) l 擺桿轉(zhuǎn)動(dòng)軸心到桿質(zhì)心得長度 I
擺桿慣量 F 加在小車上得力 x 小車位置 φ 擺桿與垂直向上方向得夾角 θ 擺桿與垂直向下方向得夾角(考慮到擺桿初始位置為豎直向下)圖就是系統(tǒng)中小車與擺桿得受力分析圖。其中,N 與P 為小車與擺桿相互作用 力得水平與垂直方向得分量。
注意:在實(shí)際倒立擺系統(tǒng)中檢測與執(zhí)行裝置得正負(fù)方向已經(jīng)完全確定,因而 矢量方向定義如圖所示,圖示方向?yàn)槭噶空较颉?/p>
分析小車水平方向所受得合力,可以得到以下方程:
(3—1)由擺桿水平方向得受力進(jìn)行分析可以得到下面等式:
(3-2)即:
(3-3)把這個(gè)等式代入式(3—1)中,就得到系統(tǒng)得第一個(gè)運(yùn)動(dòng)方程:
(3—4)
為了推出系統(tǒng)得第二個(gè)運(yùn)動(dòng)方程,我們對(duì)擺桿垂直方向上得合力進(jìn)行分析,可以得到下面方程:
(3—5)
(3-6)
力矩平衡方程如下:
(3-7)注意:此方程中力矩得方向,由l,故等式前面有負(fù)號(hào)。
合并這兩個(gè)方程,約去P 與N,得到第二個(gè)運(yùn)動(dòng)方程:
(3-8)設(shè)θ=φ+π(φ就是擺桿與垂直向上方向之間得夾角),假設(shè)φ與1(單位就是弧 度)相比很小,即φ〈<1,則可以進(jìn)行近似處理:
用u 來代表被控對(duì)象得輸入力F,線性化后兩個(gè)運(yùn)動(dòng)方程如下:
(3-9)對(duì)式(3—9)進(jìn)行拉普拉斯變換,得到
(3—10)注意:推導(dǎo)傳遞函數(shù)時(shí)假設(shè)初始條件為0。
由于輸出為角度φ,求解方程組得第一個(gè)方程,可以得到:
或
如果令
則有:
把上式代入方程組得第二個(gè)方程,得到:
整理后得到傳遞函數(shù):
其中
設(shè)系統(tǒng)狀態(tài)空間方程為:
方程組 對(duì),解代數(shù)方程,得到解如下:
整理后得到系統(tǒng)狀態(tài)空間方程:
由(3-9)得第一個(gè)方程為:
對(duì)于質(zhì)量均勻分布得擺桿有:
于就是可以得到:
化簡得到:
設(shè)
則有:
另外,也可以利用MATLAB 中tf2ss 命令對(duì)(3-13)式進(jìn)行轉(zhuǎn)化,求得上述狀 態(tài)方程。
實(shí)際系統(tǒng)得模型參數(shù)如下: M 小車質(zhì)量 1.096 Kg m 擺桿質(zhì)量 0。109 Kg b
小車摩擦系數(shù) 0、1N/m/sec l
擺桿轉(zhuǎn)動(dòng)軸心到桿質(zhì)心得長度 0、2 5m I 擺桿慣量 0.0034 kg*m*m 把上述參數(shù)代入,可以得到系統(tǒng)得實(shí)際模型。
擺桿角度與小車位移得傳遞函數(shù):
擺桿角度與小車加速度之間得傳遞函數(shù)為:
擺桿角度與小車所受外界作用力得傳遞函數(shù):
以外界作用力作為輸入得系統(tǒng)狀態(tài)方程:
以小車加速度作為輸入得系統(tǒng)狀態(tài)方程:
注意事項(xiàng):在固高科技所有提供得控制器設(shè)計(jì)與程序中,采用得都就是以 小車得加速度作為系統(tǒng)得輸入,如果用戶需要采用力矩控制得方法,可以參考以 上把外界作用力作為輸入得各式.五.系統(tǒng)得階越響應(yīng)分析
根據(jù)已經(jīng)得到系統(tǒng)得狀態(tài)方程,先對(duì)其進(jìn)行階躍響應(yīng)分析,在MATLAB 中 鍵入以下命令:
clear; A=[ 0 1 0 0;0 0 0 0;0 0 0 1;0 0 29、4 0];B=[ 0 1 0 3]’; C=[ 1 0 0 0;0 1 0 0];D=[ 0 0 ]’;step(A, B ,C ,D)
可以瞧出,在單位階躍響應(yīng)作用下,小車位置與擺桿角度都就是發(fā)散得.六.頻率響應(yīng)分析(系統(tǒng)穩(wěn)定性分析)
前面我們已經(jīng)得到了直線一級(jí)倒立擺得物理模型,實(shí)際系統(tǒng)得開環(huán)傳遞函數(shù) 為:
其中輸入為小車得加速度V(s),輸出為擺桿得角度Φ(s)
.在MATLAB 下繪制系統(tǒng)得Bode 圖與奈奎斯特圖.在MATLAB 中鍵入以下命令: clear; num=[0、02725];den=[0、0102125 0 —0、26705]; z=roots(num);p=roots(den); subplot(2,1,1)bode(num,den)subplot(2,1,2)
nyquist(num,den)得到如下圖所示得結(jié)果:
z = Empty matrix: 0—by-1 p = 5、1136 -5、1136
可以得到,系統(tǒng)沒有零點(diǎn),但存在兩個(gè)極點(diǎn),其中一個(gè)極點(diǎn)位于右半s平面,根據(jù) 奈奎斯特穩(wěn)定判據(jù),閉環(huán)系統(tǒng)穩(wěn)定得充分必要條件就是:當(dāng)ω 從? ∞到+ ∞變 化時(shí),開環(huán)傳遞函數(shù)G(jω)
沿逆時(shí)針方向包圍-1 點(diǎn)p 圈,其中p
為開環(huán)傳遞函數(shù) 在右半S平面內(nèi)得極點(diǎn)數(shù)。對(duì)于直線一級(jí)倒立擺,由奈奎斯特圖我們可以瞧出,開 環(huán)傳遞函數(shù)在S 右半平面有一個(gè)極點(diǎn),因此G(j ω)需要沿逆時(shí)針方向包圍—1 點(diǎn)一圈。可以瞧出,系統(tǒng)得奈奎斯特圖并沒有逆時(shí)針繞—1 點(diǎn)一圈,因此系統(tǒng)不穩(wěn)定, 需要設(shè)計(jì)控制器來鎮(zhèn)定系統(tǒng)。
七.具體控制方法(一)雙 雙 PID 控制
直線一級(jí)倒立擺雙 PID 控制實(shí)驗(yàn)
1。PID 控制分析
經(jīng)典控制理論得研究對(duì)象主要就是單輸入單輸出得系統(tǒng),控制器設(shè)計(jì)時(shí)一般需
要有關(guān)被控對(duì)象得較精確模型。PID 控制器因其結(jié)構(gòu)簡單,容易調(diào)節(jié),且不需要
對(duì)系統(tǒng)建立精確得模型,在控制上應(yīng)用較廣。
對(duì)于倒立擺系統(tǒng)輸出量為擺桿得角度,它得平衡位置為垂直向上得情
況。系統(tǒng)控制結(jié)構(gòu)框圖如下:
2、雙 PID 實(shí)驗(yàn)控制參數(shù)設(shè)定及仿真。
在 Simulinkzhong 建立直線一級(jí)倒立擺模型
上下兩個(gè) PID 模塊。鼠標(biāo)右鍵,選擇 “ Look under mask”打開模型內(nèi)部結(jié)構(gòu)分別為:
雙擊第二個(gè)模塊打開參數(shù)設(shè)置窗口
令 kp=1、ki=0、kd=0 得到擺桿角度仿真結(jié)果
可瞧出控制曲線不收斂。因此增大控制量。令 kp=-30、ki=0、kd=4、6、得到如下仿 真結(jié)果
從上面擺桿角度仿真結(jié)果可瞧出,穩(wěn)定比較好。但穩(wěn)定時(shí)間稍微有點(diǎn)長。
雙擊第一個(gè)模塊打開參數(shù)設(shè)置窗
經(jīng)多次嘗試在此參數(shù)即 kp=—7,ki=0,kp=-4、5 情況下效果最好。
得到以下仿真結(jié)果
黃線為小車位置輸出曲線,紅線為擺桿角度輸出曲線.從圖中可以瞧出,系統(tǒng)可以比較好得穩(wěn)定。穩(wěn)定時(shí)間在2—3 秒之間。穩(wěn)定性不錯(cuò).3。雙 PID 控制實(shí)驗(yàn) 打開直線一級(jí)倒立擺爽 PID 實(shí)時(shí)控制模塊
雙擊doublePID控制模塊進(jìn)入?yún)?shù)設(shè)置
把參數(shù)輸入 PID 控制器。編譯程序,使計(jì)算機(jī)同倒立擺連接。
運(yùn)行程序.實(shí)驗(yàn)結(jié)果如下圖所示
從圖中可以瞧出,倒立擺可以實(shí)現(xiàn)比較好得穩(wěn)定性。
(二)線性最優(yōu)二次控制 LQR
線性二次最優(yōu)控制LQR 控制實(shí)驗(yàn)
線性二次最優(yōu)控制 LQR 基本原理及分析
線性二次最優(yōu)控制LQR 基本原理為,由系統(tǒng)方程:
確定下列最佳控制向量得矩陣 K:
u(t)=—K*x(t)
使得性能指標(biāo)達(dá)到最小值:
式中
Q——正定(或正半定)厄米特或?qū)崒?duì)稱陣
R——為正定厄米特或?qū)崒?duì)稱陣
圖 3-54
最優(yōu)控制 LQR 控制原理圖
方程右端第二項(xiàng)就是考慮到控制能量得損耗而引進(jìn)得,矩陣 Q 與R確定了誤差與能量損耗得相對(duì)重要性。并且假設(shè)控制向量 u(t)就是無約束得.對(duì)線性系統(tǒng):
根據(jù)期望性能指標(biāo)選取Q 與 R,利用 MATLAB 命令 lqr 就可以得到反饋矩陣 K 得值。
K=lqr(A,B,Q,R)
改變矩陣 Q 得值,可以得到不同得響應(yīng)效果,Q 得值越大(在一定得范圍之內(nèi)),系統(tǒng)抵抗干擾得能力越強(qiáng),調(diào)整時(shí)間越短。但就是Q 不能過大
2、LQR 控制參數(shù)調(diào)節(jié)及仿真
前面我們已經(jīng)得到了直線一級(jí)倒立擺系統(tǒng)得比較精確得動(dòng)力學(xué)模型,下面我們針對(duì)直線型一級(jí)倒立擺系統(tǒng)應(yīng)用 LQR 法設(shè)計(jì)與調(diào)節(jié)控制器,控制擺桿保持豎直向上平衡得同時(shí),跟蹤小車得位置。
前面我們已經(jīng)得到了直線一級(jí)倒立擺系統(tǒng)得系統(tǒng)狀態(tài)方程:
應(yīng) 用 線 性 反 饋 控 制 器 , 控 制 系 統(tǒng) 結(jié) 構(gòu) 如 下 圖。
圖 中 R
就是施加在小車上得階躍輸入,四個(gè)狀態(tài)量 x,x,φ,φ分別代表小車位移、小車速度、擺桿角度與擺桿角速度,輸出 y = [x,φ]’ 包括小車位置與擺桿角度。設(shè)計(jì)控制器使得當(dāng)給系統(tǒng)施加一個(gè)階躍輸入時(shí),擺桿會(huì)擺動(dòng),然后仍然回到垂直位置,小車可以到達(dá)新得指定位置.假設(shè)全狀態(tài)反饋可以實(shí)現(xiàn)(四個(gè)狀態(tài)量都可測),找出確定反饋控制規(guī)律得向量K
.在 Mat(yī)lab
中得到最優(yōu)控制器對(duì)應(yīng)得K
。Lqr
函數(shù)允許您選擇兩個(gè)參數(shù)——R 與 Q,這兩個(gè)參數(shù)用來平衡輸入量與狀態(tài)量得權(quán)重。最簡單得情況就是假設(shè)
R = 1,Q =C’
*C.當(dāng)然,也可以通過改變 Q 矩陣中得非零元素來調(diào)節(jié)控制器以得到期望得響應(yīng).其中, Q1,1 代表小車位置得權(quán)重,而 Q3,3 就是擺桿角度得權(quán)重,輸入得權(quán)重 R 就是 1。
下面來求矩陣 K,Matlab 語句為 K = lqr(A,B,Q,R)
。下面在MATLAB 中編程計(jì)算: A=[0 1 0 0;0 0 0 0;0 0 0 1;0 0 29、4 0]; B=[0 1 0 3]’;C=[1 0 0 0;0 0 1 0]; D=[0 0]“; Q11=1500;Q33=300; Q=[Q11 0 0 0;
0 0 0 0;
0 0 Q33 0;
0 0 0 0]; R=1;K=lqr(A,B,Q,R);Ac=[(A—B*K)];Bc=[B];Cc=[C];Dc=[D]; T=0:0、005:5; U=0、2*ones(size(T));Cn=[1 0 0 0];Nbar=rscale(A,B,Cn,0,K);Bcn=[Nbar*B]; [Y,X]=lsim(Ac,Bc,Cc,Dc,U,T);plot(T,X(:,1),”—');hold on;plot(T,X(:,2),’—“);hold on; plot(T,X(:,3),”、“);hold on;plot(T,X(:,4),”-’);
legend(“cartpls”,“cartspd’,'pendang’,”pendspd’)令 Q1,1= 1,Q3,3 =1 求得
K
[—1
—1、7855
25、422
4、6849]
在 Simulink 中建立直線一級(jí)倒立擺得模型如下圖所示:
“LQR Controller”為一封裝好得模塊,在其上單擊鼠標(biāo)右鍵,選擇“Look under
mask"打開 LQR Controller 結(jié)構(gòu)如下:
雙擊“Matrix gain K”即可輸入控制參數(shù):
點(diǎn)擊 執(zhí)行仿真,得到如下仿真結(jié)果:
LQR 控制得階躍響應(yīng)如上圖所示,從圖中可以瞧出,閉環(huán)控制系統(tǒng)響應(yīng)得超調(diào)量很小,但穩(wěn)定時(shí)間與上升時(shí)間偏大,我們可以通過增大控制量來縮短穩(wěn)定時(shí)間與上升時(shí)間。
可以發(fā)現(xiàn),Q
矩陣中,增加 Q11 使穩(wěn)定時(shí)間與上升時(shí)間變短,并且使擺桿得角度變化減小.經(jīng)過多次嘗試,這里取 Q1,1=1500, Q3,3 =300,則 K = [
-32、7298
-23、8255
81、6182 14、7098]
輸入?yún)?shù),運(yùn)行得到響應(yīng)曲線如下:
從圖中可以瞧出,系統(tǒng)響應(yīng)時(shí)間有明顯得改善,增大Q1,1 與Q3,3,系統(tǒng)得響應(yīng)還會(huì)更快,但就是對(duì)于實(shí)際離散控制系統(tǒng),過大得控制量會(huì)引起系統(tǒng)振蕩.3、直線一級(jí)倒立擺LQR 控制實(shí)驗(yàn) 打開直線一級(jí)倒立擺 LQR 實(shí)時(shí)控制模塊
其中“LQR Controller”為 LQR 控制器模塊,“Real Control”為實(shí)時(shí)控制模塊,雙擊“LQR Controller”模塊打開 LQR 控制器參數(shù)設(shè)置窗口如下:
在“LQR Controller”模塊上點(diǎn)擊鼠標(biāo)右鍵選擇“Look under mask“打開模
型如下:
雙擊“Real Control"模塊打開實(shí)時(shí)控制模塊如下圖:
其中“Pendulum”模塊為倒立擺系統(tǒng)輸入輸出模塊,輸入為小車得速度“Vel ”與“Acc ”,輸出為小車得位置“Pos”與擺桿得角度“Angle ”。
雙擊“Pendulum”模塊打開其內(nèi)部結(jié)構(gòu):
其中“Set Cart’s Acc and Vel“模塊得作用就是設(shè)置小車運(yùn)動(dòng)得速度與加速度,Get Cart’s Position”模塊得作用就是讀取小車當(dāng)前得實(shí)際位置,“Get Pend’s Angle“ 得作用就是讀取擺桿當(dāng)前得實(shí)際角度.2)
運(yùn)行程序,實(shí)驗(yàn)運(yùn)行結(jié)果如下圖所示:
其中圖片上半部分為小車得位置曲線,下半部分為擺桿角度得變化曲線,從圖中可以瞧出,小車位置與擺桿角度比較穩(wěn)定。控制效果很好。
在此實(shí)驗(yàn)中,R 值固定,R=1,則只調(diào)節(jié) Q 值,Q11 代表小車位置得權(quán)重,而 Q33 就是擺桿角度得權(quán)重,若Q33增加,使得θ得變化幅度減小,而位移r得響應(yīng)速度變慢;若Q11 增加,使得 r 得跟蹤速度變快,而θ得變化幅度增大.當(dāng)給系統(tǒng)施加一個(gè)階躍輸入后,得到系統(tǒng)得響應(yīng)結(jié)果。從響應(yīng)曲線可明顯瞧出就是否滿足系統(tǒng)所要達(dá)到得性能指標(biāo)要求。通過這樣反復(fù)不斷得試湊,選取能夠滿足系統(tǒng)動(dòng)態(tài)性能要求得 Q 與 R。
(三)直線二級(jí)倒立擺 直線兩級(jí)倒立擺由直線運(yùn)動(dòng)模塊與兩級(jí)倒立擺組件組成.6、1
系統(tǒng)物理模型
為簡化系統(tǒng),我們?cè)诮r(shí)忽略了空氣阻力與各種摩擦,并認(rèn)為擺桿為剛體。
二級(jí)倒立擺得組成如圖
6—1
所示:
圖 6—1 直線兩級(jí)倒立擺物理模型
倒立擺參數(shù)定義如下:
M
小車質(zhì)量
m1
擺桿 1 得質(zhì)量
m2
擺桿 2 得質(zhì)量
m3
質(zhì)量塊得質(zhì)量
l1
擺桿 1 中心到轉(zhuǎn)動(dòng)中心得距離
l2
擺桿 2 中心到轉(zhuǎn)動(dòng)中心得距離
θ1 擺桿 1 與豎直方向得夾角 θ2 擺桿 2 與豎直方向得夾角
F
作用在系統(tǒng)上得外力
利用拉格朗日方程推導(dǎo)運(yùn)動(dòng)學(xué)方程:
拉格朗日方程為: L(q,q)=T(q,q)—V(q,q)
其中
L
為拉格朗日算子,q
為系統(tǒng)得廣義坐標(biāo),T 為系統(tǒng)得動(dòng)能,V 為系統(tǒng)得勢能。
其中
i =1,2,3??n,f i
為系統(tǒng)在第 i 個(gè)廣義坐標(biāo)上得外力,在二級(jí)倒立擺系統(tǒng)中,系統(tǒng)得廣義坐標(biāo)有三個(gè)廣義坐標(biāo),分別為 x,θ1,θ2。
首先計(jì)算系統(tǒng)得動(dòng)能:
其中 Tm,Tm1,Tm2,Tm3分別為小車得動(dòng)能,擺桿 1 得動(dòng)能,擺桿 2 得動(dòng)能與質(zhì)量塊得動(dòng)能。
小車得動(dòng)能:
Tm1
= Tm1” +Tm2 ’' 其中 Tm1“,Tm2 ’ 分別為擺桿 1 得平動(dòng)動(dòng)能與轉(zhuǎn)動(dòng)動(dòng)能。
Tm2
= Tm2 ” +Tm2 ’’ 其中 Tm2 “ ,Tm2 ’ 分別為擺桿 2 得平動(dòng)動(dòng)能與轉(zhuǎn)動(dòng)動(dòng)能.對(duì)于系統(tǒng),設(shè)以下變量:
xpend1
擺桿 1 質(zhì)心橫坐標(biāo);
yangle1 擺桿 1 質(zhì)心縱坐標(biāo);
xpend2
擺桿 2 質(zhì)心橫坐標(biāo);
yangle2 擺桿 2 質(zhì)心縱坐標(biāo);
xmass
質(zhì)量塊質(zhì)心橫坐標(biāo);
ymass 質(zhì)量塊質(zhì)心縱坐標(biāo);
又有:
由于系統(tǒng)在θ1,θ2 廣義坐標(biāo)下沒有外力作用,所以有:
在Mathematics中計(jì)算以上各式。
因其余各項(xiàng)為 0,所以這里僅列舉了 k12、k13、k17、k22、k23、k27
等 7 項(xiàng),得到結(jié)果如下:
6、2
系統(tǒng)可控性分析
系統(tǒng)狀態(tài)矩陣 A,B,C,D 如下:
利用 MATLAB 計(jì)算系統(tǒng)狀態(tài)可控性矩陣與輸出可控性矩陣得秩:
得到結(jié)果如下:
或就是通過 MATLAB 命令 ctrb 與 obsv 直接得到系統(tǒng)得可控性與可觀測性。
運(yùn)行得到:
可以得到,系統(tǒng)狀態(tài)與輸出都可控,且系統(tǒng)具有可觀測性.6、3
直線兩級(jí)倒立擺MATLAB
仿真
在 MATLAB Simulink 中建立直線兩級(jí)倒立擺得模型:
其中“Stat(yī)e-Space”模塊為直線兩級(jí)倒立擺得狀態(tài)方程,雙擊模塊打開模型:
“Controller”模塊為控制器模塊,在“Controller”模塊上單擊鼠標(biāo)右鍵,選擇 “ Look under mask”打開模型內(nèi)部結(jié)構(gòu):
其中“Matrix Gain K”為反饋矩陣。
雙擊“Controller”模塊打開其參數(shù)設(shè)置窗口: 先設(shè)置參數(shù)為“1“。
“Disturbance”模塊為外界干擾模塊,其作用就是給系統(tǒng)施加一個(gè)階躍信號(hào),點(diǎn)擊
“ ”運(yùn)行模型進(jìn)行開環(huán)系統(tǒng)仿真.得到運(yùn)行結(jié)果如下:
從仿真結(jié)果可以瞧出,系統(tǒng)發(fā)散,為使系統(tǒng)穩(wěn)定,需要對(duì)其添加控制器。
6、4 LQR 控制器設(shè)計(jì)及仿真
給系統(tǒng)添加 LQR 控制器,添加控制器后得系統(tǒng)閉環(huán)圖如下圖所示 :
下面利用線性二次最優(yōu)控制 LQR 方法對(duì)系統(tǒng)進(jìn)行控制器得設(shè)計(jì) clear;clc;—=22k?;46、6=71k;26、12-=31k;96、68=21k?40、31;k23=39、45;k27=-0、088;a= [0 0 0 1 0 0;0 0 0 0 1 0;0 0 0 0 0 1;0
0 0 0
0 0;0
k12 k 13 0 0 0 ;0 k22 k23 0 0 0];?;”]72k 71k 1 0 0 0 [=b?c =[ 1
0 0 0 0 0 ;0 1 0 0 0 0;0 0 1 0 0 0];;]0;0;0[=d?q 1 1= 1 ; q 2 2 = 1;q3 3 =1;q? = [q11 0 0 0 0 0;0 q22 0 0 0 0;0 0 q33 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0];r=1;;k*b—a=aa?)r,q,b,a(rql=k?
b=b*k(1);;)d,c,b,aa(ss=sys?t=0:0、01:5;[y,t,x]=step(sys,t);plot(t,y(:,1),’g’,t,y(:,2),'r“,t,y(:,3));o dirg?n 運(yùn)行得到以下結(jié)果:
LQR 控制參數(shù)為:
K=[ 1
73、818 —83、941
2、0162 4、2791-13、036]
得到仿真結(jié)果如下:
可以瞧出,系統(tǒng)穩(wěn)定時(shí)間過長,因此增加權(quán)重 Q 得值。
設(shè) Q11=300;Q22=500;Q33=500;
運(yùn)行得到仿真結(jié)果:
LQR 控制參數(shù)為:
K=[ 17、321
110、87-197、57
18、468 2、7061 —32、142]
從圖中可以瞧出,系統(tǒng)可以很好得穩(wěn)定,在給定倒立擺干擾后,系統(tǒng)在 2、5 秒內(nèi)可以恢復(fù)到平衡點(diǎn)附近。
把以上仿真參數(shù)輸入 Simulink 模型中
得到運(yùn)行結(jié)果
從圖中可知,系統(tǒng)穩(wěn)定性還不錯(cuò)。
但這未必就是最好得參數(shù)。所以,下面改變 LQR 參數(shù),比較結(jié)果變化。
確定最合適參數(shù)。
1、設(shè) Q11=1000;Q22=500;Q33=500;
運(yùn)行得到仿真結(jié)果: LQR 控制參數(shù)為:
k=31、6228 116、7093 -238、1742 29、1041 1、2221
-39、3596
可瞧出位置在 2 秒左右就可恢復(fù)到平衡點(diǎn)位置。而角度依然就是在 2、5 秒內(nèi)恢復(fù)到平衡位置.2、設(shè) Q11=1500;Q22=500;Q33=500;
運(yùn)行得到仿真結(jié)果: LQR 控制參數(shù)為:
k= 38、7298 119、2083 —257、0671 34、1612 0、5092
-4 2、7166
可瞧出位置在1、5—2、0秒內(nèi)就可恢復(fù)到平衡點(diǎn)位置.而角度依然就是在 2、5 秒內(nèi)恢復(fù)到平衡位置。
3、設(shè)Q11=1500;Q22=500;Q33=500;
運(yùn)行得到仿真結(jié)果: LQR 控制參數(shù)為:
k =
44、7214
121、1834 —272、5934
38、3562
—0、0849
—45、4751
可瞧出位置依然在 1、5秒就可恢復(fù)到平衡點(diǎn)位置。而角度依然就是在 2、5 秒內(nèi)恢復(fù)到平衡位置.4、設(shè) Q11=1500;Q22=1000;Q33=1000;
運(yùn)行得到仿真結(jié)果: LQR 控制參數(shù)為: k =
38、7298
129、4996 -281、3118
35、73890、4721
—46、5905
可瞧出位置在 1、5—2、0內(nèi)就可恢復(fù)到平衡點(diǎn)位置。而角度就是在 2、5 秒內(nèi)恢復(fù)到平衡位置.5、設(shè) Q11=1500;Q22=100;Q33=100;
運(yùn)行得到仿真結(jié)果: LQR 控制參數(shù)為:
k =
38、7298
108、6175 -232、1487
32、4616
0、5479
-38、7170
可瞧出位置在 1、5內(nèi)就可恢復(fù)到平衡點(diǎn)位置.而角度就是在 2 秒內(nèi)恢復(fù)到平衡位置.通過對(duì)比,第 5 個(gè)參數(shù)最合適。
LQR 控制參數(shù)為: k =38、7298
108、6175 -232、1487
32、4616
0、5479
-38、7170 把其輸入到Simulink 模型中。
得到運(yùn)行結(jié)果。
此結(jié)果最好,系統(tǒng)不僅可以很好得穩(wěn)定,而且在給定倒立擺干擾后,系統(tǒng)可在 2 秒內(nèi)恢復(fù)到平衡點(diǎn)附近.八.個(gè)人小結(jié)。
倒立擺實(shí)驗(yàn)個(gè)人小結(jié)
李航 08011041
大三上學(xué)期得第一次機(jī)械工程實(shí)驗(yàn),我們接觸與學(xué)習(xí)了減速器,維持一個(gè)學(xué)期得實(shí)驗(yàn),我們從結(jié)構(gòu),運(yùn)動(dòng)等方面,對(duì)機(jī)械有了更深得認(rèn)識(shí),而這個(gè)學(xué)期,我們要更進(jìn)一步,從機(jī)械控制理論,來讓自己對(duì)機(jī)械得理解,有一個(gè)新得高度。
我們接觸得倒立擺就是機(jī)器人技術(shù)、控制理論、計(jì)算機(jī)控制等多個(gè)領(lǐng)域、多種技術(shù)得有機(jī)結(jié)合,其被控系統(tǒng)本身又就是一個(gè)絕對(duì)不穩(wěn)定、高階次、多變量、強(qiáng)耦合得非線性系統(tǒng),可以作為一個(gè)典型得控制對(duì)象對(duì)其進(jìn)行研究。
倒立擺數(shù)學(xué)模型:
通過對(duì)倒立擺系統(tǒng)得物理模型與實(shí)際模型得認(rèn)知,以及對(duì)該系統(tǒng)得階躍響應(yīng),可控性分析與頻率響應(yīng)分析,我們可以知道倒立擺系統(tǒng)就是不穩(wěn)定得,可控得,所以就有了我們得課題:具體得控制方法。
在前半個(gè)學(xué)期,我們學(xué)習(xí)了機(jī)械控制理論,了解了伯德圖與奈奎斯特圖,而在大一得高數(shù)學(xué)習(xí)中,我們初步學(xué)習(xí)了MATLAB,通過在圖書館以及網(wǎng)上查找資料,我們學(xué)習(xí)了SIMULINK仿真,為這次實(shí)驗(yàn)打下了一定得基礎(chǔ)。
對(duì)于一級(jí)倒立擺線性系統(tǒng),我們實(shí)驗(yàn)了兩種控制方法:分別就是雙PID控制與LQR控制。
常規(guī)得PID控制,就是最早得也就是最經(jīng)典得一種控制方式,由于其算法簡單、魯棒性好、可靠性高,因而至今仍廣泛應(yīng)用于工業(yè)過程控制中。它有三個(gè)控制環(huán)節(jié),分別就是比例、積分與微分,實(shí)驗(yàn)中使用得控制器得傳遞函數(shù)就是
其中Kp、Ki、Kd分別為比例系數(shù)、積分系數(shù)與微分系數(shù)。各個(gè)系數(shù)功能如下: 1、比例系數(shù)Kp增大,閉環(huán)系統(tǒng)得靈敏度增加,穩(wěn)態(tài)誤差減小,系統(tǒng)振蕩增強(qiáng);比例系數(shù)超過某個(gè)值時(shí),閉環(huán)系統(tǒng)可能變得不穩(wěn)定。
2、積分系數(shù)Ki增大,可以提高系統(tǒng)得型別,使系統(tǒng)由有差變?yōu)闊o差;積分作用太強(qiáng)會(huì)導(dǎo)致閉環(huán)系統(tǒng)不穩(wěn)定。
3、微分系數(shù)Kd增大,預(yù)測系統(tǒng)變化趨勢得作用增強(qiáng),會(huì)使系統(tǒng)得超調(diào)量減小,響應(yīng)時(shí)間變快.但就是上述得各個(gè)參數(shù)在調(diào)節(jié)過程中并不就是相互獨(dú)立得,而就是會(huì)相互影響。PID控制得快速性較差,而且只能對(duì)擺角進(jìn)行控制,無法控制位移。
雙PID控制,則解決了傳統(tǒng)得PID控制只能控制擺角得缺陷,但就是對(duì)于雙PID控制,如何使擺角角度與小車位置達(dá)到協(xié)調(diào),使系統(tǒng)響應(yīng)收斂,就是個(gè)難題,而且PID控制就是單控制量,外部擾動(dòng)對(duì)實(shí)驗(yàn)結(jié)果得影響會(huì)比較大,所以我們學(xué)習(xí)了線性二次型控制,也就就是LQR控制。
LQR控制就是通過最小化性能指標(biāo),得到系統(tǒng)得控制量U=-KX,其中Q,R,分別就是狀態(tài)變量與輸入向量得加權(quán)矩陣,X就是狀態(tài)量,U就是控制量,K就是狀態(tài)矩陣.根據(jù)期望性能指標(biāo)選取Q與R,利用MATLAB 命令lqr 就可以得到反饋矩陣K 得值。K=lqr(A,B,Q,R)
改變矩陣Q 得值,可以得到不同得響應(yīng)效果,Q 得值越大(在一定得范圍之內(nèi)),系統(tǒng)抵抗干擾得能力越強(qiáng),調(diào)整時(shí)間越短。利用MATLAB自帶得函數(shù),可以很快算出反饋矩陣各參數(shù)得值.通過實(shí)驗(yàn)結(jié)果,我們發(fā)現(xiàn)LQR控制作為多變量得控制,穩(wěn)定性,快速性與抗
干擾性都很好,LQR控制可得到狀態(tài)線性反饋得最優(yōu)控制規(guī)律 ,易于構(gòu)成閉環(huán)最優(yōu)控制就是現(xiàn)代控制理論中發(fā)展最早也最為成熟得一種狀態(tài)空間設(shè)計(jì)法。
實(shí)驗(yàn)心得: 比較這三種控制方法,經(jīng)典PID控制方法得效果就是最不理想得,因?yàn)镻ID這類單輸入輸出得線性控制器,對(duì)于倒立擺這種非線性,很不穩(wěn)定得系統(tǒng),雖然能使其穩(wěn)定,但就是快速性與抗干擾性都很差,相比較而言,LQR得效果就要好很多。
這次得倒立擺實(shí)驗(yàn),可以說就是我做過得最難得一個(gè)實(shí)驗(yàn)了,不僅涉及面十分廣,而且涉及得知識(shí)也都很難。通過這次實(shí)驗(yàn),我們對(duì)機(jī)械控制理論有了更深一步得了解,也把書上學(xué)得知識(shí),應(yīng)用到了實(shí)際中. 在實(shí)驗(yàn)過程中,我們認(rèn)識(shí)了倒立擺這個(gè)經(jīng)典得控制系統(tǒng),也接觸了PID與LQR等多種控制方法,讓我們對(duì)機(jī)械,這個(gè)詞得概念,也更加深入得有了自己得理解。
而且作為一個(gè)分組實(shí)驗(yàn),我充分感受到了團(tuán)隊(duì)力量得強(qiáng)大,也體會(huì)到了克服困難得艱辛,學(xué)會(huì)了用多種得途徑去解決難題。通過預(yù)習(xí),借閱書籍,上網(wǎng)等多種途徑,也為將來得學(xué)習(xí)打下良好得基礎(chǔ)。
而且通過這個(gè)控制領(lǐng)域得經(jīng)典基礎(chǔ)實(shí)驗(yàn),為將來考研以及科研都就是很有幫助得。
同時(shí)要感謝同學(xué)與老師對(duì)自己得幫助,讓自己能順利得完成這次實(shí)驗(yàn).但就是在實(shí)驗(yàn)中,我個(gè)人也有一些建議。首先這個(gè)實(shí)驗(yàn)得基礎(chǔ)就是機(jī)械控制理論基礎(chǔ)這門課,但就是這么課我們?cè)趯?shí)驗(yàn)開始得時(shí)候壓根就沒學(xué),所以前幾周只能靠自學(xué)或者毫無進(jìn)展,但就是自學(xué)不能保證效率,所以實(shí)驗(yàn)得時(shí)間安排感覺不就是很好。
倒立擺實(shí)驗(yàn)小結(jié)
李宗澤
我就是這次倒立擺實(shí)驗(yàn)我們小組得組長,由于分組得關(guān)系,我們組得組員平時(shí)成績都不就是特別理想,但就是從一開始,我們就有信心能把這次實(shí)驗(yàn)完成。
這次實(shí)驗(yàn)要求我們運(yùn)用經(jīng)典控制理論控制直線一級(jí)倒立擺,包括實(shí)際系統(tǒng)模型得建立、控制器設(shè)計(jì)、頻率響應(yīng)分析、PID 控制分析等內(nèi)容。運(yùn)用現(xiàn)代控制理論中得線性最優(yōu)控制LQR 方法實(shí)驗(yàn)控制倒立擺.并且能熟練得運(yùn)用matlab解決實(shí)際問題,了解SIMULINK仿真。
倒立擺就是一種典型得快速、多變量、非線性、絕對(duì)不穩(wěn)定、非最小相位系統(tǒng).就是進(jìn)行控制理論研究得典型實(shí)驗(yàn)平臺(tái),倒立擺實(shí)驗(yàn)就是運(yùn)用古典控制理論,結(jié)合現(xiàn)代應(yīng)用軟件MATLAB里得SIMULINK對(duì)其進(jìn)行仿真,最后在實(shí)際實(shí)驗(yàn)中對(duì)擺桿進(jìn)行快速性,準(zhǔn)確性與穩(wěn)定性控制,達(dá)到理想得效果。因此,研究倒立擺具有重要得理論與實(shí)踐意義。
實(shí)驗(yàn)得初期,也就就是前幾周,我們主要先大致預(yù)習(xí)了控制理論里得頻率響應(yīng)與時(shí)域響應(yīng)得內(nèi)容,了解了伯德圖與奈奎斯特圖得含義。并且到圖書館里借閱了相關(guān)書籍,到網(wǎng)上查找有關(guān)資料,并且結(jié)合大一時(shí)得高數(shù)課,復(fù)習(xí)了mat(yī)lab得基本操作。
這次實(shí)驗(yàn)得主要內(nèi)容就是利用三種控制方法,使倒立擺系統(tǒng)達(dá)到穩(wěn)定,并且比較三種控制方法得優(yōu)劣。
我們首先做得就是經(jīng)典PID控制,經(jīng)典PID控制就是最早發(fā)展起來得一種控制方法,由于其算法簡單、魯棒性好、可靠性高,因而至今仍廣泛應(yīng)用于工業(yè)過
程控制中。該方法得主要思想就是:根據(jù)給定值r與系統(tǒng)得實(shí)際輸出值c構(gòu)成控制偏差e,然后將偏差得比例(P)、積分(I)與微分(D)三項(xiàng)通過線性組合構(gòu)成控制量,對(duì)被控對(duì)象進(jìn)行控制,故稱為PID控制。
比例環(huán)節(jié)P得作用,就是對(duì)當(dāng)前時(shí)刻得偏差信號(hào)進(jìn)行放大或衰減后作為控制信號(hào)輸出。積分環(huán)節(jié)I可以累計(jì)從零時(shí)刻起到當(dāng)前得輸入信號(hào)得全部值。微分環(huán)節(jié)D得輸出正比于輸入得當(dāng)前變化率,作用就是有偏差信號(hào)得當(dāng)前變化率來預(yù)見隨后得偏差將就是增大還就是減小,增減幅度如何。PID控制通過調(diào)節(jié)KP,KI,KD三個(gè)基本參數(shù),來實(shí)現(xiàn)仿真,達(dá)到預(yù)期得控制效果,但就是PID控制就是一個(gè)單輸入輸出得控制,它只能搖桿得角度,而不能控制小車得位移。
雙PID控制就是利用兩個(gè)PID來同時(shí)控制倒立擺系統(tǒng),雙PID得模型如下:
雙PID控制雖然能控制小車得位移,但就是我們?cè)趯?shí)際操作過程中,發(fā)現(xiàn)實(shí)驗(yàn)結(jié)果得曲線很難達(dá)到收斂,往往都就是發(fā)散得。
LQR控制:線性二次型調(diào)節(jié)器(Linear Quadratic Regulator —LQR)
問題在現(xiàn)代控制理論中占有非常重要得位置,受到控制界得普遍重視,應(yīng)用十分廣泛,就是現(xiàn)代控制理論得中最重要得成果之一。線性二次型(LQ)
性能指標(biāo)易于分析、處理與計(jì)算,而且通過線性二次型最優(yōu)設(shè)計(jì)方法得到得倒立擺系統(tǒng)控制方法,具好較好得魯棒性與動(dòng)態(tài)特性以及能夠獲得線性反饋結(jié)構(gòu)等優(yōu)點(diǎn),因而在實(shí)際得倒立擺控制系統(tǒng)設(shè)計(jì)中,得到了廣泛得應(yīng)用。
LQR控制通過mat(yī)lab得程序,根據(jù)期望性能指標(biāo)選取Q與R,就可以得到反饋矩陣K得值。改變矩陣Q得值,可以得到不同得響應(yīng)結(jié)果,Q得值越大,系統(tǒng)抵抗干擾能力越強(qiáng),調(diào)整時(shí)間越短。
從實(shí)驗(yàn)得結(jié)果來瞧,LQR控制在快速性與抗干擾性上,都要強(qiáng)于PID控制,這就是因?yàn)長QR就是多變量控制.經(jīng)過了這次實(shí)驗(yàn),我有了很多收獲:
1.作為一個(gè)小組得組長,我體會(huì)到了自己身上得責(zé)任與壓力,從分配任務(wù)到實(shí)驗(yàn)進(jìn)行,實(shí)驗(yàn)報(bào)告,對(duì)我自己都就是一個(gè)很好得鍛煉。
2.這次實(shí)驗(yàn)過程中,我也學(xué)習(xí)到了很多平時(shí)接觸不到得知識(shí),復(fù)習(xí)了matlab得應(yīng)用,了解了simulink模塊得應(yīng)用,而且也對(duì)現(xiàn)代控制理論有了理解,為將來得學(xué)習(xí)打下基礎(chǔ).3.體會(huì)到了團(tuán)隊(duì)力量得強(qiáng)大,大家得互相努力,才有了這次實(shí)驗(yàn)得成功.4.最后離不開老師與同學(xué)對(duì)自己與我們這個(gè)小組得幫助,感謝老師與同學(xué). 倒立擺實(shí)驗(yàn)小結(jié) 機(jī)自82
劉凱
08011044 倒立擺就是進(jìn)行控制理論研究得典型實(shí)驗(yàn)平臺(tái)。由于倒立擺系統(tǒng)得控制策略與雜技運(yùn)動(dòng)員頂桿平衡表演得技巧有異曲同工之處,極富趣味性,而且許多抽象得控制理論概念如系統(tǒng)穩(wěn)定性、可控性與系統(tǒng)抗干擾能力等等,都可以通過倒立擺系統(tǒng)實(shí)驗(yàn)直觀得表現(xiàn)出來。倒立擺系統(tǒng)本身所具有得高階次、不穩(wěn)定、多變量、非線性與強(qiáng)耦合特性。主要特點(diǎn)包括:1、開放性:采用四軸運(yùn)動(dòng)控制板卡,機(jī)械部分與電氣部分非常容易擴(kuò)展,可以根據(jù)用戶需要進(jìn)行配置.系統(tǒng)軟件接口充分開放,用戶不僅可以使用配套得實(shí)驗(yàn)軟件,而且可以根據(jù)自己得實(shí)際需要擴(kuò)展軟件得功能.2 模塊化:系統(tǒng)得機(jī)械部分可以選用直線或者旋轉(zhuǎn)平臺(tái),根據(jù)實(shí)際需要配置成一級(jí)、二級(jí)或者三級(jí)倒立擺.而三級(jí)擺可以方便地改裝成兩級(jí)擺,兩級(jí)擺可以
改裝成一級(jí)擺。系統(tǒng)實(shí)驗(yàn)軟件同樣就是基于模塊化得思想設(shè)計(jì),用戶可以根據(jù)需要
增加或者修改相應(yīng)得功能模塊。簡易安全:擺實(shí)驗(yàn)系統(tǒng)包括運(yùn)動(dòng)控制板卡、電控箱(旋轉(zhuǎn)平臺(tái)系統(tǒng)中與機(jī)械本體聯(lián)在一起)、機(jī)械本體與微型計(jì)算機(jī)幾個(gè)部分組成,安裝升級(jí)方便。同時(shí)在機(jī)械、運(yùn)動(dòng)控制板卡與實(shí)驗(yàn)軟件上都采取了積極措施,保證實(shí)驗(yàn)時(shí)人員得安全可靠與儀器安全。方便性:倒立擺系統(tǒng)易于安裝、升級(jí),同時(shí)軟件界面操作簡單。先進(jìn)性:采用工業(yè)級(jí)四軸運(yùn)動(dòng)控制板卡作為核心控制系統(tǒng),先進(jìn)得交流伺服電機(jī)作為驅(qū)動(dòng),檢測元件使用高精度高性能光電碼盤。系統(tǒng)設(shè)計(jì)符合當(dāng)今先進(jìn)得運(yùn)動(dòng)控制發(fā)展方向。
6 實(shí)驗(yàn)軟件多樣化:用于實(shí)驗(yàn)得軟件包括經(jīng)典得BorlandC++,VC++,以及控制領(lǐng)域使用最多得仿真工具 Matlab,提供完備得設(shè)備接口與程序接口,方便用戶進(jìn)行實(shí)驗(yàn)與開發(fā).特性包括
1)
非線性
倒立擺就是一個(gè)典型得非線性復(fù)雜系統(tǒng),實(shí)際中可以通過線性化得到系統(tǒng)得近似模型,線性化處理后再進(jìn)行控制。也可以利用非線性控制理論對(duì)其進(jìn)行控制。倒立擺得非線性控制正成為一個(gè)研究得熱點(diǎn)。
2)
不確定性
主要就是模型誤差以及機(jī)械傳動(dòng)間隙,各種阻力等,實(shí)際控制中一般通過減少各種誤差來降低不確定性,如通過施加預(yù)緊力減少皮帶或齒輪得傳動(dòng)誤差,利用滾珠軸承減少摩擦阻力等不確定因素。
3)
耦合性
倒立擺得各級(jí)擺桿之間,以及與運(yùn)動(dòng)模塊之間都有很強(qiáng)得耦合關(guān)系,在倒立擺得控制中一般都在平衡點(diǎn)附近進(jìn)行解耦計(jì)算,忽略一些次要得耦合量。
4)
開環(huán)不穩(wěn)定性
倒立擺得平衡狀態(tài)只有兩個(gè),即在垂直向上得狀態(tài)與垂直向下得狀態(tài),其中垂直向上為絕對(duì)不穩(wěn)定得平衡點(diǎn),垂直向下為穩(wěn)定得平衡點(diǎn)。5)約束限制
由于機(jī)構(gòu)得限制,如運(yùn)動(dòng)模塊行程限制,電機(jī)力矩限制等。為了制造方便與降低成本,倒立擺得結(jié)構(gòu)尺寸與電機(jī)功率都盡量要求最小,行程限制對(duì)倒立擺得擺起影響尤為突出,容易出現(xiàn)小車得撞邊現(xiàn)象。
這個(gè)學(xué)期我們學(xué)習(xí)了機(jī)械控制理論基礎(chǔ)這門課程正好應(yīng)用在本次實(shí)驗(yàn)上。我們借閱了很多關(guān)于智能控制及現(xiàn)代理論控制方面得書籍,深入地了一級(jí)倒立擺,二級(jí)倒立擺得原理。,、在完成得過程中盡管遇到了重重困難,但就是在老師與同學(xué)得幫助下,在通過我們自己得努力,也順利將其克服。實(shí)驗(yàn)結(jié)束了,我們受益匪淺,這次實(shí)驗(yàn)不但鍛煉了我們得發(fā)現(xiàn)問題,思考問題,解決問題得能力,還使我們對(duì)機(jī)械控制系統(tǒng)得進(jìn)一步認(rèn)識(shí),培養(yǎng)了我們小組成員得分工協(xié)作能力。
第二篇:倒立擺實(shí)驗(yàn)報(bào)告
一、實(shí)驗(yàn)內(nèi)容
1、完成Matlab Simulink 環(huán)境下的電機(jī)控制實(shí)驗(yàn)。
2、完成直線一級(jí)倒立擺的建模、仿真、分析。
3、理解并掌握PID控制的的原理和方法,并應(yīng)用與直線一級(jí)倒立擺
4、主要完成狀態(tài)空間極點(diǎn)配置控制實(shí)驗(yàn)、LQR控制實(shí)驗(yàn)、LQR控制(能量自擺起)實(shí)驗(yàn)、直線二級(jí)倒立擺Simulink的實(shí)時(shí)控制實(shí)驗(yàn)。
二、實(shí)驗(yàn)設(shè)備
1、計(jì)算機(jī)。
2、電控箱,包括交流伺服機(jī)驅(qū)動(dòng)器、運(yùn)動(dòng)控制卡的接口板、直流電源等。
3、倒立擺本體,包括一級(jí)倒立擺,二級(jí)倒立擺。
三、倒立擺實(shí)驗(yàn)介紹
倒立擺是一個(gè)典型的不穩(wěn)定系統(tǒng),同時(shí)又具有多變量、非線性、強(qiáng)耦合的特性,是自動(dòng)控制理論中的典型被控對(duì)象。它深刻揭示了自然界一種基本規(guī)律,即一個(gè)自然不穩(wěn)定的被控對(duì)象,運(yùn)用控制手段可使之具有一定的穩(wěn)定性和良好的性能。許多抽象的控制概念如控制系統(tǒng)的穩(wěn)定性、可控性、系統(tǒng)收斂速度和系統(tǒng)抗干擾能力等,都可以通過倒立擺系統(tǒng)直觀的表現(xiàn)出來。
(1)被控對(duì)象 倒立擺的被控對(duì)象為擺桿和小車。擺桿通過鉸鏈連接在小車上,并可以圍繞連接軸自由旋轉(zhuǎn)。通過給小車施加適當(dāng)?shù)牧梢詫[桿直立起來并保持穩(wěn)定的狀態(tài)。
(2)傳感器 倒立擺系統(tǒng)中的傳感器為光電編碼盤。旋轉(zhuǎn)編碼器是一種角位移傳感器,它分為光電式、接觸式和電磁感應(yīng)式三種,本系統(tǒng)用到的就是光電式增量編碼器。
(3)執(zhí)行機(jī)構(gòu) 倒立擺系統(tǒng)的執(zhí)行機(jī)構(gòu)為松下伺服電機(jī)和與之連接的皮帶輪。電機(jī)的轉(zhuǎn)矩和速度通過皮帶輪傳送到小車上,從而帶動(dòng)小車的運(yùn)動(dòng)。電機(jī)的驅(qū)動(dòng)由與其配套的伺服驅(qū)動(dòng)器提供。
光電碼盤1將小車的位移、速度信號(hào)反饋給伺服驅(qū)動(dòng)器和運(yùn)動(dòng)控制卡,而光電碼盤2 將擺桿的位置、速度信號(hào)反饋回控制卡。計(jì)算機(jī)從運(yùn)動(dòng)控制卡中讀取實(shí)時(shí)數(shù)據(jù),確定控制決策(小車向哪個(gè)方向移動(dòng)、移動(dòng)速度、加速度等),并由運(yùn)動(dòng)控制卡來實(shí)現(xiàn)該控制決策,產(chǎn)生相應(yīng)的控制量,使電機(jī)轉(zhuǎn)動(dòng),帶動(dòng)小車運(yùn)動(dòng),保持?jǐn)[桿平衡。
圖1 直線倒立擺系統(tǒng)總體結(jié)構(gòu)圖
四、實(shí)驗(yàn)步驟
4.1 狀態(tài)空間極點(diǎn)配置控制實(shí)驗(yàn)
極點(diǎn)配置法通過設(shè)計(jì)狀態(tài)反饋控制器將多變量系統(tǒng)的閉環(huán)系統(tǒng)極點(diǎn)配置在期望的位置上,從而使系統(tǒng)滿足瞬態(tài)和穩(wěn)態(tài)性能指標(biāo)。前面我們已經(jīng)得到了倒立擺系統(tǒng)的比較精確的動(dòng)力學(xué)模型,下面我們針對(duì)直線型一級(jí)倒立擺系統(tǒng)應(yīng)用極點(diǎn)配置法設(shè)計(jì)控制器。1)狀態(tài)空間分析
??對(duì)于控制系統(tǒng)X AX?Bu式中:X—狀態(tài)向量(n維);u—控制向量;A—n?n常數(shù)矩陣;B—n?1常數(shù)矩陣。
選擇控制信號(hào)為:u??KX
? 求解上式,得到:x(t)?(A?BK)(xt)(AB?K)t 方程的解為:x()t?ex(0)
圖3 狀態(tài)反饋閉環(huán)控制原理圖
可以看出,如果系統(tǒng)狀態(tài)完全可控,K選擇適當(dāng),對(duì)于任意的初始狀態(tài),當(dāng)t 趨于無窮時(shí),都可以使趨于0。2)狀態(tài)空間極點(diǎn)配置
前面我們已經(jīng)得到了直線一級(jí)倒立擺的狀態(tài)空間模型,以小車加速度作為輸 入的系統(tǒng)狀態(tài)方程為:
???x?0???0??x ?????????0??????????0?
100000029.40??x??0??x????0?1??????u'
?0?1??????????0?????3????x??1y?????????0?0?0即: A???0??01000000100029.4?x????0??x???0?u'
?0?0????????????????0?0??1?0?? B???
?0?1????0??3?
?1 C???000010??0? D???
0??0??對(duì)于如上所述的系統(tǒng),設(shè)計(jì)控制器,要求系統(tǒng)具有較短的調(diào)整時(shí)間(約3秒)和合適的阻尼(阻尼比??0.5)。
下面采用極點(diǎn)配置的方法計(jì)算反饋矩陣。
1、檢驗(yàn)系統(tǒng)可控性
由系統(tǒng)可控性分析可以得到,系統(tǒng)的狀態(tài)完全可控性矩陣的秩等于系統(tǒng)的狀態(tài)維數(shù)4,系統(tǒng)的輸出完全可控性矩陣的秩等于系統(tǒng)輸出向量的維數(shù)2,所以系統(tǒng)可控。
圖4 倒立擺極點(diǎn)配置原理圖
2、計(jì)算特征值
根據(jù)要求,并留有一定的裕量(設(shè)調(diào)整時(shí)間為2秒),我們選取期望的閉環(huán) 極點(diǎn)s其中:??i?1,2,3,4)i(。
????10,???10,??2?j23,???2?j231234的主導(dǎo)閉環(huán)極點(diǎn),?1,?2位于主導(dǎo)閉環(huán)極點(diǎn)的左?3,?4是一對(duì)具有??0.5,?4n?邊,因此其影響較小,可以將系統(tǒng)近似為二級(jí)系統(tǒng),根據(jù)公式
???1??2e??%ts?3.3??n
?1,2????n??n1??2j可得?,?n和一對(duì)主導(dǎo)極點(diǎn)?1,2 因此期望的特征方程為:
s????sss?s?10s?10s?2?j23s?2?j23????????????????1234432?s?24s??196s720s?1600????12
因此可以得到:
???24,?196,??720,??160034
由系統(tǒng)的特征方程:
00??s?1?0s?00??s4?29.4ssI?A???00s?1???00?29.4s??因此有a1?0,a2??29.4,a3?0,a4?0。
系統(tǒng)的反饋增益矩陣為:
3、確定使?fàn)顟B(tài)方程變?yōu)榭煽貥?biāo)準(zhǔn)型的變換矩陣T:
T?MW其中:
M?[B?AB?A2B?A3B]?0?1 ???0??31?1Ka????a????a??aT ??nnn?1n?12211????0?000?? 3088.2??088.20?0
?a3?aW??2?a1??
1所以:
??29.4?0
T?MW???0??00a2a110a11??0?29.4??29.410?0???00??01??00??1001?10??00??00? 00.011300.33330?0.0113?? 0??0.3333?0??0.03410??0?29.401??1?,T???0030???003??0?0.034002、求狀態(tài)反饋增益矩陣K:
K?[?4?a4??3?a3??2?a2??1?a1]T?10??0.034?0 ?0.034?[1600720196?29.424]??00?0?0?[?54.4218?24.489893.273816.1633]0.011300.33330? 0.0113??0??0.3333?0? ??93.2739??16.1633? 得到控制量: u?KX??54.4218x?24.4898x以上計(jì)算可以采用 MATLAB 編程計(jì)算。3)Simulink仿真實(shí)驗(yàn)
在MATLAB Simulink下對(duì)系統(tǒng)進(jìn)行仿真。
圖5 直線一級(jí)倒立擺極點(diǎn)配置控制仿真模型
雙擊“State-Space”模塊打開直線一級(jí)倒立擺的模型設(shè)置窗口如下:
圖6 系統(tǒng)狀態(tài)空間模型設(shè)置窗口
把參數(shù)A,B,C,D 的值設(shè)置為實(shí)際系統(tǒng)模型的值。
雙擊“Pole Controller”模塊打開極點(diǎn)配置控制器參數(shù)的設(shè)置窗口:
圖7 反饋增益矩陣輸入窗口
把上面計(jì)算得到的反饋增益矩陣K輸入,設(shè)置好各項(xiàng)參數(shù)后,點(diǎn)擊“行仿真。
4)Simulink實(shí)時(shí)控制實(shí)驗(yàn)
”運(yùn)
圖9 實(shí)驗(yàn)五 狀態(tài)空間極點(diǎn)配置控制實(shí)驗(yàn)
上圖中的紅色方框?yàn)樵O(shè)計(jì)的極點(diǎn)配置控制器,運(yùn)行前查看是否為自己設(shè)計(jì)好的控制器,并確定保證擺桿此時(shí)豎直向下。不用編譯鏈接,直接單擊“
”按鈕,用手捏住擺桿頂端(不要抓住中部或下部),慢慢地提起,到接近豎直方向時(shí)放手,當(dāng)擺桿與豎直向上的方向夾角小于0.30弧度時(shí),進(jìn)入穩(wěn)擺范圍,可以觀察到,擺桿直立不倒,小車穩(wěn)擺在初始位置,然后單擊“
”停止實(shí)驗(yàn)。
4.2 LQR控制實(shí)驗(yàn)
1)LQR控制分析
LQR控制器是應(yīng)用線性二次型最優(yōu)控制原理設(shè)計(jì)的控制器。當(dāng)系統(tǒng)狀態(tài)由于任何原因偏離了平衡狀態(tài)時(shí),能在不消耗過多能量的情況下,保持系統(tǒng)狀態(tài)各分量仍接近于平衡狀態(tài)。線性二次型最優(yōu)控制研究的系統(tǒng)是線性的或可線性化的,并且性能指標(biāo)是狀態(tài)變量和控制變量的二次型函數(shù)的積分。它的解很容易獲得,并且可以達(dá)到非常好的控制效果,因此在工程上有廣泛的應(yīng)用。
二次型性能指標(biāo)一般形式如下:
1T1TT??J?x(t)Q(t)x(t)?u(t)R(t)u(t)?x()tx()tfFf
???22t0tf
其中,Q?n?n維半正定狀態(tài)加權(quán)矩陣;R?r?r維正定控制加權(quán)矩陣;
F?n?n維半正定終端加權(quán)矩陣;
min,則其實(shí)質(zhì)在于,用不大的控制來保持較小最優(yōu)控制的目標(biāo)就是使J?的誤差,從而達(dá)到能量和誤差綜合最優(yōu)的目的。
2)LQR控制器設(shè)計(jì) 系統(tǒng)狀態(tài)方程為:
??AX?BuXy?CX?Du(1)二次型性能指標(biāo)函數(shù): J?1?TT[XQX?URU]dt(2)?02其中:加權(quán)矩陣Q和R是用來平衡狀態(tài)變量和輸入向量的權(quán)重,X是n維狀態(tài)變量, U是r維輸入變量, Y為m維輸出向量,如果該系統(tǒng)受到外界干擾而偏離零狀態(tài),應(yīng)施加怎樣的控制U*才能使得系統(tǒng)回到零狀態(tài)附近并同時(shí)滿足J達(dá)到最小,那么這時(shí)的U*就稱之為最優(yōu)控制。由最優(yōu)控制理論可知, 使式(2)取得最小值的最優(yōu)控制律為: U??R?1BTPX??KX(3)式中, P就是Riccati方程的解, K是線性最優(yōu)反饋增益矩陣。這時(shí)求解Riccati代數(shù)方程:PA?ATP?PBR?1BTP?Q?0(4)就可獲得P值以及最優(yōu)反饋增益矩陣K值。K?R?1BTP(5)前面我們已經(jīng)得到了直線一級(jí)倒立擺系統(tǒng)的系統(tǒng)狀態(tài)方程:
???x?0????0?x?? ?????0???????????0??100000029.40??x??0??x?1???0???????u'
?0?1??????????0???????3??? y???????0???x10001?x????0??x???0?u'
?0?0????????????????0?0??1?0??,B???
?0?1????0??3? 可知:
?0?0 A???0??0100000029.4?分別代表小車位移、小車速度、擺桿角度、擺桿角?,?,? 四個(gè)狀態(tài)量x,x速度,輸出y?[x,?]?包括小車位置和擺桿角度。
一般情況下:R增加時(shí),控制力減小,角度變化減小,跟隨速度變慢。矩陣Q中某元素相對(duì)增加,其對(duì)應(yīng)的狀態(tài)變量的響應(yīng)速度增加,其他變量的響應(yīng)速度相對(duì)減慢,如:若Q對(duì)應(yīng)于角度的元素增加,使得角度變化速度減小,而位移的響應(yīng)速度減慢;若Q對(duì)應(yīng)于位移的元素增加,使得位移的跟蹤速度變快,而角度 的變化幅度增大。可通過Matlab中的lqr函數(shù)求解反饋矩陣K并對(duì)系統(tǒng)進(jìn)行仿真。
3)Simulink仿真實(shí)驗(yàn)
圖11 直線一級(jí)倒立擺LQR控制仿真模型
雙擊“State-Space”模塊打開直線一級(jí)倒立擺的模型設(shè)置窗口如下:
圖12 系統(tǒng)狀態(tài)空間模型設(shè)置窗口
把參數(shù)A,B,C,D 的值設(shè)置為實(shí)際系統(tǒng)模型的值。雙擊“LQR Controller”模塊打開LQR控制器參數(shù)的設(shè)置窗口:
圖13 反饋增益矩陣輸入窗口
把上面計(jì)算得到的反饋增益矩陣K輸入。設(shè)置好各項(xiàng)參數(shù)后,點(diǎn)擊“真。
4)Simulink實(shí)時(shí)控制實(shí)驗(yàn)
”運(yùn)行仿
圖15 實(shí)驗(yàn)六 LQR控制實(shí)驗(yàn)
上圖中的紅色方框?yàn)樵O(shè)計(jì)的LQR控制器,運(yùn)行前查看是否為自己設(shè)計(jì)好的控制器,并確定保證擺桿此時(shí)豎直向下。不用編譯鏈接,直接單擊“
”按鈕,用手捏住擺桿頂端(不要抓住中部或下部),慢慢地提起,到接近豎直方向時(shí)放手,當(dāng)擺桿與豎直向上的方向夾角小于0.30弧度時(shí),進(jìn)入穩(wěn)擺范圍,可以觀察到,擺桿直立不倒,小車穩(wěn)擺在初始位置,然后單擊“
”停止實(shí)驗(yàn)。
4.3 LQR控制(能量自擺起)實(shí)驗(yàn)
倒立擺系統(tǒng)自擺起控制目標(biāo):通過控制小車運(yùn)動(dòng),將擺桿從自由下垂?fàn)顟B(tài)擺到倒置平衡位置,并使系統(tǒng)能保持?jǐn)[桿倒置狀態(tài),具有一定的抗干擾能力,同時(shí)還要控制小車回到初始零位附近,使整個(gè)系統(tǒng)處于動(dòng)態(tài)平衡狀態(tài)。
1)起擺過程
我們可將起擺分為以下四個(gè)階段(定義擺桿自然下垂位置??0,以逆時(shí)針方向?yàn)檎^代表擺桿運(yùn)動(dòng)方向)。
圖16 倒立擺能量起擺過程
在初始時(shí)刻,小車位于導(dǎo)軌中心,擺桿自然下垂。當(dāng)進(jìn)行起擺實(shí)驗(yàn)時(shí),先向負(fù)方向給小車一個(gè)較大的力(小車有加速度),使擺桿運(yùn)動(dòng),隨后緊接著令小車停止,擺桿會(huì)在慣性的作用下,繼續(xù)沿著與小車連接處的轉(zhuǎn)軸向上運(yùn)動(dòng)(Ⅰ),達(dá)到最高點(diǎn)后,擺桿速度為零,在重力的作用下沿?cái)[桿的軸心自動(dòng)下落(Ⅱ),這時(shí)給小車施加一個(gè)相反的作用力,小車反向運(yùn)動(dòng)的同時(shí)通過連接軸給擺桿一個(gè)反向的力。當(dāng)再次到達(dá)初始點(diǎn)(??0)時(shí),令小車制動(dòng),擺桿此時(shí)的速度不為零,??0時(shí),即擺桿達(dá)到負(fù)方向在慣性的作用下繼續(xù)運(yùn)動(dòng),此時(shí)??0(Ⅲ)。當(dāng)??0,?的最高點(diǎn),在重力的的作用下,擺桿回落,繼續(xù)給小車施加負(fù)方向的力,直到??0下車制動(dòng)(Ⅳ)。
反復(fù)以上動(dòng)作,擺桿在小車驅(qū)動(dòng)力的作用下,拋起的高度會(huì)不斷增加,直到進(jìn)入穩(wěn)擺區(qū)域,切換到穩(wěn)擺控制算法。
對(duì)以上的四種情況進(jìn)行分析,可轉(zhuǎn)化成控制算法:
??0,控制量u??nv(1)??0,?,初始時(shí)刻
??0??0?(2)???????0????0u?0(3)?
u??nvu?nv
2)Simulink仿真實(shí)驗(yàn)
圖17 直線一級(jí)倒立擺能量自擺起仿真模型
其中“Energy Controller”為封裝(Mask)后的能量起擺控制器,如下圖:
圖18 能量起擺控制器
“LQR Controller”為封裝后的LQR控制器,雙擊該模塊可以進(jìn)行LQR參數(shù)設(shè)置:
圖19 LQR穩(wěn)擺控制器
設(shè)置好各項(xiàng)參數(shù)后,點(diǎn)擊“”運(yùn)行可進(jìn)行仿真。
3)Simulink實(shí)時(shí)控制實(shí)驗(yàn)
圖21 實(shí)驗(yàn)七 LQR控制(能量自擺起)實(shí)驗(yàn)
將小車移至導(dǎo)軌中間位置,確定擺桿此時(shí)豎直向下。不用編譯連接,直接單擊“”按鈕,倒立擺進(jìn)行自擺起,當(dāng)擺桿與豎直向上的方向夾角小于0.30弧度時(shí)進(jìn)入穩(wěn)擺范圍,穩(wěn)擺采用LQR控制算法。如果不能正常擺起,用戶可自己修改調(diào)整系數(shù)直到正常擺起。可以觀察到,擺桿直立不倒,小車會(huì)穩(wěn)擺在初始位置,一段時(shí)間后單擊“”停止實(shí)驗(yàn)。
4.4 直線二級(jí)倒立擺實(shí)時(shí)控制實(shí)驗(yàn)
啟動(dòng)MATLAB(Simulink)實(shí)時(shí)控制程序reinovo.mdl,直線二級(jí)倒立擺Simulink實(shí)時(shí)控制程序的初始化界面如圖所示:
運(yùn)行前查看是否為自己設(shè)計(jì)好的控制器,并確定保證擺桿此時(shí)都豎直向下。不用編譯連接,直接單擊“”按鈕,用手捏住下擺桿頂端(不要抓住中部或下部),慢慢的提起,到接近豎直方向時(shí)放手,當(dāng)上擺桿與豎直向上的方向夾角小于0.25弧度時(shí),進(jìn)入穩(wěn)擺范圍,可以觀察到,兩根擺桿直立不倒,小車會(huì)穩(wěn)擺在初始位置,一段時(shí)間后單擊“
”停止實(shí)驗(yàn)。
五、實(shí)驗(yàn)總結(jié)
通過這次試驗(yàn),我們熟悉了倒立擺實(shí)驗(yàn)的整個(gè)過程,學(xué)習(xí)了系統(tǒng)的建模方法,實(shí)驗(yàn)建模就是通過在研究對(duì)象上加上一系列的研究者事先確定的輸入信號(hào),激勵(lì)研究對(duì)象并通過傳感器檢測其可觀測的輸出,應(yīng)用數(shù)學(xué)手段建立起系統(tǒng)的輸入-輸出關(guān)系。這里面包括輸入信號(hào)的設(shè)計(jì)選取,輸出信號(hào)的精確檢測,數(shù)學(xué)算法的研究等等內(nèi)容。同時(shí)通過極點(diǎn)配置實(shí)驗(yàn),我們學(xué)習(xí)了狀態(tài)反饋控制器的設(shè)計(jì)方法,在Matlab中有一個(gè)acker函數(shù),可以很簡單的計(jì)算出在確定極點(diǎn)處對(duì)應(yīng)的狀態(tài)反饋矩陣。我們學(xué)習(xí)到狀態(tài)反饋陣的設(shè)計(jì)與C、D矩陣無關(guān),并且在實(shí)際工程中只考慮主導(dǎo)極點(diǎn)而忽略非主導(dǎo)極點(diǎn)對(duì)控制系統(tǒng)的影響對(duì)實(shí)際控制效果的影響不大,學(xué)到了一種工程設(shè)計(jì)的方法。
通過LQR控制實(shí)驗(yàn),我們學(xué)習(xí)了線性二次型最有控制器的設(shè)計(jì)方法。穩(wěn)定性僅僅是系統(tǒng)的一個(gè)指標(biāo),對(duì)一個(gè)控制系統(tǒng),僅僅穩(wěn)定是不夠的,還要考慮注入調(diào)節(jié)時(shí)間、超調(diào)、震蕩等動(dòng)態(tài)性能及控制器所消耗的能量等因素。極點(diǎn)配置法保證了系統(tǒng)具有穩(wěn)定性和動(dòng)態(tài)性能,而二次型最優(yōu)控制法保證了控制器在達(dá)到較好的控制效果的同時(shí)消耗的能量最小,這更具有實(shí)際意義。通過倒立擺LQR最優(yōu)控制系統(tǒng)設(shè)計(jì)與研究,并反復(fù)實(shí)驗(yàn)選取好加權(quán)陣Q和R可以很好的實(shí)現(xiàn)倒立擺的穩(wěn)定控制,該方法與極點(diǎn)配置狀態(tài)反饋法一樣都能取得良好的控制效果。
在LQR控制能量自擺起實(shí)驗(yàn)中,我們學(xué)習(xí)了一種控制策略,該過程分為兩個(gè)階段:擺起控制與穩(wěn)擺控制。兩者模型的差異性決定了兩個(gè)過程中控制方法的不同,要使倒立擺的整體性能好,兩者之間的切換控制尤為重要。通過本次實(shí)驗(yàn)我對(duì)控制理論有了一個(gè)更深入的了解,以后會(huì)加強(qiáng)學(xué)習(xí)和實(shí)踐。
第三篇:倒立擺課程設(shè)計(jì)
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
摘 要
倒立擺系統(tǒng)作為一個(gè)具有絕對(duì)不穩(wěn)定、高階次、多變量、強(qiáng)禍合 的典型的非線性系統(tǒng),是檢驗(yàn)新的控制理論和方法的理想模型,所以 本文選擇倒立擺系統(tǒng)作為研究對(duì)象具有重要的理論意義和應(yīng)用價(jià)值。相對(duì)于其他研究倒立擺系統(tǒng)的控制方法,Backstepping方法最大的優(yōu)點(diǎn)是不必對(duì)’系統(tǒng)進(jìn)行線性化,可以直接對(duì)系統(tǒng)進(jìn)行遞推性的控制器設(shè)計(jì),保留了被控對(duì)象中有用的非線性項(xiàng),使得控制設(shè)計(jì)更接近實(shí)際情況,而且所設(shè)計(jì)的控制器具有很強(qiáng)的魯棒性。
本文主要利用Backstepping方法設(shè)計(jì)了直線型一級(jí)倒立擺系統(tǒng)控制器并基于MATLAB/Simulink對(duì)系統(tǒng)進(jìn)行了離線仿真。本文所作的主要工作或要達(dá)到的主要目的是:(一)建立直線型一級(jí)倒立擺系統(tǒng)的數(shù)學(xué)模型,并利用Backstepping方法設(shè)計(jì)了該倒立擺系統(tǒng)的控制器,然后對(duì)閉環(huán)系統(tǒng)進(jìn)行了數(shù)值仿真并與其他方法進(jìn)行了數(shù)值仿真分析比較。與當(dāng)前的倒立擺研究成果相比,具有研究方法新穎、控制效果好的特點(diǎn)。
(二)本文利用所設(shè)計(jì)的非線性控制器在MATLAB/Simulink環(huán)境下對(duì)系統(tǒng)進(jìn)行了離線仿真分析,并與固高公司提供的算法進(jìn)行了仿真效果比較。
關(guān)鍵詞:倒立擺系統(tǒng),Backstepping, MATLAB/Simulink,實(shí)時(shí)控制
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
目 錄
1.倒立擺系統(tǒng)的簡介........................................1 1.1倒立擺系統(tǒng)的研究背景..........................................1 1.2倒立擺系統(tǒng)的研究歷史、現(xiàn)狀及發(fā)展趨勢..........................2 1.3倒立擺的主要控制方法..........................................4 2.一級(jí)倒立擺數(shù)學(xué)模型......................................6 2.1一級(jí)倒立擺系統(tǒng)的組成..........................................6 2.2一級(jí)倒立擺系統(tǒng)數(shù)學(xué)模型的建立..................................7 3.系統(tǒng)控制器的設(shè)計(jì)和閉環(huán)系統(tǒng)的數(shù)值仿真....................9 4.直線型一級(jí)倒立擺系統(tǒng)的Simulink模型和離線仿真............12 4.1基于線性控制器對(duì)線性系統(tǒng)的離線仿真..........................12 4.2基于線性控制器對(duì)非線性系統(tǒng)的離線仿真........................15 4.3基于非線性控制器對(duì)非線性系統(tǒng)的離線仿真......................16
5.模型的優(yōu)點(diǎn).............................................18 6.結(jié)論和展望.............................................19 7.參考文獻(xiàn)...............................................20
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
1.倒立擺系統(tǒng)的簡介
1.1倒立擺系統(tǒng)的研究背景
在控制理論的研究及其應(yīng)用的發(fā)展過程中,當(dāng)一種新的理論產(chǎn)生,它的正確性及實(shí)際應(yīng)用中的可行性都需要一個(gè)按其理論設(shè)計(jì)的控制器去控制一個(gè)典型對(duì)象來驗(yàn)證,而倒立擺就是這樣一個(gè)被控制對(duì)象。倒立擺是一個(gè)多變量、快速、非線性、強(qiáng)藕合、不穩(wěn)定的系統(tǒng),通過對(duì)它引入一個(gè)適當(dāng)?shù)目刂品椒ㄊ怪蔀橐粋€(gè)穩(wěn)定系統(tǒng),來檢驗(yàn)控制方法對(duì)不穩(wěn)定性、非線性和快速性系統(tǒng)的處理能力,而且在倒立擺的控制過程中,它能有效地反映諸如可鎮(zhèn)定性、魯棒性、隨動(dòng)性以及跟蹤性能等許多自動(dòng)控制領(lǐng)域中的關(guān)鍵問題。因此受到世界各國許多科學(xué)家的重視,從而用不同的控制方法控制不同類型的倒立擺,成為最具有挑戰(zhàn)性的課題之一。對(duì)倒立擺系統(tǒng)的研究不僅僅在其結(jié)構(gòu)簡單、原理清晰、易于實(shí)現(xiàn)等特點(diǎn),而且作為典型的多變量系統(tǒng),可采用實(shí)驗(yàn)來研究控制理論中許多方面的問題。諸如模型的建立、狀態(tài)反饋、觀測器理論、快速控制理論以及濾波理論等都可以用于這類系統(tǒng)。因此,倒立擺實(shí)驗(yàn)?zāi)P蛯?duì)現(xiàn)代控制理論的教學(xué)來說,自然成為一個(gè)相當(dāng)理想的實(shí)驗(yàn)?zāi)P停乙部梢宰鳛閿?shù)控技術(shù)應(yīng)用的典型的對(duì)象;另一方面對(duì)系統(tǒng)的研究也比較有實(shí)用價(jià)值,從日常生活中所見到的任何重心在上、支點(diǎn)在下的控制問題,到空間飛行器和各類伺服云臺(tái)的穩(wěn)定,都和倒立擺的控制有很大的相似性,故對(duì)其的穩(wěn)定控制在實(shí)際中有很多應(yīng)用,如海上鉆井平臺(tái)的穩(wěn)定控制、衛(wèi)星發(fā)射架的穩(wěn)定控制、火箭姿態(tài)控制、飛機(jī)安全著陸、機(jī)器人雙足行走機(jī)構(gòu)、化工過程控制等都屬這類問題。因此對(duì)倒立擺機(jī)理的研究具有重要的理論和實(shí)際意義,成為控制理論中經(jīng)久不衰的研究課題。
除此之外,由于倒立擺系統(tǒng)的高階次、不穩(wěn)定、多變量、非線性、強(qiáng)耦合等特性,許多現(xiàn)代控制理論的研究人員一直將它們視為研究對(duì)象,用它們來描述線性控制領(lǐng)域中不穩(wěn)定系統(tǒng)的穩(wěn)定性和非線性控制領(lǐng)域中的變結(jié)構(gòu)控制、無源性控制、自由行走、非線性觀測器、摩擦補(bǔ)償、非線性模型降階等控制思想,并且不斷從中發(fā)掘出新的控制理論和控制方法,相關(guān)的成果在航空航天和機(jī)器人學(xué)方面獲得了廣闊的應(yīng)用。可見,對(duì)倒立擺系統(tǒng)進(jìn)行研究既具有意義深遠(yuǎn)的理論價(jià)值,又具有重要的工程背景和實(shí)際意義。
倒立擺系統(tǒng)有著很強(qiáng)的工程背景,主要體現(xiàn)在:(l)機(jī)器人的站立與行走類似于雙倒立擺系統(tǒng),盡管第一臺(tái)機(jī)器人在美國問世至今已有三十年的歷史,機(jī)器人的關(guān)鍵技術(shù)—機(jī)器人的行走控制至今仍未能很好解決。
(2)在火箭等飛行器的飛行過程中為了保持其正確的姿態(tài)要不斷進(jìn)行實(shí)時(shí)控 1
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
制。
(3)通信衛(wèi)星在預(yù)先計(jì)算好的軌道和確定的位置上運(yùn)行的同時(shí)要保持其穩(wěn)定的姿態(tài)使衛(wèi)星天線一直指向地球使它的太陽能電池板一直指向太陽。
(4)偵察衛(wèi)星中攝像機(jī)的輕微抖動(dòng)會(huì)對(duì)攝像的圖像質(zhì)量產(chǎn)生很大的影響,為了提高攝像的質(zhì)量必須能自動(dòng)地保持伺服云臺(tái)的穩(wěn)定消除震動(dòng)。
(5)為防一止單級(jí)火箭在拐彎時(shí)斷裂而誕生的柔性火箭(多級(jí)火箭)其飛行姿態(tài)的控制也可以用多級(jí)倒立擺系統(tǒng)進(jìn)行研究。
由于控制理論的廣泛應(yīng)用,由此系統(tǒng)研究產(chǎn)生的方法和技術(shù)將在半導(dǎo)體及精密儀器加工、機(jī)器人控制技術(shù)、人工智能、導(dǎo)彈攔截控制系統(tǒng)、航空對(duì)接控制技術(shù)、火箭發(fā)射中的垂直度控制、雙足機(jī)器人火箭飛行控制、伺服云臺(tái)穩(wěn)定、衛(wèi)星飛行中的姿態(tài)控制和一般工業(yè)應(yīng)用等方面具有廣闊的利用開發(fā)前景。因此對(duì)倒立擺控制機(jī)理的研究具有重要的理論和實(shí)踐意義。
倒立擺系統(tǒng)大概可以歸納為如下幾類:平行式倒立擺、平面擺、柔性擺、懸掛式倒立擺和球平衡式倒擺系統(tǒng)。倒立擺的級(jí)數(shù)可以是一級(jí)、二級(jí)、三級(jí)乃至多級(jí),倒立擺的運(yùn)動(dòng)軌道既可以是水平的,也可以是傾斜的。1.2倒立擺系統(tǒng)的研究歷史、現(xiàn)狀及發(fā)展趨勢
自從20世紀(jì)50年代倒立擺系統(tǒng)成為控制實(shí)驗(yàn)室的經(jīng)典工具以來,關(guān)于倒立擺控制的論述可以分為2個(gè)主要的方面: 1)理論方面:依靠計(jì)算機(jī)仿真對(duì)控制方法的可行性進(jìn)行驗(yàn)證;2)實(shí)驗(yàn)方面:調(diào)查引起計(jì)算機(jī)仿真結(jié)果和實(shí)時(shí)控制之間性能差異的物理不確定性。
在理論方面,1986年,Chung和Litt對(duì)單級(jí)倒立擺系統(tǒng)的動(dòng)態(tài)進(jìn)行了辨識(shí),并分別設(shè)計(jì)了自適應(yīng)自整定反饋控制器和PD反饋控制器來保持倒立擺在垂直向上方向的穩(wěn)定。1989年,Anderson和Grantham,運(yùn)用函數(shù)最小化和Lyapunov穩(wěn)定方法成功產(chǎn)生了一個(gè)優(yōu)化反饋控制器。1992年,Renders和Soudak通過相平面分析,得到了一個(gè)線性控制器。1995年,任章等應(yīng)用振蕩控制理論,通過在倒立擺支撐點(diǎn)的垂直方向上加入一個(gè)零均值的高頻振蕩信號(hào),改善了倒立擺系統(tǒng)本身的穩(wěn)定性。1998年,蔣國飛等將Q學(xué)習(xí)算法和BP神經(jīng)網(wǎng)絡(luò)有效結(jié)合,實(shí)現(xiàn)了狀態(tài)未離散化的倒立擺的無模型學(xué)習(xí)控制。2001年,單波等利用基于神經(jīng)網(wǎng)絡(luò)的預(yù)測控制算法對(duì)倒立擺的控制進(jìn)行了仿真。在兩級(jí)倒立擺方面,Sabba(1983)把系統(tǒng)穩(wěn)定尺度作為一個(gè)無限維不等式,從而避免了方法。1996年,翁正新等利用帶觀測器的H?狀態(tài)反饋控制器對(duì)二級(jí)倒立擺系統(tǒng)進(jìn)行了仿真控制。1997年,翁正新等利用同樣的方法對(duì)傾斜導(dǎo)軌上的二級(jí)倒立擺進(jìn)行了仿真控制。
Sinha和Joseph2000年,劉妹琴等用進(jìn)化RBF神經(jīng)網(wǎng)絡(luò)控制二級(jí)倒立擺。1994年,2
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
利用Lyapunov?Floquet變換得到了三級(jí)倒立擺系統(tǒng)的計(jì)算機(jī)仿真模型(有3個(gè)控制輸入)。2001年,李洪興領(lǐng)導(dǎo)的模糊系統(tǒng)和模糊信息研究中心利用變論域自適應(yīng)模糊控制的思想在國際上首次實(shí)現(xiàn)了四軸倒立擺的仿真;同年,肖軍等提出一種基于三維模糊組合變量的控制方法,仿真結(jié)果證明了該方法的有效性。在數(shù)學(xué)模型方面,Larcombe(1991 ,1992)得到了在二維坐標(biāo)中的簡單多級(jí)倒立擺系統(tǒng)的運(yùn)動(dòng)方程。1992年,Larcombe和Torsneyt2發(fā)現(xiàn)了簡單多級(jí)倒立擺系統(tǒng)平衡狀態(tài)的辨識(shí)方程。隨后,Larcombe(1993)把符號(hào)算法應(yīng)用于二級(jí)倒立擺系統(tǒng)的開環(huán)線性化動(dòng)態(tài)方程,并且計(jì)算了系統(tǒng)的特征方程和開環(huán)極點(diǎn)。2001年,史曉霞等建立了二級(jí)倒立擺的數(shù)學(xué)模型,同年,張葛祥等建立了三級(jí)倒立擺的數(shù)學(xué)模型,并分析了系統(tǒng)的可控制性和可觀測性,給出了智能控制算法的思路。
在實(shí)驗(yàn)方面,單級(jí)倒立擺系統(tǒng)的實(shí)驗(yàn)最早出現(xiàn)在Roberge(1960)的論文中。1963年,Higdon 和Cannon提出了平行倒立擺的問題。Koenigsberg和Fredrick(1970)則使用了基于觀測器的輸出反饋控制器和狀態(tài)反饋調(diào)節(jié)器。Mori等((1976)設(shè)計(jì)了一個(gè)組合控制器,既可以擺起倒立擺,還可以維持它在垂直向上方向上的平衡。1992年,Simth和Blackburn利用高頻垂直振蕩獲得穩(wěn)定的倒置狀態(tài),同年,Ostertag和Carvalho?Ostertag開發(fā)了一個(gè)帶摩擦力補(bǔ)償?shù)姆€(wěn)定模糊控制器。Wei等(1995)利用bang?bang非線性控制器擺起了倒立擺并穩(wěn)定在垂直向上方向。1996年,張乃堯等實(shí)現(xiàn)了倒立擺的雙閉環(huán)模糊控制。1998年,王佳斌用網(wǎng)絡(luò)控制倒立擺。對(duì)于二級(jí)倒立擺,Loscuttof(1972)認(rèn)為只有全階觀測器才能實(shí)現(xiàn)它的穩(wěn)定;但Furuta等((1975)證明了這種結(jié)論的錯(cuò)誤性,并在1978年利用一個(gè)線性函數(shù)觀測器穩(wěn)定了同一系統(tǒng)。1980年,F(xiàn)uruta等控制了傾斜導(dǎo)軌上的同一系統(tǒng),并能保持小車的正確定位。Zu?ren等在1984年運(yùn)用部分狀態(tài)和線性函數(shù)觀測器結(jié)構(gòu),在模擬計(jì)算機(jī)上應(yīng)用了同一算法,1987年他
Der Linden和們使用離散二次性能指標(biāo)修改T這一控制器。1993年,Van Lambrechts在運(yùn)用戈理論設(shè)計(jì)倒立擺的控制器時(shí)考慮了干摩擦。Yamakita等(1993)運(yùn)用學(xué)習(xí)控制方法成功擺起了二級(jí)倒立擺系統(tǒng),而且在1994年他們運(yùn)用這相同的控制方法使倒立擺在4種平衡狀態(tài)中互相切換。1995年,程福雁等利用參變量模糊控制對(duì)二級(jí)倒立擺進(jìn)行實(shí)時(shí)控制,取得了較好的效果。1999年,李巖等運(yùn)用基于PD控制的專家智能控制并實(shí)現(xiàn)了二級(jí)倒立擺的穩(wěn)定控制。2000年,林紅等利用最優(yōu)反饋調(diào)節(jié)器使其在倒立位置保持平衡,并在鋸齒波信號(hào)的作用下有規(guī)律地移動(dòng),直至無限遠(yuǎn)處。在三級(jí)倒立擺方面,F(xiàn)uruta(1984)和Meier等(1990)分別利用帶函數(shù)觀測器和降階觀測器的LQR方法設(shè)計(jì)了反饋控制器。1999年,李德毅利用云控制方法有效地實(shí)現(xiàn)了單電機(jī)控制的一、二、三級(jí)倒立擺的多種不同動(dòng)平衡姿態(tài),并給出了詳細(xì)試驗(yàn)結(jié)果;同年,張飛舟等采用相平面 3
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
分析法并結(jié)合人的控制經(jīng)驗(yàn),實(shí)現(xiàn)了一、二、三級(jí)倒立擺的擬人智能控制。2000年,楊亞煒等利用擬人智能控制成功實(shí)現(xiàn)了在傾斜導(dǎo)軌上三級(jí)倒立擺的穩(wěn)定,并可以控制三級(jí)倒立擺沿水平或傾斜導(dǎo)軌自由行走。
多年來,人們對(duì)倒立擺的研究越來越感興趣,倒立擺的種類也由簡單的單級(jí)倒立擺發(fā)展為多種形式的倒置系統(tǒng)。目前研究的大部分均為二維空間即平面內(nèi)擺動(dòng)的擺,另外近年來還出現(xiàn)了球擺、柔性擺、傾斜軌道式倒立擺、旋轉(zhuǎn)式倒立擺等。
國際上每年都有成百篇關(guān)于倒立擺控制研究的論文發(fā)表,其中大部分是建立在計(jì)算機(jī)基礎(chǔ)上的仿真研究。而且主要是以一級(jí)倒立擺作為被控對(duì)象進(jìn)行仿真,用二級(jí)倒立擺和平行倒立擺來仿真的文章則很少,而用三級(jí)倒立擺乃至多級(jí)倒立擺進(jìn)行仿真研究的更是罕見。三級(jí)倒立擺的控制作為控制界的經(jīng)典難題一直為人們所關(guān)注,也一直是研究的熱點(diǎn)。目前,只有很少一部分學(xué)者在對(duì)實(shí)際物理擺進(jìn)行設(shè)計(jì)、實(shí)驗(yàn)和控制研究。1.3倒立擺的主要控制方法
經(jīng)過幾十年的發(fā)展,對(duì)倒立擺這樣的一個(gè)典型被控對(duì)象的研究,無論在理論上和方法上都在不斷的更新。各種控制理論和方法都可以通過倒立擺控制系統(tǒng)得以充分實(shí)踐并且可以促成相互間的有機(jī)結(jié)合。目前倒立擺的控制方法主要可分為以下幾類:(I)線性理論控制方法
將倒立擺系統(tǒng)的非線性模型進(jìn)行近似線性化處理,獲得系統(tǒng)在平衡點(diǎn)附近的線性化模型;然后,再利用各種線性系統(tǒng)控制器設(shè)計(jì)方法得到期望的控制器PID ,控制狀態(tài)反饋控制、LQR控制算法,這類方法對(duì)一二級(jí)的倒立擺(線性化后誤差較小模型較簡單)控制時(shí)可以得到較好的控制效果,但對(duì)于像非線性較強(qiáng)模型較復(fù)雜的多變量系統(tǒng)(三四級(jí)以及多級(jí)倒立擺),線性系統(tǒng)設(shè)計(jì)方法的局限性就十分明顯,這就要求采用更有效的方法來進(jìn)行合理的設(shè)計(jì)。
(2)變結(jié)構(gòu)控制和自適應(yīng)控制方法
變結(jié)構(gòu)控制是一種非連續(xù)控制,可將控制對(duì)象從任意位置控制到滑動(dòng)曲面上仍然保持系統(tǒng)的穩(wěn)定性和魯棒性,但是系統(tǒng)存在顫抖。變結(jié)構(gòu)控制和自適應(yīng)控制在理論上有較好的控制效果,但由于控制方法復(fù)雜,成本也高,不易在快速變化的系統(tǒng)上實(shí)時(shí)實(shí)現(xiàn)。
(3)智能控制方法
在倒立擺系統(tǒng)中用到的智能控制方法主要有神經(jīng)網(wǎng)絡(luò)控制、模糊控制、擬人智能控制、仿人智能控制和云模型控制。
神經(jīng)網(wǎng)絡(luò)控制一一神經(jīng)網(wǎng)絡(luò)能夠任意充分地逼近復(fù)雜的非線性關(guān)系,能夠?qū)W 4
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
習(xí)與適應(yīng)嚴(yán)重不確定性系統(tǒng)的動(dòng)態(tài)特性,所有定量或定性的信息都等勢分布貯存于網(wǎng)絡(luò)內(nèi)的各種神經(jīng)元,故有很強(qiáng)的魯棒性和容錯(cuò)性,但是神經(jīng)網(wǎng)絡(luò)控制方法存在的主要問題是缺乏一種專門適合于控制問題的動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò),而且多層網(wǎng)絡(luò)的層數(shù)隱層神經(jīng)元的數(shù)量激發(fā)函數(shù)類型的選擇缺乏指導(dǎo)性原則等。
模糊控制一一經(jīng)典的模糊控制器利用模糊集合理論,將專家知識(shí)或操作人員經(jīng)驗(yàn)形成的語言規(guī)則直接轉(zhuǎn)化為自動(dòng)控制策略(通常是專家模糊規(guī)則查詢標(biāo)),其設(shè)計(jì)不依靠對(duì)象精確的數(shù)學(xué)模型而是利用其語言知識(shí)模型進(jìn)行設(shè)計(jì)和修正控制算法,常規(guī)的模糊控制器的設(shè)計(jì)方法有很大的局限性,首先難以建立一組比較完善的多維模糊控制規(guī)則,即使能湊成這樣一組不完整的粗糙的模糊控制規(guī)則其控制效果也是難以保證的,但是模糊控制結(jié)合其他控制方法就可能產(chǎn)生比較理想的效果,例如北京師范大學(xué)己經(jīng)采用模糊自適應(yīng)控制理論成功的研制了三級(jí)倒立擺裝置并對(duì)四級(jí)倒立擺系統(tǒng)做了仿真結(jié)果,接著還成功研制了四級(jí)倒立擺裝置且穩(wěn)定
效果良好。但是基于這些模糊控制、神經(jīng)網(wǎng)絡(luò)控制等智能控制理論所設(shè)計(jì)的系統(tǒng)往往需要龐大的知識(shí)庫和相應(yīng)的推理機(jī),不利于實(shí)現(xiàn)實(shí)時(shí)控制,這又阻礙了智能控制理論的發(fā)展。
擬人智能控制一一它的核心是“廣義歸約”和“擬人歸約”是人工智能中的一種問題求解方法,這種方法是將等求解的復(fù)雜問題分解成復(fù)雜程度較低的若干問題集合,再將這些集合分解成更簡單的集合,依此類推最終得到一個(gè)本原問題集合,即可以直接求解的問題。另一核心概念是擬人其含義是在控制規(guī)律形成過程中直接利用人的控制經(jīng)驗(yàn)直覺以及推理分析。
仿人智能控制一一它的基本思想是通過對(duì)人運(yùn)動(dòng)控制的宏觀結(jié)構(gòu)和手動(dòng)控制行為的綜合模仿,把人在控制中的動(dòng)覺智能模型化,提出了仿人智能控制方法研究結(jié)果表明仿人智能控制方法解決復(fù)雜強(qiáng)非線性系統(tǒng)的控制具有很強(qiáng)的實(shí)用性。
云模型控制一一利用云模型實(shí)現(xiàn)對(duì)倒立擺的控制,用云模型構(gòu)成語言值,用語言值構(gòu)成規(guī)則,形成一種定性的推理機(jī)制,這種擬人控制不要求給出被控對(duì)象精確的數(shù)學(xué)模型,僅僅依據(jù)人的經(jīng)驗(yàn)、感受和邏輯判斷,將人用自然語言表達(dá)的控制經(jīng)驗(yàn),通過語盲一原子和云模型轉(zhuǎn)換到語言控制規(guī)則器中,就能解決非線性問題和不確定性問題。
(4)魯棒控制方法
雖然目前對(duì)倒立擺系統(tǒng)的控制策略有如此之多,而且有許多控制策略都對(duì)倒立擺進(jìn)行了穩(wěn)定控制,但大多數(shù)都沒考慮倒立擺系統(tǒng)本身的大量不確定因素和外界干擾。
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
(5)Backstepping方法
PV及其它是一種新的研究非線性系統(tǒng)的控制思想和方法,它是由Kokotovic 合作者在上世紀(jì)90年代提出的,但目前用此方法研究倒立擺系統(tǒng)的成果還不多見。Backstepping是一種構(gòu)造性方法,它利用系統(tǒng)的結(jié)構(gòu)特性遞推地構(gòu)造出整個(gè)系統(tǒng)的Lapunov函數(shù),所以系統(tǒng)Lapunov函數(shù)和控制器的設(shè)計(jì)過程有較強(qiáng)的系統(tǒng)性、靈活性和結(jié)構(gòu)性,而且保留系統(tǒng)中有用的非線性項(xiàng),加上可以控制相對(duì)階為n的非線性系統(tǒng),消除了經(jīng)典無源設(shè)計(jì)中相對(duì)階為1的限制正因?yàn)檫@些優(yōu)點(diǎn),后來中外學(xué)者把它廣泛地用在非線性系統(tǒng)的狀態(tài)反饋控制、輸出跟蹤控制、自適應(yīng)控制、魯棒控制等領(lǐng)域的研究.2.一級(jí)倒立擺數(shù)學(xué)模型
2.1一級(jí)倒立擺系統(tǒng)的組成
一級(jí)倒立擺控制系統(tǒng)主要由以下4部分組成: 1.在有限長的軌道L上作直線運(yùn)動(dòng)的小車;2.與小車鉸接在一起,并能在包含L的平面內(nèi)繞O點(diǎn)轉(zhuǎn)動(dòng)的擺;3.驅(qū)動(dòng)小車的直流力矩電機(jī)和轉(zhuǎn)輪、鋼絲等傳動(dòng)部分;4.使擺穩(wěn)定在垂直向上的平衡位置,且使小車穩(wěn)定在軌道中心毛的控制器。
一級(jí)倒立擺的結(jié)構(gòu)簡圖如圖1.1所示。
圖1.1倒立擺系統(tǒng)的結(jié)構(gòu)圖
倒立擺系統(tǒng)主要由計(jì)算機(jī)、A/D , D/A、電機(jī)、電位計(jì)以及一些機(jī)械部件組成。計(jì)算機(jī)作為數(shù)字控制器實(shí)現(xiàn)對(duì)系統(tǒng)的實(shí)時(shí)控制,同時(shí)也為操作者提供人機(jī)界
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
面,完成系統(tǒng)的監(jiān)督管理功能,如實(shí)時(shí)畫面,數(shù)據(jù)采集;A/D , D/A板插在計(jì)算機(jī)內(nèi),完成模/數(shù)、數(shù)/模轉(zhuǎn)換;放大器用于電壓和功率放大。電機(jī)是系統(tǒng)的執(zhí)行元件;電位計(jì)是系統(tǒng)的測量元件,它分別檢測了小車相對(duì)于軌道中心點(diǎn)的相對(duì)位置、小車的速度,擺和鉛垂線的角度偏移、角速度。倒立擺系統(tǒng)的整套機(jī)械部件分別安裝在一塊臺(tái)架上,底板上固定著導(dǎo)軌支架、電機(jī)底座等裝置。通過導(dǎo)軌支架安裝好小車滑行的導(dǎo)軌,小車用電機(jī)和轉(zhuǎn)輪通過傳動(dòng)鋼絲實(shí)現(xiàn)運(yùn)動(dòng)。2.2一級(jí)倒立擺系統(tǒng)數(shù)學(xué)模型的建立
在忽略了空氣阻力和各種摩擦之后,可將直線型一級(jí)倒立擺系統(tǒng)抽象成小車 和勻質(zhì)擺桿組成的系統(tǒng),如圖所示:
圖1.2.1 一級(jí)倒立擺系統(tǒng)的力學(xué)示意圖
將擺桿視為剛體,則一級(jí)倒立擺系統(tǒng)的參數(shù)為:小車質(zhì)量M,擺桿質(zhì)量m,擺桿重心到鉸鏈的長度l,重力加速度g,小車位置x,擺桿角度?,作用在小車上的驅(qū)動(dòng)力F。當(dāng)小車在水平方向運(yùn)動(dòng)時(shí),若忽略摩擦力矩的非線性,對(duì)小車和擺桿進(jìn)行水平和垂直方向受力分析,如圖:
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
圖1.2.2 小車和擺桿的受力分析圖
其中N和P為小車和擺桿間的相互作用力水平和垂直方向上的分量。分析小車水平方向上的合力,由牛頓運(yùn)動(dòng)定律可得:
由擺桿水平方向的受力分析可得:
即:
把式子(3.3)代入(3.1)式中,就得系統(tǒng)的第一個(gè)運(yùn)動(dòng)方程:
對(duì)擺桿垂直方向上的合力進(jìn)行分析并由力矩平衡方程可得:
合并這兩個(gè)方程,約去P和N,得到第二個(gè)運(yùn)動(dòng)方程:
為了后面設(shè)計(jì)的方便我們對(duì)得到的兩個(gè)方程進(jìn)行化簡和處理可得一級(jí)倒立擺系統(tǒng)的數(shù)學(xué)模型如下:
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
在這里可以將倒立擺系統(tǒng)(3.8)看作是由小車和擺兩部分組成的具有兩個(gè)子系統(tǒng)的組合系統(tǒng)。倒立擺的擺系統(tǒng)控制具有高度非線性,同時(shí)考慮到實(shí)際設(shè)備長度的約束,我們必須限制小車系統(tǒng)的位移。以前大部分研究工作都是通過對(duì)倒立擺數(shù)學(xué)模型中的非線性項(xiàng)進(jìn)行近似或忽略,從而簡化控制器的設(shè)計(jì)。我們采用基于 Lapunov能量反饋的方法對(duì)倒立擺進(jìn)行起擺控制,這實(shí)際上是利用正反饋不斷增大擺的能量。針對(duì)擺系統(tǒng),采用Backstepping方法設(shè)計(jì)非線性控制器,但此時(shí)得到的控制器不能實(shí)現(xiàn)對(duì)小車位移的控制;因此我們結(jié)合線性控制理論的極點(diǎn)配置方法獲得對(duì)小車位移和速度控制的部分控制器;兩者結(jié)合則得到整個(gè)倒立擺系統(tǒng)的一個(gè)非線性穩(wěn)擺控制器。
3.系統(tǒng)控制器的設(shè)計(jì)和閉環(huán)系統(tǒng)的數(shù)值仿真
針對(duì)直線型一級(jí)倒立擺系統(tǒng)的控制器設(shè)計(jì)方法很多,包括狀態(tài)反饋控制、LQR最優(yōu)控制、模糊控制和PID控制等方法,同時(shí)各種方法的相互結(jié)合使用來設(shè)計(jì)倒立擺系統(tǒng)己經(jīng)稱為研究熱點(diǎn)。
針對(duì)上面的直線型一級(jí)倒立擺系統(tǒng)(x..1??,x2??,x3?x,x4?x),選取M?2.0kg,m?8.0kg,1?0.5m,g?9.8m/s2。我們先考慮擺子系統(tǒng)的動(dòng)態(tài)模型:
step1令:z1?x1,x2看作是系統(tǒng): 的虛擬控制。現(xiàn)在我們的控制目的就是設(shè)計(jì)虛擬反饋控制;x2??1(x1)去鎮(zhèn)定z1為此,構(gòu)造Lapun函數(shù)v2..1(z1)?(1/z12,)則有v1(z1)?z1z1?z1x2。取?1(x1)??k1z,1k?1為可設(shè)計(jì)常數(shù),并引入誤差變量0z2?x2??1(x1),則有:
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
故若z2?0,則v1(z1)??k1z12?0,即z1子系統(tǒng)(3.10)被鎮(zhèn)定,下面鎮(zhèn)定:z2
step 2對(duì)應(yīng)一個(gè)二階系統(tǒng):
此時(shí)真正的控制u出現(xiàn)。這一步主要是鎮(zhèn)定z2 構(gòu)造Lapunov函數(shù)V1(z1,z2)?(1/2)z12?(1/2)z2,則
令
其中k2?0為設(shè)計(jì)常數(shù),由(3.1 5)求得系統(tǒng)的控制輸入:
2?0,即z1,z2子系統(tǒng)(3.13)被鎮(zhèn)定,所以代入式(3.14),則V(z1,z2)??k1z12?k2z2.進(jìn)而:z1?0,反推之后可得x1,x2?0,即可得系統(tǒng)(3.9)在控制(3.16)z2?0,作用下被鎮(zhèn)定。而把z1?x1,z2?x2??1(x1)?x2?k1x1代入(3.17)可得系統(tǒng)(3.9)的控制輸入:
其中的k1,k2?0為可設(shè)計(jì)常數(shù),可以根據(jù)實(shí)際系統(tǒng)的具體要求進(jìn)行設(shè)計(jì),這一點(diǎn)也是Backstepping方法的特點(diǎn)和優(yōu)點(diǎn)之一。當(dāng)取k1?k2?100,k1k2?1?150時(shí)相
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
應(yīng)的控制器:
我們先對(duì)上面得到的非線性系統(tǒng)(3.8)作近似線性化。考慮擺桿在平衡點(diǎn)(??0)附近擺動(dòng)微小,對(duì)非線性系統(tǒng)(3.8)進(jìn)行局部線性化,即令cos???,sin???做近似處理后,就得到倒立擺的線性狀態(tài)方程
.式中X?[xT.1,x2,x3,x4]?[?,?,x,x]T,u?F,輸出y?[?,x]T
其中I?(1/3)ml2
用Matlab中的place函數(shù)得到反饋矩陣:
截取K3,K4部分為x3,x4的系數(shù),則可得
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
兩者結(jié)合可得:
該控制器可以控制擺桿保持平衡的同時(shí),跟蹤小車的位置。注意:上述F的參數(shù)可以進(jìn)一步調(diào)試。對(duì)整個(gè)倒立擺做數(shù)值仿真結(jié)果如下:
圖3-4小車和擺桿的狀態(tài)響應(yīng)曲線
4.直線型一級(jí)倒立擺系統(tǒng)的Simulink模型和離線仿真
4.1基于線性控制器對(duì)線性系統(tǒng)的離線仿真 在上面所設(shè)計(jì)的直線型一級(jí)倒立擺的線性控制器
該控制器的設(shè)計(jì)采用的是Backstepping方法,類似于極點(diǎn)配置法,設(shè)計(jì)的目的是使系統(tǒng)滿足工程師提出的瞬態(tài)和穩(wěn)態(tài)性能指標(biāo)。我們利用Simulink搭建該控制器模型如圖4-1 12
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
圖4-1 線性控制器的Simulink模型
其次構(gòu)建直線型一級(jí)倒立擺系統(tǒng)的線性系統(tǒng)的Simulink模型為
圖4-2 線性系統(tǒng)的Simulink框圖
最后對(duì)控制器模塊和線性模型模塊進(jìn)行封裝,再連接起來就是倒立擺系統(tǒng)的閉環(huán)系統(tǒng)模型,如下圖4-3。
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
圖4-3 倒立擺閉環(huán)系統(tǒng)的Simulink框圖
這樣我們就在MATLAB的Simulink環(huán)境下,搭建出狀態(tài)反饋控制系統(tǒng)仿真試驗(yàn)研究平臺(tái),通過示波器可以在線觀察系統(tǒng)的狀態(tài)變化,進(jìn)而可以對(duì)倒立擺閉環(huán)系統(tǒng)進(jìn)行實(shí)驗(yàn)仿真分析了。
圖4-4 倒立擺閉環(huán)系統(tǒng)的Simulink仿真曲線
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
4.2基于線性控制器對(duì)非線性系統(tǒng)的離線仿真
首先用Simulink搭建的倒立擺系統(tǒng)的非線性系統(tǒng)模型為:
圖4-5 倒立擺系統(tǒng)的非線性系統(tǒng)模型
利用4-7建好的線性控制器模塊和上面建好的非線性系統(tǒng)模型進(jìn)行封裝,再連接起來就是倒立擺系統(tǒng)的閉環(huán)系統(tǒng)模型,如下圖4-6。
圖4-6 整體閉環(huán)系統(tǒng)Simulink框圖
最后模型建立好后,我們就可以對(duì)倒立擺閉環(huán)系統(tǒng)進(jìn)行離線仿真。如下圖4-7。
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
圖4-7 倒立擺閉環(huán)系統(tǒng)的Simulink仿真曲線
從圖4-4和圖4-7可以看出,所設(shè)計(jì)的線性控制器對(duì)線性化系統(tǒng)控制效果比對(duì)非線性系統(tǒng)的好,這說明線性控制器對(duì)非線性倒立擺系統(tǒng)的控制較差,而且實(shí)驗(yàn)表明非線性控制器對(duì)系統(tǒng)的抗干擾能力和魯棒性強(qiáng)。4.3基于非線性控制器對(duì)非線性系統(tǒng)的離線仿真 先建立非線性控制器的Simulink框圖
圖4-8 非線性控制器的Simulink框圖
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
圖4-9 非線性部分的Simulink框圖
對(duì)非線性控制器模塊進(jìn)行封裝,再與非線性系統(tǒng)模型模塊連接起來就是倒立擺系統(tǒng)的閉環(huán)系統(tǒng)模型,如下圖4-10。
圖4-10 閉環(huán)系統(tǒng)的Simulink框圖
最后模型建立好后,我們就可以對(duì)倒立擺系統(tǒng)進(jìn)行離線仿真。如下圖4-11。
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
圖4-11 倒立擺閉環(huán)系統(tǒng)的Simulink仿真曲線
可以看出非線性控制器的控制效果很好,時(shí)間越長穩(wěn)定性越好,內(nèi)有抖動(dòng)性,但收斂時(shí)間稍微有點(diǎn)長,但它的控制效果好,特別是對(duì)外界的抗干擾能力等。
5.模型的優(yōu)缺點(diǎn)
該控制算法與其他算法相比,優(yōu)缺點(diǎn)主要有以下幾點(diǎn):(1)與固高公司提供的LQR最優(yōu)控制算法相比,在穩(wěn)定時(shí)間幾乎一樣,由于本文給出的算法里面含有可調(diào)參數(shù),只要合適的調(diào)節(jié)參數(shù),就可以使得穩(wěn)定時(shí)間大大縮短,但這樣也會(huì)存在使控制量過大,出現(xiàn)系統(tǒng)抖動(dòng)問題。另一方面本文給出的算法在抗干擾能力方面要強(qiáng)于LQR最優(yōu)控制算法,見最后一章的分析。
(2)與精確線性化方法對(duì)比,該方法收斂速度即穩(wěn)定時(shí)間要比精確線性化 方法快,而且精確線性化方法對(duì)原系統(tǒng)進(jìn)行了線性化,故理論上與實(shí)際的系統(tǒng)模 型有一定的誤差。而本文設(shè)計(jì)的控制算法保留了系統(tǒng)的非線性項(xiàng),控制效果好,但同時(shí)也增加了控制器的能量,響應(yīng)時(shí)間會(huì)受到影響。
(3)與模糊邏輯控制理論相比,該方法收斂速度明顯要快,而且調(diào)節(jié)時(shí)間短,穩(wěn)態(tài)性能指標(biāo)也比較好。
(4)變結(jié)構(gòu)控制理論設(shè)計(jì)的控制算法使得系統(tǒng)的抖動(dòng)厲害,而本文給出的算法抖動(dòng)性小,而且時(shí)間越長控制效果越好。
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
(5)本文只采用一種控制設(shè)計(jì)方法,當(dāng)然與那些多種控制方法結(jié)合使用的設(shè) 計(jì)方法相比存在一定的不足。把模糊控制和神經(jīng)網(wǎng)絡(luò)控制結(jié)合控制的效果很好,在穩(wěn)定性、抗干擾性方面優(yōu)勢都很大。事實(shí)證明:模糊神經(jīng)網(wǎng)絡(luò)的BP算法比一般神經(jīng)網(wǎng)絡(luò)的BP算法快得多,在受干擾情況下,小車擺桿的恢復(fù)迅速。
6.結(jié)論和展望
倒立擺控制系統(tǒng)作為檢驗(yàn)控制理論的試金石,對(duì)于控制理論研究方面發(fā)揮著 越來越重要的作用,值得進(jìn)一步的研究和開發(fā)。本文主要利用Backstepping方法設(shè)計(jì)了直線型一級(jí)倒立擺系統(tǒng)控制器并基于MATLAB/Simulinkk對(duì)系統(tǒng)進(jìn)行了離線仿真。本文所作的主要工作或要達(dá)到的主要目的是:(一)建立直線型一級(jí)倒立擺系統(tǒng)的數(shù)學(xué)模型,并利用Backstepping方法設(shè) 計(jì)了該倒立擺系統(tǒng)的控制器,然后對(duì)閉環(huán)系統(tǒng)進(jìn)行了數(shù)值仿真并與其他方法進(jìn)行 了數(shù)值仿真分析比較。與當(dāng)前的倒立擺研究成果相比,具有研究方法新穎、控制 效果好的特點(diǎn)。
(二)本文利用所設(shè)計(jì)的非線性控制器在MATLAB/Simulink環(huán)境下對(duì)系統(tǒng)進(jìn) 行了離線仿真分析,并與固高公司提供的算法進(jìn)行了仿真效果比較。
倒立擺系統(tǒng)的種類有很多,本文只是在直線型一級(jí)倒立擺中進(jìn)行了研究和分析,隨著控制理論研究的深入,必將會(huì)出現(xiàn)更多新的控制方法,而且新的控制方 法的綜合使用也將是研究的熱點(diǎn),那么就需要更復(fù)雜的系統(tǒng)進(jìn)行檢驗(yàn),需要對(duì)更 復(fù)雜的倒立擺系統(tǒng)進(jìn)行研究;同時(shí)MATLAB/Simulink的廣泛應(yīng)用,必將帶來控制理論和控制實(shí)驗(yàn)方面的進(jìn)一步深入和豐富。
西北民族大學(xué)2012級(jí)自動(dòng)化3班鐘小龍
7.參考文獻(xiàn)
[1]俞立.現(xiàn)代控制理論【M】.北京:清華大學(xué)出版社,2007.4 [2]中國科學(xué)技術(shù)人學(xué)編.固高擺系統(tǒng)與自動(dòng)控制實(shí)驗(yàn)【Z】.2002 [3]謝克明.現(xiàn)代控制理論基礎(chǔ)【M】.北京:北京工業(yè)大學(xué)出版社,2003 [4]鄧麗霞.基于Backstepping和MATLAB/Simulink的直線型一級(jí)倒立擺系統(tǒng)的控制器設(shè)計(jì)與實(shí)時(shí)控制研究【J】,2008 [5]徐若冰.基于極點(diǎn)配置的倒立擺控制器設(shè)計(jì)【J】,2007 [6] Albertalsidori.非線性控制系統(tǒng)(第二版)【M】.比京:電子工業(yè)出版社,2005 [7]宋兆基,徐流美.MATLAB6.5在科學(xué)計(jì)算中的應(yīng)用【M】.北京:清華大學(xué)出版社.2005 [8]周黨偉,錢富才.直線倒立擺的穩(wěn)定控制研究【J】.西安理工大學(xué)碩士學(xué)位論文
第四篇:倒立擺專題
洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文)
第1章:緒論
1.1 倒立擺的發(fā)展歷史及現(xiàn)狀
控制理論教學(xué)領(lǐng)域,開展各種理論教學(xué)、控制實(shí)驗(yàn)、驗(yàn)證新理論的正確性的理想實(shí)驗(yàn)平臺(tái)就是倒立擺控制系統(tǒng)。對(duì)倒立擺系統(tǒng)的研究能有效的反映控制中的許多典型問題,同時(shí)兼具多變性、強(qiáng)非線性和自然不穩(wěn)定性等優(yōu)點(diǎn),通過對(duì)倒立擺的控制,用來檢驗(yàn)新的控制方法是否有較強(qiáng)的處理非線性和不穩(wěn)定性問題。倒立擺系統(tǒng)作為一個(gè)實(shí)驗(yàn)裝置,形象直觀、結(jié)構(gòu)簡單、構(gòu)件組成參數(shù)和形狀易于改變、成本低廉,且控制效果可以通過其穩(wěn)定性直觀地體現(xiàn),也可以通過擺桿角度、小車位移和穩(wěn)定時(shí)間直接度量其實(shí)驗(yàn)效果,直觀顯著。因而從誕生之日就受到國內(nèi)外學(xué)者的廣泛研究。
倒立擺系統(tǒng)的最初研究始于二十世紀(jì)50年代末,麻省理工學(xué)院的控制論專家根據(jù)火箭發(fā)射助推器的原理設(shè)計(jì)出一級(jí)倒立擺實(shí)驗(yàn)設(shè)備。1966年Schaefer和Cannon應(yīng)用Bang Bang控制理論將一個(gè)曲軸穩(wěn)定于倒置位置,在60年代后期作為一個(gè)典型的不穩(wěn)定嚴(yán)重非線性證例提出了倒立擺的概念,并用其檢驗(yàn)控制方法對(duì)不穩(wěn)定、非線性和快速性系統(tǒng)的控制能力受到世界各國許多科學(xué)家的重視。而后人們又參照雙足機(jī)器人控制問題研制出二級(jí)倒立擺控制設(shè)備,從而提高了檢驗(yàn)控制理論或方法的能力,也拓寬了控制理論或方法的檢驗(yàn)范圍。對(duì)倒立擺研究較多的是美國、日本等發(fā)達(dá)國家,如Kawamoto-Sh.等討論了有關(guān)倒立擺的非線性控制的問題以及倒立擺的模糊控制的穩(wěn)定性問題為其后的倒立擺模糊控制研究開辟了道路,美國國家航空和宇航局Torres-Pornales,Wilfredo等人研究了從倒立擺的建模、系統(tǒng)分析到非線性控制器設(shè)計(jì)的一系列問題,比較深入的研究了倒立擺的非線性控制問題并進(jìn)行了實(shí)物仿真;科羅拉多州大學(xué)的Hauser.J正在從事基于哈密爾頓函數(shù)的倒立擺控制問題的研究;日本東京大學(xué)的Sugihara.Tomorniehi等研究了倒立擺的實(shí)時(shí)控制問題及其在機(jī)器人控制中的應(yīng)用問題。此外,還有如德國宇航中心的Schreiber等研究了倒立擺的零空間運(yùn)動(dòng)控制問題,分析了倒立擺的零空間運(yùn)動(dòng)特性與其穩(wěn)定性之間的聯(lián)系。
國內(nèi)研究倒立擺系統(tǒng)的控制問題起步雖晚,但成果也還是挺多較早的,如尹征琦等于1985年采用模擬調(diào)節(jié)器,實(shí)現(xiàn)了對(duì)倒立擺系統(tǒng)的穩(wěn)定控制;梁任秋等于1987年討論了設(shè)計(jì)小車一二階倒立擺系統(tǒng)數(shù)學(xué)控制器的一般方法;任章、徐建民于1995年利用振蕩器控制原理,提出了在倒立擺的支撐點(diǎn)的垂直方向上加入一零均值的高頻震蕩信號(hào)以改善倒立擺系統(tǒng)的穩(wěn)定性。同年,程福雁先生等研究了使用參變量模糊控制對(duì)倒立擺進(jìn)行實(shí)時(shí)控制的問題。北京理工大學(xué)的蔣國飛、吳滄浦等實(shí)現(xiàn)了狀態(tài)未離散化的倒立擺的無模型學(xué)習(xí)控制。仿真表明該方法不僅能成功解決確定和隨機(jī)倒立擺模型的平衡控制具有很好的學(xué)習(xí)效果。
90年代以來,由于數(shù)學(xué)基礎(chǔ)理論、控制理論和計(jì)算機(jī)技術(shù)的發(fā)展,不斷地有新的控制理論和控制思想問世,使得倒立擺控制系統(tǒng)的研究和應(yīng)用更加廣泛和深入,把這些理論應(yīng)用在實(shí)際的實(shí)物控制和分析中己經(jīng)成為當(dāng)前控制理論研究和應(yīng)用的核心問題。人們?yōu)榱藱z驗(yàn)新的控制方法是否具有良好的處理多變量、非線性和絕對(duì)不穩(wěn)定型的能力,不斷提升倒立擺系統(tǒng)的復(fù)雜性和難度,如增加擺桿的級(jí)數(shù),加大擺桿的長度,改變擺的形狀和放置的形式等。2002年8月,北京師范大學(xué)教授李洪興領(lǐng)導(dǎo)的復(fù)雜系統(tǒng)智能控制實(shí)驗(yàn)室,首次成功實(shí)現(xiàn)了直線運(yùn)動(dòng)四級(jí)倒立擺實(shí)物系統(tǒng)控制,2003年10月,他們采用高維變論域自適應(yīng)控制理論,在世界
洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文)
上第一個(gè)成功地實(shí)現(xiàn)了平面運(yùn)動(dòng)三級(jí)倒立擺實(shí)物系統(tǒng)控制。但是多年來小車一多級(jí)擺系統(tǒng)的控制研究主要集中在擺倒立點(diǎn)的穩(wěn)定控制方面,同時(shí)也只是針對(duì)在水平軌道上的研究,而對(duì)于在傾斜軌道上的倒立擺的研究,還不多見。然而對(duì)于擺的擺起倒立穩(wěn)定控制,由于小車多級(jí)擺擺起倒立穩(wěn)定的高難性,目前國際上罕見小車二級(jí)擺以上實(shí)際系統(tǒng)的擺起倒立成功的例子。在小車二級(jí)擺擺起倒立控制的研究中,一般采用了混雜控制轉(zhuǎn)換的方法,即將控制過程分為擺起和倒立穩(wěn)擺兩個(gè)階段。在擺起階段,采取基于能量的控制(K.J.Astrom,K.Furuta,W.spong),通過不斷增加兩擺桿的能量,直至達(dá)到倒立穩(wěn)擺的位置。這樣的方法對(duì)于小車單擺系統(tǒng)擺起倒立十分有效。然而,由于能量是一個(gè)標(biāo)量,基于能量正反饋的方法在擺起過程中,無法兼顧和有效控制欠驅(qū)動(dòng)多擺桿之間的相對(duì)運(yùn)動(dòng),存在著擺桿與擺桿之間相對(duì)運(yùn)動(dòng)難以協(xié)調(diào)控制的問題。其它的采用直接數(shù)字求解動(dòng)態(tài)方程獲得理想軌跡,然后將其與實(shí)時(shí)參數(shù)比較形成閉環(huán)控制的方法,以及部分反饋線性化等方法,但這些方法都同樣存在對(duì)擺桿之間相對(duì)運(yùn)動(dòng)難以協(xié)調(diào)控制的問題。捷克學(xué)者J.Rubl,在研究直線小車二級(jí)擺的擺起倒立過程中,運(yùn)用了數(shù)字方法、最優(yōu)控制與分段線性化結(jié)合的綜合控制方法,解決了水平軌道上小車二級(jí)擺擺起倒立控制的實(shí)物實(shí)現(xiàn)問題。重慶大學(xué)李祖樞教授等人利用仿人智能控制方法分別成功地實(shí)現(xiàn)了在水平軌道上和在傾斜軌道上小車二級(jí)擺的擺起倒立穩(wěn)定實(shí)時(shí)控制,而小車三級(jí)擺的擺起倒立穩(wěn)定控制,由于控制難度更大,國際上尚無成功的先例。近年來在結(jié)合模糊控制與神經(jīng)網(wǎng)絡(luò)等方面也取得了很多成果。
總之,倒立擺系統(tǒng)是一種能夠有效檢驗(yàn)控制理論和控制算法的實(shí)驗(yàn)設(shè)備。目前應(yīng)用于倒立擺系統(tǒng)的算法主要有以下幾類:經(jīng)典控制(LMI,PDI)、現(xiàn)代控制(LQR 最優(yōu)控制法,極點(diǎn)配置法)、變結(jié)構(gòu)倒立擺系統(tǒng)最初研究開始于二十世紀(jì) 50 年代,麻省理工學(xué)院的控制論專家們根據(jù)火箭發(fā)射的原理設(shè)計(jì)出了一級(jí)倒立擺實(shí)驗(yàn)裝置;發(fā)展到今天,倒立擺系統(tǒng)已經(jīng)由原來的一級(jí)直線倒立擺衍生出了異常豐富的類別。按照倒立擺擺桿的數(shù)目可以分為一級(jí)倒立擺、二級(jí)倒立擺、三級(jí)倒立擺、四級(jí)倒立擺等,且控制難度也隨著擺桿的級(jí)數(shù)增加而變大;按照倒立擺系統(tǒng)結(jié)構(gòu)的不同,可以分為:直線倒立擺系統(tǒng)、旋轉(zhuǎn)倒立擺系統(tǒng)、平面倒立擺系統(tǒng)、復(fù)合倒立擺系統(tǒng)等;按照倒立擺擺桿的不同還可以分為剛性倒立擺和柔性倒立擺。在檢驗(yàn)不同的控制方法對(duì)各種復(fù)雜的、不穩(wěn)定的、非線性系統(tǒng)的控制效果中得到廣泛的應(yīng)用,并且越來越受到世界各國科研工作者的重視
2.該課題的意義:
隨著實(shí)際工程控制系統(tǒng)的研究發(fā)展的需要,對(duì)于理論方面的研究迫切需要一 個(gè)平臺(tái)去檢驗(yàn)新理論的正確性和在實(shí)際中的可行性,倒立擺系統(tǒng)作為一個(gè)具有絕 對(duì)不穩(wěn)定、高階次、多變量、強(qiáng)藕合的典型的非線性系統(tǒng),是檢驗(yàn)控制理論和方 法的理想模型,所以本文選擇倒立擺系統(tǒng)作為研究對(duì)象具有重要的理論意義和應(yīng) 用價(jià)值。相對(duì)于其他研究倒立擺系統(tǒng)的控制方法,Backstepping方法最大的優(yōu)點(diǎn)是不必對(duì)系統(tǒng)進(jìn)行線性化,可以直接對(duì)系統(tǒng)進(jìn)行遞推性的控制器設(shè)計(jì),保留了被控象中有用的非線性項(xiàng),使得控制設(shè)計(jì)更接近實(shí)際情況,而且所設(shè)計(jì)的控制器具有很強(qiáng)的魯棒性。而且國內(nèi)外用此方法研究倒立擺系統(tǒng)的成果還不多見,因而具有很大的理論研究價(jià)值;由于當(dāng)前國內(nèi)外對(duì)于倒立擺系統(tǒng)的研究大都仍只局限于理論分析或計(jì)算機(jī)軟件的數(shù)值仿真而缺少實(shí)際的實(shí)驗(yàn)檢驗(yàn)分析,而MATLABSim-ulink就是提供了進(jìn)行仿真實(shí)驗(yàn)的良好平臺(tái),它利用自帶的模塊建立系統(tǒng)模型,然后進(jìn)行仿真,形象直觀,非常有利于研究者進(jìn)行分析和總結(jié),同
洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文)
時(shí)可以利用MATLAB-RTW實(shí)時(shí)工具箱構(gòu)建實(shí)時(shí)控制平臺(tái),把設(shè)計(jì)好的控制器建立的Simulink仿真樟型連接在實(shí)時(shí)內(nèi)核中運(yùn)行,驅(qū)動(dòng)外部硬件設(shè)備,實(shí)現(xiàn)對(duì)倒立擺系統(tǒng)的實(shí)時(shí)控制,倒立擺的控制模型與直立行走機(jī)器人的平衡控制、兩輪小車的自平衡控制、導(dǎo)彈攔截控制、火箭發(fā)射時(shí)的垂直控制、衛(wèi)星飛行中的姿態(tài)控制和航空對(duì)接控制等涉及平衡和角度的控制問題非常相似,所以在機(jī)器人、航天、軍工等領(lǐng)域和一般的工業(yè)過程中都有著廣泛的應(yīng)用。倒立擺系統(tǒng)作為研究控制理論的一種典型的實(shí)驗(yàn)裝置,具有較為簡單的結(jié)構(gòu)、可以有效地檢驗(yàn)眾多控制方法的有效性、參數(shù)和模型易于改變、相對(duì)低廉的成本等優(yōu)點(diǎn),研究控制理論的很多科研人員一直將它們視為主要的研究對(duì)象,用它們來描述線性控制領(lǐng)域中不穩(wěn)定系統(tǒng)的穩(wěn)定性以及在非線性控制領(lǐng)域中的無源性控制、變結(jié)構(gòu)控制、非線性觀測器、自由行走、非線性模型降階、摩擦補(bǔ)償?shù)瓤刂扑枷耄覐闹胁粩嚅_發(fā)出新的控制方法和控制理論,所以倒立擺系統(tǒng)是研究智能控制方法較為理想的實(shí)驗(yàn)裝置。倒立擺系統(tǒng)自身是一個(gè)典型的多變量、非線性、高階次、強(qiáng)耦合和絕對(duì)不穩(wěn)定系統(tǒng),許多抽象的控制概念如系統(tǒng)的可控性、穩(wěn)定性、系統(tǒng)的抗干擾能力和系統(tǒng)的收斂速度等,都可以由倒立擺系統(tǒng)直觀地展示出來。此外,通過倒立擺系統(tǒng)還可以研究非線性觀測器、變結(jié)構(gòu)控制、目標(biāo)定位控制、摩擦補(bǔ)償和混合系統(tǒng)等。不僅如此,倒立擺系統(tǒng)也是進(jìn)行控制理論教學(xué)的理想平臺(tái)。傳統(tǒng)的教學(xué)中,實(shí)驗(yàn)只是作為理論教學(xué)延伸,往往是理論知識(shí)的比重大于實(shí)驗(yàn),即使有實(shí)驗(yàn)課程也只是學(xué)生完全按照實(shí)驗(yàn)指導(dǎo)書上的指導(dǎo)去完成實(shí)驗(yàn),整個(gè)實(shí)驗(yàn)過程中學(xué)生們完全是消極的被動(dòng)的接收知識(shí),甚至學(xué)生對(duì)實(shí)驗(yàn)方法、內(nèi)容完全沒有興趣。很顯然,這種實(shí)驗(yàn)教學(xué)方法難以培養(yǎng)學(xué)生綜合素質(zhì)和實(shí)踐能力。所以必須在實(shí)驗(yàn)環(huán)節(jié)的內(nèi)容和形式上進(jìn)行改革與創(chuàng)新,以培養(yǎng)學(xué)生的創(chuàng)新意識(shí)和實(shí)踐動(dòng)手能力。因此,進(jìn)行設(shè)計(jì)性、開放性的綜合實(shí)驗(yàn)具有極其重要的現(xiàn)實(shí)意義。若在控制理論的教學(xué)中,如果構(gòu)建一個(gè)高效的合理的倒立擺系統(tǒng)實(shí)驗(yàn)平臺(tái),就可以在深入理解控制理論知識(shí)的同時(shí),還可以讓學(xué)生們對(duì)硬件回路仿真技術(shù)的開發(fā)流程有一定的了解,并掌握基于 MATLAB 的實(shí)時(shí)仿真操作,這樣就可以從理論和實(shí)踐上提高學(xué)生對(duì)控制理論的興趣和認(rèn)識(shí)。將倒立擺系統(tǒng)研究應(yīng)用于高校的控制理論教學(xué)和實(shí)驗(yàn)早已在歐美等教育發(fā)達(dá)地區(qū)流行多年。因此,倒立擺控制策略的研究在我國高校的控制理論教學(xué)和實(shí)驗(yàn)中具有廣闊的前景。較理想的控制效果,能夠快速穩(wěn)定并且有很強(qiáng)的抗干擾能力。
3.本論文的主要工作:
本論文是對(duì)一級(jí)倒立擺系統(tǒng)的LQR控制器設(shè)計(jì)。驗(yàn)證算法采用實(shí)驗(yàn)室的倒立擺裝置。用 Matlab 中的 Simulink 搭接仿真的實(shí)驗(yàn)原理圖,編寫恰當(dāng)?shù)哪:?guī)則,通過對(duì)隸屬度曲線以及參數(shù)的適當(dāng)調(diào)整,得到理想的仿真曲線。最后,通過倒立擺實(shí)驗(yàn)裝置來驗(yàn)證所設(shè)計(jì)的模糊控制算法的可行性。具體內(nèi)容如下:
第一章是緒論部分,主要概括介紹了倒立擺控制系統(tǒng)研究的發(fā)展歷史及現(xiàn)狀,本課題研究的背景和意義,本文主要研究的內(nèi)容及章節(jié)安排以及本文的創(chuàng)新點(diǎn)。初步了解目前倒立擺的研究現(xiàn)狀以及研究熱點(diǎn),論述了控制理論在倒立擺系 統(tǒng)運(yùn)用的不斷發(fā)展和完善,智能控制器越來越受到專家學(xué)者的關(guān)注。
第二章是預(yù)備知識(shí),主要概述了本文主要用到的倒立擺裝置,Matlab仿真平臺(tái)簡介及應(yīng)用。
洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文)
第三章詳細(xì)介紹了一級(jí)倒立擺控制系統(tǒng)的工作原理、兩輪小車的硬件設(shè)計(jì)。包括自平衡小車的組成模塊及工作原理、各模塊硬件設(shè)計(jì)。
第四章介紹了MATLAB/Simulink建模原理,利用本文設(shè)計(jì)的非線性控制器在 MATLAB環(huán)境下對(duì)系統(tǒng)進(jìn)行了離線仿真分析、能控性分析、能觀性分析,基于卡爾曼濾波器的LQR控制器設(shè)計(jì)。對(duì)單級(jí)倒立擺進(jìn)行了詳細(xì)的受力分析,建立倒立擺系統(tǒng)的數(shù)學(xué)模型,并對(duì)倒立擺系統(tǒng)進(jìn)行定性分析。證明了倒立擺系統(tǒng)是開環(huán)不穩(wěn)定的,但在平衡點(diǎn)是能觀的和能控的,可以對(duì)系統(tǒng)進(jìn)行控制器的設(shè)計(jì),使系統(tǒng)穩(wěn)定。
第五章介紹了基于MATLAB的倒立擺實(shí)時(shí)控制系統(tǒng),利用所設(shè)計(jì)的非線性控 制器對(duì)實(shí)際的硬件系統(tǒng)進(jìn)行了控制實(shí)驗(yàn),并和固高公司提供的控制器對(duì)系統(tǒng)的控 制效果進(jìn)行了對(duì)比,然后利用所設(shè)計(jì)的非線性控制器對(duì)倒立擺系統(tǒng)進(jìn)行了實(shí)時(shí)控 制開發(fā)的研究。
第二章:倒立擺簡介: 1.倒立擺簡介:
倒立擺系統(tǒng)是非線性、強(qiáng)藕合、多變量和自然不穩(wěn)定的系統(tǒng)。在控制過程中,它能有效的反映諸如可鎮(zhèn)定性、魯棒性、隨動(dòng)性以及跟蹤等許多控制中的關(guān)鍵問 題,是檢驗(yàn)各種控制理論的理想模型。迄今,人們己經(jīng)利用古典控制理論、現(xiàn)代 控制理論以及各種智能控制理論實(shí)現(xiàn)了多種倒立擺系統(tǒng)的控制。因此,對(duì)倒立擺 系統(tǒng)的研究無論在理論上還是在實(shí)際上均有很大的意義。
倒立擺系統(tǒng)包含倒立擺本體、電控箱及由計(jì)算機(jī)和運(yùn)動(dòng)控制卡組成的控制平臺(tái)三大部分,組成了一個(gè)閉環(huán)系統(tǒng)。其中電控箱內(nèi)主要有以下部件:(1)交流伺服驅(qū)動(dòng)器(2)1/0接口板(3)開關(guān)電源
控制平臺(tái)主要部分組成:(1)與IBM PC/AI機(jī)兼容的PC機(jī),帶PCI/SCI總線插槽(2)GT400-SV-PCI運(yùn)動(dòng)控制卡
(3)GT400-SV-PCI運(yùn)動(dòng)控制卡用戶接口軟件
電機(jī)通過同步帶驅(qū)動(dòng)小車在滑桿上來回運(yùn)動(dòng),以保持?jǐn)[桿平衡。其工作原理 框圖如圖3-1所示,以直線一級(jí)倒立擺為例。電機(jī)編碼器和角碼器向運(yùn)動(dòng)控制卡反
饋小車和擺桿位置,小車的位移可以根據(jù)光電碼盤1的反饋通過換算獲得,速度信
號(hào)可以通過對(duì)位移的差分得到,并同時(shí)反饋給伺服驅(qū)動(dòng)器和運(yùn)動(dòng)控制卡;擺桿的 角度由光電碼盤2測量得到,而角速度信號(hào)可以通過對(duì)角度的差分得到,并同時(shí)反
饋給控制卡和伺服驅(qū)動(dòng)器。計(jì)算機(jī)從運(yùn)動(dòng)控制卡中讀取實(shí)時(shí)數(shù)據(jù),確定控制決策(小車向哪個(gè)方向移動(dòng),移動(dòng)速度,加速度等),并由運(yùn)動(dòng)控制卡來實(shí)現(xiàn)控制決 策,產(chǎn)生相應(yīng)的控制量,使電機(jī)轉(zhuǎn)動(dòng),帶動(dòng)小車運(yùn)動(dòng),保持?jǐn)[桿平衡。
硬件部分包括計(jì)算機(jī)、運(yùn)動(dòng)控制卡、電控箱、伺服系統(tǒng)、倒立擺本體和旋轉(zhuǎn)光電編碼器、位移傳感器等幾大部分,它們構(gòu)成一
洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文)
個(gè)閉環(huán)
系統(tǒng)。伺服電機(jī)通過同步皮帶與小車相連接,并帶動(dòng)小車同步運(yùn)動(dòng),以此來控制小
車在水平軌道上做直線運(yùn)動(dòng)。勻質(zhì)剛體擺桿與小車相連,由小車的水平移動(dòng)來控制擺桿 的穩(wěn)定豎直倒立。旋轉(zhuǎn)光電編碼器是一種角位移傳感器,其輸出的檢測信號(hào)是數(shù)字信號(hào),因此可以直接進(jìn)入計(jì)算機(jī)進(jìn)行處理,而不需放大和轉(zhuǎn)換等過程,使用非常方便。可以用
它準(zhǔn)確的測出倒立擺擺桿的偏轉(zhuǎn)角度。將旋轉(zhuǎn)光電編碼器、位移傳感器、以及狀態(tài)反饋
信息輸入運(yùn)動(dòng)控制器,而運(yùn)動(dòng)控制卡中采集的這些信息經(jīng)一定的控制算法會(huì)得出控制信
息并將被輸入伺服電機(jī)。通過這樣一個(gè)閉環(huán)系統(tǒng)就能達(dá)到倒立擺的穩(wěn)定控制。其中計(jì)算
機(jī)從運(yùn)動(dòng)控制卡實(shí)時(shí)讀取數(shù)據(jù),計(jì)算并確定控制決策,即根據(jù)倒立擺的實(shí)時(shí)狀態(tài)不斷地
調(diào)用相應(yīng)的函數(shù)程序如速度、加速度等,經(jīng)過電控箱內(nèi)的轉(zhuǎn)換電路產(chǎn)生相應(yīng)的控制量,由此驅(qū)動(dòng)伺服電機(jī)轉(zhuǎn)動(dòng)的
倒立擺系統(tǒng)由機(jī)械部分和電路部分組成。機(jī)械部分包括底座、框架、滑軌、齒 輪帶、輪、電機(jī)、小車和擺體等。電路部分由測量電位器、C805lF020單片機(jī)(A/D 轉(zhuǎn)換器、D/A轉(zhuǎn)換器)、計(jì)算機(jī)、信號(hào)放大與功率放大、電機(jī)等組成。計(jì)算機(jī)作為數(shù)
字控制器實(shí)現(xiàn)對(duì)系統(tǒng)的實(shí)時(shí)控制,同時(shí)也為操作者提供人一機(jī)界面,完成對(duì)系統(tǒng)的
監(jiān)督管理功能:如實(shí)時(shí)畫圖、數(shù)據(jù)采集等。C8051F020單片機(jī)(A/D轉(zhuǎn)換器、D/A 轉(zhuǎn)換器)完成模數(shù)、數(shù)模的轉(zhuǎn)換,放大器用于電壓和功率放大。電動(dòng)機(jī)是系統(tǒng)的執(zhí) 行元件和速度反饋元件,電位器是倒立擺角度的反饋測量元件。一級(jí)倒立擺系統(tǒng)的
整套機(jī)械部件分別安裝在兩塊底板上,底板上固定著導(dǎo)軌支架、電機(jī)底座、滾動(dòng)軸
承等,通過導(dǎo)軌支架安裝好小車滑行導(dǎo)軌,小車用電機(jī)和滾動(dòng)軸承通過傳動(dòng)皮帶實(shí)
現(xiàn)運(yùn)動(dòng),小車連接著角位移電位器。單級(jí)倒立擺原理結(jié)構(gòu)圖如圖1.1所示。倒立擺是一個(gè)數(shù)字式的閉環(huán)控制系統(tǒng),其工作原理:小車在電動(dòng)機(jī)的拖動(dòng)下沿 固定的直線軌道進(jìn)行運(yùn)動(dòng),相應(yīng)的產(chǎn)生了小車的直線位移和倒立擺的轉(zhuǎn)角。小車位
移通過電動(dòng)機(jī)電位器測得,角位移由安裝在倒立擺軸上的電位器測得。角位移經(jīng)過
刀D轉(zhuǎn)換送到計(jì)算機(jī)經(jīng)過計(jì)算機(jī)內(nèi)部的實(shí)時(shí)控制程序運(yùn)算產(chǎn)生控制指令。該控制指
令經(jīng)D/A變換、再經(jīng)功率放大,然后輸出給電動(dòng)機(jī),產(chǎn)生相應(yīng)的控制作用,從而實(shí)
洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文)
東北大學(xué)碩士學(xué)位論文第1章緒論 現(xiàn)對(duì)小車位移和倒立擺角位移的控制。)))))))}}}(臼臼
圖1.1單級(jí)倒立擺原理結(jié)構(gòu)圖
Fig.1.1ThePrineiPleofsingleinvertedPendulumstrueturedrawing 倒立擺控制系統(tǒng)是一個(gè)復(fù)雜的、不穩(wěn)定的、非線性系統(tǒng),是進(jìn)行控制理論教學(xué) 及開展各種控制實(shí)驗(yàn)的理想實(shí)驗(yàn)平臺(tái)。對(duì)倒立擺系統(tǒng)的研究能有效的反映控制中的
許多典型問題:如非線性問題、魯棒性問題、鎮(zhèn)定問題、隨動(dòng)問題以及跟蹤問題等。
通過對(duì)倒立擺的控制,用來檢驗(yàn)新的控制方法是否有較強(qiáng)的處理非線性和不穩(wěn)定性
問題的能力。同時(shí),其控制方法在軍工、航天、機(jī)器人和一般工業(yè)過程領(lǐng)域中都有
著廣泛的用途,如機(jī)器人行走過程中的平衡控制、火箭發(fā)射中的垂直度控制和衛(wèi)星
飛行中的姿態(tài)控制等,且對(duì)于揭示定性定量轉(zhuǎn)換規(guī)律和策略具有普遍意義
2.MATLAB簡介及應(yīng)用:
第三章 兩輪小車硬件設(shè)計(jì)(1、自平衡小車的組成模塊及工作原理
2、各模塊硬件設(shè)計(jì))第四章 一級(jí)倒立擺的數(shù)學(xué)建模(1、一級(jí)倒立擺的數(shù)學(xué)建模
系統(tǒng)的建模就是用形式化模型或者抽象的表示方法,對(duì)事物本身和外部的 某些因素進(jìn)行描述。科學(xué)家們通過大量的觀察和實(shí)驗(yàn),建立了抽象的表示方法
和定律,這些方法和定律是對(duì)現(xiàn)實(shí)世界中一些已被證明正確的假設(shè)加以形式化。
例如:愛因斯坦的相對(duì)論和牛頓萬有引力定律等等。實(shí)物系統(tǒng)的建模找出了所
要建模系統(tǒng)的基本性質(zhì),人們可以在模型上進(jìn)行試驗(yàn)推理、研究和設(shè)計(jì),從而
獲得控制實(shí)物系統(tǒng)的方法。系統(tǒng)建模幫助人們不斷地加深對(duì)事物現(xiàn)象的認(rèn)識(shí),并且啟發(fā)人們?nèi)ミM(jìn)行可以獲得滿意結(jié)果的實(shí)驗(yàn)。因此,系統(tǒng)建模是研究系統(tǒng)的
前提條件和十分有效地手段。
系統(tǒng)建模是對(duì)系統(tǒng)進(jìn)行仿真、分析、設(shè)計(jì)、控制和優(yōu)化的基礎(chǔ)。在建模過 程中,要想模型能包含實(shí)際系統(tǒng)的全部信息,是難以現(xiàn)實(shí)的。這是因?yàn)槟P椭?/p>
存在著過多的實(shí)體,實(shí)體之間又存在相互關(guān)聯(lián)。因此,包含實(shí)際系統(tǒng)的全部信
洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文)
息的模型難以獲得,也難以處理。對(duì)于建立好的模型,通常存在著兩個(gè)相互矛
盾的因素:簡單化和精確性。為了使模型盡可能的精確和簡單,建模者通常要
決定忽略那些次要的因素,忽略次要因素的前提是:忽略這些因素以后不會(huì)顯
著地改變整個(gè)模型行為,相反能夠使模型更加簡單化
建立系統(tǒng)數(shù)學(xué)模型的方法一般有兩種:第一種是機(jī)理建模,根據(jù)現(xiàn)實(shí)對(duì)象 的特性,分析其存在的因果關(guān)系,找出反映現(xiàn)實(shí)對(duì)象內(nèi)部的規(guī)律,所建立的模
型一般都具有明確的物理意義或者現(xiàn)實(shí)意義。第二種是實(shí)驗(yàn)建模,將現(xiàn)實(shí)對(duì)象
看作一個(gè)“黑箱”,由于內(nèi)部的規(guī)律并不能直接的得到,必須分析現(xiàn)實(shí)對(duì)象的輸
入數(shù)據(jù)和輸出數(shù)據(jù),用統(tǒng)計(jì)學(xué)方法分析。根據(jù)分析得出的結(jié)論,按先前規(guī)定的
標(biāo)準(zhǔn)來選出一個(gè)實(shí)驗(yàn)數(shù)據(jù)最符合的模型。這種方法也稱為系統(tǒng)辯識(shí)。倒立擺系
統(tǒng)的形狀較為規(guī)則,是一個(gè)絕對(duì)不穩(wěn)定的系統(tǒng),用實(shí)驗(yàn)建模方法獲取其數(shù)學(xué)模
型有一定的困難。故在下面的論文中采用機(jī)理建模對(duì)一級(jí)倒立擺系統(tǒng)建模。
在忽略了空氣阻力和各種摩擦之后,可將直線型一級(jí)倒立擺系統(tǒng)抽象成小車 和勻質(zhì)擺桿組成的系統(tǒng),如圖所示:
洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文)
圖3-2一級(jí)倒立擺系統(tǒng)的力學(xué)示意圖 系統(tǒng)中小車和擺桿的受力分析圖如圖 2.2 所示。其中,N 和 P 為小車與擺桿相 互作用力的水平和垂直方向的分量。
將擺桿視為剛體,則一級(jí)倒立擺系統(tǒng)的參數(shù)為:小車質(zhì)量M,擺桿質(zhì)量m,擺 桿重心到鉸鏈的長度l,重力加速度g,小車位置x,擺桿角度9,作用在小車上 的驅(qū)動(dòng)力F。當(dāng)小車在水平方向運(yùn)動(dòng)時(shí),若忽略摩擦力矩的非線性,對(duì)小車和擺 桿進(jìn)行水平和垂直方向受力分析,如圖:
1、運(yùn)用牛頓力學(xué)分析方法建立了一級(jí)倒立擺系統(tǒng)的數(shù)學(xué)模型。并對(duì)倒立擺系統(tǒng)進(jìn)
行定性分析。證明了倒立擺系統(tǒng)是開環(huán)不穩(wěn)定的,但在平衡點(diǎn)是能觀的和能控的,可以
對(duì)系統(tǒng)進(jìn)行控制器的設(shè)計(jì),使系統(tǒng)穩(wěn)定。
2、通過建立模糊規(guī)則,研究倒立擺系統(tǒng)的模糊控制算法。本文把擺桿的角度和角 速度作為輸入量,單獨(dú)組成一個(gè)角度控制器;把小車的位置和速度作為輸入量,組成另
一個(gè)位置控制器。從而實(shí)現(xiàn)“擺體不倒,小車停住”的總體控制目標(biāo)。
3、倒立擺模糊控制仿真。本文利用Simulink建立倒立擺系統(tǒng)模型,實(shí)現(xiàn)了倒立擺
模糊控制系統(tǒng)的仿真。仿真結(jié)果表明:模糊控制器不僅可以使擺桿穩(wěn)定,還可以使小車
穩(wěn)定在特定位置。
由于倒立擺系統(tǒng)存在不確定性、耦合性等特性,在數(shù)學(xué)上完全準(zhǔn)確的描述它
幾乎是不可能的。為簡化系統(tǒng),解決實(shí)際系統(tǒng)中的控制問題,我們?cè)诮r(shí)要忽
略了一些次要因素,如空氣阻力、伺服電機(jī)的靜摩擦力、系統(tǒng)連接處的松弛程度、洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文)
擺桿連接處質(zhì)量分布不均勻、傳送帶的彈性、傳動(dòng)齒輪的間隙等,并將小車抽象
為質(zhì)點(diǎn),認(rèn)為擺桿是勻質(zhì)剛體,從而將二級(jí)直線倒立擺簡化成小車和擺桿組成的
系統(tǒng),建立一個(gè)較為精確地倒立擺系統(tǒng)的數(shù)學(xué)模型。
目前,對(duì)倒立擺系統(tǒng)建模一般采用兩種方法:牛頓力學(xué)分析方法,歐拉—拉
格朗日原理(Lagrange方程)[41]。建立被控對(duì)象的數(shù)學(xué)模型常采用牛頓力學(xué)的方法,建立倒立擺系統(tǒng)的數(shù)學(xué)模型先分析小車和各個(gè)擺體的受力情況,然后列出小車和
各個(gè)擺體在X方向和Y方向的運(yùn)動(dòng)方程以及各擺體相對(duì)各個(gè)轉(zhuǎn)軸處的轉(zhuǎn)動(dòng)力矩平衡
式。再通過求解各擺體運(yùn)動(dòng)方程和各個(gè)轉(zhuǎn)軸處的轉(zhuǎn)動(dòng)力矩平衡方程得到倒立擺系
統(tǒng)的數(shù)學(xué)模型。可見,采用牛頓運(yùn)動(dòng)定律建模,需要解算大量的微分方程組,而
且要考慮到質(zhì)點(diǎn)組受到的約束條件,建模將更加復(fù)雜
倒立擺系統(tǒng)的數(shù)學(xué)建模一般有牛頓歐拉法和拉格朗日法兩種。對(duì)于結(jié)構(gòu)相對(duì)簡單的
一級(jí)直線倒立擺可以使用牛頓歐拉法,先對(duì)小車和擺桿進(jìn)行受力分析,并分別求出他們 的運(yùn)動(dòng)方程。將線性化后的兩個(gè)運(yùn)動(dòng)方程進(jìn)行拉普拉斯變換。最后整理后可以得到系統(tǒng) 的狀態(tài)空間方程 [1-9]。但在對(duì)二級(jí)、三級(jí)以上的倒立擺進(jìn)行數(shù)學(xué)建模時(shí),這種方法就顯
得有些復(fù)雜。牛頓運(yùn)動(dòng)定律來求解質(zhì)點(diǎn)組的運(yùn)動(dòng)問題時(shí),計(jì)算量會(huì)比較大。在許多實(shí)際 的運(yùn)算中,求解微分方程組會(huì)遇到較大的困難。有時(shí),還需要確定各質(zhì)點(diǎn)間的位移、相
互作用力、速度、加速度等關(guān)系來解決質(zhì)點(diǎn)組中存在約束情況,聯(lián)立求解這些方程組就 更為困難 [10-13]。為了簡化倒立擺系統(tǒng)的數(shù)學(xué)建模過程,本章采用了分析力學(xué)中的拉格朗 日方程推導(dǎo)直線倒立擺的數(shù)學(xué)模型,并對(duì)該系統(tǒng)的可控性進(jìn)行了分析。
洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文)
2、能空性分析
3、能觀性分析
4、基于卡爾曼濾波器的LQR控制器設(shè)計(jì))
第五章 基于MATLAB的仿真(1、基于MATLAB的倒立擺模型
于在教學(xué)和工程實(shí)驗(yàn)領(lǐng)域廣泛應(yīng)用的 MATLAB/Simulink平臺(tái),MATLAB 實(shí)時(shí)控
制軟件實(shí)驗(yàn)平臺(tái),使得實(shí)驗(yàn)和先進(jìn)算法研究變得無比輕松。在不需要熟練掌握其他編程
語言的基礎(chǔ)上就能做控制理論實(shí)驗(yàn),只需要把精力集中在控制算法研究上而不需要接觸
艱深的硬件接口。現(xiàn)在,在此平臺(tái)上可以把系統(tǒng)的建模、仿真和實(shí)時(shí)控制,用戶的建模
和仿真結(jié)果不需要太多修改就可以直接在同一平臺(tái)上針對(duì)實(shí)際物理設(shè)備進(jìn)行控制實(shí)驗(yàn) 驗(yàn)證。
MATLAB 實(shí)時(shí)控制軟件的特點(diǎn):實(shí)控軟件采用了 MATLAB/Simulink 的實(shí)時(shí)工具箱
RTW(Real-Time Workshop)實(shí)現(xiàn)控制任務(wù),運(yùn)行在 Windows 操作系統(tǒng)基礎(chǔ)上,專用的
實(shí)時(shí)內(nèi)核代替 Windows 操作系統(tǒng)接管了實(shí)時(shí)控制任務(wù)。內(nèi)核任務(wù)執(zhí)行的最小周期是
1ms,大大地提高了系統(tǒng)控制的實(shí)時(shí)性,完全可以滿足 Windows 下較高的實(shí)時(shí)性控制要
求而不用擔(dān)心 Windows 本身的實(shí)時(shí)性問題。
2、控制器設(shè)計(jì)及實(shí)時(shí)仿真)
第五篇:倒立擺初步調(diào)式程序
/*/***************************************************** 此為倒立擺程序,共分為六個(gè)模式
//************************************************ *************************************************** *********************************************************/ #include
sbit B1=P1^0;//按鍵接口由模式1到模式6,模式6必須在完成模式5所設(shè)定功能啟動(dòng) sbit B2=P1^1;sbit B3=P1^2;sbit B4=P1^3;sbit B5=P1^4;sbit B6=P1^5;
sbit Zx=P3^2;
//增量式編碼器接口z用于判斷起點(diǎn) sbit Ax=P3^3;//A,B聯(lián)立用于判斷方向 sbit Bx=P2^4;
sbit rs=P2^5;
//1602的數(shù)據(jù)/指令選擇控制線
sbit rw=P2^6;
//1602的讀寫控制線
sbit en=P2^7;
//1602的使能控制線
void moshi1();//倒立擺的不同模式函數(shù) void moshi2();void moshi3();void moshi4();void moshi5();void moshi6();//*********************************************** //lcd顯示函數(shù)聲明
void fuzhi1(uchar n2,uchar n3);void fuzhi(uchar n2,uchar n3);void lcd_w1(uchar ff);void lcd_w2(uchar dat);void lcd_init();void display();
//************************************************ //pid參數(shù)及其計(jì)算函數(shù)聲明 void PID_init();void chushihua();float PID_jisuang(float shuzhi);//************************************************** void dianji(int v,int s,char m);//電機(jī)函數(shù)
int zhuanghua(float shijizhi1);//pid控制量轉(zhuǎn)化為電機(jī)運(yùn)轉(zhuǎn)角度函數(shù)
float zengliangzhi,jiaodu,Py;
uchar flag=1,a=0,j=0,j1=0,su=0,time,time1,time2,y=0;uchar table[]={“jiaodu1=00.00”};uchar table1[]={“p=0000,x=0;”};uint mc,n,Pw,d1,d2,d3,d4,d5,m1;//********************************************************* //延時(shí)函數(shù) void deplay(uint ms){
uchar i;
while(ms--)
for(i=0;i<2;i++);
} //*********************************************
void main(){
PID_init();
chushihua();
while(1)
} //************************************************* void chushihua(){ {
while(B1)
moshi1();while(B2)
moshi2();while(B3)
moshi3();while(B4)
moshi4();while(B5)
moshi5();
}
EA=1;
//開總中斷1優(yōu)先級(jí)
TMOD=0x01;
//T0定時(shí)方式1 TH0=(65536-200)/256;
TL0=(65536-200)%256;
} //****************************************************** void bianmaA()interrupt 2 {
if((time1-time2)>=2)
{
time2=time1;if(Bx)
IT0=1;IT1=1;EX0=1;PX0=1;
//下降沿觸發(fā)
//下降沿觸發(fā)
//開外部中斷0 //外部中斷0高
TR0=1;
//啟用定時(shí)器T0 ET0=1;
//控制打開T0
j++;
else
j1++;
}
} //******************************************** void bianmaZ()interrupt 0 {
EX0=0;
EX1=1;
PX1=1;flag=0;}
//*********************************************** void time0()interrupt 1 {
TL0=(65536-200)%256;TH0=(65536-200)/256;su++;time++;while(time==5){
time=0;
time1++;
} } while(su==a)
//脈沖頻率調(diào)節(jié)
{
su=0;Pw++;}
if(su<(a/2))
A2=0;
else
A2=1;
//************************************** //模式1實(shí)現(xiàn)倒立擺左右大于60度角功能,具體再看;
void moshi1(){
dianji(6,100,1);
dianji(6,100,0);
} //*************************************** //模式1實(shí)現(xiàn)倒立擺運(yùn)轉(zhuǎn)至少一周功能;具體再看; void moshi2(){
dianji(6,200,1);
dianji(6,200,0);} //*************************************** //模式1實(shí)現(xiàn)倒立擺擺桿拿到左邊165度自平衡功能;并顯示角度(100次測量)具體再看; void moshi3(){
while(flag)
{ a=6;
Pw=0;
A1=1;
}
if(1)
{
jiaodu=(j-j1)*0.36;
Py=(int)PID_jisuang(jiaodu);
mc=zhuanghua(Py);
dianji(6,mc,1);
y=1;
}
else { a=0;
jiaodu=(j1-j)*0.36;
Py=(int)PID_jisuang(jiaodu);
mc=zhuanghua(Py);
dianji(6,mc,0);
y=0;} m1++;
if(m1==100)
{
d1=((int)(jiaodu*100))/1000;
d2=((int)(jiaodu*100))%1000/100;
d3=((int)(jiaodu*100))%1000%100/10;
d4=((int)(jiaodu*100))%1000%100%10;
fuzhi(d1,8);
fuzhi(d2,9);
fuzhi(d3,11);
fuzhi(d4,12);
d1=mc/1000;
d2=mc%1000/100;
d3=mc%1000%100/10;
}
d4=mc%1000%100%10;
d5=y;
fuzhi1(d1,2);
fuzhi1(d2,3);
fuzhi1(d3,4);
fuzhi1(d4,5);
fuzhi1(d5,9);
display();
m1=0;
} //************************************************************ //模式1實(shí)現(xiàn)倒立擺擺桿拿到右邊165度自平衡功能;并顯示其角度(100次測量)具體再看; void moshi4(){
a=6;
Pw=0;
while(flag)
{
A1=0;
}
if(j>j1)
{
jiaodu=(j-j1)*0.36;
Py=(int)PID_jisuang(jiaodu);
mc=zhuanghua(Py);
dianji(6,mc,1);
y=1;}
else
{
jiaodu=(j1-j)*0.36;
Py=(int)PID_jisuang(jiaodu);
mc=zhuanghua(Py);
dianji(6,mc,0);
y=0;} m1++;if(m1==100)
{
d1=((int)(jiaodu*100))/1000;
d2=((int)(jiaodu*100))%1000/100;
}
d3=((int)(jiaodu*100))%1000%100/10;
d4=((int)(jiaodu*100))%1000%100%10;
fuzhi(d1,8);
fuzhi(d2,9);
fuzhi(d3,11);
fuzhi(d4,12);
d1=mc/1000;
d2=mc%1000/100;
d3=mc%1000%100/10;
d4=mc%1000%100%10;
d5=y;
fuzhi1(d1,2);
fuzhi1(d2,3);
fuzhi1(d3,4);
fuzhi1(d4,5);
fuzhi1(d5,9);
display();
m1=0;
} //********************************************************* //模式1實(shí)現(xiàn)倒立擺擺桿由低到最高點(diǎn)平衡功能,平衡后按下B6實(shí)現(xiàn)單方向旋轉(zhuǎn)一周;具體再看; void moshi5(){
if(!flag)
{
if(j>j1)
{
jiaodu=(j-j1)*0.36;
Py=(int)PID_jisuang(jiaodu);
mc=zhuanghua(Py);
dianji(6,mc,1);
} else {
jiaodu=(j1-j)*0.36;y=1;
Py=(int)PID_jisuang(jiaodu);
mc=zhuanghua(Py);
dianji(6,mc,0);
y=0;} m1++;
if(m1==100)
{
d1=((int)(jiaodu*100))/1000;
d2=((int)(jiaodu*100))%1000/100;
d3=((int)(jiaodu*100))%1000%100/10;
d4=((int)(jiaodu*100))%1000%100%10;
fuzhi(d1,8);
fuzhi(d2,9);
fuzhi(d3,11);
fuzhi(d4,12);
d1=mc/1000;
d2=mc%1000/100;
d3=mc%1000%100/10;
d4=mc%1000%100%10;
d5=y;
fuzhi1(d1,2);
fuzhi1(d2,3);
fuzhi1(d3,4);
fuzhi1(d4,5);
fuzhi1(d5,9);
display();
m1=0;
}
} else {
a=6;
Pw=0;
while((Pw<200)&&(!flag))
{
A1=1;
}
Pw=0;
while((Pw<200)&&(!flag))
{
A1=0;
} } while(B6)
{
if(((j-j1)>=2)&&((j-j1)<=8))
{
a=50;A1=1;
//此為功能6
}
} else
{
if(j>j1)
jiaodu=(j-j1-5)*0.36;else
jiaodu=(j1-j-5)*0.36;
Py=(int)PID_jisuang(jiaodu);
mc=zhuanghua(Py);dianji(6,mc,0);
} }
//************************************************** //pid算法 struct _pid
{
float shijizhi;
//定義實(shí)際值
float piancha;
//定義偏差值
float piancha_1;
//定義上一個(gè)偏差值
float piancha_2;
//定義最上前的偏差值
float Kp,Ki,Kd;
//定義比例、積分、微分系數(shù)
}pid;//****************************************************** //數(shù)字增量式pid參數(shù)值的設(shè)定 void PID_init(){
pid.shijizhi=0.0;
pid.piancha=0.0;
pid.piancha_1=0.0;pid.piancha_2=0.0;
pid.Kp=2.0;pid.Ki=0.25;
pid.Kd=0.5;}
//********************************************************** //數(shù)字增量式pid計(jì)算誤差 float PID_jisuang(float shuzhi){
pid.piancha=shuzhi;
zengliangzhi=pid.Kp*(pid.piancha-pid.piancha_1)+pid.Ki*pid.piancha+pid.Kd*(pid.piancha-2*pid.piancha_1+pid.piancha_2);
pid.shijizhi+=zengliangzhi;
pid.piancha_2=pid.piancha_1;
pid.piancha_1=pid.piancha;
return pid.shijizhi;} //*************************************************************** //電機(jī)調(diào)整角度模塊 void dianji(int v,int s,char m){
} //****************************************** //pid控制量轉(zhuǎn)為步進(jìn)電機(jī)角度函數(shù) int zhuanghua(float shijizhi1){
} float dianjizhuangtai=0.75*sin(shijizhi1);int dianjishuchu=(int)(dianjizhuangtai*127.4);return dianjishuchu;a=v;Pw=0;while(Pw
void lcd_w1(uchar ff)//1602寫命令函數(shù)
{
rs=0;
//選擇指令寄存器
rw=0;
//選擇寫
P0=ff;
//把命令字送入P2
deplay(5);
//延時(shí)一小會(huì)兒,讓1602準(zhǔn)備接收數(shù)據(jù)
en=1;
//使能線電平變化,命令送入1602的8位數(shù)據(jù)口
en=0;}
void lcd_w2(uchar dat)
//1602寫數(shù)據(jù)函數(shù)
{
rs=1;
//選擇數(shù)據(jù)寄存器
rw=0;
//選擇寫
P0=dat;
//把要顯示的數(shù)據(jù)送入P2
deplay(5);
//延時(shí)一小會(huì)兒,讓1602準(zhǔn)備接收數(shù)據(jù)
en=1;
//使能線電平變化,數(shù)據(jù)送入1602的8位數(shù)據(jù)口
en=0;}
void lcd_init()
//1602初始化函數(shù)
{
lcd_w1(0x38);
//8位數(shù)據(jù),雙列,5*7字形
lcd_w1(0x0c);
//開啟顯示屏,關(guān)光標(biāo),光標(biāo)不閃爍
lcd_w1(0x06);
//顯示地址遞增,即寫一個(gè)數(shù)據(jù)后,顯示位置右移一位
lcd_w1(0x01);
//清屏
}
void display(){
lcd_init();
//液晶初始化
lcd_w1(0x80);
//顯示地址設(shè)為80H(即00H,)
if(1)
{
for(n=0;n<13;n++)
//將table1[]中的數(shù)據(jù)依次寫入1602顯示
{
lcd_w2(table[n]);
deplay(1);
}
lcd_w1(0x80+0x40);//重新設(shè)定顯示地址
for(n=0;n<11;n++)
//將table1[]中的數(shù)據(jù)依次寫入1602顯示
{
lcd_w2(table1[n]);
deplay(1);
}
}
//***************************************** void fuzhi(uchar n2,uchar n3)
{
switch(n2){
case 0:table[n3]='0';break;case 1:table[n3]='1';break;case 2:table[n3]='2';break;case 3:table[n3]='3';break;case 4:table[n3]='4';break;case 5:table[n3]='5';break;
}
}
} case 6:table[n3]='6';break;case 7:table[n3]='7';break;case 8:table[n3]='8';break;case 9:table[n3]='9';break;default:break;
void fuzhi1(uchar n2,uchar n3)
{
switch(n2){
case 0:table1[n3]='0';break;case 1:table1[n3]='1';break;case 2:table1[n3]='2';break;case 3:table1[n3]='3';break;case 4:table1[n3]='4';break;case 5:table1[n3]='5';break;case 6:table1[n3]='6';break;case 7:table1[n3]='7';break;case 8:table1[n3]='8';break;case 9:table1[n3]='9';break;default:break;
}
}//*****************************************