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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 貝加萊機器人控制中的慣量前饋控制技術(shù)

          貝加萊機器人控制中的慣量前饋控制技術(shù)

          作者: 時間:2012-05-26 來源:網(wǎng)絡(luò) 收藏


          圖2 MATLAB/Simulink運動仿真過程

          可表征為一個通過歐拉-拉格朗日方程建立的空間運動學(xué)方程,通過MATLAB,將系統(tǒng)的靜態(tài)參數(shù),如機械臂長度、質(zhì)量、關(guān)節(jié)減速比等及動態(tài)參數(shù),如旋轉(zhuǎn)角度、加速度、起始與終點位置等輸入到模型中,它提供了笛卡爾關(guān)節(jié)操作空間的動力學(xué)模型,反應(yīng)了操作力與關(guān)節(jié)力之間的關(guān)系,操作空間與關(guān)節(jié)空間的速度與加速度關(guān)系,建立了關(guān)節(jié)輸入力矩與輸出力矩之間的關(guān)系。

          這個模型是一個二次微分方程,可以通過歐拉-拉格朗日法進行解析,可解析得出以下值:

          慣量項;離心式和科里奧利項;引力項

          當(dāng)建立模型后,我們可以進行如下動作:

          1. 建立未知參數(shù)的識別

          在系統(tǒng)中建立靜態(tài)參數(shù)、通過AS的力矩跟蹤來定義動態(tài)參數(shù)的識別,并計算出基礎(chǔ)參數(shù)

          2. 激活

          將所計算的基礎(chǔ)值輸出給BR PLC,通過AS軟件,在PLC中建立了一個運動模型,將這些基礎(chǔ)值給出后,系統(tǒng)將計算出一個附加力矩輸出值。

          將該附加力矩輸出給驅(qū)動器,驅(qū)動器將在其電流環(huán)計算中,預(yù)先給出電流值,即可實現(xiàn),而這個附加值是通過系統(tǒng)不斷的計算,以微秒級的周期循環(huán)并提供給驅(qū)動器的電流環(huán)計算的。

          圖3 Automation Studio中的程序

          圖3為在Automation Studio中前饋控制的模型和,TrqFF為前饋周期寫入,6AxATrqFF是采用C代碼寫出的前饋實現(xiàn)代碼段。

          五、控制效果

          圖4是實際通過BR Automation Studio的軸監(jiān)測的示波器功能對整個輸出進行采樣得到的扭矩控制過程變化曲線,其中藍色曲線為關(guān)閉前饋控制的情況,可以看到,其扭矩變化的波動較大;而紅色曲線則表明了采用了前饋控制后的效果,明顯地提高了力矩輸出的穩(wěn)定性。


          圖4 前饋控制效果

          該項技術(shù)代表了控制技術(shù)的最高水平,所設(shè)計的機器人系統(tǒng)其精度更高、運行過程平穩(wěn)、抖動較小,顯然優(yōu)于同類機器人系統(tǒng)的設(shè)計。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 前饋控制 機器人 PID

          評論


          相關(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); })();