无标定图像视觉伺服控制方法研究

2023-05-08 03:16韩顺杰符金鑫单新超
计算机应用与软件 2023年4期
关键词:权值遗传算法神经网络

韩顺杰 符金鑫 单新超

(长春工业大学电气与电子工程学院 吉林 长春 130012)

0 引 言

自Shirai和Inoue展示如何使用视觉反馈环来校正机器人的位置以提高任务精度以来,国内外众多研究者在机器人操纵器的视觉控制方面已经取得了许多成果。传统的机器人视觉伺服控制系统需要进行校准,该技术需要明确摄像机的固有参数、手眼变换参数、机器人运动学的参数,且伺服系统的控制精度很大程度上取决于校准的精度。神经网络在简化控制算法、提高系统适用性方面效果较好,许多学者对神经网络控制都有所研究。

Hornik等[1]阐述了神经网络只需要一个隐藏层,就可以精确地逼近任何复杂函数;Ahmed等[2]提出了一种用神经网络来确定空间三维点间投影变换矩阵及对应的二维图像像素点的方法,其神经网络包括摄像机内在参数和外在参数;李鑫等[3]建立了条件信息卷积生成网络,增加图像信息和潜在信息,利用Q网络发挥类别信息和潜在信息对训练的引导作用。文献[4]中使用了一种反向传播神经算法来学习用于导航的图像坐标和实际空间坐标之间的映射关系,保证精度的同时简化了标定过程;文献[5]采用反投影神经网络近似雅可比矩阵来确定位置所需的关节角度;文献[6]提出了一种利用径向基函数网络学习视动协调的方法;文献[7]采用一种反向传播神经网络,在不标定摄像机外部和内部参数的情况下,将图像矩变化映射到机器人位姿位移的转换。

由于神经网络的初始互联权值通常是随机给定的,许多解决视觉控制问题的神经系统方案都需要长时间的训练,因此网络的学习时间和最终互联权值在不同的训练条件下时间有所不同。也就是说,初始互联权值确定的盲目性可能导致模型训练时间长、收敛速度慢等问题。利用遗传算法全局搜索与神经网络结合使用可以改善上述问题。本文在研究前人所提方法的基础上,提出一种基于遗传算法优化的神经网络的图像视觉伺服控制器,该控制器近似于图像特征到关节角度的非线性变换,使系统完全独立于机器人运动学和摄像机标定。这种混合进化神经网络建模方法可以加速图像误差的收敛,为机器人控制提供了一种简单有效的方法。

1 基于图像的视觉伺服

视觉伺服的主要目标是针对图像中的特定对象或特征将末端执行器移动到特定的姿态。本文以基于图像的视觉伺服系统为例,直接将图像测量的误差信号映射到执行器命令中,这可以减少计算延迟,消除图像解释的必要性以及由于传感器建模和摄像机校准造成的误差。

1.1 图像雅可比矩阵

(1)

式中:JI∈Rm×n。

(2)

式中:n表征图像特征维数;m表征任务空间维数,矩阵列数将随m的变化而变化。准确地说,对于坐标系中三维点X=[xcyczc]T在图像中投影坐标为X=[xIyI]T,可得式(3)。

(3)

式中:f为焦距;α和β为像素尺寸比。对式(3)的投影时间求导可得式(4)。

(4)

此外,假设相机相对于目标的平动速度v(t)和角速度w(t)分别如下:

(5)

(6)

将式(6)代入式(4)可得:

(7)

式中:

(8)

(9)

式中:Jq是机器人雅可比矩阵。令J=JIJq则可得:

(10)

式中:J为机器人与图像雅可比矩阵的复合。

1.2 图像视觉伺服

基于图像的视觉伺服控制系统如图1所示。根据图像信息控制机器人末端执行器达到预期姿态时,需要通过摄像系统和图像处理获取图像特征。若当前图像特征与期望图像特征之间存在误差时,通过视觉控制器将误差转化为机器人关节角误差,并将机器人关节角命令放入机器人控制器中,此时控制器会输出相应的命令给机器人伺服电机,直至机器人末端执行器的位姿被调节到图像特征的误差趋于零为止。

图1 图像视觉伺服框图

假设所需的图像特征参数的向量为ξd,目前图像的特征参数为ξ,则图像误差为:

e=ξd-ξ

(11)

根据式(10)和式(11),设控制器如下:

(12)

2 视觉控制器设计

