基于图神经网络的机器人自主工具构建方法、系统及相关设备与流程

文档序号:22892592发布日期:2020-11-10 18:30阅读:97来源:国知局
基于图神经网络的机器人自主工具构建方法、系统及相关设备与流程

本发明属于计算机视觉与共融机器人领域,具体涉及一种基于图神经网络的机器人自主工具构建方法、系统及相关设备。



背景技术:

基于图神经网络的机器人自主工具构建方法相较于原有工具构建方法,大大提高了工具构建的灵活性,准确性,适应性。机器人自主工具构建可以解释为给定一个参考工具,机器人会从一些候选零件中自动选择最合适的零件去构建该工具。现有的大部分工具构建方法都是先将参考工具分割为功能部分与抓取部分,再将候选零件与分割出的部分进行匹配,选择最为类似的零件,最后拼接该零件。该方法使得工具的拼接只能以功能部分与抓取部分的模式进行,而实际上,零件可以以多种模式组成参考工具,因此原有方法极大程度地限制了工具构建的灵活性与可行性。



技术实现要素:

本发明的目的在于克服原有技术灵活性低,适应性差,缺乏对场景宏观理解的缺点,提供一种基于图神经网络的机器人自主工具构建方法、系统及相关设备,该方法能够更好地理解自主工具构建场景,更加灵活,全面,高效,精准地完成该任务。

为了达到上述目的,本发明采用以下技术手段:

一种基于图神经网络的机器人自主工具构建方法,包括:

在仿真环境中自动生成机器人的训练数据,并获得了大量工具场景和零件场景的标注信息生成数据集;

在部署于真实机器人进行自动工具构建时,使用深度传感器进行参考工具场景以及候选零件场景的深度图的采集;

通过深度神经网络与门控图神经网络的结合,建立不同候选零件对间的特征连接,完成候选零件的选择以及构建姿态检测;

使用检测最小外接矩形的方式检测抓取部位,并最终操纵实体机器人根据之前检测到的信息完成工具的组装。

作为本发明的进一步改进,在仿真环境中生成机器人的训练数据具体步骤为:

采集工具的3d模型并缩放至合适的尺寸,并将3d工具模型加载进仿真环境中进行随机切割、组合以及堆放,以获得参考工具场景以及候选零件场景;之后该场景将被加载进渲染模块以获得场景的深度图像并且通过相机变换的方式自动获得参考工具以及零件的边框,连结点和旋转四元数。

作为本发明的进一步改进,所述3d工具模型使用pybullet物理仿真引擎与blender渲染软件自动进行3d工具模型的分割与组合。

作为本发明的进一步改进,所述标注信息包括深度图以及其中适合构建参考工具的零件的边框、旋转四元数。

作为本发明的进一步改进,所述参考工具场景包括一个参考工具,候选零件场景包括多个候选零件。

作为本发明的进一步改进,所述深度传感器型号为kinect深度传感器。

作为本发明的进一步改进,建立不同候选零件对间的特征连接具体步骤为:

以参考工具场景的深度图以及候选零件场景的特征图作为输入并通过卷积网络cnn进行图片特征的提取以及工具,零件边框的检测;遍历场景中所有检测到的零件对,并将池化后参考工具,对应零件之间的特征拼接到一起,再使用门控图神经网络连结所有零件对的特征,并对每个零件对是否适用于组成参考工具进行判断,对构成参考工具时的零件连结点以及旋转四元数进行回归。

一种基于图神经网络的机器人自主工具构建系统,包括:

数据集生成模块,用于在仿真环境中自动生成机器人的训练数据,并获得了大量工具场景和零件场景的标注信息生成数据集;

深度图采集模块,用于在部署于真实机器人进行自动工具构建时,使用深度传感器进行参考工具场景以及候选零件场景的深度图的采集;

零件选择以及构建姿态检测模块,用于通过深度神经网络与门控图神经网络的结合,建立不同候选零件对间的特征连接,完成候选零件的选择以及构建姿态检测;

