基于神经网络的六自由度机械臂轨迹仿真控制

2020-09-10 06:54张海涛
内燃机与配件 2020年21期
关键词:机械臂神经网络

张海涛

摘要:随着机器人技术的不断发展,越来越多的自动化生产采用机械臂来实现,如何使机械臂在运行过程中实现精确控制,是当今机械工程方向研究的重点内容。本文以某生产线运行的六自由度机械臂为讨论对象,讨论基于神经网络的轨迹控制问题。由于神经网络在非线性处理方面的优点,因此尝试将BP和RBF神经网络应用于机械臂轨迹规划的逆运动学求解中,以期取得较好的效果。

关键词:六自由度;机械臂;神经网络;轨迹控制

中图分类号:TP241                                     文献标识码:A                                文章编号:1674-957X(2020)21-0201-02

0  引言

机械臂逆运动学求解就是在已知机械臂末端执行器的目标位姿的情况下来求解机械臂各关节的空间参数的变换规律,并最终求解出相应状态点的具体数值。在末端位姿已知的情况下,除了要求解机械臂各关节的具体的空间参数的数学描述外,各关节点在运动过程中的速度和加速度等相关参数也是至关重要的。较大的速度和加速度会引起机械臂非正常的振动,严重情况下会损坏机械臂。只有速度和加速度限定在一定范围内,才能保证机械臂的平稳运行。机械臂的逆运动学求解采用传统的求解方法,不仅速度慢,而且精度不高,数值也不能完全令人满意。人工神经网络在求解非线性问题方面具有较多良好的特性。这包括較强的鲁棒性、自适应调整能力和并行处理能力等等,而这些正是机械臂在逆运动学求解过程中所需要的。本文将讨论神经网络在机械臂逆运动学求解中的应用。

1  BP神经网络

随着计算机处理能力越来越强,人工神经网络也在技术和算法方面得到了飞速的提升。人工神经网络采用分布式的运算方式,在非线性问题和复杂问题求解方面有较好的应用前景,能够对机械臂的运行过程的求解提供新的解决方案。人工神经网络有很多种不同的分类,七模型的核心是针对的是不同的结构算法,其中BP神经网络误差反向传播技术最为成熟。BP神经网络有的特点是当神经元的个数足够多时,可以对任何非线性模型进行逼近运算,并最终得到满足要求的求解数值。网络权值进行求解通过以全局逼近的方式,信息分布在神经元与神经元之间的网络权值之中,所以BP网络具有较好的鲁棒性和容错性。

由结构如图1所示,我们可以看出BP网络是一个单向传播的多层前项反馈网络。主要包括三部分:输入层、隐含层及输出层。BP网络的学习主要分为两部分,一部分是信号的正向传播,另一部分是误差的反向两部分构成,如图2。当要计算出其具体的误差变化,尤其在实际和期望值相差较大的时候。可以使用梯度下降法来不断的修改它的阈值和权值,使他达到期望的目标。

2  RBF神经网络

RBF是一种具有很强的局部逼近能力的径向基神经网络。图3所示的结构为RBF神经元模型的隐含层结构。

其中,向量wl表示网络的权值,bl表示网络阈值,向量Xq表示网络的输入。RBF神经网络的径向基传递函数为:

其中,。

在RBF径向基神经元中它的输出为1,则它的输入自变量则为0。当输入向量和权值之间的距离 dist 不断的缩小,而神经网络中的数值输出是逐渐增加的,这体现了RBF径向神经网络具有较强的数值收敛的能力。

3  运用BP和RBF的逆运动学求解

3.1 逆运动学求解

求解机械臂逆运动学问题本文采用了BP和RBF结合的方法来求解,从而将求解逆向运动学的问题转化成有关训练神经网络权值和阈值的问题来求解。

以PUMA560机械臂为列,逆运动学问题的求解就是在已知机械臂末端的执行器位姿A的条件下,来求解各关节变量?兹1,?兹2,?兹3,?兹4,?兹5,?兹6。在A中的第四行的四个元素是常数,所以整个网络的输入,选用剩下的12个元素,因此输入向量为q=[nx ny nz ox oy oz ax ay az px py pz],将6个关节角作为整个神经网络的输出,因此输出向量为Z=[?兹1,?兹2,?兹3,?兹4,?兹5,?兹6]。

