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