正在加载图片...
·168· 智能系统学报 第14卷 常用的变异概率值为 10- P(i)=Pomin(i)x(1-rand(N,1))+Pomax(i)x rand(N,1) (12) 式中:Pbmm(①是第i个种群变异概率最小值, 2 Pomax((①是第i个种群变异概率最大值。 引入动态变异率后,在每代算法运行后调整 概率值为 -3 P6(i+1)= P() GEN-gen 3 GEN -P.)(13) 0 102030405060708090100 式中:P(①是第i个种群的交叉概率;P(i+1)是第 样本数 i+1个种群的变异概率;gen是当前算法的运行代 (C)MPGA-RBFNN输出误差 数;GEN是算法运行总代数。 图43种算法输出误差图 Fig.4 The output error of three kinds of algorithm 3实验论证 由图4可得,3种算法都完成了求解过程, 为了验证MPGA-RBFNN在逆运动学求解上 MPGA求解时的输出误差数量级维持在103上, 的有效性,分别采用MPGA、RBFNN和MPGA- 而RBFNN求解时的输出误差数量级维持在1O4 RBFNN对Comau NJ-.220型一般机器人进行逆运 上,但MPGA-RBFNN计算运动学逆解时的输出 动学求解。 误差数量级维持在1O-上,相比于MPGA和RBFNN, 3.1算法的求解精度分析 在数量级上提高了一个数量级,说明MPGA-RBFNN 采用不重复的随机抽样法从训练样本 取得的解最优,即最接近目标值。 {P,P,PB,,y}中选择100组关节角对应的100个 为了进一步对比3种算法的差异,根据机器 空间位姿作为网络的输入样本,将训练样本规范 人各关节角的变化范围以及机器人实际工作的要 化后作为RBFNN的输入,网络的输出则是关节 求,确定各关节角的取值范围为:-2.9≤01≤2.9, 角O,对RBFNN进行训练,将误差指标设为10-5,以 A为例,进行实验。MPGA、RBFNN和所述MPGA -1.57≤02,4≤1.57,-3.14≤04,04,0%≤3.14。重新在 RBFNN在相同训练次数时的输出误差如图4所示。 Comau NJ-.220机器人运动范围内随机抽取与之 前100组不重复的50组关节角0,数据,用来作为 10 测试数据进行验证,其中3组的结果如表2所示。 对比表2中的数据,MPGA的输出误差范围 为[-0.004031,0.003115],RBFNN的输出误差范 围为[-0.001094,0.000918],而MPGA-RBFNN算 法的输出误差范围为[-0.000001,0.000292]。通 3 过第1组数据中关节角2求解结果可知,MPGA 求解运动学逆解时的误差值为0.003086,RBFNN 0102030405060708090100 样本数 求解运动学逆解时的误差值为0.000273,而MPGA- (a)MPGA输出误差 RBFNN的误差值为0.000009,相比于MPGA 与RBFNN同比提高99.7%和96.7%。综上所述, 10 虽然MPGA与RBFNN都能近似求出机器人运动 学逆解,但MPGA-RBFNN算法的计算精度 更好。 3.2算法的求解速度分析 得到训练样本后,应用MATLAB中神经网络 工具箱的网络训练newrb函数进行RBFNN的创 建与训练,其调用格式为net=newrb(P,T,goal, 0102030405060708090100 样本数 spread,MN,DF),P为网络输人,T为网络输出, (b)RBFNN输出误差 goal为网络输出目标值,spread为RBFNN的扩展常用的变异概率值为 Pb(i) = Pbmin(i)×(1−rand(N,1))+ Pbmax(i)×rand(N,1) (12) Pbmin(i) i Pbmax(i) 式中: 是 第 个种群变异概率最小值, 是第 i 个种群变异概率最大值。 引入动态变异率后,在每代算法运行后调整 概率值为 Pb(i+1) = Pc(i) 3 − ( GEN−gen GEN ) ×( Pc(i) 3 − Pb(i)) (13) Pc(i) i Pb(i+1) i+1 gen GEN 式中: 是第 个种群的交叉概率; 是第 个种群的变异概率; 是当前算法的运行代 数; 是算法运行总代数。 3 实验论证 为了验证 MPGA-RBFNN 在逆运动学求解上 的有效性,分别采用 MPGA、RBFNN 和 MPGA￾RBFNN 对 Comau NJ-220 型一般机器人进行逆运 动学求解。 3.1 算法的求解精度分析 { Px , Py , Pz , β,α, γ} θi 10−5 θ2 采用不重复的随机抽样法从训练样本 中选择 100 组关节角对应的 100 个 空间位姿作为网络的输入样本,将训练样本规范 化后作为 RBFNN 的输入,网络的输出则是关节 角 ,对 RBFNN 进行训练,将误差指标设为 ,以 为例,进行实验。MPGA、RBFNN 和所述 MPGA￾RBFNN 在相同训练次数时的输出误差如图 4 所示。 10−5 4 3 2 1 0 −1 −2 −3 −4 输出误差/(°) MPGA 0 10 20 30 40 50 60 70 80 90 100 样本数 (c) MPGA-RBFNN 输出误差 图 4 3 种算法输出误差图 Fig. 4 The output error of three kinds of algorithm 10−3 10−4 10−5 由图 4 可得, 3 种算法都完成了求解过程, MPGA 求解时的输出误差数量级维持在 上 , 而 RBFNN 求解时的输出误差数量级维持在 上,但 MPGA-RBFNN 计算运动学逆解时的输出 误差数量级维持在 上,相比于 MPGA 和 RBFNN, 在数量级上提高了一个数量级,说明 MPGA-RBFNN 取得的解最优,即最接近目标值。 −2.9 ⩽ θ1 ⩽ 2.9 −1.57 ⩽ θ2, θ3 ⩽ 1.57 −3.14 ⩽ θ4, θ5, θ6 ⩽ 3.14 θi 为了进一步对比 3 种算法的差异,根据机器 人各关节角的变化范围以及机器人实际工作的要 求,确定各关节角的取值范围为: , , 。重新在 Comau NJ-220 机器人运动范围内随机抽取与之 前 100 组不重复的 50 组关节角 数据,用来作为 测试数据进行验证,其中 3 组的结果如表 2 所示。 θ2 对比表 2 中的数据,MPGA 的输出误差范围 为[−0.004 031,0.003 115],RBFNN 的输出误差范 围为[−0.001 094,0.000 918],而 MPGA-RBFNN 算 法的输出误差范围为[−0.000 001,0.000 292]。通 过第 1 组数据中关节角 求解结果可知,MPGA 求解运动学逆解时的误差值为 0.003 086,RBFNN 求解运动学逆解时的误差值为 0.000 273,而 MPGA￾RBFNN 的误差值为 0.000 009,相比于 MPGA 与 RBFNN 同比提高 99.7% 和 96.7%。综上所述, 虽然 MPGA 与 RBFNN 都能近似求出机器人运动 学逆解, 但 MPGA-RBFNN 算法的计算精度 更好。 3.2 算法的求解速度分析 得到训练样本后,应用 MATLAB 中神经网络 工具箱的网络训练 newrb 函数进行 RBFNN 的创 建与训练,其调用格式为 net=newrb(P,T,goal, spread,MN,DF),P 为网络输入,T 为网络输出, goal 为网络输出目标值,spread 为 RBFNN 的扩展 (a) MPGA 输出误差 10−3 4 3 2 1 0 −1 −2 −3 −4 输出误差/(°) 0 10 20 30 40 50 60 70 80 90 100 10−4 4 3 2 1 0 −1 −2 −3 −4 输出误差/(°) MPGA 0 10 20 30 40 50 60 70 80 90 100 样本数 样本数 (b) RBFNN 输出误差 ·168· 智 能 系 统 学 报 第 14 卷
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有