陪伴型机器人陪伴功能的设计与实现
2020-07-16陈思宇姚立纲徐业良王博
陈思宇,姚立纲,徐业良 ,王博
(1. 福州大学 机械工程及自动化学院,福建 福州 350116; 2. 元智大学 机械工程学系,台湾 桃园 32003)
0 引言
随着现代社会工作、生活节奏的不断加快,人口老龄化问题日趋严重[1-2]。空巢式家庭数量快速增长,许多创新的产品与服务也针对高龄者的健康照护需求而开发[3]。然而高龄者最大的风险不全然是健康问题,而是孤立与孤独。孤立意指一个人在生理上与其他人分离,如高龄者独居;而孤独则是指高龄者在心理上感到孤单[4-5]。日本早已推出几款为高龄者设计的陪伴机器人,像是早期推出的“Yorisoi ifbot”以及相当著名的海獭机器人Paro[6]等,都属于自律型机器人。然而这类自律型陪伴机器人对外界刺激产生的回馈模式固定,往往会渐渐失去趣味和吸引力,使用者也无法基于自身的需求或喜好调整机器人的回馈模式,较难建立情感上的连结、认同与个人化的归属感[7]。互联网和人工智能等信息技术的发展,为机器人提供强大的“后脑”, 建立基于云平台的机器人系统可以实现全球范围的信息和知识共享[8-9],并且可利用云计算和云存储功能进行复杂计算和数据存储,达到加速机器人学习进程、提高复杂计算的效率以及降低机器人研发和制造成本的目的[10]。由SoftBank所制造的Pepper[11]便是一个典型的云陪伴型机器人,可以对信息和数据进行储存和学习,不断地了解使用者,拥有情感识别能力,可以通过使用者的声音、面部表情、姿态以及语言理解用户的感情并向使用者提供相适应的内容,但是其价格昂贵,对使用者的要求较高。物联网技术的发展,使机器人与其他产品建立联系也成为一种可能[12]。
本研究设计的陪伴型机器人,应用云服务、自然语言技术、物联网技术等,主要的研究理念就是要为高龄者设计一款属于个人化的陪伴型机器人,创造更多元的陪伴交互模式,作为物联网环境与高龄者的用户接口,实现与使用者的对话聊天,控制家电和陪伴高龄者游戏等多种互动沟通情境。
1 系统总体方案设计
本文设计了两种机器人陪伴模式:1) 自然语言对话模式。透过平板电脑上执行的App,用户可以与机器人进行中文语音对话交流,并查询天气和日期、控制家电等,方便使用者的日常生活;2) 游戏陪伴模式。机器人可以与智能家居中的长者复健游戏结合,陪伴长者游戏,增加游戏过程中的趣味性,增进长者参与失智症复健游戏的动力,减轻养老机构照顾人员工作量。
根据系统架构(图1)可知,自然语言对话模式工作过程如下:机器人是由平板电脑搭配机器人底座组成,使用者透过平板电脑上执行的App,与机器人进行语音交流,语音通过网络传送到云端服务器,云端服务器再根据聊天内容,进行相关信息的查询,并把查询结果传送回平板电脑,电脑通过语音的方式把结果告知使用者。游戏陪伴模式工作过程如下:平板电脑中的App会通过云端服务器接收到长者复健游戏的信号变化,并将相应处理信息通过蓝牙模组传输给机器人动作模组,使得机器人底座实现旋转、抬升等各种动作,同时搭配平板上的“三维立体表情图案”来与使用者或环境互动,增加沟通的趣味性。
图1 系统架构
2 硬件设计
2.1 机器人底座硬体设计与开发
本机器人设计灵感来自Pixar 在 1986 年拍的一部两分钟的动画电影《Luxo Jr.》。这部很有特色的动画电影整体故事围绕着一台大桌灯(Luxo Sr.)和一台小桌灯(Luxo Jr.),两台桌灯都没有脸部的表情,也没有手部动作,但是两个桌灯的个性和情绪藉由生动的肢体动作可以鲜明地表达出来(图2)。Luxo Jr.带来的设计动画机器人的灵感及利用夸张的手法以呈现对象或是人的特征,这是在动画电影中常见的手法。
图2 Luxo Sr.和Luxo Jr.
基于动画机器人设计理念,本研究将机器人底座设计成具备3个自由度,分别为180°水平旋转、左右各90°的垂直旋转以及一定程度的前倾抬升角度,3个自由度方向示意图如图3所示,根据3个自由度与平板电脑脸部搭配,来表达情绪。
图3 机器人动作概念图
机器人底座硬体依据功能可以分为三大部分(图4),分别是基底、仰角抬升机构和顶部旋转机构。基底位于机器人底座的最底层,主要功能是支撑平台和放置控制元件;仰角抬升机构主要功能一是在开关关闭的状态仍能支撑平板电脑维持在合适阅读角度,二是实现前倾抬升的自由度;顶部旋转机构主要功能为提供垂直转动平板电脑的自由度,这部分设计直接由伺服电动机转动平板电脑夹持机构,以减少多余的机构零件与质量。
图4 机器人底座硬体底座三大部分
机器人底座的实际成品如图5所示。考虑到整体质量不宜过重却仍须要相当强度,所以在材料选择上以塑钢作为主要材料,而在需要承受较大质量的零件,如仰角抬升机构的滑轨则采用铝合金制成。机器人底座相关规格见表 1。
图5 机器人底座实际成品图
表1 机器人底座相关规格
2.2 控制系统中的控制器硬件设计
为实现控制系统的指令传输功能和满足已规划的使用情境设计,在对控制器开发设计时主要使用了以下硬件:ATmega328 8-bit AVR微处理器和nRF52832蓝牙模块,在下文中将分别对这些硬件的整合使用展开介绍。
1) 微处理器ATmega328 8-bit AVR
本研究的微处理器主要是负责信号收集、运算分析和执行各种命令信号,并发送指令控制伺服电机动作。选用微处理器ATmega328 8-bit AVR作为本系统的微处理器,并根据实际使用情况设计电路板如图6所示。ATmega328内有输入/输出线数23个,选用3个PWM作为伺服电机控制脚位;电源电压最大为5.5V,加入降压和稳压电路,为伺服电机提供5V的稳定电压;其中附有32KB的程序撰写空间,另有32KB的Flash Memory可以储存必要信息,满足本研究程序存储空间的要求;并具有与蓝牙通讯功能。
图6 Atmega328开发板
2) 蓝牙模组
为了实现机器人平板电脑与机器人底座的通讯,选择低能耗且稳定的蓝牙作为通讯媒介。本研究蓝牙模组选用BT4.2Module(nRF52832)芯片,原理图如图7所示,选用P0.26/P0.27脚位作为通讯口与ATmega328芯片的TX/RX连接,实现电机控制及位置信息的传递。nRF52832芯片用户广泛,资源丰富,有利于产品开发。在微处理器内部写入以下程序(图8),实现蓝牙连接与通讯。
图7 nRF52832芯片原理图
图8 ATmega328连接蓝牙并读取蓝牙数据
3 机器人底座的控制程序和App开发
3.1 机器人底座控制程序
机器人底座的控制程序是在Arduino集成开发环境撰写的,图9是程序开发的流程图。在电脑上下载Arduino 集成开发环境后,点选偏好设定,在扩展的板子管理员网址贴上“http://arduino.uno.com/stable/package_uno.com_index.json”,点选工具,选择板子管理员并安装Arduino套件,将板子选择Arduino Uno即可开始编写程序。
对于机器人动作的编排,首先在 Arduino 端透过 VarSpeedServo Library 进行伺服电机控制,以 myservoTop 代表负责垂直旋转的伺服电机、myservoMid 代表负责前倾后仰的伺服电机、myservoBot 代表负责整体水平旋转的伺服电机,使用 write(int value, speed)方法控制,输入欲让伺服电机到达的目标角度以及速度,经过不断微调之后编写9个标准动作(表2),每个情境的动作都由这9种基本动作组合而成,根据情境不同,组合动作与顺序有所差别。
图9 程序开发流程图
3.2 App设计与开发
客户端App是以Android Studio集成开发环境撰写的,开发重点是实现语音控制功能和资讯传输平台的搭建,图10说明了App的流程及各组成部分。App 接收来自使用者的语音指令,经判断后,若为机器人可识别指令则播放相应动画,并将动作命令经由蓝牙传送给机器人底座,使机器人底座做出相应情绪动作。其中唤醒功能利用Android函式库模块pocketsphinx-android-5prealpha-release中的SpeechRecognizer进行唤醒词开发;语音识别利用ai.api:sdk:2.0.7@aar函式库模块功能中的voiceRequest函式进行,将声音转化为文字;语音合成利用ai.api.sample.TTS函式库模块功能中的textToSpeech进行,将文本转化为声音并读出。为达成上述流程, App建置播放动画功能,首先将动画放入指定活页夹中;当接收到游戏状态指令经过判断后,利用android.media.MediaPlayer函式库模块中的playVideo()函式播放活页夹中相应的影片。
表2 基本动作及程序代码
图10 App流程及各组成部分
4 实验测试
使用者打开App进行登录,App界面处于待机界面,通过语音和触摸屏激活,主界面有语音控制符号和动画表情,界面如图 11所示。该界面包含待机界面,机器人等待被唤醒激活;成功唤醒后,机器人界面变为接收指令界面,接收使用者语音命令;接收完毕后,进入语音处理界面;处理完成后,变成回复界面,给予使用者回复。该界面左上角设置手动触屏按钮,可以通过触摸屏激活并下达使用者指令。自然语言对话模式,可以大致分为3种:聊天功能、信息查询功能和任务发布功能,目前已经设置完成的对话语句部分如表3所示。根据自然语言处理平台中的历史记录可知,事件回复平均时间为1.71s,事件成功匹配率66.67%,符合设计要求。
图11 机器人App界面
表3 对话训练语句列表
机器人与长者复健游戏配合搭配情境如下:游戏开始,机器人播放动画,配合动作,提醒使用者游戏开始;使用者根据颜色配对成功后,机器人播放动画,配合动作,为使用者喝彩;使用者长时间没有配对成功,机器人播放动画,配合动作,为使用者加油;游戏结束机器人播放动画,配合动作,播报游戏成绩。实验结果,由于网络原因,机器人反应动作会有些许时间的延迟,但是准确率高达100%,符合设计要求(图12)。
图12 游戏陪伴模式应用情境
现将上述几个情境的机器人动作与动画情况举例如图13、图14所示。
图13 游戏开始机器人动画与动作
图14 配对成功机器人动画与动作
5 结语
本文根据动画机器人设计理念,设计了机器人外型以及丰富的动作,并从云服务、物联网、自然语言等技术观点出发,设计实现了机器人与长者的自然语言沟通交互模式和游戏陪伴交互模式,让机器人成为物联网与长者的用户接口。通过实验验证,通过平板电脑上执行的App,用户可以与机器人进行自然语言对话,查询信息、控制家电;机器人可以在长者进行复健游戏时,陪伴长者,减轻长者孤独感,所以设计此款陪伴型机器人具有重要的意义,并且此款机器人结构简单,价格便宜,具有很大的市场前景。