隨著人們生活水品的不斷提高,在人們購買各種家具或家電時越來越重視其智能化和人性化。人們在生活中產(chǎn)生的生活垃圾都需用垃圾桶放置,考慮到老人、孕婦或者殘疾人,放置垃圾時存在的不便、費時、費力等問題。設(shè)計針對這些問題,提出了具有語音識別功能的智能垃圾桶設(shè)計方案,當(dāng)用戶想要扔垃圾時,只要一聲令下,垃圾桶就會快速準(zhǔn)確地來到你身邊。
1 系統(tǒng)硬件設(shè)計
系統(tǒng)硬件包括垃圾桶車體機械結(jié)構(gòu)和硬件控制電路兩個部分。其中車體機械結(jié)構(gòu)為一部三輪小車車體,能按照在不同地點處用戶發(fā)出的聲音指令,自動行駛到用戶所在地。系統(tǒng)硬件電路總體結(jié)構(gòu)框圖如圖1所示,包括電源模塊、ARM最小系統(tǒng)、聲源定位模塊、語音識別模塊、避障模塊和電機驅(qū)動模塊。
工作原理:首先通過語音識別模塊識別出用戶的呼叫命令,同時通過聲源定位模塊判斷用戶所處位置,再通過ARM產(chǎn)生驅(qū)動電機的PWM信號,利用電機驅(qū)動模塊驅(qū)動垃圾桶向聲源方向行駛,并在行進過程中,利用避障模塊自行避開障礙物。同時,該設(shè)計還支持用戶對垃圾桶前、后、左、右行駛或打開、關(guān)閉垃圾桶蓋等語音控制。
1.1 電源模塊
系統(tǒng)所有模塊和控制器都需要+5 V的工作電壓,采用鋰電池進行供電,并用LM2576S-5穩(wěn)壓芯片將電壓穩(wěn)定在+5 V,然后通過穩(wěn)壓源LM11 17-33和LM1117-18為S3C6410芯片3.3 V和1.8 V電壓。
其余語音芯片UDA1341TS、拾音器的5 V供電、紅外避障、直流電動機均為+5 V供電。
1.2 聲源定位模塊
聲源定位模塊主要包括拾音器構(gòu)成的麥克風(fēng)陣列和信號處理單元,如圖2所示。
系統(tǒng)中麥克風(fēng)陣列選用2個拾音器來實現(xiàn),其監(jiān)聽范圍為30~50 m2。由于拾音器所拾取的聲音信號太小,易受環(huán)境噪聲影響,因此有必要對聲音信號進行預(yù)處理,通過信號調(diào)理單元的處理,使其能夠滿足系統(tǒng)要求。為滿足拾音器所得到的微弱電信號進行放大,系統(tǒng)采取兩級放大電路。又由于A/D模塊不能采集負(fù)電壓信號,因此需要對放大后的電信號進行偏置,使其不出現(xiàn)負(fù)電壓,便于ARM采樣,使其輸出的誤差更小。
1.3 語音識別模塊
設(shè)計采用Philips公司UDA1341TS專用的語音處理芯片,能對語音實現(xiàn)放大、濾波、采樣、A/D或D/A轉(zhuǎn)換及進行數(shù)字語音處理功能,并且支持璐總線數(shù)據(jù)格式,與ARM芯片S3C6410內(nèi)置IIS總線接口配合使用。ARM芯片上內(nèi)置的IIS接口不但能夠讀取IIS總線上的數(shù)據(jù),為FIFO數(shù)據(jù)提供DMA的傳輸模式,而且可以同時傳輸和接收數(shù)據(jù)。UDA1341TS對所采集的語音信號進行采集和編碼,由DTW模型算法進行模板訓(xùn)練,并將訓(xùn)練結(jié)果存儲在Flash中以便于在語音信號識別階段讀取模板。在語音信號識別階段,將輸入的語音信號經(jīng)過音頻數(shù)字信號編譯碼器UDA1341 TS處理后,通知S3C6410嵌入式Linux操作系統(tǒng),與保存在Flash中的參考樣本進行對比,找出最佳的聲音識別效果,然后由嵌入式Linux操作系統(tǒng)中的系統(tǒng)調(diào)用函數(shù)控制S3C6410的I/O口,指揮垃圾桶的運動。
1.4 電機驅(qū)動模塊
電機驅(qū)動模塊根據(jù)ARM控制器輸出的控制信號驅(qū)動電機的運行。電機的驅(qū)動電路采用H橋驅(qū)動電路,如圖3所示。
Q1、Q2、Q3、Q4這4個三極管組成4個橋臂,Q1和Q4組成一組,Q2和Q3組成一組,Q5控制Q2、Q3的導(dǎo)通與關(guān)斷,Q6控制Q1和Q4的導(dǎo)通與關(guān)斷,而Q5、Q6由S3C6410的IO口來控制,這樣就可以通過IO輸出的高低電平,控制4個橋臂的導(dǎo)通與關(guān)斷控制電機的運行狀態(tài),使之正轉(zhuǎn)反轉(zhuǎn)或者停轉(zhuǎn),進而控制垃圾桶的行駛。為避免用分立元件使電路板過于復(fù)雜,在設(shè)計中使用H橋驅(qū)動L298N芯片。
1.5 避障模塊
避障電路采用漫反射式光電開關(guān)進行避障。光電開關(guān)是集發(fā)射頭和接收頭于一體的檢測開關(guān),其工作原理是根據(jù)發(fā)射頭發(fā)出的光束,被障礙物反射,接收頭據(jù)此做出判斷是否有障礙物。當(dāng)有光線反射回來時,輸出低電平;當(dāng)沒有光線反射回來時,輸出高電平。ARM根據(jù)接收頭電平的高低做出相應(yīng)控制,避免小車碰到障礙物,由于接收管輸出TTL電平,有利于ARM對信號的處理。障礙檢測模塊作為對外部障礙信息的采集窗口,將行進過程中障礙信息檢測出來,并傳遞給ARM控制器進行處理。
1.6 ARM最小系統(tǒng)
智能垃圾桶以三星公司的ARM微處理器S3C6410為核心控制器,其主要作用:接收和處理收到的各種傳感器信號,并通過決策后輸出合適的控制信號。利用S3C6410豐富的片上外設(shè)可以方便地采集和處理各種傳感器的信號,實時控制垃圾桶的運動,同時完成與語音芯片UDA1341 TS之間的通信。
2 系統(tǒng)算法設(shè)計
系統(tǒng)軟件包括聲源定位算法、特定語音識別算法和自動避障算法等。
2.1 聲源定位算法
針對聲源定位,系統(tǒng)采用基于傳聲器陣列時延估計法來估測用戶發(fā)聲的方向?;跁r延估計的聲源定位算法分為兩個部分:(1)時延估計,即計算聲源到兩兩傳聲器之間的時間差。(2)方位估計,即根據(jù)時延和傳聲器陣列的幾何位置估計出聲源的位置,其中時延估計的精度是關(guān)系到聲源定位精確與否的關(guān)鍵因素。
(1)時延估計。時延估計采用廣義互相關(guān)法。假設(shè)兩傳聲器m1和m2間距為d,在沒有混響的情況下,兩傳聲器接受到的信號x1(t)和x2(t)為
x1(t)=α1s(t)+n1(t) (1)
x2(t)=α2s(t-τ)+n2(t) (2)
其中,s(t)為聲源信號;α1、α2是聲波從聲源到傳感器的傳播衰減系數(shù);τ是聲源傳播到兩個傳感器所需延遲時間,即到達時延。n1(t)、n2(t)為環(huán)境噪聲。這時,到達時延(TDOA)可以采用傳統(tǒng)的互相關(guān)法進行估計,這時互相關(guān)方程為
其中,是傳聲器1、2拾取信號的互相關(guān)譜;ψ12:(ω)是權(quán)函數(shù);φx1x2(ω)=ψ12(ω)Gx1x2(ω)是廣義互相關(guān)譜,這樣到達時延為。
根據(jù)上式選取不同的權(quán)函數(shù)ψ12(ω)就可得到到達時延的不同算法,它的選取可根據(jù)實際的聲學(xué)環(huán)境選擇相應(yīng)的準(zhǔn)則,使得Rx1x2(τ)有個比較尖銳的峰值,得到最好的估計效果。Rx1x2(τ)的峰值處即為兩傳聲器間的時延。但在實際應(yīng)用中,權(quán)函數(shù)的選取是一個難點。目前用得較多的是基于互功率譜相位加權(quán)(CSP)法,其中加權(quán)函數(shù)選為ψ12=1/|Gx1x2(ω)|。這種方法通過對信號互功率譜的歸一化,去除了信號的幅度信息,只保留了信號的相位特性,對于噪聲和混響都有一定的抑制效果。
(2)方位估計。采用幾何定位法,利用角度距離估計方位。利用兩個拾音器擺成如圖4所示,利用拾音器1和2接收到得時間差就可以檢測出聲源偏離主軸的角度θ。
由圖4可得
由于AB距離和V聲音已知,時延(tA-tB)可由式(1)~式(3)算出,再由式(4)和式(5)可求得聲源偏移正方向的角度θ,則可控制電機轉(zhuǎn)動使垃圾桶向用戶方位旋轉(zhuǎn)并前進。
2.2 特定語音識別算法
針對特定語音的識別,采用動態(tài)時間規(guī)整(DTW)的算法,是一種把時間規(guī)整和距離測度的計算結(jié)合起來非線性規(guī)整技術(shù),多用于孤立詞的語音識別。語音識別過程如圖5所示。
首先應(yīng)濾掉輸入語音信號的噪音并進行預(yù)加重處理,提升高頻分量,然后線性預(yù)測系數(shù)等方法進行頻譜分析,找出語音的特征參數(shù)作為未知模式,與預(yù)先存儲的標(biāo)準(zhǔn)模式進行比較,當(dāng)輸入的未知模式與標(biāo)準(zhǔn)模式的特征一致時,ARM便識別輸入的語音信號并輸出結(jié)果。
3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件主要包括:數(shù)據(jù)采集模塊、SCI通訊模塊、特定聲源定位算法模塊和避障軟件模塊。系統(tǒng)軟件總體流程圖如圖6所示。
3.1 特定聲源定位算法設(shè)計
系統(tǒng)的聲源定位算法主要基于傳聲器陣列時延估計法,利用A/D采樣模塊檢測不同拾音器所接收到的聲音信號,算法實現(xiàn)采用廣義互相關(guān)法。ARM采樣得到的波形接近為正弦波,將對應(yīng)采樣得到的值放入數(shù)組中保存,首先進行相關(guān)運算,得出互相關(guān)譜。為避免誤差和雜音的干擾,進行多次計算去除了誤差較大的值。其算法流程圖如圖7所示。
同時,為避免垃圾桶對接收到的任何聲音都進行定位,系統(tǒng)在定位時加入了語音識別,即只對需要的聲音進行方位判斷,對特定聲音進行語音識別的流程框圖如圖8所示。
3.2 避障軟件設(shè)計
避障軟件模塊采用對ARM的GPIO口查詢方法。在垃圾桶加電后,主函數(shù)中一直查詢GPIO,某一路的GPIO出現(xiàn)低電平時,進入相應(yīng)的子函數(shù),執(zhí)行相應(yīng)的控制動作。3個紅外傳感器同時工作,發(fā)射紅外信號。任何一個紅外接收裝置接收到反射的紅外信號進入相應(yīng)的子函數(shù)執(zhí)行控制電機轉(zhuǎn)動。紅外避障流程如圖9所示。
4 結(jié)束語
設(shè)計的智能垃圾桶“聽”到主人的呼喊后能自動到達主人身邊,并且能識別主人的聲音進行一系列動作,經(jīng)試驗證明該設(shè)計能夠滿足使用要求。