本申请涉及机器人技术领域,特别是涉及一种重力加速度方向的标定方法、标定装置及存储介质。
背景技术:
随着机器人技术的发展,基于动力学的相关功能如碰撞检测、拖动示教等都得到了广泛应用,在这些应用中都需要设定重力矢量在机器人坐标系下的描述,且重力矢量设置得是否准确将对这些动力学应用的效果产生很大的影响,因而如何准确测量重力矢量显得非常重要。
技术实现要素:
本申请主要解决的技术问题是提供一种重力加速度方向的标定方法、标定装置及存储介质,能够简单、快捷地完成重力加速度方向的标定。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种重力加速度方向的标定方法,所述标定方法应用于机器人,所述机器人的末端法兰安装有标定工具,所述标定方法包括:在所述机器人带动所述标定工具运动至所述标定工具的末端触碰一水平的基准平面而在所述基准平面上形成触点时,记录所述机器人的位姿参数;重复执行上述步骤直至在所述基准平面上形成预设数量的所述触点,所述预设数量为至少三个;基于记录的所述位姿参数以及所述标定工具的末端相对于所述末端法兰的位置,确定所述重力加速度方向在所述目标坐标系下的方向向量。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种重力加速度方向的标定装置,利用安装在机器人的末端法兰上的标定工具标定重力加速度方向,包括处理器以及存储器,所述处理器耦接所述存储器,所述存储器中存储有程序数据,所述处理器通过执行所述存储器内的所述程序数据以实现上述方法中的步骤。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被处理器执行以实现上述方法中的步骤。
本申请的有益效果是:本申请中的方法只要利用安装在末端法兰上的标定工具就能够完成重力加速度方向的标定,简单、快捷。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请机器人的结构示意图;
图2是图1中标定工具的结构示意图;
图3是本申请重力加速度方向的标定方法一实施方式的流程示意图;
图4是图3中步骤s130在一应用场景中的流程示意图;
图5是d-h模型的示意图;
图6是图3中步骤s130在另一应用场景中的流程示意图;
图7是图3中步骤s130在另一应用场景中的流程示意图;
图8是本申请重力加速度方向的标定装置一实施方式的结构示意图;
图9是本申请计算机可读存储介质一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请重力加速度方向的标定方法应用于机器人,且适用于三轴或三轴以上的机器人,例如三轴机器人、六轴机器人等,为了便于说明,以下以机器人为六轴机器人进行说明。
如图1和图2所示,该机器人100的末端法兰101安装有标定工具110,该标定工具110包括安装盘111以及标定杆112,其中,标定杆112的端部与安装盘111的盘面抵接,安装盘111上设有安装孔1111,供锁紧件穿过安装孔1111而将标定工具110与末端法兰101固定,在一应用场景中,标定杆112垂直设置在安装盘111上。
同时本申请重力加速度方向的标定方法的执行主体是重力加速度方向的标定装置(以下简称标定装置),该标定装置可以独立于机器人,也可以集成在机器人上,在此不做限制。
参阅图3,重力加速度方向的标定方法包括:
s110:在机器人100带动标定工具110运动至标定工具110的末端触碰一水平的基准平面而在基准平面上形成触点时,记录机器人100的位姿参数。
具体地,用户可以通过示教器操控机器人100,使标定工具110的末端去触碰一水平的基准平面而在基准平面上形成触点,且在标定工具110的末端触碰基准平面形成触点时,标定装置记录机器人100的位姿参数。
其中,通过机器人100各关节安装的编码器或旋转变压器,获知机器人100的位姿参数,该位姿参数可以是机器人100各关节的旋转角度以及位移距离。
在本实施方式中,位姿参数为机器人100各关节的旋转角度,即位姿参数为机器人100各轴的旋转角。
s120:判断是否已经在基准平面上形成预设数量的触点,其中预设数量为至少三个。
若判断结果为是,则进入步骤s130,否则,则返回执行步骤s110。
具体地,多次执行步骤s110直至标定工具110的末端在基准平面上形成预设数量的触点,该预设数量为至少三个,例如三个、五个或者更多个,在一应用场景中,预设数量为三个。
其中为了便于说明,以下均以预设数量为三个进行说明。
s130:基于记录的位姿参数以及标定工具110的末端相对于末端法兰101的位置,确定重力加速度方向在目标坐标系下的方向向量。
具体地,目标坐标系是固定的坐标系,即目标坐标系的原点、x轴方向、y轴方向以及z轴方向固定不变,其中,目标坐标系可以是机器人100的基座坐标系、工件坐标系、用户坐标系、世界坐标系或者关节坐标系等,在此不做限制。
在一应用场景中,如图4所示,步骤s130具体包括:
s131:基于位姿参数以及标定工具110的末端相对于末端法兰101的位置,计算对应的触点在基座坐标系下的坐标。
首先根据位姿参数计算与触点对应的法兰坐标系相对基座坐标系的转换矩阵,其中,法兰坐标系是机器人100末端轴的轴坐标系。
具体而言,法兰坐标系是机器人100末端轴的轴坐标系,其原点位于末端法兰101盘面的中心,x轴、y轴随着机器人100的末端轴转动而转动,z轴垂直末端法兰101向外,可以理解的是,机器人100的末端轴的位置不同,标定工具110的末端在基准平面上形成的触点不同,对应的法兰坐标系也不同。而基座坐标系是机器人100固有的坐标系,基于机器人100的基座设置,只要机器人100的安装位置不变,基座坐标系就不会发生改变。
其中可以运用运动学正解算法计算与触点对应的法兰坐标系相对基座坐标系的转换矩阵。
下面对运动学正解算法进行介绍:
机器人运动学正解算法是指给定机器人各杆件的结构参数和各关节的运动参数,求解出其末端执行器的位姿的过程。目前,在机器人运动学正解算法中广泛运用的机器人运动学模型是德纳维-哈滕伯格(denavit-hartenberg,d-h)模型,它是按照一定的规则把关节坐标系固定在机器人的每个连杆上,每个连杆和相邻连杆通过齐次变换矩阵联系起来。
为了使用d-h模型对机器人建模,需要为机器人每一个关节指定一个本地的参考坐标系,并且对于每个关节,都必须指定一个z轴和x轴。其中,在指定z轴时,如果关节是旋转的,z轴位于按照右手法则旋转的方向;绕z轴的旋转角是关节变量;如果关节是滑动的,z轴为沿直线运动的方向;沿z轴的连杆长度d是关节变量。当两关节不平行或相交时,z轴通常是斜线,但总有一条距离最短的公垂线,它正交于任意两条斜线,可以在公垂线方向上定义本地参考坐标系的x轴。需要说明的是,当两关节z轴平行时,会有无数条公垂线,可以挑选与前一关节的公垂线共线的一条作为x轴,用以简化模型;当两关节z轴相交时,它们之间不存在公垂线(或者说公垂线距离为零),此时可以将垂直于两条轴线构成的平面的直线定义为x轴(相当于选取两条z轴的叉积方向作为x轴),亦可以简化模型。
在图5所示的d-h模型中,机器人的关节n与关节n 1通过连杆n连接,关节n 1和关节n 2通过连杆n 1连接。其中,关节n处的z轴下标为n-1,即zn-1,同理,关节n 1的z轴为zn,关节n 2的z轴为zn 1;θ表示绕z轴的旋转角,即θn为zn-1轴的旋转角,θn 1为zn轴的旋转角,θn 2为zn 1轴的旋转角;角α表示两个相邻的z轴之间的角度,即αn为zn轴与z′n-1轴之间的夹角,z′n-1轴与zn-1轴平行,并且αn 1为zn 1轴与z′n轴之间的夹角,z′n轴与zn轴平行;a表示公垂线的长度,即an表示zn-1轴与zn轴之间公垂线的长度,an 1表示zn轴与zn 1轴之间公垂线的长度;d表示在z轴上两条相邻的公垂线之间的距离,即dn 1表示在zn轴上相邻的xn轴与xn 1轴方向的公垂线之间的距离。并且图4中坐标系o-xyz为参考坐标系,其可以为世界坐标系。
基于d-h模型,在图5中,zn 1轴相对于zn轴上的参考坐标系的相对坐标系可通过如下公式表示:
上式中,ntn 1代表zn轴坐标系与zn 1轴坐标系之间坐标系转换的齐次变换矩阵;an 1代表zn 1轴坐标系的齐次变换矩阵;rot(z,θn 1)为绕zn轴旋转θn 1角的旋转矩阵;tran(0,0,dn 1)为沿zn轴方向移动dn 1距离的位移矩阵;tran(an 1,0,0)为沿xn 1轴方向移动an 1距离的位移矩阵;rot(x,αn 1)为绕zn 1轴旋转αn 1角的旋转矩阵。并且上式中,cθn 1代表cosθn 1,sθn 1代表sinθn 1。
而与触点对应的法兰坐标系相对基座坐标系的转换矩阵t1=a1a2a3a4a5a6,其中,a1~a6的计算过程可参见上述过程,在此不再详细列出。
按照上述方法可计算出三个触点各自对应的法兰坐标系相对基座坐标系的转换矩阵。
在根据位姿参数计算出与触点对应的法兰坐标系相对基座坐标系的转换矩阵后,确定标定工具110的末端在法兰坐标系上的坐标。可以理解的是,当标定杆112垂直安装盘111设置时,标定工具110的末端在法兰坐标系上的坐标为(0,0,l),其中l为安装盘111的厚度与标定杆112的长度之和。
最后按照如下公式一计算对应的触点在基座坐标系下的坐标;
公式一:
通过上述步骤能够算出所有的触点在基座坐标系下的坐标。
s132:根据至少三个触点的坐标,确定重力加速度方向在基座坐标系下的方向向量。
具体地,按照如下公式二计算重力加速度方向在基座坐标系下的方向向量:
公式二:
s133:将重力加速度方向在基座坐标系下的方向向量左乘目标坐标系相对基座坐标系的姿态的旋转矩阵而得到重力加速度方向在目标坐标系下的方向向量。
具体地,运用机器人运动学正解算法可以计算出目标坐标系相对基座坐标系的姿态的旋转矩阵,然后将重力加速度方向在基座坐标系下的方向向量左乘计算出的旋转矩阵而得到重力加速度方向在目标坐标系下的方向向量。
可以理解的是,若目标坐标系为基座坐标系,执行步骤s132后已经能够确定重力加速度方向在基座坐标系下的方向向量,若目标坐标系不是基座坐标系,才需要执行步骤s133。
在另一应用场景中,如图6所示,步骤s130具体包括:
s134:基于位姿参数以及标定工具110的末端相对于末端法兰101的位置,计算对应的触点在目标坐标系下的坐标。
s135:根据至少三个触点的坐标,确定重力加速度方向在目标坐标系下的方向向量。
与上述先计算出对应的触点在基座坐标系下的坐标不同的是,本应用场景先计算出对应的触点在目标坐标系下的坐标。
具体地,计算对应的触点在目标坐标系下的坐标包括:首先根据位姿参数计算与触点对应的法兰坐标系相对目标坐标系的转换矩阵,而后确定标定工具110的末端在法兰坐标系上的坐标(具体过程与上述相关过程相同,详细可参见上述内容,在此不再赘述);然后按照如下公式三计算对应的触点在目标坐标系下的坐标;
公式三:
其中,根据位姿参数计算与触点对应的法兰坐标系相对目标坐标系的转换矩阵的过程包括:根据位姿参数计算与触点对应的法兰坐标系相对基座坐标系的转换矩阵;将与触点对应的法兰坐标系相对基座坐标系的转换矩阵左乘基座坐标系相对目标坐标系的转换矩阵而得到与触点对应的法兰坐标系相对目标坐标系的转换矩阵。
具体地,根据位姿参数计算与触点对应的法兰坐标系相对基座坐标系的转换矩阵的过程与上述相关内容相同,详细可参见上述内容,在此不再赘述。同时同样地,可以机器人运动学正解算法计算出基座坐标系相对目标坐标系的转换矩阵。
其中,步骤s135的过程与上述步骤s132的过程类似,只需要将公式二中的p1、p2以及p3分别替换三个触点在目标坐标系下的坐标即可,在此不再赘述。
在另一应用场景中,参阅图7,步骤s130包括:
s136:基于位姿参数以及标定工具的末端相对于末端法兰的位置,计算对应的触点在基座坐标系下的坐标。
具体地,该步骤与上述步骤s131相同,详见可参见上述实施方式,在此不再赘述。
s137:将触点在基座坐标系下的坐标左乘目标坐标系相对基座坐标系的姿态的旋转矩阵而得到触点在目标坐标系下的坐标。
具体地,可以利用机器人运动学正解算法计算出目标坐标系相对基座坐标系的姿态的旋转矩阵。
s138:根据至少三个触点在目标坐标系下的坐标,确定重力加速度方向在目标坐标下的方向向量。
具体地,该步骤与上述步骤s135相同,详细可参见上述实施方式,在此不再赘述。
从上述内容可以看出,本申请中的方法只要利用安装在末端法兰101上的标定工具110就能够完成重力加速度方向的标定,简单、快捷。
参阅图8,图8是本申请重力加速度方向的标定装置一实施方式的结构示意图,该标定装置200利用安装在机器人的末端法兰上的标定工具标定重力加速度方向,其包括处理器210以及存储器220,处理器210耦接存储器220,处理器210在工作时控制自身以及存储器220以实现上述任一项方法中的步骤,其中详细的步骤可参见上述实施方式,在此不再赘述。
参阅图9,图9是本申请计算机可读存储介质一实施方式的结构示意图。该计算机可读存储介质300存储有计算机程序310,计算机程序310能够被处理器执行以实现上述任一项方法中的步骤。
其中,计算机可读存储介质300具体可以为u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等可以存储计算机程序310的装置,或者也可以为存储有该计算机程序310的服务器,该服务器可将存储的计算机程序310发送给其他设备运行,或者也可以自运行该存储的计算机程序310。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
1.一种重力加速度方向的标定方法,其特征在于,所述标定方法应用于机器人,所述机器人的末端法兰安装有标定工具,所述标定方法包括:
在所述机器人带动所述标定工具运动至所述标定工具的末端触碰一水平的基准平面而在所述基准平面上形成触点时,记录所述机器人的位姿参数;
重复执行上述步骤直至在所述基准平面上形成预设数量的所述触点,所述预设数量为至少三个;
基于记录的所述位姿参数以及所述标定工具的末端相对于所述末端法兰的位置,确定所述重力加速度方向在目标坐标系下的方向向量。
2.根据权利要求1所述的方法,其特征在于,所述基于记录的所述位姿参数以及所述标定工具的末端相对于所述末端法兰的位置,确定所述重力加速度方向在目标坐标系下的方向向量的步骤,包括:
基于所述位姿参数以及所述标定工具的末端相对于所述末端法兰的位置,计算对应的所述触点在基座坐标系下的坐标;
根据至少三个所述触点的坐标,确定所述重力加速度方向在所述基座坐标系下的方向向量;
将所述重力加速度方向在所述基座坐标系下的方向向量左乘所述目标坐标系相对所述基座坐标系的姿态的旋转矩阵而得到所述重力加速度方向在所述目标坐标系下的方向向量。
3.根据权利要求2所述的方法,其特征在于,所述基于所述位姿参数以及所述标定工具的末端相对于所述末端法兰的位置,计算对应的所述触点在基座坐标系下的坐标的步骤,包括:
根据所述位姿参数计算与所述触点对应的法兰坐标系相对所述基座坐标系的转换矩阵,其中,所述法兰坐标系为所述机器人末端轴的轴坐标系;
确定所述标定工具的末端在所述法兰坐标系上的坐标;
按照如下公式一计算对应的所述触点在所述基座坐标系下的坐标;
公式一:
4.根据权利要求2所述的方法,其特征在于,所述根据至少三个所述触点的坐标,确定所述重力加速度方向在所述基座坐标系下的方向向量的步骤,包括:
按照如下公式二计算所述重力加速度方向在所述基座坐标系下的方向向量:
公式二:
5.根据权利要求1所述的方法,其特征在于,所述基于记录的所述位姿参数以及所述标定工具的末端相对于所述末端法兰的位置,确定所述重力加速度方向在目标坐标系下的方向向量的步骤,包括:
基于所述位姿参数以及所述标定工具的末端相对于所述末端法兰的位置,计算对应的所述触点在所述目标坐标系下的坐标;
根据至少三个所述触点的所述坐标,确定所述重力加速度方向在所述目标坐标系下的方向向量。
6.根据权利要求5所述的方法,其特征在于,所述基于所述位姿参数以及所述标定工具的末端相对于所述末端法兰的位置,计算对应的所述触点在所述目标坐标系下的坐标的步骤,包括:
根据所述位姿参数计算与所述触点对应的法兰坐标系相对所述目标坐标系的转换矩阵,其中,所述法兰坐标系为所述机器人末端轴的轴坐标系;
确定所述标定工具的末端在所述法兰坐标系上的坐标;
按照如下公式三计算对应的所述触点在所述目标坐标系下的坐标;
公式三:
7.根据权利要求6所述的方法,其特征在于,所述根据所述位姿参数计算法兰坐标系相对所述目标坐标系的转换矩阵的步骤,包括:
根据所述位姿参数计算与所述触点对应的所述法兰坐标系相对所述基座坐标系的转换矩阵;
将所述法兰坐标系相对所述基座坐标系的转换矩阵左乘所述基座坐标系相对所述目标坐标系的转换矩阵而得到所述法兰坐标系相对所述目标坐标系的转换矩阵。
8.根据权利要求1所述的方法,其特征在于,所述基于记录的所述位姿参数以及所述标定工具的末端相对于所述末端法兰的位置,确定所述重力加速度方向在目标坐标系下的方向向量的步骤,包括:
基于所述位姿参数以及所述标定工具的末端相对于所述末端法兰的位置,计算对应的所述触点在基座坐标系下的坐标;
将所述触点在所述基座坐标系下的坐标左乘所述目标坐标系相对所述基座坐标系的姿态的旋转矩阵而得到所述触点在所述目标坐标系下的坐标;
根据至少三个所述触点在所述目标坐标系下的坐标,确定所述重力加速度方向在所述目标坐标下的方向向量。
9.一种重力加速度方向的标定装置,其特征在于,利用安装在机器人的末端法兰上的标定工具标定重力加速度方向,包括处理器以及存储器,所述处理器耦接所述存储器,所述存储器中存储有程序数据,所述处理器通过执行所述存储器内的所述程序数据以实现如权利要求1-8任一项所述方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被处理器执行以实现如权利要求1-8任一项所述方法中的步骤。
技术总结