基于TMS32OF2812 DSP的雙足機器人樣機設(shè)計
0 引言
雙足機器人樣機是研究雙足行走的實驗對象,為了研究的順利進(jìn)行,必須對機器人的自由度、驅(qū)動方式、重量、高度等進(jìn)行合適的配置;這就需要自由度的分配簡單合理、驅(qū)動方案可靠易用以及機械結(jié)構(gòu)輕便結(jié)實。為了得到可靠高效的控制系統(tǒng),首先要選擇合適的主控芯片,然后針對實時控制中所需要的各種姿態(tài)信息,選擇可靠性高且方便和主控芯片連接的傳感器。
雙足步行機器人是一個多自由度、非線性、具有復(fù)雜動力學(xué)特性的多體系統(tǒng),本田公司、索尼公司以及北京理工大學(xué)等相繼推出了各自研制的雙足機器人樣機,其中以本田公司的ASIM0制作水平最高。本文在參考國內(nèi)外相關(guān)研究的基礎(chǔ)上,從便于實現(xiàn)的角度出發(fā),設(shè)計研制了樣機,以TI公司的DSP TMS320F2812為核心設(shè)計了機器人驅(qū)動、控制電路,分別采用了觸力傳感器FSSl500NST、微機械陀螺儀ADXRSl50來檢測足底接觸力信息和軀干角速度,并成功實現(xiàn)了機器人的穩(wěn)定行走。
1 機械設(shè)計
為了實現(xiàn)機器人前后行走、上下臺階及爬斜坡等功能,機器人每條腿至少應(yīng)有三個俯仰自由度;要實現(xiàn)質(zhì)心在左右腳之間轉(zhuǎn)移的功能,每條腿至少應(yīng)有一個滾轉(zhuǎn)自由度。基于實現(xiàn)預(yù)期功能而又盡量降低成本,精簡機構(gòu)的原則,我們設(shè)計的雙足機器人共有十個自由度,每條腿各有五個自由度,其中髖關(guān)節(jié)兩個(俯仰和滾轉(zhuǎn)),膝關(guān)節(jié)一個(俯仰),踝關(guān)節(jié)兩個(俯仰和滾轉(zhuǎn))。這個十自由度的雙足機器人可以實現(xiàn)左右方向和前后方向上的多種運動。
考慮到驅(qū)動負(fù)載以及穩(wěn)定性等因素,在設(shè)計時將腿長取為28cm,其中大腿有效長度(髖部俯仰方向舵機輸出軸到膝蓋舵機輸出軸的距離)為15cm,小腿有效長度(膝蓋舵機輸出軸到踝部俯仰方向舵機輸出軸的距離)13cm,每個腳底板寬8cm,長12cm,材料為2mm厚的電路板,上面安裝了四個觸力傳感器,每個角上一個,用于檢測機器人行走時支撐腳和地面之間的壓力;電路板上還有四個傳感器的信號調(diào)理電路。大腿和小腿都由輕質(zhì)鋁合金板加工而成;兩條腿最上面的舵機通過u型件連在一根角鋁上,用螺栓螺母擰緊后,就構(gòu)成了機器人的骨盆,在骨盆中央豎直方向上固定一根硬鋁板條,作為機器人的脊柱;電路板和為整個系統(tǒng)供電的鋰電池可以放在一個特制的盒子里,將盒子固連在豎直板條上,就構(gòu)成了機器人的胸腹。
2 驅(qū)動方案與控制系統(tǒng)設(shè)計
基于處理能力等多方面的考慮,我們選用TI公司的高性能數(shù)字信號處理器TMS320F2812為機器人控制系統(tǒng)的核心,來完成信號采集、處理、控制和驅(qū)動等功能。
F2812是一種低功耗的32位定點數(shù)字信號處理器,在數(shù)字控制領(lǐng)域應(yīng)用廣泛,采用哈佛總線結(jié)構(gòu),具有強大的計算能力、迅速的中斷響應(yīng)和處理以及統(tǒng)一的寄存器編程模式。
2.1 驅(qū)動方案
考慮到驅(qū)動力大小以及可控性能,本機器人的關(guān)節(jié)采用漢庫HGl4舵機進(jìn)行驅(qū)動,該舵機采用閉環(huán)反饋位置控制,其部分技術(shù)指標(biāo)如表1所示:
減速齒輪組由馬達(dá)驅(qū)動,其終端(輸出端)帶動一個線性的比例電位器進(jìn)行位置檢測,該電位器把轉(zhuǎn)角坐標(biāo)轉(zhuǎn)換為一比例電壓反饋給控制單元,控制單元將其與輸入的控制脈沖信號比較,產(chǎn)生糾正脈沖,并驅(qū)動馬達(dá)正向或反向地轉(zhuǎn)動,使齒輪組的輸出位置與期望值相符,從而達(dá)到舵機精確定位的目的。
舵機的控制信號是脈沖位置調(diào)制(PPM)信號,是一種寬度可調(diào)的周期性方波脈沖信號,周期一般為20ms,當(dāng)方波的脈沖寬度改變時,舵機轉(zhuǎn)軸的角度發(fā)生變化,角度變化與脈沖寬度的變化成正比。一般舵機的輸出軸轉(zhuǎn)角與輸入信號的脈沖寬度之間的關(guān)系可用圖1表示。
由于制作工藝等多方面的原因,舵機的輸出軸轉(zhuǎn)角并不是準(zhǔn)確地遵循與控制信號的脈沖寬度對應(yīng)的關(guān)系,但一般和控制信號脈沖寬度成比例關(guān)系。為了減小誤差,我們事先測出在額定脈寬下舵機的實際轉(zhuǎn)角,然后計算出和額定轉(zhuǎn)角的比例系數(shù),在軟件中對控制信號脈寬予以調(diào)整,這樣可以將轉(zhuǎn)角誤差減小到0.5°以內(nèi)。
2.2 控制系統(tǒng)設(shè)計
TMS320F2812具有較高的處理速度,可以滿足雙足機器人步態(tài)規(guī)劃以及控制的算法的實現(xiàn),另外還有著集成豐富的外設(shè),可滿足多個傳感器的信號采集的需要。為了避免每次改寫程序都重新對片內(nèi)FLASH進(jìn)行燒寫,我們采用如下方案:由DSP通過JZ864微功率無線數(shù)據(jù)傳輸模塊將由傳感器得到的機器人姿態(tài)信息送到上位機,然后上位機根據(jù)這些信息和動作時序計算相應(yīng)的控制指令,通過無線數(shù)傳模塊將指令發(fā)送回DSP,再由DSP的定時器生成相應(yīng)的信號來控制舵機(如圖2所示)。這樣調(diào)試時只要在上位機里改寫程序即可,動作調(diào)試好以后再將相應(yīng)的程序燒寫到DSP芯片的FLASH中。
評論