基于意图识别的机械臂控制方法、系统及相关设备转让专利

申请号 : CN202310497061.2

文献号 : CN116214522B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 雷俊卜磊刘峻佑方舟靳程瑞田璐璐齐株锐曹秀伟曹哲

申请人 : 中建科技集团有限公司

摘要 :

本发明公开了一种基于意图识别的机械臂控制方法、系统及相关设备,方法包括:根据操作对象的姿态和目标机械臂的姿态获取关键点集合,关键点集合中包括多个目标关键点;获取被操作对象对应的第一状态数据和各目标关键点对应的第二状态数据;获取操作对象对应的动作趋势意图数据;根据第一状态数据、第二状态数据和动作趋势意图数据,通过已训练的意图识别模型获取上述被操作对象对应的目标状态数据,其中,目标状态数据包括被操作对象在下一时刻的目标加速度、目标速度和目标位置信息;根据第一状态数据和目标状态数据生成目标机械臂对应的控制信号,并根据控制信号对目标机械臂进行控制。本发明有利于提高机械臂控制效率。

权利要求 :

1.一种基于意图识别的机械臂控制方法,其特征在于,所述方法包括:

根据操作对象的姿态和目标机械臂的姿态获取关键点集合,其中,所述目标机械臂是所述操作对象对应的机械臂,所述关键点集合中包括多个目标关键点,一个所述目标关键点是所述操作对象的一个关节点、所述目标机械臂的一个关节点或所述操作对象与所述目标机械臂的一个接触点;

获取被操作对象对应的第一状态数据和各所述目标关键点对应的第二状态数据,其中,所述被操作对象是由所述操作对象通过所述目标机械臂操作的对象,所述第一状态数据包括所述被操作对象在当前时刻的加速度、速度和位置信息,所述第二状态数据包括所述目标关键点在当前时刻的加速度、速度和位置信息;

获取所述操作对象对应的动作趋势意图数据,其中,所述动作趋势意图数据包括所述操作对象在当前时刻的视线方向;

根据所述第一状态数据、所述第二状态数据和所述动作趋势意图数据,通过已训练的意图识别模型获取所述被操作对象对应的目标状态数据,其中,所述目标状态数据包括所述被操作对象在下一时刻的目标加速度、目标速度和目标位置信息;

根据所述第一状态数据和所述目标状态数据生成所述目标机械臂对应的控制信号,并根据所述控制信号对所述目标机械臂进行控制。

2.根据权利要求1所述的基于意图识别的机械臂控制方法,其特征在于,所述根据操作对象的姿态和目标机械臂的姿态获取关键点集合,包括:对所述操作对象和所述目标机械臂进行图像采集并获得姿态识别图像;

对所述姿态识别图像进行姿态识别,获取所述操作对象的姿态和所述目标机械臂的姿态;

根据所述操作对象的姿态和所述目标机械臂的姿态,从预设点集合中选取多个预设关键点作为目标关键点,其中,所述预设点集合由多个预设关键点构成,一个所述预设关键点是所述操作对象的一个关节点、所述目标机械臂的一个关节点或所述操作对象与所述目标机械臂的一个接触点。

3.根据权利要求2所述的基于意图识别的机械臂控制方法,其特征在于,所述根据所述操作对象的姿态和所述目标机械臂的姿态,从预设点集合中选取多个预设关键点作为目标关键点,包括:将所述预设点集合、所述操作对象的姿态以及所述目标机械臂的姿态输入已训练的姿态分析模型,通过所述姿态分析模型输出所述目标关键点。

4.根据权利要求1所述的基于意图识别的机械臂控制方法,其特征在于,所述获取被操作对象对应的第一状态数据和各所述目标关键点对应的第二状态数据,包括:通过所述被操作对象上设置的加速度传感器和速度传感器分别获取所述被操作对象在当前时刻的加速度和速度,通过所述被操作对象上设置的通信设备分别与待监测区域内的至少三个预设通信点进行无线通信,获取所述被操作对象和与该被操作对象建立通信连接的预设通信点之间的距离并作为第一测量距离,根据所述第一测量距离和所述预设通信点的位置坐标计算获取所述被操作对象对应的位置信息,其中,所述待监测区域是所述操作对象、所述目标机械臂和所述被操作对象所在的区域;

通过所述目标关键点处设置的加速度传感器和速度传感器获取所述目标关键点在当前时刻的加速度和速度,通过所述目标关键点处设置的通信设备分别与所述待监测区域内的至少三个预设通信点进行无线通信,获取所述目标关键点和与该目标关键点建立通信连接的预设通信点之间的距离并作为第二测量距离,根据所述第二测量距离和所述预设通信点的位置坐标计算获取所述目标关键点对应的位置信息。

5.根据权利要求1‑4任意一项所述的基于意图识别的机械臂控制方法,其特征在于,所述第二状态数据还包括所述目标关键点的权重值,其中,所述目标关键点的权重值根据预先设置的权重值列表确定。

6.根据权利要求1所述的基于意图识别的机械臂控制方法,其特征在于,所述意图识别模型根据如下步骤进行训练:将训练数据中的第一状态训练数据、第二状态训练数据和动作趋势训练数据输入所述意图识别模型,通过所述意图识别模型输出训练被操作对象对应的预测目标状态数据,其中,所述训练数据包括多组训练信息组,每一组训练信息组包括第一状态训练数据、第二状态训练数据、动作趋势训练数据和实际目标状态数据;

