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

基于混合反馈的机器人视觉伺服控制方法及系统

2022-10-29 01:25:56 来源:中国专利 TAG:


1.本发明涉及机器人视觉伺服控制技术领域,更具体的说是涉及一种基于混合反馈的机器人视觉伺服控制方法及系统。


背景技术:

2.机器人视觉伺服系统即为人眼类似的机器仿生系统,视觉伺服系统是在传统伺服控制系统的基础上加入相机等视觉传感器得到的系统,将视觉传感器得到的视觉信息作为反馈信息进行伺服控制。近年来,世界各国的研究人员对视觉伺服系统各方面进行了大量研究,而在机器人视觉伺服系统中影响其性能的有三大关键因素:机器人视觉伺服系统标定、目标特征的精确提取、目标的实时跟踪与定位。
3.目前,机器人视觉伺服系统当中的相机和机器人的相对安装位置可以分为眼在手(eye-in-hand)系统和眼固定(eye-to-hand)系统两种方式,但这两者皆有缺点,眼在手系统能跟随机器人运动地观察目标,有比较好的观察角度,可以避免目标在图像中被机器人遮挡,但是由于相机安装在机器人上,图像容易因运动和抖动而产生模糊和噪声,而且对于精密任务来说可能没有足够的控件安装相机;眼固定系统中相机的位置固定,因此图像可以一直包含机器人和任务空间的信息,可以更方便的得到相机坐标系和任务空间坐标系的对应关系,但是眼固定系统虽然因为相机固定,成像质量不受振动等因素的影响,但机器人运动的过程中有可能遮目标。对于目标特征提取问题,常用基于灰度方差的关键点检测方法、harris角点检测方法、sift算法、surf算法等方法,但其对图像特征的描述有所局限,收敛速度和精度精度较差。
4.因此,对本领域技术人员来说,如何设计一种新的视觉视觉系统满足视觉伺服对实时性以及图像清晰度的要求,是亟待解决的问题。


技术实现要素:

5.有鉴于此,本发明提供了一种基于混合反馈的机器人视觉伺服控制方法及系统,以解决背景技术中的问题。
6.为了实现上述目的,本发明采用如下技术方案:一方面,提供一种基于特征和位置混合反馈的机器人视觉伺服控制方法,具体步骤包括如下:
7.基于眼在手和眼固定混合手眼系统获取目标图像;
8.对所述目标图像进行关键点检测,提取目标特征;
9.根据所述目标特征,通过图像雅克比矩阵的无标定视觉伺服进行反馈控制量计算,使机器人实时移动到指定位置。
10.通过采用上述技术方案,具有以下有益的技术效果:采用eye-in-hand和eye-to-hand混合手眼系统的视觉伺服方案,避免了标定的繁琐工作和标定精度对视觉伺服性能的影响,提高了机器人的灵活性和鲁棒性。
11.可选的,基于深度学习的方法对所述目标图像进行关键点检测,具体步骤包括如
下:
12.构建训练集,所述训练集分为训练正样本和训练负样本;
13.通过所述训练集对关键点检测网络进行训练,并利用复合损失函数进行误差校正,得到训练完成的关键点检测网络;
14.利用所述训练完成的关键点检测网络进行关键点检测。
15.可选的,所述复合损失函数为:
16.l
kp
=λl1 (1-λ)l2;
17.其中,λ为权重,l1为第一约束函数,l2为第二约束函数。
18.l1为第一约束函数,其作用是使模型能对输入样本正确地分类,函数形式为:l1(xi)=max(0,1-yjxj),其中xj∈(-1,1)是网络输出评分,yj∈(-1,1)是分类标签;l2为第二约束函数,作用是使损失函数随中心点与关键点间的距离增大而增大,根据图像块中心点与关键点之间的距离计算损失值。该距离定义为d,模型的输出xj应在关键点位置出现极大值,并是的d单调减函数。因此可以结合高斯分布函数构造l2,使模型在非中心位置产生呈高斯分布的输出。最终,函数形式为l2=(x
j-hj)2,其中hj定义为高斯分布函数:
19.可选的,所述提取目标特征的具体步骤为:
20.以所述关键点为中心采集固定范围的图像块作为正样本,并以所述关键点大于十个像素为中心采集图像作为负样本,构建特征提取模型的第一训练集;
21.对所述第一训练集通过孪生网格结构进行预训练,再通过三元网络结构继续训练,得到特征提取模型;
22.通过所述特征提取模型提取所述目标特征。
23.通过采用上述技术方案,具有以下有益的技术效果:使用卷积神经网络对图像进行关键点检测和关键点特征提取,以代替传统的手工设计特征,完成更好的特征目标提取。
24.可选的,所述孪生网格结构的损失函数表达式为:
[0025][0026]
其中,di表示两个特征向量之间距离的平方,α为阈值,yi∈0,1表示两个样本是否属于同一类别的标签;
[0027]
所述三元网络结构的损失函数表达式为:
[0028][0029]
其中,为随机选择的样本,为的同类样本、为的不同类样本;β为正例对和负例对之间的强制阈值。[
·
]

