一种串联机器人逆动力学快速计算方法与流程

文档序号:11729566阅读:586来源:国知局

本发明涉及串联机器人逆动力学计算方法,特别涉及一种串联机器人逆动力学快速计算方法。



背景技术:

串联机器人在制造业、农业、娱乐业等行业得到越来越广泛的应用,许多应用场景需要串联机器人拥有高速、高精度的运动性能。基于串联机器人动力学模型的运动控制能赋予机器人高速、高精度的运动性能,这种方法需要不断实时进行串联机器人逆动力学计算。

目前串联机器人逆动力学模型多以拉格朗日方程法进行建模,这种方法得到的串联机器人逆动力学模型十分复杂,以6自由度的串联机器人为例,使用拉格朗日方程法得到的逆动力学模型,总共需要计算66271次乘法和51548次加法。而串联机器人控制器的伺服控制周期一般为1ms,显然如此复杂的模型无法在1ms之内完成计算。因此,需要更简洁的模型和更快速的计算方法才能实现串联机器人逆动力学实时计算。



技术实现要素:

本发明的目的是提供一种串联机器人逆动力学快速计算方法,旨在解决串联机器人逆动力学实时计算问题。

本发明的目的通过下述技术方案来实现:

一种串联机器人逆动力学快速计算方法,包括如下步骤:

s1、使用牛顿-欧拉方程建立相对简洁的串联机器人逆动力学模型;

s2、解耦得到标准动力学参数和对应的回归矩阵;

s3、使用基于数值的简化方法对解耦后模型进行简化,得到基本动力学参数和对应的基本回归矩阵;

s4、借助符号运算工具对基本回归矩阵进行合并和简化,并提取反复出现的项作为中间项,优先计算以减少计算量。

进一步地,所述步骤s2包含如下步骤:

s2.1、使用迭代牛顿-欧拉动力学算法得到串联机器人的逆动力学表达式

式中,γ为各关节力矩;分别为各关节的转角、角速度和角加速度;δ为各连杆的标准动力学参数,且δ=[δ1δ2…δn]t,δk为连杆k的标准动力学参数且δk=[lxxklxyklxzklyyklyzklzzklxklyklzkmkfvkfckiak]t;invdyn(·)为机器人逆动力学模型函数;

为了便于进行串联机器人动力学参数辨识,需要将式(1)改写成如式(2)所示的线性形式

式中,被称作回归矩阵,是关于关节的转角、角速度和角加速度的函数;

s2.2、依次令矢量δ的第i个动力学参数等于1,其余动力学参数等于0,然后代入式(1)所示的invdyn(·)函数中,则除去零项后,剩余项均为第i个动力学参数的相关项,将其赋值给回归矩阵h的相关列,最终得到完整的回归矩阵h。

进一步地,所述步骤s3包含如下步骤:

s3.1、可以将矩阵和机器人标准动力学参数δ分成两部分,则动力学方程可以写成如下的形式

式中,hb为矩阵所有nb个线性无关列组成的子矩阵;hd为剩下的nd个全零列向量和线性相关列组成的子矩阵;δb为基本动力学参数;δd为对动力学不起作用的动力学参数;

hd可以用hb线性表示,写作

hd=hbkd;(4)

s3.2、设置换矩阵p=[pbpd]满足如下式

hp=[hbhd],(5)

则有

联立式(3)到(6)可以得到

hb(δb+kdδd)=γ,(7)

写成含基本动力学参数项的动力学方程,则为

式中,β为基本动力学参数,β=kδ,k=pbt+kdpdt

s3.3、随机生成s组且满足s远远大于机器人标准动力学参数δ的个数;将s组代入回归矩阵函数可以得到回归矩阵hs;对hs使用qr分解可以得到正则上三角矩阵r

遍历矩阵r的对角元素,记录其中非零对角元素在矩阵中的列号,依次写入数组db;定义行列数等于机器人标准动力学参数δ个数的单位矩阵p';依照数组db记录的列号,按顺序从单位矩阵p'中取出对应的列组成新矩阵,该矩阵为pb,剩余的列组成新矩阵,该矩阵为pd,则p=[pbpd]。

对矩阵hb,hd分别使用qr分解,可得

则有

