陳思宇,姚立綱,徐業(yè)良 ,王博
(1. 福州大學(xué) 機械工程及自動化學(xué)院,福建 福州 350116; 2. 元智大學(xué) 機械工程學(xué)系,臺灣 桃園 32003)
隨著現(xiàn)代社會工作、生活節(jié)奏的不斷加快,人口老齡化問題日趨嚴重[1-2]??粘彩郊彝?shù)量快速增長,許多創(chuàng)新的產(chǎn)品與服務(wù)也針對高齡者的健康照護需求而開發(fā)[3]。然而高齡者最大的風(fēng)險不全然是健康問題,而是孤立與孤獨。孤立意指一個人在生理上與其他人分離,如高齡者獨居;而孤獨則是指高齡者在心理上感到孤單[4-5]。日本早已推出幾款為高齡者設(shè)計的陪伴機器人,像是早期推出的“Yorisoi ifbot”以及相當(dāng)著名的海獺機器人Paro[6]等,都屬于自律型機器人。然而這類自律型陪伴機器人對外界刺激產(chǎn)生的回饋模式固定,往往會漸漸失去趣味和吸引力,使用者也無法基于自身的需求或喜好調(diào)整機器人的回饋模式,較難建立情感上的連結(jié)、認同與個人化的歸屬感[7]?;ヂ?lián)網(wǎng)和人工智能等信息技術(shù)的發(fā)展,為機器人提供強大的“后腦”, 建立基于云平臺的機器人系統(tǒng)可以實現(xiàn)全球范圍的信息和知識共享[8-9],并且可利用云計算和云存儲功能進行復(fù)雜計算和數(shù)據(jù)存儲,達到加速機器人學(xué)習(xí)進程、提高復(fù)雜計算的效率以及降低機器人研發(fā)和制造成本的目的[10]。由SoftBank所制造的Pepper[11]便是一個典型的云陪伴型機器人,可以對信息和數(shù)據(jù)進行儲存和學(xué)習(xí),不斷地了解使用者,擁有情感識別能力,可以通過使用者的聲音、面部表情、姿態(tài)以及語言理解用戶的感情并向使用者提供相適應(yīng)的內(nèi)容,但是其價格昂貴,對使用者的要求較高。物聯(lián)網(wǎng)技術(shù)的發(fā)展,使機器人與其他產(chǎn)品建立聯(lián)系也成為一種可能[12]。
本研究設(shè)計的陪伴型機器人,應(yīng)用云服務(wù)、自然語言技術(shù)、物聯(lián)網(wǎng)技術(shù)等,主要的研究理念就是要為高齡者設(shè)計一款屬于個人化的陪伴型機器人,創(chuàng)造更多元的陪伴交互模式,作為物聯(lián)網(wǎng)環(huán)境與高齡者的用戶接口,實現(xiàn)與使用者的對話聊天,控制家電和陪伴高齡者游戲等多種互動溝通情境。
本文設(shè)計了兩種機器人陪伴模式:1) 自然語言對話模式。透過平板電腦上執(zhí)行的App,用戶可以與機器人進行中文語音對話交流,并查詢天氣和日期、控制家電等,方便使用者的日常生活;2) 游戲陪伴模式。機器人可以與智能家居中的長者復(fù)健游戲結(jié)合,陪伴長者游戲,增加游戲過程中的趣味性,增進長者參與失智癥復(fù)健游戲的動力,減輕養(yǎng)老機構(gòu)照顧人員工作量。
根據(jù)系統(tǒng)架構(gòu)(圖1)可知,自然語言對話模式工作過程如下:機器人是由平板電腦搭配機器人底座組成,使用者透過平板電腦上執(zhí)行的App,與機器人進行語音交流,語音通過網(wǎng)絡(luò)傳送到云端服務(wù)器,云端服務(wù)器再根據(jù)聊天內(nèi)容,進行相關(guān)信息的查詢,并把查詢結(jié)果傳送回平板電腦,電腦通過語音的方式把結(jié)果告知使用者。游戲陪伴模式工作過程如下:平板電腦中的App會通過云端服務(wù)器接收到長者復(fù)健游戲的信號變化,并將相應(yīng)處理信息通過藍牙模組傳輸給機器人動作模組,使得機器人底座實現(xiàn)旋轉(zhuǎn)、抬升等各種動作,同時搭配平板上的“三維立體表情圖案”來與使用者或環(huán)境互動,增加溝通的趣味性。
圖1 系統(tǒng)架構(gòu)
本機器人設(shè)計靈感來自Pixar 在 1986 年拍的一部兩分鐘的動畫電影《Luxo Jr.》。這部很有特色的動畫電影整體故事圍繞著一臺大桌燈(Luxo Sr.)和一臺小桌燈(Luxo Jr.),兩臺桌燈都沒有臉部的表情,也沒有手部動作,但是兩個桌燈的個性和情緒藉由生動的肢體動作可以鮮明地表達出來(圖2)。Luxo Jr.帶來的設(shè)計動畫機器人的靈感及利用夸張的手法以呈現(xiàn)對象或是人的特征,這是在動畫電影中常見的手法。
圖2 Luxo Sr.和Luxo Jr.
基于動畫機器人設(shè)計理念,本研究將機器人底座設(shè)計成具備3個自由度,分別為180°水平旋轉(zhuǎn)、左右各90°的垂直旋轉(zhuǎn)以及一定程度的前傾抬升角度,3個自由度方向示意圖如圖3所示,根據(jù)3個自由度與平板電腦臉部搭配,來表達情緒。
圖3 機器人動作概念圖
機器人底座硬體依據(jù)功能可以分為三大部分(圖4),分別是基底、仰角抬升機構(gòu)和頂部旋轉(zhuǎn)機構(gòu)?;孜挥跈C器人底座的最底層,主要功能是支撐平臺和放置控制元件;仰角抬升機構(gòu)主要功能一是在開關(guān)關(guān)閉的狀態(tài)仍能支撐平板電腦維持在合適閱讀角度,二是實現(xiàn)前傾抬升的自由度;頂部旋轉(zhuǎn)機構(gòu)主要功能為提供垂直轉(zhuǎn)動平板電腦的自由度,這部分設(shè)計直接由伺服電動機轉(zhuǎn)動平板電腦夾持機構(gòu),以減少多余的機構(gòu)零件與質(zhì)量。
圖4 機器人底座硬體底座三大部分
機器人底座的實際成品如圖5所示??紤]到整體質(zhì)量不宜過重卻仍須要相當(dāng)強度,所以在材料選擇上以塑鋼作為主要材料,而在需要承受較大質(zhì)量的零件,如仰角抬升機構(gòu)的滑軌則采用鋁合金制成。機器人底座相關(guān)規(guī)格見表 1。
圖5 機器人底座實際成品圖
表1 機器人底座相關(guān)規(guī)格
為實現(xiàn)控制系統(tǒng)的指令傳輸功能和滿足已規(guī)劃的使用情境設(shè)計,在對控制器開發(fā)設(shè)計時主要使用了以下硬件:ATmega328 8-bit AVR微處理器和nRF52832藍牙模塊,在下文中將分別對這些硬件的整合使用展開介紹。
1) 微處理器ATmega328 8-bit AVR
本研究的微處理器主要是負責(zé)信號收集、運算分析和執(zhí)行各種命令信號,并發(fā)送指令控制伺服電機動作。選用微處理器ATmega328 8-bit AVR作為本系統(tǒng)的微處理器,并根據(jù)實際使用情況設(shè)計電路板如圖6所示。ATmega328內(nèi)有輸入/輸出線數(shù)23個,選用3個PWM作為伺服電機控制腳位;電源電壓最大為5.5V,加入降壓和穩(wěn)壓電路,為伺服電機提供5V的穩(wěn)定電壓;其中附有32KB的程序撰寫空間,另有32KB的Flash Memory可以儲存必要信息,滿足本研究程序存儲空間的要求;并具有與藍牙通訊功能。
圖6 Atmega328開發(fā)板
2) 藍牙模組
為了實現(xiàn)機器人平板電腦與機器人底座的通訊,選擇低能耗且穩(wěn)定的藍牙作為通訊媒介。本研究藍牙模組選用BT4.2Module(nRF52832)芯片,原理圖如圖7所示,選用P0.26/P0.27腳位作為通訊口與ATmega328芯片的TX/RX連接,實現(xiàn)電機控制及位置信息的傳遞。nRF52832芯片用戶廣泛,資源豐富,有利于產(chǎn)品開發(fā)。在微處理器內(nèi)部寫入以下程序(圖8),實現(xiàn)藍牙連接與通訊。
圖7 nRF52832芯片原理圖
圖8 ATmega328連接藍牙并讀取藍牙數(shù)據(jù)
機器人底座的控制程序是在Arduino集成開發(fā)環(huán)境撰寫的,圖9是程序開發(fā)的流程圖。在電腦上下載Arduino 集成開發(fā)環(huán)境后,點選偏好設(shè)定,在擴展的板子管理員網(wǎng)址貼上“http://arduino.uno.com/stable/package_uno.com_index.json”,點選工具,選擇板子管理員并安裝Arduino套件,將板子選擇Arduino Uno即可開始編寫程序。
對于機器人動作的編排,首先在 Arduino 端透過 VarSpeedServo Library 進行伺服電機控制,以 myservoTop 代表負責(zé)垂直旋轉(zhuǎn)的伺服電機、myservoMid 代表負責(zé)前傾后仰的伺服電機、myservoBot 代表負責(zé)整體水平旋轉(zhuǎn)的伺服電機,使用 write(int value, speed)方法控制,輸入欲讓伺服電機到達的目標角度以及速度,經(jīng)過不斷微調(diào)之后編寫9個標準動作(表2),每個情境的動作都由這9種基本動作組合而成,根據(jù)情境不同,組合動作與順序有所差別。
圖9 程序開發(fā)流程圖
客戶端App是以Android Studio集成開發(fā)環(huán)境撰寫的,開發(fā)重點是實現(xiàn)語音控制功能和資訊傳輸平臺的搭建,圖10說明了App的流程及各組成部分。App 接收來自使用者的語音指令,經(jīng)判斷后,若為機器人可識別指令則播放相應(yīng)動畫,并將動作命令經(jīng)由藍牙傳送給機器人底座,使機器人底座做出相應(yīng)情緒動作。其中喚醒功能利用Android函式庫模塊pocketsphinx-android-5prealpha-release中的SpeechRecognizer進行喚醒詞開發(fā);語音識別利用ai.api:sdk:2.0.7@aar函式庫模塊功能中的voiceRequest函式進行,將聲音轉(zhuǎn)化為文字;語音合成利用ai.api.sample.TTS函式庫模塊功能中的textToSpeech進行,將文本轉(zhuǎn)化為聲音并讀出。為達成上述流程, App建置播放動畫功能,首先將動畫放入指定活頁夾中;當(dāng)接收到游戲狀態(tài)指令經(jīng)過判斷后,利用android.media.MediaPlayer函式庫模塊中的playVideo()函式播放活頁夾中相應(yīng)的影片。
表2 基本動作及程序代碼
圖10 App流程及各組成部分
使用者打開App進行登錄,App界面處于待機界面,通過語音和觸摸屏激活,主界面有語音控制符號和動畫表情,界面如圖 11所示。該界面包含待機界面,機器人等待被喚醒激活;成功喚醒后,機器人界面變?yōu)榻邮罩噶罱缑?,接收使用者語音命令;接收完畢后,進入語音處理界面;處理完成后,變成回復(fù)界面,給予使用者回復(fù)。該界面左上角設(shè)置手動觸屏按鈕,可以通過觸摸屏激活并下達使用者指令。自然語言對話模式,可以大致分為3種:聊天功能、信息查詢功能和任務(wù)發(fā)布功能,目前已經(jīng)設(shè)置完成的對話語句部分如表3所示。根據(jù)自然語言處理平臺中的歷史記錄可知,事件回復(fù)平均時間為1.71s,事件成功匹配率66.67%,符合設(shè)計要求。
圖11 機器人App界面
表3 對話訓(xùn)練語句列表
機器人與長者復(fù)健游戲配合搭配情境如下:游戲開始,機器人播放動畫,配合動作,提醒使用者游戲開始;使用者根據(jù)顏色配對成功后,機器人播放動畫,配合動作,為使用者喝彩;使用者長時間沒有配對成功,機器人播放動畫,配合動作,為使用者加油;游戲結(jié)束機器人播放動畫,配合動作,播報游戲成績。實驗結(jié)果,由于網(wǎng)絡(luò)原因,機器人反應(yīng)動作會有些許時間的延遲,但是準確率高達100%,符合設(shè)計要求(圖12)。
圖12 游戲陪伴模式應(yīng)用情境
現(xiàn)將上述幾個情境的機器人動作與動畫情況舉例如圖13、圖14所示。
圖13 游戲開始機器人動畫與動作
圖14 配對成功機器人動畫與動作
本文根據(jù)動畫機器人設(shè)計理念,設(shè)計了機器人外型以及豐富的動作,并從云服務(wù)、物聯(lián)網(wǎng)、自然語言等技術(shù)觀點出發(fā),設(shè)計實現(xiàn)了機器人與長者的自然語言溝通交互模式和游戲陪伴交互模式,讓機器人成為物聯(lián)網(wǎng)與長者的用戶接口。通過實驗驗證,通過平板電腦上執(zhí)行的App,用戶可以與機器人進行自然語言對話,查詢信息、控制家電;機器人可以在長者進行復(fù)健游戲時,陪伴長者,減輕長者孤獨感,所以設(shè)計此款陪伴型機器人具有重要的意義,并且此款機器人結(jié)構(gòu)簡單,價格便宜,具有很大的市場前景。