基于NAO机器人的多种通道人机交互研究与案例实现

2018-08-18 08:23聂艳明林吴航董佩杰梁会张志刚钟梦浩
数字技术与应用 2018年4期
关键词:人机交互

聂艳明 林吴航 董佩杰 梁会 张志刚 钟梦浩

摘要:NAO机器人是一款可编程人形机器人,集成摄像头、麦克风、触碰、超声波、红外等多种传感器,具备对外部环境进行综合感知和交互的能力。文章基于NAOqi API实现人脸图像识别与简单的触觉感知,借助讯飞语音云和图灵机器人进行语音识别与理解,结合NAO机器人视觉、听觉、触觉等开发多种通道人机交互案例,为基于NAO机器人的多通道交互应用研究奠定基础。

关键词:人机交互;NAO机器人;NAOqi API;多通道

中图分类号:R749.94;TP242 文献标识码:A 文章编号:1007-9416(2018)04-0078-03

1 引言

人机交互是实现人与计算机对话的技术[1]。当前多通道的人机交互已成为一种新兴的人机交互方式。人机交互通道指的是人机交互的途径。所谓多通道人机交互就是在单一通道交互方式的基础上,发展融合视觉、触觉、听觉、语音和肢体行为的多种通道交互,使人机双方都能得到及时的反馈[2]。

作为一种可编程人形机器人,NAO机器人(如图1所示)集成摄像头、麦克风、触碰、超声波、红外等多种传感器,具备对外部环境进行综合感知和交互的能力。在自闭症医治、全身运动、多智能系统、自动化、信号处理等领域具有广泛的应用[1][2]。

2 NAO机器人的人机交互通道

2.1 视觉

在NAO机器人头部有两个摄像头,其分辨率都为640×480,图像的有效像素为920万,系统可提供30帧/秒的图像帧率[6]。在NAO机器人的人机交互过程中,通过摄像头采集视频信息流,完成相应处理[7]。

2.2 听觉

NAO机器人内安装有四个麦克风,通过利用NAOqi中ALAudioRecorder模块,实现NAO听觉功能。NAO机器人自主生活时,自身也可以进行声源的定位。

2.3 触觉

NAO共提供了13个触觉传感器,其中头顶三个,左右手各三个,左右脚各两个。在与机器人交互过程中,通过传感器捕捉触觉刺激并进行反馈,实现人机交互[9]。

3 基于NAO机器人的多种通道人机交互

3.1 视觉通道原理

NAO机器人提供了基础的可供开发的视觉系统,开发者可利用NAOqi或者OpenCV实现视觉通道的开发[3]。ALFaceDetection[8]是NAOqi中的一个视觉API模块。利用该模块,机器人可检测并选择识别面前的人脸。

在进行人机交互时,NAO将对捕捉到的人脸分情况处理:

(1)如果8秒时间内多次检测,发现不认识该人脸,则发出newface事件来告知其他模块有新面孔。接着打招呼并询问人名。如果交互者回复姓名,将调用ALFaceDetection API记忆该人脸;(2)如果发现认识该人脸,则发出hasface事件,并实时获取当前面孔;(3)如果发现认识该人脸,且该交互者12小时内首次出现,则发出firstface事件来告知其他模块。

每当捕捉到人脸时,都会配合其他通道工作,协助实现多通道实时交互。

3.2 听觉通道原理

基于NAO机器人的语音交互通道主要基于讯飞语音云、图灵机器人和NAO机器人共三个模块协同实现。

讯飞语音云[4]是科大讯飞提供的一个智能语音交互平台。利用讯飞云的语音听写模塊,可以将人说话的声音信息转换成相应的字符串信息。讯飞云的语音识别的准确率超过95%,这也使得NAO机器人的语音交互的准确率得到了保证。

图灵机器人是北京光年无限科技旗下的智能聊天机器人开放平台。利用其功能接口,用户可构建自己的聊天机器人。将交互者语义字符串通过http请求传给图灵机器人,进行语义处理,实现智能问答。图灵机器人具有强大的语义与认知计算技术能力,保证了交互者与NAO交互过程的准确性、流畅性。

其中,F3、讯飞云将语音信息听写成文字信息,传回NAO机器进行初步处理;F4、NAO对文字信息进行处理,过滤掉Python程序中定义的简单关键字,并进行相应的简单交互;其余部分传给图灵机器人;F5、图灵机器人对文字进行理解,产生智能反馈信息;F6、NAO语音播放语音反馈信息并配和其他通道进行交互。

3.3 触觉通道原理

NAO机器人拥有众多触觉传感器,当NAO检测到触摸时,将在ALMemory[8]中读取该值,产生相应事件。通过利用NAOqi的ALTouch模块,实时订阅TouchChanged事件,实现对触觉的捕捉。

3.3.1 案例设计

基于NAO机器人的多种通道人机交互案例采用Python开发,运行在NAO机器人内部Linux系统上,具体交互流程如图3所示。