根据所述预测目标状态数据和所述实际目标状态数据,对所述意图识别模型的模型参数进行调整,并继续执行所述将训练数据中的第一状态训练数据、第二状态训练数据和动作趋势训练数据输入所述意图识别模型的步骤,直至满足预设训练条件,以得到已训练的意图识别模型;

其中,所述意图识别模型为ALBERT模型。

7.根据权利要求1所述的基于意图识别的机械臂控制方法,其特征在于,所述方法还包括:

实时获取所述操作对象的健康状态信息,其中,所述健康状态信息包括所述操作对象的心率数据、脉搏数据、体温数据中的至少一种;

当所述健康状态信息异常时,输出告警信息,控制所述目标机械臂在将所述被操作对象放置到预设安全区域之后停止工作。

8.一种基于意图识别的机械臂控制系统,其特征在于,所述系统包括:

关键点集合获取模块,用于根据操作对象的姿态和目标机械臂的姿态获取关键点集合,其中,所述目标机械臂是所述操作对象对应的机械臂,所述关键点集合中包括多个目标关键点,一个所述目标关键点是所述操作对象的一个关节点、所述目标机械臂的一个关节点或所述操作对象与所述目标机械臂的一个接触点;

状态数据获取模块,用于获取被操作对象对应的第一状态数据和各所述目标关键点对应的第二状态数据,其中,所述被操作对象是由所述操作对象通过所述目标机械臂操作的对象,所述第一状态数据包括所述被操作对象在当前时刻的加速度、速度和位置信息,所述第二状态数据包括所述目标关键点在当前时刻的加速度、速度和位置信息;

动作趋势意图数据获取模块,用于获取所述操作对象对应的动作趋势意图数据,其中,所述动作趋势意图数据包括所述操作对象在当前时刻的视线方向;

意图识别模块,用于根据所述第一状态数据、所述第二状态数据和所述动作趋势意图数据,通过已训练的意图识别模型获取所述被操作对象对应的目标状态数据,其中,所述目标状态数据包括所述被操作对象在下一时刻的目标加速度、目标速度和目标位置信息;

控制模块,用于根据所述第一状态数据和所述目标状态数据生成所述目标机械臂对应的控制信号,并根据所述控制信号对所述目标机械臂进行控制。

9.一种智能终端,其特征在于,所述智能终端包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于意图识别的机械臂控制程序,所述基于意图识别的机械臂控制程序被所述处理器执行时实现如权利要求1‑7任意一项所述基于意图识别的机械臂控制方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于意图识别的机械臂控制程序,所述基于意图识别的机械臂控制程序被处理器执行时实现如权利要求1‑7任意一项所述基于意图识别的机械臂控制方法的步骤。

说明书 :

基于意图识别的机械臂控制方法、系统及相关设备

技术领域

[0001] 本发明涉及机械臂控制技术领域,尤其涉及的是一种基于意图识别的机械臂控制方法、系统及相关设备。

背景技术

[0002] 随着科学技术的发展,机械臂的应用越来越广泛,例如,用户可以使用机械臂等辅助设备进行物体运输以减少自身所需要花费的力气,并提高运输效率。
[0003] 现有技术中,用户在使用机械臂时需要输入控制指令对机械臂进行控制,具体的,用户可以根据预先设置的与机械臂对应的控制装置输入控制指令。例如,预先设置机械臂的遥控器作为机械臂对应的控制装置,用户通过遥控器上的按键实现输入控制指令并控制机械臂。现有技术的问题在于,用户在使用机械臂进行物体运输的同时,不仅要关注物体的运输情况,还需要分心来操作遥控器以实现对机械臂的控制,不利于提高机械臂控制效率。
[0004] 因此,现有技术还有待改进和发展。

发明内容

