北方工業(yè)大學(xué)電子信息工程學(xué)院 范馨予 劉 紅 王 坤
基于SPCE061A的智能垃圾桶設(shè)計(jì)
北方工業(yè)大學(xué)電子信息工程學(xué)院 范馨予 劉 紅 王 坤
本設(shè)計(jì)提出了以SPCE061A單片機(jī)為控制核心,由語(yǔ)音識(shí)別、避障、聲源定位和自動(dòng)控制部分構(gòu)成的智能垃圾桶。硬件主要部分由超聲波模塊、拾音器、驅(qū)動(dòng)芯片和S90舵機(jī)構(gòu)成,軟件主要基于語(yǔ)音識(shí)別、聲源定位和避障算法完成各功能。本設(shè)計(jì)不僅能執(zhí)行基本前后左右的語(yǔ)音命令,還能根據(jù)用戶語(yǔ)音定位并來(lái)到用戶周圍,在傳統(tǒng)垃圾桶的便捷性和靈活性上實(shí)現(xiàn)了創(chuàng)新。
智能垃圾桶;語(yǔ)音識(shí)別;避障;聲源定位
為了提高人們生活質(zhì)量,滿足人們對(duì)于智能生活的需求,智能家居產(chǎn)品逐漸發(fā)展起來(lái)。比如自動(dòng)開閉的智能窗簾、根據(jù)用戶語(yǔ)音控制播放狀態(tài)的智能音箱和用手機(jī)控制的智能冰箱等。這些智能家居產(chǎn)品使人們生活更加便捷,工作更加高效[1]。隨著智能家居產(chǎn)品在日常生活中的滲透,人們對(duì)更多生活用品提出了智能化和人性化的要求,以改善其生活品質(zhì)。例如傳統(tǒng)的垃圾桶只能固定放置在一個(gè)位置,當(dāng)人們?nèi)永臅r(shí)候,需要走到垃圾桶前面。就此,本文提出了一種基于SPCE061A語(yǔ)音控制的智能垃圾桶設(shè)計(jì)方案。通過語(yǔ)音命令對(duì)垃圾桶進(jìn)行控制,方便了用戶扔垃圾的行為,還增強(qiáng)了用戶和智能家居的互動(dòng)。同時(shí)桶蓋的自動(dòng)控制避免了垃圾桶桶內(nèi)垃圾和室內(nèi)空氣的長(zhǎng)時(shí)間直接接觸,有效地控制垃圾桶內(nèi)細(xì)菌的散播,較傳統(tǒng)垃圾桶更具環(huán)保性。
本設(shè)計(jì)的創(chuàng)新性在于實(shí)現(xiàn)了用戶和垃圾桶之間的“溝通”,使傳統(tǒng)固定死板的垃圾桶變得靈活和人性化。在給用戶日常生活中扔垃圾行為帶來(lái)了便利的同時(shí)保證垃圾桶的清潔,還減少了室內(nèi)垃圾桶的總數(shù)量,使室內(nèi)更加簡(jiǎn)約。
(1)當(dāng)垃圾桶收到語(yǔ)音信號(hào)時(shí)先判斷是否是用戶給出的語(yǔ)音命令,接著判斷語(yǔ)音命令的具體內(nèi)容。語(yǔ)音命令共分兩種類型:一種是固定語(yǔ)音命令,例如前、后、左、右、打開和關(guān)閉,此時(shí)垃圾桶會(huì)根據(jù)匹配成功的特定語(yǔ)音命令做出相應(yīng)動(dòng)作;另一種是用戶自定義的語(yǔ)音命令--垃圾桶在自定義命令匹配成功后會(huì)根據(jù)用戶的聲音進(jìn)行定位并行進(jìn)至用戶周圍,這個(gè)過程不需要用戶進(jìn)行移動(dòng)。
(2)垃圾桶在行進(jìn)過程中會(huì)對(duì)前方障礙物進(jìn)行距離測(cè)量。遇到障礙會(huì)繞開繼續(xù)行駛且調(diào)整行進(jìn)方向,使其最終能到達(dá)聲源點(diǎn)。
(3)垃圾桶的桶蓋狀態(tài)默認(rèn)為關(guān)閉狀態(tài),只在到達(dá)用戶周圍后自動(dòng)打開一段時(shí)間或是用戶給出打開語(yǔ)音命令后打開,實(shí)現(xiàn)了對(duì)垃圾的隔離。
本設(shè)計(jì)以SPCE061A單片機(jī)作為智能垃圾桶系統(tǒng)的控制核心,由語(yǔ)音識(shí)別、避障、聲源定位和自動(dòng)控制四部分構(gòu)成,系統(tǒng)結(jié)構(gòu)圖如圖1所示。語(yǔ)音識(shí)別部分由麥克風(fēng)和SPCE061A語(yǔ)音模塊構(gòu)成,避障部分由HC-SR04超聲波模塊構(gòu)成,聲源定位部分則由拾音器陣列構(gòu)成,自動(dòng)控制部分則分別由SG90舵機(jī)、L298N芯片和電機(jī)、垃圾桶桶蓋等機(jī)械結(jié)構(gòu)組成。
圖1 系統(tǒng)結(jié)構(gòu)圖
本設(shè)計(jì)使用的SPCE061A單片機(jī)外圍電路如圖2所示,在OSC0、OSC1端接上晶振及諧振電容,在鎖相環(huán)壓控振蕩器的阻容輸入VCP端接上相應(yīng)的電容電阻后即可工作。其它不用的電源端和地端接上0.1μF的去藕電容提高抗干擾能力。PB2作為EXTI2中斷源和超聲波模塊連接,PB4~PB7坐為普通IO口和L298N驅(qū)動(dòng)芯片相連,PB9則為TIMERB的PWM輸出IO口給S90舵機(jī)輸入脈沖。
圖2 SPCE061A外圍電路
本設(shè)計(jì)使用的聲源定位方法是基于拾音器陣列的時(shí)延法,該方法利用空間中某一點(diǎn)位置發(fā)出的聲音信號(hào)到達(dá)拾音器陣列中不同拾音器的時(shí)間差實(shí)現(xiàn)定位[2]。假設(shè)四個(gè)拾音器分別置于圖中A、B、C、O四個(gè)點(diǎn)的位置,對(duì)應(yīng)的坐標(biāo)分別為(a,0,0)、(0,b,0)、(0,0,c)、(0,0,0)。其中聲波的傳播速度為v,聲源的位置S(x,y,z),A點(diǎn)接收到聲波和O點(diǎn)接收到聲波的時(shí)間差為,B點(diǎn)接收到聲波和O點(diǎn)接收到聲波的時(shí)間差為,C點(diǎn)接收到聲波和O點(diǎn)接收到聲波的時(shí)間差為。由直角三角形的三邊關(guān)系可得函數(shù)方程組:
可聯(lián)立求解得x,y,z,但求解步驟復(fù)雜。為方便計(jì)算,在和的情況下,可以忽略z,轉(zhuǎn)化到的二維平面求解[3],簡(jiǎn)化方程組如下。設(shè)聲源到O點(diǎn)的距離和OB連線夾角為α,S到O的直線距離為l。
進(jìn)而求得x,y的值。
在實(shí)際生活應(yīng)用場(chǎng)景中,聲源的高度決定于用戶發(fā)出語(yǔ)音命令時(shí)的高度,且垃圾桶此時(shí)一定在用戶輕松投擲垃圾的范圍之外,聲源高度遠(yuǎn)小于用戶和垃圾桶的距離。因此,本設(shè)計(jì)使用忽略z軸的二維平面定位法進(jìn)行聲源定位。
自動(dòng)控制包括垃圾桶行進(jìn)和垃圾桶桶蓋的自動(dòng)控制。行進(jìn)的自動(dòng)控制主要是SPCE061A在識(shí)別語(yǔ)音命令后,對(duì)電機(jī)直接進(jìn)行輸出;垃圾桶桶蓋的自動(dòng)控制通過S90舵機(jī)實(shí)現(xiàn)。本設(shè)計(jì)的智能垃圾桶桶蓋為圓形,桶蓋上有過圓心的軸和SG90舵機(jī)軸相連,舵機(jī)轉(zhuǎn)動(dòng)則會(huì)帶動(dòng)桶蓋繞桶軸翻轉(zhuǎn)。
本設(shè)計(jì)的軟件主要包括特定語(yǔ)音識(shí)別算法,定位算法和避障算法。
系統(tǒng)總流程圖如圖3所示。在接收聲音信號(hào)后首先判斷語(yǔ)音指令,根據(jù)指令類別進(jìn)行相應(yīng)行為的執(zhí)行。不是有效命令當(dāng)沒有接收到指令不作任何動(dòng)作。
圖3 系統(tǒng)流程圖
特定的語(yǔ)音識(shí)別需經(jīng)過語(yǔ)音預(yù)處理、特征提取、語(yǔ)音模塊庫(kù)建立的訓(xùn)練階段后,才能進(jìn)行正確的識(shí)別。識(shí)別階段則有特征提取和語(yǔ)音庫(kù)匹配檢驗(yàn)分的步驟。在訓(xùn)練階段,SPCE061A從采集的語(yǔ)音樣本中提取出語(yǔ)音特征信息,建立特征模型。在識(shí)別階段,SPCE061A對(duì)采集到的語(yǔ)音樣本進(jìn)行分析處理,將新捕獲的特征模型與已有的特征模型進(jìn)行對(duì)比,如果二者相似,則輸入的語(yǔ)音被識(shí)別[4]。
建立用戶特定的語(yǔ)音庫(kù)是前期語(yǔ)音訓(xùn)練的結(jié)果,并且無(wú)論自定義或非自定義的語(yǔ)音命令都要訓(xùn)練后才能被訓(xùn)練的用戶識(shí)別。
因?yàn)槁曉丛诶暗?60°范圍內(nèi)都有幾率出現(xiàn),所以系統(tǒng)采用四個(gè)拾音器以矩形方式排列。聲源發(fā)出聲音的時(shí)候,四個(gè)拾音器都會(huì)接收到信號(hào),并先后輸出高電平。采用查詢法查詢和拾音器相連的IO電平,結(jié)合定時(shí)器,取倒數(shù)三個(gè)輸出高電平的拾音器構(gòu)成xoy坐標(biāo)系,最后輸出的為坐標(biāo)系原點(diǎn)。
由3.2定位原理可以得基于當(dāng)前坐標(biāo)系下的聲源定位結(jié)果x,y,進(jìn)而求得原點(diǎn)和聲源的直線距離與當(dāng)前坐標(biāo)軸x軸的夾角α。規(guī)定與矩陣某一邊垂直的方向固定為垃圾桶的前進(jìn)的正方向,根據(jù)坐標(biāo)軸的不同一共有四種情況。如圖4所示,為了盡量以直線最短距離到達(dá)聲源定位處,垃圾桶會(huì)根據(jù)當(dāng)前原點(diǎn)和夾角α原地旋轉(zhuǎn)θ角度,使垃圾桶前進(jìn)的正方向正對(duì)聲源。
圖4 四種坐標(biāo)軸下小車旋轉(zhuǎn)角θ情況
本設(shè)計(jì)在垃圾桶前、左、右放置三個(gè)超聲波傳感器,并設(shè)定一個(gè)合適的門限值。當(dāng)超聲波測(cè)量的距離小于門限值時(shí)便判斷為檢測(cè)到障礙。根據(jù)文獻(xiàn)[5]提出的避障算法進(jìn)行改進(jìn),在基于定位算法調(diào)整好垃圾桶前進(jìn)方向后,垃圾桶默認(rèn)向正前方即聲源處行進(jìn)。當(dāng)檢測(cè)到前方有障礙時(shí),如果左邊沒有障礙,垃圾桶會(huì)左拐;如果右邊沒有障礙,垃圾桶會(huì)右轉(zhuǎn)(默認(rèn)向左拐);如果左右兩側(cè)都有障礙,垃圾桶會(huì)先后退,再重新進(jìn)行判斷。
本設(shè)計(jì)針對(duì)現(xiàn)有垃圾桶功能單一和缺乏靈活性的問題,提出了根據(jù)特定用戶的語(yǔ)音命令進(jìn)行識(shí)別且定位,在行進(jìn)過程中能自動(dòng)避障且能自動(dòng)控制桶蓋的智能垃圾桶。本設(shè)計(jì)在智能垃圾桶與用戶的交互方面實(shí)現(xiàn)了創(chuàng)新,同時(shí)具備智能家居產(chǎn)品的實(shí)用性。下一步可以繼續(xù)優(yōu)化的方向有:垃圾桶的特定語(yǔ)音識(shí)別能切換為非特定語(yǔ)音識(shí)別[6],便于多人同時(shí)使用垃圾桶;驅(qū)動(dòng)電機(jī)使用步進(jìn)電機(jī)對(duì)行進(jìn)速度進(jìn)行控制,使行進(jìn)更加平穩(wěn);對(duì)于遠(yuǎn)距離的定位采用藍(lán)牙、wifi等設(shè)備進(jìn)行定位,相當(dāng)把獨(dú)立的垃圾桶加入智能家居構(gòu)成的網(wǎng)絡(luò)中;添加容量提醒和自動(dòng)打包功能[7],讓智能垃圾桶更加人性和環(huán)保;改進(jìn)現(xiàn)有的避障算法,當(dāng)前算法不能應(yīng)對(duì)碰到類似墻角的大面積障礙和障礙物密集的情況,為了應(yīng)對(duì)生活中各種情況,避障算法還有很高的提升空間。
[1]朱敏玲,李寧.智能家居發(fā)展現(xiàn)狀及未來(lái)淺析[J].電視技術(shù),2015,04: 82-85+96.
[2]崔燕南,劉永康,李開良,朱松盛,王偉.基于聲音傳感器陣列的空間定位系統(tǒng)[J].科技導(dǎo)報(bào),2010,19:46-49.
[3]龔小章.特定聲識(shí)別與定位系統(tǒng)[J].電子科技,2011,08:36-38+45.
[4]帥曉勇,陶黃林,呂敬祥.基于SPCE061A單片機(jī)的嵌入式語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)[J].井岡山大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,02:48-53.
[5]柴鎖柱.基于超聲波測(cè)距的自動(dòng)避障智能車設(shè)計(jì)[J].滄州師范學(xué)院學(xué)報(bào),2016,01:56-58.
[6]黃濤,胡賓.基于SPCE061A單片機(jī)的非特定人語(yǔ)音識(shí)別設(shè)計(jì)[J].微計(jì)算機(jī)信息,2006,08:19-20+226.
[7]邱蘭欄,孫未,許亞能,余德明,蒙海珠.自動(dòng)封裝垃圾桶的設(shè)計(jì)與研制[J].科技資訊,2016,10:44-46+48.