本发明属于自动化控制领域,具体涉及一种基于矩特征学习神经网络的异形曲面跟踪方法及系统。
背景技术:
随着工业的飞速发展,高端制造领域在国民经济中占有举足轻重的地位。高端制造领域包括航空航天、轨道交通、新能源制造、海工装备等大型装备制造领域。其中,航空发动机涡轮叶片、舰船螺旋桨叶片、新能源水轮机叶片等一系列复杂异形曲面零部件是该领域最难加工的零部件之一。用传统的人工加工这类零部件往往存在着成品加工精度低、一致性差等缺点,导致零件使用过程存在严重的安全隐患,用机器人替代人工作业能有效克服这些弊端。
机器人作业过程中,高精度定位跟踪是个非常重要的环节。在零件装配过程中,需要对各种零件进行准确地定位跟踪;在大型零部件的测量过程中,需要对零部件不同部位进行定位跟踪测量;在零部件精密抛光过程中,需要多次对同一部位进行定位跟踪测量,然后去除余量。目前,多数针对异形曲面构件的跟踪方法是基于目标位置估计的视觉引导,这种方法对相机标定、手眼标定精度鲁棒性差;且在非结构化的工作环境中缺乏自适应能力,很难获得的较好的跟踪效果。
视觉伺服方法能够实时识别目标、提取有效的目标特征、获取环境信息,并与机器人形成闭环控制,提高了机器人对环境的适应能力。视觉伺服可以分为基于位置的视觉伺服、基于图像特征的视觉伺服和混合视觉伺服。其中,基于图像特征的视觉伺服因为对手眼标定精度要求低、能保证目标处于相机视野中,成为最适合的无标定视觉伺服方法。但是利用图像特征视觉伺服跟踪曲面轨迹的存在以下难点:
(1)传统的视觉伺服难以保证稳定性,且对特征匹配精度要求高。以点特征视觉伺服为例,只有当图像中四特征点形成矩形才能保证雅可比矩阵是满秩的,但在跟踪异形曲面时,相机位姿变化很难保证特征点形成矩形,甚至在处于某些位姿时,特征点被自身结构遮挡,从相机视野中消失。因此,采用构件的全局特征既可以避免特征匹配过程,又能保证系统稳定性。
(2)利用全局特征作为视觉特征时,构成的图像雅可比矩阵非常庞大。例如,利用图像全局深度信息构成视觉伺服系统时,图像雅可比矩阵的行数取决于图像的大小,即m×n行。利用全局特征的统计特性作为视觉信息能简化图像雅可比矩阵,例如图像矩视觉伺服。
(3)图像矩视觉伺服求取图像雅可比矩阵的过程中,需要利用目标表面深度模型的参数。若目标表面是简单的平面,建立深度模型将较为简单,但是会严重影响算法的实时性;若目标表面是异形曲面,建立表面深度模型则更为复杂,且无法保证模型参数的准确性。
(4)多自由度机械臂的视觉伺服控制对象,是一种耦合性强、非线性度高、时变严重的复杂系统。传统的控制方法,例如pid控制器只能在工作空间的期望值邻域内具有较好的控制性能,当特征偏差较大时,该控制器无法胜任。
因此,基于现有的异形曲面跟踪方法存在眼标定精度鲁棒性差、目标深度函数模型难以建立以及对象强耦合、非线性、时变严重导致的控制难题,急需一种可以解决上述难题的异形曲面跟踪方法。
技术实现要素:
本发明的目的是提供一种基于矩特征学习神经网络的异形曲面跟踪方法及系统,可以实现异形曲面定位跟踪,克服现有方法中对手眼标定精度鲁棒性差,以及解决现有方法中目标深度函数模型难以建立以及对象强耦合、非线性、时变严重导致的控制难题,实现精确定位跟踪。
本发明提供的一种基于矩特征学习神经网络的异形曲面跟踪方法,包括如下步骤:
s1:获取待跟踪的异形曲面在期望位姿下的期望图像,并提取所述期望图像的所有图像特征得到期望矩特征向量;
s2:获取待跟踪的异形曲面在预设初始位姿下的初始图像,并计算出初始矩特征向量、初始矩特征向量的雅可比矩阵、机械臂的目标关节角速度向量;
其中,将机械臂端的相机移动至预设初始位姿进行拍摄,再提取所述初始图像的图像特征得到初始矩特征向量,以及基于初始图像中目标区域轮廓的深度信息计算出初始矩特征向量的雅可比矩阵,最后基于初始矩特征向量和初始矩特征向量的雅可比矩阵计算出机械臂的目标关节角速度向量;
每个矩特征向量中图像特征的数量与机械臂关节角速度向量中角速度元素的数量相等;
s3:利用所述期望矩特征向量、初始矩特征向量以及械臂关节角速度矩阵对b样条基的神经网络控制器进行深度离线训练;
所述深度离线训练过程为:将初始矩特征向量和所述期望矩特征向量的特征误差作为所述神经网络控制器的输入参数,输出得到机械臂关节角速度向量,并计算网络输出得到的机械臂关节角速度向量与s2计算的机械臂的目标关节角速度向量之间的角度误差值向量,以所述角度误差值向量小于预设第一精度为目标训练所述神经网络控制器直至计算出的所述角度误差值小于预设第一精度;
s4:基于训练后的b样条基的神经网络控制器计算出当前位姿下机械臂关节角速度向量;
其中,将当前矩特征向量与所述期望矩特征向量的特征误差输入训练后的b样条基的神经网络控制器得到当前位姿下机械臂关节角速度向量;
所述当前矩特征向量是提取当前图像的图像特征生成的,所述当前图像是在当前位姿下的待跟踪的异形曲面的图像;
s5:依据s4中当前位姿下机械臂关节角速度向量控制机械臂运动使机械臂端的相机随之移动。
本发明中s1-s3的目的是离线训练出b样条基的神经网络控制器,s4和s5是基于训练后的b样条基的神经网络控制器进行在线跟踪。具体的本发明通过期望位姿以及初始位姿的数据对b样条基的神经网络控制器进行深度离线训练,随后在线跟踪时,利用离线训练的神经网络控制器计算出当前位姿下机械臂关节角速度向量,再控制机械臂相应地运动进而带动相机相应运动趋近或者位于理想位姿,实现实时在线跟踪目的。
其中,位姿是指相机与待跟踪的异形曲面的相对位置,所选定的预设初始位姿只需保证待跟踪的异形曲面在相机视野范围即可。
进一步优选,s5中的相机移动至新位姿后还包括如下步骤:
s6:获取在新位姿下的当前矩特征向量,再判断新位姿下的当前矩特征向量与所述期望特征的特征误差是否小于预设第二精度,若小于,将当前新位姿视为理想位姿;否则,执行s7;
s7:在线训练所述神经网络控制器,再执行s4、s5、s6直至新位姿下的当前矩特征向量与所述期望特征的特征误差小于预设第二精度;
其中,依据s6中新位姿下的当前矩特征向量与所述期望特征的特征误差、当前位姿时刻与前一位姿时刻的机械臂关节角速度向量的误差以及前一位姿时刻的矩特征向量与所述期望矩特征向量的特征误差在线训练神经网络控制器。
本发明利用离线训练后神经网络控制器进行在线跟踪时,还利用新位姿下的当前矩特征向量与所述期望特征的特征误差对跟踪结果进一步判断,若大于或等于预设第二精度,则进一步在线训练神经网络控制器,再利用训练后的神经网络控制器进行跟踪。本方法可以提高跟踪结果的可靠性,使得每次的在线跟踪最终得到的位姿越来越趋近理想位姿。本发明中神经网络控制器是利用矩特征向量进行训练,直接映射跟踪过程机械臂关节角速度。其中,视最终得到新位姿下的当前矩特征向量与所述期望特征的特征误差小于预设第二精度时,为完成一次完整的异形曲面跟踪。
应当理解,当完成一次完整的异形曲面跟踪后,若待跟踪的异形曲面或相机的相对位置变化了,需要重新跟踪时,则选用前一时刻最新训练后的神经网络控制器计算机械臂关节角速度向量。
进一步优选,每个矩特征向量包括对应图像的6个图像特征,所述6个图像特征分别为对应图像中目标区域的中心点横坐标xg、中心点纵坐标yg、目标区域的面积a、以及水平轴与相机成像平面x轴的夹角α,由不变矩复合构成的两个具有trs不变性的特征px、py。
进一步优选,所述6个图像特征的计算公式如下所示:
式中,
基于上述表述可知,本发明的期望矩特征向量
进一步优选,所述初始矩特征向量的雅可比矩阵中每一行的矩阵行元素对应所述初始矩特征向量中的一个图像特征;
s2中计算所述矩特征向量的雅可比矩阵的执行过程为:依次计算初始矩特征向量中每个图像特征对应的雅可比矩阵中矩阵行元素;
式中,
其中,初始矩特征向量
xg(ψξ)、yg(ψξ)、aψξ、px(ψξ)、py(ψξ)、α(ψξ)分别表示初始矩特征向量
式中,
几何矩mij的雅可比矩阵
a:初始矩特征向量
b:初始矩特征向量
c:初始矩特征向量中目标区域的面积ai对应的雅可比矩阵
aψξ=m00ψξ
其中元素mijψξ的计算公式如下:
mijωx=-(i+j+3)mi,j+1-imi-1,j,mijωx=imi-1,j+1-jmi+1,j-1
式中,c表示初始图像中目标区域轮廓,z表示目标区域轮廓c中轮廓点集中点的深度信息;
d:初始矩特征向量中特征pxi对应的雅可比矩阵
e:初始矩特征向量中特征pyi对应的雅可比矩阵
f:图像特征αi对应的雅可比矩阵
式中,元素μijψξ的计算公式如下:
μijωx=(i+j+3)μi,j+1+ixgμi-1,j+1+(i+2j+3)ygμi,j-4in11μi-1,j-4jn02μi,j-1
μijωy=-(i+j+3)μi+1,j-(2i+j+3)xgμi,j-jygμi+1,j-1+4in20μi-1,j-4jn11μi,j-1
μijωx=iμi-1,j+1-jμi+1,j-1
式中,nij=μij/a,zg为目标区域中心点的深度。
目标区域轮廓c中轮廓点集中各点的深度信息是可以通过深度相机直接获取。本发明直接利用图形中目标区域轮廓的深度信息构成雅可比矩阵,相较于传统的图像矩雅可比矩阵计算,本发明不需要建立曲面的深度模型,可以地简化计算过程,提高算法的实时性。本发明所使用的雅可比矩阵的推导计算过程如下:
(1)几何矩特征向量对应的雅可比矩阵如下:
式中,令
式中,c(t)为目标区域轮廓,t为矩阵转置符号,n为像素点(x,y)处轮廓的单位法向量、dl是轮廓的微分量,再通过格林理论得到:
其中,
令
mijωx=∫∫r(ixiyj+1+jxiyj-1+jxiyj+1+3xiyj+1)dxdy=(i+j+3)mi,j+1+jmi,j-1
mijωx=∫∫r(-ixi-1yj-ixi+1yj-jxi+1yj-3xi+1yj)dxdy=-(i+j+3)mi,j+1-imi-1,j
mijωx=∫∫r(ixi-1yj+1-jxi+1yj-1)dxdy=imi-1,j+1-jmi+1,j-1
2)中心矩特征向量相对应的雅可比矩阵如下所示:
同样地,根据格林理论可得:
令
μijωx=∫∫r[i(x-xg)i-1(y-yg)j(xy-xgyg)+j(x-xg)i(y-yg)j-1(y2-yg2)
+3y(x-xg)i(y-yg)j]dxdy
=(i+j+3)μi,j+1+ixgμi-1,j+1+(i+2j+3)ygμi,j-4in11μi-1,j-4jn02μi,j-1
μijωy=∫∫r[-i(x-xg)i-1(y-yg)j(x2-xg2)-j(x-xg)i(y-yg)j-1(xy-xgyg)
+3x(x-xg)i(y-yg)j]dxdy
=-(i+j+3)μi+1,j-(2i+j+3)xgμi,j-jygμi+1,j-1+4in20μi-1,j-4jn11μi,j-1
进一步优选,s2中基于初始矩特征向量和初始矩特征向量的雅可比矩阵计算机械臂的目标关节角速度向量的过程如下:
首先,计算初始矩特征向量的雅可比矩阵的广义逆
然后,基于所述广义逆
式中,v、ω分别代表相机绕相机坐标系xyz三轴的线速度集合和角速度集合,λ是整正增益;
最后,根据初始位姿下相机的速度νc并采用下述公式计算出机械臂的目标关节角速度向量
其中,
整正增益λ是根据经验整定该参数(经验值),其为经验值。机器臂的雅可比矩阵j通过已有的计算模块计算得出。由于初始位姿位于期望位姿附近,因此即使使用简单的传统控制器也具有良好的控制效果,因此本发明基于初始位姿和期望位姿对应的矩特征向量采用传统比例控制器
进一步优选,离线或在线训练所述b样条基的神经网络控制器的过程为调节神经网络控制器中第三层网络与第四层网络之间的权值以及b样条基函数的控制点。
本发明的b样条基的神经网络控制器包含四层网络。
(1)离线训练
其中,离线训练时的目标函数joff为:
其中,
式中,
因此,根据期望数据值e∈r6×1、
(2)在线训练
同理,在线训练时的目标函数jon如下:
其中,
其中,
在线训练的过程也是多次迭代的过程,不过每一次迭代是在不同位姿下进行的,在线训练的过程也是利用到当前位姿以及前一时刻位姿的迭代数据进行。
另一方面,本发明还提供一种采用上述方法的跟踪系统,其特征在于:包括机械臂、相机、工控机,所述机械臂上设有运动控制器;
其中,所述相机设置于所述机械臂的端部,所述相机以及所述运动控制器均与工控机通讯连接;
所述工控机,用于对相机采集的图像进行图像信息处理以及训练所述b样条基的神经网络控制器和计算机械臂关节角速度向量
所述运动控制器,用于根据工控机计算出的机械臂关节角速度向量
进一步优选,所述机械臂为六轴机械臂。
有益效果
与现有技术相比,本发明的优点有:
(1)本发明是通过提取图像的图像特征生成矩特征向量,再利用矩特征向量、以及矩特征向量的雅可比矩阵计算出机械臂的目标关节角速度向量
(2)本发明利用神经网络在线调整参数对该系统进行有效控制,且所使用的神经网络控制器既不需要对象的精确模型,又能够以任意的精度有效逼近非线性系统,能有效控制图像矩视觉伺服系统;同时神经网络具有自学习能力,能根据对象变化实时调整参数以得到最优的控制效果,克服了pid控制等传统控制方法控制性能差的弊端,如对象强耦合、非线性、时变严重。
(3)本发明将实际求得的图像雅可比矩阵用于模糊神经网络控制器离线训练过程,赋予了神经网络参数调整过程物理意义,为神经网络参数的初值确定的过程提供了定量的计算方法。
(4)本发明的神经网络控制器离线训练后,在线跟踪的同时在线训练神经网络控制器,使得每次跟踪结果更加可靠。
附图说明
图1是本发明实施例提供的一种基于矩特征学习神经网络的异形曲面跟踪方法的技术思路示意图;
图2是本发明实施例提供的一种涡轮机叶片的结构示意图;
图3是本发明实施例提供的一种基于矩特征向量学习神经网络的异形曲面跟踪方法的流程图;
图4是本发明实施例提供的期望图像中目标区域的示意图;
图5是本发明实施例提供的初始图像中目标区域轮廓的示意图;
图6是本发明实施例提供的b样条基神经网络控制器的结构示意图;
图7是本发明实施例提供的b样条基神经网络控制器在离线训练过程的流程示意图;
图8是本发明实施例提供的一种基于矩特征向量学习神经网络的异形曲面跟踪系统的示意图;
图9是本发明实施例提供的在线训练神经网络控制器的示意图。
具体实施方式
下面将结合实例对本发明做进一步的说明。
例如,在码垛过程中,对同一型号的批量叶片中某一叶片进行搬运时,首先需要使机械臂接近并抓取工件。传统的方法采用固定的抓取路径,然而由于生产线的机械抖动等外部干扰,导致工件位置发生变化,从而使机械臂抓取失败。因此需要一种能够更灵活的定位跟踪的方法。
在实际生产过程中存在许多类似的,需要对同一型号叶片进行重复定位的过程,例如采用结构光对同一型号的涡轮叶片进行批量测量建模等。
采用本发明实现工件的定位跟踪时,只需要对同型号的批量叶片中的其中一个叶片进行一次离线训练,在其后的叶片的定位跟踪过程中只需要提取目标叶片的特征即可利用本次训练的网络模型和在线训练映射出机械臂的关节角速度,实现高精度的重复跟踪定位。对工件定位跟踪的方法的实施过程如下所述:
如图1所示为本发明实施例提供的一种基于矩特征学习神经网络的异形曲面跟踪方法的技术思路示意图,从图可知,本发明所述跟踪方法先离线训练出b样条基的神经网络控制器,再基于训练后的b样条基的神经网络控制器计算出机械臂关节角速度向量
如图2所示,本实施例中以涡轮机叶片作为待跟踪的异形曲面。如图1和图3所示,所述跟踪方法包括如下步骤s1-s7:
s1:获取期望矩特征向量
其中,每个位姿下图像的所述图像特征构成一个矩特征向量,即一个位姿下的图像可以生成一个矩特征向量,一个矩特征向量包括6个图像特征,该6个图像特征分别为对应图像中目标区域的中心点横坐标xg、中心点纵坐标yg、目标区域的面积a、以及水平轴与相机成像平面x轴的夹角α,由不变矩复合构成的两个具有trs不变性的矩特征向量px、py;
其中,该6个图像特征的计算公式如下所示:
式中,m10、m00、m01均为几何矩mij,μ20、μ02、μ11、μ03、μ21、μ30、μ12均为中心矩μij,所述几何矩mij和所述中心矩μij的计算公式如下:
式中,x、y分别代表像素点的横、纵坐标,r为图像中目标区域,本实施例中目标区域为图像中叶片区域。
基于上述矩特征向量原理,本步骤中,用户预先用相机拍摄取涡轮机叶片获取到理想位姿下的理想图像,再对理想图像进而二值化处理,即如图4所示,将理想图像中叶片区域的灰度设置为1,非叶片区域的灰度设置为0,再按照上述6个图像特征的计算公式计算出矩特征向量
s2:获取初始矩特征向量
其中,s2的执行过程具体如下:
步骤(2a):获取涡轮机叶片在初始位姿下的初始图像,并计算出初始矩特征向量
对初始图像进行二值化处理并获取构成目标轮廓点集的坐标,其目标轮廓如图5所示,最后再按照上述6个图像特征的计算公式计算出初始矩特征向量
步骤(2b):基于初始图像中目标区域轮廓的深度信息计算出初始矩特征向量
其中,目标区域轮廓的深度信息为步骤(2a)中目标轮廓点集中点的深度信息。
其中,初始矩特征向量
a:图像特征xgi对应的雅可比矩阵
因此可得:
同理可求得xgvy、xgvz、xgωx、xgωy、xgwz,因此,存在以下公式:
b:图像特征ygi对应的雅可比矩阵
因此可得:
同理可求得ygvy、ygvz、ygωx、ygωy、ygwz,因此,存在以下公式:
c:图像特征ai对应的雅可比矩阵
avx=m00vx、avy=m00vy、avz=m00vz、aωx=m00ωx、aωy=m00ωy、awz=m00ωz
d:图像特征pxi对应的雅可比矩阵
由于,
故:
因此可得如下等式:
同理可求得pxvy、pxvz、pxωx、pxωy、pxwz。
e:图像特征pyi对应的雅可比矩阵
零阶几何矩m00的雅可比矩阵
二阶中心矩μ02的雅可比矩阵
二阶中心矩μ20的雅可比矩阵
二阶中心矩μ11的雅可比矩阵
三阶中心矩μ21的雅可比矩阵
三阶中心矩μ12的雅可比矩阵
三阶中心矩μ03的雅可比矩阵
三阶中心矩μ30的雅可比矩阵
推理过程如下:
由于,
故,
因此可得如下等式:
同理可求得pyvy、pyvz、pyωx、pyωy、pywz。
f:图像特征αi对应的雅可比矩阵
由于,
故,
因此可得:
同理可求得αvy、αvz、αωx、αωy、αwz。
步骤(2c):基于初始矩特征向量
由于初始位姿是在期望位姿附近,因此即使用简单的p控制器也具有良好的控制效果,故使用传统比例控制器
式中,j为机器臂的雅可比矩阵,ve为机器臂末端速率向量,erc为手眼标定求得的相机与机械臂末端之间的旋转矩阵,o3×3为三行三列零矩阵。
由于νc=(v,ω),且v、ω分别代表相机绕相机坐标系xyz三轴的线速度集合和角速度集合,因此所求得的νc为一个六个元素的向量,进而求得的机械臂的目标关节角速度向量
s3:利用期望矩特征向量
其中,训练过程为调节神经网络控制器中第三层网络与第四层网络之间的权值以及b样条基函数的控制点。具体的,如图6所示,本实施例中所选用的b样条基的神经网络控制器的设计过程如下所示:
第一层将输入引入网络。每个输入的论域为[-1,1]:
其中,en代表输入参数e中的第n个输入元素,即第n个图像特征的差值,
第二层是对输入进行模糊化,对应的输入有5个模糊语言词集(nb,ns,z,ps,pb)。且在输入论域上定义11个节点。其中,第二层网络的输入输出的表达式为:
式中,
第三层代表”and”操作,用乘法代替取消运算,则有:
式中,
第四层代表去模糊化过程,采用加权平均判决法。
式中,
如图7所示,基于上述结构的b样条基的神经网络控制器,将前述计算的机械臂的目标关节角速度向量
其中,
式中,η1、η2为学习率,t+1表示t+1时刻,t表示t时刻。其中,
其中,通过重复迭代过程直至网络目标输出
s4:基于训练后的b样条基的神经网络控制器计算出当前位姿下机械臂关节角速度向量
其中,首先获取在当前位姿下叶片的图像,然后再根据上述图像特征的计算公式计算出当前位姿的当前矩特征向量
s5:依据s4中当前位姿下机械臂关节角速度向量
其中,根据当前位姿下机械臂关节角速度向量
s6:获取在新位姿下的当前矩特征向量
其中,相机随机械臂移动后将处于新的位姿,为了验证该位姿是否与期望位姿之间的差距在可接受范围内,则选择新位姿下的当前矩特征向量
s7:在线训练神经网络控制器,再执行s4、s5、s6直至新位姿下的当前矩特征向量
在线训练过程也是调节神经网络控制器中第三层网络与第四层网络之间的权值以及b样条基函数的控制点。在线训练时的目标函数jon如下:
其中,
其中,
从上述表达可知,t+1时刻对应的权值与控制点涉及相邻的前两次次迭代过程的数据,t-1时刻以及t时刻。如图9所示,例如,在t时刻,机械臂的关节角速度矩阵为
需要说明的是,在一个在线跟踪过程中,若t时刻为第一次利用训练后的神经网络控制器计算出机械臂的关节角速度矩阵为时,在线训练过程中,对应t-1时刻的和为0。
如图8所示,本发明还提供一种采用上述跟踪方法的跟踪系统,包括机械臂、相机、工控机,所述机械臂上设有运动控制器;
其中,所述相机设置于所述机械臂的端部,所述相机以及所述运动控制器均与工控机通讯连接;所述工控机,用于对相机采集的图像进行图像信息处理以及训练所述b样条基的神经网络控制器和计算机械臂关节角速度向量;所述运动控制器,用于根据工控机计算出的机械臂关节角速度向量控制机械臂相应运动。本实例中,机械臂为六轴机械臂,即存在6个关节,如图3所示,关节角速度矩阵中依次对应。
其中,工控机的计算过程请参照跟踪方法中对应的表述,再此不再赘述。
需要强调的是,本发明所述的实例是说明性的,而不是限定性的,因此本发明不限于具体实施方式中所述的实例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,不脱离本发明宗旨和范围的,不论是修改还是替换,同样属于本发明的保护范围。