若在视觉伺服控制中计算图像雅可比矩阵和机器人雅可比矩阵以及各自的伪逆矩阵非常复杂和费时,因此为了避免繁琐的过程,利用BP神经网络学习图像特征变化率与机器人关节速度的非线性关系,并在此基础上引入了遗传算法求解最优网络初始权值以提高培训效率。

2.1 BP神经网络结构

BP神经网络由输入层、隐含层和输出层组成,是一种误差反向传播算法[9],前一层与后一层的连接表示为权值W,用θ表示阈值。W和θ的初始值是随机产生的,并且总是以相对较小的值被赋予到启动器中。基于BP神经网络算法的视觉控制模型如图2所示。

图2 BP算法视觉模型

隐层和输出层激活函数分别设为双曲正切及线性函数[10]。假设任务空间中的目标是一个正方形对象,选择其四个顶点作为与图像空间中的点相对应的特征点,即图像特征向量有八个维度。计算当前图像特征与期望特征之间的误差,并以此作为模型输入量:

△x1,△y1;△x2,△y2;△x3,△y3;△x4,△y4

输出为机器人六个关节角变化量:

△q1,△q2,△q3,△q4,△q5,△q6

2.2 遗传算法

遗传算法是通过对种群进行反复修改,从而在一定范围内求出个人解决方案的全局最优解,涵盖了自然选择和遗传学概念的随机优化技术。遗传算法可定义为八元组:

SGA=(C,E,P0,M,Φ,Γ,Ψ,T)

(13)

式中:C为染色体表示;E为适应度函数;P0为初始种群;M为种群大小;Φ为选择算子;Γ为交叉算子;Ψ为变异算子;T为终端条件。

遗传算法的基本步骤如下:

步骤1将问题的解决方案编码为染色体。

步骤2随机生成初始总体。

步骤3确定目标函数及个体的相对适合度。在很大程度上,适合度决定了进化。

步骤4根据突变、适应度和交叉行为诞生下一代种群。

步骤5判断种群的表现。如果它不满足某个目标,返回到步骤4,重复操作,直到它满足标准。这样,最终找到环境适应个体。

2.3 混合优化遗传BP网络视觉控制器

优化算法的主要思想如下:训练BP网络之前从包含所有可用个体的搜索空间中寻找网络最佳权值和阈值,利用样本集对权值和阈值进行反复训练,减小模型输出与期望输出的差值,提高训练效率。

算法优化的三个步骤如下:

1) 编码方式。为了保证BP网络的学习精度,避免权值的阶跃变化,本文采用实码法。由图2可知,互联权重和阈值的总数为(8×10+10+10×6+6)=156。这156个数据包括80个输入神经元与隐含神经元互联权值、60个输出神经元与隐含神经元互联权值、10个隐含层阈值和6个输出层阈值,它们都被编程为实数染色体。

2) 适应度函数。标准测量函数是BP算法输出层实际输出与预期输出之间的误差平方和[11],函数定义如下:

(14)

(15)

式中:P表示种群规模;yi和di分别表示输出层实际输出和预期输出。

3) 遗传操作。父方染色体采用算数交叉算子选择,使其后代具有双亲的遗传基因。引入自适应变异算子调整变异率以提高搜索能力和收敛性能。

图3为遗传算法对BP神经网络的改进,其中:S1、S2是遗传算法的平方和误差及均方误差;e1、e2是它们的期望误差。首先利用图像模型建立BP网络,得到初始化BP网络权值和阈值并计算适应度,若不符合期望误差e1则进行基因操作生成新的种群并重复上一操作步骤;若满足要求则将初始值传递给遗传算法进行模型训练,训练后若不符合期望误差e2则更新网络权值和阈值重新迭代计算,直至符合要求输出结果。

图3 遗传算法优化流程

3 仿真实验

本文的目的是利用优化后的BP神经网络视觉伺服模型在不标定的情况下直接从视觉域过渡到关节域来控制机器人机械手在三维空间中对目标进行定位操作。整个过程包括数据采集、模型学习和机器人视觉伺服,其模拟仿真过程如下:

1) 数据采样。为了获取BP神经网络的训练样本,根据图1所示利用MATLAB的Robotics Toolbox构建了视觉伺服仿真模型,其中使用J+计算关节坐标与图像特征之间的关系。机器人模型为PUMA 560,通过将机器人工具箱中的功能与MATLAB子系统模块相结合,实现各部分运动模型及其雅可比矩阵的建立。运行仿真系统后可得图像特征的误差和相应的关节角误差。

