机械臂扭矩估算方法及估算系统与流程

文档序号:18215870发布日期:2019-07-19 22:38阅读:3280来源:国知局
机械臂扭矩估算方法及估算系统与流程

本申请属于机器人技术领域,具体涉及一种机械臂扭矩估算方法及估算系统。



背景技术:

现代化工业生产线广泛使用的机械臂,能够极大地提高生产效率及产品质量,将人类从繁重的重复性工作中解放出来。有别于传统的搬运、分拣、焊接等应用领域,装配作业是一个技术要求高、应用需求广、发展前景好的机器人应用新领域。目前,特别是汽车整车装配和发动机总成装配中的螺栓、螺钉的拧紧工作,对自动化程度高、集成电动扳手的机械臂的需求尤为迫切。

由于一般待装配工件的螺栓孔数量多且规格、位置各异,因此为完成螺栓拧紧往往需要机械臂变换多个姿态。根据多体动力学的原理,机械臂处于不同的作业姿态,其受力情况也不同,即可提供的最大拧紧力矩也就不同,这给实际使用,尤其是方案实施前的可行性验证,带来了困难。

另外,现有的机械臂技术参数不提供拧紧力矩或只提供关节扭矩,使得机械臂的使用者无法进行必要的参数校验或只能采用关节扭矩数值进行拧紧力矩的保守估算,这或给机械臂运行带来了安全隐患,或限制了机械臂性能的有效发挥,阻碍了机械臂在螺栓拧紧应用上的发展。



技术实现要素:

为至少在一定程度上克服相关技术中存在的问题,本申请提供了一种机械臂扭矩估算方法及估算系统。

根据本申请实施例的第一方面,本申请提供了一种机械臂扭矩估算方法,用于估算机械臂进行螺栓拧紧作业时的扭矩,其包括以下步骤:

获取机械臂的物理参数,所述物理参数包括不同型号机械臂的dh参数、各连杆的质量、质心和惯性张量参数;

获取机械臂中各关节的角度;

获取机械臂末端工具负载的参数,所述工具负载的参数包括电动扳手及附件的质量、质心和定义在电动扳手末端tcp工具坐标系的rpy姿态角;

利用获取的机械臂的物理参数、机械臂中各关节的角度、机械臂末端工具负载的参数以及机械臂动力学的迭代算式计算得到机械臂的关节扭矩矢量和关节弯矩矢量;

获取关节扭矩和关节弯矩的允许值;

利用关节允许值、关节扭矩判别算式和关节弯矩判别算式,采用循环算法计算得到最大拧紧力矩。

上述机械臂扭矩估算方法中,所述步骤利用获取的机械臂的物理参数、机械臂中各关节的角度、机械臂末端工具负载的参数以及机械臂动力学的迭代算式计算得到机械臂的关节扭矩矢量和关节弯矩矢量的过程为:

获取机械臂动力学的迭代算式;

将机械臂的物理参数、机械臂中各关节的角度和机械臂末端工具负载的参数作为输入参数输入机械臂动力学的迭代算式中,得到计算得到机械臂的关节扭矩和关节弯矩。

上述机械臂扭矩估算方法中,所述步骤利用关节允许值、关节扭矩判别算式和关节弯矩判别算式,采用循环算法计算得到最大拧紧力矩的过程为:

获取关节扭矩判别算式和关节弯矩判别算式;

设置单位作用力和力矩的矢量以及拧紧力矩;

采用循环算法,计算得到最大拧紧力矩。

根据本申请实施例的第二方面,本申请还提供了一种机械臂扭矩估算系统,用于估算机械臂进行螺栓拧紧作业时的扭矩,其包括:

存储模块,用于存储机械臂的物理参数;所述物理参数包括不同型号机械臂的dh参数、各连杆的质量、质心和惯性张量参数,以及各关节扭矩和关节弯矩的允许值;

输入模块,用于输入机械臂型号、机械臂中各关节的角度以及机械臂末端工具负载的参数;所述机械臂末端工具负载的参数包括电动扳手及附件的质量、质心和定义在电动扳手末端tcp工具坐标系的rpy姿态角;

动力学计算模块,用于根据存储模块和输入模块得到的数据,采用机械臂动力学的迭代算式计算得到预设姿态和工具负载的机械臂中各关节的关节扭矩和关节弯矩。

求解模块,用于基于动力学计算模块计算得到的关节扭矩和关节弯矩,采用循环算法对关节扭矩判别算式和关节弯矩判别算式进行最值求解,得到最大拧紧力矩。