机器人自主工具构建模块,用于使用检测最小外接矩形的方式检测抓取部位,并最终操纵实体机器人根据之前检测到的信息完成工具的组装。

一种基于图神经网络的机器人自主工具构建设备,包括:存储器、处理器及存储在所述存储器上并可在所述基于图神经网络的机器人自主工具构建程序,所述基于图神经网络的机器人自主工具构建程序被所述处理器执行时实现所述的基于图神经网络的机器人自主工具构建方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有基于图神经网络的机器人自主工具构建程序,所述基于图神经网络的机器人自主工具构建程序被处理器执行时实现所述的基于图神经网络的机器人自主工具构建方法的步骤。

与现有技术相比,本发明具有以下有益效果:

本发明基于图神经网络的机器人自主工具构建方法首先在仿真环境下生成训练数据。该方法对3d工具模型进行自由分割与组合,尽可能遍历到所有的分割与组合方式,再通过获得的数据集对模型进行训练。与原先方法相比,该方法通过生成数据集逆向训练的方式使得模型具有更好的通用性以及灵活性。此外,该方法以视觉数据作为输入,在使用深度网络进行特征提取后,使用图神经网络对各候选零件的特征进行连结。由于候选零件是否适配于参考工具不仅取决于其本身的形态特征,还取决于其它零件的形态特征,因此该图神经网络考虑了场景的整体性,对该任务的性能,以至对共融机器人的发展于应用有极其重要的作用。本发明灵活性好,全面性高,能在更加广泛,复杂的场景中选择最合适的零件组合方式来构成参考工具,对共融机器人以及服务机器人等的发展和应用有较大的意义。

进一步,本发明的使用pybullet物理仿真引擎与blender渲染软件自动进行3d工具模型的分割与组合以生成训练及测试数据;本发明将神经网络与图神经网络结合并首次应用于机器人自主工具构建工作,精度更高,适用场景更广。

附图说明

图1为本发明的方法框架图;

图2为数据集生成流程的示意图;

图3为基于图神经网络的机器人自主工具构建系统模块示意图。

具体实施方式

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

本发明一种基于图神经网络的机器人自主工具构建方法包括数据集生成,视觉数据获取,零件选择以及构建姿态检测,机器人自主工具构建四部分:

数据集生成:该步骤在仿真环境中生成训练数据,极大地减小了人工量并且扩大了数据集的体量。首先该步骤采集了100个工具的3d工具模型并缩放至合适的尺寸;之后这些模型将被加载进仿真环境pybullet中进行随机切割,组合以及堆放,以获得参考工具场景以及候选零件场景;之后该场景将被加载进渲染软件blender以获得场景的深度图像并且通过相机变换等方式自动获得参考工具以及零件的边框,连结点和旋转四元数。

在仿真环境中自动生成机器人的训练数据,并获得了大量工具场景和零件场景的标注信息生成数据集;所述标注信息包括深度图以及其中适合构建参考工具的零件的边框、旋转四元数。

视觉数据获取:在部署于真实机器人进行自动工具构建时,该方法使用深度传感器kinect进行参考工具场景以及候选零件场景的深度图的采集;其中参考工具场景包括一个参考工具,候选零件场景包括多个候选零件。

零件选择以及构建姿态检测:该步骤通过深度神经网络与图神经网络的结合,在不同候选零件特征间建立了联系,有效完成了候选零件的选择以及构建姿态检测。首先该步骤以参考工具场景的深度图以及候选零件场景的特征图作为输入并通过卷积网络cnn进行图片特征的提取以及工具,零件边框的检测;之后该方法遍历场景中所有检测到的零件对(oi,oj),并将池化后参考工具,零件oi,零件oj的特征连结到一起,再对该零件对是否适用于组成参考工具进行判断,对构成参考工具时的零件连结点以及旋转四元数进行回归。重要的是,由于候选零件是否适用于构建参考工具不仅仅取决于其自身的特征,也极大程度地取决于其它零件的特征,因此相较于现有工具构建算法,本方法创造性地使用了全连接门控图神经网络来连结各个零件对间的特征,从整体场景入手,使算法能够更加精准,有效,灵活地完成自主工具构建的任务。

