金玉潔,王奧,龍慧
(長沙師范學院,湖南 長沙 410100)
依據現有研究成果發現,游戲是兒童認知社會、學習知識的有效手段之一[1]。玩具是游戲的載體,不但能夠帶給兒童快樂,還能幫助兒童去探索、學習世界。在游戲過程中,構建兒童的思維體系,幫助兒童身心健康發展。兒童具備游戲本能,而玩具是打開兒童未知世界的鑰匙,對兒童想象力、認知能力、思維邏輯能力的開發均起著至關重要的作用。
目前,兒童玩具正向著智能化、高科技方向發展。智能機器人玩具指的是借助傳統玩具外形,安裝高效電子器件的新型智能玩具設備[2]。相較于傳統玩具,智能機器人玩具具備創新性、自學習性、反饋性等優勢,能夠在玩具與兒童之間建立更加親密的聯系,為兒童提供更加豐富的游戲體驗。如基于信息技術和“互聯網+”的兒童智能玩具[3]和陪伴型動畫機器人玩具[4]等。由于控制器自身性能限制,現今市面上的智能機器人玩具存在著交互種類較少、交互響應時間較長的缺點,難以滿足現今兒童成長的需求,故本文提出Arduino平臺下的智能機器人玩具設計研究。
硬件單元是智能機器人玩具運行的基礎與前提。本文依據兒童成長需求,設計智能機器人玩具硬件單元,其主要包括主控制器單元、電機驅動單元與交互裝置硬件選取單元三部分。
隨著Arduino平臺應用范圍的不斷擴大,采用Arduino芯片實現智能機器人玩具的控制已經成為現今電子領域的重點研究問題之一[5]。Arduino平臺中硬件控制板豐富,故具備較好的控制性能。在Arduino平臺應用過程中,Arduino芯片選型至關重要。
依據智能機器人玩具設計需求,Arduino芯片需要控制遙控、電機的正常運轉,因此Arduino芯片I/O口最少20個。此研究選取AVR單片機制作與Arduino平臺兼容的核心Arduino藍核,其I/O口數量為32個,主頻為16MHz,存儲為64K Flash,AD接口數量為8個,串口數量為2個,適合快速開發項目的應用。
Arduino藍核技術參數如表1所示。

表1 Arduino藍核技術參數表
由上述可知,Arduino芯片具備32個I/O口,對其第二功能進行介紹,具體如表2所示。

表2 I/O口第二功能表
此外,Arduino藍核還具備擴展板,這是芯片發揮功能、擴展外圍服務電路的關鍵。本文采用的是雙電源IC供電方式,此種方式能夠在I/O口短路后,保障Arduino芯片的正常作業,提升設計玩具的穩定性。
為了保證擴展板與其他版塊的有效連接,將中間數據線接口轉換為串口通信線,并且用戶可以對任意I/O口進行自定義,為用戶提供更加優質的服務[6]。
電機驅動是智能機器人玩具運行的關鍵硬件單元之一。若是使用擴展板驅動電機,需要單獨對擴展板進行充電,較為復雜與混亂,故設計玩具以驅動芯片驅動電機。依據設計需求,電機驅動芯片有兩種備選方案,一種是集成驅動芯片,其優勢為電路簡單、調試容易、故障率低等;劣勢為內阻較大、利用率低、電流驅動能力有限等。另一種是MOS橋驅動芯片,其優勢為負載能力強、可定制能力強、成本低廉等,劣勢暫無。故設計玩具選取L293D驅動芯片作為電機驅動單元的核心。
L293D驅動芯片實質上是一款高電流、4通道高電壓的芯片,主要承擔著連接電機邏輯門輸出與控制信號的責任[7]。常用L293D驅動芯片具備引腳數量為16個,具體如圖1所示。

圖1 L293D驅動芯片引腳示意圖
L293D驅動芯片峰值輸出電流約為1.2A,連續輸出電流約為600mA,電壓范圍約為4.5~36V。L293D驅動芯片需要成對使用,能夠同時驅動一個或者兩個電機運轉。L293D驅動芯片驅動結構為“H”橋,結構簡化圖如圖2所示。