表示[
·
]>0时,整体取值为值本身,否则为0。
[0030]
可选的,所述图像雅克比矩阵的公式如下:
[0031]
[0032][0033]
其中,f∈rm为目标特征参数向量,代表m个图像特征参数;r∈rn是机器人末端在任务空间中的坐标参数;ji(r)∈rm×n是图像雅可比矩阵,反映机器人运动空间与目标特征空间之间的微分映射关系。
[0034]
可选的,还包括使用卡尔曼滤波对所述图像雅可比矩阵进行估计。
[0035]
另一方面,提供一种基于特征和位置混合反馈的机器人视觉伺服控制系统,包括依次连接的图像获取模块、特征提取模块、控制模块;其中,
[0036]
所述图像获取模块,用于基于眼在手和眼固定混合手眼系统获取目标图像;
[0037]
所述特征提取模块,用于对所述目标图像进行关键点检测,提取目标特征;
[0038]
所述控制模块,用于根据所述目标特征,通过图像雅克比矩阵的无标定视觉伺服,使机器人实时移动到指定位置。
[0039]
可选的,还包括卡尔曼滤波模块,所述卡尔曼滤波模块与所述控制模块相连,用于实时地对系统模型进行辨识。
[0040]
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于混合反馈的机器人视觉伺服控制方法及系统,具有以下有益的技术效果:
[0041]
(1)设计了一种眼在手(eye-in-hand)和眼固定(eye-to-hand)混合手眼系统,避免了目标遮挡、目标不在眼在手相机视场等问题;
[0042]
(2)采取基于深度卷积网络的图像特征提取方法,先基于孪生网络结构进行预训练,再调整为三元网络结构继续训练,本方法结合孪生网络结构和三元网络结构的优点,达到更快的收敛速度和更高的精度,从而更有效的提取特征;
[0043]
(3)采用眼固定双目视觉系统使机械臂快速接近目标的过程中,不需要雅可比矩阵在线估计,减轻了计算压力,提高了工作效率。
附图说明
[0044]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0045]
图1为本发明的方法流程图;
[0046]
图2为本发明的系统结构图。
具体实施方式
[0047]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
[0048]
本发明实施例1公开了一种基于特征和位置混合反馈的机器人视觉伺服控制方法,如图1所示,具体包括如下步骤:
[0049]
s1、基于眼在手(eye-in-hand)和眼固定(eye-to-hand)混合手眼系统对图像进行获取。
[0050]
s2、基于深度学习的方法对所获取的图像进行关键点的检测。
[0051]
具体地,步骤s2包括下列子步骤:
[0052]
s21、关键点检测网络的训练集构建
[0053]
相机在不同位置不同光照对不同目标拍摄图像(每个位置拍摄100张图像),使用sift算法在图像上检测关键点,获取关键点的坐标(x,y)、尺度等信息。在每个位置拍摄的100张图像中,遍历所有关键点,并以投票的方式记录每个像素被检测为关键点的次数。选择检测为关键点的次数多的像素位置,记录它们的坐标,作为训练正样本。在与正样本相距较远的位置随机选取一些位置,作为训练负样本。
[0054]
s22、关键点检测网络的复合损失函数设计
[0055]
在本实施例中设计了一种复合目标函数,该目标函数不仅能使模型区分正样本和负样本,还能使模型产生更接近正样本的预测。在训练时期,关键点检测网络的输入是固定大小的图像块,输出图像块的关键点评价值,代表图像块中心是一个关键点的可能性。该评分的计算可以依据两个标准:(1)给定图像块是否为正样本,(2)中心点与关键点间的距离。定义该损失函数为
[0056]
l
kp
=λl1 (1-λ)l2[0057]
其中l1和l2分别是两个约束函数,l1的作用是使模型能对输入样本正确地分类,l2的作用是使损失函数随中心点与关键点间的距离增大而增大。
[0058]
l1为第一约束函数,其作用是使模型能对输入样本正确地分类,函数形式为:l1(xi)=max(0,1-yjxj),其中xj∈(-1,1)是网络输出评分,yj∈(-1,1)是分类标签;l2为第二约束函数,作用是使损失函数随中心点与关键点间的距离增大而增大,根据图像块中心点与关键点之间的距离计算损失值。该距离定义为d,模型的输出xj应在关键点位置出现极大值,并是的d单调减函数。因此可以结合高斯分布函数构造l1,使模型在非中心位置产生呈高斯分布的输出。最终,函数形式为l2=(x
j-hj)2,其中hj定义为高斯分布函数:
[0059]
s23、关键点检测网络模型设计
[0060]
关键点检测网络可以看作一个非线性映射,作用是在关键点区域产生更高激励值,并将图像映射为一个关键点评分图。关键点检测实质上是根据评分在图像中寻找可能存在良好关键点的区域。
[0061]
本实施例构建的网络由3部分构成:全卷积网络(fcn)、多尺度递归卷积结构(ms-crnn)和全连接层(fc)。fcn由一系列卷积层和池化层组成,多尺度递归卷积结构由权值共享的卷积层组成,两个全连接层用于最后分类。fc的作用相当于特征提取网络,它对输入图像进行信息的抽取和降维;多尺度卷积结构对接收到的特征图进行递归的卷积操作,直到输出的特征图具有需要的尺寸;最后的全连接层本质上是一个浅层神经网络,将固定维度的特征变换为一个关键点评分值。
[0062]
s3、基于深度学习的方法对检测的关键点进行特征提取。
[0063]
具体地,步骤s3包括下列子步骤:
[0064]
s31、特征提取模型的数据集建立
[0065]
对提取的关键点运用常规方法进行匹配,获取匹配的关键点对,对正确匹配的关键点对设置相同的id编号,以关键点为中心采集64*64的图像块作为正样本。同时,以其附近(》10个像素,角度》45度)的像素为中心采集64*64的图像块作为负样本。以此生成一系列64
×
64大小的图像块,构建特征提取模型的数据集。
[0066]
s32、特征提取损失函数设计
[0067]
本发明先基于孪生网络结构进行预训练,再调整为三元网络结构继续训练,因此,特征提取损失函数包含孪生网络的损失函数和三元网络损失函数。
[0068]
孪生网络的损失函数:其中,di代表两个特征向量之间距离的平方,α是阈值,yi∈{0,1}表示两个样本是否属于同一类别的标签。
[0069]
三元网络损失函数:
[0070]
三元网络损失函数使用欧氏距离作为距离度量,为随机选择的样本(的同类样本)、(的不同类样本)输入网络得到变换后的特征向量,β是正例对和负例对之间的强制阈值;[
·
]

