基于混沌粒子群算法的机器人动力学参数辨识

2023-09-23 12:55:02钟佩思王祥文张振宇刘金铭
仪表技术与传感器 2023年8期
关键词:适应度种群轨迹

钟佩思,王祥文,张 超,张振宇,王 晓,刘金铭

(1.山东科技大学先进制造技术研究中心,山东青岛 266590;2.青岛澳科仪器有限责任公司,山东青岛 266555)

0 引言

在机器人动力学参数辨识过程中,为了保证所有待估计参数都被激励[1],激励信号的选择至关重要。为了使采集到的信号具有最大化的信噪比,激励轨迹需要具有适当的幅度、相位和频率,同时确保激励轨迹在机器人允许的极限运动范围之内。徐建明等[2]选取傅里叶级数作为激励轨迹,以回归矩阵每一列元素平方和连乘积的导数作为目标函数,得到了优化后的傅里叶级数。吴文祥[3]将傅里叶级数中的常数项用多项式代替,避免机器人运行不稳定,保证准确平稳的跟踪激励轨迹。

粒子群算法是由Kennedy和Eberhart[4]提出的一种优化算法,具有收敛速度快,可调参数少等优点。高鹰等[5]将粒子群算法与混沌搜索算法相融合,避免算法迭代陷入停滞,提高收敛的速度和精度。程志刚等[6]将种群粒子分类,使用混沌搜索择优进化高适应度值的粒子,有效提高了粒子种群的寻优性能和效率。陈震等[7]利用Sigmoid函数使粒子的学习因子随迭代次数变化,利用Sigmoid函数的非线性特征提高粒子种群的寻优能力。王保民等[8]提出了一种惯性权重随机变化的粒子群算法,通过对惯性权重进行修改来调整粒子对上一时刻自身状态的继承比例,增大了粒子的搜索范围,提高了算法的全局寻优能力。

为了得到最优的激励轨迹,提高机器人参数辨识的精度,在上述研究的基础上,以SCARA机器人为研究对象,进行了以下研究:

(1)建立机器人动力学模型,建立了激励轨迹的优化目标和约束条件的数学模型;

(2)在粒子群算法中引入动态控制参数策略和搜索增强机制,提出了一种改进的混沌粒子群优化(improved chaotic particle swarm optimization,ICPSO)算法;

(3)评估ICPSO的寻优能力并利用其求解激励轨迹,进行动力学参数辨识。

1 动力学建模及激励轨迹优化目标

1.1 SCARA机器人动力学建模

图1为SCARA机器人的简化模型及D-H(Denavit-Hartenberg)参数连杆坐标系。由于SCARA机器人的连杆4可以看作是连杆3的负载,故可将其简化为RRP结构。

图1 SCARA机器人D-H连杆坐标系

仅对连杆1、2、3进行动力学建模[9],可得SCARA机器人的连杆动力学模型为

(1)

将式(1)改写含有惯性参数的线性表达式[10]:

(2)

使用参数重构法确定机器人的最小惯性参数:

P=[p1;p2;p3;p4]

(3)

由于SCARA机器人的连杆1、2的转动和连杆3的移动可以看作相互独立的[11],因此可将大小为3×4观测矩阵Yr拆分为:

(4)

(5)

1.2 激励轨迹及其优化目标

机器人参数辨识的精度很大程度上取决于激励轨迹的质量。选用改进的傅里叶级数[12]作为机器人的激励轨迹,如式(6)所示。

(6)

根据起始和终止位置的关节角速度和角加速度为零可得五次多项式的系数为:

(7)

式中qsf为起始角度和终止角度。

惯性参数矩阵P的精度主要由观测矩阵条件数决定[13]。cond(Yr)越小,误差越小,精度越高。因此激励轨迹的优化模型为

(8)

其约束条件为:

(9)

2 融合混沌搜索和自适应机制的粒子群算法

2.1 粒子群算法

粒子群算法是一种具有显著粒子协作特性的群体进化算法。其粒子速度和位置更新公式为:

(10)

2.2 自适应动态控制参数策略

固定的惯性权重和学习因子会限制粒子的搜索能力,算法容易出现早熟现象导致迭代终止。针对上述不足,对惯性权重和学习因子做了如下改进。

2.2.1 惯性权重

为平衡全局搜索能力和局部改良能力,引入双曲正切函数对惯性权重进行动态自适应调整,使其随着迭代次数的变化而变化。

(11)

式中:ωmin、ωmax分别为惯性权重的最小值和最大值;k1、k2为任意实数。

图2为当k1=4、k2=3、ωmin=0.4、ωmax=0.9时的惯性权重变化曲线,可以看出:惯性权重在迭代初期和后期变化较小,可以避免早熟以及提高收敛精度;在迭代中期变化较快,保证了收敛速度。

图2 惯性权重变化曲线

2.2.2 学习因子

引入动态学习因子机制,让学习因子根据当前粒子本身适应度和种群适应度自适应调整,在搜索前期让c1取较大值、c2取较小值,充分发挥粒子的全局搜索能力,避免陷入早熟;在搜索后期让c1取较小值、c2取较大值,对最优区域进行细致搜索,以期找到更加合适的最优解。

(12)

(13)

2.3 混沌搜索增强机制

种群早熟会导致粒子群算法寻优性能降低,为了提高求解效率,避免早期粒子陷入局部最优,设计了一种搜索增强机制。搜索增强机制由粒子早熟判定标准和混沌搜索策略构成,通过粒子层面的早熟判定,筛选早熟粒子,并通过混沌搜索优化种群。

2.3.1 “早熟”判定标准

方差s2的大小反映了数据的离散程度。当目前种群粒子的适应度值方差s2小于某一给定常数C,且当前全局最优解fbest与理论最优解或期望最优解fd之差大于某一给定常数Δf时,则表明种群出现早熟。种群适应度方差计算公式为

(14)

式中fi为当前迭代次数下第i个粒子的适应度值。

判断种群早熟的公式为

(15)

2.3.2 混沌搜索策略

筛选种群中适应度大于上四分位数的粒子,将其放入待优化粒子集合S1。采用Tent混沌序列[6]优化集合S1,具体实现在式(16)中给出。

(16)

式中Xi为第i个粒子的位置映射在[0,1]区间内的混沌序列。

以下是混沌搜索更新粒子位置的步骤:

(1)将粒子xi的每一维xij根据式(17)映射到[0,1]区间上;

(17)

式中[aj,bj]为第j维变量的定义域。

(3)根据式(18)将混沌序列逆映射回原空间:

(18)

(4)得到xi经Tent映射的混沌序列的以优化粒子集合S2:

(5)计算每一代的混沌点序列的适应度值,取最优的xim代替原来早熟的粒子位置xi。

2.4 ICPSO算法实现流程

图3为ICPSO算法实现的流程图。

图3 ICPSO算法流程图

3 激励轨迹优化与参数辨识实验

首先评估了ICPSO、APSO和LPSO在5个基础测试函数上的寻优表现,验证ICPSO寻优能力;然后使用ICPSO算法对激励轨迹优化目标进行优化求解,并进行参数辨识实验。

3.1 算法效果评估

本节中评估了ICPSO寻找5个常用基础测试函数最优值的能力,具体函数描述、取值范围和理论最优值在表1中给出。在算法验证中,ICPSO、APSO和LPSO分别在5个常用的基础测试函数上各自运行20次。3种算法共同设置cmin=0.5、cmax=2.5、ωmin=0.4、ωmax=0.9、T=100、Size=50、函数维度n=30。ICPSO算法单独设置C=10、Δf=1。

表2展示了3种算法效果评估的数据,使用最优值的均值和方差评价算法。由表2可以看出,ICPSO算法在多峰测试函数F1、F2和单峰测试函数F3、F4的寻优表现要好于APSO算法和LPSO算法,但在具有随机干扰的单峰测试函数F5上的寻优表现要差于APSO算法;LPSO算法在5个测试函数中的寻优表现均较差。

3.2 激励轨迹优化

使用MATLAB计算机器人的激励轨迹,设基角频率ωf=0.2π。待优化的激励轨迹模型共有30个待优化参数,采用ICPSO算法对激励轨迹优化的结果如表3所示,得到的观测矩阵条件数分别为1.003 9和1.000 0。由于矩阵条件数总是大于等于1,因此求得的激励轨迹参数为最优值。

