于佳,劉凱
仿人機(jī)器人模仿人類的雙腿行走方式,不同于輪式或者履帶式,雙足行走模式本質(zhì)上是不穩(wěn)定的,因此一直是仿人機(jī)器人研究的主要內(nèi)容之一。實(shí)際上若要使機(jī)器人行走時(shí)保持穩(wěn)定,不發(fā)生摔倒,主控制器必須得到機(jī)器人行走時(shí)的即時(shí)狀態(tài)信息,以便于為了維持身體穩(wěn)定做出必要的運(yùn)動(dòng)調(diào)整,這就需要各種傳感器獲得相應(yīng)的傳感信息。參考文獻(xiàn)[1]利用傳感器在線測得機(jī)器人的全身重心(Center of Gravity,COG),計(jì)算它的一階和二階微分(分別對應(yīng)速度與加速度),使它們滿足由機(jī)器人自身參數(shù)所決定的限定范圍,就可以實(shí)現(xiàn)機(jī)器人的穩(wěn)定行走[1]。另外機(jī)器人各個(gè)關(guān)節(jié)的實(shí)際轉(zhuǎn)角與腳底壓力中心(Center of Pressure,COP)也是非常重要的,有了這些參數(shù),就可以分析機(jī)器人行走時(shí)實(shí)際的關(guān)節(jié)角度與腳底受力狀態(tài),以便于步態(tài)規(guī)劃調(diào)試,最終實(shí)現(xiàn)穩(wěn)定行走。
明確了需要測量的參數(shù),就要用傳感器系統(tǒng)來獲得相應(yīng)的數(shù)據(jù),傳統(tǒng)的機(jī)器人傳感器系統(tǒng)一般采用直連的方式,直接將各個(gè)傳感器接到主控制器上,主控制器也負(fù)責(zé)完成傳感器信號處理的任務(wù),例如日本本田公司的P2機(jī)器人采用的是集中式的控制結(jié)構(gòu),控制器放在機(jī)器人的背部,直接與全身的各個(gè)傳感器、執(zhí)行器相連接,總共用了650根導(dǎo)線,這樣多的導(dǎo)線會(huì)使機(jī)器人的故障率大大提高,同時(shí)由于各種傳感器數(shù)據(jù)也都交給主控制器處理,也加重了主控制器的負(fù)擔(dān)。而其下一代P3機(jī)器人采用的是分布式控制結(jié)構(gòu),控制器分散在全身的各個(gè)部分中,再采用類似內(nèi)部局域網(wǎng)的方式連接,連線的數(shù)量減少到30根,提高了機(jī)器人的可靠性[2]。
本文提出的基于CAN總線的仿人機(jī)器人傳感器系統(tǒng),該系統(tǒng)獨(dú)立于主控制器,作為一個(gè)單獨(dú)的系統(tǒng)處理傳感數(shù)據(jù),減少了主控制器的負(fù)擔(dān);且該系統(tǒng)與主控制器通訊采用的是CAN總線,CAN總線實(shí)時(shí)性強(qiáng),可靠性高,并且只需要兩根線,大大減少了機(jī)器人內(nèi)部的連線數(shù)量,使得機(jī)器人的可靠性得到很大提高;傳感器方面,該系統(tǒng)利用片式壓力傳感器得到雙腳壓力數(shù)據(jù)并計(jì)算壓力中心,利用傾角傳感器得到的各個(gè)關(guān)節(jié)的傾角并計(jì)算全身重心,同時(shí),傾角傳感器測得的各個(gè)關(guān)節(jié)相對于地面的傾角,可通過矩陣變換得到各個(gè)關(guān)節(jié)相對的角度,傳感器控制器DSP將這些數(shù)據(jù)打包,再通過CAN總線將這些數(shù)據(jù)傳給機(jī)器人的總控制器,便于機(jī)器人實(shí)現(xiàn)穩(wěn)定行走[3]。
從整個(gè)機(jī)器人的整體結(jié)構(gòu)來講,傳感器系統(tǒng)所起的作用是讀取機(jī)器人實(shí)時(shí)的狀態(tài)信息,再將傳感數(shù)據(jù)進(jìn)行分析處理,然后將得到的信息發(fā)給主控制器,主控制器根據(jù)這些信息將原給定的步態(tài)規(guī)劃數(shù)據(jù)進(jìn)行修正[4],從而使得機(jī)器人按照計(jì)劃準(zhǔn)確且穩(wěn)定行走,其流程如圖1所示:
圖1 機(jī)器人控制結(jié)構(gòu)圖
基于CAN總線的機(jī)器人傳感器系統(tǒng)是一個(gè)單獨(dú)的系統(tǒng),各個(gè)傳感器通過傳感器接口板與該系統(tǒng)主控制芯片DSP相連,DSP將獲得的數(shù)據(jù)進(jìn)行處理,然后通過CAN總線以數(shù)據(jù)包的形式發(fā)送給上位機(jī)。在硬件結(jié)構(gòu)上,該系統(tǒng)主要由傳感器、傳感器接口板和主控制板MCU 3部分組成,如圖2所示:
圖2 基于CAN總線的傳感器系統(tǒng)
1.2.1 主體結(jié)構(gòu)
由于需要測得機(jī)器人腳底壓力信息與全身COG信息,可根據(jù)機(jī)器人的結(jié)構(gòu)與DSP的系統(tǒng)資源,設(shè)計(jì)出相應(yīng)的傳感器系統(tǒng),如圖3所示[5],從功能結(jié)構(gòu)分,其主要有3個(gè)部分(由虛線分割):DSP與壓力傳感器通訊、DSP與傾角傳感器通訊與DSP與主控制器的通訊。其中第一部分是利用壓力傳感器測得相應(yīng)的壓力數(shù)據(jù),經(jīng)過傳感器處理板處理后變?yōu)镈SP可以接受的電壓信號,送于DSP處理;第二部分是傾角傳感器測得各個(gè)關(guān)節(jié)的傾角,然后通過SCI、SPI通訊協(xié)議的變換送于DSP處理;第三部分是DSP將處理好的數(shù)據(jù)腳底COP、全身COG等數(shù)據(jù)通過CAN總線協(xié)議發(fā)送給主控制器,便于主控制器根據(jù)這些數(shù)據(jù)進(jìn)行步態(tài)規(guī)劃。
圖3 基于CAN總線的傳感器系統(tǒng)實(shí)際設(shè)計(jì)圖
1.2.2 壓力傳感器部分
壓力傳感器用于測量機(jī)器人腳底板所受的壓力狀況。如圖4所示,在每個(gè)腳底板安裝有4塊壓力傳感器,分別用于測量腳底板的各個(gè)部位受到的力,根據(jù)他們的分布狀況以及所受到的壓力值,可算出每只腳的壓力中心(具體步驟見本文1.3節(jié)),最后發(fā)送到主控制器。
圖4 腳底壓力傳感器分布
1.2.3 傾角傳感器部分
傾角傳感器主要測量機(jī)器人各個(gè)關(guān)節(jié)的傾角,然后反饋給主控制器,主控制器用這些數(shù)據(jù)來計(jì)算出各個(gè)關(guān)節(jié)的空間位置、速度等信息,再根據(jù)機(jī)器人的物理參數(shù)可以得到機(jī)器人的COG點(diǎn)(具體計(jì)算步驟見本文2.3節(jié))。此處傳感器采用的是雙軸傾角傳感器,傳輸協(xié)議為RS232,在為其設(shè)計(jì)的接口轉(zhuǎn)換板上有RS232轉(zhuǎn)TTL電路、TTL 5V轉(zhuǎn)TTL 3V以及一路SPI擴(kuò)展4路SCI電路。這樣一塊DSP可以通過SCIA、SCIB和SPI口控制6個(gè)傾角傳感器,左右腿各三個(gè),安裝位置如圖5所示。
圖5 傾角傳感器安裝結(jié)構(gòu)圖
1.3.1 腳底COP計(jì)算
腳底4路傳感器在機(jī)器人上具體的安裝圖如圖4所示,由幾何知識可知左右腳的總壓力分別為:
以機(jī)器人腿部與腳底的接觸中心為原點(diǎn)(如圖2中黑點(diǎn)O),則機(jī)器人左腳的壓力中心為
其中a代表傳感器(正方形)的邊長,l1,l2,w1,w2如圖2所示(l1>l2),右腳計(jì)算方法相同。
1.3.2 機(jī)器人COG計(jì)算
根據(jù)參照文[1]中所述的兩關(guān)節(jié)COG計(jì)算方法,將其擴(kuò)展為3關(guān)節(jié),并加入上身的等效關(guān)節(jié)L3以及等效質(zhì)量m3。如圖6所示,令qi表示第i個(gè)關(guān)節(jié)與垂直方向的夾角,由于傾角傳感器是帶有方向性的,所以在這里規(guī)定機(jī)器人某一關(guān)節(jié)與地面垂直線逆時(shí)針方向?yàn)檎?,順時(shí)針方向?yàn)樨?fù)值;令θi表示第i-1個(gè)關(guān)節(jié)的延長線與第i個(gè)關(guān)節(jié)的夾角,令
則有
其中θ 可作為各個(gè)關(guān)節(jié)電機(jī)運(yùn)行時(shí)所轉(zhuǎn)角度的參考值,修正由電機(jī)編碼器計(jì)算關(guān)節(jié)角度值,構(gòu)成閉環(huán)關(guān)節(jié)控制系統(tǒng)。
令mi表示各個(gè)關(guān)節(jié)的重量,ri表示各個(gè)關(guān)節(jié)自上到下等效質(zhì)心的位置(r3是自下而上) ,由此可計(jì)算出機(jī)器人相對于坐標(biāo)中心o的質(zhì)心位置如下:
當(dāng)兩只腳換位時(shí)計(jì)算方法相同,只需替換相應(yīng)的參數(shù),當(dāng)行走時(shí)處于雙腳支撐期時(shí),機(jī)器人的COG一般位于兩支撐腳之間,這里不再考慮。
圖6 機(jī)器人各關(guān)節(jié)等效圖
由于傾角傳感器和腳底壓力傳感器的檢測以及計(jì)算,都是在一塊DSP中完成的,并且它們的CAN數(shù)據(jù)傳輸格式類似,所以可統(tǒng)一設(shè)定DSP發(fā)送CAN數(shù)據(jù)的郵箱號,通過CAN的初始化以及自定義設(shè)定,當(dāng)CAN緩沖區(qū)中有數(shù)據(jù)時(shí),DSP便把這些數(shù)據(jù)發(fā)送到主控制器的CAN卡中。當(dāng)主控制器接收到這些數(shù)據(jù)位時(shí),便可以根據(jù)相應(yīng)的通訊協(xié)議將數(shù)據(jù)解碼并使用。下面根據(jù)兩種傳感器所實(shí)現(xiàn)功能的不同分別進(jìn)行測試,以說明傳感器系統(tǒng)測量和通訊部分均能正常工作。
將機(jī)器人放置于某一穩(wěn)定狀態(tài),接通DSP和腳底轉(zhuǎn)換電路的電源,打開Linux主控制器,待程序初始化完畢之后,DSP將通過CAN總線不斷發(fā)給主控制器數(shù)據(jù),這里為了顯示的詳細(xì)清楚,將連接到DSP仿真器中的數(shù)據(jù)細(xì)節(jié)讀取如圖7:
圖7 腳底壓力傳感器數(shù)據(jù)
從其中的數(shù)據(jù)可以較清楚的看到DSP檢測以及計(jì)算的結(jié)果:Left_foot_sensor和Right_foot_sensor分別表示左、右邊兩邊壓力傳感器測得的數(shù)據(jù),而Left_foot和Rigth_foot分別表示左右兩腳的總壓力和壓力中心。
同樣接通DSP以及傾角傳感器轉(zhuǎn)換電路的電源,開啟Linux主控制器程序,使能傾角傳感器數(shù)據(jù)發(fā)送,接收到一次的數(shù)據(jù)如表1:
表1 傾角傳感器數(shù)據(jù)
數(shù)據(jù)中提供了各個(gè)關(guān)節(jié)相對于地面的傾角以及計(jì)算所得的機(jī)器人COG,這些數(shù)據(jù)為主控制器控制系統(tǒng)實(shí)現(xiàn)機(jī)器人的穩(wěn)定行走提供了必要條件。
本文針對傳統(tǒng)機(jī)器人傳感器系統(tǒng)連線多、復(fù)雜程度高的缺點(diǎn),提出了基于CAN總線的仿人機(jī)器人傳感器系統(tǒng),并根據(jù)實(shí)際情況提出了傳感器系統(tǒng)的軟硬件實(shí)現(xiàn)及測試:其中腳底壓力測量部分,可根據(jù)壓力傳感器的壓阻關(guān)系,測量并計(jì)算雙腳的總壓力和壓力中心;傾角測量部分,可根據(jù)傾角傳感器的數(shù)據(jù)計(jì)算機(jī)器人腿部各個(gè)關(guān)節(jié)的垂直傾角,也可以將這些角度與機(jī)器人的物理參數(shù)相聯(lián)系,求得機(jī)器人全身COG;由DSP控制的傳感器系統(tǒng),還能將處理的數(shù)據(jù)通過CAN總線發(fā)送到機(jī)器人控制的主控制器,為機(jī)器人實(shí)現(xiàn)閉環(huán)關(guān)節(jié)運(yùn)動(dòng)控制以及動(dòng)態(tài)穩(wěn)定行走提供了必要的數(shù)據(jù);并且系統(tǒng)通訊所使用CAN總線,使得機(jī)器人內(nèi)部的連線減少,大大提高了機(jī)器人工作的可靠性,降低了內(nèi)部連線的復(fù)雜度。
[1]Fumiaki Takemori, Akira Kitamura and Daisuke Kushida.Constraint of Center of Gravity in a Biped Walking Robot[C].Intelligent Robots and systems.2004:1960-1961.
[2]申飛,吳仲城,錢敏.基于CAN總線的機(jī)器人腳力傳感器的設(shè)計(jì)及其應(yīng)用[J].南京:傳感技術(shù)學(xué)報(bào).2004:39-41.
[3]Jung-Hoon Kim, Jung-Yup Kim, Jun-Ho Oh. Adjustment of Home Posture of Biped Humanoid Robot Using Sensory Feedback Control[J],Springer Netherlands:Journal of Intelligent and Robotic Systems.2008:424-426.
[4]劉熹,肖南峰.基于ZMP和實(shí)時(shí)檢測的機(jī)器人步行研究[J].廣西南寧:裝備制造技術(shù).2007:25.
[5]陳健,雷旭升,蘇劍波.基于智能體的仿人機(jī)器人分層控制系統(tǒng)[J].北京:高技術(shù)通訊.2007:586-590.