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

          關(guān) 閉

          新聞中心

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

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

          作者: 時(shí)間:2010-08-11 來(lái)源:網(wǎng)絡(luò) 收藏

          一、引言

          機(jī)器人研究是自動(dòng)化領(lǐng)域最復(fù)雜、最具挑戰(zhàn)性的課題,它集機(jī)械、電子、計(jì)算機(jī)、材料、傳感器、控制技術(shù)等多門(mén)學(xué)科于一體,是多學(xué)科高技術(shù)成果的集中體現(xiàn)。而仿人步行機(jī)器人技術(shù)的研究更是處于機(jī)器人課題研究的前沿,它在一定程度上代表了一個(gè)國(guó)家的高科技發(fā)展水平。運(yùn)動(dòng)控制系統(tǒng)是機(jī)器人控制技術(shù)的核心,也是機(jī)器人研究領(lǐng)域的關(guān)鍵技術(shù)之一,在機(jī)器人控制中具有舉足輕重的地位,因此,各研究機(jī)構(gòu)都把對(duì)機(jī)器人運(yùn)動(dòng)控制系統(tǒng)的研究作為首要任務(wù)。

          動(dòng)作協(xié)調(diào)、具有一定智能、能實(shí)現(xiàn)無(wú)線實(shí)時(shí)行走已經(jīng)成為當(dāng)今機(jī)器人發(fā)展的主題。隨著以電子計(jì)算機(jī)和數(shù)字電子技術(shù)為代表的現(xiàn)代高技術(shù)的不斷發(fā)展,特別是以為代表的高速數(shù)字信號(hào)處理器和大規(guī)??删幊踢壿嬈骷ㄒ?/SPAN>CPLDFPGA為代表)的廣泛應(yīng)用,機(jī)器人運(yùn)動(dòng)控制系統(tǒng)也從以前單一的結(jié)構(gòu)和簡(jiǎn)單的功能向著結(jié)構(gòu)化、標(biāo)準(zhǔn)化、模塊化和高度集成化的方向發(fā)展,采用開(kāi)放式體系結(jié)構(gòu)已經(jīng)成為該技術(shù)發(fā)展的一種必然趨勢(shì)。本文作者正是順應(yīng)這一趨勢(shì),設(shè)計(jì)出一種多功能分布式運(yùn)動(dòng)控制系統(tǒng)。

          二、控制對(duì)象與要求

          我們以國(guó)防科技大學(xué)機(jī)電工程與自動(dòng)化學(xué)院機(jī)器人教研室最新研制的新一代仿人步行機(jī)器人為研究對(duì)象(其外形如圖1所示)。該機(jī)器人高約1.55m,重約65kg,使用電池供電,無(wú)需外接電源和控制信號(hào)線,可以實(shí)現(xiàn)無(wú)纜行走,還可以完成人的腿部、手部和頭部的一些基本動(dòng)作,已經(jīng)初步具備了人類的外形特征。

          這臺(tái)新型一共具有36個(gè)自由度(如圖2所示),其中上肢12個(gè),下肢12個(gè),頭部2個(gè),手部10個(gè);下肢各個(gè)關(guān)節(jié)有位置傳感器,足部有多維力/力矩傳感器;具有視覺(jué)傳感、語(yǔ)音控制系統(tǒng)以及無(wú)線遙控模塊;整個(gè)控制系統(tǒng)、電源集成在機(jī)器人本體上。為了使之真正具有“仿人”的特點(diǎn),控制系統(tǒng)必須能夠完成包括運(yùn)動(dòng)控制與規(guī)劃、視覺(jué)感知處理、語(yǔ)音識(shí)別和其它環(huán)境感知在內(nèi)的多種功能。其中,運(yùn)動(dòng)控制是整個(gè)控制系統(tǒng)的關(guān)鍵,它必須能夠滿足以下要求:

          1)系統(tǒng)集成度高、體積小、重量輕、功率大、效率高和機(jī)載化。

          2)各個(gè)模塊之間的連接簡(jiǎn)潔,便于安裝和維護(hù)。

          3)控制器應(yīng)具有良好的動(dòng)態(tài)響應(yīng)和跟隨特性,穩(wěn)態(tài)誤差和靜態(tài)誤差小。

          4)系統(tǒng)集成在機(jī)器人本體上,電磁干擾較強(qiáng),必須具有較強(qiáng)的抗干擾能力。

          5)各部分的數(shù)據(jù)交換必須實(shí)時(shí)有效和準(zhǔn)確可靠。

          三、動(dòng)控制系統(tǒng)設(shè)計(jì)

          根據(jù)以上要求,我們?cè)O(shè)計(jì)了一種基于CAN現(xiàn)場(chǎng)總線的新型控制結(jié)構(gòu)。整個(gè)控制系統(tǒng)采用集中管理分散控制的方式,按照控制系統(tǒng)的結(jié)構(gòu)和功能劃分為三層:組織層、協(xié)調(diào)層、執(zhí)行層。其中,組織層由機(jī)器人本體外的一臺(tái)工作站組成,主要負(fù)責(zé)實(shí)現(xiàn)人機(jī)交互、無(wú)線通訊、語(yǔ)音、視覺(jué)以及宏指令生成等功能,屬于智能控制范疇,本文不做深入探討;協(xié)調(diào)層和執(zhí)行層都集成在機(jī)器人本體上,完成具體的控制任務(wù),屬于物理控制范疇,是我們通常意義上的控制系統(tǒng),其具體結(jié)構(gòu)如圖3所示。

          1、主控計(jì)算機(jī)模塊

          主控計(jì)算機(jī)要求體積小、運(yùn)算速度快,通常采用小板工業(yè)控制計(jì)算機(jī),同時(shí)配備液晶顯示器和自制專用功能鍵盤(pán),主要完成在線運(yùn)動(dòng)規(guī)劃、動(dòng)作級(jí)運(yùn)動(dòng)控制、語(yǔ)音交互控制、視覺(jué)導(dǎo)引控制以及人機(jī)交互等功能。它接受本地傳感器的信息,根據(jù)一定的控制算法和任務(wù)要求,實(shí)時(shí)生成關(guān)節(jié)軸系的任務(wù)規(guī)劃數(shù)據(jù)并通過(guò)數(shù)據(jù)傳輸總線送至各底層。

          2、通信模塊

          主控計(jì)算機(jī)和各控制器之間采用CAN總線進(jìn)行通信。CANController Area Network)總線是應(yīng)用最為廣泛的一種現(xiàn)場(chǎng)總線,也是目前為止唯一有國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線。相對(duì)于一般通信總線,它的數(shù)據(jù)通信具有突出的可靠性、實(shí)時(shí)性和靈活性。其特點(diǎn)主要有:

          1CAN總線為多主方式,網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可在任意時(shí)刻向其它節(jié)點(diǎn)發(fā)送數(shù)據(jù)。

          2CAN總線上的節(jié)點(diǎn)可以通過(guò)標(biāo)識(shí)符分成不同的優(yōu)先級(jí),滿足不同的實(shí)時(shí)要求。

          3CAN總線采用非破壞的總線仲裁技術(shù),低優(yōu)先級(jí)節(jié)點(diǎn)不影響高優(yōu)先級(jí)節(jié)點(diǎn)的發(fā)送。

          4CAN總線節(jié)點(diǎn)在40m內(nèi)通信速率最高可達(dá)1MBPS

          5CAN總線上的節(jié)點(diǎn)數(shù)在標(biāo)準(zhǔn)幀格式下可達(dá)到110個(gè),擴(kuò)展幀格式下幾乎不受限制。

          6)報(bào)文采用短幀格式,傳輸時(shí)間短,出錯(cuò)率極低。

          7CAN總線通信介質(zhì)可選用雙絞線,其結(jié)構(gòu)靈活,連接方便。

          CAN總線的以上特點(diǎn)使之十分適用于機(jī)器人控制,鑒于此,本文選用CAN總線作為機(jī)器人控制系統(tǒng)的通信工具。具體連接方式為:主控計(jì)算機(jī)通過(guò)CAN總線接口卡連接到總線上,也都通過(guò)總線收發(fā)器掛接到總線上,而且可以根據(jù)實(shí)際情況增減數(shù)目。由于CAN總線只用兩根線進(jìn)行通信,大大降低了系統(tǒng)連線的復(fù)雜程度,同時(shí)增強(qiáng)了系統(tǒng)的可靠性能。

          3)執(zhí)行層模塊

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

          ①開(kāi)環(huán)運(yùn)動(dòng)控制器

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

          ②開(kāi)環(huán)MCU運(yùn)動(dòng)控制器

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

          ③閉環(huán)DSP運(yùn)動(dòng)控制器

          腿部所有軸系均由直流減速驅(qū)動(dòng)型電機(jī)構(gòu)成,帶零位檢測(cè)、碼盤(pán)和電位計(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)開(kāi)始運(yùn)行并完成初始化工作;主控計(jì)算機(jī)根據(jù)規(guī)劃和計(jì)算向底層控制器發(fā)送控制命令,底層控制器接收到命令后,結(jié)合各傳感器反饋的信息,通過(guò)一定的控制算法生成相應(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ò)程,底層控制器通過(guò)傳感器與各關(guān)節(jié)軸系之間進(jìn)行小循環(huán)反饋,主控計(jì)算機(jī)通過(guò)各控制器與各關(guān)節(jié)軸系之間進(jìn)行大回路反饋,這樣可以使機(jī)器人具有更多的“智能”,更好的進(jìn)行離線實(shí)時(shí)控制。

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

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

          控制下肢的閉環(huán)DSP控制器是整個(gè)控制系統(tǒng)的核心部分,承擔(dān)著整個(gè)機(jī)器人的負(fù)載重量,輸出功率大,對(duì)控制的精度要求也高,因此它的性能直接關(guān)系到機(jī)器人運(yùn)動(dòng)的實(shí)現(xiàn)。我們專門(mé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脈沖控制信號(hào);CAN總線模塊可以直接與主控計(jì)算機(jī)進(jìn)行通信而不需要增加CAN總線控制器;外部看門(mén)狗可以對(duì)控制器電壓進(jìn)行監(jiān)控;外部存儲(chǔ)器中存放著控制算法所需的必要參數(shù)。

          控制器的雙位置傳感器由電壓輸出傳感器和光電碼盤(pán)傳感器組成。其中,電壓傳感器把軸系的位置信息轉(zhuǎn)換成電壓信號(hào),經(jīng)過(guò)放大電路放大,再經(jīng)過(guò)專門(mén)的A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號(hào)送入DSP主處理器。不用TMS320LF2407A自帶的A/D轉(zhuǎn)換器而使用專門(mén)的A/D轉(zhuǎn)換芯片,這是為了提高轉(zhuǎn)換的精度,因?yàn)?/SPAN>TMS320LF2407AA/D轉(zhuǎn)換器所能接受的最高轉(zhuǎn)換電壓只有3.3V,而經(jīng)過(guò)功率放大后的電壓遠(yuǎn)遠(yuǎn)超出了此范圍,所以使用了專門(mén)的A/D轉(zhuǎn)換芯片。這部分電路雖然增加了控制器的復(fù)雜程度,卻可以大大提高轉(zhuǎn)換精度,所以是十分值得的。碼盤(pán)傳感器把軸系的位置信息轉(zhuǎn)換成脈沖信號(hào),經(jīng)過(guò)光電隔離器件隔離后送入專用脈沖計(jì)數(shù)器,計(jì)數(shù)后的信息送入DSP主處理器。脈沖計(jì)數(shù)器選用當(dāng)今流行的CPLD器件,其強(qiáng)大的功能對(duì)提高控制器的性能有很大的幫助,同時(shí)還可以作為譯碼電路為主處理器提供譯碼功能。

          主處理器通過(guò)對(duì)接收到的傳感器信號(hào)進(jìn)行分析和計(jì)算之后產(chǎn)生相應(yīng)的PWM脈沖控制信號(hào),經(jīng)過(guò)光電隔離和功率放大后送給底層軸系控制軸系的運(yùn)行。使用雙傳感器可以大大提高反饋的精度,兩路信號(hào)可以同時(shí)考慮,也可以一路為主,另外一路提供補(bǔ)充和參考。

          主處理器通過(guò)CAN總線與主控計(jì)算機(jī)進(jìn)行通信,接收主控計(jì)算機(jī)的命令并把底層信息反饋給主控計(jì)算機(jī),實(shí)現(xiàn)更高一級(jí)的反饋控制。主處理器通過(guò)CAN總線收發(fā)器連接到總線上,為提高精度,中間需要進(jìn)行光電隔離。

          該控制器直接安裝在的體內(nèi),每個(gè)控制器可以同時(shí)控制6個(gè)關(guān)節(jié)軸系,整個(gè)下肢只需要兩個(gè)控制器就可以實(shí)現(xiàn)其運(yùn)動(dòng)控制。

          五、結(jié)論

          我們?cè)诔浞治债?dāng)今相關(guān)學(xué)科高技術(shù)成果的基礎(chǔ)上,設(shè)計(jì)出一套速度快、穩(wěn)定性強(qiáng)、集成度高、結(jié)構(gòu)靈活、使用方便的仿人機(jī)器人運(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)用前景。



          評(píng)論


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