<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 二級倒立擺的模糊控制研究

          二級倒立擺的模糊控制研究

          作者: 時(shí)間:2009-12-22 來源:網(wǎng)絡(luò) 收藏
          1 引言
          理論發(fā)展的過程中,某一理論的正確性及實(shí)際應(yīng)用中的可行性都需要一個(gè)按其理論設(shè)計(jì)的一個(gè)典型對象進(jìn)行驗(yàn)證。擺就是這樣一個(gè)被控制對象。擺系統(tǒng)是一個(gè)多變量、快速、非線性和自然不穩(wěn)定系統(tǒng),在控制過程中該系統(tǒng)能有效反映控制中的許多關(guān)鍵問題,如非線性問題、系統(tǒng)的魯棒性問題、隨動問題、鎮(zhèn)定問題及跟蹤問題等。擺在控制理論中是一種較為理想的實(shí)驗(yàn)裝置。小車倒立擺系統(tǒng)的控制目標(biāo)是倒立擺通過小車能夠穩(wěn)定在有限長度的導(dǎo)軌上而不倒下,從而達(dá)到動態(tài)平衡。本文針對倒立擺非線性模型,基于Maminadi模型,通過設(shè)計(jì)融合函數(shù)來設(shè)計(jì)控制器,有效解決規(guī)則爆炸問題,實(shí)現(xiàn)倒立擺的有效控制。

          2 倒立擺的數(shù)學(xué)模型的建立
          二級倒立擺由小車、擺桿、水平導(dǎo)軌等組成,小車由伺服電機(jī)、皮帶輪、傳動帶帶動在水平導(dǎo)軌上左右運(yùn)動,上下擺可繞各自的轉(zhuǎn)軸在水平導(dǎo)軌所在的鉛垂面內(nèi)自由轉(zhuǎn)動。小車和上下擺桿間通過軸承連接,每個(gè)軸承連接處固定有電位器,分別用以檢測兩根擺桿與鉛垂線的角度偏移。小車相對軌道中心點(diǎn)的偏移位置也由固定在皮帶輪軸上的電位器檢測。
          其基本原理為:角度、位置信號經(jīng)檢測電路獲取后,再由微分電路得到相應(yīng)的微分信號,這些信號經(jīng)A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號傳輸至計(jì)算機(jī)。通過已設(shè)計(jì)的控制程序計(jì)算控制力所需電壓值,經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換為模擬信號,功率放大后驅(qū)動電機(jī)運(yùn)轉(zhuǎn),電機(jī)再用皮帶拖動小車在導(dǎo)軌上往復(fù)運(yùn)動實(shí)現(xiàn)對倒立擺的有效控制。忽略空氣阻力和各種摩擦,并認(rèn)為擺桿為剛體。圖1為二級倒立擺示意圖。

          本文引用地址:http://www.ex-cimer.com/article/163392.htm

          倒立擺參數(shù)定義如下:M為小車質(zhì)量,0.584 kg;m1為擺桿1質(zhì)量,0.05 kg;m2為擺桿2質(zhì)量,0.13 kg;m3為擺桿3質(zhì)量,0.236 kg;l1為擺桿1中心到轉(zhuǎn)動中心的距離,0.077 5 m;l2為擺桿2中心到轉(zhuǎn)動中心的距離,0.25 m;θ1為擺桿1與豎直方向的夾角;θ2為擺桿2與豎直方向的夾角;F為作用在系統(tǒng)上的外力;g為重力加速度,9.8 m/s2。
          利用拉格朗日方程推導(dǎo)運(yùn)動學(xué)方程,拉格朗日方程為:


          式中,L為拉格朗日算子,q為系統(tǒng)的廣義坐標(biāo),T為系統(tǒng)的動能,V為系統(tǒng)的勢能。

          式中,i=1,2,3…,n,fi為系統(tǒng)在第i個(gè)廣義坐標(biāo)上的外力。
          在二級倒立擺系統(tǒng)中,系統(tǒng)的廣義坐標(biāo)有3個(gè),分別為x,θ1,θ2。經(jīng)計(jì)算并線性化并帶人參數(shù)值得到系統(tǒng)的狀態(tài)空間方程:


          3 二級倒立擺控制系統(tǒng)的設(shè)計(jì)與仿真
          二級倒立擺系統(tǒng)控制目標(biāo)較多,包括小車位移,下擺擺角,上擺擺角。傳統(tǒng)的控制器采用系統(tǒng)誤差,誤差的導(dǎo)數(shù)作為輸入,若用傳統(tǒng)模糊控制控制二級倒立擺,則模糊控制器有6個(gè)輸入:小車位移、小車速度、下擺擺角、下擺角速度、上擺擺角和上擺角速度。
          若對每個(gè)輸入變量定義5個(gè)模糊子集,控制規(guī)則最多有56個(gè),模糊控制規(guī)則設(shè)計(jì)復(fù)雜,可調(diào)參數(shù)非常多,不利于模糊規(guī)則的完整制定,這就是在使用模糊控制多變量非線性系統(tǒng)時(shí)的所謂“規(guī)則爆炸(Rule Explosion)”問題。然而,如果用3組二維模糊控制器(2輸入1輸出)通過串行或并行設(shè)計(jì)控制器,由于控制器個(gè)數(shù)增加,大大降低控制實(shí)時(shí)性,甚至由于不能及時(shí)輸出當(dāng)前控制作用力而失控。
          3.1 倒立擺控制合成變量
          本文是將最優(yōu)控制理論與模糊控制相結(jié)合而采用的一種融合技術(shù)。它是把小車的位移、上擺擺角、下擺擺角綜合成一個(gè)變量E,將小車的速度、上擺的角速度、下擺的角速度綜合成一個(gè)變量EC,E和EC作為模糊控制器的輸入,電壓u作為輸出,減少模糊控制器的輸入,解決規(guī)則爆炸的問題,由此設(shè)計(jì)Mamdani型模糊控制器。
          通過LQR仿真,得出輸入輸出數(shù)據(jù)對,根據(jù)得到的數(shù)據(jù)計(jì)算并制定模糊規(guī)則。
          對于嵌套函數(shù)Y=f2[f1(x)],先使f1(x)對輸入變量作初步處理,再利用算法f2(x)根據(jù)前級算法的輸出進(jìn)行控制。f1稱為融合函數(shù),f2稱為作用函數(shù)。
          首先利用最優(yōu)控制理論中的LQR求得系統(tǒng)的狀態(tài)反饋系數(shù)K和狀態(tài)向量x:

          為實(shí)現(xiàn)變量融合,分別選取兩個(gè)反饋系數(shù)為控制主元,其他輸入變量可根據(jù)與主元的相關(guān)性和可融合性分別歸并到兩主元中。對于二級倒立擺,由于擺桿2的控制難度最大,分別選擇θ2、θ2為控制主元,相應(yīng)系數(shù)為:kθ=kθ2,kθ=kθ2融合函數(shù)的輸出向量為:

          融合函數(shù)的輸出方程為:

          通過把輸入狀態(tài)變量降維,得到角度誤差E和角速度誤差EC:

          通過信息融合,將系統(tǒng)的6個(gè)狀態(tài)變量化為2個(gè)狀態(tài)變量,減少系統(tǒng)的輸入,實(shí)現(xiàn)模糊控制器的降維。由降維后得到的2個(gè)變量E和EC做為模糊控制器的輸入,設(shè)計(jì)一個(gè)二維Mamdani型的模糊控制器。利用最優(yōu)控制求得K。最優(yōu)控制性能指標(biāo)函數(shù)為:

          使式(7)為最小,可求得:

          求解如下Ricatti方程可得到矩陣P:

          性能指標(biāo)函數(shù)中,定義矩陣Q和矩陣R用來平衡系統(tǒng)對輸入量和狀態(tài)量的敏感程度。它們對閉環(huán)系統(tǒng)的動態(tài)性能影響很大。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 研究 控制 模糊 倒立 二級

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();