甘富升
(西南科技大學,四川綿陽 621000)
根據設計要求,該NAO機器人需實現識別障礙與哨聲,以及能夠完成快速的行走過程。故本設計將整個項目細分成了幾個模塊,針對每個模塊精準的進行設計,可以提高效率而且更有針對性。本設計主要分為障礙識別處理、哨聲識別處理、快速行走設計。
2.1.1 測距原理
聲納傳感器的測距工作原理:聲納激發出一束很窄的超聲波在空氣中傳播,當遇到障礙物時,超聲被返回。根據超聲波的傳遞時間就能準確的計算出障礙物的相對的距離。
首先將聲納的INIT信號拉到高電平,此時聲納換能器將激發出超聲波。INIT信號高電平的時間可以由用戶來設定。如下圖所示的INIT信號的高電平的時間是32ms。高電平的時間與需要測量的最長距離有關。當超聲波遇到障礙物時,超聲波將被返回,聲納傳感器檢測到回波信號后,將ECHO置為高電平。當INIT信號變為低電平時,ECHO同時也變為低電平。因此可以計算障礙物的距離;障礙物的距離=(INIT高電平時間一ECHO高電平的時間)*聲納速度/2。

圖3 -1 測距原理
2.1.2 避障步驟
步驟1、發射聲波。
聲波發射模塊首先發射聲波。聲波發射模塊所發射的信號為一組聲波信號,其發射周期為T,發射脈沖數為N,每一聲波信號的形式為p(t),當發射脈沖數N為2時,所述發射信號采用如下表示:

其中Δ表示同一周期兩個脈沖之間的間隔,p(t)可以為任意信號形式。
步驟2、接收回波信號。
聲波發射完成后延遲一定的時旬,開始接收聲信號。所接收的聲信號e(t)采用如下表達式:

其中,dV表示聲吶波束照射范圍內的體積積分,R表示聲吶基陣至空間點(因為是體積積分所以積分項中R表示空間中聲吶基陣至某一點的距離)的距離且R=Rt+Rr.其中Rt為聲吶發射基陣至空間點的距離,Rr為聲吶接收基陣至空間點的距離。所接收的聲信號e(t)可進一步分解為:

其中e1(t)和e2(t)分別表示p(t)和-p(t-Δ)兩組信號對應的回波。
步驟3、對步驟2中所接收的回波信號進行數據處理,抑制回波噪聲。
對回波信號的數據處理可進一步包括:
步驟3-1、構造回波信號的非線性特征。
根據e1(t)和e2(t)構造聲吶回波信號的非線性特征度量,即非線性特征為:

其中L為信號能量算子,可以取絕對值和、平方和等形式。
為了保證計算的穩定性β(t)計算完成后可以對非線性特征β(t)采用加窗濾波處理,濾除野值。
步驟3-2、回波噪聲抑制。
為了有效抑制氣泡回波噪聲將之前所得到的回波信號的非線性特征作為度量算子對回波信號進行抑制,抑制后的回波信號為:

步驟4、根據回波信號實現障礙物檢測。
2.1.3 流程

圖3 -2 避障控制邏輯
Avoid_obstacle即避障行為,根據NAO遇到障礙便橫向移動的要求,該行為的控制變量為:

其中,正負號表示機器人橫向行走的左右向,一般根據目標點在NAO的方向確定,即目標點在機器人左側時取正,目標點在機器人右側時取負。
NAO檢測到與障礙物距離d0決定避障行為的控制參數。當d0大于安全距離ds時控制參數取值為零,該行為未被執行;當d0小于安全距離ds時控制參數取值為1,機器人滿速避障。該行為控制參數表示為:

由于簡單環境,也就是只有一個或稀疏分布的小型障礙物而言的環境,NAO通過向目標行走和避障行為合理結合就可以完成避障向目標行走的任務。
2.2.1 原理分析
時域信號在經過傅立葉變換的分解之后,變為了不同正弦波信號的疊加,我們再去分析這些正弦波的頻率,可以將一個信號變換到頻域

圖3 -3 時頻域轉換
變換運算過程:

采樣得到信號,進行FFT變換。N個采樣點,經過FFT之后,得到N個點的FFT結果。N取2的整數次方。FFT運算量:Nlog2N(2為對數的底)
假設原始信號的峰值為A,FFT的結果的每個點(除了第一個點直流分量之外)的模值為A的N/2倍。第一個點為直流分量,它的模值是直流分量的N倍。每個點的相位就是在該頻率下的信號的相位。第一個點表示直流分量(即0Hz),而最后一個點N的再下一個點(實際上這個點是不存在的,這里是假設的第N+1個點,也可以看做是將第一個點分做兩半分,另一半移到最后)則表示采樣頻率Fs,這中間被N-1個點平均分成N等份,每個點的頻率依次增加。例如某點n所表示的頻率為:Fn=(n-1)*Fs/N (3-10)
由上面的公式可以看出,Fn所能分辨到頻率F0=Fs/N。 (3-11)
假設頻率分辨率F0=Fs/N限定,采樣頻率Fs也給定,也已知信號最高頻率 Fh,那么由采樣定理:Fs>=2Fh (3-12)
得到:N=Fs/F0>=2Fh/F0, (3-13)
即采樣點必須滿足這樣一個關系式。
變換后如圖:

圖3 -4 傅立葉變換后信號圖
2.2.2 流程

圖3 -5 Speech SDK識別流程圖
語音識別時識別內核對外部有用的語音和噪音通過自身的模塊進行處理,將得到語音信息先與其內核引擎中的哨聲進行快速匹配,進行頻率分析,最終進行精確匹配。把語音通過解碼器轉換成文本信息,方便接下來的操作。
(1)卡爾曼濾波

圖3 -6 卡爾曼濾波更新過程


(2)、線性倒立擺模型

圖3 -7 線性倒立擺模型
由于倒立擺系統的行為與火箭以及兩足機器人行走有很大的相似性。因而該研究在機器人運動學以及機器人步態規劃上有重大意義。本文采用線性倒立擺模型對機器人進行抽象,把機器人運動簡化為線性倒立擺運動模式,通過預先規劃好的零力矩點(ZMP)軌跡,極據質心(COG)和ZMP的關系,求出COG軌跡:再將前向步態和側向步態簡化為二連桿結構,對機器人進行逆運動學求解,得出各個關節的角度,結合ZMP方程討論了行走過程中的穩定性。
本設計研究人的行走方式及運動原理,基于NAO機器人,能識別障礙與哨聲,然后實現平穩的快速行走。因為走路需要的是平衡性,大腦在根據路狀不斷地分析判斷該怎么走才不至于摔倒,而機器人走路則是要通過復雜的計算來進行。而對于障礙和哨聲,同樣也需要通過特定的算法來實現。因此,本次研究對于類人機器人的研究具有參考意義。