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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN總線和雙傳感器的仿人機(jī)器人運(yùn)動(dòng)控制系統(tǒng)研究

          基于CAN總線和雙傳感器的仿人機(jī)器人運(yùn)動(dòng)控制系統(tǒng)研究

          作者: 時(shí)間:2012-02-24 來源:網(wǎng)絡(luò) 收藏



          圖3 運(yùn)動(dòng)控制系統(tǒng)結(jié)構(gòu)框圖

          3 執(zhí)行層模塊
            執(zhí)行層處于整個(gè)控制系統(tǒng)的最底層,由不同類型的控制器組成,主要用來控制各運(yùn)動(dòng)關(guān)節(jié)軸系的具體執(zhí)行過程。由于各運(yùn)動(dòng)關(guān)節(jié)電機(jī)的型號不同、承載的重量不同,對控制精度的要求也不同,我們分別為之設(shè)計(jì)了不同的。

          ①開環(huán)
            頭部和上肢負(fù)載重量較輕,因此采用開環(huán)來對頭部和上肢各關(guān)節(jié)進(jìn)行控制。這些控制器不需要采樣和反饋,直接接收主控計(jì)算機(jī)發(fā)來的控制命令,然后生成相應(yīng)的執(zhí)行命令發(fā)給各關(guān)節(jié)軸系,使之轉(zhuǎn)到相應(yīng)角度。

          ②開環(huán)MCU運(yùn)動(dòng)控制
            器手部各個(gè)關(guān)節(jié)體積和質(zhì)量都很小,故采用開環(huán)MCU運(yùn)動(dòng)控制器來進(jìn)行控制。這些控制器采用MCS-51單片機(jī)作為處理器,可以直接嵌入到手掌內(nèi),它們接收主控計(jì)算機(jī)的控制命令,利用其IO引腳產(chǎn)生需要的多路脈沖控制信號,控制手部各關(guān)節(jié)的運(yùn)動(dòng)。

          ③閉環(huán)運(yùn)動(dòng)控制器
            腿部所有軸系均由直流減速驅(qū)動(dòng)型電機(jī)構(gòu)成,帶零位檢測、碼盤和電位計(jì)反饋以及多維力/力矩傳感器,結(jié)構(gòu)復(fù)雜、控制難度大、精度要求也高,故采用閉環(huán)DSP運(yùn)動(dòng)控制器。這部分是整個(gè)控制系統(tǒng)的關(guān)鍵,也是我們研究的重點(diǎn)。

          4控制系統(tǒng)流程
            整個(gè)控制系統(tǒng)的具體流程為:系統(tǒng)開始運(yùn)行并完成初始化工作;主控計(jì)算機(jī)根據(jù)規(guī)劃和計(jì)算向底層控制器發(fā)送控制命令,底層控制器接收到命令后,結(jié)合各傳感器反饋的信息,通過一定的控制算法生成相應(yīng)的執(zhí)行命令并發(fā)送給各關(guān)節(jié)執(zhí)行軸系,同時(shí)把底層軸系的運(yùn)行情況上傳給主控計(jì)算機(jī),主控計(jì)算機(jī)根據(jù)新的情況再產(chǎn)生新的命令發(fā)送給各控制器,如此反復(fù)。這事實(shí)上是兩個(gè)閉環(huán)反饋過程,底層控制器通過傳感器與各關(guān)節(jié)軸系之間進(jìn)行小循環(huán)反饋,主控計(jì)算機(jī)通過各控制器與各關(guān)節(jié)軸系之間進(jìn)行大回路反饋,這樣可以使機(jī)器人具有更多的“智能”,更好的進(jìn)行離線實(shí)時(shí)控制。

            主控計(jì)算機(jī)每秒鐘向底層控制器發(fā)送200組數(shù)據(jù),底層控制器向主控計(jì)算機(jī)反饋同樣數(shù)目的數(shù)據(jù),而的最大通信速率可以達(dá)到幾千幀/秒,完全可以滿足控制的要求。

          四、控制器詳細(xì)設(shè)計(jì)

            控制下肢的閉環(huán)DSP 控制器是整個(gè)控制系統(tǒng)的核心部分,承擔(dān)著整個(gè)機(jī)器人的負(fù)載重量,輸出功率大,對控制的精度要求也高,因此它的性能直接關(guān)系到機(jī)器人運(yùn)動(dòng)的實(shí)現(xiàn)。我們專門為之設(shè)計(jì)了基于雙位置傳感器的閉環(huán)DSP控制器,其結(jié)構(gòu)如圖4 所示。

            DSP主處理器選用的是TI公司的TMS320LF2407A芯片,它是TI 家族C2000 系列中的高檔產(chǎn)品,非常適用于工業(yè)控制。它的兩個(gè)事件管理器功能尤為強(qiáng)大,完全是為電機(jī)控制設(shè)計(jì)的,可利用多個(gè)PWM脈沖通道直接產(chǎn)生需要的PWM脈沖控制信號;其模塊可以直接與主控計(jì)算機(jī)進(jìn)行通信而不需要增加控制器;外部看門狗可以對控制器電壓進(jìn)行監(jiān)控;外部存儲(chǔ)器中存放著控制算法所需的必要參數(shù)。

            控制器的雙位置傳感器由電壓輸出傳感器和光電碼盤傳感器組成。其中,電壓傳感器把軸系的位置信息轉(zhuǎn)換成電壓信號,經(jīng)過放大電路放大,再經(jīng)過專門的A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號送入DSP主處理器。不用TMS320LF2407A自帶的A/D轉(zhuǎn)換器而使用專門的A/D轉(zhuǎn)換芯片,這是為了提高轉(zhuǎn)換的精度,因?yàn)門MS320LF2407A 的A/D轉(zhuǎn)換器所能接受的最高轉(zhuǎn)換電壓只有3.3V,而經(jīng)過功率放大后的電壓遠(yuǎn)遠(yuǎn)超出了此范圍,所以使用了專門的A/D轉(zhuǎn)換芯片。這部分電路雖然增加了控制器的復(fù)雜程度,卻可以大大提高轉(zhuǎn)換精度,所以是十分值得的。

            碼盤傳感器把軸系的位置信息轉(zhuǎn)換成脈沖信號,經(jīng)過光電隔離器件隔離后送入專用脈沖計(jì)數(shù)器,計(jì)數(shù)后的信息送入DSP主處理器。脈沖計(jì)數(shù)器選用當(dāng)今流行的CPLD器件,其強(qiáng)大的功能對提高控制器的性能有很大的幫助,同時(shí)還可以作為譯碼電路為主處理器提供譯碼功能。主處理器通過對接收到的傳感器信號進(jìn)行分析和計(jì)算之后產(chǎn)生相應(yīng)的PWM脈沖控制信號,經(jīng)過光電隔離和功率放大后送給底層軸系控制軸系的運(yùn)行。使用雙傳感器可以大大提高反饋的精度,兩路信號可以同時(shí)考慮,也可以一路為主,另外一路提供補(bǔ)充和參考。


          圖4 閉環(huán)DSP控制器結(jié)構(gòu)圖

            主處理器通過CAN總線與主控計(jì)算機(jī)進(jìn)行通信,接收主控計(jì)算機(jī)的命令并把底層信息反饋給主控計(jì)算機(jī),實(shí)現(xiàn)更高一級的反饋控制。主處理器通過CAN總線收發(fā)器連接到總線上,為提高精度,中間需要進(jìn)行光電隔離。該控制器直接安裝在的體內(nèi),每個(gè)控制器可以同時(shí)控制6 個(gè)關(guān)節(jié)軸系,整個(gè)下肢只需要兩個(gè)控制器就可以實(shí)現(xiàn)其運(yùn)動(dòng)控制。

          五、結(jié)論

            我們在充分吸收當(dāng)今相關(guān)學(xué)科高技術(shù)成果的基礎(chǔ)上,設(shè)計(jì)出一套速度快、穩(wěn)定性強(qiáng)、集成度高、結(jié)構(gòu)靈活、使用方便的運(yùn)動(dòng)控制系統(tǒng)。整個(gè)運(yùn)動(dòng)控制系統(tǒng)可直接嵌入到機(jī)器人本體內(nèi),以便在實(shí)際運(yùn)行中圓滿地完成規(guī)定的控制任務(wù)。同時(shí),該控制系統(tǒng)還有很強(qiáng)的擴(kuò)展功能,可以方便地移植到其它類似的控制機(jī)構(gòu)中去,是一種多功能通用型控制系統(tǒng),具有廣闊的應(yīng)用前景。

          上一頁 1 2 下一頁

          評論


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