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