圖2 簡化“H”橋結構示意圖
如圖2所示,當Q1Q4導通時,電流方向由左向右,電機按順時針方向轉動;當Q2Q3導通時,電流方向由右向左,電機按逆時針方向轉動。由此可見,導通方式的不同決定著電機轉動的方向。
自然交互是智能機器人玩具的主要功能,而交互裝置硬件選取也是硬件單元中的關鍵。交互裝置硬件主要由信號輸入、信號處理與反饋輸出三部分構成。其中,信號輸入硬件主要包含溫度傳感器、濕度傳感器、壓力傳感器、姿勢傳感器等,由于篇幅的限制不再對各種傳感器進行詳細描述。
信號處理需要依據智能機器人玩具的實際負載與精度進行適當地、科學地選取,此研究利用Arduino平臺相關開發板來設計相應信號處理硬件。
反饋輸出是自然交互部分的關鍵構成組分之一,直接影響著用戶的體驗感覺。反饋輸出硬件主要包含聲音信號輸出、光信號輸出、電信號輸出等。
交互裝置硬件選取并沒有固定的標準,存在著一定的變化性,但信號輸入、信號處理與反饋輸出三個部分缺一不可,只有同時包含三個部分,才是一個完整的自然交互裝置系統。
利用上述過程完成了智能機器人玩具硬件單元的設計與選取,但是依然無法實現智能機器人玩具的穩定運行,故以設計硬件單元為基礎,設計智能機器人玩具軟件模塊。
通過對各種硬件的整體結構原理和系統比較分析,在最初的設計階段,智能故事機的設計定位是交互性強的玩具設計,并著重強調了親子游戲或多個小朋友參與的寓教于樂的設計理念。基于這一設計理念,對游戲W和故事機進行了一些新功能的設計。對新產品設計中的故事機設計元素、解決功能元素、系統整體元素、產品關鍵技術元素、專用資源分析、新產品設計方案比較分析,研究確定故事機的合理性能,從中選擇最佳方案。
本文設計的智能機器人玩具軟件模塊包含Arduino開發環境配置模塊、自然交互方式原則模塊與自然交互應用模塊三部分。
該系統包括語音識別模塊功能、藍牙模塊、LCD顯示模塊、電機驅動模塊、按鍵模塊和最小系統,多串口STC12C5A60S2單片機作為系統主控芯片。利用ASRM08-A語音控制模塊實現語音交互功能,識別精度高。通過HC-06藍牙串口通信模塊,單片機與移動電話端的 APP應用程序進行通信,以控制機器人的移動。通過藍牙模塊將機器人的運動指令發送到單片機,如前進、后退、旋轉、加速、舞蹈等,通過單片機將控制指令發送到電機驅動模塊,控制機器人的運動。LCD模組主要負責互動過程中的指令顯示及其他與娛樂、教學相關的界面顯示。
程序軟件設計的組成與流程,如圖3所示。在程序開始時根據外部開關的狀態選擇了串口1和串口2狀態。在選擇串口1進入藍牙控制模式后,主控機器人前進、后退和轉向,選擇串口2進入語音識別模塊。使用已有的語音模式識別檢測軟件完成語音識別測試。