NAO机器人的多通道交互体现在视觉、听觉、触觉、肢体运动、语音5个方面。

在视觉方面,当发现一个新的面孔需要识别时,如果此时处于空闲状态则和人打招呼并询问姓名;否则等到交互空闲时再进行询问;当NAO发现此面孔已认识且近期未与之交互,如果此时处于交互空闲状态则进行问候。

在听觉方面,NAO本身的语音识别存在一定的缺陷,因此使用第三方讯飞云进行语音识别。人类说话的时间是不定的,这就要求采集数据的时间也是可变的。通过检测人语音活动的开始与结束状态来实现动态地采集语音数据并临时保存在内存中。在使用讯飞云时,需要预先加载讯飞云的库文件。当语音中有程序中内设的动作命令时,则过滤并根据命令执行动作;当语音中有自我介绍时,如我是某某等,视觉系统会配合将此人的面孔记录下来;当过滤后,仍有未处理的语音信息,将此信息通过HTTP请求发送至图灵机器人生成语音反馈信息。在这些交互的过程中,NAO会配和做出相应肢体动作。

在触觉方面,通过对触觉信息的采集和处理,做出相应的反馈完成触觉交互。

3.3.2 案例演示

为了更好地操纵NAO机器人,事先将Python程序移植到NAO内部Linux操作系统中,并采用SSH命令远程控制NAO内部Linux系统。

建立控制连接:机器人需要实时和互联网进行连接通信。一种最简单的网络连接方式是将NAO机器人和个人PC端同时连接到同一手机热点上。

登录Nao机器人的Linux操作系统:使用软件PieTTY(默认端口是22,登录名NAO,密码NAO)。输入shell命令python NAO.py运行程序。

与NAO进行交互:将NAO机器人放在地上,交互者半蹲在机器人面前,并距离机器人30厘米。交互者脸应正对NAO机器人的摄像头,使得NAO机器人能捕捉到交互者的人脸。

当交互者和NAO进行交互时,NAO能捕捉交互者面孔。识别出交互者的面孔后,NAO会向交互者问好,并辅助做出表示友好的动作。

交互者可以和NAO机器人随机进行一系列对话。如,交互者问NAO你饿吗?NAO机器人识别出语音后,反馈回答道:我不饿,我不吃饭,只要给我充电就好了呢。

当交互者用脚踢到了NAO机器人的脚部时候,NAO接收到刺激,进行语音反馈。

当尝试让NAO讲个故事解闷时,NAO会马上给交互者念一段故事。NAO边讲故事,边手势辅助表达。

交互者也可以告诉NAO机器人自己的内心感受。如交互者说:我生气了。NAO会边安慰交互者,边做手势辅助反馈。

交互者也可以控制NAO机器人的行为动作。当发出动作指令后,并且NAO机器人识别语音成功后,便根据交互者指令完成相应动作。

4 结论语句

本文利用Python语言,进行了基于NAO机器人多种通道的人机交互案例的研究与开发,采用NAOqi API实现人脸图像识别和简单的触觉感知,借助讯飞语音云模块和图灵机器人模块进行语音识别与语义理解,为课程《人机交互与可视化技术》提供案例,进而为基于NAO机器人的多通道交互应用研究奠定基础。

实现基于NAO机器人的单个通道以及多种通道的交互相对简单,而多通道交互中多个通道之间协作与数据融合、实时响应、异常处理等却非常具有挑战性。另外,本文开发的基于NAO机器人的多种通道人机交互案例还存在语音识别不准确、人脸识别不准确等诸多不足。以上都将是基于NAO机器人的人机交互研究的重点。

参考文献

[1]张婷.NAO机器人在自闭症干预中的应用[J].系统仿真技术,2013,9(04):327-331+338.

[2]肖义涵.以NAO机器人为平台的人机互动技术研究[D].上海交通大学,2014.

[3]SoftBank Robotics NAOqi API(http://doc.aldebaran.com/)

[4]科大讯飞语音云打造语音声纹识别[J].中国信息安全, 2010(11):82.

[5]刘宝亮.图灵机器人召开创新大会宣布平台开发者突破23万[N].中国经济导报,2016-08-03.

[6]张生.NAO机器人的目标识别与定位研究[D].安徽大学,2013.

[7]类红乐,魏忠恒,彭延军.人脸识别机器人的设计与实现[J].电脑知识与技术,2011,7(31):7756-7758.

[8]吴志霞,陈平.图灵智能机器人在基于Android招生咨询平台的研究与应用[J].通化师范学院学报,2016,37(02):1-3.

[9]謝将剑,宋振宇,崔玮辰,刘卿君,宋佳. 基于图灵网的智能语音交流机器人设计[J].电脑知识与技术,2017,13(09):182-184.

猜你喜欢
人机交互
人机交互课程创新实验
图像处理耦合模板定位的答题卡识别研究与应用