理论教育 实现机器人情感交互的方法与应用

实现机器人情感交互的方法与应用

时间:2023-06-17 理论教育 版权反馈
【摘要】:在用户和机器人交互的过程中,机器人实验系统由传声器、USB摄像头和传感器获取当前语音、图像和传感器信息,并做出相应的动作。机器人情感交互的流程如图8-22所示。针对机器人平台情感交互的需要,该数据库包括了情感刺激表Robotfeel和情感行为表Robotshow。

实现机器人情感交互的方法与应用

在用户和机器人交互的过程中,机器人实验系统由传声器、USB摄像头和传感器获取当前语音、图像和传感器信息,并做出相应的动作。在机器人实验系统中,通过Windows的消息机制来触发事件。机器人情感交互的流程如图8-22所示。

1)定义消息映射ON_MESSAGE(UM_VOIC_INFO,VoiRecoIf),处理语音识别结果。在语音识别的ResultProc()回调函数中,填加如下语句发送消息:∷PostMessage(dDlg->m_hWnd,UM_VOIC_INFO,0,0);如果识别有效信息后,调用VoiRecoIf()消息处理函数。

2)定义消息映射ON_MESSAGE(UM_SENS_INFO,SenRecoIf),处理传感器信息;在OnComMscomm()串行口数据帧听函数中填加如下语句发送消息:∷PostMessage(dDlg->m_hWnd,UM_SENS_INFO,0,0);如果侦听到有效信息后,调用SenRecoIf()消息处理函数。

3)定义消息映射ON_MESSAGE(UM_PIC_INFO,PicRecoIf),处理图像识别结果。在图像识别的OnFrame()回调函数中填加如下语句发送消息:∷PostMessage(dDlg->m hWnd,UM_PIC_INFO,0,0);如果识别有效信息后,调用PicRecoIf()消息处理函数。

为了实现机器人对用户的交互动作的情感理解,定义了一个Robot_feel结构体,其中结构体成员包括Question、Picture、Sensor、ActEmotion,它们分别表示用户和机器人交互中的语音识别结果、图像识别结果、传感器信息、对应的情感刺激。

978-7-111-57267-1-Chapter08-32.jpg

为了方便实现机器人具有情感的行为表达,定义了一个Robot_show结构体,其中结构体成员包括Answer、Act、Music、Emotion,它们分别表示机器人情感交互时的具有感情的语音回答、具有情感的动作、具有情感的音乐、对应的情感状态。(www.daowen.com)

978-7-111-57267-1-Chapter08-33.jpg

在机器人实验系统中,建立了一个简单的Wukongdb.mdb数据库。针对机器人平台情感交互的需要,该数据库包括了情感刺激表Robotfeel和情感行为表Robotshow。

978-7-111-57267-1-Chapter08-34.jpg

图8-22 情感交互流程

在消息处理函数中,首先定义一个Robot_feel对象Wukong_feel和Robot_show对象Wukong_show,并用当前获取的信息对Robot_feel的成员赋值。如图8-21中①所示,使用结构化查询语言(Structure Query Language,SQL)查询数据库,以机器人获取的信息为关键字在数据库中查询,数据库则以符合发问条件的记录来获取与当前行为对应的情感刺激。获取当前的情感刺激后,利用人工心理规则对当前情感进行转移,产生新的情感状态。如图8-22中②所示,以当前情感状态为关键字在数据库中查询,数据库则以符合发问条件的记录来获取当前情感状态的行为,并执行相应的情感行为。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