[发明专利]一种机械臂任务执行序列的语义解析方法、系统及计算机可读介质有效
申请号: | 202011552393.9 | 申请日: | 2020-12-24 |
公开(公告)号: | CN112667823B | 公开(公告)日: | 2022-11-01 |
发明(设计)人: | 冯明涛;朱光明;张亮;孙杰凡;宋娟;沈沛意 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F16/36 | 分类号: | G06F16/36;G06F17/16;G06F40/205 |
代理公司: | 北京盛询知识产权代理有限公司 11901 | 代理人: | 蔺巍 |
地址: | 710071 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 机械 任务 执行 序列 语义 解析 方法 系统 计算机 可读 介质 | ||
1.一种机械臂任务执行序列的语义解析方法,其特征在于,包括以下步骤:
获取机械臂任务执行点序列和执行点对应场景中所有物体的状态序列,所述机械臂任务执行点序列具体为机械臂抓手的状态序列,所有物体的状态序列由场景中每一个单个物体的状态序列组成,通过对任务长度为N的机械臂抓手的状态序列中的开合状态进行差值处理来确定任务执行点序列分割点,各分割点将机械臂抓手的状态序列分割为n个连续的任务子过程序列;
确定任务子过程sj的机械臂抓手的操作类型解析任务子过程sj中包含的所有物体的运动特征、获取任务子过程sj中发生变化的物体列表和与机械臂抓手直接接触的物体列表,确定任务子过程sj机械臂抓手的动作类型及作用的物体,并根据任务子过程sj结束时所有物体的状态特征,解析作用物体的空间语义关系;
整合任务子过程sj的语义解析结果,构建基于机械臂任务执行序列的语义解析图,获得机械臂任务动作序列;
所述获取机械臂任务执行点序列和执行点对应场景中所有物体的状态序列,所述机械臂任务执行点序列具体为机械臂抓手的状态序列,所有物体的状态序列由场景中每一个单个物体的状态序列组成,通过对任务长度为N的机械臂抓手的状态序列中的开合状态进行差值处理来确定任务执行点序列分割点,各分割点将机械臂抓手的状态序列分割为n个连续的任务子过程序列,具体为:
所述机械臂抓手的状态序列为{GS1,GS2,GS3…,GSi,…,GSN},其中机械臂抓手第i个状态数据GSi=(posi,quai,openi),posi=(xi,yi,zi)表示机械臂抓手第i个状态的位置坐标,xi表示机械臂抓手第i个状态的x轴坐标,yi表示机械臂抓手第i个状态的y轴坐标,zi表示机械臂抓手第i个状态的z轴坐标;quai=(qx,qy,qz,qw)表示机械臂抓手第i个状态的方向,(qx,qy,qz)表示机械臂抓手第i个状态旋转的转轴,qx是转轴的x轴分量,qy表示转轴的y轴分量,qz表示转轴的z轴分量,qw表示机械臂抓手第i个状态绕转轴旋转的角度分量,openi={0,1}表示机械臂抓手第i个状态的开合状态,openi=0是合,openi=1是开;
所述单个物体的状态序列为单个物体a的第i个状态数据name表示单个物体a的名称,posi=(xi,yi,zi)表示单个物体a的第i个状态的位置坐标;quai=(qx,qy,qz,qw)表示单个物体a的第i个状态的方向,colori=(cr,cg,cb)表示单个物体a的第i个状态的颜色,cr表示单个物体a的第i个状态的颜色在R通道上的颜色分量,cg表示单个物体a的第i个状态的颜色在G通道上的颜色分量,cb表示单个物体a的第i个状态的颜色在B通道上的颜色分量;bboxi=(xmin,xmax,ymin,ymax,zmin,zmax)表示单个物体a的第i个状态的大小,以物体a中心为原点坐标轴,(xmin,xmax)表示物体a大小在x轴上的范围,(ymin,ymax)表示物体a大小在y轴上的范围,(zmin,zmax)表示物体a大小在z轴上的范围;rel={None,sub}表示单个物体a是否为某个物体不可脱离的组件,rel=None表示单个物体a不是任何物体不可脱离的组件,rel=sub表示单个物体a是物体sub不可脱离的组件,sub表示物体;R表示以单个物体a中心为原点的坐标系A相对于世界坐标系W的旋转矩阵,R的具体表达如下式所示:
其中,旋转矩阵R由四列构成,第一列(R0,R4,R8)是坐标系A相对于世界坐标系W在x轴上的方向分量,第二列(R1,R5,R9)是坐标系A相对于世界坐标系W在y轴上的方向分量,第三列(R2,R6,R10)是坐标系A相对于世界坐标系W在z轴上的方向分量,第四列(R3,R7,R11)是坐标系A相对于世界坐标系W分别在x、y、z轴上的平移分量;
设机械臂抓手的第i个状态中的开合状态为openi,下一个机械臂抓手的状态中的开合状态为openi+1,1≤iN,将相邻两个的机械臂抓手的状态中的开合状态进行差值处理,得到开合状态差值即
根据开合状态差值按照下述公式确定任务序列中的分割点pj,具体为:
其中,j1,0iN,p1=0,pn-1=N-1,p1=0表示第一个分割点是任务序列起始点,pn-1=N-1表示最后一个分割点是任务序列终止点;
将机械臂抓手的状态序列中得到的分割点形成分割点序列{p1,p2,p3,…,pj,…,pn-1},pjN,各分割点将机械臂抓手的状态序列分割为n个连续的子过程序列{s1,s2,s3,..,sj,…,sn},其中sj表示分割点pj到分割点pj+1的机械臂抓手的状态序列,记为任务子过程sj(pj,pj+1);
所述任务子过程sj中包含的所有物体的运动特征的解析过程,具体为:根据任务子过程sj中包含的某一单个物体a的起始位置终止位置起始方向终止方向以及起始颜色终止颜色获取单个物体a在任务子过程sj的运动特征进而获取任务子过程sj中包含的所有物体的运动特征;
其中,单个物体a在任务子过程sj的运动特征的计算公式为:
其中:
其中,是任务子过程sj中物体a的位移;是任务子过程sjj中物体a的旋转角度;是任务子过程sj中物体a的颜色变化;表示在任务子过程sj中物体a是否消失,表示物体a在经过任务子过程sj后消失,表示物体a在经过任务子过程sj后依然存在;分别是任务子过程sj终止时物体a的位置坐标,分别是任务子过程sj开始时物体a的位置坐标;表示物体a在旋转到任务子过程sj终止时的旋转角度,是物体a在旋转到任务子过程sj起始pj时的角度分量;分别表示任务子过程sj开始时物体a的颜色通道,分别表示任务子过程sj终止时物体a的颜色通道;代表在任务子过程sj起始执行点对应的物体中含物体a;代表在任务子过程sj终止执行点对应的物体中不含物体a;
所述根据任务子过程sj机械臂抓手的动作类型及作用的物体,具体为:任务子过程sj(pj,pj+1)起始pj和终止pj+1时物体的属性从单个物体a状态数据中获取,其中状态数据中的序号i等于任务子过程中起始pj和终止pj+1的序号;
任务子过程sj机械臂抓手的动作类型具体的确定公式如下式所示:
其中,optsj是任务子过程sj中机械臂抓手的操作类型;len(pos_objectsj)是任务子过程sj中产生位移的物体个数;是任务子过程sj中发生旋转的物体个数;len(color_objectsj)是任务子过程sj中发生颜色变化的物体个数;t_objectssj是任务子过程sj中机械臂抓手直接接触的物体;是任务子过程sj中机械臂抓手直接接触物体的rel值,表示该物体是某个物体不可脱离的组件,rel=None表示该物体不是任何物体不可脱离的组件,rel=sup表示该物体是物体sup不可脱离的组件;len(clear_objectsj)是任务子过程sj中消失的物体个数;当机械臂抓手的动作类型是“move”并且机械臂抓手直接接触物体是作为物体sup不可分割的组件时,任务子过程sj的动作类型具体是“push”还是“pull”,要根据物体与sup对象的距离变化进一步区分,具体的公式如下:
其中,是位移变化物体在任务子过程起始pj时的位置坐标;是位移变化物体的sup对象在任务子过程起始pj时的位置坐标;distance是计算两个坐标点间的距离公式;
定义上述机械臂抓手的动作类型与其作用物体的关系,具体如下:
到达物体a处,表示为“到达”:物体a是通过在t_objects中查找在子过程sj序列之后且离它最近子过程sk对应的物体,即(a,sk),j<k;
旋转物体a,表示为“旋转”:物体a是通过查找t_objects中查找与sj对应的物体,即(a,sj);
移动物体a,表示为“移动”:物体中a是通过查找t_objects中查找与sj对应的物体,即(a,sj),a*是物体a最终到达的物体,即为pos_objectsj的中发生位置改变的物体;
按压物体a使得物体b发生颜色改变,表示为“按压”:物体a为pos_objectsj中位置发生改变的物体,物体b为color_objectsj中颜色发生改变的物体;
将拿着物体a推动物体b,表示“间接推”:为物体中a是通过查找t_objects中查找与sj对应的物体,即(a,sj),物体b为pos_objectsj中不是物体a的另一个物体,b*是物体b最终到达的物体;
抓着物体a推物体b,表示为“推”:物体a是通过查找t_objects中查找与sj对应的物体,即(a,sj),如果查找失败,物体a为空;物体b是pos_objectsj中位置发生改变的物体;
抓着物体a拉物体b,表示为“拉”:物体a是通过查找t_objects中查找与sj对应的物体,即(a,sj);物体b是pos_objectsj中位置发生改变的物体;
拿着物体a清除物体b,表示为“清除”:物体a是通过查找t_objects中查找与sj对应的物体,即(a,sj);物体b是pos_objectsj中位置发生改变的物体;
所述根据任务子过程sj结束时所有物体的状态特征,解析作用物体的空间语义关系,具体为:根据任务子过程sj结束时所有物体的状态特征,解析作用物体a与其他物体object的空间语义关系,表示为type表述两个物体的关系类型;
将任两物体的bbox边界范围变换到同一坐标系中,以物体a中心为原点建立坐标系A,在坐标系A上的点P转换到世界坐标系W上的坐标确定物体a在世界坐标系W下的边界点坐标,计算公式如下:
其中,R是坐标系A相对世界坐标系W的旋转矩阵,旋转矩阵R由四列构成,第一列(Ra0,Ra4,Ra8)是坐标系A相对于世界坐标系W在x轴上的方向分量,第二列(Ra1,Ra5,Ra9)是坐标系A相对于世界坐标系W在y轴上的方向分量,第三列(Ra2,Ra6,Ra10)是坐标系A相对于世界坐标系W在z轴上的方向分量,最后一列(Ra3,Ra7,Ra11)是坐标系A相对于世界坐标系W,分别在x、y、z轴上的平移分量;
以物体b中心为原点建立坐标系,确定物体b在世界坐标系W下的边界点坐标;
判断物体a与物体b的空间语义关系type类型;
所述物体a与物体b的空间语义关系type类型的判断方法,具体为:通过物体a与物体b的中心点距离与两物体bbox最大边界的关系;若满足以下条件则进行S1,否则物体a与物体b是不相关的,type=separated,判断条件如下:
其中,是任务子过程终止(pi+1)时物体a的位置坐标;是任务子过程终止时物体b的位置坐标;distance是计算两个坐标点之间的距离公式;是任务子过程终止(pi+1)时物体a分别在x、y、z轴上最大的边界值;是任务子过程终止(pi+1)时物体b分别在x、y、z轴上最大的边界值;
S1、通过物体a与物体b在世界坐标系W的x、y、z轴上边界范围的关系,确定空间语义关系类型;若不满足以下条件,则进行S2,具体公式如下:
式中,是指物体a在世界坐标系W的x轴上的边界范围;是指物体b在世界坐标系W的x轴上的边界范围;是指物体a在世界坐标系W的y轴上的边界范围;是指物体b在世界坐标系W的y轴上的边界范围;是指物体a在世界坐标系W的z轴上的边界范围;是指物体b在世界坐标系W的z轴上的边界范围;
若满足上述条件则进行以下判断,确定空间语义关系类型,具体的公式如下:
S2、通过物体a与物体b在世界坐标系的中心坐标(xa,ya,za)、(xb,yb,zb)与两物体的关系,确定空间语义关系类型,具体的公式如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011552393.9/1.html,转载请声明来源钻瓜专利网。