根据本申请实施例的第三方面,本申请还提供了一种计算机存储介质,其包括计算机执行指令,所述计算机执行指令经由数据处理设备处理,所述数据处理设备执行上述任一项所述的机械臂扭矩估算方法。

根据本申请的上述具体实施方式可知,至少具有以下有益效果:

本申请机械臂扭矩估算方法根据进行螺栓拧紧作业的机械臂的物理参数、关节参数和具体作业姿态等信息,应用机械臂动力学的迭代算式以及关节扭矩判别算式和关节弯矩判别算式,计算获得机械臂预设姿态下能实现的最大拧紧力矩,计算结果能够为使用机械臂进行螺钉拧紧作业的方案实施提供全面且准确的校验依据,从而保证机械臂的安全运行。本申请能够解决现有技术中在机械臂的螺栓拧紧应用上缺乏完善校验的问题。

本申请机械臂扭矩估算方法通过计算机执行指令快速估算最大拧紧力矩,能够大大提高机械臂使用者选择实施方案的效率,促进机械臂在螺栓拧紧应用上的发展。

应了解的是,上述一般描述及以下具体实施方式仅为示例性及阐释性的,其并不能限制本申请所欲主张的范围。

附图说明

下面的所附附图是本申请的说明书的一部分,其示出了本申请的实施例,所附附图与说明书的描述一起用来说明本申请的原理。

图1为本申请具体实施方式提供的机械臂进行螺栓拧紧作业的使用状态示意图。

图2为本申请具体实施方式提供的一种机械臂扭矩估算方法的流程图。

图3为本申请具体实施方式提供的一种机械臂扭矩估算方法中采用循环算法计算最大拧紧力矩的方法流程图。

图4为本申请具体实施方式提供的一种基于机械臂扭矩估算系统的计算机程序操作界面。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

本申请提供了一种机械臂扭矩估算方法,该方法用于估算机械臂进行螺栓拧紧作业时的扭矩。如图1所示,机械臂的末端载荷包括电动扳手及附件,电动扳手及附件固定在机械臂的末端法兰上。

在末端法兰的几何中心处定义法兰坐标系{f},法兰坐标系{f}中的z轴与法兰的轴向对齐。在电动扳手末端定义工具坐标系{t},即tcp,工具坐标系{t}中的z轴与电动扳手末端的轴向对齐。

使用时,将机械臂末端的电动扳手移动至待装工件的螺栓孔处,使电动扳手末端tcp工具坐标系中的z轴与螺栓孔的轴线对齐;机械臂保持姿态不变,电动扳手完成螺栓拧紧作业。在拧紧作业的过程中,机械臂各关节输出的扭矩用于平衡机械臂自重及螺栓反作用力对各关节的映射。

如图2所示,本申请机械臂扭矩估算方法包括以下步骤:

s1、获取机械臂的物理参数,该物理参数包括不同型号机械臂的dh参数、各连杆的质量、质心和惯性张量参数。其中,dh参数表示采用dh建模方法时所用的尺寸参数。

s2、获取机械臂中各关节的角度。机械臂中各关节的角度即为机械臂当前作业时的姿态。

s3、获取机械臂末端工具负载的参数,该工具负载的参数包括电动扳手及附件的质量、质心和定义在电动扳手末端tcp工具坐标系的rpy姿态角。

s4、利用步骤s1~s3获取的参数以及机械臂动力学的迭代算式计算得到机械臂的关节扭矩矢量和关节弯矩矢量,其具体过程为:

s41、获取机械臂动力学的迭代算式:

式(1)~式(4)中,f∈r3×1,f表示机械臂与环境的作用力矢量;n∈r3×1,n表示机械臂与环境的作用力矩矢量;r∈r3×3,r表示连杆之间的变换矩阵;f∈r3×1,f表示连杆作用力矢量;n∈r3×1,n表示连杆作用力矩矢量;m∈r1×1,m表示连杆的质量;i∈r3×3,i表示连杆的惯性张量;ω∈r3×1,ω表示连杆的角速度矢量;表示连杆的角加速度矢量;p∈r3×1,p表示连杆坐标系原点的位置矢量,即dh参数;pc∈r3×1,pc表示连杆质心的位置矢量,即质心;表示连杆质心的加速度矢量。各字母的上标i和i+1均表示所分析连杆对象的序号;各字母的下标i和i+1均表示所分析物理量相对的连杆坐标系序号。

式(1)~式(4)的结果可以表示为:

[f,n]=iter([m,i,p],q,rpy)(5)

式(5)中,iter()表示计算机程序设计语言python中的函数,[m,i,p],表示连杆的质量、惯性张量和位置,q表示关节角度矢量,rpy表示tcp坐标系姿态角矢量。