[0005] 本发明的主要目的在于提供一种基于意图识别的机械臂控制方法、系统及相关设备,旨在解决现有技术中用户通过遥控器上的按键实现输入控制指令并控制机械臂的方案不利于提高机械臂控制效率的问题。
[0006] 为了实现上述目的,本发明第一方面提供一种基于意图识别的机械臂控制方法,其中,上述基于意图识别的机械臂控制方法包括:
[0007] 根据操作对象的姿态和目标机械臂的姿态获取关键点集合,其中,上述目标机械臂是上述操作对象对应的机械臂,上述关键点集合中包括多个目标关键点,一个上述目标关键点是上述操作对象的一个关节点、上述目标机械臂的一个关节点或上述操作对象与上述目标机械臂的一个接触点;
[0008] 获取被操作对象对应的第一状态数据和各上述目标关键点对应的第二状态数据,其中,上述被操作对象是由上述操作对象通过上述目标机械臂操作的对象,上述第一状态数据包括上述被操作对象在当前时刻的加速度、速度和位置信息,上述第二状态数据包括上述目标关键点在当前时刻的加速度、速度和位置信息;
[0009] 获取上述操作对象对应的动作趋势意图数据,其中,上述动作趋势意图数据包括上述操作对象在当前时刻的视线方向;
[0010] 根据上述第一状态数据、上述第二状态数据和上述动作趋势意图数据,通过已训练的意图识别模型获取上述被操作对象对应的目标状态数据,其中,上述目标状态数据包括上述被操作对象在下一时刻的目标加速度、目标速度和目标位置信息;
[0011] 根据上述第一状态数据和上述目标状态数据生成上述目标机械臂对应的控制信号,并根据上述控制信号对上述目标机械臂进行控制。
[0012] 可选的,上述根据操作对象的姿态和目标机械臂的姿态获取关键点集合,包括:
[0013] 对上述操作对象和上述目标机械臂进行图像采集并获得姿态识别图像;
[0014] 对上述姿态识别图像进行姿态识别,获取上述操作对象的姿态和上述目标机械臂的姿态;
[0015] 根据上述操作对象的姿态和上述目标机械臂的姿态,从预设点集合中选取多个预设关键点作为目标关键点,其中,上述预设点集合由多个预设关键点构成,一个上述预设关键点是上述操作对象的一个关节点、上述目标机械臂的一个关节点或上述操作对象与上述目标机械臂的一个接触点。
[0016] 可选的,上述根据上述操作对象的姿态和上述目标机械臂的姿态,从预设点集合中选取多个预设关键点作为目标关键点,包括:
[0017] 将上述预设点集合、上述操作对象的姿态以及上述目标机械臂的姿态输入已训练的姿态分析模型,通过上述姿态分析模型输出上述目标关键点。
[0018] 可选的,上述获取被操作对象对应的第一状态数据和各上述目标关键点对应的第二状态数据,包括:
[0019] 通过上述被操作对象上设置的加速度传感器和速度传感器分别获取上述被操作对象在当前时刻的加速度和速度,通过上述被操作对象上设置的通信设备分别与待监测区域内的至少三个预设通信点进行无线通信,获取上述被操作对象和与该被操作对象建立通信连接的预设通信点之间的距离并作为第一测量距离,根据上述第一测量距离和上述预设通信点的位置坐标计算获取上述被操作对象对应的位置信息,其中,上述待监测区域是上述操作对象、上述目标机械臂和上述被操作对象所在的区域;
[0020] 通过上述目标关键点处设置的加速度传感器和速度传感器获取上述目标关键点在当前时刻的加速度和速度,通过上述目标关键点处设置的通信设备分别与上述待监测区域内的至少三个预设通信点进行无线通信,获取上述目标关键点和与该目标关键点建立通信连接的预设通信点之间的距离并作为第二测量距离,根据上述第二测量距离和上述预设通信点的位置坐标计算获取上述目标关键点对应的位置信息。
[0021] 可选的,上述第二状态数据还包括上述目标关键点的权重值,其中,上述目标关键点的权重值根据预先设置的权重值列表确定。
[0022] 可选的,上述意图识别模型根据如下步骤进行训练:
[0023] 将训练数据中的第一状态训练数据、第二状态训练数据和动作趋势训练数据输入上述意图识别模型,通过上述意图识别模型输出训练被操作对象对应的预测目标状态数据,其中,上述训练数据包括多组训练信息组,每一组训练信息组包括第一状态训练数据、第二状态训练数据、动作趋势训练数据和实际目标状态数据;
[0024] 根据上述预测目标状态数据和上述实际目标状态数据,对上述意图识别模型的模型参数进行调整,并继续执行上述将训练数据中的第一状态训练数据、第二状态训练数据和动作趋势训练数据输入上述意图识别模型的步骤,直至满足预设训练条件,以得到已训练的意图识别模型;
[0025] 其中,上述意图识别模型为ALBERT模型。
[0026] 可选的,上述方法还包括:
[0027] 实时获取上述操作对象的健康状态信息,其中,上述健康状态信息包括上述操作对象的心率数据、脉搏数据、体温数据中的至少一种;
[0028] 当上述健康状态信息异常时,输出告警信息,控制上述目标机械臂在将上述被操作对象放置到预设安全区域之后停止工作。
[0029] 本发明第二方面提供一种基于意图识别的机械臂控制系统,其中,上述基于意图识别的机械臂控制系统包括:
[0030] 关键点集合获取模块,用于根据操作对象的姿态和目标机械臂的姿态获取关键点集合,其中,上述目标机械臂是上述操作对象对应的机械臂,上述关键点集合中包括多个目标关键点,一个上述目标关键点是上述操作对象的一个关节点、上述目标机械臂的一个关节点或上述操作对象与上述目标机械臂的一个接触点;
[0031] 状态数据获取模块,用于获取被操作对象对应的第一状态数据和各上述目标关键点对应的第二状态数据,其中,上述被操作对象是由上述操作对象通过上述目标机械臂操作的对象,上述第一状态数据包括上述被操作对象在当前时刻的加速度、速度和位置信息,上述第二状态数据包括上述目标关键点在当前时刻的加速度、速度和位置信息;
[0032] 动作趋势意图数据获取模块,用于获取上述操作对象对应的动作趋势意图数据,其中,上述动作趋势意图数据包括上述操作对象在当前时刻的视线方向;
[0033] 意图识别模块,用于根据上述第一状态数据、上述第二状态数据和上述动作趋势意图数据,通过已训练的意图识别模型获取上述被操作对象对应的目标状态数据,其中,上述目标状态数据包括上述被操作对象在下一时刻的目标加速度、目标速度和目标位置信息;
[0034] 控制模块,用于根据上述第一状态数据和上述目标状态数据生成上述目标机械臂对应的控制信号,并根据上述控制信号对上述目标机械臂进行控制。
[0035] 本发明第三方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的基于意图识别的机械臂控制程序,上述基于意图识别的机械臂控制程序被上述处理器执行时实现上述任意一种基于意图识别的机械臂控制方法的步骤。
[0036] 本发明第四方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有基于意图识别的机械臂控制程序,上述基于意图识别的机械臂控制程序被处理器执行时实现上述任意一种基于意图识别的机械臂控制方法的步骤。
[0037] 由上可见,本发明方案中,根据操作对象的姿态和目标机械臂的姿态获取关键点集合,其中,上述目标机械臂是上述操作对象对应的机械臂,上述关键点集合中包括多个目标关键点,一个上述目标关键点是上述操作对象的一个关节点、上述目标机械臂的一个关节点或上述操作对象与上述目标机械臂的一个接触点;获取被操作对象对应的第一状态数据和各上述目标关键点对应的第二状态数据,其中,上述被操作对象是由上述操作对象通过上述目标机械臂操作的对象,上述第一状态数据包括上述被操作对象在当前时刻的加速度、速度和位置信息,上述第二状态数据包括上述目标关键点在当前时刻的加速度、速度和位置信息;获取上述操作对象对应的动作趋势意图数据,其中,上述动作趋势意图数据包括上述操作对象在当前时刻的视线方向;根据上述第一状态数据、上述第二状态数据和上述动作趋势意图数据,通过已训练的意图识别模型获取上述被操作对象对应的目标状态数据,其中,上述目标状态数据包括上述被操作对象在下一时刻的目标加速度、目标速度和目标位置信息;根据上述第一状态数据和上述目标状态数据生成上述目标机械臂对应的控制信号,并根据上述控制信号对上述目标机械臂进行控制。
[0038] 与现有技术中相比,本发明方案中,并不需要用户(即操作对象)额外通过遥控器等控制装置来手动输入控制指令,而是自动根据操作对象的姿态和目标机械臂的姿态确定目标关键点,从而获取目标关键点处对应的第二主状态数据,并获取被操作对象的第一状态数据和操作对象对应的动作趋势意图数据,进而结合上述第一状态数据、上述第二状态数据和上述动作趋势意图数据,通过已训练的意图识别模型确定被操作对象(例如通过目标机械臂运输的物体)在下一时刻对应的目标状态数据,即确定下一个时刻希望被搬运的物体达到的运动状态和位置,从而确定如何对目标机械臂进行控制,使其能对应的改变被搬运的物体的状态。如此,只需要根据自动采集的当前时刻的状态数据(包括第一状态数据和第二状态数据)就可以自动处理、计算并快速自动生成所需要的控制信号,不需要用户手动输入控制指令,有利于提高机械臂控制效率。