圖3 系統軟件總體流程圖
Arduino平臺實質上是一款開源硬件設計平臺,其配套的軟件設計平臺為Arduino IDE,也是Arduino藍核的編譯器,編寫語言為Java。
Arduino IDE是智能機器人玩具軟件開發的關鍵平臺。首先應該依據串口類型配置相應的驅動程序,驅動程序安裝完成后,在控制面板中即可看到安裝完成的端口號。另外,進入Arduino平臺,在工具欄中選取對應的板子以及端口號,在板子與端口號配置完備后,對軟件代碼進行編寫、調試與下載。
自然交互方式原則主要分為三種,詳細描述如下:
原則一 以用戶為中心,即將用戶行為與感受考慮在智能機器人玩具設計的整個過程中[8]。在現今智能機器人玩具設計領域中,用戶體驗主要包含感官體驗、娛樂與教育、情感體驗與互動體驗;
原則二 多模態交互,即設計玩具中多種感官通道融合的交互方式,也是自然交互方式的最大特點。智能機器人玩具自然交互的要點為多感覺通道、交互雙向性、隱式性與非精確性等;
原則三 智能感知,即利用多種傳感器對使用者及其周邊環境進行實時的感知,為自然交互提供全面信息以及多維度感知能力。智能感知是智能機器人玩具實現自然交互性的關鍵和基礎。
所設計的智能機器人玩具中,自然交互應用主要包含語音交互、手勢交互、穿戴交互與情感交互等,由于篇幅的限制,本文僅針對情感交互模型進行詳細描述。
利用BP神經網絡來創建設計玩具的情感交互模型。設定BP神經網絡輸入層節點數量為4,分別代表4種情感值(高興、悲傷、驚訝與厭惡),節點輸入范圍為[0,1],輸出層節點數量與涵義與輸入層相同,但輸出量取值范圍為0或者1,描述某種情感是否被激活。
為了加快BP神經網絡的訓練速度,以此來降低設計玩具的響應時間,設置動量系數α為0.5,初始步長η為0.4,BP神經網絡總誤差計算公式如下:
(1)
其中:E表示BP神經網絡的實際輸出;Ep表示BP神經網絡的目標輸出。
BP神經網絡訓練樣本設置為20組,由于篇幅的限制,只對其中部分進行展示,具體如表3所示。

表3 部分BP神經網絡訓練樣本表
通過BP神經網絡誤差計算可知,當隱含層節點數量為4時,BP神經網絡總誤差為0.361 916;當隱含層節點數量為5時,BP神經網絡總誤差為0.359 574;隱含層節點數量為6時,BP神經網絡總誤差為0.366 202。故確定BP神經網絡隱含層節點數量為5,最小神經網絡誤差取值為0.3。
通過上述硬件單元與軟件模塊的設計,實現了智能機器人玩具的運行,為兒童提供更加優質的智能機器人玩具,幫助兒童健康成長。
為了驗證本文設計的Arduino平臺下的智能機器人玩具與現有玩具之間的差距,設計如下對比實驗。
以用戶需求為主,設計玩具的自然交互方式,具體如表4所示。

表4 玩具交互方式表
依據用戶(兒童)喜愛的動漫形象,將智能機器人玩具外觀設置為白色,取名為小白智能機器人玩具,其外觀設計如圖4所示。

圖4 小白智能機器人玩具示意圖
語音交互是設計玩具的核心功能,故制定完備的語音自然交互模型,如圖5所示。

圖5 語音自然交互模型示意圖
設計玩具調試連接是保障實驗順利進行的基礎與關鍵,主要是指將驅動芯片、Arduino板子、遙控手柄、電源模塊等進行接線,這也是調試的最后一個步驟,如圖6所示。

圖6 設計玩具調試連接示意圖
采用傳統的基于信息技術和“互聯網+”的兒童智能機器人玩具與本文設計的智能機器人玩具進行功能測試,通過交互種類的多少與交互響應時間來反映設計玩具的基本性能。
通過實驗獲得不同機器人玩具的交互種類數據如表5所示。

表5 交互種類數據表
如表5所示,相較于傳統的智能機器人玩具,本文設計的智能機器人玩具的交互種類更多,可實現語音、手勢、穿戴和情感四方面的交互。
通過實驗獲得不同機器人玩具的交互響應時間數據如表6所示。

表6 平均交互響應時間數據表
如表6數據顯示,本文設計的智能機器人玩具的交互響應時間數據范圍為9.56ms~12.45ms,傳統的智能機器人玩具的交互響應時間數據范圍為18.56ms~25.71ms。相比之下,本文設計的智能機器人玩具的交互響應速度更快。
上述實驗結果顯示:與傳統的玩具相比較,本文設計的智能機器人玩具交互種類較多,且交互響應時間較短,充分證明其基本功能更優。
本文基于Arduino平臺設計了一種新的智能機器人玩具,增加了玩具的交互種類,縮短了玩具的交互響應時間,為兒童提供更全面、良好的游戲體驗,也為兒童發展與成長提供更加優質的服務與幫助。