从式(5)可以看出,当机械臂的姿态和电动扳手的姿态不同时,机械臂中各关节各方向的作用力、力矩也就不同。关节各方向的作用力矩可以分解为轴向力矩、径向力矩,即关节扭矩和关节弯矩。

s42、将机械臂的物理参数、机械臂中各关节的角度和机械臂末端工具负载的参数作为输入参数输入机械臂动力学的迭代算式中,得到计算得到机械臂的关节扭矩和关节弯矩。

s5、获取关节扭矩和关节弯矩的允许值,其中,关节扭矩的允许值为允许输出的关节扭矩,关节弯矩的允许值为允许输出的关节弯矩。

s6、利用关节允许值、关节扭矩判别算式和关节弯矩判别算式,采用循环算法计算得到最大拧紧力矩,其具体过程为:

s61、获取关节扭矩判别算式和关节弯矩判别算式;

其中,关节扭矩判别算式为:

|τ|=|gτ(q)+jt(q,rpy)·fn|≤[τ](6)

式(6)中,τ表示关节扭矩矢量,即轴向力矩矢量;gτ(q)表示机械臂动力学中重力项对应的关节扭矩矢量;jt(q,rpy)表示电动扳手末端tcp工具坐标系至关节的力、力矩变换矩阵中的扭矩项矩阵,即雅可比转置矩阵;[τ]表示关节扭矩允许值。

关节弯矩判别算式为:

|m|=|gm(q)+tm(q,rpy)·fn|≤[m](7)

式(7)中,m表示关节弯矩矢量,即径向力矩矢量;gm(q)表示机械臂动力学中重力项对应的关节弯矩矢量;tm(q,rpy)表示电动扳手末端tcp工具坐标系至关节的力、力矩变换矩阵中的弯矩项矩阵;[m]表示关节弯矩允许值。

式(6)和(7)中,fn表示机械臂与环境的作用力和力矩的矢量。

s62、设置单位作用力和力矩的矢量以及拧紧力矩;

为了求解同时满足关节扭矩判别算式和关节弯矩判别算式的机械臂与环境的作用力和力矩的矢量fn的最大值,优选地,设置单位作用力和力矩的矢量为替换式(6)和式(7)中的fn。

s63、采用循环算法计算得到最大拧紧力矩,如图3所示,其具体过程为:

设置步长step以及单位作用力和力矩的矢量。

给变量t赋初值,变量t表示拧紧力矩。具体地,循环程序的初值t=0。单位作用力和力矩的矢量

将步骤s4计算得到的机械臂的关节扭矩矢量和关节弯矩矢量代入到式(6)和式(7)中,判断计算得到的机械臂的关节扭矩矢量和关节弯矩矢量中的任一元素是否都同时满足式(6)和式(7)。

如果计算得到的机械臂的关节扭矩矢量和关节弯矩矢量中的任一元素不满足式(6)和式(7),则终止计算,得到的变量t即为最大拧紧力矩。

否则,变量t按步长step递增,即t=t+step,重新判断计算得到的机械臂的关节扭矩矢量和关节弯矩矢量中的任一元素是否同时满足式(6)和式(7),直至循环结束,当前得到的变量t即为最大拧紧力矩。

上述步骤s6中,可以应用机械臂动力学的显式算式和机械臂动力学的迭代算式得到四个矢量gτ(q)、jt(q,rpy)、gm(q)和tm(q,rpy),其具体过程为:

其中,机械臂动力学的显式算式为:

式(8)中,表示关节速度,表示关节加速度;g(q)表示重力项。m(q)∈rk×k,m(q)表示机械臂惯性矩阵,k表示机械臂的自由度;c(q)∈rk×k,c(q)表示机械臂离心力和科氏力矩阵;j(q,rpy)∈rk×6,j表示机械臂雅克比矩阵;fn=[f,n]∈r6×1表示机械臂与环境的作用力f∈r3×1和力矩n∈r3×1的合矢量。

由式(8)可以看出,影响机械臂各关节的轴向力矩的因素包括关节角度、rpy姿态角以及螺栓的反作用力矩。

应用式(8),令及fn=0,即得gτ(q)=g(q)。

应用机器人动力学得到:

电动扳手末端tcp工具坐标系至关节的力、力矩变换矩阵中的扭矩项矩阵jt(q,rpy)为:

式(9)中,r(rpy)表示电动扳手末端tcp工具坐标系相对于法兰坐标系的变换矩阵;ptcp表示电动扳手末端tcp工具坐标系相对于法兰坐标系的位置矢量,此处可设为零。

