摘 要:本文基于LD3320語(yǔ)音識(shí)別模塊[1]和STM32ZET6單片機(jī),設(shè)計(jì)制作了一個(gè)語(yǔ)音控制的電子閱讀移動(dòng)器。通過(guò)語(yǔ)音識(shí)別技術(shù),對(duì)電子移動(dòng)閱讀器的機(jī)械臂進(jìn)行控制。試驗(yàn)表明,該語(yǔ)音控制機(jī)械臂運(yùn)作良好,能實(shí)現(xiàn)基于坐標(biāo)的定點(diǎn)移動(dòng)等基本性能,識(shí)別率高,具備一定的實(shí)用價(jià)值。[2-7]
關(guān)鍵詞:機(jī)械臂控制;語(yǔ)音控制LD3320;定點(diǎn)移動(dòng)函數(shù)
0引言
隨著機(jī)器化和信息化的水平逐漸提高,為了更好地利用語(yǔ)音控制相比其他的人機(jī)交互的方式更加方便、實(shí)用的特點(diǎn),也為了減少長(zhǎng)時(shí)間閱讀電子設(shè)備對(duì)眼睛的傷害,從而將機(jī)械臂的語(yǔ)音控制應(yīng)用更加深入我們的生活,通過(guò)對(duì)人們的生活習(xí)慣語(yǔ)句進(jìn)行分析和編程,采用LD3320語(yǔ)音識(shí)別、單片機(jī)控制,設(shè)計(jì)出一款語(yǔ)音控制的用來(lái)解放雙手,保護(hù)眼睛的電子移動(dòng)閱讀器。
1系統(tǒng)總體設(shè)計(jì)
設(shè)計(jì)的電子閱讀器由語(yǔ)音識(shí)別電路和五自由度機(jī)械臂組成,控制電路由兩大部分組成,分別為:機(jī)械臂控制電路和語(yǔ)音識(shí)別電路。機(jī)械臂控制電路由單片機(jī)、機(jī)械臂、步進(jìn)電機(jī)組成,可以實(shí)現(xiàn)對(duì)機(jī)械臂動(dòng)作命令的執(zhí)行進(jìn)行控制;語(yǔ)音識(shí)別電路包括語(yǔ)音識(shí)別模塊和單片機(jī)子電路模塊,可以實(shí)現(xiàn)對(duì)語(yǔ)音命令識(shí)別、控制信號(hào)判別輸出、和機(jī)械臂控制命令發(fā)送等操作;
系統(tǒng)框架總體設(shè)計(jì)如圖1所示
2 硬件電路設(shè)計(jì)
2.1 語(yǔ)音識(shí)別電路
語(yǔ)音識(shí)別電路實(shí)現(xiàn)的主要目標(biāo), 是用來(lái)判斷語(yǔ)音的輸入情況。和與輸出相對(duì)應(yīng)的控制命令字符串到單片機(jī)中。為了使硬件設(shè)計(jì)的過(guò)程更加簡(jiǎn)化,設(shè)計(jì)語(yǔ)音識(shí)別部分所選用的是LD3320集成模塊,該芯片集成了語(yǔ)音識(shí)別處理器、高精度的A/D、D/A轉(zhuǎn)換器,麥克風(fēng)的借接口、語(yǔ)音輸出接口等。而且并不需要任何外接輔助芯片如FLASH、RAM等,并且可以自定義開(kāi)始的狀態(tài)、關(guān)鍵詞列表及其對(duì)應(yīng)的輸出狀況。
語(yǔ)音識(shí)別電路的電路圖如圖2所示。
2.2 機(jī)械臂執(zhí)行控制電路
機(jī)械臂執(zhí)行控制電路采用的五自由度機(jī)械臂的元件都是目前市場(chǎng)上所常見(jiàn)的,五自由度機(jī)械臂能實(shí)現(xiàn)的功能是對(duì)五路的步進(jìn)電機(jī)進(jìn)行控制,機(jī)械手臂的彎曲角度與輸入脈寬信號(hào)有關(guān),如要控制機(jī)械手臂的角度只需要改變它輸入的脈寬信號(hào)即可。單片機(jī)收到語(yǔ)音識(shí)別電路輸出的信號(hào)后可以對(duì)脈寬信號(hào)進(jìn)行控制,從而實(shí)現(xiàn)機(jī)械手臂的定角度彎曲。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 系統(tǒng)軟件設(shè)計(jì)的總要求
人們?nèi)粘I铌P(guān)于習(xí)慣性的語(yǔ)言命令大致可以分為實(shí)時(shí)性和計(jì)劃性。所以對(duì)于系統(tǒng)軟件的設(shè)計(jì)方法也要包含人們關(guān)于這兩個(gè)方面的要求。才有多模式按鍵切換的方法可以滿(mǎn)足人們對(duì)語(yǔ)音控制機(jī)械臂種種要求
3.2 實(shí)時(shí)性及計(jì)劃性的實(shí)現(xiàn)分析
實(shí)時(shí)性,從一個(gè)方面分析,就是對(duì)人們發(fā)出的語(yǔ)音信號(hào)立即做出反應(yīng),注重的是短時(shí)間內(nèi)的高互動(dòng)性能。解決實(shí)時(shí)性需要機(jī)械臂對(duì)人們發(fā)出的語(yǔ)音命令立刻執(zhí)行,采用直接控制模式可以使機(jī)械臂及時(shí)響應(yīng)人們的命令控制,可以實(shí)現(xiàn)“一詞一動(dòng)”。計(jì)劃性,更注重于未來(lái)的計(jì)劃,和計(jì)劃各部分因素的全面性。對(duì)于機(jī)械臂的動(dòng)作而言,可以總結(jié)成:機(jī)械臂動(dòng)作,距離,終端的停止坐標(biāo)等多個(gè)方面的內(nèi)容,需要具體情況具體分析各個(gè)部分協(xié)同解決。由于上述特征,所以直接控制并不符合計(jì)劃性的的性質(zhì),因而需要進(jìn)行相應(yīng)的發(fā)送條件設(shè)置,對(duì)于人們?cè)谌粘I钪械牧?xí)慣性語(yǔ)言設(shè)計(jì)了兩種發(fā)送條件設(shè)置。按鍵發(fā)送和口令發(fā)送模式,可以實(shí)現(xiàn)“一句多動(dòng),條件行動(dòng)”
3.3 機(jī)械臂控制的軟件設(shè)計(jì)
機(jī)械臂控制的部分一共由五個(gè)步進(jìn)電機(jī)組成,有兩類(lèi)。第一類(lèi)為旋轉(zhuǎn)底座控制電機(jī),由一號(hào)步進(jìn)電機(jī)電機(jī)組成,械臂的動(dòng)作方位是它來(lái)控制的,可旋轉(zhuǎn)角度為270°,以機(jī)械臂運(yùn)動(dòng)方位作為參考,可以實(shí)現(xiàn)上下兩個(gè)方向各自旋轉(zhuǎn)135°;第二類(lèi)為機(jī)械臂關(guān)節(jié)電機(jī),由二號(hào)步進(jìn)電機(jī)組成,用來(lái)實(shí)現(xiàn)機(jī)械臂擬人化動(dòng)作,使機(jī)械臂可以像人類(lèi)手臂一樣左右向前向后彎曲擺動(dòng)。根據(jù)上述情況,可以使用其余步進(jìn)電機(jī)的組合動(dòng)作改變方位,遠(yuǎn)近,高低來(lái)確定機(jī)械臂終端位置,坐標(biāo)的設(shè)置對(duì)于機(jī)械臂終端的定位和擺放方式具有重要的意義。有兩種方法實(shí)現(xiàn)坐標(biāo)的設(shè)定。第一種是讓控制機(jī)械臂的單片機(jī)把機(jī)械臂各個(gè)部分的步進(jìn)電機(jī)協(xié)同工作,使終端到達(dá)坐標(biāo)點(diǎn)。當(dāng)收到指令的字符串時(shí),則由控制芯片對(duì)坐標(biāo)計(jì)算得到相應(yīng)的值,然后匹配相應(yīng)的步進(jìn)電機(jī)信號(hào)組合實(shí)現(xiàn)坐標(biāo)的設(shè)定;第二種方法是收到在機(jī)械臂控制單片機(jī)收到字符串指令后僅對(duì)一個(gè)步進(jìn)電機(jī)進(jìn)行脈寬輸出,由語(yǔ)音識(shí)別部分進(jìn)行坐標(biāo)的計(jì)算和指令的選擇。第一種方法會(huì)使程序段過(guò)長(zhǎng)、響應(yīng)延遲長(zhǎng)等的問(wèn)題,所以采用后者的坐標(biāo)設(shè)置,由語(yǔ)音識(shí)別部分的控制芯片進(jìn)行計(jì)算輸出更加便捷。
3.4 語(yǔ)音識(shí)別部分軟件設(shè)計(jì)
語(yǔ)音識(shí)別部分主控程序主要實(shí)現(xiàn)的功能有五種:分別為信號(hào)采集功能、坐標(biāo)設(shè)定功能、命令選擇功能等3個(gè)模塊。程序執(zhí)行過(guò)程首先要進(jìn)行初始化的設(shè)定,在單片機(jī)接通電源之后設(shè)置串口,設(shè)置標(biāo)志位的模式MODE=1(只有模式標(biāo)志位改變時(shí)才可以實(shí)現(xiàn)模式的切換,用中斷功能來(lái)實(shí)現(xiàn)),機(jī)械臂控制命令數(shù)組等關(guān)鍵的變量。初始化成功之后進(jìn)入各控制模式的程序段后,對(duì)于模式一(直接發(fā)送模式)的程序執(zhí)行過(guò)程為:等待信號(hào)激活標(biāo)志位的高電平信號(hào),一旦標(biāo)志位置高,則進(jìn)行對(duì)P1口的電平信號(hào)進(jìn)行掃描,把得到的數(shù)據(jù)當(dāng)作識(shí)別碼對(duì)控制命令進(jìn)行選擇。若在此過(guò)程中收到了坐標(biāo)相關(guān)的語(yǔ)音指令,則立刻執(zhí)行坐標(biāo)設(shè)定函數(shù)COORDINATE SETTING(),并與其匹配的步進(jìn)電機(jī)信號(hào)進(jìn)行組合,保存到步進(jìn)電機(jī)控制數(shù)組中,便于實(shí)現(xiàn)對(duì)機(jī)械臂的“一詞一動(dòng)”。模式二(口令發(fā)送模式)與模式三(按鍵發(fā)送模式)成功初始化之后的流程與模式一基本一致,只是執(zhí)行數(shù)據(jù)發(fā)送的條件判斷不同,模式二為語(yǔ)音命令的“發(fā)送”而模式三為按鍵發(fā)送,發(fā)送判斷為NO時(shí)需返回等待信號(hào)激活標(biāo)志位的步驟,若發(fā)送條件為YES則執(zhí)行發(fā)送指令。此時(shí),坐標(biāo)計(jì)算函數(shù)的計(jì)算過(guò)程須和數(shù)組的坐標(biāo)位協(xié)同進(jìn)行,原理和模式一大致相同。
語(yǔ)音識(shí)別部分程序流程圖如圖3所示。
4結(jié)束語(yǔ)
實(shí)驗(yàn)結(jié)果表明,設(shè)計(jì)的語(yǔ)音控制機(jī)械臂可以成功識(shí)別語(yǔ)音信號(hào),并實(shí)現(xiàn)機(jī)械臂的定點(diǎn)移動(dòng)等基本功能,語(yǔ)音識(shí)別命令的平均成功率達(dá)到90%以上。模式一可以在固定時(shí)間內(nèi)對(duì)語(yǔ)音命令進(jìn)行響應(yīng),與機(jī)械臂的互動(dòng)性較強(qiáng);模式二、三種,輸入預(yù)定好的語(yǔ)音命令之后,做到了只有發(fā)送條件成立后,再把相對(duì)應(yīng)的控制指令相繼的發(fā)送給機(jī)械臂,從而執(zhí)行相對(duì)應(yīng)的操作。綜上所述,設(shè)計(jì)的語(yǔ)音控制機(jī)械臂符合預(yù)期對(duì)語(yǔ)音命令的實(shí)時(shí)性以及計(jì)劃性的要求,工作穩(wěn)定,性能良好。就結(jié)果而言,設(shè)計(jì)依舊存在兩個(gè)方面的問(wèn)題:一方面是語(yǔ)音識(shí)別效率不高,導(dǎo)致人機(jī)交流不夠充分流暢,還并不能實(shí)現(xiàn)真正意義上的人機(jī)交互的最終目標(biāo);在另一方面,機(jī)械臂的操作流暢感稍嫌不足,語(yǔ)音識(shí)別效率和定點(diǎn)移動(dòng)準(zhǔn)確度仍有很大的改進(jìn)空間,這些不足之處將在往后的工作中加以改進(jìn)和實(shí)現(xiàn)。
感謝國(guó)家對(duì)大學(xué)生創(chuàng)新訓(xùn)練項(xiàng)目的支持。
參考文獻(xiàn):
[1] 車(chē)劉鑫,李崇斌,鐘卓霖,黃明惠,劉勇,姚嘉金,陳逸彬.語(yǔ)音控制機(jī)器人的設(shè)計(jì)[J].電子制作,2018(23):3-5+100.
[2] 李曉朋.語(yǔ)言識(shí)別技術(shù)的應(yīng)用[J].電子技術(shù)與軟件工程 .2016(23):156
[3] 祁艷飛,王茂森,戴勁松.語(yǔ)音控制在智能機(jī)器人中的應(yīng)用 [J]. 儀表技術(shù) .2015(7):45-49.
[4] 宋柏佑.機(jī)械臂語(yǔ)音控制系統(tǒng)研究 [D]. 西安科技大學(xué) .2017.
[5] 唐米杰,李新國(guó).基于語(yǔ)音識(shí)別與單片機(jī)控制的智能玩具設(shè) 計(jì)與實(shí)現(xiàn) [J]. 計(jì)算技術(shù)與自動(dòng)化 .2013,32(4):37-40.
[6] 陳松,王萍,李輝.基于單片機(jī)的語(yǔ)音識(shí)別機(jī)器人的設(shè)計(jì) [J]. 才智 .2010(20):306-307.
[7] 鐘晨帆.基于 LD3320 芯片的語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)與開(kāi)發(fā) [D]. 南京大學(xué) .2015.
作者簡(jiǎn)介:
楊帆,男(1999,10)遼寧撫順人,本科,上海工程技術(shù)大學(xué),電子電氣工程學(xué)院,自動(dòng)化,大三,研究方向:自動(dòng)化.
基金項(xiàng)目:市級(jí)大學(xué)生創(chuàng)新訓(xùn)練項(xiàng)目編號(hào)cs1902007.