本发明属于机器人运动领域,特别涉及一种基于人机协作的机器人感知与理解方法。
背景技术:
随着高端制造中生产多样化的发展,人机协作将成为下一代机器人发展的趋势。现有的机器人普遍存在示教周期长,难以理解抽象的命令以及缺乏在线感知能力,从而制约了机器人的发展。人机协作让机器人从“主仆”关系变成合作“伙伴”。因此,在机器人还没达到高度智能的局面下,最有效的方法是先感知和理解人类,再通过人类的协助感知和理解环境。这篇发明提出了一种基于人机协作的机器人感知与理解方法,一方面利用自然交互的信息感知与融合机制,通过“手把手”示教和“面对面”传授等多模态感知方式提高机器人在线感知能力;另一方面利用面向人机协作的机器人自主学习方法,进行目标理解和任务学习。该发明利用人类的智能性,并通过人类最自然高效的交互方式进行人机交流与协助,以提高机器人感知和理解的灵活性、智能性和适应性。
技术实现要素:
这个发明提出了一种基于人机协作的机器人感知与理解方法,它允许操作者协助机器人感知和理解环境。本发明利用人类的智能性,并通过人类最自然高效的交互方式进行人机交流与协助,以提高机器人感知和理解的灵活性、智能性和适应性。
本发明包括如下步骤:
s1、视听模态感知的自然交互;
s2、目标描述和理解;
s3、任务示教和学习。
所述步骤s1包括以下步骤:
1)三维手势数据获取
本发明采用立体视觉或红外成像等非接触测量方式对人体进行跟踪识别,并对人手的三维手势进行捕捉,从而可以识别操作者的交互意图并转换成交互指令。在进行非接触测量系统所获取的三维手势数据中,带噪声的三维手势数据具有不稳定性、歧义性和模糊性。此外,操作者在交互过程中由于人为因素会出现肌肉抖动等非意图动作导致交互指令具有非精确性。为了进一步地提高数据的稳定性和精确性,一方面,本发明采用结合自适应区间卡尔曼滤波(adaptiveintervalkalmanfilter)与改进粒子滤波(improvedparticlefilter)进行手势位置数据和姿态数据的融合估计。通过信息融合算法可以对位置和姿态的时空相关性进行约束,从而尽可能地消除三维手势数据的非稳定性和歧义性。另一方面,本发明采用过阻尼方法对非意图输入数据进行过滤,并通过引入虚拟弹簧系数进一步提高交互精度。
粒子滤波基于蒙特卡洛方法,利用粒子集表示目标,通过寻找一组在状态空间中传播的随机样本来近似地表示概率密度函数,用样本均值代替积分运算,进而获得系统状态的最小方差估计的过程。在改进粒子滤波(ipf)算法中,采用马尔可夫链蒙特卡罗方法对重采样后的粒子进行处理,从而提高粒子的多样化,避免标准粒子滤波的局部收敛现象,提高数据估计的准确度。而粒子的权重计算需要通过结合卡尔曼滤波的位置估计结果得到。
由于三维手势数据的位置和姿态在时空上存在一定的关联:手势的位置,速度和加速度具有方向性,而方向则需要姿态所确定的本体坐标系进行计算得到,那么手势的位置在三维方向上的叠加量需要姿态进行估计,故通过结合自适应区间卡尔曼滤波估计得到位置和姿态的时空约束性可以提高数据估计的精度。由于准确的位置数据可以更好地计算粒子的权重,从而得到准确的姿态数据,而准确的姿态数据可以通过速度和加速度更好地估计位置数据,故通过结合自适应区间卡尔曼滤波和改进粒子滤波对人手位置和姿态数据进行融合,可以更好地估计三维手势数据,提高数据的准确性和鲁棒性。
2)自然语言指令获取
基于自然语言理解的机器人交互方法侧重于对相对复杂的用户自然语言指令的理解,包括两个模块:设计控制指令语料库和提取控制指令。
根据收集大量的控制指令语料库dcontrol进行分析所得,对于机器人的控制指令可以通过四个变量组成的一个控制向量形式进行描述(cdir,copt,cval,cunit),其中cdir为对操作方位关键词,copt和cval为一对操作描述,分别为操作关键词和操作值,cunit为操作单位。自然语言理解的关键在于对一连串的文本提取出所包含的控制向量。那么,对于文本的分析问题可以转换成一组文字的分类问题,本发明采用最大熵模型进行分类。采用向量空间模型对文本进行描述,对给定包含n个词的文本,可定义n维特征向量表示该文本,用词频-逆文档频率(termfrequency-inversedocumentfrequency)对特征向量进行加权分析。最大熵模型的主要思想是对已知的进行建模,对未知的不做任何假设,即建模时尽量符合已知信息,对未知信息部分使模型的熵最大,即不确定性最大。最大熵的原则是承认已知事物。设文本特征向量为x,需要估计的操作者意图向量为y,则利用最大熵方法对条件概率p(y|x)进行建模,通过引入条件熵h(p(y|x))衡量条件概率p(y|x)分布的均匀性。通过最大熵模型,可以对操作者语音提取的文本中所包含的交互指令识别,并转换成机器人控制指令控制机器人运动。
所述步骤s2包括以下步骤:
1)目标描述
本发明通过操作者向机器人讲解环境可以使得机器人可以快速地了解环境。
在目标描述中,操作者主要是辅助机器人对目标进行识别和理解。定义一个n元组,如六元组组obj={种类,颜色,形状,纹理,尺寸,柔软性}对目标进行描述。机器人通过视觉对目标进行初步观察后对目标有一个大概的理解,包括目标的颜色、形状和纹理等,机器人通过带有力觉反馈的末端接触目标,以了解其软硬程度。在机器人对目标的操作过程中,操作者在线地对机器人进行目标描述和讲解,以辅助机器人不断深入地了解目标,并做正确的决策。当机器人对目标做出模棱两可或错误的决策时,操作者辅助机器人或矫正机器人的错误决策。
2)目标理解
本发明采用深度学习方法进行目标识别。本发明采取一个两阶段的方法来进行学习。首先,使用一个缩减的特征集来确定最佳候选集,然后,使用一个更大、更可靠的特征集来排列这些候选集。利用深度学习训练两个不同大小的网络,小的用于计算候选集,大的用于重新排列候选检测结果,从而避免复杂的手动调整特征值。
机器人视觉系统是用于获取外界视觉信息的工具,是通过计算机技术对类似于人类视觉信息处理的一种探索和模拟,机器视觉主要包括图像获取,预处理,分割,描述,识别和理解,其中理解可以看作是对环境的最高层次的认知行为,识别出当前目标物体的标记,与特征库或模板相匹配,对目标分类,为机器人的决策、行为控制以及人机交互提供依据。在图像描述方面,本发明采用hog特征描述符对图像中的特征进行描述。hog算法首先将整幅图像分成一定数量的子图像,再将各个子图像按照一定的规则分割成细胞单元,然后采集细胞单元中各像素点的梯度方向直方图,计算各直方图在子图像中的密度,然后根据这个密度对子图像中的各个细胞单元做归一化处理。最后把这些直方图组合起来构成特征描述器。为了识别出目标的类型,对hog特征进行概率g(t)建模,特征值x是目标类型,利用一个随机变量
在人机协作模式中,机器人可以借助于人类的经验知识对未知的物体进行识别,或者从识别错误中得到矫正,需要建立一个带标签数据的训练模型,可以更新机器人的学习网络参数。在人类的协作下,一方面机器人可以通过人类的描述更好地了解未知物体的特征;另一方面,机器人可以通过人类的共享经验正确地认识物体。在学习过程中,目标是求出使系统的识别精度最佳的参数θ。在本实例中,将人类辅助过程中产生的输入数据作为一组特征值
所述步骤s3包括以下步骤:
1)任务示教
在任务示教过程中,本发明通过人机交互模块,机器人可以通过操作者的手势和语言感知操作者的意图。在示教前,操作者先检查机器人是否有与任务相关的知识、工作环境以及操纵对象的相关能力,接着将所需要的知识授予给机器人。操作者通过陈述任务名称、子任务的数量和操作对象的属性等,同时包括用相应的手势动作辅助语音进行相关的讲解。操作者接着将整个任务分析给机器人,允许机器人了解相邻的子任务和总体的任务目标之间的过渡动作,从而可以整合所有子任务的信息。通过使用自然的手势交互和基于自然语言理解交互方式对整个任务进行完整的描述,在子任务的安排时,充分利用操作者的经验帮助机器人对任务的轨迹进行分段规划。在操作者对整个任务进行描述后,机器人可以利用运动学原理通过分段的示教任务轨迹进行学习。
2)任务学习
在机器人作业过程中,操作者可以始终保持在线教导机器人,以不断地修正机器人的决策。对此,本发明利用强化学习模型进行建模。操作者通过不断的给予机器人行为评价,通过奖励和惩罚信号不断修正机器人的行为。强化学习用一个4元组(s,a,t,r)来表示,其中s表示有限的环境状态集,a为对应每一状态可能的有限动作集;t表示从状态-动作对到另一状态的转换函数,t:s×a→s;r为状态-动作对的强化函数,一般返回一个实数强化值,
机器人如果在完成学习任务的过程中遇到困难,就向操作者寻求帮助。接着,机器人可以将学习到的任务付诸实际并完善自身的知识库。机器人可以通过手眼相机观察工作环境,确定关键的目标和物件的位姿,通过将自身学习到的任务轨迹应用到给定的任务计划中来形成它的实际工作轨迹,接着通过操作者的实时反馈不断地修正自身学习到的任务经验。
本发明相对于现有技术具有如下的优点及效果:
本发明提出了一种基于人机协作的机器人感知与理解方法,一方面利用自然交互的信息感知与融合机制,通过“手把手”示教和“面对面”传授等多模态感知方式提高机器人在线感知能力;另一方面利用面向人机协作的机器人自主学习方法,进行目标理解和任务学习。该发明利用人类的智能性,并通过人类最自然高效的交互方式进行人机交流与协助,以提高机器人感知和理解的灵活性、智能性和适应性。
附图说明
图1是基于人机协作的机器人感知与理解方法流程图。
具体实施方式
下面结合实施例对本发明作进一步详细的描述,但本发明的实施方式不限于此实施例。
本实例包括如下步骤:
s1、视听模态感知的自然交互;
s2、目标描述和理解;
s3、任务示教和学习。
所述步骤s1包括以下步骤:
1)三维手势数据获取
本发明采用立体视觉或红外成像等非接触测量方式对人体进行跟踪识别,并对人手的三维手势进行捕捉,从而可以识别操作者的交互意图并转换成交互指令。在进行非接触测量系统所获取的三维手势数据中,带噪声的三维手势数据具有不稳定性、歧义性和模糊性。此外,操作者在交互过程中由于人为因素会出现肌肉抖动等非意图动作导致交互指令具有非精确性。为了进一步地提高数据的稳定性和精确性,一方面,本发明采用结合自适应区间卡尔曼滤波(adaptiveintervalkalmanfilter)与改进粒子滤波(improvedparticlefilter)进行手势位置数据和姿态数据的融合估计。通过信息融合算法可以对位置和姿态的时空相关性进行约束,从而尽可能地消除三维手势数据的非稳定性和歧义性。另一方面,本发明采用过阻尼方法对非意图输入数据进行过滤,并通过引入虚拟弹簧系数进一步提高交互精度。
自适应区间卡尔曼滤波(aikf)是一种高效率的递归滤波器,可以在噪声参数和动态模型参数未知的情况下,利用k-1时刻的状态准确地估计k时刻的状态。为了可以使卡尔曼滤波更好地估计人手位置数据,在本实例中,引入了人手速度和人手加速度的变量。aikf的状态转换矩阵可以根据位移、速度和加速度之间的关系进行设计。输入矩阵则由重力加速度决定。aikf通过设置对应的区间进行准确估计,从而获得比标准卡尔曼滤波更好的估计精度。
粒子滤波基于蒙特卡洛方法,利用粒子集表示目标,通过寻找一组在状态空间中传播的随机样本来近似地表示概率密度函数,用样本均值代替积分运算,进而获得系统状态的最小方差估计的过程。在改进粒子滤波(ipf)算法中,采用马尔可夫链蒙特卡罗方法对重采样后的粒子进行处理,从而提高粒子的多样化,避免标准粒子滤波的局部收敛现象,提高数据估计的准确度。而粒子的权重计算需要通过结合卡尔曼滤波的位置估计结果得到。
由于三维手势数据的位置和姿态在时空上存在一定的关联:手势的位置,速度和加速度具有方向性,而方向则需要姿态所确定的本体坐标系进行计算得到,那么手势的位置在三维方向上的叠加量需要姿态进行估计,故通过结合自适应区间卡尔曼滤波估计得到位置和姿态的时空约束性可以提高数据估计的精度。由于准确的位置数据可以更好地计算粒子的权重,从而得到准确的姿态数据,而准确的姿态数据可以通过速度和加速度更好地估计位置数据,故通过结合自适应区间卡尔曼滤波和改进粒子滤波对人手位置和姿态数据进行融合,可以更好地估计三维手势数据,提高数据的准确性和鲁棒性。
2)自然语言指令获取
基于自然语言理解的机器人交互方法侧重于对相对复杂的用户自然语言指令的理解。对于面向机器人交互的自然语言理解方法的难点在于如何把自然语言所表达的意图转化成相应的机器人控制指令,在本实例中,对于语音识别并进行文本提取采用微软的speech识别算法实现。面向机器人交互的自然语言理解框架主要包括两个模块:设计控制指令语料库和提取控制指令。
根据收集大量的控制指令语料库dcontrol进行分析所得,对于机器人的控制指令可以通过四个变量组成的一个控制向量形式进行描述(cdir,copt,cval,cunit),其中cdir为对操作方位关键词,copt和cval为一对操作描述,分别为操作关键词和操作值,cunit为操作单位。自然语言理解的关键在于对一连串的文本提取出所包含的控制向量。那么,对于文本的分析问题可以转换成一组文字的分类问题,本发明采用最大熵模型进行分类。采用向量空间模型对文本进行描述,对给定包含n个词的文本,可定义n维特征向量表示该文本,用词频-逆文档频率(termfrequency-inversedocumentfrequency)对特征向量进行加权分析。最大熵模型的主要思想是对已知的进行建模,对未知的不做任何假设,即建模时尽量符合已知信息,对未知信息部分使模型的熵最大,即不确定性最大。最大熵的原则是承认已知事物。设文本特征向量为x,需要估计的操作者意图向量为y,则利用最大熵方法对条件概率p(y|x)进行建模,通过引入条件熵h(p(y|x))衡量条件概率p(y|x)分布的均匀性。通过最大熵模型,可以对操作者语音提取的文本中所包含的交互指令识别,并转换成机器人控制指令控制机器人运动。
结合语言和手势的方法进行交互,在本实例中,操作者发出指令“向这个方向移动大概3毫米”,同时操作者用手指指向某一个方向,机器人通过自然语言得到的操作指令是“移动”,方向为操作者手指的方向,移动量为“3毫米”。
所述步骤s2包括以下步骤:
1)目标描述
本发明通过操作者向机器人讲解环境可以使得机器人可以快速地了解环境。
在目标描述中,操作者主要是辅助机器人对目标进行识别和理解。定义一个n元组obj={category,color,shape,texture,size,soft}对目标进行描述。机器人通过视觉对目标进行初步观察后对目标有一个大概的理解,包括目标的颜色、形状和纹理等,机器人通过带有力觉反馈的末端接触目标,以了解其软硬程度。操作者对目标进行更详细的说明,在本实例中,对于装满水的水杯,操作者说明夹持位置,水平夹持比垂直夹持更稳当。在机器人对目标的操作过程中,操作者在线地对机器人进行目标描述和讲解,以辅助机器人不断深入地了解目标,并做正确的决策。当机器人对目标做出模棱两可或错误的决策时,操作者辅助机器人或矫正机器人的错误决策。
2)目标理解
本发明采用深度学习方法进行目标识别。本发明采取一个两阶段的方法来进行学习。首先,使用一个缩减的特征集来确定最佳候选集,然后,使用一个更大、更可靠的特征集来排列这些候选集。利用深度学习训练两个不同大小的网络,小的用于计算候选集,大的用于重新排列候选检测结果,从而避免复杂的手动调整特征值。
机器人视觉系统是用于获取外界视觉信息的工具,是通过计算机技术对类似于人类视觉信息处理的一种探索和模拟,机器视觉主要包括图像获取,预处理,分割,描述,识别和理解,其中理解可以看作是对环境的最高层次的认知行为,识别出当前目标物体的标记,与特征库或模板相匹配,对目标分类,为机器人的决策、行为控制以及人机交互提供依据。在图像描述方面,本发明采用hog特征描述符对图像中的特征进行描述。hog算法首先将整幅图像分成一定数量的子图像,再将各个子图像按照一定的规则分割成细胞单元,然后采集细胞单元中各像素点的梯度方向直方图,计算各直方图在子图像中的密度,然后根据这个密度对子图像中的各个细胞单元做归一化处理。最后把这些直方图组合起来构成特征描述器。为了识别出目标的类型,对hog特征进行概率g(t)建模,特征值
在人机协作模式中,机器人可以借助于人类的经验知识对未知的物体进行识别,或者从识别错误中得到矫正,需要建立一个带标签数据的训练模型,可以更新机器人的学习网络参数。在人类的协作下,一方面机器人可以通过人类的描述更好地了解未知物体的特征;另一方面,机器人可以通过人类的共享经验正确地认识物体。在学习过程中,目标是求出使系统的识别精度最佳的参数θ。在本实例中,将人类辅助过程中产生的输入数据作为一组特征值
所述步骤s3包括以下步骤:
1)任务示教
在任务示教过程中,本发明通过人机交互模块,机器人可以通过操作者的手势和语言感知操作者的意图。在示教前,操作者先检查机器人是否有与任务相关的知识、工作环境以及操纵对象的相关能力,接着将所需要的知识授予给机器人。操作者通过陈述任务名称、子任务的数量和操作对象的属性等,同时包括用相应的手势动作辅助语音进行相关的讲解。操作者接着将整个任务分析给机器人,允许机器人了解相邻的子任务和总体的任务目标之间的过渡动作,从而可以整合所有子任务的信息。通过使用自然的手势交互和基于自然语言理解交互方式对整个任务进行完整的描述,在本实例中,通过诸如“首先”、“然后”、“下一个子任务”等语音对子任务片段进行分割,在子任务的安排时,充分利用操作者的经验帮助机器人对任务的轨迹进行分段规划。在操作者对整个任务进行描述后,机器人可以利用运动学原理通过分段的示教任务轨迹进行学习。
2)任务学习
在机器人作业过程中,操作者可以始终保持在线教导机器人,以不断地修正机器人的决策。在本实例中,操作者主要“告诉”机器人“那些可以做”,“那些不可以做”,“那些应该这样做”,“那些不应该这样做”等,以调整机器人的行为。对此,本发明利用强化学习模型进行建模。操作者通过不断的给予机器人行为评价,通过奖励和惩罚信号不断修正机器人的行为。强化学习用一个4元组(s,a,t,r)来表示,其中s表示有限的环境状态集,a为对应每一状态可能的有限动作集;t表示从状态-动作对到另一状态的转换函数,t:s×a→s;r为状态-动作对的强化函数,一般返回一个实数强化值,
机器人如果在完成学习任务的过程中遇到困难,就向操作者寻求帮助。接着,机器人可以将学习到的任务付诸实际并完善自身的知识库。机器人可以通过手眼相机观察工作环境,确定关键的目标和物件的位姿,通过将自身学习到的任务轨迹应用到给定的任务计划中来形成它的实际工作轨迹,接着通过操作者的实时反馈不断地修正自身学习到的任务经验。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。