本发明涉及人机交互,具体涉及一种基于肢体语言与指令对齐的机器人编程方法、装置及介质。
背景技术:
1、当今社会机器人技术发展日新月异,越来越多的机器人走进了千家万户。用户可以通过对机器人进行编程,即通过特定的方式向机器人描述一个具体的任务,从而驱使机器人帮助其完成相应任务,例如清理桌面,传递工具等。虽然这样一种驱动机器人为自身服务的模式为人们日常活动提供了便利,但是这对于没有机器人编程经验的人们而言是个巨大的挑战。尽管目前机器人生产厂商为机器人控制和任务描述提供了丰富的控制程序接口,但是这种基于代码的编程需要用户对机器人基本知识和程序语言拥有一定程度的了解,并且具备机器人控制代码编程、调试、仿真、部署的能力。这些要求限制了日常生活机器人处理用户个性化任务的应用。
2、为了克服这些挑战,许多研究者提出了各种策略,如利用人类对环境的知识来指导机器人的运动规划,或者通过示范来更积极地向机器人展示他们的意图,而不是依赖机器人的主动估计。他们使用模仿学习/强化学习等技术通过向服务机器人演示(demo)如何处理一项任务以期望实现机器人习得处理该任务的能力。但是这种方法需要大量的演示来教学机器人,并且机器人习得的处理事物的能力泛化性能差,即不能很好的处理多样化的用户私人任务。
3、近年来,一些基于人类表现(如注视、声音和手势)的非编码机器人编程方法已经得到了推广。然而,这些方法仍然存在一些挑战。一些研究使用增强现实/虚拟现实技术实现人与机器人交互,即通过增强现实技术通过预定义的机器人运动单元描述机器人的运动,从而达到编程机器人的目标。但是该方式需要用户配搭额外设备来实现这一编程方式。目前随着大模型技术的兴起(large language model,llm)的兴起,一些基于文本或语言信息的机器人编程方法逐渐兴起。但是为了机器人更好的处理用户的个性化任务,这些方法往往需要用户编写prompt文本(提示文本)或者对llm进行微调,这些操作对于非专业的机器人用户而言是困难的。
技术实现思路
1、为了降低非专业用户对于机器人编程的难度,更好的处理用户个性化任务,本发明提出了一种基于肢体语言与指令对齐的机器人编程方法,将人机交互任务分解为若干子任务,具体包括步骤:
2、s1:采集当前子任务所对应的实时视频信息,并对实时视频信息中的用户肢体语言进行采集;
3、s2:根据采集的肢体语言对其中的目标位置、运动轨迹策略、目标操作策略进行识别;
4、s3:将识别的目标位置、运动轨迹策略、操作执行策略进行识别根据识别顺序转换为相应对齐的编程指令;
5、s4:判断是否接收到进行下一子任务编程的指令信息,若是,进入下一子任务编程并返回s1步骤,若否,结束当前人机交互任务。
6、进一步地,所述s1步骤之前还包括步骤:
7、s0:判断是否接收到人机交互任务的起始指令信息,若是,进入s1步骤,若否,返回s0步骤。
8、进一步地,所述s2步骤中,目标位置通过如下步骤获取:
9、识别肢体语言中的头部姿态与手部姿态,并根据识别结果对视线方向和手指方向分别进行估计;
10、根据估计结果生成视线方向概率图和手指方向概率图,并进行融合概率图获取;
11、将融合概率图与肢体语言对应的图像帧相结合,并通过热度图生成网络生成热度图;
12、将热度图中热度值最大的位置识别为目标位置。
13、进一步地,所述s2步骤中,当需要编程目标旋转操作指令时,通过两个连续的手势指令进行手势坐标系下期望旋转角的编程,所述手势坐标系由手指进行欧拉角的构建。
14、进一步地,所述期望旋转角通过如下公式获取:
15、
16、式中,r(α,β,γ)为基于欧拉角构建手势坐标系下的期望旋转角,为第一个手势指令坐标f1到第二个手势指令坐标f2的旋转矩阵,ri为手势坐标系fi与机器人坐标系fr对应的旋转矩阵。
17、进一步地,所述s2步骤中,运动轨迹策略的获取包括如下步骤:
18、根据肢体语言中的手势指令进行指尖的相机三维坐标系坐标点集获取;
19、提取由坐标点集构成的运动轨迹中的若干关键点作为运动轨迹策略。
20、进一步地,所述s3步骤中,运动轨迹策略相应对齐的编程指令通过如下方式转换:
21、通过对运动轨迹策略进行相机坐标系至机器人坐标系的映射转换,基于机器人坐标系下的运动轨迹策略进行碰撞检验下的编程指令编写。
22、本发明还包括一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述一种基于肢体语言与指令对齐的机器人编程方法的步骤。
23、还包括一种处理数据的装置,包括:
24、存储器,其上存储有计算机程序;
25、处理器,用于执行所述存储器中的计算机程序,以实现所述一种基于肢体语言与指令对齐的机器人编程方法的步骤。
26、与现有技术相比,本发明至少含有以下有益效果:
27、(1)本发明所述的一种基于肢体语言与指令对齐的机器人编程方法、装置及介质,让用户可以依据自身偏好将复杂的人机交互任务分解为若干个子任务,并通过预定义的标准化肢体语言对这些子任务进行编程进而完成该复杂交互任务;
28、(2)基于肢体语言-编程指令数据集且考虑肢体语言-编程指令对齐的机器人编程方法对于无机器人知识和编程经验的普通用户是友好且易使用的;
29、(3)使用多通道肢体语言信息对机器人进行编程,不仅提高了机器人编程指令表达准确性,还允许用户表示更加复杂的编程指令。
1.一种基于肢体语言与指令对齐的机器人编程方法,其特征在于,将人机交互任务分解为若干子任务,具体包括步骤:
2.如权利要求1所述的一种基于肢体语言与指令对齐的机器人编程方法,其特征在于,所述s1步骤之前还包括步骤:
3.如权利要求1所述的一种基于肢体语言与指令对齐的机器人编程方法,其特征在于,所述s2步骤中,目标位置通过如下步骤获取:
4.如权利要求1所述的一种基于肢体语言与指令对齐的机器人编程方法,其特征在于,所述s2步骤中,当需要编程目标旋转操作指令时,通过两个连续的手势指令进行手势坐标系下期望旋转角的编程,所述手势坐标系由手指进行欧拉角的构建。
5.如权利要求4所述的一种基于肢体语言与指令对齐的机器人编程方法,其特征在于,所述期望旋转角通过如下公式获取:
6.如权利要求1所述的一种基于肢体语言与指令对齐的机器人编程方法,其特征在于,所述s2步骤中,运动轨迹策略的获取包括如下步骤:
7.如权利要求6所述的一种基于肢体语言与指令对齐的机器人编程方法,其特征在于,所述s3步骤中,运动轨迹策略相应对齐的编程指令通过如下方式转换:
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7中任一项所述编程法的步骤。
9.一种处理数据的装置,其特征在于,包括: