基于改进卷积网络的机器人定位误差补偿研究

2023-09-19 05:45:30倪丹艳
机械设计与制造工程 2023年8期
关键词:适应度卷积粒子

倪丹艳

(苏州高博软件技术职业学院机电工程学院,江苏 苏州 215163)

机器人是由多个杆件和旋转关节串联而成的运动体,通过移动末端执行器到指定位置来完成规定的作业[1-3]。但因装配误差、连杆和关节的变形、各运动副之间的摩擦以及温度、末端负载变化等因素的影响,机器人末端执行器实际的位姿与期望位姿有一定的误差,从而导致机器人产生定位误差[4-6]。如果不对定位误差进行有效补偿,那么机器人就很难完成既定工作。

近年来,国内外诸多学者对机器人定位误差补偿问题进行了研究,并取得了一定的研究成果。如朱江新等[7]结合D-H法与微分运动学理论构建机器人定位误差模型,并依据该模型提出运动学参数误差的计算公式,运用最小二乘法进行求解,根据求得的结果分别进行D-H参数补偿和机器人关节转角补偿;高贯斌等[8]提出把机器人活动空间分割成网格,在网格空间内构建定位点和参考点的相似度关系,建立以距离为偏差的误差传输函数,根据该函数提出误差补偿方法,对定位点各个方向的误差进行补偿。上述两种方法虽然对机器人定位误差起到了一定的补偿作用,但是分类预测精度较差,达不到理想的补偿效果。本文提出一种基于改进卷积网络的机器人定位误差补偿方法,以期有效、合理地对机器人定位误差进行补偿。

1 机器人定位误差补偿方法

1.1 改进卷积网络的机器人定位误差预测模型

1.1.1机器人定位误差预测的深度卷积神经网络设置

卷积神经网络(CNN)一般由输入层、隐含层、全连接层以及分类层组成,其中隐含层又可分为卷积层和池化层两部分[9-10]。对于机器人定位误差预测,本文在传统卷积神经网络结构基础上,提出隐含层为4层的深度卷积神经网络(DCNN)模型,如图1所示,模型共分为8层,输入层与分类预测层均为1层,卷积层有2层、池化层有2层、全连接层有2层。

图1 深度卷积神经网络模型

在DCNN模型中,输入层预处理机器人实际关节角度与理想关节角度图像,再将处理后的图像传送到卷积层;卷积层对图像进行卷积运算,得到机器人实际关节角度与理想关节角度特征图,并输送至池化层;池化层对特征图运用最大池化方式进行压缩采样,得到机器人实际关节角度与理想关节角度深层特征图,这一过程便实现了局部连接,使深度网络结构变得简单;全连接层对机器人实际关节角度与理想关节角度深层特征图进行差异性计算,并将计算结果传送至分类预测层;分类预测层位于DCNN最末层,用于机器人定位误差预测结果的输出。

1.1.2机器人定位误差预测DCNN模型的训练

本文首先对DCNN模型进行训练,然后运用训练后的网络模型对机器人实际关节角度与理想关节角度图像进行特征提取及定位误差预测。DCNN训练误差函数C描述为:

(1)

通过该误差函数进行反向传播,对DCNN结构中的参数进行自适应调节,重复这一过程,直至达到调节结束条件,完成机器人定位误差预测DCNN模型的训练。

1.1.3基于DCNN模型的机器人定位误差预测实现

利用训练好的DCNN模型对机器人定位误差进行预测。将尺寸为a×a的图像块A作为实际关节角度图像,构建A和机器人理想关节角度图像的数据集合,二者会产生映射关系,通过映射函数f(A)提取A的特征,从而获取到A在窗口范围中数量为M的特征。映射过程可以描述为:

f(A)→MRN

(2)

式中:RN为实数向量。

通过映射操作获取的机器人关节角度图像维度Q与数据向量y,分别可以描述为:

Q=γ(a+1)2

(3)

y=Qf(A)×Bj(A)

(4)

式中:Bj(A)为j的图像特征,γ为维度向量。

依据该方法,对机器人定位图像所有数据集进行卷积操作,将获得的卷积结果输送至池化层,对卷积结果进行压缩降维,并把降维后的特征图传送至第二个卷积层中再次进行卷积计算。重复上述步骤,实现机器人关节角度图像特征的提取。

经过卷积与池化操作后,将提取到的机器人实际关节角度与理想关节角度深度特征图输送至DCNN的全连接层,进行特征图的逻辑推理。将机器人理想关节角度特征图E′当作参考对象,分别计算该参考对象与其对应的机器人实际关节角度特征图E之间各特征点的欧氏距离h,描述为:

(5)

式中:ε为权重向量;hmax为距离最大的特征点间的欧氏距离。依据距离最大的特征点间的欧氏距离最大值得到的机器人定位误差预测结果:

(6)

式中:qt=[qtx,qty,qtz]T,为工具中心点(tool center point,TCP)处的工具坐标系和机器人末端法兰中心的相对位置矢量,qtx,qty,qtz为工具坐标系X轴、Y轴、Z轴方向的位置矢量。

至此,完成机器人定位误差预测。

1.2 机器人定位误差补偿的实现

1.2.1机器人定位误差补偿目标函数及约束条件

根据机器人定位误差预测结果,将补偿问题转变成优化问题。本文以机器人定位误差最小为优化目标,构建优化目标函数f,描述为:

f=min

(7)

为了提高运算效率,在约束条件中,设定只进行一次运动学逆解运算,同时依据机器人的特点,设置关节角度的寻优范围,关节角度需符合机器人关节限位的要求。机器人定位误差补偿目标函数约束条件,描述为:

(8)

式中:I为机器人第I个关节,θI为第I个关节角度,θmin、θmax分别为最小关节角度和最大关节角度,SI为机器人末端坐标,fI为定位误差的修正向量。

1.2.2基于粒子群优化算法的目标函数求解

粒子群优化(particle swarm optimization,PSO)算法依据种群的迭代进行全局寻优,即利用所有粒子之间的协作和竞争来完成最佳值的搜寻。应用粒子群算法完成机器人定位误差补偿,即以式(7)所示的机器人定位误差最小为目标函数,将该目标函数作为粒子群算法寻优的适应度函数,通过粒子群算法寻找满足适应度函数的最优粒子,获得最佳误差补偿结果。粒子群算法中,存在于搜寻空间内的各个点被称为粒子,所有粒子都有可能成为搜索空间中的最佳机器人定位误差补偿目标函数寻优结果,即所有粒子均有成为可行解的可能。位置与速度是粒子的特有属性,粒子下一时间点所在位置取决于粒子的运行速度。

设定机器人定位误差补偿过程中,D为粒子搜寻空间的维度;Xi=(xi1,xi2,…,xiD),为粒子群中位置为i的粒子,xiD为粒子搜寻空间维度中位置为i的粒子;Vi=(vi1,vi2,…,viD),为该粒子的运动速度,viD为粒子搜寻空间维度中粒子的运动速度;pbest=(pi1,pi2,…,piD),为个体最佳位置,piD为粒子搜寻空间维度中个体位置;gbest=(gi1,gi2,…,giD),为种群最佳位置,giD为粒子搜寻空间维度中种群位置。粒子可以根据pbest和gbest对自身的速度与位置进行更新,描述为:

vid(k+1)=wvid(k)+c1r1(pid(k)-

xid(k))+c2r2(gid(k)-xid(k))

(9)

xid(k+1)=xid(k)+vid(k+1)

(10)

式中:d=1,2,…,D;k为目前迭代次数;r1和r2为随机数;c1和c2为学习因子,分别表示把粒子引导至个体和全局最佳位置的统计加速项的权值;w为惯性权重,用于判断粒子群优化算法的局部与全局搜寻能力。

为了提高机器人定位误差补偿的寻优能力,可以通过随机权重法与自然选择原理相结合的方法对PSO进行完善。由于w是可调节的参数,因此运用随机权重法对w进行完善,调整后的w可以提升PSO在进行机器人定位误差补偿时目标函数求解的全局寻优能力,避免算法早熟,使得寻求的机器人定位误差补偿结果实现全局最优。随机权重法把w设置成服从任意分布的随机数值,w的计算表达式为:

w=δ+σ·N′(0,1)

(11)

其中:

δ=δmin+(δmax-δmin)rand(0,1)

(12)

式中:δ为随机权重平均值;σ为方差;δmax为随机权重最大值;δmin为随机权重最小值;N′(0,1)为随机数,且呈标准正态排列;rand()为生成随机数的函数。

基于改进粒子群算法的机器人定位误差补偿目标函数寻优过程如下:

1)种群初始化。设定种群大小、迭代次数上限、粒子的维度、初始速度与位置以及二者的限定范围。

2)粒子性能评估。粒子的评价函数,也就是适应度函数,采用的是机器人定位误差补偿目标函数。所有粒子的适应度值根据式(7)计算得出,并将结果记录在pbest中,包括所有的适应度值及其对应的粒子所在的位置,然后从pbest中挑选出最佳适应度值及其对应的粒子所在位置,记录在gbest中。

