APP下载

机器人神经网络逆标定法研究与仿真

2015-07-07王战中王文龙靳超松孙少华石朋龙

制造业自动化 2015年6期
关键词:位姿权值适应度

王战中,王文龙,靳超松,孙少华,石朋龙

(石家庄铁道大学,石家庄 050043)

0 引言

机器人误差的主要来源是机器人的几何尺寸参数误差,其他因素比如齿轮间隙、热变形、负载变形等也会造成机器人的末端位姿误差。由于几何参数误差引起的末端位姿误差占机器人位姿总误差的70%~90%,而且为了降低误差模型的复杂性,这种只考虑机器人几何参数误差的简化模型是切实可行的[1]。几何参数标定法在大多数情况下可以达到较高的精度,但是这种方法没有考虑由于非几何参数误差所引起的位姿误差。基于神经网络的机器人逆运动学标定方法[2],就是通过一定的算法得到各关节角所对应的误差值,通过对关节角补偿来驱动机器人,从而使机器人末端位置误差减小。这种方法不仅考了几何误差因素,而且还考虑了非几何等多种误差因素,把所有因素引起的位姿误差全部归结为关节角误差,无需建立复杂的误差模型,通过修正关节角来提高标定的精度。

1 神经网络概述

神经网络是由简单处理单元构成的具有大规模并行式分布结构的处理器,拥有极强的学习能力和泛化能力,具有存储经验并使之可用的优点。人工神经网络以其精确地逼近能力、高度非线性在系统优化、智能控制、信息处理和模式识别等领域得到了广泛应用,在机器人领域可用于机械手的路径规划、障碍回避、运动学模型及动力学模型的自动辨识等一系列问题[3]。

BP网络属于前馈网络,由输入层、隐含层以及输出层组成,是神经网络中比较常用的一种结构,学习过程包括输入信号的前向传递与误差的反向传递。网络的输入信号由输入层通过隐含层到输出层依次处理,如果输出层未能达到期望输出,则误差反向传递,通过不断调整网络的连接权值和阈值来减小预测输出误差直至期望输出,这样反复循环,从而使预测输出逐步逼近期望输出。

2 遗传算法在优化BP神经网络中的应用

2.1 遗传算法原理

基于生物进化论以及自然界遗传机制法则,1962年美国密歇根大学Holland教授提出了一种并行式随即搜索函数最优解的方法,即所谓的遗传算法[4](Genetic Algorithms)。Holland把参数优化形成的编码串联群体引入到自然界中“优胜劣汰,适者生存”的进化原理中,结合所选择的适应度函数,通过遗传算法中的选择、交叉、变异对个体进行筛选,保留适应度值好的个体,淘汰适应度值差的个体,这样反复循环,不断逼近最优解,所得到的新群体不仅优于上一代,而且还继承了上一代的信息。

2.2 遗传算法优化BP神经网络

遗传算法优化神经网络主要包括三部分:BP神经网络结构的确定,利用遗传算法优化神经网络结构以及BP神经网络的预测。其中,BP神经网络结构的确定主要是确定神经网络的输入输出个数,以此来确定遗传算法中个体所需的长度;利用遗传算法优化神经网络结构主要是利用遗传算法的选择、交叉、变异等操作优化神经网络的结构,确定最适合神经网络结构的权值和阈值,计算个体适应度值并找出对应的最优个体;BP神经网络的预测主要是利用遗传算法获得的最优个体对网络结构参数进行赋值,网络经训练后预测函数输出[5]。遗传算法优化BP神经网络算法流程如图1所示。

图1 遗传算法优化BP神经网络算法流程

在实验中,由于有6个输入(6个关节角)、6个输出(对应关节角误差),根据试凑法确定最佳隐含层节点数,于是BP神经网络的结构可以设置为6-12-6,即输入层有6个节点,隐含层有12个节点,输出层有6个节点,共6×12+12×6=144个权值,12+6=18个阈值,即遗传算法个体编码长度为144+18=162。

遗传算法优化BP神经网络的主要步骤包括:

1)种群初始化

种群中个体的编码方式一般应用实数编码,每一个个体都由输入层与隐含层连接权值、隐含层阈值、隐含层与输出层连接权值以及输出层阈值4个部分组成,并且每个个体都可以表示成一组实数串,其中包含了网络结构所有的权值和阈值,所以当神经网络结构已知时,根据权值和阈值就可以确定神经网络。

2)适应度函数

BP网络的初始权值和阈值可以通过种群中的个体获得,经过训练后的神经网络可以预测函数的输出,个体适应度值可以通过预测输出与函数期望输出的绝对值和F来表示,其公式可写作:

式中,n表示网络输出的节点总数;k表示个体适应度值的系数;第i个节点的期望输出为yi;第i个节点的预测输出为oi。

3)选择操作

遗传算法中的选择操作往往包括多种方法,比较常用的为轮盘赌法和锦标赛法,考虑到个体适应度的比例选择问题,这里采用轮盘赌法,则每个个体i的选择概率pi可以表示为:

式中,k表示概率系数;N表示种群个体数目;个体i的适应度值为Fi,因为适应度值越小越好,所以在个体选择前,需要对适应度值求倒数。

4)交叉操作

