一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于遗传算法优化的神经网络机械臂动力学建模方法

2022-04-30 17:47:25 来源:中国专利 TAG:


1.本发明属于智能机器人技术领域,具体涉及一种基于遗传算法优化的神经网络机械臂动力学建模方法。


背景技术:

2.目前,机械臂运动控制系统的设计大都基于如下两种形式:只利用运动学特性的闭环控制方式和在此基础上结合动力学特性的控制方式。前者结构简单、控制方法易于实现。但这种方式无法解决机器人非线性时变和强耦合问题,难以保证控制系统具有良好的静态和动态性能,容易产生较大的控制量偏差和系统振荡等问题。而结合动力学特性后,可对控制系统进行动态特性补偿,减少不确定扰动,进一步改善控制系统动态品质和控制精度。但这种控制方式严格依赖于动力学特性。
3.机械臂动力学研究的是关节力、力矩与关节运动的关系,主要目的是通过动力学模型计算出机械臂末端进行目标运动时,各关节驱动器所应提供的力矩大小,并将这一力矩值用于机器人的控制,使其在高速运动时保持良好的跟踪精度、动态响应和鲁棒性。机械臂是一个复杂的动力学系统,存在严重的非线性和耦合关系,使得关节力、力矩与关节运动参数间多为三角函数关系;同时,不仅各关节的运动相互耦合,作用力、力矩也相互耦合。因此,建立准确的动力学模型是研究机械臂动力学分析及控制的基础。
4.机械臂动力学模型可通过经典方法进行理论建模,如:牛顿-欧拉递推方法、拉格朗日系统能量方法以及凯恩方程等方法。但这些方法及其改进算法无法给出力矩和关节变量间精确的定量关系。大部分专利在理论建模的基础上结合参数辨识方法给出精确动力学模型,并在此基础上进行运动控制。如专利【一种六关节机器人的动力学参数辨识及碰撞检测方法】、【一种六自由度机器人动力学参数辨识方法和系统】、【scara机器人动力学参数辨识的方法、装置】等都是采用经典方法够建动力学模型,并结合最小二乘法辨识出较精确的机械臂动力学参数。最小二乘法辨识精度高,但在大数据量时无法满足计算速度的实时性要求。因此,辨识过程的复杂度以及计算量成为了控制效果的重要影响因素,也是现有其他发明专利有待解决的问题。


技术实现要素:

