一种机器人的情感产生方法与流程

文档序号:22547922发布日期:2020-10-17 02:19阅读:170来源:国知局
一种机器人的情感产生方法与流程

本发明涉及机器人技术领域,尤其涉及一种机器人的情感产生方法。



背景技术:

一直以来人们都希望机器人拥有人类的各种特征,这也是人们设计人工智能的初衷,目前在机器学习领域虽然取得了一定的进展,但是如何让机器具备人类一样的情感产生机制,这方面还需要一个有效的解决方案。

现有技术公开了一种机器人情绪情感生成与表达系统(申请号:201210018772.9),其包括:外界信息输入模块、性格特征模块、机器人状态管理模块以及机器人情绪表达模块;外界信息输入模块,能够接收外界输入信息并进行处理,并把处理后的结果传输给所述的机器人状态管理模块;性格特征模块,其设置并存储有多种机器人的性格特征,用户可以赋予机器人某种性格特征;机器人状态管理模块,按照机器人的不同性格特征,根据机器人状态管理规则,把机器人在不同外界输入信息的作用下,对应着生成不同的机器人不同状态,并通过所述的机器人情绪表达模块表现出来。

现有技术还公开了一种基于数据字典的情感识别机器人(申请号:201610267226.7),其包括具有感情识别模块的机器人,该机器人包括一主控制部分、音频部分、显示部分、通信部分和电源部分;所述主控制部分包括一mcu模块,所述音频部分包括音频输入输出模块,音频输出模块采用一扬声器,音频输入模块为一mic模块,所述显示部分为一触屏显示模块;所述通信部分包括一通信模块和一gsm模块;电源部分为两个电源模。该技术方案采用具有感情识别模块的机器人,可以使得机器人能够具备情感识别和情感表达的能力,提供一种建立快速、识别率高的机器人感情识别方法,进而能够赋予机器人类似于人类的主观情感识别能力。

对于情绪识机别器人来说,虽然识别了人类的一些情感,但是并不意味着机器人本身拥有了情感,这种技术在特征上更在于识别。一些机器人虽然能够表现出一些情感,但是缺乏类似于人类一样的情感产生机制,我们人类的情感变化都是有原因的,我们知道自己因何而高兴,因何而伤悲,但是我们去问机器人时,它本身并没有自己的心理与心情,所以它也不能据此给出答案,而这样产生的情感更像是空中楼阁。人与人之间的交流很多时候都是在交流自身的心理与心情,而外界环境的变化也会影响到自身心理与心情的变化,这是人们自身能够感觉到的,对于机器人来说它的感觉则来自于系统内各种变量的变化,如果我们想要机器能够像人一样能够对自身的心理与心情有所感受,那么也需要给机器设计一颗“机器之心”。

更重要的一点,当我们产生某种情感时,往往都有一个情感的强烈程度,比如非常高兴,有点高兴,不同的类型的情感都有着各自的情感强烈程度,这在机器人领域目前并未很好实现。



技术实现要素:

针对上述技术方案的不足,本发明提供一种机器人的情感产生方法,通过设计各类的情感算法,通过这些算法来渲染相关的情感变量,并在此基础上把某些因素加入到情感强烈程度计算中去,让机器产生类似于人类一样的情感产生机制,从而使机器在情感方面的特征更加接近于人类。

为实现上述目的,本发明是这样实现的:

一种机器人的情感产生方法,其特征在于其包括感知模块、运行规则、情感算法和情感表达模块,且提前预设好机器人的和运行规则,机器人的需求触动包含但不限于:当机器运行规则中的实际数值发生变化,或在将来某个时刻发生变化;

情感产生的步骤为:

s0、通过感知模块时时采集机器人所被要求采集的各项实际数值,并对实际数数值进行监测;

s1、机器人的需求是否被触动,是则进行s2,否则返回步骤s0;

s2、将该实际数值传送至运行规则,根据运行规则判断数据的数值变化方向,判断是否符合情感的产生条件,是则进行s3,否则继续监测;

s3、通过情感算法计算情感的强烈程度以及确定渲染情感的对象;

s4、通过情感表达模块将接该情感展示表达。

情感是对需求的表达,不同类型的情感,产生条件不同,我们可以根据这些条件编写不同的情感算法,在需求被触动时调用这些算法,并且给不同类型的情感变量赋值,机器通过这些情感变量感知自身心理与心情的变化。

进一步,所述感知模块包括陀螺仪传感器、图像传感器、声音传感器、压力传感器、温度传感器、震动传感器、气体传感器、湿度传感器中的一种或几种,以实时获取相关数据。