应用式(1)~式(4),令及fn=0,得到机械臂动力学中重力项对应的关节弯矩矢量gm(q)为:

gm(q)=[1n1(12),2n2(12),…,knk(12)]′(10)

式(10)中,k表示机械臂的自由度。

应用机器人动力学得到:

电动扳手末端tcp工具坐标系至关节的力、力矩变换矩阵中的弯矩项矩阵tm(q,rpy)为:

tm(q,rpy)=[tm1,tm2,…tmk]′(11)

式(11)中,tmi表示弯矩项矩阵tm(q,rpy)中的元素,其表达式为:

式(12)中,ri(q,rpy)表示电动扳手末端tcp工具坐标系相对于关节i坐标系的变换矩阵;pi表示电动扳手末端tcp工具坐标系相对于关节i坐标系的位置矢量。

本申请提供的机械臂扭矩估算方法根据进行螺栓拧紧作业的机械臂的物理参数、关节参数和具体作业姿态等信息,应用机械臂动力学的迭代算式以及关节扭矩判别算式和关节弯矩判别算式,计算获得机械臂预设姿态下能实现的最大拧紧力矩,计算结果能够为使用机械臂进行螺钉拧紧作业的方案实施提供全面且准确的校验依据。本申请能够解决现有技术中在机械臂的螺栓拧紧应用上缺乏完善校验的问题。

采用本申请能够快速完成最大拧紧力矩的估算,从而大大提高机械臂使用者选择实施方案的效率。

本申请还提供了一种机械臂扭矩估算系统,该系统用于估算机械臂进行螺栓拧紧作业时的扭矩,其包括存储模块、输入模块、动力学计算模块和求解模块。

存储模块,用于存储机械臂的物理参数,该物理参数包括不同型号机械臂的dh参数、各连杆的质量、质心和惯性张量参数,以及各关节扭矩和关节弯矩的允许值。

输入模块,用于输入机械臂型号、机械臂中各关节的角度以及机械臂末端工具负载的参数。其中,机械臂末端工具负载的参数包括电动扳手及附件的质量、质心和定义在电动扳手末端tcp工具坐标系的rpy姿态角。

动力学计算模块,根据存储模块和输入模块得到的数据,采用机械臂动力学的迭代算式计算得到预设姿态和工具负载的机械臂中各关节的关节扭矩和关节弯矩。

求解模块,基于动力学计算模块计算得到的关节扭矩和关节弯矩,采用循环算法对关节扭矩判别算式和关节弯矩判别算式进行最值求解,得到最大拧紧力矩。

需要说明的是:上述实施例提供的机械臂扭矩估算系统仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将机械臂扭矩估算系统内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的机械臂扭矩估算系统与机械臂扭矩估算方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

基于上述机械臂扭矩估算系统中各模块的硬件实现,为了实现本申请实施例提供的机械臂扭矩估算方法,本申请实施例还提供了一种机械臂扭矩估算装置,其包括:处理器和用于存储能够在处理器上运行的计算机执行指令的存储器。其中所述处理器用于运行所述计算机执行指令时,执行如下步骤:

s1、获取机械臂的物理参数;

s2、获取机械臂中各关节的角度;

s3、获取机械臂末端工具负载的参数;

s4、利用获取的上述参数以及机械臂动力学的迭代算式计算得到机械臂的关节扭矩和关节弯矩;

s5、获取关节扭矩和关节弯矩的允许值;

s6、利用关节允许值、关节扭矩判别算式和关节弯矩判别算式,采用循环算法计算得到最大拧紧力矩。

在示例性实施例中,本申请实施例还提供了一种计算机存储介质,是计算机可读存储介质,例如,包括计算机程序的存储器,上述计算机程序可由机械臂扭矩估算装置中的处理器执行,以完成上述机械臂扭矩估算方法中的所述步骤。

计算机可读存储介质可以是磁性随机存取存储器(fram,ferromagneticrandomaccessmemory)、只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread-onlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammableread-onlymemory)、电可擦除可编程只读存储器(eeprom,electricallyerasableprogrammableread-onlymemory)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(cd-rom,compactdiscread-onlymemory)等存储器。

如图4所示,基于本申请实施例提供的机械臂扭矩估算系统,本申请还提供了一种简易实用的操作界面,该界面中包括:型号选择输入框、关节角度文本输入框、工具参数文本输入框、计算按钮及结果显示框。其中,型号选择输入框为下拉列表框,提供储存的机械臂特定型号选择;关节角度文本输入框,用于输入机械臂预设姿态时的各关节角度;工具参数文本输入框,用于输入机械臂末端载荷的质量和质心,以及电动扳手rpy姿态角。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1