3)通过式(9)、(10)对粒子的速度与位置进行更新,并衡量二者是否在设定范围内,如果已超出预设范围,则返回第1)步,重新进行初始化操作。

4)通过式(11)对惯性权重进行改进,以提高进行机器人定位误差补偿时PSO的寻优能力。

5)由于本文的适应度函数也是目标函数,为了实现机器人定位误差最小,因此计算出的适应度值越小越好。选取所有粒子适应度值中最小的适应度值与个体最佳位置pbest的适应度值进行比较,如果其小于pbest的适应度值,那么这个最小适应度值对应粒子所在位置将取代pbest,成为个体最佳位置。

6)将所有粒子的个体最佳位置中适应度值最小的位置作为全局最佳位置。

7)采用自然选择原理,替换种群中品质较差的粒子,替换比例为25%。将全部粒子根据适应度值大小升序排列,调整惯性权重,更新粒子位置。这样就可以在pbest与gbest不发生变化的情况下,加快算法收敛速度。

8)评估是否符合算法结束要求,即达到迭代上限。如果符合要求,那么结束算法,得出全局最佳结果,反之,返回第3)步。

使用深度卷积神经网络得到最小定位误差,将其作为目标函数用于粒子群优化算法的适应度函数。通过粒子群优化算法寻优过程,获取最优的机器人定位误差补偿结果,并将该结果应用于机器人实现目标精准定位。

2 实验结果分析

以某型号的6自由度机器人作为实验对象,该机器人臂展为550 mm,机身质量为45 kg,额定负载为10 kg,驱动方式为电气驱动,机械手有6个自由度,也是该机器人的末端执行器。

为了验证本文方法的有效性,对该机器人进行了物体抓取测试,并利用本文方法对该机器人进行了定位误差补偿,相关参数见表1,得出的实验结果如图2、图3所示。由图2、图3可知,利用本文方法对机器人的6个关节进行相应的角位移误差补偿,再将角位移误差补偿后的结果应用于机器人运动控制,实现了对目标物体的准确抓取。实验结果说明,本文方法可有效通过机器人定位误差补偿消除机器人目标抓取的误差,保障机器人实现物体精准抓取。

表1 实验参数设置

图2 机器人定位误差补偿

图3 机器人抓取物品

实验对隐含层分别为3层、4层、5层时的卷积神经网络模型进行性能测试。将机器人定位误差补偿预测数据集分为训练与测试两部分,分配比例为7∶3。设定输入长度、全连接层获取的特征维度、迭代上限分别为200、3 600、1 200,最后得到不同隐含层结构下DCNN分类预测精度,结果如图4所示。由图可知,迭代次数为600时,隐含层为4层的DCNN分类预测精度达99%以上,当迭代次数为1 200次时,分类预测精度更是达到了99.87%,接近于100%,而其他层次结构的DCNN网络模型在分类预测精度方面的表现则稍差一些,由此说明,在深度卷积神经网络模型中设置4层隐含层时,有着较强的分类预测能力。

图4 不同隐含层结构下DCNN分类预测精度

3 结束语

随着机器人应用市场的拓展,人们对机器人定位精度的要求愈加严格,为提高机器人本体的绝对定位精度,本文提出一种基于改进卷积网络的机器人定位误差补偿方法。该方法运用改进的卷积神经网络模型对机器人定位误差进行预测,根据预测模型构建机器人定位误差目标函数,通过粒子群算法对目标函数进行求解,以此实现机器人定位误差补偿。实验证明,本文方法对机器人定位误差补偿有着较好的表现,比较适合用于此类问题的解决。

猜你喜欢
适应度卷积粒子
改进的自适应复制、交叉和突变遗传算法
计算机仿真(2022年8期)2022-09-28 09:53:02
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
基于粒子群优化的桥式起重机模糊PID控制
测控技术(2018年10期)2018-11-25 09:35:54
基于傅里叶域卷积表示的目标跟踪算法
基于粒子群优化极点配置的空燃比输出反馈控制
基于空调导风板成型工艺的Kriging模型适应度研究
中国塑料(2016年11期)2016-04-16 05:26:02
一种基于卷积神经网络的性别识别方法
电视技术(2014年19期)2014-03-11 15:38:20
基于Matlab的α粒子的散射实验模拟
物理与工程(2014年4期)2014-02-27 11:23:08
基于两粒子纠缠态隐形传送四粒子GHZ态