甘富升
(西南科技大學(xué),四川綿陽 621000)
根據(jù)設(shè)計(jì)要求,該NAO機(jī)器人需實(shí)現(xiàn)識別障礙與哨聲,以及能夠完成快速的行走過程。故本設(shè)計(jì)將整個(gè)項(xiàng)目細(xì)分成了幾個(gè)模塊,針對每個(gè)模塊精準(zhǔn)的進(jìn)行設(shè)計(jì),可以提高效率而且更有針對性。本設(shè)計(jì)主要分為障礙識別處理、哨聲識別處理、快速行走設(shè)計(jì)。
2.1.1 測距原理
聲納傳感器的測距工作原理:聲納激發(fā)出一束很窄的超聲波在空氣中傳播,當(dāng)遇到障礙物時(shí),超聲被返回。根據(jù)超聲波的傳遞時(shí)間就能準(zhǔn)確的計(jì)算出障礙物的相對的距離。
首先將聲納的INIT信號拉到高電平,此時(shí)聲納換能器將激發(fā)出超聲波。INIT信號高電平的時(shí)間可以由用戶來設(shè)定。如下圖所示的INIT信號的高電平的時(shí)間是32ms。高電平的時(shí)間與需要測量的最長距離有關(guān)。當(dāng)超聲波遇到障礙物時(shí),超聲波將被返回,聲納傳感器檢測到回波信號后,將ECHO置為高電平。當(dāng)INIT信號變?yōu)榈碗娖綍r(shí),ECHO同時(shí)也變?yōu)榈碗娖健R虼丝梢杂?jì)算障礙物的距離;障礙物的距離=(INIT高電平時(shí)間一ECHO高電平的時(shí)間)*聲納速度/2。
圖3 -1 測距原理
2.1.2 避障步驟
步驟1、發(fā)射聲波。
聲波發(fā)射模塊首先發(fā)射聲波。聲波發(fā)射模塊所發(fā)射的信號為一組聲波信號,其發(fā)射周期為T,發(fā)射脈沖數(shù)為N,每一聲波信號的形式為p(t),當(dāng)發(fā)射脈沖數(shù)N為2時(shí),所述發(fā)射信號采用如下表示:
其中Δ表示同一周期兩個(gè)脈沖之間的間隔,p(t)可以為任意信號形式。
步驟2、接收回波信號。
聲波發(fā)射完成后延遲一定的時(shí)旬,開始接收聲信號。所接收的聲信號e(t)采用如下表達(dá)式:
其中,dV表示聲吶波束照射范圍內(nèi)的體積積分,R表示聲吶基陣至空間點(diǎn)(因?yàn)槭求w積積分所以積分項(xiàng)中R表示空間中聲吶基陣至某一點(diǎn)的距離)的距離且R=Rt+Rr.其中Rt為聲吶發(fā)射基陣至空間點(diǎn)的距離,Rr為聲吶接收基陣至空間點(diǎn)的距離。所接收的聲信號e(t)可進(jìn)一步分解為:
其中e1(t)和e2(t)分別表示p(t)和-p(t-Δ)兩組信號對應(yīng)的回波。
步驟3、對步驟2中所接收的回波信號進(jìn)行數(shù)據(jù)處理,抑制回波噪聲。
對回波信號的數(shù)據(jù)處理可進(jìn)一步包括:
步驟3-1、構(gòu)造回波信號的非線性特征。
根據(jù)e1(t)和e2(t)構(gòu)造聲吶回波信號的非線性特征度量,即非線性特征為:
其中L為信號能量算子,可以取絕對值和、平方和等形式。
為了保證計(jì)算的穩(wěn)定性β(t)計(jì)算完成后可以對非線性特征β(t)采用加窗濾波處理,濾除野值。
步驟3-2、回波噪聲抑制。
為了有效抑制氣泡回波噪聲將之前所得到的回波信號的非線性特征作為度量算子對回波信號進(jìn)行抑制,抑制后的回波信號為:
步驟4、根據(jù)回波信號實(shí)現(xiàn)障礙物檢測。
2.1.3 流程
圖3 -2 避障控制邏輯
Avoid_obstacle即避障行為,根據(jù)NAO遇到障礙便橫向移動的要求,該行為的控制變量為:
其中,正負(fù)號表示機(jī)器人橫向行走的左右向,一般根據(jù)目標(biāo)點(diǎn)在NAO的方向確定,即目標(biāo)點(diǎn)在機(jī)器人左側(cè)時(shí)取正,目標(biāo)點(diǎn)在機(jī)器人右側(cè)時(shí)取負(fù)。
NAO檢測到與障礙物距離d0決定避障行為的控制參數(shù)。當(dāng)d0大于安全距離ds時(shí)控制參數(shù)取值為零,該行為未被執(zhí)行;當(dāng)d0小于安全距離ds時(shí)控制參數(shù)取值為1,機(jī)器人滿速避障。該行為控制參數(shù)表示為:
由于簡單環(huán)境,也就是只有一個(gè)或稀疏分布的小型障礙物而言的環(huán)境,NAO通過向目標(biāo)行走和避障行為合理結(jié)合就可以完成避障向目標(biāo)行走的任務(wù)。
2.2.1 原理分析
時(shí)域信號在經(jīng)過傅立葉變換的分解之后,變?yōu)榱瞬煌也ㄐ盘柕寞B加,我們再去分析這些正弦波的頻率,可以將一個(gè)信號變換到頻域
圖3 -3 時(shí)頻域轉(zhuǎn)換
變換運(yùn)算過程:
采樣得到信號,進(jìn)行FFT變換。N個(gè)采樣點(diǎn),經(jīng)過FFT之后,得到N個(gè)點(diǎn)的FFT結(jié)果。N取2的整數(shù)次方。FFT運(yùn)算量:Nlog2N(2為對數(shù)的底)
假設(shè)原始信號的峰值為A,F(xiàn)FT的結(jié)果的每個(gè)點(diǎn)(除了第一個(gè)點(diǎn)直流分量之外)的模值為A的N/2倍。第一個(gè)點(diǎn)為直流分量,它的模值是直流分量的N倍。每個(gè)點(diǎn)的相位就是在該頻率下的信號的相位。第一個(gè)點(diǎn)表示直流分量(即0Hz),而最后一個(gè)點(diǎn)N的再下一個(gè)點(diǎn)(實(shí)際上這個(gè)點(diǎn)是不存在的,這里是假設(shè)的第N+1個(gè)點(diǎn),也可以看做是將第一個(gè)點(diǎn)分做兩半分,另一半移到最后)則表示采樣頻率Fs,這中間被N-1個(gè)點(diǎn)平均分成N等份,每個(gè)點(diǎn)的頻率依次增加。例如某點(diǎn)n所表示的頻率為:Fn=(n-1)*Fs/N (3-10)
由上面的公式可以看出,F(xiàn)n所能分辨到頻率F0=Fs/N。 (3-11)
假設(shè)頻率分辨率F0=Fs/N限定,采樣頻率Fs也給定,也已知信號最高頻率 Fh,那么由采樣定理:Fs>=2Fh (3-12)
得到:N=Fs/F0>=2Fh/F0, (3-13)
即采樣點(diǎn)必須滿足這樣一個(gè)關(guān)系式。
變換后如圖:
圖3 -4 傅立葉變換后信號圖
2.2.2 流程
圖3 -5 Speech SDK識別流程圖
語音識別時(shí)識別內(nèi)核對外部有用的語音和噪音通過自身的模塊進(jìn)行處理,將得到語音信息先與其內(nèi)核引擎中的哨聲進(jìn)行快速匹配,進(jìn)行頻率分析,最終進(jìn)行精確匹配。把語音通過解碼器轉(zhuǎn)換成文本信息,方便接下來的操作。
(1)卡爾曼濾波
圖3 -6 卡爾曼濾波更新過程
(2)、線性倒立擺模型
圖3 -7 線性倒立擺模型
由于倒立擺系統(tǒng)的行為與火箭以及兩足機(jī)器人行走有很大的相似性。因而該研究在機(jī)器人運(yùn)動學(xué)以及機(jī)器人步態(tài)規(guī)劃上有重大意義。本文采用線性倒立擺模型對機(jī)器人進(jìn)行抽象,把機(jī)器人運(yùn)動簡化為線性倒立擺運(yùn)動模式,通過預(yù)先規(guī)劃好的零力矩點(diǎn)(ZMP)軌跡,極據(jù)質(zhì)心(COG)和ZMP的關(guān)系,求出COG軌跡:再將前向步態(tài)和側(cè)向步態(tài)簡化為二連桿結(jié)構(gòu),對機(jī)器人進(jìn)行逆運(yùn)動學(xué)求解,得出各個(gè)關(guān)節(jié)的角度,結(jié)合ZMP方程討論了行走過程中的穩(wěn)定性。
本設(shè)計(jì)研究人的行走方式及運(yùn)動原理,基于NAO機(jī)器人,能識別障礙與哨聲,然后實(shí)現(xiàn)平穩(wěn)的快速行走。因?yàn)樽呗沸枰氖瞧胶庑裕竽X在根據(jù)路狀不斷地分析判斷該怎么走才不至于摔倒,而機(jī)器人走路則是要通過復(fù)雜的計(jì)算來進(jìn)行。而對于障礙和哨聲,同樣也需要通過特定的算法來實(shí)現(xiàn)。因此,本次研究對于類人機(jī)器人的研究具有參考意義。