機器人聲控系統的設計
3.2 語(yǔ)音識別程序
語(yǔ)音識別程序是整個(gè)程序編寫(xiě)過(guò)程中最重要的部分, 主要可以分為辨識器初始化、識別過(guò)程實(shí)時(shí)監控、獲取辨識結果和終止辨識四部分。
3.2.1 辨識初始化
辨識初始化使用void BSR_InitRecognizer (int AudioSource)函數來(lái)實(shí)現。當參數AudioSource 取1 時(shí)為L(cháng)INE_IN 電壓模擬量輸入;當參數AudioSource 取0 時(shí)為MIC 語(yǔ)音輸入。
3.2.2 識別過(guò)程實(shí)時(shí)監控
該功能調用void BSR_EnableCOUIndicator()函數來(lái)實(shí)現,主要用來(lái)辨識是否正常工作。如果辨識正常,CPU 會(huì )產(chǎn)生一個(gè)占空比為50%的方波。如果CPU 超載,則會(huì )產(chǎn)生不穩定的波形,這時(shí)為了避免語(yǔ)音辨識產(chǎn)生錯誤信息,就需要刪除命令或者優(yōu)化程序。
3.2.3 獲取辨識結果
該功能調用int BSR_GetResult()函數來(lái)實(shí)現,當無(wú)命令識別出來(lái)時(shí),返回值為0;當識別器未初始化或識別未激活返回-1;當識別不合格時(shí)返回-2;當識別出來(lái)時(shí),返回命令的序號。
3.2.4 終止辨識
該功能調用void BSR_StopRecognizer()函數實(shí)現,主要用于停止識別,并關(guān)閉FIQ_TMA 中斷。
3.3 辨識結果輸出
通過(guò)BSR_GetResult()可以得到命令的序列號,將命令的序列號改寫(xiě)成Voyager II 型機器人的相關(guān)協(xié)議, 然后通過(guò)RS232口傳輸給機器人即可達到語(yǔ)音控制的目的。
3.4 串口通信程序
為了方便用戶(hù)對Voyager II 型機器人進(jìn)行二次開(kāi)發(fā), 北京博創(chuàng )興盛機器人技術(shù)有限公司提供了標準串行接口, 并制定了詳細的通信協(xié)議,供用戶(hù)使用。為了提高通信的效率和穩定性,在Voyager II 型機器人內部,先將RS-232 標準電平轉換為T(mén)TL電平,再將TTL 電平通過(guò)MAX491 轉換為RS-485 的標準電平。
由于協(xié)議中,只支持一個(gè)主機,所以在本聲控系統中,將聲控系統的單片機作為整個(gè)硬件系統的主機, 即整個(gè)硬件系統的最高管理者,其地址默認為0.其他設備的地址默認為1-255.具體分配如下:系統設備占用地址0x01-0x0F;電機設備地址0x100-0x1F;系統保留地址為0x20-0x7F;用戶(hù)設備地址:0x80-0xAF;在系統運行過(guò)程中,主機一直占用自己的TXD 線(xiàn),從機的RXD 線(xiàn)在不進(jìn)行通信時(shí)為高阻狀態(tài),只有在接收到與自己地址相符的數據幀時(shí),才能占用總線(xiàn),一旦通信結束,立即釋放總線(xiàn),回到高阻狀態(tài)。
主機和從機采用標準的"一問(wèn)一答"通信機制,如果主機的命令需要有數據反饋,則返回需要的數據;如果不需要數據反饋,就返回上位機發(fā)送的命令。
下面,以控制機器人前進(jìn)為例說(shuō)明串口通信的協(xié)議格式:
?。?)發(fā)送固定通信字頭兩字節:0x55 0xAA
?。?)發(fā)送接收設備地址:0x01
?。?)發(fā)送數據長(cháng)度:0x04
?。?)發(fā)送命令字:0x26
?。?)發(fā)送左電機速度兩字節:0x00 0x06
?。?)發(fā)送右電機速度兩字節:0x00 0x06
?。?)發(fā)送數據效驗和:0x3A
在明確了協(xié)議格式和需要發(fā)送的內容之后, 就可以編寫(xiě)串口通信程序。首先,根據SPCE061A 的PLL 頻率和需要設定的波特率,計算出P_UART_BaudScalarHigh 和P_UART_BaudScalar-Low 的取值,完成串口參數的設定。在完成設定后,將需要發(fā)送的數據存儲到P_UART_Data 中,SPCE061A 就可以將數據發(fā)送給Voyager II 型機器人。由于,SPCE061A 的串口每次只能發(fā)送1個(gè)字節的數據,所以需要采用循環(huán)的方式,依次將通信內容發(fā)送給Voyager II 型機器人。Voyager II 型機器人收到指令后, 就可以按照指令,進(jìn)行相應的動(dòng)作。
4 總結
本系統采用了低成本的DSP-SPCE061A 作為主控芯片,和傳統的基于PC 機的語(yǔ)音識別系統相比, 雖然識別的語(yǔ)音庫相對較少,但是其具有低成本、低功耗、體積小和使用靈活方便等特點(diǎn),不僅適合于中、小型機器人,還適合于教學(xué)科研使用。所以,本聲控系統具有良好的市場(chǎng)前景和廣闊的使用空間。
本文作者創(chuàng )新觀(guān)點(diǎn): 本文提出了一種以凌陽(yáng)單片機為核心的Voyager II 型機器人聲控系統的設計方案, 該產(chǎn)品具有低成本、低功耗、體積小和使用靈活方便等特點(diǎn),不僅適合于中、小型機器人使用,還適合與教學(xué)科研使用。
評論