一种视觉伺服控制的方法、系统及设备与流程

文档序号:18175830发布日期:2019-07-13 10:08阅读:472来源:国知局
一种视觉伺服控制的方法、系统及设备与流程

本申请涉及机器人控制领域,特别涉及一种视觉伺服控制的方法、系统、设备及计算机可读存储介质。



背景技术:

机器人技术的研究已有几十年的历史。在这个过程中,机器人的结构一直处于简单到复杂、从单一到多样、从低级到高级的不断发展过程中。随着技术的发展,那些限制机器人适应复杂环境的技术被逐步攻克。在这个过程中,传感器的引入为机器人感知复杂环境提供了可能。多种多样的传感器为机器人提供了大量的环境信息。为了更好地模仿人类获取环境信息的机制,人们为机器人引入了视觉传感器。由此,机器人视觉传感器与执行器之间的控制策略成为研究热点。视觉伺服正是这样一种利用视觉传感器的反馈的信息构建机器人闭环控制系统的技术。

在传统的基于图像视觉伺服控制方法中,需要从图像中提取简单的局部几何特征,如点、线或角度,构建图像雅可比矩阵,以表示机器人手眼之间的映射关系。但提取这些局部几何特征与目标对象的形状、环境等直接有关,特征提取与匹配的算法也比较耗时。而且当目标对象发生变化时需要采用不同的几何特征,即使相同的对象但相对于相机坐标的位姿发生了变化,特征的选择也会需要相应的变化,因此速度很慢。其次,实时图像雅可比矩阵的在线计算过程繁琐且耗时,常见动态估计方法,会出现较大的估计误差,需要进行误差补偿。

因此,如何提高视觉伺服控制的精度和速度是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种视觉伺服控制的方法、系统、设备及计算机可读存储介质,用于提高视觉伺服控制的精度和速度。

为解决上述技术问题,本申请提供一种视觉伺服控制的方法,该方法包括:

获取训练样本;其中,所述训练样本为多组图像矩向量差与对应的位姿学习样本的组合;

利用所述训练样本对预设模糊神经网络进行训练,得到视觉伺服控制模型;

接收输入的期望图像信息;

将所述期望图像信息输入至所述视觉伺服控制模型中,并通过图像采集装置采集目标工件的当前图像信息;其中,所述图像采集装置位于机械臂上;

利用所述视觉伺服控制模型将所述当前图像信息与所述期望图像信息的差值转化为所述机械臂的控制信号,并控制所述机械臂执行所述控制信号进行下一步动作。

可选的,当所述机械臂为六自由度机械臂时,所述获取训练样本,包括:

在所述机械臂的运动范围内随机选择n组位姿向量,组成n个位姿学习样本;其中,n=n6

控制所述机械臂依次定位到所述n个位姿学习样本,并通过所述图像采集装置采集当前位姿学习样本的工件图像;

确定参考位姿,并计算所述n个位姿学习样本的工件图像相对于所述参考位姿的工件图像的图像矩向量差;

将各所述图像矩向量差与对应的位姿学习样本作为所述训练样本。

可选的,利用所述训练样本对预设模糊神经网络进行训练,得到视觉伺服控制模型,包括:

将各所述图像矩向量差作为所述模糊神经网络的输入向量;

将对应的各所述位姿学习样本作为所述预设模糊神经网络的输出向量,对所述预设模糊神经网络进行迭代训练;

当所述预设模糊神经网络的参数稳定时,确定当前预设模糊神经网络为所述视觉伺服控制模型。

可选的,所述通过图像采集装置采集目标工件的当前图像信息,包括:

通过所述图像采集装置实时采集所述目标工件的当前图像信息。

可选的,利用所述视觉伺服控制模型将所述当前图像信息与所述期望图像信息的差值转化为所述机械臂的控制信号,并控制所述机械臂执行所述控制信号进行下一步动作,包括:

实时计算所述当前图像信息的图像矩特征;

判断所述当前图像信息的图像矩特征与所述期望图像信息的图像矩特征的差值是否大于最小阈值;

