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