六自由度机械臂的动力学参数辨识

2021-04-04 06:49张师源
制造业自动化 2021年3期
关键词:力矩摩擦轨迹

张师源,戴 骏,邓 华

(1.中南大学 高性能复杂制造国家重点实验室,长沙 410083;2.中南大学 机电工程学院,长沙 410083)

0 引言

建立精确的动力学模型是对多自由度机械臂进行有效的动力学分析、轨迹规划与控制的基础。为此,许多学者开展了多自由度机械臂动力学参数辨识的研究。因为六自由机械臂具有动力学参数多,耦合强等特点,所以对其进行动力学参数辨识比较困难。

Swevers[1]等将有限项正弦与余弦函数集合起来提出一种激励轨迹信号设计方式,但只在三自由度机械臂的动力学参数辨识上应用。Afroug[2]等提出了一种识别动力学参数和摩擦参数的方法,但只在平面三自由度机械臂动力学参数辨识上应用。对于六自由度机械臂,禹鑫燚[3]等利用PSO算法只辨识出了其前三个关节的动力学参数而对后三个关节的动力学参数并未进行研究。丁亚东[4]等提出一种分布辨识的方法,获取了完整的六自由度机械臂动力学参数,但将辨识实验分为多次进行,由于实验条件不一致而不可避免地引入误差。此后,程青松[5]等获取了七自由度机械臂的动力学参数,但由于七自由度机械臂所含动力学参数较多,各关节耦合强,辨识算法复杂,计算量大,辨识精度很难得到保证。从实验结果来看,第七关节实测力矩与预测力矩差异较大。在辨识算法的选择上,丁峰等人应用多信息辨识理论[6]在递推最小二乘的基础上,提出多信息最小二乘法[7,8],但是该算法的初值是元素全为1的列向量,这样的取值可能对系统辨识结果的精度与收敛速度造成一定的影响。

针对以上问题,本文提出了一种基于六自由度机械臂动力学参数的一次性辨识方法,将六自由度机械臂的前后三个关节分为两部分,分别优化设激励轨迹信号,并进行动力学参数的一次性整体辨识,充分考虑了关节间的耦合作用,消除了由于多次辨识实验所带来的实验条件不一致的误差。然后利用最小二乘法与多信息最小二乘法相结合的辨识算法,避免了由于初值的取值不当而带来辨识精度有限的问题,同时提升了辨识计算的速度。最后通过对某型六自由度机械臂的实验验证了所得出系统动力学参数的准确性与有效性。

1 六自由度机械臂的动力学建模

根据文献[9]的推导,对于n自由度旋转关节串联机器人的动力学方程为:

以上推导的动力学方程中只包含刚体力学上的力,而未考虑摩擦力的影响,在典型工况中关节摩擦力大约相当于机械臂驱动力矩的25%,为了反应真实工况的动力学模型,需要考虑摩擦力的因素,一个合适的摩擦模型不仅能够正确的预测摩擦行为的物理行为,还能起到提高精度的作用。

目前主要应用的静态摩擦模型是库伦粘滞摩擦模型[10],利用库伦粘滞摩擦模型获得n自由度机械臂的各关节i(i=1,2,…,n)的摩擦力矩为:

式中:fci为库伦摩擦力矩系数,fvi为粘性摩擦力矩系数。

因为库伦粘滞摩擦模型采用了一个连续的函数来逼近Stribeck摩擦模型,且利于控制各关节电机驱动的实现,所以采用该摩擦模型是合适的。

因此n连杆串联机械臂的动力学模型表达式如下:

式中:τf∈Rn为库伦粘滞摩擦力矩向量。

2 六自由度机械臂激励轨迹的设计

由于六自由度机械臂的动力学模型复杂、计算量大、耦合性强的缘故,根据文献[4]机械臂后三关节的力矩对先前关节的力矩影响较小,所以本文将六自由度机械臂的激励轨迹参数的获取拆解成前三关节与后三关节两部分分别获得,减小了计算的复杂度,提升了效率。

