0 引言
雙足機器人樣機是研究雙足行走的實驗對象,為了研究的順利進行,必須對機器人的自由度、驅動方式、重量、高度等進行合適的配置;這就需要自由度的分配簡單合理、驅動方案可靠易用以及機械結構輕便結實。為了得到可靠高效的控制系統(tǒng),首先要選擇合適的主控芯片,然后針對實時控制中所需要的各種姿態(tài)信息,選擇可靠性高且方便和主控芯片連接的傳感器。
雙足步行機器人是一個多自由度、非線性、具有復雜動力學特性的多體系統(tǒng),本田公司、索尼公司以及北京理工大學等相繼推出了各自研制的雙足機器人樣機,其中以本田公司的ASIM0制作水平最高。本文在參考國內外相關研究的基礎上,從便于實現(xiàn)的角度出發(fā),設計研制了樣機,以TI公司的DSP TMS320F2812為核心設計了機器人驅動、控制電路,分別采用了觸力傳感器FSSl500NST、微機械陀螺儀ADXRSl50來檢測足底接觸力信息和軀干角速度,并成功實現(xiàn)了機器人的穩(wěn)定行走。
1 機械設計
為了實現(xiàn)機器人前后行走、上下臺階及爬斜坡等功能,機器人每條腿至少應有三個俯仰自由度;要實現(xiàn)質心在左右腳之間轉移的功能,每條腿至少應有一個滾轉自由度?;趯崿F(xiàn)預期功能而又盡量降低成本,精簡機構的原則,我們設計的雙足機器人共有十個自由度,每條腿各有五個自由度,其中髖關節(jié)兩個(俯仰和滾轉),膝關節(jié)一個(俯仰),踝關節(jié)兩個(俯仰和滾轉)。這個十自由度的雙足機器人可以實現(xiàn)左右方向和前后方向上的多種運動。
考慮到驅動負載以及穩(wěn)定性等因素,在設計時將腿長取為28cm,其中大腿有效長度(髖部俯仰方向舵機輸出軸到膝蓋舵機輸出軸的距離)為15cm,小腿有效長度(膝蓋舵機輸出軸到踝部俯仰方向舵機輸出軸的距離)13cm,每個腳底板寬8cm,長12cm,材料為2mm厚的電路板,上面安裝了四個觸力傳感器,每個角上一個,用于檢測機器人行走時支撐腳和地面之間的壓力;電路板上還有四個傳感器的信號調理電路。大腿和小腿都由輕質鋁合金板加工而成;兩條腿最上面的舵機通過u型件連在一根角鋁上,用螺栓螺母擰緊后,就構成了機器人的骨盆,在骨盆中央豎直方向上固定一根硬鋁板條,作為機器人的脊柱;電路板和為整個系統(tǒng)供電的鋰電池可以放在一個特制的盒子里,將盒子固連在豎直板條上,就構成了機器人的胸腹。
2 驅動方案與控制系統(tǒng)設計
基于處理能力等多方面的考慮,我們選用TI公司的高性能數(shù)字信號處理器TMS320F2812為機器人控制系統(tǒng)的核心,來完成信號采集、處理、控制和驅動等功能。
F2812是一種低功耗的32位定點數(shù)字信號處理器,在數(shù)字控制領域應用廣泛,采用哈佛總線結構,具有強大的計算能力、迅速的中斷響應和處理以及統(tǒng)一的寄存器編程模式。
2.1 驅動方案
考慮到驅動力大小以及可控性能,本機器人的關節(jié)采用漢庫HGl4舵機進行驅動,該舵機采用閉環(huán)反饋位置控制,其部分技術指標如表1所示:
減速齒輪組由馬達驅動,其終端(輸出端)帶動一個線性的比例電位器進行位置檢測,該電位器把轉角坐標轉換為一比例電壓反饋給控制單元,控制單元將其與輸入的控制脈沖信號比較,產(chǎn)生糾正脈沖,并驅動馬達正向或反向地轉動,使齒輪組的輸出位置與期望值相符,從而達到舵機精確定位的目的。
舵機的控制信號是脈沖位置調制(PPM)信號,是一種寬度可調的周期性方波脈沖信號,周期一般為20ms,當方波的脈沖寬度改變時,舵機轉軸的角度發(fā)生變化,角度變化與脈沖寬度的變化成正比。一般舵機的輸出軸轉角與輸入信號的脈沖寬度之間的關系可用圖1表示。
由于制作工藝等多方面的原因,舵機的輸出軸轉角并不是準確地遵循與控制信號的脈沖寬度對應的關系,但一般和控制信號脈沖寬度成比例關系。為了減小誤差,我們事先測出在額定脈寬下舵機的實際轉角,然后計算出和額定轉角的比例系數(shù),在軟件中對控制信號脈寬予以調整,這樣可以將轉角誤差減小到0.5°以內。
2.2 控制系統(tǒng)設計
TMS320F2812具有較高的處理速度,可以滿足雙足機器人步態(tài)規(guī)劃以及控制的算法的實現(xiàn),另外還有著集成豐富的外設,可滿足多個傳感器的信號采集的需要。為了避免每次改寫程序都重新對片內FLASH進行燒寫,我們采用如下方案:由DSP通過JZ864微功率無線數(shù)據(jù)傳輸模塊將由傳感器得到的機器人姿態(tài)信息送到上位機,然后上位機根據(jù)這些信息和動作時序計算相應的控制指令,通過無線數(shù)傳模塊將指令發(fā)送回DSP,再由DSP的定時器生成相應的信號來控制舵機(如圖2所示)。這樣調試時只要在上位機里改寫程序即可,動作調試好以后再將相應的程序燒寫到DSP芯片的FLASH中。[!--empirenews.page--]
十個舵機的控制信號由F2812的通用I/0引腳A0到A9產(chǎn)生,這個過程由通用定時器l和通用定時器2的中斷服務程序來完成。
雙足機器人的實時控制系統(tǒng)需要實時測量機器人的一些信息,為此我們在每個足底安裝了四個霍尼韋爾觸力傳感器FSSl500NST,用于實時檢測雙足機器人腳面觸地情況,計算雙足機器人腳面壓力中心位置。這種觸力傳感器具使用專門設計的精制壓敏電阻硅傳感元件。硅壓阻元件在受到外力而發(fā)生彎曲變形的時候,電阻會相應增大。觸力傳感器通過不銹鋼柱塞,將所受外力直接傳遞到硅感應元件上,元件阻值就隨著所受外力同比例增加。這種電阻值的變化將最終通過電橋電路以mv級電平輸出,靈敏度為0.12mY/g,直接接入DSP的模數(shù)轉換電路會導致測量精度不高,需要設計如圖3所示的信號調理電路。
在經(jīng)過調理電路放大以后,傳感器的電平輸出被放大到0—3V之間,可直接連到F2812的A/D轉換電路。
軀干的角速度包括滾轉、俯仰和偏航三個方向的分量,一般需要關注的是滾轉和俯仰方向的分量,即機器人是否會朝前后或左右方向摔倒。我們選擇ADI公司的微機械陀螺儀ADXRSl50,其參數(shù)如表3所示。
陀螺儀ADXRSl50具有Z一軸響應、工作頻帶寬、小而輕等特點,能夠滿足機器人雙足行走過程中檢測軀干實時角速度的要求。
為了方便地控制機器人動作,我們選用了紅外線遙控方式。選用集紅外線接收和放大于一體的HS0038芯片作為紅外線接收器,其中載波頻率為38kHz;電路中將HS0038芯片的輸出信號接到F2812事件管理器EVB的捕獲引腳上,通過捕獲中斷服務子程序來對遙控器的信號進行接收和解碼,然后查表來確定相應的按鍵,執(zhí)行相應的動作。
[!--empirenews.page--]
3 行走試驗
通過在主控芯片中的步態(tài)規(guī)劃,雙足機器人在行走過程中的重心投影一直在支撐區(qū)域以內,試驗在平整地面上進行,用7.4V的鋰電池給雙足機器人提供動力,機器人獨立于上位機,用紅外遙控器控制他的行為。在行走實驗中,機器人收到指令后執(zhí)行的一系列動作如下:
(1)雙腿彎曲,降低重心到一定高度;
(2)身體左傾,重心投影移到左腳,抬右腿;
(3)右腿前伸,沿設定軌跡著地;
(4)身體右傾,將重心投影轉移到右腳;
(5)檢測最近收到的指令,若為停止命令,則以右腿為支撐腿,收左腿,回到直立狀態(tài),否則執(zhí)行下一個的動作;
(6)左腿前伸,沿設定軌跡著地;
(7)身體左傾,將重心投影轉移到左腳上;
(8)檢測最近收到的指令,若為停止命令,則以左腿為支撐腿,收右腿,回到立正狀態(tài),否則執(zhí)行第3個的動作。
行走時各桿件運動的速度和加速度不能太大,運動速度會比較慢。經(jīng)過多次試驗和研究發(fā)現(xiàn),如果擺動腿移動得太慢,會增加單腿支撐的時間,若擺動腿移動得過快,會增加對身體的作用力,使機器人穩(wěn)定性變差,比較容易摔倒;在雙腿支撐期,質心投影由一只腳上轉移到另一只腳上,為了不讓兩腳相對地面滑動,必須較好地保持兩腳的相對位置和相對姿態(tài)不變,因此在這一過程中各個關節(jié)也不能轉得太快,而且擺動腳著地時會受到地面的沖擊力,使機器人的身體有些晃動,雙腿支撐期稍微長一些能起到緩沖作用。經(jīng)過多次調整和試驗,發(fā)現(xiàn)在取雙腿支撐期2.5s、單腿支撐期1.5s時,可以得到比較穩(wěn)定的前向行走。
4 結束語
本文根據(jù)研究雙足機器人行走的需要,選擇大扭矩舵機作為各關節(jié)的驅動電機,設計實現(xiàn)了十自由度的小型雙足機器人:以TI公司TMS320F2812 DSP作為主控芯片,為方便程序的調試,采用了JZ864微功率無線數(shù)據(jù)傳輸模塊來傳遞上位機與機器人之間的信息。選擇觸力傳感器FSSl500NST、微機械陀螺儀ADXRSl50來分別測量腳底板和地面接觸信息以及軀干的角速度,采用了紅外遙控的方式來控制機器人的行為,最后設計出機器人的整體控制系統(tǒng)并實現(xiàn)了穩(wěn)定行走。