陳鐸 盧元爍 張幽彤
(1.北京航空航天大學(xué) 北京市 100083 2.北京交通大學(xué) 北京市 100044)(3.北京理工大學(xué) 清潔車輛實(shí)驗(yàn)室 北京市 100081)
2019 年11 月27 日,北京市十五屆人大常委會第16 次會議表決通過北京市人大常委會關(guān)于修改《北京市生活垃圾管理?xiàng)l例》的決定。修改后的《北京市生活垃圾管理?xiàng)l例》對生活垃圾分類提出更高要求,將于2020 年5 月1 日起施行。
針對于目前大眾對于垃圾分類的需求和目前的痛點(diǎn)分析發(fā)現(xiàn)智能垃圾桶的需求日漸升高。在面對垃圾分類逐漸日程化的過程中,優(yōu)化提升居民的垃圾分類便捷性是十分重要的。所以,智能垃圾桶的語音控制板塊也變?yōu)榱酥刂兄?。作為中國人群組成不可或缺的高齡居民,對于智能化、語音化的垃圾分類是具有更高的需求的。所以,智能垃圾桶的革新和廣泛推廣是勢在必行的。
在當(dāng)今社會,垃圾分類主要是由人力或更為智能化的金屬識別分類器。針對于人力來說,人工成本較為高,并且針對于職業(yè)的特殊性對于人才市場和人員篩選沒辦法做到快速補(bǔ)充。若保持大量采用人力資源作為垃圾分類的動力,垃圾分類和有效回收是無法做到的。相比而言,金屬傳感器似乎更加智能化,有效化。可是作為金屬傳感器的弊端也十分明顯。類似于只能分別金屬和非金屬,對于垃圾分類的有效識別功能還是十分缺乏的。目前,對于市面上發(fā)現(xiàn)有針對于居家的語音識別垃圾桶技術(shù)可以解決這兩點(diǎn)的弱勢。針對于識別垃圾的種類甚至是細(xì)微的分類,并且針對于垃圾種類,在居民不知道是什么分類的垃圾時(shí),進(jìn)行指導(dǎo),可降低人工成本和分類的力度以及準(zhǔn)確性。類似于[2]《以 STM32 單片機(jī)為基礎(chǔ)制作的智能垃圾桶》中提出的自動打掃功能。設(shè)計(jì)思路主要為根據(jù)語音識別模塊識別信息,再轉(zhuǎn)化為電信號,進(jìn)入中控后以命令形式傳出。最后執(zhí)行電機(jī)驅(qū)動和智能打掃功能。在[3]《基于Arduino 控制器的校園智能垃圾桶設(shè)計(jì)》中,張園等發(fā)現(xiàn)有垃圾桶的垃圾分類和垃圾回收面臨的問題還有一點(diǎn)就是于垃圾滿溢問題。研究人員使用了超聲波傳感器模板對垃圾桶進(jìn)行內(nèi)部測定,內(nèi)部垃圾高度以及垃圾重量進(jìn)行系統(tǒng)的測量和進(jìn)一步的計(jì)算。并采用GPRS 技術(shù)進(jìn)行信號的傳輸。當(dāng)垃圾滿溢后,超聲波信號傳導(dǎo)到中控系統(tǒng),中控系統(tǒng)再發(fā)出指令進(jìn)行垃圾桶蓋的合攏,使垃圾無法進(jìn)入,并通報(bào)管理人員及時(shí)更換垃圾袋。[4]《基于語音系統(tǒng)的垃圾分類控制裝置的設(shè)計(jì)》張藝藍(lán) 金紅在這篇文獻(xiàn)的研究中,控制主板同樣使用了STM32 單片機(jī),而語音識別也是LD3320芯片,但不同于前文的通過紅外識別傳感器來激發(fā)LD3320的工作,此研究中采取了定時(shí)循環(huán)檢測識別是否有語音輸入,相對于紅外識別系統(tǒng)可能會更簡單,但耗能可能會有所增加。但該研究的整體的系統(tǒng)結(jié)構(gòu)圖十分清晰,原理明了。而在反饋機(jī)制中,此研究選用了JQ8400 語音播報(bào)模塊和1.44TFT液晶屏進(jìn)行語音和顯示的雙重反饋,反饋系統(tǒng)十分完善,可清晰地告知投放者的投放情況。
本文所述的智能語音分類垃圾桶是基于Arduino 單片機(jī)和WEGASUN‐M6 語音識別模塊設(shè)計(jì)和實(shí)現(xiàn)的,安裝在垃圾桶桶身的麥克風(fēng)感知語音控制信息,并反饋給WEGASUN‐M6 語音識別模塊,語音識別模塊一方面查表反饋垃圾類別,一方面與Arduino 單片機(jī)通信。Arduino 單片機(jī)控制底盤和桶身電機(jī)驅(qū)動底盤和垃圾袋夾運(yùn)動。垃圾桶通過底盤運(yùn)動接近用戶,通過垃圾袋夾運(yùn)動再四種垃圾的垃圾袋中打開正確的垃圾袋。
通過對國內(nèi)的研究現(xiàn)狀對比可發(fā)現(xiàn):在語音智能垃圾桶的核心技術(shù)——語音識別芯片中,幾乎所有研究中都運(yùn)用到了LD3320 這一語音芯片,該芯片也是在語音識別領(lǐng)域精準(zhǔn)、可靠性較高的一款,而在這一套系統(tǒng)的其他方面各研究的側(cè)重點(diǎn)和不同設(shè)備的選擇上均有所不同。
在主控板的選擇上部分選用了STM32,而部分則選擇了Arduino。Arduino 是一個(gè)開源的電子開發(fā)原型平臺。其包含硬件開發(fā)板和軟件IDE 和各種開發(fā)生態(tài)。所以Arduino是一個(gè)集合了硬件和軟件的綜合體。而STM32,可以先簡單的理解為,ST 意法半導(dǎo)體,基于ARM Cortex‐M 系列的單片機(jī)。其實(shí)這兩者本身并不具有直接對比性,所處的維度不同。但當(dāng)兩者均形成一個(gè)簡單綜合體后,可在一些方面進(jìn)行簡單對比。在硬件開發(fā)板,市面上售賣的通常是現(xiàn)成的Arduino 開發(fā)板,雖然它也有很多的擴(kuò)展板和傳感器模塊供二次開關(guān),但是仍然在一個(gè)固定的硬件基礎(chǔ)上。至于STM32 的話可以設(shè)計(jì)各種各樣的開發(fā)板,而對于Arduino 而言,開發(fā)上手相對容易,因?yàn)锳rduino 對硬件底層做了很多的封裝,尤其適合新手入門。各種配套教程也很系統(tǒng),上手簡單。STM32 的話需要做準(zhǔn)備工作比較多,需要自己搭建硬件和軟件結(jié)合,對C語言要求也比較高,入門比Arduino難。但是掌握之后,靈活多變,也可以適應(yīng)各種各樣的應(yīng)用場景??偠灾?,兩者的選擇依據(jù)研究者的主要側(cè)重目的和研究維度而定,在不同維度下二者各有利弊,均可在語音控制智能垃圾桶中使用。
在眾研究中,語音指令的識別原理都大致相似,但在反饋機(jī)制、細(xì)節(jié)優(yōu)化上又都各具特色。在關(guān)于喚醒語音識別系統(tǒng)的方式中,《基于語音識別技術(shù)的智能分類垃圾桶》的采用傳感器控制Arduino UNO R3 開發(fā)板的休眠與喚醒。HC‐SR501 的信號輸出端與Arduino UNO R3 開發(fā)板相連。當(dāng)傳感器未感測到在2m 范圍內(nèi)有扔垃圾者靠近垃圾桶時(shí),傳感器輸出低電平,各模塊處于休眠狀態(tài),LED 燈不亮;當(dāng)傳感器感測到有扔垃圾者靠近時(shí),傳感器輸出高電平,各模塊啟動,LED 燈點(diǎn)亮。當(dāng)扔垃圾者完成垃圾投放離開后,傳感器再次輸出低電平,各模塊關(guān)閉,LED 燈熄滅。該模式可有效保護(hù)Arduino UNO R3 開發(fā)板,延長其使用期限。而在《基于語音系統(tǒng)的垃圾分類控制裝置的設(shè)計(jì)》采取了定時(shí)循環(huán)檢測識別是否有語音輸入來喚醒,此模式更加簡單,但可能系統(tǒng)部分元件的使用壽命會收到影響。但兩種喚醒方式的適用范圍有所差異,須基于不同地區(qū)垃圾桶的使用頻率進(jìn)行不同安排,以便達(dá)到資源的最有效使用。同樣,在系統(tǒng)識別語音信息后給與投放者的反饋信息的方式也存在異同,有的研究方案中的反饋機(jī)制只是垃圾桶是否打開,而其余則以語音播報(bào)或者屏幕顯示的方式給與投放者回應(yīng)。在這幾種方式中,屏幕和語音播報(bào)的雙重反饋機(jī)制的反饋效果最好,可以讓投放者清晰地知曉自己語音的識別結(jié)果,但在設(shè)計(jì)和成本上肯定有相應(yīng)困難,而只以垃圾桶蓋的打開與否進(jìn)行反饋可能會誤導(dǎo)投放者辨別是否已喚醒投放系統(tǒng),不利于及時(shí)的反饋檢修。而語音播報(bào)的但反饋方式先階段使用較普遍,具有低成本、高效率的特點(diǎn)。
本文設(shè)計(jì)的智能語音分類垃圾桶包括機(jī)械結(jié)構(gòu)、硬件結(jié)構(gòu)。如圖1 顯示了裝置的工作流程。
圖1:裝置工作流程
主要模塊功能如下:
語音識別模塊:分析處理音頻的電信號,向主控制器(Arduino 單片機(jī))傳遞分析結(jié)果,內(nèi)置垃圾分類數(shù)據(jù)表,根據(jù)語音信息和數(shù)據(jù)表歸類垃圾,控制揚(yáng)聲器輸出提示語音。
主控制器(Arduino 單片機(jī)):與語音識別模塊通信,控制電機(jī)驅(qū)動器,給予電機(jī)控制器使能、方向、速度信號。如圖1 所示。
關(guān)鍵零件選型。
4.2.1 底盤電機(jī)選型
因考慮到智能垃圾桶需滿足可行進(jìn),可移動到使用者身邊的功能,故需選用底盤電機(jī)。底盤電機(jī)用于驅(qū)動整個(gè)垃圾桶行進(jìn),考慮到本裝置體積較大,滿載時(shí)重量較大,根據(jù)實(shí)際需求,本次選用15W 直流有刷減速電機(jī),并選擇低速大扭矩模式。電機(jī)在滿載時(shí)有15gf*cm 扭矩和31r/min 的轉(zhuǎn)速,可以滿足垃圾桶的驅(qū)動需求,具體參數(shù)如表1 所示。
表1:直流減速電機(jī)技術(shù)參數(shù)
4.2.2 桶身絲桿電機(jī)選型
在針對于垃圾桶的設(shè)計(jì)過程中,需要帶有可選擇性開關(guān)所需分類垃圾袋的功能,所以選擇使用絲桿電機(jī)作為結(jié)構(gòu)的必要。垃圾桶設(shè)計(jì)中,垃圾袋需要通過橫桿加持,并通過橫桿的直線運(yùn)動帶動垃圾袋的開合。這一運(yùn)動過程需要300mm 左右的行程,足夠的動力和精確的控制。綜合考慮成本因素和扭矩輸出需要,桶身絲桿電機(jī)采用42 直線步進(jìn)電機(jī)。絲桿步進(jìn)電機(jī)可也便捷地將轉(zhuǎn)動轉(zhuǎn)化為直線運(yùn)動,還適合精確控制速度和位置。表2 中列舉了電機(jī)的技術(shù)參數(shù)。
表2:42 絲桿步進(jìn)電機(jī)技術(shù)參數(shù)
4.2.3 底盤結(jié)構(gòu)設(shè)計(jì)
為避免啟動時(shí)的沖擊造成垃圾桶向后傾倒,底盤結(jié)構(gòu)采用前輪電機(jī)直驅(qū)的驅(qū)動形式。各輪與各軸固連,通過螺紋螺母固定;輪與底盤木質(zhì)結(jié)構(gòu)之間使用軸承連接;軸與電機(jī)使用聯(lián)軸器連接;各木質(zhì)零件之間通過木工膠和射釘連接。對于底盤的需求還有一點(diǎn)就是盡量要大,或者整體重心保證符合在一定加速度條件下不會發(fā)生傾倒。
4.2.4 垃圾袋開合夾持機(jī)構(gòu)設(shè)計(jì)
為同時(shí)加持垃圾袋和移動垃圾袋開口,采用了橫桿加持垃圾袋配合滑軌和絲桿電機(jī)的結(jié)構(gòu)。垃圾袋用夾子夾持在相鄰兩橫桿上,當(dāng)絲桿螺母與橫桿通過部件固連一起直線運(yùn)動時(shí),橫桿隨之運(yùn)動,夾帶著垃圾袋的橫桿分別向兩側(cè)打開,完成打開一個(gè)垃圾袋的功能。為協(xié)助垃圾分類,方便垃圾投遞,每次投遞垃圾時(shí)僅打開一個(gè)垃圾袋。
具體傳動過程為:42 絲桿電機(jī)驅(qū)動絲桿轉(zhuǎn)動——絲桿帶動絲桿螺母直線運(yùn)動——絲桿螺母與橫桿通過桿件固連一起直線運(yùn)動——橫桿夾持垃圾袋,將部分橫桿移動至最左端,部分移動至最右端,即可完成“僅打開一個(gè)垃圾袋”的功能需求。
4.2.5 桶身外形設(shè)計(jì)
為滿足不同場景使用者的需求,設(shè)計(jì)了兩款智能垃圾桶。分別是具有科技風(fēng)的現(xiàn)代外觀和充滿自然氣息的原木風(fēng)格設(shè)計(jì)。前者給人先進(jìn),潮流的感覺,后者則是帶領(lǐng)人欣賞自然的風(fēng)光,親近于原始森林。
4.3.1 Arduino 單片機(jī)
微控制器是裝置的核心,對整個(gè)硬件系統(tǒng)的運(yùn)行情況起著決定性的作用。本裝置采用Arduino Mega2560 作為系統(tǒng)主控制器。Arduino Mega2560 是采用USB 接口的核心電路板,具有54 路數(shù)字輸入輸出,適合需要大量IO 接口的設(shè)計(jì)。處理器核心是ATmega2560,是8 位單片機(jī),同時(shí)具有54 路數(shù)字輸入/輸出口(其中15 路可作為PWM 輸出),15 路模擬輸入,4 路UART 接口,一個(gè)16MHz 晶體振蕩器,一個(gè)USB 口,一個(gè)電源插座,一個(gè)ICSP header 和一個(gè)復(fù)位按鈕。Arduino Mega2560 相比于其他控制系統(tǒng)有著優(yōu)秀的程序可讀性、便捷友好的入門難度和豐富的社區(qū)資源等優(yōu)點(diǎn),并且成本價(jià)格實(shí)惠,且整體性價(jià)比高,受到廣泛的應(yīng)用。
4.3.2 WEGASUN‐M6 語音識別模塊
相比于眾多研究中采用的LD3320 芯片,在此設(shè)計(jì)中運(yùn)用了WEGASUN‐M6 語音識別模塊。語音信號處理與反饋是本裝置設(shè)計(jì)的重點(diǎn)和難點(diǎn),也是本裝置的亮點(diǎn)所在。為保證識別效果和設(shè)計(jì)進(jìn)度,選用型號為WEGASUN‐M6 的語音識別模塊。該模塊集成了語音識別和語音輸出功能,通過配置合適的麥克風(fēng)和揚(yáng)聲器,可以對遠(yuǎn)達(dá)5m 的語音信號給予正確識別,可以記憶2000 句識別詞條,操作便捷、串口豐富,通訊順暢。該模塊識別能力基本滿足本裝置語音識別需求,作為重要的控制單元選入硬件系統(tǒng)。
圖2 為本裝置電路圖,硬件系統(tǒng)包括24V 電源、DC‐DC 降壓模塊,語音控制模塊,麥克風(fēng)、揚(yáng)聲器一體模塊、Arduino 單片機(jī)、步進(jìn)電機(jī)驅(qū)動器、步進(jìn)電機(jī)、繼電器、直流電機(jī)。其中麥克風(fēng)、揚(yáng)聲器、電機(jī)作為執(zhí)行單元,功能簡單明了。電源由兩組12V‐2800mAh 鋰電池包串聯(lián)形成,為兩電機(jī)供電。DC‐DC 壓降模塊將24V 電源電壓降為5V,為語音控制模塊和Arduino 單片機(jī)供電。繼電器和步進(jìn)電機(jī)驅(qū)動器隔離高壓和低壓電路,同時(shí)接受單片機(jī)信號以控制電機(jī)。
圖2:垃圾桶電路設(shè)計(jì)
4.5.1 智能垃圾桶系統(tǒng)總體設(shè)計(jì)
針對于目前垃圾分類的需求愈發(fā)嚴(yán)重之時(shí),設(shè)計(jì)了一款具有語音識別,移動,指引人們分類投放垃圾的智能垃圾桶。對于的設(shè)計(jì)來說,要滿足于使用者分別為兩個(gè)方面:移動以及識別分類投放垃圾。針對于此兩點(diǎn)需求分別設(shè)計(jì)了移動板塊和語音識別板塊。通過對于前文的圖標(biāo)所示的設(shè)計(jì)進(jìn)行進(jìn)一步優(yōu)化。總體上以語音輸入——分析信息——輸出指令——作出聲音反饋——作出行為反饋為模板,進(jìn)行了基于Arduino 單片機(jī)的整體設(shè)計(jì)。
4.5.2 智能垃圾桶機(jī)械和電氣結(jié)構(gòu)方案設(shè)計(jì)
通過對于只能垃圾桶功能的需求,分別在底盤,桶身,桶蓋幾方面分別進(jìn)行結(jié)構(gòu)的設(shè)計(jì)和選用。在底盤,選用15W直流有刷減速電機(jī),并選擇低速大扭矩模式,電機(jī)在滿載時(shí)有15gf*cm 扭矩和31r/min 的轉(zhuǎn)速,可以滿足垃圾桶的驅(qū)動需求。而在桶身,著重進(jìn)行了絲桿電機(jī)的選擇。因?yàn)榻z桿電機(jī)是實(shí)現(xiàn)分別開關(guān)垃圾袋的關(guān)鍵,絲桿步進(jìn)電機(jī)可也便捷地將轉(zhuǎn)動轉(zhuǎn)化為直線運(yùn)動,還適合精確控制速度和位置。
4.5.3 電氣結(jié)構(gòu)方案設(shè)計(jì)
而針對于電氣結(jié)構(gòu)方面的設(shè)計(jì),選用Arduino 單片機(jī)以及WEGASUN‐M6 語音識別模塊。在上文中論述過Arduino單片機(jī)的優(yōu)勢。而選用此語音識別模塊的原因便是該模塊集成了語音識別和語音輸出功能,通過配置合適的麥克風(fēng)和揚(yáng)聲器,可以對遠(yuǎn)達(dá)5m 的語音信號給予正確識別,可以記憶2000 句識別詞條,操作便捷、串口豐富,通訊順暢。
在電路圖的設(shè)計(jì)上,按照功能設(shè)計(jì)了相應(yīng)的結(jié)構(gòu)。在硬件方面功能不受影響的盡可能減少桶身占有面積,使垃圾桶更美觀,所以選擇了上述的硬件電路圖,在語音輸入模塊主要為獨(dú)立的結(jié)構(gòu),可防止無用信號以及雜音的干擾。
總而言之,各研究的側(cè)重點(diǎn)均有不同,每個(gè)研究中的閃光點(diǎn)和特點(diǎn)都對后續(xù)研究有較大指導(dǎo)意義,同樣也表現(xiàn)出不同特點(diǎn)和方式的智能垃圾桶的適用范圍均有不同。