交叉又被称为基因重组,它是按一定的交叉概率Pc(一般选Pc=0.65~0.85)从群体中随机配对,进行基因重组,信息交换,由父代产生新的子代。

交叉操作的编码方式取决于种群中个体的编码方式,由上述可知交叉操作应该采用实数编码法,所以在个体的j位,第k个染色体ak和第l个染色体al的交叉操作公式为:

式中,b是[0,1]间的随机数。

5)变异操作

变异是按一定的变异概率Pm(一般选Pm=0.005~0.01)从群体中选择个体,对选中的个体进行变异操作,模拟自然界中的基因突变,由父代产生全新的子代。

选取第i个个体的第j个基因aij进行变异,变异操作方法如下:

若遗传算法的代数满足收敛条件或达到所设定值时停止,否则转到步骤3)。

结合BP神经网络理论和遗传算法,应用MATLAB软件编写基于遗传算法优化BP神经网络的函数程序。其中,遗传算法各参数设置为:种群规模为100,交叉概率为0.65,变异概率为0.01。

3 基于GA-BP逆运动学标定法仿真实例

以6自由度串联机器人为例,建立其连杆坐标系,如图2所示。由于本文采用仿真的方式来验证机器人标定的误差模型,所以要先计算机器人的末端位姿误差[6]。连杆的D-H参数及给定的初始条件如表1所示,将各个连杆的变换矩阵相乘,可得到末端执行器的位姿矩阵:

图2 机器人各连杆坐标系

采用RPY角表示机器人的末端姿态,根据式(1)可以求得机器人末端执行器的姿态表示为:

位置表示为:

若用上角标字母N表示理论值,字母R表示实际值。则位置总误差可以表示为:

姿态总误差:

机器人理论关节角QN,经正运动学(理论D-H参数)计算得出理论末端位姿TN,理论末端位姿经逆运动学(实际D-H参数)求解得实际关节角QR,于是可得关节角误差e=QR-QN。

以理论关节角作为神经网络的输入,关节角误差值作为神经网络的输出训练神经网络,整个补偿过程如图3所示。

图3 关节角补偿过程

根据机器人各个关节角的变化范围及其实际工作的需要,取:

表1 预给定机器人连杆参数名义值与误差值

根据各个关节角的取值,可以生成3×3×3×9×9×9=19683组关节角度组合,取其中前19000组数据用于神经网络的训练,后683组数据用于检验。

将后683组输入数据代入已训练好的神经网络系统,由式(2)、式(3)得位置及姿态总误差如图4所示。

图4 位姿总误差(检验数据)

由于输入数据是按一定规律生成的,可以看出未标定前的683组输入所产生的误差呈现一定的规律性,为了验证输入数据的一般性,随机生成200组数据,代入已训练完成的神经网络系统进行仿真计算,位置及姿态总误差如图5所示。

图5 位姿总误差(随机数据)

通过分析图4、图5中的数据得表2、表3,可以看出经BP神经网络标定后,检验数据与未标定前相比,平均位置误差降低了82.09%,平均姿态误差降低了71.19%;经GA-BP标定后,平均位置误差降低了92.72%,平均姿态误差降低了86.44%。

表2 检验数据分析

表3 随机数据分析

随机数据与未标定前相比,平均位置误差降低了87.40%,平均姿态误差降低了74.41%;经GA-BP标定后,平均位置误差降低了93.03%,平均姿态误差降低了79.06%。

4 结束语

针对机器人的位姿误差,本文提出把所有因素引起的误差都归结为关节角误差,通过对关节角的补偿来减小末端位姿误差的方法,经过实验仿真验证表明可以提高标定精度。由BP神经网络系统可以预测任意时刻关节角所对应的误差值,以补偿后的关节角驱动机器人。基于遗传算法的BP神经网络,通过遗传算法优化神经网络的连接系数,使得标定精度有了进一步提高。

[1] 王东署,迟健男.机器人运动学标定综述[J].计算机应用研究, 2007, 9(24),8-11.

[2] 彭疆,周国荣.基于神经网络的机器人逆运动学算法[J].企业技术开发,2005,3(24),30-32.

[3] 张德丰.MATLAB神经网络仿真与应用[M].北京:电子工业出版社,2009.

[4] 史峰,王小川,郁磊,李洋.MATLAB神经网络30个案例分析[M]. 北京:北京航空航天大学出版社,2010.

[5] Dali Wang,Ying Bai and Jiying Zhao. Robot manipulator calibration using neural network and a camera-based measurement system. Transactions of the Institute of Measurement and Control, 2012,105-121.

[6] 周炜,廖文和,田威,万世明,刘勇.基于粒子群优化神经网络的机器人精度补偿方法研究[J].中国机械工程,2013(24),174-179.

猜你喜欢

位姿权值适应度
改进的自适应复制、交叉和突变遗传算法
一种融合时间权值和用户行为序列的电影推荐模型
无人机动平台着陆惯性/视觉位姿歧义校正算法
船舶清理机器人定位基准位姿测量技术研究
优化ORB 特征的视觉SLAM
基于单目视觉的工件位姿六自由度测量方法研究
强规划的最小期望权值求解算法∗
一种基于改进适应度的多机器人协作策略
程序属性的检测与程序属性的分类
基于权值动量的RBM加速学习算法研究