Voyager II型機器人聲控系統(tǒng)的設(shè)計
摘要: 機器人聲控系統(tǒng)的研究一直是機器人研究的主要內(nèi)容之一。傳統(tǒng)的以PC 機為核心的聲控系統(tǒng)由于體積大、功耗大和成本高等原因, 不適合于中小型機器人使用。本文給出了一種基于SPCE061A 的Voyager II 型機器人聲控系統(tǒng)的設(shè)計方案。
本文引用地址:http://www.ex-cimer.com/article/159852.htm主要介紹了聲控系統(tǒng)的軟、硬件實現(xiàn)方法。和傳統(tǒng)的聲控系統(tǒng)相比,本系統(tǒng)具有成本低、體積小、耗能低和使用靈活方便等特點。既可以作為機器人的聲控系統(tǒng),也可以作為實驗教學(xué)平臺供學(xué)生使用。
1 引言
機器人聲控系統(tǒng)的研究一直是機器人研究的主要內(nèi)容之一。傳統(tǒng)的聲音控制系統(tǒng)一般采用PC 機作為核心平臺對機器人進行控制,雖然其具有處理能力強大、語音庫完備、系統(tǒng)更新能力強等優(yōu)點,但是PC 機體積大,功耗大,成本高,不適合于中、小型機器人使用。本文以SPCE061A 為核心,設(shè)計了一套機器人聲控系統(tǒng),和傳統(tǒng)的PC 機聲控系統(tǒng)相比較,具有成本低、體積小、耗能低和使用靈活方便等特點。
本系統(tǒng)采用的機器人平臺是北京博創(chuàng)興盛機器人技術(shù)有限公司提供的Voyager II 型地面移動機器人, 該機器人采用了模塊化的設(shè)計理念,高負載能力的直流伺服控制,可選配聲納、紅外、視覺、羅盤、GPS 等傳感器和機械手等執(zhí)行器。完全可以滿足聲控系統(tǒng)的設(shè)計要求。系統(tǒng)的整體設(shè)計分為硬件設(shè)計和軟件設(shè)計兩部分,下面首先介紹一下系統(tǒng)的硬件設(shè)計。
2 系統(tǒng)硬件結(jié)構(gòu)
根據(jù)機器人平臺情況, 聲控系統(tǒng)的硬件結(jié)構(gòu)主要由微處理器單元、供電單元、聲音采集單元和串口輸出單元四部分組成,如圖1 所示:
2.1 微處理器單元
本系統(tǒng)采用凌陽公司的16 位單片機SPCE061A 作為核心控制芯片,內(nèi)置32K 閃存,其較高的處理速度能使芯片非??焖俚奶幚韽?fù)雜的數(shù)字信號, 適用于語音識別等應(yīng)用領(lǐng)域。
SPCF061A 的工作頻率范圍為0.32-49.152MHz.具備8 通道10位ADC 輸入功能, 內(nèi)置了具有自動增益控制的麥克風(fēng)輸入功能。雙通道10 位DAC 音頻輸出功能及A、B 兩個I/ 0 口輸入輸出功能。具有集成度高、性能可靠、價格低廉、功耗小等特點。這些特點充分體現(xiàn)了微控制器工業(yè)發(fā)展的新趨勢。目前,凌陽單片機SPCE061A 的應(yīng)用越來越廣,深受廣大用戶的歡迎。
2.2 聲音采集單元
聲音采集單元的換能器采用駐極體話筒, 通過話筒將采集到的聲音信號通過MIC_IN 通道傳送給CPU,MIC_IN 通道專門用于對語音信號進行采樣。語音信號經(jīng)MIC 轉(zhuǎn)換成電信號,由電容將其中的直流成分濾除, 然后輸入到集成在SPCE061A 內(nèi)部的前置放大器中。SPCE061A 的內(nèi)部增益控制電路AGC 能隨時跟蹤、監(jiān)視前置放大器輸出的音頻信號的電平,當(dāng)輸入信號過大時,自動減小放大器增益;當(dāng)輸入信號減小時,自動增大放大器增益。這樣即可以使A/D 轉(zhuǎn)換器接收到的信號一直保持在最佳電平,又可以使聲音損失減至最少,從而提高語音識別的精度。
2.3 外接供電單元
外接供電單元是聲控系統(tǒng)的選配單元, 由于聲控系統(tǒng)的能耗很低,可以外接3 個1.5V 電池,作為外接供電單元給系統(tǒng)供電。在沒有選配外接供電單元時,也可以直接使用Voyager II 型地面移動機器人的蓄電池為關(guān)濟實: 講師工學(xué)碩士聲控系統(tǒng)供電,Voyager II 型機器人的蓄電池供電電壓為24V, 將24V 電壓先經(jīng)過7805 轉(zhuǎn)換成5V電壓, 然后使用SPY0029 將5V 電壓轉(zhuǎn)換成3.3V 電壓給SPCE061A 供電。
2.4 存儲器單元
存儲器單元也是聲控系統(tǒng)的選配單元, 當(dāng)需要識別的語音資源較少時,則使用單片機中集成的FLASH 存儲器,就可以滿足要求。當(dāng)語音資源較豐富時,就需要連接外部存儲器單元,對語音資源進行存儲。為了保證系統(tǒng)的兼容性, 選用凌陽公司的SPR4096 作為外部存儲器, LASHSPR4096 內(nèi)部有512K×8bits F和4K×8bits SRAM 在進行FLASH 編程或擦除的時候,可以并發(fā)執(zhí)行SRAM 的讀寫,SPR4096 內(nèi)置了一個總線存儲器接口和一個串行接口,它允許單片機通過8_bit 并行模式或者1_bit 串行模式訪問FLASH SDRAM 的存儲區(qū)。在本系統(tǒng)中,將SPR4096的SCK 和SDA 與SPCE061A 的IOB0 和IOB1 連接, 構(gòu)成串行數(shù)據(jù)通信。
2.5 串口輸出單元
由于SPCE061A 單片機的輸入、輸出電平是TTL 電平,而Voyager II 型機器人配置的是RS-232 標準串行接口,二者的電氣規(guī)范不一致。因此,要完成SPCE061A 和機器人之間的串行通信,必須對SPCE061A 輸出的TTL 電平進行電平轉(zhuǎn)換,本系統(tǒng)中使用MAXIM 公司的MAX232 作為電平轉(zhuǎn)換芯片。MAX232 使用單電源供電, 只需外接5 個0.1uF 的電容, 就可以實現(xiàn)SPCE061A 和Voyager II 型機器人之間的電平轉(zhuǎn)換。
3 系統(tǒng)軟件設(shè)計
軟件設(shè)計中最重要的部分就是編寫語音識別程序。語音識別過程本質(zhì)上是一種多維模式識別過程。針對凌陽單片機編寫語音識別程序,主要可以分為:訓(xùn)練、辨識、辨識結(jié)果輸出三部分。
3.1 訓(xùn)練程序
當(dāng)程序第一次運行時,需要進行語音識別訓(xùn)練。完成識別訓(xùn)練后,會在FLASH 存儲器中設(shè)定標志位,下次重新啟動時,可以跳過語音訓(xùn)練過程,直接進行語音識別程序。如果用戶需要重新訓(xùn)練,也可以通過按鍵來擦除標志位,該部分程序框圖如下:
評論