5.高品质的运动控制要求精确的动力学模型参数。当前对于机械臂动力学特性如果用参数辨识的方式进行物理建模,由于参数较多、工况负载实时变化,且存在着摩擦力、向心力、科氏力、传递滞后等带来的误差,使得模型参数辨识过程较长且随干扰可变,导致构建的动力学模型无法输出准确的力矩适配机械臂当前运动状态,使运动控制周期变长,降低了控制系统的实时性、稳定性和控制精度,无法满足实际应用的需求。
6.为了克服现有技术的不足,提出了一种基于遗传算法优化的神经网络机械臂动力学建模方法,所述方法利用神经网络方法构建动力学模型,并采用遗传算法对网络权值进行优化,替代其他专利采用理论建模和参数辨识的方法,不再考虑不确定因素的影响,提升
了模型预测的准确性。
7.神经网络具有强大的非线性逼近能力,适合处理数据量较多情况下的非线性拟合问题,不需要通利用动力学参数进行理论建模。通过对初始权值不断迭代更新,使训练好的网络能够准确描述关节空间到力矩空间的映射关系,模型参数的动态变化不再影响输出。同时,神经网络结构具有天然并行性,每个神经元都可以根据接收到的信息进行独立运算和处理,大大减少了计算时间,提升了控制系统运行速度和控制精度。但是,初始权值和偏置作为网络训练效果的起点,在限定的截止条件下直接影响训练速度和模型精度,有必要对其进行优化。考虑到遗传算法具有良好的全局搜索能力和隐并行性,适合求解复杂的非线性问题,通过选择、交叉、变异等操作对神经网络的初始权值和偏置进行处理,并通过不断进化种群中的最优个体实现网络参数的初级优化,从而提高网络训练速度和模型精度,在一定程度上避免网络训练陷入局部最优。而神经网络对经过初级优化的参数进行训练,用更精确的网络模型的输出作为评价指标对其进行迭代更新,对网络参数进行深度优化,实现了网络模型的精确构建。
8.本发明的技术方案为:一种基于遗传算法优化的神经网络机械臂动力学建模方法,所述建模方法涉及一个机械臂的关节运动变量及其与输出力矩间的关系,所述关节运动变量包括关节角、关节速度和关节加速度,所述建模方法采用一个级联前向神经网络结构和一个遗传算法结构,构建机械臂的动力学模型,所述级联前向神经网络结构包含多个隐含层,每一层都与其输入层相连,层与层之间相互级联,通过对输入输出关系中的参数不断优化,使最终的输出偏差收敛到最小值,实现非线性逼近能力;
9.所述级联前向神经网络结构包含多个参数和一个训练方法,所述级联前向神经网络结构的通用模型为:
[0010][0011]
其中,p为输入向量;y为每层的输出向量;n为神经网络层数;f为sigmoid激活函数,n为正整数;w为隐含层的矩阵,w的元素为所述参数,记为权值w;b为隐含层的偏置列向量参数,记为偏置b;权值w和偏置b的求解采用反向传播算法,通过标记的数据进行引导性的学习。
[0012]
遗传算法结构包括:种群初始化、编码、个体适应度值设置、选择、交叉以及变异;在遗传算法结构的过程中根据适应度值的优劣对个体进行筛选,使下一代新群体继承并优于上一代的遗传信息,直至筛选出最优个体,形成机械臂的关节运动变量和输出力矩间的关系;
[0013]
优选的,所述级联前向神经网络结构的输入层的神经元个数为3个,输出层神经元为关节的输出力矩值,隐含层数为3层;每层的神经元节点个数分别为:3、3、5;所述隐含层数满足:m为隐含层神经元个数,n和m分别为输入层和输出层的神经元个数,a是[0,10]区间内的常数,初始w和偏置b随机选取。
[0014]
采用所述遗传算法结构对所述级联前向神经网络结构中随机选取的初始w和偏置b进行优化,将得到的最终优化值作为神经网络的初始训练参数;将初始w和偏置b作为所述遗传算法结构的初始种群;将实际输出和期望输出差值的绝对值作为个体适应度值f,
[0015][0016]
其中,k为算法自带系数、m为输出层神经元个数、ti是第i个神经元的期望输出、oi是第i个神经元的实际输出;按照一个轮盘赌原则对个体进行选择,所述轮盘赌原则表示适应度值越小,表示误差越小,个体适应度越好,所述轮盘赌原则用公式表示为:
[0017]fi
=k/fi[0018][0019][0020]fi
是个体适应度值的倒数,fi越小,个体适应度越差;pi是每个个体被选中的概率,个体的适应度越好,pi就越大;
[0021]
选择结束后,进行交叉操作,即将选中的优秀个体进行配对,将染色体按某种方式相互交换部分基因,组成新的个体;父代个体ak和母代个体a
l
在第j个点位的实数交叉方式为:
[0022][0023]
h是(0,1)区间内的随机数。为增加种群多样性,对个体进行变异。其中,ai在第j个点位的变异方式为:
[0024][0025]amax
表示个体的基因上界、a
min
表示个体的基因下界、μ是[0,1]区间内的随机数、n是当前迭代次数、n
max
是最大迭代次数;变异操作结束后,检测新的个体是否是最优,若当前并非最优个体,则循环进行选择、交叉、变异的步骤,直至产生最优新个体;若当前为最优个体,则将其分割赋值给神经网络的初始权值w和偏置b;最后,采用梯度下降法对4800组样本数据进行训练,直至满足所需要的精度。
[0026]
本发明有益效果:
[0027]
1、本发明关节4-关节6输出力矩的误差几乎为0,关节1-关节3输出力矩的误差相对略大。
[0028]
2、采用本发明专利得到的逆动力学模型是正确的,并在一定误差允许范围内精度较高。
[0029]
3、本发明涉及的神经网络对经过初级优化的参数进行训练,用更精确的网络模型的输出作为评价指标对其进行迭代更新,对网络参数进行深度优化,实现了网络模型的精确构建。
附图说明:
[0030]
图1为本发明结构示意图;
[0031]
图2级联前向神经网络结构示意图;
[0032]
图3为本发明关节1输出力矩值实际值和期望值对比图;
[0033]
图4为本发明关节2输出力矩值实际值和期望值对比图;
[0034]
图5为本发明关节3输出力矩值实际值和期望值对比图;
[0035]
图6为本发明关节4输出力矩值实际值和期望值对比图;
[0036]
图7为本发明关节5输出力矩值实际值和期望值对比图;
[0037]
图8为本发明关节6输出力矩值实际值和期望值对比图。
具体实施方式:
[0038]
参见图1至图8所示,本发明涉及一种机械臂动力学建模方法,所述建模方法涉及一个机械臂的关节运动变量及其与输出力矩间的关系,所述关节运动变量包括关节角、关节速度和关节加速度,所述建模方法采用一个级联前向神经网络结构和一个遗传算法结构,构建机械臂的动力学模型,所述级联前向神经网络结构包含多个隐含层,每一层都与其输入层相连,层与层之间相互级联,通过对输入输出关系中的参数不断优化,使最终的输出偏差收敛到最小值,实现非线性逼近能力;
[0039]
所述级联前向神经网络结构包含多个参数和一个训练方法,所述级联前向神经网络结构的通用模型为:
[0040][0041]
其中,p为输入向量;y为每层的输出向量;n为神经网络层数;f为sigmoid激活函数,n为正整数;w为隐含层的矩阵,w的元素为所述参数;b为隐含层的偏置列向量参数;权值w和偏置b的求解采用反向传播算法,通过标记的数据进行引导性的学习。
[0042]
遗传算法结构包括:种群初始化、编码、个体适应度值设置、选择、交叉以及变异;在遗传算法结构的过程中根据适应度值的优劣对个体进行筛选,使下一代新群体继承并优于上一代的遗传信息,直至筛选出最优个体,形成机械臂的关节运动变量和输出力矩间的关系;
[0043]
优选的,所述级联前向神经网络结构的输入层的神经元个数为3个,输出层神经元为关节的输出力矩值,隐含层数为3层;每层的神经元节点个数分别为:3、3、5;所述隐含层数满足:m为隐含层神经元个数,n和m分别为输入层和输出层的神经元个数,a是[0,10]区间内的常数,初始w和偏置b随机选取。
[0044]
采用所述遗传算法结构对所述级联前向神经网络结构中随机选取的初始w和偏置b进行优化,将得到的最终优化值作为神经网络的初始训练参数;将初始w和偏置b作为所述遗传算法结构的初始种群;将实际输出和期望输出差值的绝对值作为个体适应度值f,
[0045][0046]
其中,k为算法自带系数、m为输出层神经元个数、ti是第i个神经元的期望输出、oi是第i个神经元的实际输出;按照一个轮盘赌原则对个体进行选择,所述轮盘赌原则表示适
应度值越小,表示误差越小,个体适应度越好,所述轮盘赌原则用公式表示为:
[0047]fi
=k/fi[0048][0049][0050]fi
是个体适应度值的倒数,fi越小,个体适应度越差;pi是每个个体被选中的概率,个体的适应度越好,pi就越大;
[0051]
选择结束后,进行交叉操作,即将选中的优秀个体进行配对,将染色体按某种方式相互交换部分基因,组成新的个体;父代个体ak和母代个体a
l
在第j个点位的实数交叉方式为:
[0052][0053]
h是(0,1)区间内的随机数。为增加种群多样性,对个体进行变异。其中,ai在第j个点位的变异方式为:
[0054][0055]amax
表示个体的基因上界、a
min
表示个体的基因下界、μ是[0,1]区间内的随机数、n是当前迭代次数、n
max
是最大迭代次数;变异操作结束后,检测新的个体是否是最优,若当前并非最优个体,则循环进行选择、交叉、变异的步骤,直至产生最优新个体;若当前为最优个体,则将其分割赋值给神经网络的初始权值w和偏置b;最后,采用梯度下降法对4800组样本数据进行训练,直至满足所需要的精度。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献