进一步,所述运行规则与感知模块相对应设置,所述运行规则,指用一个数值范围来描述某一项规则,并在该数值范围内划分若干个刻度,且其中某个区间的数值;设定为机器人工作时的舒适区,实际数值是这个规则上的任一点数值,当实际数超出舒适区数值范围时机器将会产生需求,并创建目标任务,使该实际数值稳定在舒适区,实际数值与规则范围内的任意数值之间的差值看作需求差值。

实际数值距离舒适区差值越大,说明机器将要遭受的损坏越严重,机器将会保护自身舒适的需求也会越强烈,这个差值将会作为一个因子参与到机器人任务规划中去,这会影响到机器人任务的优先级,重要程度,并且在情感的产生过程中,参与到情感的强烈程度算法中去。

机器人规则的设计:生物都有生和死两种状态,而为了生存往往要适应各种复杂的环境因素,当环境有变,生物往往会通过一些趋利避害性的行为,来确保自身的舒适,保持自己的生命状态。这些环境因素方方面面,包括温度,湿度,水分,外部压力,空气,能量来源等等,当任一因素不满足生物的生存条件,都有可能造成生物的死亡,为了便于说明,我们可以把这些环境因素看作生物的各项生命规则。对于每一部机器,它都有一个承受的最大压力数值,当压力过大,将会直接造成机器人硬件的损坏,比如外壳承受压力过大,将会破裂、形变,挤压,进而影响内部各种零件的工作;而温度过高,空气湿度过大,空气中含有腐蚀性气体,震动过于激烈,磁场过强等同样都有可能造成机器人硬件的损坏或者元器件不能正常的工作,当一部机器的各种零件遭到损坏,无法工作,同样可以看做是机器的死亡。

进一步,在所述运行规则中,若某一个实际数值从非舒适区方向向舒适区方向变化则是有益的,往正方向变化,称为有益规则事件,反之则是有损害的,往反方向变化,称为有损规则事件。这个实际数值有着时间性,概率性,间接性等特性,这些特性对于情感的产生起着至关重要的作用。时间性是指这个实际数值,可能是当前的数值,也可能是将来或过去某个时刻的数值,比如机器预测到实际数将在未来某个时刻发生变化。概率性是指这个实际数某个时刻出现某个数值的概率,因为机器在实现需求的过程中,会出现很多的不确定因素,这些因素会有一定的出现概率,或者从不确定变成确定,进而也会影响到实际数的概率。间接性是指,机器在实现自身需求的过程中,把实际数值变化到某个范围内,需要通过目标任务一步步达到,这中间包含着方法,计划等,如果没有方法去实现目标,那么也会影响到实际数的变化。

进一步,所述机器人的情感包括喜欢心理、担心心理、害怕心理、不幸心理、失望心情和沮丧心情。

进一步,所述情感算法包括根据每一种情感的强烈程度计算方式来计算单项分数和综合分数,其强烈程度和规则权重、需求差值以及实际数值出现的概率相关,

单项分数:

其中,y表示分数,变量w表示权重,且0≤w≤1,m表示最大承受数值或理想数值,l表示某一项规则的舒适区界限,f表示实际数值,p表示实际数出现的概率

综合分数为各项目的单项分数项相加后,除以各项目的权重之和,即

无论是单项分数还是综合分数,都是一个百分比数值,这个数值本身就可以反应出情感的强烈程度。

机器人的运行规则是多个方面,而某个事物的变化和发展可能会影响到其中的某几个方面,所以就需要进行单项分数统计和综合分数统计,不同类型的情感单项公式可能相同也可能不同,有些情感的强烈程度和概率相关,有些没有关系,有些是需要拿理想数值来参与运算,有些是需要拿最大承受数值来参与运算。

进一步,机器人某个时刻机器的情感通过情感的数据结构来描述,该数据结构包括项目列表、时间标记和总分数,项目列表包括至少一个项目,且每个项目包括规则id、单项分数及其他一些辅助字段或属性。其中,项目列表设置有多个项目,包含了被影响的每一项规则;时间标记可表明机器在某个时刻产生了某种情感;规则id则是通过id标记可以查询到对应的运行规则以及该规则对应的实际数变量名;机器人通过变量和变量数值来描述和感知事物,加以辅助字段或属性,便可以追溯到这个实际数数值的变化过程或者在某个时刻它所直接或间接参与描述的事物或场景。