图4为优化后关节的位置、速度和加速度曲线图,可知优化后的激励轨迹满足约束,起始位置和终止位置连续,轨迹平滑,保证机器人运行的平稳。第3关节所求观测矩阵条件数为1,所求轨迹为最优。这是因为前2关节与第3关节解耦,优化第3关节的激励轨迹相当于求解单关节的激励轨迹。

3.3 动力学参数辨识

为了验证ICPSO算法优化激励轨迹的可行性与可靠性,采用自适应神经网络算法进行参数辨识,并利用MATLAB仿真验证。

线性最小二乘法参数辨识容易造成结果发散,而神经网络算法可以通过神经元之间的相互组合完成复杂的任务。神经网络的主要原理是梯度下降法,根据误差来反向传播并进行网络结构的迭代更新[14]。不断训练,获得机器人的动力学参数。

构建如图5所示的单层神经网络模型,输入和输出的数学关系为

Y=f(X·WT)

(19)

表1 测试函数

表2 算法效果评估

表3 最优化激励轨迹参数

(a)关节1、2角度曲线

(b)关节1、2角速度曲线

(c)关节1、2角加速度曲线

(d)关节3位移曲线

(e)关节3速度曲线

(f)关节3加速度曲线

图5 神经网络参数辨识模型

式中:Y为输出力矩;X为通过实验采集到的关节角度、速度及加速度计算得到的相应观测矩阵的数值;W为权重向量。

激活函数为f(x)=x。使用实际力矩和辨识力矩差值更新学习率,实现学习率的自适应调节,避免陷入局部最优解和无法收敛。

动力学参数仿真验证流程如图6所示。使用前文得到的最优激励轨迹作为输入,基于机器人动力学模型得到机器人运动所需的关节力矩。考虑辨识过程中的噪声干扰,加入干扰信号τd。图7为参数辨识的MATLAB仿真模型,使用神经网络算法辨识得到机器人的动力学参数如表4所示。为更好验证辨识参数的准确性,采用如图8所示的测试轨迹进行验证,得到辨识模型和实际模型的输出力矩对比曲线如图9所示。

图6 参数辨识仿真验证流程

图7 动力学参数辨识仿真模型

(a)关节1、2测试轨迹

(b)关节3测试轨迹

表4 动力学参数辨识结果

据图9可知辨识模型与实际模型所得到的3个关节的力矩曲线一致。为了更好量化表征理论计算值和实测值之间的误差,分别利用均方根误差和相关系数对其进行描述,其表达式为:

(20)

(21)

计算得到各关节均方根误差与相关系数如表5所示,可以看出各关节的均方根误差和相关系数较小且符合第一关节辨识精度较低的规律。实验证明参数辨识结果的准确性和ICPSO算法优化方案的可行性。

表5 各关节误差评价指标

(a)关节1力矩对比

(b)关节2力矩对比

(c)关节3力矩对比

4 结论

针对机器人动力学参数辨识精度而提出的激励轨迹优化问题,改进了混沌粒子群算法,以求解激励轨迹的优化模型。建立机器人的动力学模型和激励轨迹优化目标和约束条件的数学模型。在粒子群算法中引入基于迭代次数和种群适应度的动态控制参数策略以及基于混沌序列优化早熟的种群粒子的搜索增强机制,并使用改进后的粒子群算法优化求解激励轨迹。最后,采用神经网络算法进行动力学参数辨识,得到符合实际工况要求精度的机器人动力学参数。

猜你喜欢
适应度种群轨迹
邢氏水蕨成功繁衍并建立种群 等
改进的自适应复制、交叉和突变遗传算法
计算机仿真(2022年8期)2022-09-28 09:53:02
山西省发现刺五加种群分布
今日农业(2022年15期)2022-09-20 06:54:16
轨迹
轨迹
轨迹
现代装饰(2018年5期)2018-05-26 09:09:39
进化的轨迹(一)——进化,无尽的适应
中国三峡(2017年2期)2017-06-09 08:15:29
基于空调导风板成型工艺的Kriging模型适应度研究
中国塑料(2016年11期)2016-04-16 05:26:02
岗更湖鲤鱼的种群特征
少数民族大学生文化适应度调查