2.1 机械臂前三关节激励轨迹形式的选取

由于大多数机器人结构复杂,直接测量其结构参数是不现实的,同时机器人各关节之间存在摩擦与间隙。所以,为了使机器人辨识的模型更加准确,需要专门设计实验,而实验中激励轨迹曲线的设计及其重要。

当采用正弦与余弦函数的一系列代数和即周期性傅里叶级数[1]作为激励轨迹时具有处理数据方便、对噪声不敏感等优点。所以本文拟采用五阶傅里叶级数作为实验的激励轨迹。表示形式如下:

其中,ωb为五阶傅里叶级数的基础频率,周期为T=2π/ωb,aj,0是常数项与sin,cos函数的幅值aj,k,bj,k一样都为未知系数。所以上述中每一个五阶傅里叶级数包含十一个未知系数。

2.2 激励轨迹优化方法的选取

遗传算法是一种全局优化概率算法[11],它属于进化算法的一种,与其他优化算法相比,它通过模仿自然界的选择与遗传机理来寻找最优解,具有良好的全局搜索的能力,可以快速地将解空间中的全体解搜索出,而不会陷入最优解的快速下降陷阱;同时遗传算法具有潜在的并行性,可以进行多个个体的同时比较,所以本文采用遗传算法作为优化算法,在满足机器人实际约束的条件下来获取五阶傅里叶级数中所含的未知系数。

确定每个关节所需要辨识得到的基本动力学参数即:

式中:XXi;YYi;ZZi;XYi;XZi;YZi;为第i 个关节的惯性张量,Xi;Yi;Zi为第i个关节的质心位置,Mi为第i个关节的质量。

我们可以利用惯性重组法与机器人的几何参数得到六自由度机械臂系统的最小惯性参数集组成机器人的基础参数矩阵[12]。

将机械臂的后三个关节的所有动力学参数置零,从而构成了本文对前三个关节优化过程中所使用的目标函数。

机械臂的动力学特性与惯性参数之间存在线性关系[12]所以可将机械臂的动力学方程写成如下矩阵方程相乘的形式:

观测矩阵的条件数反应了辨识方法的抗噪声能力以及参数估计收敛的速率,所以遗传算法中将观测矩阵的条件数作为适应度函数,根据各关节角度、角速度、角加速度的限位值来设计初始种群,目标函数的数学模型建立如下:

式(8)中:Ab为观测矩阵,{s(q(t))}为机械臂末端位置的集合,S为机械臂的工作空间,qimin,qimax为各关节的角度限位值,为各关节的角速度限位值,为各关节角加速度限位值,如表1所示。

表1 各个关节的关节限位值

2.3 遗传优化的结果与激励轨迹曲线的参数

采用遗传算法[11]优化激励轨迹,优化过程中,傅里叶级数轨迹的基频为ωf=0.1Hz(周期为10s),初始种群规模为50个,最大遗传代数为200代,选择锦标赛算法,交叉概率p=0.6,变异概率n=0.01。采用遗传算法优化后各关节激励轨迹如图1所示,各关节激励轨迹傅里叶级数的常数项与正弦余弦项的幅度值如表2所示。

图1 优化后各关节激励轨迹

2.4 机械臂后三关节激励曲线的设计

仿照前三关节的激励轨迹形式同样采取周期性傅里叶级数作为激励轨迹,在满足各关节限位值的情况下,每个关节的激励曲线参数通过反复实验来选取,后三关节的关节限位值如表1所示。

最终选取的后三关节激励轨迹的参数如表2所示。

3 六自由度机械臂前动力学参数的辨识

多信息最小二乘算法(MILS)是基于最小二乘算法(LS)和递推最小二乘算法(RLS)的基础上提出的[7,8],这种算法的每次迭代都利用了n个信息E(n,t),与只用到一个信息e(t)的递推最小二乘算法相比较而言,参数的精度得到提高,具体算法如下:

式(9)中Y(n,t)为第t时刻包含n个样本的采样值,n为处理数据时每组数据所包含样本的个数,φ(n,t)为t时刻包含n个样本的观测矩阵的值。

在多信息最小二乘法中初值给出如下[7,8]:,其中b为元素全为1的列向量。这样的初值取值会带来精度有限的问题,同时辨识计算的速度也会下降。本文在此基础上作如下改进,先利用最小二乘算法获得一组系统参数的辨识值,将其作为初值之后再以所获得的系统辨识值作为初始值利用多信息最小二乘法进行修正,避免了由于初值的取值不当而带来辨识精度有限的问题。

当机械臂重复连续跟踪激励轨迹使采样得到的数据会受到测量噪声的污染,如果将含有噪声的数据直接用以系统辨识那么将会影响辨识的结果,所以我们将采样的数据先在时域上进行平均化从而减弱采样噪声的影响、提高信噪比。

表2 各个关节激励轨迹参数表

根据上述组合算法获得的最终系统辨识值如表3所示。

表3 系统参数的辨识值

4 动力学模型的验证

4.1 实验的设计与数据的采集

本文实验所采用的某型六自由度机械臂如图2所示,六自由度机械臂是基于TCP/IP的远程数据接口,首先在计算机上基于所得到的各关节的激励轨迹编写相关VAL3程序,之后调试机械臂使其按照预定的轨迹连续运动10个周期,通过使用机械臂内部的关节编码器采集实时关节角度数据,通过测量关节电机电流获得实时力矩数据。

由于采样过程中不可避免地引入噪声等,误差,所以对多测得的力矩数据与角度数据进行时域平均化并对所对平均化后的力矩数据进行移动平局滤波去除噪声,角度数据进行一阶与二阶的差分获得关节的角速度与角加速的样本。为了进一步降低测量噪声的影响,对差分获得的关节角度与角加速度样本也进行移动平局滤波处理。

图2 实验所用的六自由度机械臂

4.2 动力学模型的验证

为了验证所得出的六自由度机械臂动力学模型的准确性,本文选取了与激励轨迹不同的曲线进行模型的验证,当机械臂跟踪末端轨迹时,采用激光跟踪仪实测机械臂末端运动轨迹如图3所示。当机械臂跟踪如图所示的关节空间轨迹曲线时,采集每一固定时间间隔的力矩信号,之后将对时刻的角度值、角速度值、与角加速度值带入所得到的动力学模型内计算所得到的关节力矩的预测值最后将其与采样力矩进行对比如图3所示。

4.3 实验结果分析

从图4中可知,实际力矩在预测力矩的上下有一定的波动,关节2、3、4、5的预测力矩与实际力矩较为接近,关节1、6的误差明显,产生误差的原因可能如下几个方面:首先由于机械臂在运动过程中发生震颤,同时在实验过程中由于工作台的震动会有引入一定的误差。其次在处理数据是对角度进行一阶差分和二阶差分也会引入一定的误差。

图3 机械臂模型验证轨迹

图4 各关节的实际力矩值和预测力矩值

5 结语

1)通过实验表明了本文所提出的六自由度机械臂的一次性辨识方法的有效性,该方法充分考虑了关节之间的耦合作用,消除了由于多次辨识实验所带来的实验条件不一致的误差。

2)利用最小二乘算法获得一组系统参数的辨识值,将其作为初值辨识的初值,避免了多信息最小二乘算法因初值的取值不当而带来辨识精度有限的问题。

3)本文所提出的六自由度机械臂的一次性辨识方法能够减小系统计算的复杂度,提高了计算效率。对于更高自由度机械臂激励轨迹的设计研究具有重要意义。

猜你喜欢
力矩摩擦轨迹
干摩擦和湿摩擦的区别
轨迹
轨迹
神奇的摩擦起电
条分缕析 摩擦真相
轨迹
进化的轨迹(一)——进化,无尽的适应
解读摩擦起电
发动机阻力矩计算和起动机介绍
小型力矩电机波动力矩的测量