机器人自主工具构建:在获得了最适合构建参考工具的零件信息,构建连结点以及旋转四元数之后,该方法使用检测最小外接矩形的方式检测抓取部位,并最终操纵实体机器人根据之前检测到的信息完成工具的组装。

其中,“数据集生成”以及“零件选择以及构建姿态检测”是该技术的核心内容。“数据集生成”在仿真环境中尽可能遍历所有零件组合的情况,并使用生成的数据进行模型训练。“零件选择以及构建姿态检测”使用门控图神经网络连结各零件对间的特征,增加了算法对整体场景的考虑,在复杂环境下取得了67.5%的工具构建成功率。

在双臂协作机器人如果想要完成较为复杂的任务,例如场景的分析,堆叠物体的抓取以及散乱场景下工具,零件的装配等,都需要大量的训练数据。本发明所提出的数据仿真生成方法利用物理引擎以及渲染软件生成深度图,并通过相机变换算法自动对数据进行标注,极大地扩充了训练及测试的数据量,减小了训练数据标注的人工成本。而该数据集生成流程(在blender中进行模型分割与模型组合—>将模型加载进pybullet中进行场景生成—>将生成场景加载回blender进行训练数据生成。

流程示意图见图2,对双臂协作机器人,服务型机器人在复杂环境下完成抓取,分拣,装配等各类任务都具有非常高的应用价值。本发明提出的使用卷积神经网络与图神经网络相结合进行场景分析的方法考虑了场景中各变量的整体性,极大地提升了任务的精度。随着工业界机器人的发展逐渐从简单的执行器到更加智能化的服务者,协作者转变,机器人需要面对的场景不再结构化,因此对场景的准确理解将至关重要,本方法在这些任务下都有较高的应用价值。

综上所述,本发明一种基于图神经网络的机器人自主工具构建方法。该方法在仿真环境下生成训练数据,以包含目标工具的深度图以及包含多个候选零件的深度图为输入,先使用深度网络进行候选零件的选择,连接点以及构建姿态的回归。由于各个可能的零件选择之间并不相互独立,本方法独创性地使用图神经网络对各个零件对进行连结,最后综合选出最优的候选零件以用于构建目标工具。

本发明还提供一种基于图神经网络的机器人自主工具构建系统,包括:

数据集生成模块,用于在仿真环境中生成机器人的训练数据,获得了大量工具场景,零件场景的深度图以及其中适合构建参考工具的零件的边框,旋转四元数等标注信息;

深度图采集模块,用于在部署于真实机器人进行自动工具构建时,使用深度传感器进行参考工具场景以及候选零件场景的深度图的采集;

零件选择以及构建姿态检测模块,用于通过深度神经网络与门控图神经网络的结合,建立不同候选零件对间的特征连接,完成候选零件的选择以及构建姿态检测;

机器人自主工具构建模块,用于使用检测最小外接矩形的方式检测抓取部位,并最终操纵实体机器人根据之前检测到的信息完成工具的组装。

本申请第三方面提供了一种基于图神经网络的机器人自主工具构建设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述基于图神经网络的机器人自主工具构建程序,所述基于图神经网络的机器人自主工具构建程序被所述处理器执行时实现所述的基于图神经网络的机器人自主工具构建方法的步骤。

本申请第四方面提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于图神经网络的机器人自主工具构建程序,所述基于图神经网络的机器人自主工具构建程序被处理器执行时实现所述的基于图神经网络的机器人自主工具构建方法的步骤。

本发明使用的仿真环境下的数据生成方法有效减小了数据采集的人工量,扩大了数据集的体量。此外,本方法采用端对端的模式训练和测试深度学习网络以及图神经网络,有效保证了模型的整体性,减少了模型的训练时间,提升了模型的实时性以及精度。本发明可以帮助机器人在纯视觉输入的场景中有效完成自动工具构建任务,并且增加了机器人对场景整体性的考虑,对于共融机器人项目的发展有重要意义。

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

本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

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

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

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

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

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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