若是,则将所述差值输入至所述视觉伺服控制模型;

利用所述视觉伺服控制模型根据所述差值计算所述机械臂各关节的空间位姿增量,控制所述机械臂进行下一步动作,并返回执行通过所述图像采集装置实时采集所述目标工件的当前图像信息的步骤;

若否,则输出工件抓取完成的提示信息。

本申请还提供一种视觉伺服控制的系统,该系统包括:

获取模块,用于获取训练样本;其中,所述训练样本为多组图像矩向量差与对应的位姿学习样本的组合;

训练模块,用于利用所述训练样本对预设模糊神经网络进行训练,得到视觉伺服控制模型;

接收模块,用于接收输入的期望图像信息;

输入模块,用于将所述期望图像信息输入至所述视觉伺服控制模型中,并通过图像采集装置采集目标工件的当前图像信息;其中,所述图像采集装置位于机械臂上;

控制模块,用于利用所述视觉伺服控制模型将所述当前图像信息与所述期望图像信息的差值转化为所述机械臂的控制信号,并控制所述机械臂执行所述控制信号进行下一步动作。

可选的,所述获取模块包括:

样本选择子模块,用于在所述机械臂的运动范围内随机选择n组位姿向量,组成n个位姿学习样本;其中,n=n6

图像获取子模块,用于控制所述机械臂依次定位到所述n个位姿学习样本,并通过所述图像采集装置采集当前位姿学习样本的工件图像;

第一计算子模块,用于确定参考位姿,并计算所述n个位姿学习样本的工件图像相对于所述参考位姿的工件图像的图像矩向量差;

第一确定子模块,用于将各所述图像矩向量差与对应的位姿学习样本作为所述训练样本。

可选的,所述训练模块包括:

第一输入子模块,用于将各所述图像矩向量差作为所述模糊神经网络的输入向量;

迭代训练子模块,用于将对应的各所述位姿学习样本作为所述预设模糊神经网络的输出向量,对所述预设模糊神经网络进行迭代训练;

第二确定子模块,用于当所述预设模糊神经网络的参数稳定时,确定当前预设模糊神经网络为所述视觉伺服控制模型。

本申请还提供一种视觉伺服控制设备,该视觉伺服控制设备包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述任一项所述视觉伺服控制的方法的步骤。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述视觉伺服控制的方法的步骤。

本申请所提供视觉伺服控制的方法,包括:获取训练样本;利用训练样本对预设模糊神经网络进行训练,得到视觉伺服控制模型;接收输入的期望图像信息;将期望图像信息输入至视觉伺服控制模型中,并通过图像采集装置采集目标工件的当前图像信息;利用视觉伺服控制模型将当前图像信息与期望图像信息的差值转化为机械臂的控制信号,并控制机械臂执行控制信号进行下一步动作。

本申请所提供的技术方案,通过利用训练样本对预设模糊神经网络进行训练,得到视觉伺服控制模型,并利用视觉伺服控制模型将获取到的图像信息与期望图像信息的差值转化为机械臂的控制信号,省略了雅可比矩阵求逆操作,极大的提高了视觉伺服控制的速度;同时,位于机械臂上的图像采集装置能够随着机械臂的运动而移动,使得不需要进行复杂的标定,有效提高了视觉伺服控制的精度,实现了机器人自动抓取和搬运铸件的运动控制,满足了加工生产中适应性和灵活性的要求。本申请同时还提供了一种视觉伺服控制的系统、设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种视觉伺服控制的方法的流程图;

图2为本申请实施例所提供的一种视觉伺服控制的搬运机器人模型示意图;

图3为图1所提供的一种视觉伺服控制的方法中s101的一种实际表现方式的流程图;

图4为图1所提供的一种视觉伺服控制的方法中s102的一种实际表现方式的流程图;

图5为图1所提供的一种视觉伺服控制的方法中s105的一种实际表现方式的流程图;

图6为本申请实施例所提供的一种视觉伺服控制的系统的结构图;