进一步,所述情感表达模块包括行为、肢体动作、面部表情、语言的情绪表达。通过行为来表达:机器在执行目标任务过程中,会产生各种各样趋利避害性的行为,而一些心理直接通过行为就可以表现出来,因此并不需要额外的设计。通过肢体动作或者面部表情/符号表达:对于肢体动作和面部表情(表情可以看作是一种动作,也可以看作是一种符号,可以是虚拟的,也可以是具体的由机器每个面部部位组合动态产生),可以事先针对不同的情感类型设计不同的动作和表情,以此来响应不同的情感以及不同的情感强烈程度。通过语言来表达:语言可以是一个数据结构或代码,直接打印在屏幕上或通过其他方式传递给接收对象;也可以是人们日常交流中所用到的各种语言,但前提是机器需要把一些心理与心情方面的概念与机器自身的情感类型及变量数值建立起关联。

本申请的优势在于,通过设计各类的情感算法,把需求差值当作一个因素直接或间接的参与到机器的情感强烈程度计算中去,通过这些算法来渲染相关的情感变量,并在此基础上把某些因素加入到情感强烈程度计算中去,让机器产生类似于人类一样的情感产生机制,从而使机器在情感方面的特征更加接近于人类,使机器人拥有更加贴近于人类的情感。

本技术方案可用于陪伴机器人,机器人宠物等各种类型的机器人,能够让机器拥有丰富的内心世界,人与人交流很多时候会根据对方的情绪变化而做出不同的对策,情感某种程度上是对需求实现状况的描述,可以充当一种指示剂的作用,人们透过这些情绪可以对机器人的意图做出更好的预测。

附图说明

图1是一种机器人的情感产生方法的流程示意图。

图2是一种机器人的情感产生方法中情感的数据结构的示意图。

图3是实施例1中的机器人喜欢心理的情感产生的流程示意图。

图4是实施例1中的机器人害怕心理的情感产生的流程示意图。

图5是是实施例2中的机器人担心心理的情感产生的项目构成示意图。

图6是机器人运行规则示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1-5。

实施例1,仿生机器人,如智能玩具小汽车,其包括感知模块、基础生命模块、思维运算模块、情感算法、运动控制模块和情感表达模块。

感知模块包括使用陀螺仪传感器,图像传感器,声音传感器,压力传感器,温度传感器,震动传感器,气体传感器,湿度传感器等,时时获取环境相关数据,以及机器自身硬件的相关数据,比如元器件的温度,电池电量等。

基础生命模块结合相关传感器,给机器人构建压力生命规则,温度生命规则,震动生命规则,气体生命规则,湿度生命规则等。当传感器接收到的数值或者机器预测到这些传感器的数值将会超出每个生命规则舒适数值范围时,机器人将会创建目标任务,目的是促使这些传感器的数值保持在舒适数值范围内。

思维运算模块,让机器能够总结各种变量的数值变化规律,把不同的变量及数值建立起联系,通过训练获取一定的知识,知道什么样的动作,可以实现什么样的目标,什么样的变量变化能够影响到自身的需求等,为机器人实现目标演绎,目标驱动提供必要的数据支撑,目前机器学习领域的强化学习,迁移学习等都是对人的部分思维的模拟实现。

,负责产生机器的目标任务队列,用以实现机器自身的各种需求,在这个过程中会对机器的实际数值产生影响。

运动控制模块,给小车机器人设计前进、后退、刹车、左转、右转和各类表情,以及其它依靠舵机控制的动作,在执行目标任务的过程中,机器人将会调用该模块功能,用以实现相关目标,表情动作是虚拟的动作,可通过显示器来展现。

机器人的情感算法,如喜欢心理:

参照图3,如果某个规则内的实际数值越是接近理想数值,并且在舒适区内,那么机器就会越喜欢。

当我们把小车放在一个闷热潮湿的环境中,小车总是会基于自身的舒适需求,自动的去寻找一个舒适地方,而某个地方的温度和湿度越接近小车的舒适数值,那么小车也就越倾向于选择这里。

设定客观环境的湿度数值范围为0到1之间,0为绝对干燥,1为绝对潮湿,而小车的适宜湿度范围设置在0.25到0之间,越接近越0,越舒适。

如果a、b、c、d四个地方的湿度数值分别为0.5,0.25,0.15,0.1,那么a因为超出舒适数值而不喜欢,而c/d在舒适范围内,为喜欢,c与d之间因为d更接近0更理想,所以更为喜欢。假如湿度规则的权重w为1,0.25为舒适区界限l,0为理想数值i,f为实际数.

则可列出一个喜欢的计算公式

然后把c、d各项数值代入计算,可以得到对于yc,yd的喜欢程度

yc=0.4

yd=0.6

在此基础上如果c在另一生命规则温度数值范围上也达到了喜欢的程度,而d在温度数值范围上为非舒适区,那么要采取类似的方法计算c与d在温度方面的分数,并分别计算综合得分,d的综合得分要计算不喜欢的分数,然后拿喜欢的减去不喜欢的,这样才是它的综合得分。