联立式(5)和式(10),可以得到

kd=rb-1rd,(12)

综上所述,可以得到pb,kd,pd,进而得到基本动力学参数β。

本发明相对于现有技术具有如下的优点及效果:

本发明采用牛顿-欧拉方程、简化动力学参数和提取重复项三个步骤,大大减少串联机器人逆动力学运算量。以6自由度串联机器人逆动力学模型为例,使用本发明的计算方法最终只需要计算551次乘法和312次加法,而市面常见的运动控制系统基本都能在1ms内完成1000次以内的乘法和加法。因此,本发明能解决串联机器人逆动力学运算过于复杂,难以满足实时计算要求的问题。

附图说明

图1是本发明实施例的串联机器人逆动力学快速计算方法流程示意图。

具体实施方式

下面结合实施例及附图对本发明作进一步的详细描述,但本发明的实施方式不限于此。

如图1所示,现以某六自由度垂直关节串联机器人为对象,按照以下步骤进行串联机器人逆动力学快速计算:

一种串联机器人逆动力学快速计算方法,包括如下步骤:

s1、使用牛顿-欧拉方程建立相对简洁的串联机器人逆动力学模型;

s2、解耦得到标准动力学参数和对应的回归矩阵;

s3、使用基于数值的简化方法对解耦后模型进行简化,得到基本动力学参数和对应的基本回归矩阵;

s4、借助符号运算工具对基本回归矩阵进行合并和简化,并提取反复出现的项作为中间项,优先计算以减少计算量。

具体而言,所述步骤s2包含如下步骤:

s2.1、使用迭代牛顿-欧拉动力学算法得到串联机器人的逆动力学表达式

式中,γ为各关节力矩;分别为各关节的转角、角速度和角加速度;δ为各连杆的标准动力学参数,且δ=[δ1δ2…δn]t,δk为连杆k的标准动力学参数且δk=[lxxklxyklxzklyyklyzklzzklxklyklzkmkfvkfckiak]t;invdyn(·)为机器人逆动力学模型函数;

为了便于进行串联机器人动力学参数辨识,需要将式(1)改写成如式(2)所示的线性形式

式中,被称作回归矩阵,是关于关节的转角、角速度和角加速度的函数;

s2.2、依次令矢量δ的第i个动力学参数等于1,其余动力学参数等于0,然后代入式(1)所示的invdyn(·)函数中,则除去零项后,剩余项均为第i个动力学参数的相关项,将其赋值给回归矩阵h的相关列,最终得到完整的回归矩阵h。

具体而言,所述步骤s3包含如下步骤:

s3.1、可以将矩阵和机器人标准动力学参数δ分成两部分,则动力学方程可以写成如下的形式

式中,hb为矩阵所有nb个线性无关列组成的子矩阵;hd为剩下的nd个全零列向量和线性相关列组成的子矩阵;δb为基本动力学参数;δd为对动力学不起作用的动力学参数;

hd可以用hb线性表示,写作

hd=hbkd;(4)

s3.2、设置换矩阵p=[pbpd]满足如下式

hp=[hbhd],(5)

则有

联立式(3)到(6)可以得到

hb(δb+kdδd)=γ,(7)

写成含基本动力学参数项的动力学方程,则为

式中,β为基本动力学参数,β=kδ,k=pbt+kdpdt

s3.3、随机生成s组且满足s远远大于机器人标准动力学参数δ的个数;将s组代入回归矩阵函数可以得到回归矩阵hs;对hs使用qr分解可以得到正则上三角矩阵r

遍历矩阵r的对角元素,记录其中非零对角元素在矩阵中的列号,依次写入数组db;定义行列数等于机器人标准动力学参数δ个数的单位矩阵p';依照数组db记录的列号,按顺序从单位矩阵p'中取出对应的列组成新矩阵,该矩阵为pb,剩余的列组成新矩阵,该矩阵为pd,则p=[pbpd]。

对矩阵hb,hd分别使用qr分解,可得

则有

联立式(5)和式(10),可以得到

kd=rb-1rd,(12)

综上所述,可以得到pb,kd,pd,进而得到基本动力学参数β。

上述实施例为本方面较佳的实施方式,但本方明的实施方式并不受上述实施例的限制,其他的任何背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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