图7为本申请实施例所提供的另一种视觉伺服控制的系统的结构图;

图8为本申请实施例所提供的一种视觉伺服控制设备的结构图。

具体实施方式

本申请的核心是提供一种视觉伺服控制的方法、系统、设备及计算机可读存储介质,用于提高视觉伺服控制的精度和速度。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的一种视觉伺服控制的方法的流程图。

其具体包括如下步骤:

s101:获取训练样本;

传统的图像视觉伺服控制方法由于需要进行图像雅可比矩阵的在线计算,因此精度较低且速度较慢,而人工神经网络强大的函数拟合能力虽然可以省略复杂的标定和复杂的雅可比矩阵求逆操作,但神经网络不适于表达基于规则的知识,因此在对神经网络进行训练时,由于不能很好地利用已有的经验知识,常常只能将初始权值取为零或随机数,从而增加了网络的训练时间或者陷入非要求的局部极值;

而模糊逻辑虽然能很好地表述和记忆人的经验知识,进而有效地引导机器人的操作,但模糊系统缺乏自学习和自适应能力,要设计和实现模糊系统的自适应控制比较困难,故本申请提供了一种视觉伺服控制的方法,通过把模糊逻辑与神经网络适当地结合起来,组成了比单独的神经网络系统或单独的模糊系统性能更好的控制系统。

这里提到的获取训练样本为多组图像矩向量差与对应的位姿学习样本的组合,本申请的目的在于训练预设模糊神经网络使其能够根据输入的图像矩向量差确定对应的位姿向量,进而控制机械臂进行运动;其具体可以为从网络上下载相应的训练样本,也可以为用户直接输入的训练样本,本申请对此不作具体限定。

s102:利用训练样本对预设模糊神经网络进行训练,得到视觉伺服控制模型;

模糊神经网络是一种将模糊逻辑和神经元网络有机结合的新型的模糊推理系统结构,采用反向传播算法和最小二乘法的混合算法调整前提参数和结论参数,并能自动产生if-then规则。基于自适应神经网络的模糊推理系统(adaptivenetwork-basedfuzzyinferencesystem,anfis)将神经网络与模糊推理有机的结合起来,既发挥了二者的优点,又弥补了各自的不足;

故本申请利用训练样本对预设模糊神经网络进行训练,使得预设模糊神经网络能够利用神经网络的学习机制自动的从训练样本中抽取规则,构成自适应的视觉伺服控制模型,并通过离线训练和在线学习算法进行模糊推理控制规则的自调整,使其本身朝着自适应、自组织、自学习的方向发展,极大的加快了视觉伺服控制模型的训练速度;

可选的,可以基于takagi-sugen模型设计该预设模糊神经网络,并在matlabr2017b环境下进行仿真,利用anfis生成视觉伺服控制模型,然后选择高斯函数作为输入语言变量的隶属函数进行训练仿真实验。

s103:接收输入的期望图像信息;

这里提到的期望图像信息即为机械臂能够抓取工件时图像采集装置所观察到的图像,该期望图像信息可以由用户收到输入,亦可由系统连接到互联网进行下载,只要能够达到获取期望图像信息的目的,本申请对此不作具体限定;

可选的,该期望图像信息可以是很多种(可以是点、线、夹角等简单的几何特征,也可以是图像纹理特征,还可以是基于图象矩的全局特征等等),图像特征的不同选取方法直接确定控制算法的输入变量情况。本申请对此不作具体限定。

s104:将期望图像信息输入至视觉伺服控制模型中,并通过图像采集装置采集目标工件的当前图像信息;

可选的,如图2所示,该图像采集装置具体可以为基于ccd图像传感器的摄像头,其具有灵敏度高、抗强光、畸变小、体积小、寿命长、抗震动等优点,其位于机械臂上,能够随着机械臂的运动而移动,这使得获得的图像信息直接与期望图像信息进行比对即可,不需要进行复杂的标定,有效提高了视觉伺服控制的速度;

可选的,这里提到的,通过图像采集装置采集目标工件的当前图像信息,其具体可以为:

通过图像采集装置实时采集目标工件的当前图像信息。

s105:利用视觉伺服控制模型将当前图像信息与期望图像信息的差值转化为机械臂的控制信号,并控制机械臂执行控制信号进行下一步动作。

基于上述技术方案,本申请所提供的一种视觉伺服控制的方法,通过利用训练样本对预设模糊神经网络进行训练,得到视觉伺服控制模型,并利用视觉伺服控制模型将获取到的图像信息与期望图像信息的差值转化为机械臂的控制信号,省略了雅可比矩阵求逆操作,极大的提高了视觉伺服控制的速度;同时,位于机械臂上的图像采集装置能够随着机械臂的运动而移动,使得不需要进行复杂的标定,有效提高了视觉伺服控制的精度,实现了机器人自动抓取和搬运铸件的运动控制,满足了加工生产中适应性和灵活性的要求。

针对于上一实施例的步骤s101,当机械臂为六自由度机械臂时,其中所描述的获取训练样本文,其具体也可以为如图3所示的内容,下面结合图3进行说明。

请参考图3,图3为图1所提供的一种视觉伺服控制的方法中s101的一种实际表现方式的流程图。

其具体包括以下步骤:

s301:在机械臂的运动范围内随机选择n组位姿向量,组成n个位姿学习样本;

其中,n=n6

六自由度机械臂也称为“六关节”机器臂,从底座开始算起到执行端有六个关节,每个关节可进行旋转运动,通过伺服电机驱动各个关节运动旋转一定角度的组合,使执行端运动到目标位置。

前三个轴可以把抓取器移到任意位置(被抓取物的位置),但是被抓取物的姿态(方向)是不确定的,所以还得再用三个轴调整抓取器的姿态以抓起被抓取物;

这里提到的位姿即为目标工件的空间位置和姿态(旋转及方向)。

s302:控制机械臂依次定位到n个位姿学习样本,并通过图像采集装置采集当前位姿学习样本的工件图像;

可选的,在获取到各个工件图像之后,还可以通过图像分割将目标工件分割出来,并通过二值化处理将工件图像由灰度图变为黑白图,可以提高图像处理速度,提高实时性。

s303:确定参考位姿,并计算n个位姿学习样本的工件图像相对于参考位姿的工件图像的图像矩向量差;

s304:将各图像矩向量差与对应的位姿学习样本作为训练样本。

可选的,这里提到的参考位姿具体可以为恰好抓起工件的位置的位姿;

可选的,针对于上一实施例的步骤s102,其中所描述的利用训练样本对预设模糊神经网络进行训练,得到视觉伺服控制模型,其具体也可以为如图4所示的内容,下面结合图4进行说明。

请参考图4,图4为图1所提供的一种视觉伺服控制的方法中s102的一种实际表现方式的流程图。

其具体包括以下步骤:

s401:将各图像矩向量差作为模糊神经网络的输入向量;

s402:将对应的各位姿学习样本作为预设模糊神经网络的输出向量,对预设模糊神经网络进行迭代训练;

s403:当预设模糊神经网络的参数稳定时,确定当前预设模糊神经网络为视觉伺服控制模型。

针对于上述实施例,当步骤s104所描述的通过图像采集装置采集目标工件的当前图像信息,具体为通过图像采集装置实时采集目标工件的当前图像信息时,步骤s105所描述的利用视觉伺服控制模型将当前图像信息与期望图像信息的差值转化为机械臂的控制信号,并控制机械臂执行控制信号进行下一步动作,其具体也可以如图4所示的步骤,下面结合图5进行说明。

请参考图5,图5为图1所提供的一种视觉伺服控制的方法中s105的一种实际表现方式的流程图。

其具体包括以下步骤:

s501:实时计算当前图像信息的图像矩特征;

s502:判断当前图像信息的图像矩特征与期望图像信息的图像矩特征的差值是否大于最小阈值;

若是,则进入步骤s503;若否,则进入步骤s505。

