• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于MATLAB/GUI的一級倒立擺控制仿真軟件設(shè)計(jì)*

    2022-12-12 12:03:54袁新娣
    關(guān)鍵詞:前面板最優(yōu)控制控制算法

    袁新娣,陳 睿

    (贛南師范大學(xué) 物理與電子信息學(xué)院,江西 贛州 341000)

    1 引言

    倒立擺是一種典型的復(fù)雜控制系統(tǒng),具有非線性、多變量、強(qiáng)耦合和自然不穩(wěn)定的特點(diǎn)[1].許多工業(yè)工程和軍事工程中的運(yùn)動(dòng)控制系統(tǒng),其控制思想和方法均來自于倒立擺的控制機(jī)理,例如,工業(yè)機(jī)器人行走的平衡控制、海洋鉆井系統(tǒng)的穩(wěn)定控制,火箭發(fā)生器的垂直控制等等[2],所以倒立擺的控制一直是一個(gè)經(jīng)典的控制實(shí)例,在控制原理課程中,經(jīng)常以倒立擺為控制對象對控制算法進(jìn)行學(xué)習(xí).但是倒立擺控制系統(tǒng)體積大、體重也大,不適合將設(shè)備搬到課堂進(jìn)行講解演示,學(xué)生學(xué)習(xí)或者設(shè)計(jì)控制算法時(shí)如果每次都要到實(shí)驗(yàn)室測試,也將帶來很多的不方便.為了方便師生的教與學(xué),有較多的文獻(xiàn)對倒立擺系統(tǒng)進(jìn)行仿真分析與設(shè)計(jì),文獻(xiàn)[3]設(shè)計(jì)實(shí)現(xiàn)線性二級倒立擺基于MATLAB/GUI仿真,但文獻(xiàn)對仿真方法描述籠統(tǒng),仿真結(jié)果也不清晰,GUI界面設(shè)計(jì)不夠直觀等不足;文獻(xiàn)[4]對環(huán)形倒立擺系統(tǒng)應(yīng)用三維建模軟件進(jìn)行建模,然后應(yīng)用MATLAB/SIMULINK進(jìn)行仿真分析,文獻(xiàn)[5]中對單級倒立擺根據(jù)物理原理建模,然后基于建立的模型應(yīng)用MATLAB/SIMULINK進(jìn)行仿真控制分析,大部分介紹倒立擺仿真控制的文獻(xiàn)都是使用MATLAB/SIMULINK工具進(jìn)行,MATLAB/SIMULINK工具的使用需要對該MATLAB熟練掌握,其直觀性不夠,對初學(xué)控制原理知識的同學(xué),掌握該工具比較困難.所以,本文首先根據(jù)一級小車倒立擺的物理原理建立數(shù)學(xué)模型,然后應(yīng)用MATLAB軟件的GUI工具設(shè)計(jì)一個(gè)方便直觀的倒立擺仿真控制軟件,通過該軟件可以修改倒立擺系統(tǒng)參數(shù),選擇控制算法,觀察運(yùn)行效果等功能,對學(xué)習(xí)控制原理帶來了較好的幫助.

    2 倒立擺數(shù)學(xué)模型

    為了對倒立擺進(jìn)行控制仿真,首先必須建立倒立擺的數(shù)學(xué)模型,本文以如圖1所示的小車倒立擺為例進(jìn)行分析,長度為2l、質(zhì)量為m的擺竿通過鉸鏈安裝在質(zhì)量為M的小車上面,小車由直流電機(jī)驅(qū)動(dòng),如果不給小車驅(qū)動(dòng)力,倒立擺將向左或向右倒下,即系統(tǒng)不穩(wěn)定.如果在水平方向給小車施加控制力u,控制小車在水平方向移動(dòng),那么倒立擺將保持在垂直位置上不倒下[6].

    圖1 一階小車倒立擺示意圖

    設(shè)小車瞬時(shí)位置為z,擺桿偏角度為θ,則擺心瞬時(shí)位置為(z+lsinθ),當(dāng)忽略擺桿與電機(jī)慣性、各類摩擦力及風(fēng)力的情況下,根據(jù)牛頓第二定律得式(1).

    (1)

    由于繞擺軸旋轉(zhuǎn)運(yùn)動(dòng)的慣性力矩與重力矩平衡,所以式(2)成立.

    (2)

    (3)

    (4)

    聯(lián)立式(3)式(4)解得式(5).

    (5)

    (6)

    其中

    式中g(shù)是重力加速度,取值9.81.為了分析系統(tǒng)的能控性與能觀性,假設(shè)系統(tǒng)的M=1kg,m=0.5kg,l=0.3m,計(jì)算能控性判斷矩陣[B,AB,A2B,A3B]的秩等于4,能觀測性判斷矩陣[C,CA,CA2,CA3]T的秩等于4,所以系統(tǒng)具有完全能觀性和完全能控制性.

    3 倒立擺控制GUI仿真軟件設(shè)計(jì)框架

    使用MATLAB的GUI控件工具相,建立如圖2所示的仿真軟件前面板界面,界面上包含倒立擺運(yùn)行時(shí)的擺桿的角度變化及小車位移變化隨時(shí)間變化的坐標(biāo),倒立擺參數(shù)設(shè)置,倒立擺的二維動(dòng)畫,控制方式選擇,算法參數(shù)設(shè)置等模塊.用戶可以在界面右下角任意設(shè)置小車倒立擺的參數(shù),然后在控制方式模塊的下拉菜單中選擇控制算法,右下角設(shè)置完成算法中的參數(shù),點(diǎn)擊“確定”按鈕時(shí)系統(tǒng)將讀取用戶輸入的信息,進(jìn)行仿真,并把仿真的結(jié)果顯示在界面左邊的坐標(biāo)軸上,同時(shí)右上角顯示小車移動(dòng)的二維動(dòng)畫效果圖.本軟件設(shè)計(jì)了倒立擺常用的3種控制算法:極點(diǎn)配置算法,線性二次型最優(yōu)控制算法,PID控制算法.

    圖2 GUI仿真軟件前面板

    3.1 倒立擺極點(diǎn)配置控制算法仿真設(shè)計(jì)

    極點(diǎn)配置控制算法的基本原理是:當(dāng)被控系統(tǒng)滿足完全能控條件時(shí),將系統(tǒng)的狀態(tài)信息反饋到系統(tǒng)的輸入端,使得閉環(huán)系統(tǒng)的極點(diǎn)成為用戶要求的極點(diǎn).由前面倒立擺數(shù)學(xué)模型分析可知,一級倒立擺系統(tǒng)完全能控,所以可以通過調(diào)節(jié)反饋參數(shù)達(dá)到極點(diǎn)任意配置的目的.本軟件應(yīng)用全狀態(tài)反饋方法進(jìn)行極點(diǎn)配置,即從系統(tǒng)的4個(gè)狀態(tài)處設(shè)置增益為[k1,k2,k3,k4]的負(fù)反饋(以公式(5)為系統(tǒng)狀態(tài)空間描述,系統(tǒng)的輸出就是系統(tǒng)的狀態(tài)),系統(tǒng)的希望極點(diǎn)從圖2所示仿真平臺右下角輸入, GUI回調(diào)函數(shù)中計(jì)算負(fù)反饋增益[k1,k2,k3,k4]的指令為:

    Qc=ctrb(A,B);

    j1= str2double(get(handles.edit15, 'String'));% 從前面板讀取極點(diǎn)1

    j2= str2double(get(handles.edit16, 'String'));% 從前面板讀取極點(diǎn)2

    j3= str2double(get(handles.edit17, 'String'));% 從前面板讀取極點(diǎn)3

    j4= str2double(get(handles.edit18, 'String'));% 從前面板讀取極點(diǎn)4

    EA=diag([j1,j2,j3,j4]);

    PP=polyvalm(poly(EA),A);

    Ks=[0 0 0 1]*inv(Qc)*PP; %計(jì)算反饋矩陣增益

    [t,x,y]=sim('ploeandlqr.mdl') %通過調(diào)用siumlink文件形成輸出信號.

    sim()函數(shù)調(diào)用的程序ploeandlqr.mdl如圖3所示.點(diǎn)擊平臺的“確認(rèn)”按鈕后,平臺運(yùn)行如圖4所示,

    圖3 ploeandlqr.mdl程序 圖4 選擇極點(diǎn)配置算法后運(yùn)行的界面

    可見在階躍信號作用下,當(dāng)極點(diǎn)配置為-10、-10、-1+j、-1-j時(shí),桿的偏移角在5秒后恢復(fù)到零,穩(wěn)定后小車位移為-0.16 m.

    3.2 倒立擺的線性二次型最優(yōu)控制設(shè)計(jì)

    線性二次型最優(yōu)控制,就是設(shè)計(jì)最優(yōu)控制率u*(t),使得式(7)表示的性能指標(biāo)J最小.

    (7)

    式中Q(t) 是n*n維正定(或者半正定)對稱矩陣,R(t)是r*r對稱矩陣,x(t)是系統(tǒng)狀態(tài),u(t)是系統(tǒng)輸入.同時(shí),最優(yōu)控制規(guī)律是一個(gè)狀態(tài)線性反饋規(guī)律,控制向量u*(t)由狀態(tài)向量x(t)反饋生成,并且呈線性關(guān)系.在MATLAB中利用LQR指令可以方便的獲取系統(tǒng)線性二次型最優(yōu)控制的狀態(tài)反饋系數(shù).本軟件從GUI前面板界面輸入?yún)?shù)Q(t)和R(t),回調(diào)函數(shù)使用如下指令獲取線性二次型最優(yōu)控制的反饋系數(shù):

    R= str2double(get(handles.edit28, 'String'));%獲取R(t)

    Q= str2num(get(handles.edit30, 'String'));%獲取Q(t)

    Ks=lqr(A,B,Q,R); %計(jì)算反饋矩陣增益

    [t,x,y]=sim('ploeandlqr.mdl'); %通過sim函數(shù)調(diào)用仿真程序

    Sim()調(diào)用的程序ploeandlqr.mdl如圖3所示,GUI運(yùn)行的結(jié)果如圖5所示,可見在階躍信號作用下,當(dāng)R(t)=0.5,Q(t)=[100 0 0 0 ; 0 1 0 0 ; 0 0 100 0; 0 0 0 1]時(shí),擺桿的偏移角在4 s后恢復(fù)到零,穩(wěn)定后小車位移為-0.07 m.當(dāng)改變Q與R的值時(shí)系統(tǒng)的輸出將發(fā)生變化.

    圖5 選擇線性二次型最優(yōu)控制算法后運(yùn)行的界面

    3.3 倒立擺的PID控制設(shè)計(jì)

    PID(Proportion Integration Differentiation)控制規(guī)律如式(8)所示,

    (8)

    式中m(t)是控制器的輸出,e(t)是控制器的輸入.算法主要通過調(diào)整比例環(huán)節(jié)系數(shù)Kp,積分環(huán)節(jié)系數(shù)KI及微分環(huán)節(jié)系數(shù)KD三個(gè)參數(shù),使得被控制系統(tǒng)達(dá)到預(yù)定的性能指標(biāo).

    PID控制器可以作用于系統(tǒng)的前向通道,也可以作用于系統(tǒng)的反饋通道,本軟件將PID用于反饋通道,并且結(jié)合期望極點(diǎn)配置的反饋系數(shù)控制倒立擺的性能指標(biāo).回調(diào)函數(shù)實(shí)現(xiàn)PID控制的指令主要為:

    p=[-10,-7,-1.901,-1.9];%設(shè)置極點(diǎn)

    Kpid=place(A,B,p); %反饋系數(shù)

    KP=str2double(get(handles.edit19, 'String'));%獲取KP

    KI=str2double(get(handles.edit20, 'String'));% 獲取KI

    KD=str2double(get(handles.edit21, 'String'));% 獲取KD

    [t,x,y]=sim('pidkz.mdl'); %調(diào)用simulink仿真程序

    Sim()函數(shù)調(diào)用的程序pidkz.mdl如圖6所示,軟件運(yùn)行結(jié)構(gòu)如圖7所示,可見在階躍信號作用下,當(dāng)KP=18,KI=0.001,KD=1時(shí),擺桿的偏移角在4 s后恢復(fù)到零,穩(wěn)定后小車位移為-0.017 m.

    圖6 pidkz.mdl程序 圖7 選擇PID控制算法后運(yùn)行的界面

    4 總結(jié)

    本文首先分析了倒立擺系統(tǒng)的數(shù)學(xué)模型,確定其具有完全能觀性與完全能控性,然后通過Matlab 的GUI工具箱建立軟件的前面板,GUI文件通過調(diào)用回調(diào)函數(shù)實(shí)現(xiàn)了前面板輸入相關(guān)參數(shù),后臺執(zhí)行程序,然后又將執(zhí)行結(jié)果顯示在前面板的效果.設(shè)計(jì)的GUI仿真軟件為控制原理的學(xué)習(xí)帶來了形象、直觀的效果,提高了學(xué)生的學(xué)習(xí)興趣.另一方面,本設(shè)計(jì)可以在現(xiàn)有設(shè)計(jì)框架下進(jìn)行拓展,增加倒立擺的其他控制算法,比如滑??刂?、神經(jīng)網(wǎng)絡(luò)控制、模糊控制等,為學(xué)習(xí)更多的算法提供便利.

    猜你喜歡
    前面板最優(yōu)控制控制算法
    顏值高和散熱強(qiáng)可以并存3款高品質(zhì)機(jī)箱推薦
    條件平均場隨機(jī)微分方程的最優(yōu)控制問題
    電競潮牌范 航嘉GX520S機(jī)箱評測
    帶跳躍平均場倒向隨機(jī)微分方程的線性二次最優(yōu)控制
    Timoshenko梁的邊界最優(yōu)控制
    基于ARM+FPGA的模塊化同步控制算法研究
    采用最優(yōu)控制無功STATCOM 功率流的解決方案
    一種優(yōu)化的基于ARM Cortex-M3電池組均衡控制算法應(yīng)用
    剛撓印制板在機(jī)載設(shè)備電子機(jī)箱中的結(jié)合與應(yīng)用
    一種非圓旋轉(zhuǎn)工件支撐裝置控制算法
    鹤山市| 炎陵县| 清流县| 资阳市| 保康县| 凉城县| 石林| 工布江达县| 菏泽市| 白朗县| 双流县| 肇源县| 祁阳县| 太白县| 沿河| 宽甸| 宜兰县| 伊吾县| 兴海县| 彭阳县| 张家港市| 富锦市| 黄浦区| 达日县| 临洮县| 佛教| 屏东县| 商南县| 弥勒县| 石棉县| 诸城市| 辽阳县| 阿拉善左旗| 天祝| 桂林市| 乐业县| 岳西县| 西城区| 马山县| 类乌齐县| 汨罗市|