2) 模仿学习。根据图2和图3,在学习阶段进行BP神经网络参数的创建和训练。在MATLAB 中使用遗传算法软件包和神经网络工具箱求解编程函数值。为了具有良好的函数逼近性能,其参数设置如下:BP算法学习率为0.4,期望误差e2=10-6。在遗传算法中,种群规模P=80,交叉概率Pc=0.6,期望误差e1=0.001。然后对模型进行训练,实现视觉伺服控制器的设计。为了说明本文方法的优点,将本文方法与采用传统BP算法、Fuzzy算法、PSO对样本的训练效果进行了对比,其结果如图4所示。

图4 模型训练效果

可以看出,当期望误差为10-6时,传统BP算法迭代时容易陷入局部极小值,并且经过反复训练在50步内精度仅为5.598 95×10-4;Fuzzy算法和PSO初始收敛速度较快,在20步左右达到稳态,但精度同样无法满足要求;具有最佳初始权重和阈值的改进BP神经网络可以在15步左右收敛到指定精度,且均方误差为3.414 46×10-6。其训练速度远远小于300步[12],表明两者混合优化后的算法收敛速度更快、精度更高。

3) 机器人视觉伺服。采用经过遗传算法优化的BP神经网络作为视觉控制器构建如图1所示视觉伺服控制系统。在机器人坐标系中,目标物实际顶点位置为:

[2 0.2 0.2;2 0.2 -0.2;2 -0.2 -0.2;

2 -0.2 0.2]

期望图像特征坐标ξd为:

[256 456;456 456;456 256;256 256]

假设相机为针孔模型,焦距f为0.008 m,α和β均为80 000 pixels/m,目标相对于相机模型的深度为2 m,且图像中心点为(256,256)。PUMA 560机器人的初始关节角q0为[0.304 8 -0.986 9 0.448 3 -0.351 3 -1.059 5 0.177 4]T控制增益kp为0.15。采样时间为0.2 s。

图5为PUMA 560的关节轨迹,实线为改进遗传算法BP神经网络(简称GABP控制)视觉伺服控制,虚线为传统BP神经网络视觉伺服控制,最后一条曲线为复合雅可比矩阵伪逆J+视觉伺服控制。结果表明,GABP算法能较好地表征图像特征变化率与机器人关节速度之间的非线性关系,并在三种控制方法中具有较快的响应速度。

图5 PUMA560的关节轨迹

图6为图像特征误差范数收敛曲线,可以看出,图像特征误差范数具有快速收敛性,对比的几种算法中PSO和Fuzzy算法在0~5 s时间内收敛速度较快,但最终误差范数为10.029和26.598,大于GABP算法在T=20 s时误差范数6.246,传统BP算法以及J+控制算法收敛速度及精度均不及GABP算法,验证了本文算法的有效性。

图6 图像特征误差范数收敛曲线

图像平面坐标如图7所示,初始坐标和最终坐标分别用“?”和“o”标记,展示了图像特征的变化情况。图像特征的移动方向如标记所示。可以看出,最终的图像特征值与期望特征非常接近,平均误差在3像素以内,说明机器人已经达到了预期姿态。

图7 图像特征的变化

4 结 语

本文提出一种基于BP遗传混合优化的视觉伺服算法,首先对机器人与图像复合雅可比矩阵进行建模,消除了复杂的标定过程和大量的计算;其次构建了基于BP神经网络模型的视觉伺服控制器,然后使用遗传算法利用样本集对最佳权值和阈值进行训练,得到最终的混合优化视觉控制模型。仿真结果表明,GABP算法可以在15步左右收敛到指定精度,均方误差为3.414 46×10-6,即在保证一定精度前提下可以快速地定位目标,各项指标均优于对比的其他几种算法。这验证了本文算法的可行性与有效性,为机器人控制提供了一种简单有效方法,接下来将考虑时滞因素对视觉伺服控制模型进行深入研究。

猜你喜欢
权值遗传算法神经网络
一种融合时间权值和用户行为序列的电影推荐模型
CONTENTS
神经网络抑制无线通信干扰探究
基于自适应遗传算法的CSAMT一维反演
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于权值动量的RBM加速学习算法研究
基于遗传算法和LS-SVM的财务危机预测
基于多维度特征权值动态更新的用户推荐模型研究
基于神经网络的拉矫机控制模型建立
基于改进的遗传算法的模糊聚类算法