s503:将差值输入至视觉伺服控制模型;

s504:利用视觉伺服控制模型根据差值计算机械臂各关节的空间位姿增量,控制机械臂进行下一步动作;

在机械臂进行下一步动作之后,返回执行步骤s104;

s505:输出工件抓取完成的提示信息。

基于上述技术方案,本申请实施例通过实时判断当前图像信息的图像矩特征与期望图像信息的图像矩特征的差值是否大于最小阈值;若是,则证明此时机械臂尚未到达能够抓取目标工件的位置,此时将差值输入至视觉伺服控制模型,并根据差值计算机械臂各关节的空间位姿增量,控制机械臂进行下一步动作;若否,则证明此时机械臂已经到达能够抓取目标工件的位置且对目标工件进行抓取,此时输出工件抓取完成的提示信息。

请参考图6,图6为本申请实施例所提供的一种视觉伺服控制的系统的结构图。

该系统可以包括:

获取模块100,用于获取训练样本;其中,训练样本为多组图像矩向量差与对应的位姿学习样本的组合;

训练模块200,用于利用训练样本对预设模糊神经网络进行训练,得到视觉伺服控制模型;

接收模块300,用于接收输入的期望图像信息;

输入模块400,用于将期望图像信息输入至视觉伺服控制模型中,并通过图像采集装置采集目标工件的当前图像信息;其中,图像采集装置位于机械臂上;

控制模块500,用于利用视觉伺服控制模型将当前图像信息与期望图像信息的差值转化为机械臂的控制信号,并控制机械臂执行控制信号进行下一步动作。

请参考图7,图7为本申请实施例所提供的另一种视觉伺服控制的系统的结构图。

该获取模块100可以包括:

样本选择子模块,用于在机械臂的运动范围内随机选择n组位姿向量,组成n个位姿学习样本;其中,n=n6

图像获取子模块,用于控制机械臂依次定位到n个位姿学习样本,并通过图像采集装置采集当前位姿学习样本的工件图像;

第一计算子模块,用于确定参考位姿,并计算n个位姿学习样本的工件图像相对于参考位姿的工件图像的图像矩向量差;

第一确定子模块,用于将各图像矩向量差与对应的位姿学习样本作为训练样本。

该训练模块200包括:

第一输入子模块,用于将各图像矩向量差作为模糊神经网络的输入向量;

迭代训练子模块,用于将对应的各位姿学习样本作为预设模糊神经网络的输出向量,对预设模糊神经网络进行迭代训练;

第二确定子模块,用于当预设模糊神经网络的参数稳定时,确定当前预设模糊神经网络为视觉伺服控制模型。

该输入模块400可以包括:

实时采集子模块,用于通过图像采集装置实时采集目标工件的当前图像信息。

该控制模块500可以包括:

第二计算子模块,用于实时计算当前图像信息的图像矩特征;

判断子模块,用于判断当前图像信息的图像矩特征与期望图像信息的图像矩特征的差值是否大于最小阈值;

第二输入子模块,用于当当前图像信息的图像矩特征与期望图像信息的图像矩特征的差值大于最小阈值时,将差值输入至视觉伺服控制模型;

控制子模块,用于利用视觉伺服控制模型根据差值计算机械臂各关节的空间位姿增量,控制机械臂进行下一步动作,并返回实时采集子模块执行通过图像采集装置实时采集目标工件的当前图像信息的步骤;

输出子模块,用于当当前图像信息的图像矩特征与期望图像信息的图像矩特征的差值小于或等于最小阈值时,输出工件抓取完成的提示信息。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

请参考图8,图8为本申请实施例所提供的一种视觉伺服控制设备的结构图。

该视觉伺服控制设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在视觉伺服控制设备800上执行存储介质830中的一系列指令操作。

视觉伺服控制设备800还可以包括一个或一个以上电源828,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述图1至图5所描述的视觉伺服控制的方法中的步骤由视觉伺服控制设备基于该图8所示的结构实现。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上对本申请所提供的一种视觉伺服控制的方法、系统、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1