一种基于图像的简化机器人视觉伺服控制方法
文献发布时间:2023-06-19 12:02:28
技术领域
本发明属于机器人智能控制领域,特别涉及一种平面视觉下机器人伺服控制技术。
背景技术
目前在工业现场工作的下上料工业机器人,一般都是通过示教规划好机器人的所有动作来对机器人进行控制,但这样的控制受机器人抓取目标对象的位姿严格限制,满足不了当前工业中柔性化、智能化的工作需求。随着图像处理和机器人相关技术的进步,机器视觉技术被越来越多的应用于引导工业机器人完成各项灵活的工作任务中,大大增加了工业机器人的自主性和灵活性。视觉伺服主要分为两种形式,基于位置和基于图像。
基于位置的视觉伺服需要前期做大量的调试与标定工作,但很多工业现场环境较差,这种环境下使用基于位置的视觉伺服会存在标定效果差,长时间工作出现累计误差的现象。基于图像的伺服控制方法需要计算机器人关节坐标与目标图像特征之间的映射关系,即图像雅克比矩阵,并通过大量的矩阵运算将图像特征的变化转变为机器人各个自由度的变化。此方法需要大量的计算,一些配置较差的工控机无法应付如此数量级的运算,不能保证控制的实时性。
如专利公布号为CN102791214A的发明专利公布了一种实时速度优化的不经校准的视觉伺服方法,该方法首先构建由跟踪点指向目标点的跟踪向量,然后将此向量先转变为角度坐标系下的机器人向量再将机器人向量映射至机器人三维空间,最后通过逆运动学指导机器人进行下一步动作。但该方法存在以下几个问题:(1)该方法所使用的图像采集设备是医用内窥镜,方法主要应用于医学领域而不是工业现场;(2)该方法的跟踪点和目标点都只有位置参数而没有姿态参数,在工业领域,机器人对工件进行抓取时,一般都需要考虑姿态;(3)此方法由于是用于医疗领域,对控制过程的柔性要求较高,需要通过反馈实时对跟踪效果进行评估,并更新速率因数,这需要进行大量的计算。而在工业领域,对精度和效率的要求更高。
因此,需要一种应用于工业现场的简化的机器人视觉伺服控制方法,此方法需要在保证精度的前提下,减小计算量提高控制的实时性与效率。
发明内容
为解决上述技术问题,本发明提出一种基于图像的简化机器人视觉伺服控制方法,可以不用进行标定就能直接使用,且计算量小,实时性好。
本发明采用的技术方案为:一种基于图像的简化机器人视觉伺服控制方法,包括:
S1、获取期望图像:使用示教器控制机器人移动至能抓取到工件的位置,启动相机采集当前位置下的工件图像信息;
S2、图像处理:对采集到的期望图像进行图像处理,得到工件的图像特征作为期望特征;
S3、映射比例因子求解:通过多次试探性运动,测试出图像空间与机器人笛卡尔空间的映射比例;
S4、伺服控制:在机器人处于能采集到工件图像信息的任意位置时,通过实时采集处理当前位置下的图像信息,根据映射比例计算与期望图像偏差值,根据偏差值控制机器人进行下一步运动。
所述伺服控制基于笛卡尔坐标系,所述笛卡尔坐标系包括6个参数,分别是X、Y、Z、A、B、C,其中X、Y、Z控制机器人在三维坐标系下沿三条轴线平动;A、B、C控制机器人在三维坐标系下沿三条轴线转动,控制机器人笛卡尔坐标系中6个参数之中的Z、A、B保持不变,将机器人约束为X、Y、Z的3自由度。
步骤S2所述工件的图像特征具体为:在处理过后的图像中提取3个特征点,分别是质心点(u1,v1)和长边两个端点(u2,v2)、(u3,v3)的位置,以质心位置作为工件位置,以长边与水平中轴线的夹角angle作为工件姿态。
步骤S2具体包括以下分步骤:
S21、将相机采集到的工件图像使用线性变换进行对比度增强;
S22、将对比度增强之后的图像进行高斯滤波;
S23、基于图像像素点的类间方差,使用Otsu法(大津法)进行图像分割完成图像的二值化,将工件从原始图像中提取出来;
S24、提取工件的图像特征,具体的:提取3个特征点,分别是质心点(u1,v1)和长边两个端点(u2,v2)、(u3,v3)的位置,以质心位置作为工件位置,以长边与水平中轴线的夹角angle作为工件姿态。
确定工件质心点位置的过程为:将S23中提取出来的工件图像按照连通区域分隔开,对每个连通区域运用计算几何距算法定位出其质心的位置。
确定工件长边两个端点的过程为:采用Canny边缘检测算子确定工件的边缘,利用Hough变换找出边缘图像中所有线段,然后从这些直线中找出最长线段作为工件的长边,从而得到工件长边两个端点。
步骤S3具体为:
S31、使用示教器控制机器人在笛卡尔坐标系下,沿X、Y方向以及C转角做若干次小幅度测试运动;
S32、每次运动后,启动相机采集当前位置下的工件图像信息,并提取其图像特征;
S33、每次运动后,记录其与前一次运动后位置的偏差,具体包括:图像特征中的偏差Δu、Δv、Δangle,机器人笛卡尔坐标系中的偏差ΔX、ΔY、ΔC;
Δu、Δv为两次运动图像识别到的工件质心坐标(u,v)的差值,Δangle为两次运动图像识别到的工件姿态角度的偏差;ΔX、ΔY为两次运动工件世界坐标质心(x,y)的差值,ΔC表示两次运动世界坐标系下的工件姿态角度的偏差;
S34、构建方程
步骤S4具体为:
S41、控制机器人移动到能采集到工件图像信息的任意位置,定义这一位置为机器人的当前位置;
S42、启动相机采集当前位置下的工件图像信息,并提取其图像特征;
S43、计算出当前图像与期望图像的偏差值,使用映射比例因子计算出机器人笛卡尔坐标系的偏差值,根据这一偏差值控制机器人完成向期望图像位置的移动。
在进行伺服控制时,首先确定长边与水平中轴线的夹角angle,并控制机器人笛卡尔坐标系的转角顺时针旋转(90-angle)/k
本发明的有益效果:本发明的方法采用图像进行伺服控制,避免了前期大量的标定工作,本发明对传统基于图像的伺服控制方法进行简化,将机器人的自由度约束为3,简化了伺服控制的流程,又使用映射比例因子代替图像雅可比矩阵,大大减小了控制过程的计算量,提高了系统的实时性、伺服控制精度以及系统的稳定性。
附图说明
图1是本发明用于平面视觉下工件抓取的流程图。
图2是本发明中相机与机器人手爪的位置关系图。
图3是图像特征中的三个特征点的示意图。
图4是期望位置与当前位置图像坐标系的关系示意图。
具体实施方式
为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
如图1所示,一种基于图像的简化机器人视觉伺服控制方法,所述方法包括以下步骤:
S1:获取期望图像:首先通过机器人示教器控制机器人移动到能够抓取到工件的位置,再使用相机采集机器人当前位置下的工件图像信息。如图2所示,相机设置于机械手爪旁边,通过相机采集到的图像来确定机器人手爪的位置和姿态;
S2:图像处理:将采集到的期望图像上传至图像处理模块进行图像处理,得到工件的图像特征作为期望特征。本实施例提供的图像处理方式,包括如下步骤:
S21:将相机采集到的工件图像使用线性变换进行对比度增强;
S22:将对比度增强之后的图像进行高斯滤波,去除噪声对提取图像特征的影响;
S23:基于图像像素点的类间方差,使用Otsu法进行图像分割完成图像的二值化,将工件从原始图像中提取出来;
S24:将S23中提取出来的工件图像按照连通区域分隔开,统计计算所有连通区域的面积,根据工件面积的大小,完成工件的分类,以便能够将不同工件区分开来,抓取到正确的目标工件,并用Canny边缘检测算子确定工件的边缘。
S3:映射比例因子求解:通过多次试探性运动,测试出图像空间与机器人笛卡尔空间的映射比例。在一个实施例中,使用该方法进行映射比例因子求解的步骤如下:
S31:使用示教器控制机器人在笛卡尔坐标系下,沿X,Y方向以及C转角做10次小幅度测试运动;本领域的技术人员应注意,本实施例这里的10次是个近似取值,在实际应用中次数越多得到的比例系数越准确。
S32:每次运动后,启动相机采集当前位置下的工件图像信息,并提取其图像特征;
S33:每次运动后,记录其与前一次运动后位置的偏差,包括图像特征中的偏差Δu,Δv,Δangle和机器人笛卡尔坐标系中的偏差ΔX,ΔY,ΔC;
S34:构建方程
k
S4:伺服控制:在机器人处于能采集到工件图像信息的任意位置时,通过实时采集处理当前位置下的图像信息,并与期望图像作对比,控制机器人进行下一步运动。在一个实施例中,使用该方法进行伺服控制的步骤如下:
S41:控制机器人移动到能采集到工件图像信息的任意位置,定义这一位置为机器人的当前位置;
S42:启动相机采集当前位置下的工件图像信息,并提取其图像特征;
S43:计算出当前图像与期望图像的偏差值E,使用映射比例因子计算出机器人笛卡尔坐标系的偏差值,根据这一偏差值控制机器人完成向期望图像位置的移动。
机器人笛卡尔坐标系有6个参数,分别是X、Y、Z、A、B、C。其中X、Y、Z控制机器人在三维坐标系下沿三条轴线平动;A、B、C控制机器人在三维坐标系下沿三条轴线转动。在本发明方法中,控制机器人笛卡尔坐标系中6个参数之中的Z、A、B保持不变,将机器人的自由度约束为3。
如图2所示,步骤S2-S4所述的图像特征具体指工件上面的三个点,分别是质心点(u1,v1)和长边两个端点(u2,v2)、(u3,v3)的位置,以质心位置作为工件位置,以长边与水平中轴线的夹角angle作为工件姿态。
定位工件质心点位置和长边两个端点的位置的方法为:对每个连通区域运用计算几何距算法定位出其质心的位置,利用Hough变换找出边缘图像中所有线段,然后从这些直线中找出最长线段作为工件的长边,根据Hough变换算子即可得到每条边的端点。
如图3所示,虚线表示期望位置,实线表示当前实际位置。在进行伺服控制时,首先确定长边与水平中轴线的夹角angle,并控制机器人笛卡尔坐标系的转角顺时针旋转(90-angle)/k
在最后进行伺服控制时,当该方法响应所述机器人实际位置相对于期望位置的偏差E大于位置偏差阈值e的图像处理结果时,指示所述机器人在抓取工件之前先基于所述位置偏差调整自身位置;响应所述机器人实际位置相对于期望位置的偏差E小于或等于位置偏差阈值e的图像处理结果时,指示所述机器人抓取工件。
这里的阈值是根据控制精度需求来设置的,比如上料精度需要1mm以内,我们就可以设置阈值为1mm以下,这样视觉识别误差小于阈值时,控制机器人即可在1mm范围内进行上料,阈值取值越大,机器人控制精度就越差,阈值取值越小精度控制就越高,取值根据自己控制需求来定,但最小不能超过机器人自身的最小控制精度。
这里的偏差调整是指:比如机器人移动完成后,与之前预先标定的能够抓取工件的位置相差2mm,就需要控制机器人向期望抓取位置移动这2mm,但是由于相机畸变等影响,可能不能一次性移动到位,就可能一次移动1.5mm,一次移动0.5mm,这样就通过两次的移动调整,移动到了期望抓取位置。
本发明的方法与传统方法的性能对比如表1所示:
表1本发明的方法与现有方法的对比
系统稳定性,由于基于图像的视觉伺服控制,是根据图像变化控制机器人关节移动,这样可能出现工件移出摄像机的视野范围外,这样系统将无法获取视觉信息,则无法正确移动,所以系统稳定性较差,而基于位置和本发明提出的简化方法,都是控制机器人在笛卡尔坐标系下运动,是在规定区域内移动,不会丢失工件视野,所以稳定性较好。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
- 一种基于图像的简化机器人视觉伺服控制方法
- 一种基于图像矩的搬运机器人视觉伺服控制方法