金琦淳,李俊斌,袁明新,王志博,張金錚
(1.江蘇科技大學(xué)機(jī)電與動(dòng)力工程學(xué)院,江蘇 蘇州 215600;2.無(wú)錫城市職業(yè)技術(shù)學(xué)院物聯(lián)網(wǎng)工程學(xué)院,江蘇 無(wú)錫 214153)
隨著科學(xué)技術(shù)的不斷發(fā)展與進(jìn)步,服務(wù)小車逐步應(yīng)用到人們的日常生活中,代替人完成特定的家務(wù),幫助行動(dòng)不便的老人或殘疾人實(shí)現(xiàn)生活自理[1-2]。為進(jìn)一步提高服務(wù)小車的人機(jī)交互性能,語(yǔ)音識(shí)別技術(shù)被引入到服務(wù)小車中。當(dāng)前,國(guó)內(nèi)外對(duì)智能設(shè)備語(yǔ)音控制系統(tǒng)的研發(fā)主要集中在無(wú)線語(yǔ)音控制系統(tǒng)的開發(fā)。國(guó)內(nèi)有楊瑋等設(shè)計(jì)的基于ZigBee技術(shù)的溫室無(wú)線智能控制終端[3],湯麗麗等設(shè)計(jì)的基于Android手機(jī)藍(lán)牙語(yǔ)音控制的智能小車[4]。國(guó)外有Baris Yuksekkaya等人設(shè)計(jì)的基于全球移動(dòng)通信系統(tǒng)(global system formobile communication,GSM)技術(shù)的家庭無(wú)線語(yǔ)音控制系統(tǒng)[5],以及Tony Ayres等人設(shè)計(jì)的基于WiFi控制的語(yǔ)音識(shí)別機(jī)器人[6]。上述方案均實(shí)現(xiàn)了無(wú)線語(yǔ)音控制功能。但在面對(duì)電磁波干擾的復(fù)雜環(huán)境時(shí),單一的無(wú)線控制方式在可靠性上存在不足。
為了改進(jìn)上述缺點(diǎn),本文設(shè)計(jì)了具有多種無(wú)線控制方式的語(yǔ)音服務(wù)小車。該小車的語(yǔ)音識(shí)別系統(tǒng)與車載系統(tǒng)相互獨(dú)立,采用紅外或無(wú)線電通信來(lái)傳輸語(yǔ)音指令;在面對(duì)復(fù)雜環(huán)境時(shí),可靈活選擇通信方式,提高了無(wú)線語(yǔ)音控制的可靠性,擴(kuò)大了語(yǔ)音控制的適用范圍。
服務(wù)小車由無(wú)線遙控系統(tǒng)和車載驅(qū)動(dòng)系統(tǒng)構(gòu)成,系統(tǒng)方案如圖1所示。
圖1 系統(tǒng)方案圖
無(wú)線遙控系統(tǒng)利用語(yǔ)音識(shí)別模塊采集并識(shí)別語(yǔ)音指令,經(jīng)單片機(jī)處理后通過(guò)紅外或無(wú)線電發(fā)射模塊發(fā)送;車載驅(qū)動(dòng)系統(tǒng)利用紅外或無(wú)線電接收模塊接收無(wú)線信號(hào),經(jīng)單片機(jī)處理后送入電機(jī)驅(qū)動(dòng)模塊和機(jī)械手(舵機(jī))驅(qū)動(dòng)模塊,控制小車的車輪和機(jī)械手模塊完成相應(yīng)動(dòng)作[7]。
服務(wù)小車的硬件電路由無(wú)線遙控系統(tǒng)硬件電路和車載驅(qū)動(dòng)系統(tǒng)硬件電路組成。無(wú)線遙控系統(tǒng)和車載驅(qū)動(dòng)系統(tǒng)的主控芯片均采用IAP15F2K61S2單片機(jī)。其優(yōu)點(diǎn)在于內(nèi)部集成可編程計(jì)數(shù)器陣列模塊,功耗低、電路簡(jiǎn)單。無(wú)線遙控系統(tǒng)硬件電路包含如下模組:?jiǎn)纹瑱C(jī)系統(tǒng)、語(yǔ)音識(shí)別模塊、紅外發(fā)射模塊、無(wú)線電發(fā)射模塊、電源電路。無(wú)線遙控系統(tǒng)電路如圖2所示。
圖2 無(wú)線遙控系統(tǒng)電路圖
車載驅(qū)動(dòng)系統(tǒng)硬件電路包含如下模組:?jiǎn)纹瑱C(jī)系統(tǒng)、電機(jī)驅(qū)動(dòng)模塊、機(jī)械手(舵機(jī))驅(qū)動(dòng)模塊、紅外接收模塊、無(wú)線電接收模塊、機(jī)械手模塊和電源電路。車載驅(qū)動(dòng)系統(tǒng)電路如圖3所示。
圖3 車載驅(qū)動(dòng)系統(tǒng)電路圖
2.1.1 語(yǔ)音識(shí)別模塊
語(yǔ)音識(shí)別模塊采用LD3320語(yǔ)音芯片,利用麥克風(fēng)采集聲音信號(hào),結(jié)合ASR(非特定人語(yǔ)音識(shí)別技術(shù))識(shí)別語(yǔ)音指令,適用于不同音色下各種語(yǔ)音指令的識(shí)別。
LD3320的語(yǔ)音識(shí)別過(guò)程主要包括語(yǔ)音芯片的初始化和語(yǔ)音指令的識(shí)別,其工作原理如圖4所示。
圖4 LD3320語(yǔ)音識(shí)別工作原理圖
語(yǔ)音芯片的初始化,是利用模塊的板載單片機(jī)將所有需要識(shí)別的語(yǔ)音指令逐條以拼音串的形式輸入到語(yǔ)音芯片中,生成對(duì)應(yīng)的語(yǔ)音關(guān)鍵詞,并構(gòu)建關(guān)鍵詞列表。語(yǔ)音指令的識(shí)別是通過(guò)麥克風(fēng)采集聲音信號(hào),并將其轉(zhuǎn)化為電信號(hào)輸入到語(yǔ)音芯片中進(jìn)行預(yù)處理;輸入的電信號(hào)首先經(jīng)A/D轉(zhuǎn)換為數(shù)字信號(hào),再通過(guò)端點(diǎn)檢測(cè)濾除信號(hào)中的靜音和非說(shuō)話聲,得到有效信號(hào)的起止,并對(duì)其進(jìn)行數(shù)據(jù)分幀處理,從而將有效信號(hào)拆分為相互關(guān)聯(lián)的數(shù)據(jù)幀[8]。經(jīng)上述處理后,對(duì)數(shù)據(jù)幀進(jìn)行特征提取,利用梅爾頻率倒譜系數(shù)法提取數(shù)據(jù)幀中的聲學(xué)特征,得到語(yǔ)音關(guān)鍵詞送入語(yǔ)音識(shí)別器中,并按照維特比算法與關(guān)鍵詞列表中的所有語(yǔ)音關(guān)鍵詞一一進(jìn)行相似度匹配[9]。匹配值最高的關(guān)鍵詞將作為識(shí)別結(jié)果,通過(guò)串口輸出給主控單片機(jī)。
2.1.2 紅外發(fā)射模塊
紅外發(fā)射模塊采用A73B紅外發(fā)射模塊,利用單片機(jī)將需要傳輸?shù)臄?shù)據(jù)進(jìn)行編碼和調(diào)制后,激勵(lì)紅外發(fā)光二極管發(fā)出一連串波長(zhǎng)為950 nm的近紅外光,以實(shí)現(xiàn)控制信息傳輸。
紅外數(shù)據(jù)的常用編碼有兩種:NEC標(biāo)準(zhǔn)和PHILIPS標(biāo)準(zhǔn)。本系統(tǒng)采用的是NEC標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)規(guī)定:一條完整數(shù)據(jù)鏈應(yīng)包括1位引導(dǎo)碼、8位地址碼、8位地址碼反碼、8位數(shù)據(jù)碼以及8位數(shù)據(jù)碼反碼。其中,引導(dǎo)碼由9 ms高電平和4.5 ms低電平組成。此外,為了區(qū)分?jǐn)?shù)據(jù)鏈中的數(shù)據(jù)“0”和“1”,需要對(duì)數(shù)據(jù)鏈進(jìn)行脈沖位置調(diào)制。其中:數(shù)據(jù)“1”由0.56 ms高電平和1.69 ms低電平組成,數(shù)據(jù)“0”由0.56 ms高電平和0.56 ms低電平組成[10]。數(shù)據(jù)鏈結(jié)構(gòu)如圖5所示。
圖5 數(shù)據(jù)鏈結(jié)構(gòu)圖
為了提高紅外傳輸信號(hào)的抗干擾性,需要將PPM調(diào)制后的信號(hào)與38 kHz載波信號(hào)進(jìn)行二次調(diào)制。紅外信號(hào)調(diào)制過(guò)程如圖6所示。
圖6 紅外信號(hào)調(diào)制過(guò)程圖
原始信號(hào)和38 kHz載波信號(hào)經(jīng)單片機(jī)調(diào)制處理后形成特定脈沖串,利用單片機(jī)I/O口的輸出功能,直接激勵(lì)紅外發(fā)光二極管發(fā)出紅外光,實(shí)現(xiàn)信號(hào)傳輸。
2.1.3 無(wú)線電發(fā)射模塊
無(wú)線電發(fā)射模塊采用nRF24L01無(wú)線收發(fā)芯片。該芯片工作于2.4 GHz的ISM頻段,內(nèi)置增強(qiáng)型突發(fā)模式控制器[11],可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)或多點(diǎn)間的無(wú)線通信;遵循SPI通信協(xié)議,利用單片機(jī)的SPI接口可以實(shí)現(xiàn)對(duì)芯片的數(shù)據(jù)操作和工作模式設(shè)置。
發(fā)送數(shù)據(jù)時(shí),首先利用單片機(jī)的SPI接口將nRF24L01設(shè)置為發(fā)送模式;接著把接收地址信息和所需發(fā)送的數(shù)據(jù)信息寫入芯片中;芯片依據(jù)輸入的數(shù)據(jù)信息自動(dòng)生成前導(dǎo)字符和CRC校驗(yàn)碼[12],并與輸入的數(shù)據(jù)信息組合成一個(gè)數(shù)據(jù)包;數(shù)據(jù)包經(jīng)芯片轉(zhuǎn)化處理后,通過(guò)印制天線發(fā)射出去,使芯片的工作模式自動(dòng)切換為接收模式,等待無(wú)線電接收模塊發(fā)送應(yīng)答信號(hào)。如果接收到應(yīng)答信號(hào),判定本次通信有效;反之則自動(dòng)重發(fā)數(shù)據(jù)包,以確保數(shù)據(jù)傳輸?shù)目煽啃?。無(wú)線信號(hào)發(fā)送原理如圖7所示。
圖7 無(wú)線電信號(hào)發(fā)送原理圖
2.1.4 電源電路
無(wú)線遙控系統(tǒng)的電源電路由L7805穩(wěn)壓芯片、AMS1117穩(wěn)壓芯片、0.1 μF瓷片電容、0.33 μF和470 μF電解電容組成。利用穩(wěn)壓芯片降壓,可將7~35 V的輸入電壓先后轉(zhuǎn)換為5 V和3.3 V的直流電壓,并結(jié)合電容濾波,輸出無(wú)高頻干擾和高穩(wěn)定性的直流電流。
L7805的內(nèi)部電路為串聯(lián)反饋式穩(wěn)壓電路[11],其結(jié)構(gòu)如圖8所示。該電路的主回路由工作于線性狀態(tài)的調(diào)整管T與負(fù)載電阻RL相串聯(lián)構(gòu)成。當(dāng)輸入電壓Ui增大時(shí),輸出電壓Uo增大,隨之通過(guò)取樣電路(電阻R1和R2分壓)得到的反饋電壓UF也增大。反饋電壓UF與基準(zhǔn)電壓UREF相比較,其差值經(jīng)比較放大器處理后使調(diào)整管T的基極電壓UB和集電極電流IC減少,從而使其C-E極間的電壓UCE增大。根據(jù)基爾霍夫電壓定律,Uo將減小,進(jìn)而實(shí)現(xiàn)電壓穩(wěn)定輸出。當(dāng)Ui減小時(shí),過(guò)程時(shí)相反。AMS1117的工作原理類同。
圖8 串聯(lián)反饋式穩(wěn)壓電路圖
2.2.1 電機(jī)驅(qū)動(dòng)模塊
電機(jī)驅(qū)動(dòng)模塊選用L298N驅(qū)動(dòng)芯片。該芯片適用于驅(qū)動(dòng)兩相和四相電機(jī)。其內(nèi)含兩個(gè)H橋的高電壓大電流雙全橋式驅(qū)動(dòng)器,支持TTL邏輯電平控制。車載驅(qū)動(dòng)系統(tǒng)集成了兩塊L298N,分別用來(lái)驅(qū)動(dòng)車輪電機(jī)和升降平臺(tái)電機(jī)。
H橋驅(qū)動(dòng)電路及工作時(shí)序如圖9所示。
圖9 H橋驅(qū)動(dòng)電路及工作時(shí)序圖
H橋驅(qū)動(dòng)器的電路組成包括4個(gè)三極管、4個(gè)與門、2個(gè)非門、1個(gè)使能端ENA和2個(gè)控制端IN1、IN2。
當(dāng)使能端為低電平時(shí),控制端的輸入信號(hào)無(wú)效,4個(gè)與門均輸出低電平,所有三極管均處于截止?fàn)顟B(tài),電機(jī)停轉(zhuǎn)。當(dāng)使能端為高電平時(shí),4個(gè)與門的輸出電平受輸入信號(hào)控制:當(dāng)IN1為低電平,IN2為高電平時(shí),三極管Q1和Q3飽和導(dǎo)通,Q2和Q4截止,電流從電機(jī)的a端流向b端,電機(jī)正轉(zhuǎn);反之,電機(jī)反轉(zhuǎn)。而當(dāng)IN1與IN2電平相同時(shí),電機(jī)停轉(zhuǎn)。
2.2.2 機(jī)械手(舵機(jī))驅(qū)動(dòng)模塊
機(jī)械手(舵機(jī))驅(qū)動(dòng)模塊采用車載單片機(jī)內(nèi)部搭載的主成分分析(principal component analysis,PCA)模塊,通過(guò)設(shè)置相應(yīng)寄存器、定時(shí)器和比較器的值,使單片機(jī)的CCP1端口輸出周期和占空比都可控的8位PWM波。
在8位脈寬調(diào)節(jié)模式時(shí),PCA模塊工作原理如圖10所示。
圖10 PCA模塊工作原理圖
選擇定時(shí)器0(8位自動(dòng)重裝模式)作為PCA模塊的時(shí)鐘源。每當(dāng)定時(shí)器0的計(jì)數(shù)值溢出時(shí),計(jì)數(shù)器(16位循環(huán)計(jì)數(shù)模式)的低八位數(shù)值CL就加1,同時(shí)計(jì)數(shù)器中的值[0,CL]和捕獲寄存器B中的值[EPCnL,CCAPnL]被輸入到9位比較器中進(jìn)行比較。當(dāng)[0,CL]<[EPCnL,CCAPnL]時(shí),9位比較器輸出低電平;反之,輸出高電平[12]。此外,當(dāng)CL的計(jì)數(shù)值由FFH變?yōu)?0H溢出時(shí),捕獲寄存器A中的預(yù)設(shè)初值[EPCnH,CCAPnH]會(huì)自動(dòng)裝載到捕獲寄存器B中。因此,通過(guò)改變捕獲寄存器A中的值,就可調(diào)整輸出PWM波的占空比,從而實(shí)現(xiàn)對(duì)機(jī)械手舵機(jī)的控制[13]。
2.2.3 紅外接收模塊
紅外信號(hào)接收過(guò)程如圖11所示。
圖11 紅外信號(hào)接收過(guò)程圖
紅外接收模塊采用1838T紅外接收頭,利用接收頭內(nèi)部的集成電路實(shí)現(xiàn)紅外信號(hào)的采集和還原,且還原后的信號(hào)與原信號(hào)波形相反。
1838T紅外接收頭內(nèi)部主要包括紅外接收二極管、放大器、限幅器、帶通濾波器、解調(diào)器、積分器和比較器[12-15]。首先,紅外接收二極管將接收到的紅外信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào),送到放大器和限幅器中處理,轉(zhuǎn)換成幅值固定的電脈沖信號(hào);然后,利用帶通濾波器,將頻率不在30~60 kHz范圍內(nèi)的信號(hào)濾除。濾除后的信號(hào)經(jīng)解調(diào)器和積分器處理后輸入到比較器中,以高低電平的形式輸出給單片機(jī)[16]。單片機(jī)根據(jù)信號(hào)中高電平的持續(xù)時(shí)間來(lái)區(qū)分?jǐn)?shù)據(jù)“0”和數(shù)據(jù)“1”,實(shí)現(xiàn)紅外信號(hào)的接收和解碼。
2.2.4 無(wú)線電接收模塊
無(wú)線電接收模塊同樣采用nRF24L01無(wú)線收發(fā)芯片,通過(guò)單片機(jī)的SPI端口,將芯片配置為接收模式。利用印制天線接收無(wú)線電信號(hào)并輸送給芯片處理,由芯片內(nèi)部硬件電路解析地址信息和數(shù)據(jù)信息,自動(dòng)去除信號(hào)中的前導(dǎo)字符和CRC校驗(yàn)碼,并判斷數(shù)據(jù)的有效性。當(dāng)接收到有效數(shù)據(jù)時(shí),芯片自動(dòng)切換為發(fā)送模式,并向無(wú)線電發(fā)射模塊發(fā)送應(yīng)答信號(hào),以表明數(shù)據(jù)接收完成;反之,則繼續(xù)接收無(wú)線電信號(hào)。
2.2.5 機(jī)械手模塊
機(jī)械手模塊結(jié)構(gòu)如圖12所示。
圖12 機(jī)械手模塊結(jié)構(gòu)圖
機(jī)械手模塊主要由機(jī)械手和升降平臺(tái)組成。其中,機(jī)械手由移動(dòng)平臺(tái)、機(jī)械臂和舵機(jī)組成,升降平臺(tái)由固定支架、減速電機(jī)、聯(lián)軸器、絲杠、螺母和導(dǎo)軌組成。
車載驅(qū)動(dòng)系統(tǒng)收到閉合和松開的語(yǔ)音指令后,通過(guò)單片機(jī)向舵機(jī)輸入周期固定、占空比可控的電脈沖信號(hào),以控制舵機(jī)的輸出軸轉(zhuǎn)動(dòng)相應(yīng)角度;同時(shí),將動(dòng)力傳遞給機(jī)械臂上的齒輪運(yùn)動(dòng)副,實(shí)現(xiàn)機(jī)械手的抓取和松開動(dòng)作。車載驅(qū)動(dòng)系統(tǒng)收到上升或下降的語(yǔ)音指令后,由電機(jī)驅(qū)動(dòng)模塊控制減速電機(jī)轉(zhuǎn)動(dòng),并通過(guò)聯(lián)軸器帶動(dòng)絲杠轉(zhuǎn)動(dòng)。利用絲杠絲母運(yùn)動(dòng)副,將絲杠的圓周運(yùn)動(dòng)轉(zhuǎn)變?yōu)橐苿?dòng)平臺(tái)的直線運(yùn)動(dòng);同時(shí),憑借其自鎖性能,可有效防止機(jī)械手在抓取重物時(shí)因重力作用而下墜,從而實(shí)現(xiàn)機(jī)械手的穩(wěn)定上升和下降。
服務(wù)小車的系統(tǒng)軟件設(shè)計(jì)由無(wú)線遙控系統(tǒng)軟件設(shè)計(jì)和車載驅(qū)動(dòng)系統(tǒng)軟件設(shè)計(jì)兩部分組成。所有程序開發(fā)均在Keil uVision5軟件上進(jìn)行,利用C語(yǔ)言編程,模塊化處理各功能子程序,程序結(jié)構(gòu)清晰、邏輯性強(qiáng)。
無(wú)線遙控系統(tǒng)軟件流程如圖13所示。無(wú)線遙控系統(tǒng)上電復(fù)位后,LD3320語(yǔ)音芯片開始采集并識(shí)別語(yǔ)音指令,通過(guò)串口輸出給單片機(jī)。單片機(jī)對(duì)指令內(nèi)容進(jìn)行解析判斷后,按照NEC協(xié)議編碼指令,并對(duì)其進(jìn)行PPM調(diào)制和二次調(diào)制,產(chǎn)生相應(yīng)脈沖串,以激勵(lì)A(yù)73B紅外發(fā)射模塊發(fā)出紅外信號(hào);或利用單片機(jī)的SPI端口將數(shù)據(jù)發(fā)送給nRF24L01無(wú)線收發(fā)芯片,通過(guò)芯片內(nèi)置電路轉(zhuǎn)化處理,控制印制天線發(fā)出2.4 GHz無(wú)線電波,完成指令發(fā)送。
圖13 無(wú)線遙控系統(tǒng)軟件流程圖
車載驅(qū)動(dòng)系統(tǒng)上電復(fù)位后,1838T紅外接收頭開始接收紅外指令或nRF24L01無(wú)線電收發(fā)芯片開始接收無(wú)線電指令。當(dāng)接收到指令后,對(duì)指令進(jìn)行解碼,并發(fā)送給單片機(jī)進(jìn)行判斷處理,由電機(jī)驅(qū)動(dòng)模塊和機(jī)械手(舵機(jī))驅(qū)動(dòng)模塊控制服務(wù)小車的車輪,使升降平臺(tái)和機(jī)械手完成相應(yīng)動(dòng)作。
為了測(cè)試服務(wù)小車無(wú)線語(yǔ)音識(shí)別的可靠性和控制范圍,分別搭建了具有紅外光照干擾(100 W白熾燈對(duì)小車整體持續(xù)照射)和電磁波干擾(2.4 GHz WiFi通信網(wǎng)絡(luò))的室內(nèi)空曠環(huán)境。室內(nèi)噪聲符合國(guó)家標(biāo)準(zhǔn)(60 dB與40 dB)。采用規(guī)定的語(yǔ)音指令組,以及正常的語(yǔ)音播報(bào)音量,在不同的測(cè)試距離下,分別對(duì)服務(wù)小車紅外語(yǔ)音控制和無(wú)線電語(yǔ)音控制的成功率進(jìn)行測(cè)試。測(cè)試次數(shù)為100次/組。
紅外與無(wú)線電語(yǔ)音控制性能測(cè)試如表1所示。
表1 紅外與無(wú)線電語(yǔ)音控制性能測(cè)試表
測(cè)試結(jié)果分析:室內(nèi)噪聲60 dB的環(huán)境中,在電磁波和紅外光照干擾下,分別測(cè)量紅外與無(wú)線電語(yǔ)音控制成功率,其均維持在95%以上;室內(nèi)噪聲40 dB的環(huán)境中,成功率達(dá)100%。這表明服務(wù)小車的紅外與無(wú)線電語(yǔ)音控制系統(tǒng)在復(fù)雜環(huán)境下具有較高的可靠性,適用于家用場(chǎng)合。當(dāng)測(cè)試距離在0~12 m范圍內(nèi)逐漸增大時(shí),紅外與無(wú)線電語(yǔ)音控制的成功率基本保持不變,表明紅外和無(wú)線電語(yǔ)音控制的范圍較廣。總體而言,在一定干擾下,服務(wù)小車的紅外與無(wú)線電語(yǔ)音控制系統(tǒng)性能穩(wěn)定可靠。
本文對(duì)現(xiàn)有服務(wù)小車的語(yǔ)音識(shí)別系統(tǒng)進(jìn)行了改進(jìn),以紅外、無(wú)線電通信技術(shù)和語(yǔ)音識(shí)別技術(shù)為基礎(chǔ),構(gòu)建了紅外與無(wú)線電語(yǔ)音控制系統(tǒng),實(shí)現(xiàn)了服務(wù)小車的無(wú)線語(yǔ)音控制。實(shí)際測(cè)試表明,紅外與無(wú)線電語(yǔ)音控制系統(tǒng)在紅外光照和電磁波干擾下都有較高的成功率,系統(tǒng)工作可靠。該研究提高了服務(wù)小車對(duì)環(huán)境的適應(yīng)性。