附图说明

[0039] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0040] 图1是本发明实施例提供的一种基于意图识别的机械臂控制方法的流程示意图;
[0041] 图2是本发明实施例提供的一种基于意图识别的机械臂控制系统的结构示意图;
[0042] 图3是本发明实施例提供的一种智能终端的内部结构原理框图。

具体实施方式

[0043] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
[0044] 应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0045] 还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0046] 还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0047] 如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当…时”或“一旦”或“响应于确定”或“响应于分类到”。类似的,短语“如果确定”或“如果分类到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦分类到[所描述的条件或事件]”或“响应于分类到[所描述条件或事件]”。
[0048] 下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0049] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
[0050] 随着科学技术的发展,机械臂的应用越来越广泛,例如,用户可以使用机械臂等辅助设备进行物体运输以减少自身所需要花费的力气,并提高运输效率。具体的,在一种应用场景中可以使用助力机械臂等辅助性模块化建筑生产装备完成运输作业。
[0051] 现有技术中,用户在使用机械臂时需要输入控制指令对机械臂进行控制,具体的,用户可以根据预先设置的与机械臂对应的控制装置输入控制指令。例如,预先设置机械臂的遥控器作为机械臂对应的控制装置,用户通过遥控器上的按键实现输入控制指令并控制机械臂。现有技术的问题在于,用户在使用机械臂进行物体运输的同时,不仅要关注物体的运输情况,还需要分心来操作遥控器以实现对机械臂的控制,不利于提高机械臂控制效率,并且可能因用户分心控制而造成危险,影响机械臂使用的安全性。
[0052] 在一种应用场景中,用户可以输入语音以生成对应的控制指令,从而控制机械臂的运动。现有技术的问题在于,人类的语言存在歧义和表达不完善的情况,甚至可能因语音复杂而难以准确进行语音识别的情况,从而导致针对语音进行识别获取的控制指令与用户真正的意图并不相同,甚至难以识别和生成对应的控制指令,不利于提高机械臂控制的准确性和效率。同时,准确理解人类语言不仅需要大量训练数据,且处理过程中计算复杂性高、计算时间长,难以在工厂作业等需要实时动态反馈的环境下进行,不利于提高机械臂控制的实时性。
[0053] 为了解决上述多个问题中的至少一个问题,本发明方案中,根据操作对象的姿态和目标机械臂的姿态获取关键点集合,其中,上述目标机械臂是上述操作对象对应的机械臂,上述关键点集合中包括多个目标关键点,一个上述目标关键点是上述操作对象的一个关节点、上述目标机械臂的一个关节点或上述操作对象与上述目标机械臂的一个接触点;获取被操作对象对应的第一状态数据和各上述目标关键点对应的第二状态数据,其中,上述被操作对象是由上述操作对象通过上述目标机械臂操作的对象,上述第一状态数据包括上述被操作对象在当前时刻的加速度、速度和位置信息,上述第二状态数据包括上述目标关键点在当前时刻的加速度、速度和位置信息;获取上述操作对象对应的动作趋势意图数据,其中,上述动作趋势意图数据包括上述操作对象在当前时刻的视线方向;根据上述第一状态数据、上述第二状态数据和上述动作趋势意图数据,通过已训练的意图识别模型获取上述被操作对象对应的目标状态数据,其中,上述目标状态数据包括上述被操作对象在下一时刻的目标加速度、目标速度和目标位置信息;根据上述第一状态数据和上述目标状态数据生成上述目标机械臂对应的控制信号,并根据上述控制信号对上述目标机械臂进行控制。
[0054] 与现有技术中相比,本发明方案中,并不需要用户(即操作对象)额外通过遥控器等控制装置来手动输入控制指令,而是自动根据操作对象的姿态和目标机械臂的姿态确定目标关键点,从而获取目标关键点处对应的第二主状态数据,并获取被操作对象的第一状态数据和操作对象对应的动作趋势意图数据,进而结合上述第一状态数据、上述第二状态数据和上述动作趋势意图数据,通过已训练的意图识别模型确定被操作对象(例如通过目标机械臂运输的物体)在下一时刻对应的目标状态数据,即确定下一个时刻希望被搬运的物体达到的运动状态和位置,从而确定如何对目标机械臂进行控制,使其能对应的改变被搬运的物体的状态。如此,只需要根据自动采集的当前时刻的状态数据(包括第一状态数据和第二状态数据)就可以自动处理、计算并快速自动生成所需要的控制信号,不需要用户手动输入控制指令,有利于提高机械臂控制效率。
[0055] 如图1所示,本发明实施例提供一种基于意图识别的机械臂控制方法,具体的,上述方法包括如下步骤:
[0056] 步骤S100,根据操作对象的姿态和目标机械臂的姿态获取关键点集合,其中,上述目标机械臂是上述操作对象对应的机械臂,上述关键点集合中包括多个目标关键点,一个上述目标关键点是上述操作对象的一个关节点、上述目标机械臂的一个关节点或上述操作对象与上述目标机械臂的一个接触点。
[0057] 其中,上述操作对象是操作目标机械臂的用户,目标机械臂是操作对象所佩戴的助力机械臂。本实施例中,用户使用助力机械臂进行物体运输,即搬运被操作对象,以达到省力和快速搬运的目的。本实施例中,获取的关键点集合中包括多个目标关键点,上述目标关键点是在进行意图识别过程中需要重点考虑的关键点。具体的,上述操作对象上肢佩戴上述机目标机械臂,因此上述操作对象的上肢与目标机械臂之间存在接触面和/或接触点。
[0058] 具体的,上述根据操作对象的姿态和目标机械臂的姿态获取关键点集合,包括:对上述操作对象和上述目标机械臂进行图像采集并获得姿态识别图像;对上述姿态识别图像进行姿态识别,获取上述操作对象的姿态和上述目标机械臂的姿态;根据上述操作对象的姿态和上述目标机械臂的姿态,从预设点集合中选取多个预设关键点作为目标关键点,其中,上述预设点集合由多个预设关键点构成,一个上述预设关键点是上述操作对象的一个关节点、上述目标机械臂的一个关节点或上述操作对象与上述目标机械臂的一个接触点。
[0059] 本实施例中,预先设置有大量预设关键点,并且在各个预设关键点的位置都设置有对应的传感器,用于进行数据采集。具体的,将操作对象的所有关节点、目标机械臂的所有关节点都作为预设关键点。并且还可以将操作对象和目标机械臂的所有接触点作为预设关节点。当操作对象和目标机械臂之间存在接触面时,一个接触面中至少选择3个点作为预设关键点,可以预先指定接触面中点的位置,也可以随机选择,或者将接触面的中心点和至少3个边界点作为预设关键点,具体设置方式在此不做具体限定。
[0060] 进一步的,上述根据上述操作对象的姿态和上述目标机械臂的姿态,从预设点集合中选取多个预设关键点作为目标关键点,包括:将上述预设点集合、上述操作对象的姿态以及上述目标机械臂的姿态输入已训练的姿态分析模型,通过上述姿态分析模型输出上述目标关键点。
[0061] 本实施例中在获得姿态之后,通过已训练的姿态分析模型来确定对应的目标关键点,实际使用过程中,还可以设置其它方式,例如预先设置姿态与目标关键点的关联表,当确定当前的姿态之后查表匹配确定对应的目标关键点。在一种应用场景中,还可以将所有的预设关键点都作为目标关键点,以提高处理准确性从而提高目标机械臂控制的准确性。在另一种应用场景中,还可以基于姿态进行受力分析,选择主要受力点作为上述目标关键点。
[0062] 本实施例中,则选择部分预设关键点(例如当前姿态下的重要发力点)作为目标关键点,以减少需要处理的数据量,提高数据处理效率,进而提高目标机械臂控制的效率。
[0063] 其中,上述姿态分析模型根据如下步骤进行预先训练:将姿态分析训练数据中的训练预设点集合、训练操作对象的姿态和训练目标机械臂的姿态输入姿态分析模型,通过姿态分析模型从训练预设点集合中选择获取训练目标关键点,其中,姿态分析训练数据包括多个姿态训练数据组,上述姿态训练数据组中包括训练预设点集合、训练操作对象的姿态、训练目标机械臂的姿态和标注目标关键点;根据上述训练目标关键点和上述标注目标关键点对上述姿态分析模型的模型参数进行调整,直到满足姿态分析模型对应的训练完成条件。其中,上述训练完成条件包括上述训练目标关键点和上述标注目标关键点之间的损失值小于姿态分析模型对应的损失阈值和/或训练迭代次数达到姿态分析模型对应的迭代阈值,还可以包括其它条件,在此不作具体限定。
[0064] 步骤S200,获取被操作对象对应的第一状态数据和各上述目标关键点对应的第二状态数据,其中,上述被操作对象是由上述操作对象通过上述目标机械臂操作的对象,上述第一状态数据包括上述被操作对象在当前时刻的加速度、速度和位置信息,上述第二状态数据包括上述目标关键点在当前时刻的加速度、速度和位置信息。
[0065] 其中,上述第一状态数据和第二状态数据是用于表示对应对象的运动状态、位置状态等状态的数据。本实施例中,具体包括加速度、速度和位置信息,可以由预先设置的对应传感器实时测量获得。在一种应用场景中,还可以设置压力传感器,将测得的压力也作为第一状态数据和第二状态数据中的一部分。上述被操作对象是需要进行搬运的物体,可以是建筑材料(如地板等),还可以是其它物体,在此不作具体限定。上述当前时刻是实际数据测量的当前时刻,本实施例中,基于当前时刻的数据预测下一时刻的被操作对象的期望状态数据(即目标状态数据)。
[0066] 具体的,上述获取被操作对象对应的第一状态数据和各上述目标关键点对应的第二状态数据,包括:通过上述被操作对象上设置的加速度传感器和速度传感器分别获取上述被操作对象在当前时刻的加速度和速度,通过上述被操作对象上设置的通信设备分别与待监测区域内的至少三个预设通信点进行无线通信,获取上述被操作对象和与该被操作对象建立通信连接的预设通信点之间的距离并作为第一测量距离,根据上述第一测量距离和上述预设通信点的位置坐标计算获取上述被操作对象对应的位置信息,其中,上述待监测区域是上述操作对象、上述目标机械臂和上述被操作对象所在的区域;
[0067] 针对任意一个目标关键点,通过上述目标关键点处设置的加速度传感器和速度传感器获取上述目标关键点在当前时刻的加速度和速度,通过上述目标关键点处设置的通信设备分别与上述待监测区域内的至少三个预设通信点进行无线通信,获取上述目标关键点和与该目标关键点建立通信连接的预设通信点之间的距离并作为第二测量距离,根据上述第二测量距离和上述预设通信点的位置坐标计算获取上述目标关键点对应的位置信息。
[0068] 需要说明的是,上述加速度传感器和速度传感器可以直接采集获取对应的加速度和速度。而上述通信设备基于UWB测距技术实现测距,并可以基于三点定位法实现定位,从而确定对应的位置信息。本实施例中,上述位置信息是在预先构建的笛卡尔坐标系中的位置坐标。
[0069] 在一种应用场景中,预先设置三个预设通信点,从而实现测距和定位。在另一种应用场景中,在不同位置预先设置多个预设通信点,且每一个预设通信点的坐标都是已知且固定的,可以结合所有预设通信点进行定位,从而提高定位的准确性。在另一种应用场景中,设置有多个预设通信点时,被操作对象发出通信信号,将最先接收到该通信信号的三个预设通信点作为建立通信连接的点,根据他们与被操作对象的距离对被操作对象进行定位,从而降低需要处理的数据量,提高定位速度,进而提高对目标机械臂的控制效率,有利于满足操作实时性的要求。需要说明的是,还可以使用其它方式进行定位,在此不作具体限定。
[0070] 同时,本实施例中针对每一个目标关键点都使用相同的方式进行定位,实际使用过程中可以为不同的目标关键点设置不同的定位方式,或者针对不同的目标关键点,在定位时使用的通信连接的预设关键点的个数(即通信点个数)不同,例如,密度较高的位置的目标关键点使用更多的通信点个数,以提高定位准确性。
[0071] 在一种应用场景中,上述第二状态数据还包括上述目标关键点的权重值,其中,上述目标关键点的权重值根据预先设置的权重值列表确定。
[0072] 为不同的目标关键点设置对应的权重值,能够为意图识别模型引入注意力机制,使其在进行数据处理的过程中更注重于处理更重要(即权重值更大)的数据,即对影响力更大的点进行优先考虑,从而提高数据处理的效率和获得的数据的准确性。
[0073] 需要说明的是,上述权重值可以根据各个预设关键点(或关节点)在发力时的重要程度设置和确定。例如,预先建立一个权重值列表,用于存储不同位置的关键点所对应的权重等级和/或具体的权重值,从而在获得目标关键点之后可以直接查找匹配以确定其对应的权重值。具体的,上肢上的关节点的权重值高于下肢上的关节点的权重值。
[0074] 在另一种应用场景中,也可以根据上述操作对象的姿态和目标机械臂的姿态进行受力分析,设置受力越大的点的权重值越高。实际使用过程中还可以有其它设置方式,在此不作具体限定。优选的,也可以预先训练关键点识别模型用于进行受力分析并确定对应的目标关键点,在此不作具体限定。
[0075] 步骤S300,获取上述操作对象对应的动作趋势意图数据,其中,上述动作趋势意图数据包括上述操作对象在当前时刻的视线方向。
[0076] 其中,上述动作趋势意图数据是可以体现用户的运动意图或运动趋势的数据,本实施例中包括操作对象在当前时刻的视线方向,实际使用过程中,还可以包括其它数据,例如操作对象在当前时刻的足尖方向、手指方向等,在此不作具体限定。需要说明的是,上述动作趋势意图数据也可以根据姿态识别图像获取。
[0077] 步骤S400,根据上述第一状态数据、上述第二状态数据和上述动作趋势意图数据,通过已训练的意图识别模型获取上述被操作对象对应的目标状态数据,其中,上述目标状态数据包括上述被操作对象在下一时刻的目标加速度、目标速度和目标位置信息。
[0078] 其中,上述意图识别模型是预先设置的用于对操作对象(即用户)的控制意图进行识别和分析,从而预测出被操作对象在下一时刻的期望状态(即目标状态数据)的神经网络模型。
[0079] 本实施例中,上述意图识别模型根据如下步骤进行训练:将训练数据中的第一状态训练数据、第二状态训练数据和动作趋势训练数据输入上述意图识别模型,通过上述意图识别模型输出训练被操作对象对应的预测目标状态数据,其中,上述训练数据包括多组训练信息组,每一组训练信息组包括第一状态训练数据、第二状态训练数据、动作趋势训练数据和实际目标状态数据;根据上述预测目标状态数据和上述实际目标状态数据,对上述意图识别模型的模型参数进行调整,并继续执行上述将训练数据中的第一状态训练数据、第二状态训练数据和动作趋势训练数据输入上述意图识别模型的步骤,直至满足预设训练条件,以得到已训练的意图识别模型;其中,上述意图识别模型为ALBERT模型。
[0080] 其中,上述训练数据是预先获取的用于对意图识别模型进行训练的数据。上述第一状态训练数据包括训练被操作对象(即训练过程中的被操作对象)在第一时刻的加速度、速度和位置信息,第二状态训练数据包括各个训练目标关键点(即训练过程中的目标关键点)在第一时刻的加速度、速度和位置信息。动作趋势训练数据则包括训练操作对象(即训练过程中的操作对象)在第一时刻对应的视线方向。需要说明的是,当上述第二状态数据还包括目标关键点的权重值时,第二状态训练数据也对应包括训练目标关键点对应的权重值,且权重值的设置原理相似,在此不再赘述。上述实际目标状态数据包括训练被操作对象在第二时刻的速度、加速度和位置信息,第二时刻是第一时刻的后一时刻。第一状态训练数据、第二状态训练数据、动作趋势训练数据和实际目标状态数据可以在训练数据的采集的过程中实际采集获得。
[0081] 需要说明的是,上述训练操作对象、训练被操作对象和训练过程中使用的机械臂可以直接选用对一个的操作对象、被操作对象和目标机械臂,以获得更好的训练效果。
[0082] 上述预设训练条件包括预测目标状态数据与对应的实际目标状态数据之间的损失值(可以根据预设的损失函数计算)小于预设的损失阈值和/或该模型的迭代训练次数达到预设的迭代阈值。
[0083] 进一步的,本实施例中采用ALBERT模型作为意图识别模型,ALBERT模型是经典BERT模型的变种,与传统的重量级BERT模型(包含过多参数不利于工厂级算力有限场景的应用)不同,ALBERT模型通过在输出层采取输入矩阵投影变换的方式显著缩减了特征参数数量,且能更好地识别到关键性特征,能够实现轻量级的BERT深度学习,有利于提高模型训练速度,也能够提高模型对数据的处理速度,从而提高对机械臂的控制效率。
[0084] 步骤S500,根据上述第一状态数据和上述目标状态数据生成上述目标机械臂对应的控制信号,并根据上述控制信号对上述目标机械臂进行控制。
[0085] 其中,上述控制信号用于对上述目标机械臂进行控制,以使得上述目标机械臂搬运对应的被操作对象,且使得被操作对象在下一时刻(即当前时刻的后一时刻)的加速度、速度和位置信息与目标状态数据相同,即控制被操作对象运动到期望位置并达到期望的运动状态。
[0086] 在一种应用场景中,可以为上述目标机械臂的各个控制关键点生成对应的控制信号,以实现更精准的控制。上述控制关键点是目标机械臂上用于控制其运动的关键点,可以根据实际需求预先设置,例如,可以将目标机械臂的所有关节点都作为控制关键点。
[0087] 具体的,可以根据被操作对象当前的第一状态数据和下一时刻想要达到的目标状态数据,确定具体要生成的控制信号。在一种应用场景中,将第一状态数据和目标状态数据输入到目标机械臂对应的自动控制平台中可以实现自动生成对应的控制信号,还可以有其它生成方式,在此不作具体限定。
[0088] 进一步的,上述方法还包括:实时获取上述操作对象的健康状态信息,其中,上述健康状态信息包括上述操作对象的心率数据、脉搏数据、体温数据中的至少一种;当上述健康状态信息异常时,输出告警信息,控制上述目标机械臂在将上述被操作对象放置到预设安全区域之后停止工作。
[0089] 具体的,上述健康状态信息是用于体现操作对象的身体情况的信息,还可以包括操作对象的手部抖动数据等其它具体数据,在此不作具体限定,健康状态信息可以由操作对象佩戴的健康检测装置或健康检测传感器采集获得。
[0090] 本实施例中,实时对操作对象(即用户)的健康状态进行监测,当用户身体异常时,及时进行告警并控制机械臂在就近的预设安全区域(预先划分的用于在紧急情况下放置物体的区域)放置搬运的物体之后停止工作,保障使用过程中的安全性。
[0091] 在一种应用场景中,对应的加速度、速度、压力等信息可以通过压感传感器、加速度传感器等感知设备采集,还可以基于六维力触传感技术进行数据采集。上述各种模型(例如意图识别模型)可以使用深度强化学习模型,在意图识别模型的训练过程中,对应的实际目标状态数据中的位置也可以根据具体的运输任务及其对应的运输位置空间确定。例如运输任务是通过助力机械臂运输大重量模块化建筑底板,则既定运输位置应该为当前产线上的模块化建筑框架底部位置,结合位置坐标、输入数据,使用力学和运动学公式,精确计算模型输出其他元素(加速度、速度、角度等)。具体可以基于反向传播和梯度下降方法训练意图识别模型。
[0092] 进一步的,上述目标机械臂可以采用大荷载助力吸盘机构或大吸力真空吸盘,能够抓取重量较高的物体,例如重量达到300kg的地板,确保地板在搬运过程中的安全性。
[0093] 在一种应用场景中,还可以根据实际需求对获得的位置信息进行标定,在此不作具体限定。
[0094] 由上可见,本发明方案中,并不需要用户(即操作对象)额外通过遥控器等控制装置来手动输入控制指令,而是自动根据操作对象的姿态和目标机械臂的姿态确定目标关键点,从而获取目标关键点处对应的第二主状态数据,并获取被操作对象的第一状态数据和操作对象对应的动作趋势意图数据,进而结合上述第一状态数据、上述第二状态数据和上述动作趋势意图数据,通过已训练的意图识别模型确定被操作对象(例如通过目标机械臂运输的物体)在下一时刻对应的目标状态数据,即确定下一个时刻希望被搬运的物体达到的运动状态和位置,从而确定如何对目标机械臂进行控制,使其能对应的改变被搬运的物体的状态。如此,只需要根据自动采集的当前时刻的状态数据(包括第一状态数据和第二状态数据)就可以自动处理、计算并快速自动生成所需要的控制信号,不需要用户手动输入控制指令,有利于提高机械臂控制效率。
[0095] 如图2中所示,对应于上述基于意图识别的机械臂控制方法,本发明实施例还提供一种基于意图识别的机械臂控制系统,上述基于意图识别的机械臂控制系统包括:
[0096] 关键点集合获取模块610,用于根据操作对象的姿态和目标机械臂的姿态获取关键点集合,其中,上述目标机械臂是上述操作对象对应的机械臂,上述关键点集合中包括多个目标关键点,一个上述目标关键点是上述操作对象的一个关节点、上述目标机械臂的一个关节点或上述操作对象与上述目标机械臂的一个接触点;
[0097] 状态数据获取模块620,用于获取被操作对象对应的第一状态数据和各上述目标关键点对应的第二状态数据,其中,上述被操作对象是由上述操作对象通过上述目标机械臂操作的对象,上述第一状态数据包括上述被操作对象在当前时刻的加速度、速度和位置信息,上述第二状态数据包括上述目标关键点在当前时刻的加速度、速度和位置信息;
[0098] 动作趋势意图数据获取模块630,用于获取上述操作对象对应的动作趋势意图数据,其中,上述动作趋势意图数据包括上述操作对象在当前时刻的视线方向;
[0099] 意图识别模块640,用于根据上述第一状态数据、上述第二状态数据和上述动作趋势意图数据,通过已训练的意图识别模型获取上述被操作对象对应的目标状态数据,其中,上述目标状态数据包括上述被操作对象在下一时刻的目标加速度、目标速度和目标位置信息;
[0100] 控制模块650,用于根据上述第一状态数据和上述目标状态数据生成上述目标机械臂对应的控制信号,并根据上述控制信号对上述目标机械臂进行控制。
[0101] 具体的,本实施例中,上述基于意图识别的机械臂控制系统及其各模块的具体功能可以参照上述基于意图识别的机械臂控制方法中的对应描述,在此不再赘述。
[0102] 需要说明的是,上述基于意图识别的机械臂控制系统的各个模块的划分方式并不唯一,在此也不作为具体限定。
[0103] 基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图3所示。上述智能终端包括处理器及存储器。该智能终端的存储器包括基于意图识别的机械臂控制程序,存储器为基于意图识别的机械臂控制程序的运行提供环境。该基于意图识别的机械臂控制程序被处理器执行时实现上述任意一种基于意图识别的机械臂控制方法的步骤。需要说明的是,上述智能终端还可以包括其它功能模块或单元,在此不作具体限定。
[0104] 本领域技术人员可以理解,图3中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体地智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0105] 本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有基于意图识别的机械臂控制程序,上述基于意图识别的机械臂控制程序被处理器执行时实现本发明实施例提供的任意一种基于意图识别的机械臂控制方法的步骤。
[0106] 应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0107] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0108] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0109] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0110] 在本发明所提供的实施例中,应该理解到,所揭露的系统/智能终端和方法,可以通过其它的方式实现。例如,以上所描述的系统/智能终端实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0111] 上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
[0112] 以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。