本发明涉及人工智能及控制技术领域,具体涉及一种基于生成查询网络的机械臂抓取点定位检测的方法。
背景技术:
有一些物体在移动过程中,只能抓取某些特定部位,如果抓取其他部位,则很有可能损坏物体。在使用机械臂移动这些物体时,机械臂的“抓手”只能抓取有限被允许抓取的部位。然而,在很多情况下,机械臂抓取的定位不精确,常常发生“错位”等意外,导致移动过程中物体损坏或者掉落。在之前的解决方案中,利用光感,电感,压感等物理方法。而这些方法需要在机械臂或物体上安装相应的物理感应器件,且只能确定物体是否被抓取,无法得到更多的信息。在一般机器视觉设备(如相机),由于拍摄角度、清晰度等因素,所拍摄的图像很可能信息缺失,让人难以直观理解。
技术实现要素:
本发明的目的是提供一种基于生成查询网络的机械臂抓取点定位检测的方法,能够独立与机械臂和被抓取的物体,使用人工智能的方法,检测机械臂抓取是否正确和规范,使操作人员能够较全面了解到操作过程中的情况。
为实现上述发明目的,本发明提供以下的技术方案:一种基于生成查询网络的机械臂抓取点定位检测的方法,包括如下步骤:
(1)提供一场景图像获取子系统、一三维模型生成子系统以及一检测判断子系统,所述场景图像获取子系统包括相机,所述三维模型生成子系统包括生成查询网络;
(2)通过所述相机对包含机械臂和被抓取物体的当前实际场景进行图片采集,形成带有空间姿态信息的图片序列;
(3)将步骤(2)获得的图片序列作为作为所述生成查询网络表现层的输入,生成与当前实际场景相互映射的三维仿真环境;
(4)通过所述检测判断子系统对步骤(3)生成的三维仿真环境进行分析,判断机械臂抓取物体是否成功,如是,则当前实际场景中机械臂抓取物体成功,如否,则当前实际场景中机械臂抓取物体失败。
优选的,通过在不同拍摄姿态间切换的一台相机或分别处于不同拍摄姿态的多台相机获取当前场景的图片序列。
优选的,所述相机为单目相机。
优选的,带有空间姿态信息的图片序列定义为
优选的,拍摄方位
优选的,所述生成查询网络在训练时选用值逼近方法,即最小化上界,作为代价函数,采用小批量自适应梯度下降的更新方式更新参数,即将训练集划分为很多批,对每一批计算误差并更新参数,即所述生成查询网络的损失函数公式为:
其中,
θ是模型的待训练的参数;
(x,v)~d是待训练的准备数据d;
z~qφ表示来自qφ的高维隐变量;
gθ(x|z,vq,r):生成模型,在隐变量z,视角v,从d中采样本处理后的r的条件下,生成的分布x,其参数为θ,在公式中为g;
πθ(z|vq,r):先验模型,在视角v,从d中采样本处理后的r的条件下,生成的隐变量z,其参数为θ,在公式中为π;
qφ(z|xq,vq,r):推理模型,在预测图片xq,视角v,从d中采样本处理后的r的条件下,生成的隐变量z,其参数为φ,在公式中为q;
l表示把隐变量z分成l组变成zl,其中l∈[1,l];
优选的,所述检测判断子系统对三维仿真环境中的机械臂抓取区域、机械臂带动物体移动区域以及物体放置区域进行预设,所述检测判断子系统判断三维仿真环境中预设的机械臂抓取区域与实时的机械臂抓取区域是否一致,如是,则标识机械臂抓取正确,如否,则标识机械臂抓取错误,所述检测判断子系统判断三维仿真环境中机械臂带动物体移动时物体是否掉落,如是,则标识抓取中物体掉落,如否,则标识抓取中物体保持,所述检测判断子系统判断三维仿真环境中预设的物体放置区域与实时的物体放置区域是否一致,如是,则标识物体放置正确,如否,则标识物体放置错误。
由于上述技术方案运用,本发明与现有技术相比具有以下优点:本发明公开的基于生成查询网络的机械臂抓取点定位检测的方法,以摄像机获取图片为输入,判断机械臂抓取位点的情况。传统方法是使用光、电,压力等物理方法。而本方法基于生成查询网络,使用人工智能的方法,解决了传统方法依赖相应的电子元器件,且需要固定安装在机械臂或物体上,复用度低,适用场合的广泛性不高,仅提供光、点、压力的参数,不便理解等方面的不足,本方法可以提供更多的抓取状态信息,并且能够智能检测抓取点是否抓取成功,并给予操作员相应的状态信息。
附图说明
图1为本发明公开的基于生成查询网络的机械臂抓取点定位检测的方法的流程图;
图2为本发明公开的生成查询网络的结构图;
图3为本发明公开的生成查询网络的表现层网络架构。
具体实施方式
下面结合本发明的原理、附图以及实施例对本发明进一步描述
参见图1至图3,如其中的图例所示,一种基于生成查询网络的机械臂抓取点定位检测的方法,包括如下步骤:
(1)提供一场景图像获取子系统、一三维模型生成子系统以及一检测判断子系统,上述场景图像获取子系统包括相机,上述三维模型生成子系统包括生成查询网络,上述相机为单目相机;
(2)通过上述相机对包含机械臂和被抓取物体的当前实际场景进行图片采集,形成带有空间姿态信息的图片序列,通过在不同拍摄姿态间切换的一台相机或分别处于不同拍摄姿态的多台相机获取当前场景的图片序列,带有空间姿态信息的图片序列定义为
(3)将步骤(2)获得的图片序列作为作为上述生成查询网络表现层的输入,生成与当前实际场景相互映射的三维仿真环境;
(4)通过上述检测判断子系统对步骤(3)生成的三维仿真环境进行分析,判断机械臂抓取物体是否成功,如是,则当前实际场景中机械臂抓取物体成功,如否,则当前实际场景中机械臂抓取物体失败。
上文中,上述生成查询网络在训练时选用值逼近方法,即最小化上界,作为代价函数,采用小批量自适应梯度下降的更新方式更新参数,即将训练集划分为很多批,对每一批计算误差并更新参数,即所述生成查询网络的损失函数公式为:
其中,
θ是模型的待训练的参数;
(x,v)~d是待训练的准备数据d;
z~qφ表示来自qφ的高维隐变量;
gθ(x|z,vq,r):生成模型,在隐变量z,视角v,从d中采样本处理后的r的条件下,生成的分布x,其参数为θ,在公式中为g;
πθ(z|vq,r):先验模型,在视角v,从d中采样本处理后的r的条件下,生成的隐变量z,其参数为θ,在公式中为π;
qφ(z|xq,vq,r):推理模型,在预测图片xq,视角v,从d中采样本处理后的r的条件下,生成的隐变量z,其参数为φ,在公式中为q;
l表示把隐变量z分成l组变成zl,其中l∈[1,l];
上文中,上述检测判断子系统对三维仿真环境中的机械臂抓取区域、机械臂带动物体移动区域以及物体放置区域进行预设,所述检测判断子系统判断三维仿真环境中预设的机械臂抓取区域与实时的机械臂抓取区域是否一致,如是,则标识机械臂抓取正确,如否,则标识机械臂抓取错误,所述检测判断子系统判断三维仿真环境中机械臂带动物体移动时物体是否掉落,如是,则标识抓取中物体掉落,如否,则标识抓取中物体保持,所述检测判断子系统判断三维仿真环境中预设的物体放置区域与实时的物体放置区域是否一致,如是,则标识物体放置正确,如否,则标识物体放置错误。
本发明提供一种机械臂抓取点定位检测的方法,以摄像机获取图片为输入,判断机械臂抓取位点的情况。传统方法是使用光、电,压力等物理方法。而本方法基于生成查询网络,使用人工智能的方法,解决了传统方法依赖相应的电子元器件,且需要固定安装在机械臂或物体上,复用度低,适用场合的广泛性不高,仅提供光、点、压力的参数,不便理解等方面的不足,本方法可以提供更多的抓取状态信息,并且能够智能检测抓取点是否抓取成功,并给予操作员相应的状态信息。
基于生成查询网络的机械臂抓取点定位检测的方法,包括多个步骤,场景数据准备,是针对机械臂和物体所在场景拍摄的一系列的图片,该图片序列作为生成查询网络的输入的图片序列。生成查询网络训练完成,内部生成该图片序列的场景模型,作为初始的仿真环境,供后期使用。接下来,在仿真环境中设置抓取区域和放置区域,旨在检测物体是否抓取和放置正确;在仿真环境中,设置抓取状态和放置状态,旨在检测机械臂抓取物体出现的各种情况,并由相应的状态。接着,更新场景,是从场景中一个固定视角的相机输入一张图片作为输入,实时推理和更新仿真环境。检测机械臂状态,将现实通过推理更新映射到仿真环境,现实中的机械臂状态就是仿真环境中机械臂状态,检测仿真环境中机械臂状态就可以知道现实中机械臂状态。详细步骤如下:
步骤一:数据准备阶段
把以机械臂为圆心,机械臂到被抓取物体为半径的区域作为最小视角半径,在这个视角场景中拍摄一系列的图片。且是多角度拍摄同个场景,所拍摄的图片越多,后期检测结果越准确。所拍摄的图片同时要带有五个维度的信息,这五个维度分别是摄像机的x轴,摄像机的y轴,摄像机的z轴,摄像机的俯仰角(pitch)和摄像机的偏航角(yaw)。这五个维度表示的是该张图片被拍摄时摄像机的方位以及角度。也就是说每张图片与摄像机的姿态一一对应。而这一系列图片形成的图片集合被称为图片序列,它所包括的内容有图片和摄像机的姿态,整个图片序列作为生成查询网络的训练数据。对于该序列,使用
在条件生成模型中,由于交叉熵作为代价函数需要对高维度的隐变量进行积分过于困难,所以选用值逼近方法,即最小化上界,作为代价函数。
采用小批量自适应梯度下降的更新方式更新参数,即将训练集划分为很多批,对每一批计算误差并更新参数。损失函数技术方式如下:
观察到的训练样本模型:
后验因子:
先验因子:
后验样本:
其中,
训练完成即可将元输入的二维图片序列生成一个三维场景模型。
步骤三:物体抓取点,抓取区域和放置区域设置
将生成的三维场景模型作为仿真环境,将现实机械臂和物体的状态映射到仿真环境中。设置环境中物体抓取点、机械臂抓取物体区域和放置区域。
步骤四:抓取状态和警告设置
当仿真环境中机机械臂抓取点定位成功,标识抓取成功状态;当仿真环境中机械臂抓取点定位失败,标识抓取失败状态。当仿真环境中机械臂抓取物体中途掉落,标识中途掉落状态;当房中环境中机械臂抓取物体放置到正确位置,标识放置成功状态;当仿真环境中,机械臂抓取物体放置位置错误,标识放置失败状态。使用这些状态表示机械臂在抓取和放置物体时可能发生的情况,同时,给予操作人员相应的提醒或警告。
步骤五:输入固定视角相机
选择一个固定视角,该固定视角的选择范围以机械臂为圆心,机械臂与被抓取物体的距离作为最小半径的地面上半圆。拍摄的图片要求包含机械臂和物体,并且该图片中机械臂不能遮挡到被抓取物体。
步骤六:更新场景
更具新的图片输入,通过生成查询网络推理当前的机械臂和物体状态,实时更新场景模型。
步骤七:检测机械臂状态
现实中机械臂状态和仿真环境中机械臂状态是映射的,仿真环境中的机械臂状态可以指代现实中的机械臂状态,以此来判断机械臂抓取物体的状态。根据实时的仿真环境的反馈,基于相应的抓取状态和警告。
基于生成查询网络的机械臂抓取点定位检测的方法,使用机器视觉的方式和人工智能的方法来检测机械臂抓取物体的状态,并将状态信息通过三维仿真环境表现出来,比传统依靠普通的物体方法检测具有更多可利用和观察的信息。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。