BP神经网络在训练的过程中,需要选择合适的节点数量,数量太少时,无法完成训练,数量太多时神经网络的泛化能力又会下降,本文中讨论的神经网络训练节点的选择在满足训练能力的基础上,尽可能较少的选择节点数量,以期达到更好的训练效果。采用公式如下,即:

其中输入神经元的数目用n表示,神经元输出的数目用t表示。因此可以得出本文选取16作为BP隐含层神经元数目。

根据上面的描述可以将机械臂的逆向运动学分为如下的几个步骤:

①产生数据样本集;②网络的初始化;③选取训练样本和测试样本;④选用合适的训练数据进行神经网络的训练;⑤完成神经网络训练后,选择最优数据也就是网络中误差最小的数据作为系统最终输出。

3.2 仿真分析

本文选取的案例是PUMA560机械臂,通过它来进行仿真实验,设置最初关节向量,位置PA=[0  0  0  0  0  0]运动到终止关节位置PB=-    -  ?仔  -  时,利用MATLAB中Robotics Toolbox工具箱的相关函数,通过正运动学方程式获取2100组样本数据。其中测试数据选用了1/3,剩下的作为训练样本。考虑到系统测试的可行性,在仿真实验过程中使用了三种算法,分别是BP神经网络、RBF神经网络和LM算法,用初始化数据导入系统,经过训练后的数据如图4所示。

为了进行对比,表1中给出解决相同问题时所用的时间、训练步数和测试误差,在不同的网络结构或算法情况下。为了达到良好的训练效果,在使用神经网络训练过程中,需要使用不同数据,不同训练次数,从中选择合适的最终数据。

从表1可以看出,LM算法仅用了10步就达到了误差目标。使用LM算法和RBF网络,LM算法收敛的时间没有RBF网络快,但是训练误差指标差不多。但是RBF网络仅仅用了9步迭代就完成了系统的误差训练,完成时间是0.39秒,训练完成的均方差为0.41×10-9。LM网络仅仅用了10步就完成了系统的误差训练,完成时间是1.57秒,训练完成的均方差为0.36×10-9。这两种网络算法能在很短的时间和很少的迭代次数中,就完成了测试误差的训练,能够迅速收敛,达到很好的效果。

BP网络的迭代次数为4500步,训练时间为28.51秒,训练完成的均方差为5.62×10-3。在实践和迭代次数上均比以上两种网络的算法慢,但是在并行算法网络中,所取得的效果,比任何一个单神经网络算法的精度都要高,所用时间也会降低。

4  结论

通过前面的仿真数据分析,我们可以得到如下的结论,即为了对机械臂的逆运动学进行求解,神经网络BP和RBF算法在机械臂轨迹求解过程中有着良好的特性,可以使误差在很短的时间和很少的步数情况下实现系统数值的收敛,是一种行之有效的求解方法。每一种网络算法在单独求解时,可以实现良好的收缩特性,在并行网络中,所取得的效果,比任何一个单网络算法的精度都要高,因此在实际应用中,可以采用两个或三个神经网络并行运行,以期达到更好的效果。神经网络的逆运动学求解,比传统方法速度更快,计算量更低,收敛的速度更快,为机械臂在实际运用中的逆运动学求解提供了一种新的解决方案。

参考文献:

[1]张盡.PUMA560机器人控制系统设计及双重控制方法应用研究[D].哈尔滨:哈尔滨工业大学,2010.

[2]王涛.基于Matlab仿真的机器手臂笛卡尔轨迹规划[J].湖南文理学院学报(自然科学版),2015(04).

[3]王海鸣,孔凡让,赵晓伟.基于BP神经网络的机器人逆运动学新算法[J].机电一体化,2009(1):46-49.

[4]王海鳴.基于神经网络的机器人逆运动学求解[D].中国科学技术大学,2008,05.

猜你喜欢
机械臂神经网络
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
基于改进VGG-16神经网络的图像分类方法
基于自适应神经网络的电网稳定性预测
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
基于BP神经网络PID控制的无刷直流电动机调速系统设计
机械臂平面运动控制与分析
机械臂工作空间全局相对可操作度图的构建方法
人机交互课程创新实验
基于S7?300 PLC不规则空间曲线自动焊接系统设计