不喜欢的分数,可以这样计算:设l为舒适区界限,m为最大承受数值,f为实际数,w为权重,f取值在非舒适区。

公式为

机器人的情感算法,如害怕心理:

参照图4,当小车停放在某个地方的时候,如果有一个人穿一只黄色的靴子去踢它,那么小车的震动传感器将会接收到震动数值,经过这样反复的训练,那么小车再见到黄色时,将会产生害怕的心理,而害怕的程度跟每次用脚踢打的猛烈程度相关,对小车造成的伤害越高,那么小车也就越害怕。

如果实际数以当前时刻数值为起点,未来某个时刻的预测值为终点产生反方向变化,且预测值在非舒适区,那么机器就会产生害怕这种心理,预测值距离舒适区距离越大,损害越大,越害怕。

设定小车接收到的震动数值在0到1之间,0到0.25的震动数值是小车可以接收的数值范围,越接近于0,小车越舒适,而0.25到1之间对于小车来说则越来越难以忍受,如果每次踢打小车的力度比较轻微,那么小车可能只是有点害怕,而比较猛烈的踢打,震动数值越接近于1,那么小车害怕的心理程度也就越高。

设最大承受数值为m,实际数预测值为f,舒适区界限为l,震动规则权重为w,那么可以用这个公式计算:

情感表达模块:

小车机器人可以通过自身的动作行为展示自己的情感状态,当一个人经常踢打小车机器人的时候,当机器人看到这个人逐渐逼近的时候,它会选择逃跑,而且边跑边回头来观察,看是否远离危险,机器的这种动作行为本身就表现出了它害怕的心理。

小车机器人通过表情动作展现自己的情感,小车机器安装有显示器,预先给机器人编写了一些面部表情动作,当一些心理和心情需要通过表情动作来展现的时候,可以通过它来显示机器人各种类型的心理或心情。比如机器人遇到它喜欢的事物时,可以展示一个爱心,而喜欢的程度越高,展示的爱心也就越多。

实施例2,如无人驾驶汽车,也是属于机器人。

机器人的情感算法,如担心心理:

目前的无人驾驶汽车领域,在系统上都有这样一个惩罚与激励的机制,给无人车在道路行驶上设计一定的规则,比如越线,根据越过的百分比来扣除一定的分数,而刹车过于紧急也会影响乘客的舒适度,所以根据踩刹车的猛烈程度来扣除一定的分数,而在公路上行驶,速度过低过高也会得到不同程度的惩罚。如果把这些看成是无人车的安全规则和对于乘客的乘坐舒适规则,那么这些越线的程度,踩刹车的猛烈程度,以及偏离正常速度的程度,同样也可以看作需求差值。

在一条线路上,如果汽车从出发地到目的地在一定的时间内到达,会给予奖励,过早或过晚都会受到惩罚,同时也限制了最高速度。在这条线路上偶尔会出现堵车的情况,一旦出现堵车那么无人车无法按规定要求完成任务就会遭受惩罚,所以当无人车选择这条路的时候,它就可以为乘客描述自己的心理,“我担心堵车”,而堵车越严重,偏离正常的到达时间越多,遭受的惩罚越严重,那么无人车就会越担心。

无人驾驶车辆,在规划一段线路时,可以创建一项规则,比如把这段线路的到达时间数值设置为120到180分钟,120为理想到达时间,140为舒适区界限,180为最大承受数值。

当机器选择这条路段时,它会根据以往数据进行统计,堵车以及堵多少时间的概率,假如堵20分钟的概率为30%,堵30分钟的概率为20%,堵60分钟概率为5%,可以理解为预测数值同时分布在非舒适区多个点上。

在进行担心程度综合得分计算时,如果实际数有多种概率,可以把同一个规则看作多个项目,每个项目都有自身对应的概率数值,规则id一样,先计算每一项目,然后再进行综合得分的计算。

设最大承受数值为m,实际数预测值为f,概率为p,舒适区界限为l,时间规则权重为w,那么可以用这个公式计算单项得分:

参照图5如项目1,项目2描述的都是同一个规则,因此规则id相同。

本申请的优势在于,通过设计各类的情感算法,把需求差值当作一个因素直接或间接的参与到机器的情感强烈程度计算中去,通过这些算法来渲染相关的情感变量,并在此基础上把某些因素加入到情感强烈程度计算中去,让机器产生类似于人类一样的情感产生机制,从而使机器在情感方面的特征更加接近于人类,使机器人拥有更加贴近于人类的情感。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1