表示[
·
]>0时,整体取值为值本身,否则为0。
[0071]
s33、特征提取网络模型设计
[0072]
本发明先使用孪生网络结构进行预训练,再调整为三元网络结构继续训练的方式,使模型能更快收敛的同时,达到更高的精度。特征提取先使用孪生网络结构训练,当使用孪生网络结构训练的误差几乎不再下降时,调整为三元网络结构继续训练。这两种结构由两个或三个权值共享的卷积网络组成,其中的每一个卷积网络将一个输入的图像变换为一个特征向量。将得到的特征向量根据损失函数计算误差,然后反向传播更新卷积网络权重。本网络输出128维浮点数特征向量。
[0073]
s4、基于卡尔曼滤波的图像雅可比矩阵无标定双目机器人视觉伺服,使机器臂不断移动到指定位置。
[0074]
具体的,步骤s4包括如下子步骤:
[0075]
s41、先采用眼在手(eye-in-hand)和眼固定(eye-to-hand)混合手眼系统,当目标不在机械臂末端相机视场中或者距离目标比较远的时候,利用眼固定双目视觉获取的目标位置信息,控制机器人末端快速接近目标。
[0076]
机器人末端在工作平面上做二维运动,在机器人基坐标系中可以表示为其中,z为机器人末端在机器人基坐标系中的z轴坐标,为一定值。定义机器人末端所有x,y坐标向量构成机器人工作空间并定义机器人末端在固定相机的图像空间中的特征为:
[0077][0078]
s42、当机器人末端到达目标附近时,采用眼在手视觉系统获取目标图像,提取目
标特征,基于图像雅可比矩阵的无标定视觉伺服方法实现机械臂对物体的精确定位跟踪。图像雅可比矩阵可以将机器臂任务空间映射到图像空间,从而将机器臂的跟踪任务转化为图像中的目标跟踪任务。
[0079]
根据图像雅可比矩阵定义,可得:
[0080][0081][0082]
在双目相机中获得的图像特征的维数m(=4)和机器人运动空间的维数n(=2)满足m》n,因此根据图像特征可以唯一确定对应空间位置。
[0083]
s43、使用卡尔曼滤波对图像雅可比矩阵进行在线估计实质上是实时地对系统模型进行辨识,从而可以通过持续地在图像中匹配和跟踪实现机器人的跟踪。
[0084]
首先,定义系统状态。定义观察参数向量x为一个包含图像雅可比矩阵j(pg)所有元素的向量:
[0085][0086]
其中,每一个元素为雅可比矩阵的第i行向量的转置。因此,观察参数向量x是一个包含j(pg)中8个元素的向量。
[0087]
根据雅可比矩阵的定义式,可得:
[0088]fg
(k 1)≈fg(k) j(k)
·
δpg(k)=fg(k) j(k)
·
u(k)
[0089]
可以得出如下方程:
[0090]
x(k 1)=x(k) w(k)
[0091]
z(k)=fg(k 1)-fg(k)=h(k)
·
x(k) v(k)
[0092]
其中,w(k)和v(k)分别代表状态噪声和观察噪声,且都假定为高斯白噪声。
[0093][0094]
然后,根据基于卡尔曼滤波的图像雅可比矩阵的估计算法,即可实时估计图像的雅可比矩阵。取噪声协方差矩阵r(k)=0.5i8,q(k)=0.5i4,状态估计误差协方差矩阵的初始值可取p(0)=105·
i8,采用在初始位置施加2步线性无关的随机试探运动
并记录相应的图像位置变化图像雅可比矩阵的初值可以通过以下方法获得:最后将展开为
[0095]
获得图像雅可比矩阵的估计后,可以结合图像特征的误差建立直接图像反馈,计算机器人的控制量。设在图像中运动目标的图像坐标为f
*
(t),机器人末端图像坐标为fg(t),定义系统误差为:
[0096]ef
(t)=f
*
(t)-fg(t)
[0097]
其中,f
*
(t)为期望图像特征,对跟踪问题来说,是运动目标的图像特征,控制任务是计算控制量以最小化如下目标函数:
[0098][0099]
将系统离散化,得到k时刻最优控制量u(k):
[0100][0101]
式中为k 1时刻的目标图像特征的预测值,可以通过对运动目标进行一阶预估获得,如下:
[0102][0103]
定义考虑到机器人末端运动速度是有限的,控制量可以按如下方式修正:
[0104][0105]
其中,δp
max
是机器人末端运动速度的阈值,可以保证给出的控制量不会超过机器人的运动能力。
[0106]
在每一次迭代过程中,这两个步骤依次进行,雅可比矩阵的估计为跟踪控制提供系统参数,跟踪控制后雅可比矩阵改变,并在下一次循环中得到新的估计。通过一次次循环使机械臂不断移动到指定的位置。
[0107]
本发明实施例2提供一种基于特征和位置混合反馈的机器人视觉伺服控制系统,如图2所示,包括依次连接的图像获取模块、特征提取模块、控制模块;其中,
[0108]
图像获取模块,用于基于眼在手和眼固定混合手眼系统获取目标图像;
[0109]
特征提取模块,用于对目标图像进行关键点检测,提取目标特征;
[0110]
控制模块,用于根据目标特征,通过图像雅克比矩阵的无标定视觉伺服,使机器人实时移动到指定位置。
[0111]
进一步的,还包括卡尔曼滤波模块,卡尔曼滤波模块与控制模块相连,用于实时地对系统模型进行辨识。
[0112]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置
而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0113]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献