自由度工业机器人的动力学模型识别外文翻译资料
2022-07-22 13:19:11
英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料
6自由度工业机器人的动力学模型识别
Li Ding, Hongtao Wu, Yu Yao, and Yuxuan Yang
摘要
本文提出了一种完整而系统的工业机器人机械臂动力学参数识别程序。包含关节摩擦模型的机器人系统模型与动力学参数间呈线性关系。实验是对6自由度(DOF)ER-16机器人进行的。当机器人跟踪激发系统的最佳轨迹时,相关数据会被采样。本程序引入蜂巢蜂群算法来估计未知参数,并根据力矩预测的精度评估动力学模型。我们提出的所有结果都用来演示我们提出的识别算法的有效性和识别的机器人模型的准确性。
1 介绍
近年来,工业机器人已被大量地用于工业中的定向装置,特别是在造船,汽车和航空航天制造业中[1,2]。 机器人的高级控制技术由于计算资源的增加和成本的降低而变得越来越低。 然而,机器人的动力学模型在一些参数中包含不确定性,许多控制方法对其值特别敏感,特别是在高速操作中。 因此,动态参数识别方法对于开发基于模型的控制器具有重要意义。
在学术研究方面,标准机器人识别程序包括动态建模,激励轨迹设计,数据采集,信号预处理,参数识别和模型验证[3]。参数识别引起了众多研究人员的广泛关注。 Atkeson等人[4]提出了最小二乘法来实现动态参数的估计。 Grotjahn et al。 [5]采用两步法进行机器人动力学识别。 Gautier和Poignet [6]从加权最小二乘法的实验数据中获得了SCARA机器人的动力学模型。 Behzad等人[7]应用分数子空间法在模拟领域识别机器人模型。近来,一些智能计算算法已被报道为机器人模型识别中的有用工具。有人提出了一种传统的遗传算法(GA)来识别自主水下机器人[8]。 Liu et al. [9]引入了改进的遗传算法来获得空间机器人模型。然而,在处理复杂和大规模参数识别问题的同时,GA算法将只会被局部优化。
人造蜂群算法(ABC)由卡拉博加于2005年首次提出[10],成功应用于空中机器人参数识别[11]。与差分演化算法(DE),粒子群优化算法(PSO)和GA算法相比,ABC算法已被证明具有更好的功能优化问题的性能[12]。我们知道,通常的优化算法在一次迭代中只进行一次搜索,但ABC算法可以在每次迭代中进行局部搜索和全局搜索,结果发现最优参数的概率显着增加,在很大程度上有效地避免了局部最适合。在本文中,引入了ABC算法来解决工业机器人的参数识别问题。 识别实验在6自由度ER-16机器人操纵器上实现。
本文的大纲组织如下:首先,线性机器人动力学模型在第2节给出。然后,第3节介绍了基于ABC算法的线性模型的识别过程,其中描述了激励设计,数据采集和信号预处理。 后来,第4节介绍了实验平台,确定结果和模型验证。最后,第5节给出了主要结论。
2 动力学建模
由于n-DOF工业机器人由刚体运动链表示,所以其运动的详尽描述可以在[13]中找到。 工业机器人的动态模型由牛顿 - 欧拉或拉格朗日方法得出:
其中,是n维执行器与关节位置有关的扭矩,是关节速度,是关节加速度。是惯性矩阵,是表示包括科氏力和离心力的向量,是重力向量。
根据改进的牛顿 - 欧拉参数[14]或重心参数[15],(1)可以重写为线性形式:
其中,表示仅依赖于运动数据的观察或识别矩阵,是重心参数矢量,这种属性大大简化了参数识别流程。
机器人的动态模型还包含由(2)中的动态参数的影响引起的致动器转子的关节摩擦和惯性引起的扭矩。 致动器转子的惯性通常由生产者提供,相应的转矩应该被补偿在动态方程中。 事实上,关节摩擦是一个复杂的非线性模型,特别是在运动反转时。 为了简化模型,仅由库仑和粘性摩擦组成的摩擦模型[16]由下式给出:
其中,是摩擦转矩,、分别表示库仑和粘性摩擦参数。机器人的综合动态模型可以写成:
其中,是执行器转矩包括和,是观测矩阵,是未知动态参数的向量。 此外,关节 的动态参数由以下格式决定:
其中,是关节的惯性张量。 类似地,表示一阶质量矩,是关节的质量。
一般来说,(4)中的观察矩阵不是完全需要的;也就是说,并不是所有的动态参数对动态模型都有影响的。 为获得一组最小参数,采用逐案分析方法[17]。 因此,基于动态参数的动态模型可以重写为:
其中,是维的观察矩阵,是维动态参数的矢量,包括基本参数和摩擦参数。 p表示最小动态参数的数量。2n表示摩擦参数的数量。
3 参数识别程序
3.1识别算法的基本原理
为了介绍ABC算法的搜索机制,我们应该定义三个基本要素:就业蜜蜂,失业的蜜蜂和食物来源[11]。失业的蜜蜂分为跟踪蜂和侦查蜂。殖民蜜蜂的数量为 就业蜜蜂的数量为,失业的蜜蜂数量为,满足关系式 。 我们还定义为解向量的维数为D,即为未知参数的数量。 ABC算法将每个未知参数视为食物来源。 执行该算法的详细过程如下。
步骤1 :随机初始化一组可能的解决方案 ,具体解可以由下式得到:
其中j表示解向量的维数。另外、分别表示下限和上限。
步骤2 :应用特定函数根据以下等式计算解的适应度,并选择最佳解决方案作为受雇蜜蜂的数量 :
其中,适应度函数,是目标函数,N是数据长度,是来自前三个关节的实际扭矩数据的向量。 类似地,来自所识别的模型的预测数据的向量。是0和1之间的权重系数。
每个工作蜜蜂在迭代中搜索当前位置矢量附近的新解,如下所示:
其中, ,k和j两者都是随机生成的,并且是从-1到1的范围内的随机参数。接下来,我们应用贪心选择方程(11)来选择下一代与之间更好的解决方案:
步骤4:每个以下的蜜蜂根据概率值的参数选择所采用的蜜蜂进行追踪。 概率法的公式被描述为
步骤5.:以下蜜蜂在选定的被采蜜蜂的位置附近搜索寻找新的解决方案。 根据他们的适应度更新当前的解决方案。
步骤7:输出目前实现的最佳解决方案参数,并返回到步骤3,直到满足终止标准 为止。
参数识别的ABC算法的详细过程也可以在图1中描述。
图1:识别算法的草图
3.2激励轨迹
当设计机器人的识别实验时,需要设计适当的激励轨迹,以确保在存在干扰的情况下的估计精度[18]。 在这项工作中,采用有限傅里叶级数作为激励轨迹,即谐波正弦和余弦函数的有限和。 机器人关节的轨迹设计为:
其中, 偏移项, 是傅立叶级数的基本脉动,该傅里叶级数是周期为 的周期函数。每个傅里叶级数包含2N 1个参数,并且 是正弦和余弦函数的幅度。
识别实验的噪声抗扰度和收敛速度直接取决于激发轨迹的约束。 重要的是,进行测量的配置必须对应于良好的缩减观察矩阵,因为约束表示输入/输出的一些限制。 在本文中,激发轨迹的约束可以描述为:
其中, 是关节位置的下限和上限,是速度和加速度的上限, 是最佳轨迹参数, 是机器人的可用工作空间, 并且是最大关节扭矩。
通过收集电机电流的数据获得测量的转矩,如下所述:
其中, 是电机电流, 只是系数。
由于实验中有测量噪声,因此在识别之前需要对收集数据进行预处理。 为了消除异常值并减弱干扰信号的影响,采用五点三次平滑法,根据以下方程平滑原始数据:
其中,是测量的原始数据,是预处理后的识别数据。 使用(17)的数量越多,曲线越平滑。 应该指出,过度使用(17)来平滑原始数据可能导致参数识别的错误增加。
另外,关节的速度和加速度也不能直接测量。 然而,这些信息通常由关节位置获得,关节位置的数值微分可以放大测量噪声并降低速度和加速度的精度。 [19]提出并在[20]中成功应用的分析方法可以克服上述困难。 平均关节位置通过线性最小二乘法近似为有限傅里叶级数,然后可以通过获得的有限傅里叶级数的导数来估计关节速度和加速度。
4 实验结果
4.1参数识别
进行实验以测试所提出的识别算法是否可行。 如图2所示,ER-16是一款6-DOF工业机器人操纵器,无负载。 并且机器人的关节框架如图3所示。ER-16机器人的几何参数在表1中给出。仅在这里考虑第一个关节。 对于激发轨迹选择0.05Hz的基本脉动,即25秒的周期。 如图4所示,指令轨迹是五项傅立叶级数,由附录中列出的每个关节的11个最佳轨迹参数和0.25 Hz带宽给定。 机器人工作空间中优化轨迹的3D可视化如图5所示。总测量时间为25秒,对应于激发轨迹的1个周期。 数据采样1 kHz。
表1:ER-16机器人的DH参数。
图2:ER-16 6自由度机器人。
图3:ER-16机器人的关节框架。
图4:优化的机器人激励轨迹。
图5:优化轨迹的3D可视化。
识别程序在运行Windows 7的Intel Core i7-3770 PC上的Matlab 2013b编程环境中使用ABC算法进行,不使用任何商业工具包。根据[12],ABC算法的性能与群体蜜蜂的种群规模相关。随着蜜蜂规模的增加,算法产生更好的结果。然而,在殖民地大小的值足够之后,值的任何增加都不会提高ABC算法的性能。控制参数的限制基于位置向量的初始化频率,随着极限值达到无穷大,重新初始化的位置矢量总数变为零。经过多次试验,本文将ABC算法的参数设置如下:应当注意,当预定迭代超过50时,ABC算法收敛,目标值不能明显提高。未知参数的搜索范围也列在附录中。参数优化过程的目标值如图6所示。结果表明,我们的算法的收敛速度很快,由(9)计算出的最终目标值为0.3182。
图6:识别算法的进化曲线。
第一关节的机器人动力学模型包含21个参数,15个基本参数和6个摩擦参数。 我们提出的算法识别的参数列在表2中。应该注意的是,前三个关节的动态参数的值比其他三个关节的值大得多。 忽略由4,5,6关节引起的转矩的影响是合理的。 图7将基于所识别的动力学模型的激励轨迹的测量转矩与预测转矩进行比较。 虽然结果表明,在速度反转期间预测误差略大,但预测转矩与测量转矩具有相同的趋势。 这表明ABC算法具有很强的找到最优参数的能力。
表2:识别动态参数。
图7:测量转矩和预测扭矩的比较。
为了通过ABC算法验证识别模型的精度,定义了一个相关系数,表示为归一化的测量转矩和预测转矩之间互协方差函数,用来估计识别的模型可以再现预测转矩的程度,函数被定义为:
其中,相关系数越接近1,识别模型就越好。当系数接近零时,识别的模型很差。结果,预测的第一关节的相关系数分别为0.9533,0.99856和0.9801。 这表明所识别的参数具有令人满意的精度。
4.2 模型验证
由于我们目前阶段的目标是验证由我们提出的方法计算的模型的有效性, 所以需要进行验证测试。 显然,验证测试是在实验中使用适当的轨迹器评估模型的好坏。 如图8所示,选择三项傅里叶级数作为激发轨迹,每个关节的相应最佳轨迹参数列在附录中。 并且测量和预测扭矩的比较如图9所示,这表明我们获得的模型能够准确地预测执行器扭矩数据。 另外,根据(18),预测的第一关节的相关系数为0.9272,0.9534和0.9606。 验证测试不仅显示了非常好的结果,而且表明我们提出的识别方法足够可靠。
图8:机器人模型验证轨迹。
图9:测量转矩和预测扭矩的比较。
5 结论
本文介绍了6自由度工业机器人动力学参数识别的系统化程序。我们设计了最佳周期性激励轨迹,完成识别实验,数据采集和信号预处理。 所有未知参数都通过ABC算法很好地识别。 当比较测量的转矩和预测转矩时,我们得出结论,我们提出的方法可以准确地估计机器人的动力学参数。此外,本文还进行了模型验证以验证所识别的模型的有效性。本文的结果对于工业机器人的研究和制造是有用的。
附录
A.激发轨迹的最优参数
五项傅里叶级数的最优轨迹参数如下:
三项傅里叶级数的最优轨迹参数如下:
B.动力学参数的搜索范围
经过多次试验,未知参数的可能次优或最佳搜索范围见表3。
表3:动力学参数的搜索范围。
利益冲突
作者宣称,本文与出版不存在任何利益冲突。
致谢
这项工作得到了国家自然科学基金(51375230)和江苏省科技支撑计划项目(BE2013003-1,BE2013010-2)的部分支持。
参考文献
-
J. A. Persson, X. Feng, D. Wappling, and J. Ouml;lvander, “A framework for multidisciplinary optimization of a balancing mechanism for an industrial robot,” Journal of Robotics, vol. 2015, Article ID 389769, 8 pages, 2015. View at Publisher · 全文共9988字,剩余内容已隐藏,支付完成后下载完整资料