文章標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)02-0124-03
近年來(lái),機(jī)器人聽(tīng)覺(jué)系統(tǒng)開(kāi)發(fā)已經(jīng)成為機(jī)器人研究領(lǐng)域的重要課題,。由于聲波的波長(zhǎng)較大,,具有較強(qiáng)的衍射能力,可以繞過(guò)障礙物傳播,,并且能與視覺(jué)傳感器配合,,從而可用于實(shí)現(xiàn)移動(dòng)機(jī)器人的全方位導(dǎo)航。聽(tīng)覺(jué)系統(tǒng)的開(kāi)發(fā)本質(zhì)上就是聲源定位系統(tǒng)的研究,,采用麥克風(fēng)陣列進(jìn)行聲源定位是信號(hào)處理領(lǐng)域的一個(gè)研究熱點(diǎn),。一組麥克風(fēng)按照一定的幾何結(jié)構(gòu)擺放組成麥克風(fēng)陣列[1],拾取來(lái)自各個(gè)方向的聲音信號(hào),,并進(jìn)行空時(shí)處理,,從而精確定位目標(biāo)聲源。
在工程應(yīng)用中,,根據(jù)麥克風(fēng)陣列模型和聲音球面?zhèn)鞑ツP蜆?gòu)建的聲源定位系統(tǒng)是一組復(fù)雜的非線性方程,,難以用數(shù)值計(jì)算方法準(zhǔn)確建模。在這種情況下,,可以應(yīng)用神經(jīng)網(wǎng)絡(luò)表達(dá)這種非線性系統(tǒng),。神經(jīng)網(wǎng)絡(luò)可以按照指定的精度逼近各種復(fù)雜的非線性系統(tǒng),解決非線性系統(tǒng)的建模問(wèn)題,,并對(duì)信息采用分布式存儲(chǔ)的處理方式,,具有高運(yùn)算效率和很強(qiáng)的容錯(cuò)性、魯棒性[2-3],。
本文研究了可應(yīng)用移動(dòng)機(jī)器人上的聲源定向系統(tǒng),,介紹了其硬件構(gòu)成,采用BP神經(jīng)網(wǎng)絡(luò)對(duì)定向系統(tǒng)進(jìn)行研究,,并通過(guò)Matlab仿真證明了在四元麥克風(fēng)陣列模型下實(shí)現(xiàn)遠(yuǎn)場(chǎng)和近場(chǎng)的目標(biāo)聲源定向,。
1 定向系統(tǒng)硬件結(jié)構(gòu)
1.1 麥克風(fēng)陣列模型
聲源定向系統(tǒng)的幾何結(jié)構(gòu)如圖1所示,由M1,、M2,、M3和M4 4個(gè)麥克風(fēng)組成一個(gè)四元球面陣列,對(duì)目標(biāo)聲源進(jìn)行定向,。其中P為聲源,,?琢、?茁分別為方位角和俯仰角,。系統(tǒng)麥克風(fēng)選用駐極體麥克風(fēng),,這種傳聲器具有體積小,、全向性、價(jià)格低,、靈敏度較高和頻率響應(yīng)范圍寬等優(yōu)點(diǎn),。該麥克風(fēng)能夠有效地收集聲音信息并檢測(cè)出聲音到達(dá)麥克風(fēng)的初始時(shí)刻,為后續(xù)的定位計(jì)算提供準(zhǔn)確的數(shù)據(jù),。整個(gè)系統(tǒng)以Activmedia的Pioneer3 AT機(jī)器人為安裝平臺(tái),,如圖2所示。該機(jī)器人配備有速度,、激光,、攝像頭等傳感器,采用4個(gè)車輪保持平衡,可以承受的載重超過(guò)35 Kg,,底部裝有2個(gè)直流電動(dòng)機(jī),,分別用來(lái)驅(qū)動(dòng)左輪和右輪,前后均裝配了防碰接觸開(kāi)關(guān),,能同時(shí)適用于戶外和戶內(nèi)的應(yīng)用需求。
圖1 麥克風(fēng)陣列結(jié)構(gòu)模型
圖2 機(jī)器人實(shí)驗(yàn)系統(tǒng)平臺(tái)
1.2 聲達(dá)時(shí)間獲取
1.2.1 信號(hào)放大及噪聲的處理
由于全向型麥克風(fēng)的輸出電壓大都在零到幾十毫伏之間,,如此微弱的電信號(hào)無(wú)法滿足后期信號(hào)處理工作的要求,。因此,僅靠電容式麥克風(fēng)的拾音能力是遠(yuǎn)遠(yuǎn)不夠的,,有必要對(duì)麥克風(fēng)采集到的信號(hào)進(jìn)行放大,。本文采用性能較穩(wěn)定的集成運(yùn)算放大器對(duì)采集信號(hào)進(jìn)行二級(jí)放大??紤]到電器元件的放大特性不是完全一致的,,因此加入了增益調(diào)整電位器,以便后期調(diào)試時(shí)減少由于硬件特性不同而產(chǎn)生的誤差,。除此之外,,為了在實(shí)驗(yàn)過(guò)程中實(shí)時(shí)觀測(cè)信號(hào)的采集情況,利用發(fā)光二極管制作輸出信號(hào)指示燈來(lái)指示信號(hào)的強(qiáng)弱變化,。同時(shí)考慮到聽(tīng)覺(jué)定位系統(tǒng)的魯棒性和實(shí)時(shí)性,,本文還利用集成運(yùn)算放大器制作電壓比較器,使聽(tīng)覺(jué)定位系統(tǒng)具有一定的抗噪能力,,通過(guò)調(diào)節(jié)參考電壓對(duì)背景噪聲進(jìn)行過(guò)濾,。
1.2.2 聲達(dá)時(shí)間點(diǎn)的捕捉
通過(guò)上述過(guò)程,系統(tǒng)對(duì)聲電信號(hào)進(jìn)行了整形,,使得大于背景噪聲的信號(hào)以方波的形式輸出,,用于捕捉聲源信號(hào)到達(dá)時(shí)間點(diǎn)。為了使陣列中各個(gè)麥克風(fēng)均能精確地捕捉目標(biāo)聲音到達(dá)的時(shí)間點(diǎn),,采用微處理器配合RS觸發(fā)器進(jìn)行捕捉,,具體實(shí)現(xiàn)方法如圖3所示,。
圖3 捕捉聲達(dá)時(shí)間點(diǎn)硬件電路圖
聲源信號(hào)經(jīng)過(guò)電壓比較器整形后,產(chǎn)生連續(xù)方波脈沖,。當(dāng)?shù)谝粋€(gè)脈沖到達(dá)觸發(fā)器時(shí),,觸發(fā)器鎖存并保持電平,輸出端發(fā)光二極管隨即發(fā)生變化,,指示聲源信號(hào)起始點(diǎn)已被鎖存,。由于已將微處理器中的可編程計(jì)數(shù)器調(diào)整為捕捉定時(shí)器工作模式,并設(shè)置CPU時(shí)鐘頻率,所以當(dāng)觸發(fā)器改變電平時(shí),,CPU記錄并存儲(chǔ)脈沖到來(lái)的時(shí)間,。等待4路麥克風(fēng)的聲源信號(hào)相繼到達(dá)后,再利用串口通信將4個(gè)存儲(chǔ)的時(shí)間點(diǎn)發(fā)送到上位機(jī),,與此同時(shí),,將鎖存器電平和微處理器復(fù)位,等待下一刻聲源信號(hào)的到達(dá),。這種利用硬件直接捕捉聲達(dá)的方法簡(jiǎn)單易行且精度較高,。
2 神經(jīng)網(wǎng)絡(luò)計(jì)算模型建立
2.1確定網(wǎng)絡(luò)結(jié)構(gòu)
BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),由輸入層,、隱含層和輸出層組成[4],。根據(jù)系統(tǒng)輸入輸出數(shù)據(jù)的特點(diǎn)來(lái)確定BP神經(jīng)網(wǎng)絡(luò)的輸入輸出,輸入數(shù)據(jù)為3個(gè)時(shí)延值,,即聲音信號(hào)到達(dá)陣列中不同位置的麥克風(fēng)的時(shí)間差,。把聲源到麥克風(fēng)M4的時(shí)間作為基準(zhǔn),到麥克風(fēng)M1,、M2,、M3的時(shí)間與基準(zhǔn)的差記作3個(gè)時(shí)延值,構(gòu)成一組3個(gè)參數(shù)的輸入數(shù)據(jù),。輸出數(shù)據(jù)為目標(biāo)聲源的位置,,本文的聲源定位目的是為了實(shí)現(xiàn)移動(dòng)機(jī)器人對(duì)目標(biāo)聲源的跟蹤,所以輸出數(shù)據(jù)采用球坐標(biāo)形式較為方便,。該網(wǎng)絡(luò)的輸出有方位角,、俯仰角和距離3個(gè)參數(shù)。
隱含層層數(shù)的選擇要從網(wǎng)絡(luò)的精度和訓(xùn)練時(shí)間上綜合考慮[5],,在網(wǎng)絡(luò)精度達(dá)到要求的情況下,,可以選擇單隱層,以求加快訓(xùn)練速度,;而對(duì)于復(fù)雜的映射關(guān)系,,選擇多隱含層,可以提高網(wǎng)絡(luò)預(yù)測(cè)精度[6-7],。本文選用有2個(gè)隱含層的BP網(wǎng)絡(luò),,網(wǎng)絡(luò)結(jié)構(gòu)為3-25-25-3,,即輸入層和輸出層有3個(gè)節(jié)點(diǎn),2個(gè)隱含層分別有25個(gè)節(jié)點(diǎn),。
2.2 數(shù)據(jù)處理
假設(shè)4個(gè)麥克風(fēng)之間的距離均為0.1 m,目標(biāo)聲源范圍為一個(gè)半徑0.1 m~5 m的球體內(nèi)的任意點(diǎn),。聲速為340 m/s,根據(jù)聲源定位模型的幾何關(guān)系隨機(jī)取數(shù)得到系統(tǒng)2 000組的輸入輸出數(shù)據(jù)。從中隨機(jī)選取1 900組數(shù)據(jù)作為網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù),,其余100組數(shù)據(jù)作為網(wǎng)絡(luò)測(cè)試數(shù)據(jù),。
數(shù)據(jù)歸一化方法是神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)前對(duì)數(shù)據(jù)常做的一種處理方法[8]。該方法主要有最大最小法,、平方數(shù)方差法[9]兩種,。本文采用第一種方法對(duì)輸入輸出數(shù)據(jù)進(jìn)行歸一化處理,并對(duì)網(wǎng)絡(luò)預(yù)測(cè)輸出進(jìn)行反歸一化,,通過(guò)Matlab的自帶函數(shù)mapminmax來(lái)實(shí)現(xiàn),。
3 Matlab仿真與結(jié)果分析
3.1 Matlab仿真
Matlab軟件中包含Matlab神經(jīng)網(wǎng)絡(luò)工具箱,可以直接調(diào)用構(gòu)建各種類型的神經(jīng)網(wǎng)絡(luò),。本文的BP神經(jīng)網(wǎng)絡(luò)主要用newff,、train和sim 3個(gè)神經(jīng)網(wǎng)絡(luò)工具箱自帶函數(shù)來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)的構(gòu)建、訓(xùn)練和仿真預(yù)測(cè),。
本文的聲源定位系統(tǒng)以實(shí)現(xiàn)對(duì)目標(biāo)聲源的跟蹤為目的,,預(yù)測(cè)出方位角和俯仰角,確定目標(biāo)聲源的空間方向?qū)崿F(xiàn)跟蹤,。但由于BP神經(jīng)網(wǎng)絡(luò)的擬合能力有限,并不能對(duì)距離做出較為準(zhǔn)確的預(yù)測(cè),,故舍去了這組數(shù)據(jù),,主要分析方位角和俯仰角這2組輸出數(shù)據(jù)。圖4為100組預(yù)測(cè)數(shù)據(jù)的方位角預(yù)測(cè)誤差,,誤差范圍為±5°,。圖5為100組預(yù)測(cè)數(shù)據(jù)的俯仰角預(yù)測(cè)誤差,誤差范圍為±4°,。
3.2 仿真結(jié)果分析與實(shí)驗(yàn)驗(yàn)證
傳統(tǒng)的聲源定位方法是利用幾何關(guān)系,,建立一組時(shí)延和聲源坐標(biāo)的方程組,通過(guò)解方程組得到時(shí)延和聲源坐標(biāo)的數(shù)值關(guān)系,。在解方程組的過(guò)程中,,大都假設(shè)聲源位于遠(yuǎn)場(chǎng)且聲音信號(hào)以平面波傳播,以此來(lái)約減得到近似結(jié)果,。但當(dāng)聲源位于近場(chǎng)時(shí),,即當(dāng)麥克風(fēng)之間的距離相對(duì)于聲源到麥克風(fēng)的距離較大時(shí),這種假設(shè)就不再成立了,。如果仍然用近似的結(jié)果進(jìn)行計(jì)算,,那么得到的數(shù)據(jù)與真實(shí)數(shù)據(jù)相比就不僅是誤差較大了,,而是錯(cuò)誤的。
用于BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的100組輸入輸出數(shù)據(jù)是在2 000組樣本數(shù)據(jù)中隨機(jī)選擇的,,遠(yuǎn)場(chǎng)和近場(chǎng)的聲源位置都有,。從Matlab仿真得到的圖形來(lái)看,誤差分布較均勻,,說(shuō)明并沒(méi)有因?yàn)槭墙鼒?chǎng)聲源神經(jīng)網(wǎng)絡(luò)就出現(xiàn)大的預(yù)測(cè)誤差,,表明該神經(jīng)網(wǎng)絡(luò)無(wú)論是近場(chǎng)還是遠(yuǎn)場(chǎng)都可以預(yù)測(cè)目標(biāo)聲源的方位角和俯仰角。為了進(jìn)一步驗(yàn)證網(wǎng)絡(luò)在近場(chǎng)對(duì)聲源的定向情況,,選取目標(biāo)聲源范圍為0.1 m~0.5 m的空心球體內(nèi)的點(diǎn),,用已訓(xùn)練好的BP網(wǎng)絡(luò)再次進(jìn)行預(yù)測(cè)。預(yù)測(cè)的方位角誤差和俯仰角誤差分別如圖6,、圖7所示,。近場(chǎng)方位角預(yù)測(cè)誤差大部分在±5°以內(nèi),有個(gè)別樣本點(diǎn)的誤差較大甚至預(yù)測(cè)錯(cuò)誤,,這是由于選取的樣本點(diǎn)離坐標(biāo)原點(diǎn)太近造成的,,不影響實(shí)際應(yīng)用。近場(chǎng)俯仰角預(yù)測(cè)誤差結(jié)果與圖4,、圖5的預(yù)測(cè)結(jié)果很相似,,誤差范圍仍然是±4°。
在機(jī)器人實(shí)驗(yàn)平臺(tái)上驗(yàn)證該神經(jīng)網(wǎng)絡(luò)的性能時(shí),,以室內(nèi)拍手聲作為聲源,,大小約70 dB,背景噪聲約30 dB,。機(jī)器人能辨別出聲源的方向并向其靠近,,證明了該四元麥克風(fēng)陣列可以使移動(dòng)機(jī)器人實(shí)現(xiàn)較好的聲源定向和跟蹤。
本論文應(yīng)用四元麥克風(fēng)陣列進(jìn)行移動(dòng)機(jī)器人的聲源定向研究,,設(shè)計(jì)了一個(gè)雙隱層的BP神經(jīng)網(wǎng)絡(luò),。經(jīng)Matlab仿真證明,輸入獲取的時(shí)延數(shù)據(jù),,可以實(shí)現(xiàn)近場(chǎng)和遠(yuǎn)場(chǎng)的目標(biāo)聲源定向,,并且在機(jī)器人本體上進(jìn)行了實(shí)驗(yàn)測(cè)試,進(jìn)一步驗(yàn)證了其實(shí)用性,。但是由于網(wǎng)絡(luò)擬合能力有限,,并不能很好地預(yù)測(cè)聲源的空間距離,因此,,如何實(shí)現(xiàn)對(duì)空間距離的準(zhǔn)確預(yù)測(cè)是下一步的重點(diǎn)研究任務(wù),。
參考文獻(xiàn)
[1] 傅薈璇,趙紅. Matlab神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)[M]. 北京:機(jī)械工業(yè)出版社,,2010.
[2]飛思科技產(chǎn)品研發(fā)中心. 神經(jīng)網(wǎng)絡(luò)與Matlab 7實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,,2005.
[3] 周開(kāi)利,,康耀紅.神經(jīng)網(wǎng)絡(luò)模型及其Matlab仿真程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2005.
[4] 張良均,曹晶,,蔣世忠.神經(jīng)網(wǎng)絡(luò)使用教程[M].北京:機(jī)械工業(yè)出版社,,2008.
[5]吳仕勇. 基于數(shù)值計(jì)算方法的BP神經(jīng)網(wǎng)絡(luò)及遺傳算法的優(yōu)化研究[D].昆明:云南師范大學(xué),2006.
[6] HAGAN M T, DEMUTH H B, BEALE M H. Neural network design[M]. 北京:機(jī)械工業(yè)出版社,,2002.
[7] AARABI P, ZAKY S. Robust sound localization using multi-source audiovisual information fusion[J]. Information Fusion ,2001(2):209-223.
[8] LIN Z, XU B. Sound source localization based on microphone array[J].Electro-acoustic technology,2004(5):19-24.
[9] 余立雪.神經(jīng)網(wǎng)絡(luò)與實(shí)例學(xué)習(xí)[M].北京:中國(guó)鐵道出版社,,1996.