通过机器人设备拾取对象的方法与流程

文档序号:33698545发布日期:2023-03-31 17:21阅读:39来源:国知局

1.本公开涉及用于通过机器人设备拾取对象的方法。


背景技术:

2.为了使机器人能够灵活地制造或加工对象而期望:机器人能够拾取(例如抓取)对象,而不管该对象在机器人的工作空间中的放置位置,并且还能够拾取尚未见过的对象变体。
3.存在几种方法例如用于:在机器人从容器中取出对象(英文bin picking(箱中取物))时识别出最有希望从容器中成功取出对象的抓取部位(stelle)。这些方法通常使用相应场景的彩色(例如,rgb)图像和深度图像,其中在某些情况下,要么使用彩色图像要么使用深度图像就足够。此外,这些方法中的大多数都依赖于 ki 方法,例如使用神经网络来学到输入数据和有希望的抓取点之间的分配。
4.这些方法的困难在于泛化到不同的输入,例如新的场景/背景、对象的新形状、对象的不同外观/颜色等。为了减轻这些在泛化方面的一些困难,可以应用预处理步骤来强调相应的原始摄像机数据的相关方面。
5.因此而期望的是:相应的有效方法来预处理对象的图像,其中所述图像使得能够通过神经网络而识别拾取区域。


技术实现要素:

6.根据不同实施方式,提供了一种用于通过机器人设备拾取对象的方法,所述方法包括:获取(beschaffen)对象的至少一个深度图像;为该对象的多个点中的每一个确定针对该对象的该点周围区域中的表面法线向量的分散(streuung)的度量值;将所确定的值输送给神经网络,所述神经网络被设立用于,响应于包含这些分散度量值的输入而输出用于拾取的对象部位的说明(angabe);根据如下输出而确定用于拾取该对象的对象部位,神经网络响应于所确定的值的输送而输出所述输出;以及控制机器人设备在所确定的部位处拾取该对象。
7.通过以确定(表面)法线向量的分散度量值的形式使用图像数据的预处理,上述方法能够检测出用于拾取对象的部位,该检测相对图像区域的变化更鲁棒,并且使得能够更好地泛化(verallgemeinerung)到那些新的(即,未在训练中看过的)场景和对象,这些对象具有(与在训练中看到的)不同的外观但具有在拾取方面相似的特性。
8.例如补充了神经网络的图像输入数据的预处理的结果(即,分散度量值的计算)导致针对神经网络的更有说服力的输入数据。因此加速了基于这种输入数据的训练并且可以选择相对较小的神经网络,因为从神经网络输入到神经网络输出的映射不太复杂或更直接。
9.执行的处理、特别是由神经网络执行的推理(inferenz)被用于检测出用于拾取对象的部位或区域或姿势(posen)。这是在没有模型(modellfrei)的情况下完成的,即,仅通
过评估来自输入图像(例如 rgb 和深度输入或仅深度)的对象的部位的可拾取性而完成的,而不是将其与目标对象模型进行比较而完成的。对拾取姿势的确定例如对于机器人从容器中取出对象的应用而言是相关的,以便相应地规划拾取动作。对确定用于拾取的部位或区域(或最终确定姿势)的识别也可能与其他机器人应用相关,例如用于其中机器人必须抓取对象的装配。应用不限于特定类型的拾取设备(例如抓具类型)。
10.下面说明各种实施例。
11.实施例1是使用如上所述的机器人设备拾取对象的方法。
12.实施例2是根据实施例1的方法,其中针对分散的度量是对象的点周围区域中表面法线向量的方差或标准偏差。
13.标准偏差和方差是针对参量分散度的合适度量。
14.实施例3是根据实施例1或2的方法,其中神经网络的输出说明了针对对象的多个点的拾取质量(aufnehmqualit
ä
t)。
15.然后可以(由相应的控制装置)从该输出中选择一个(例如最佳的)拾取部位,其中可以考虑(例如用于抽吸的)所需区域的大小。例如,可以选择具有足够大小的区域,其中在所述区域中平均拾取质量最高。
16.实施例4是根据实施例1至3中任一项所述的方法,其中所述神经网络被设立用于,响应于包含分散度量值和深度图像数据的输入来输出用于拾取的对象部位的说明,并且其中将所确定的值与深度图像一起输送到该神经网络。
17.神经网络对深度图像本身的考虑可以提高确定拾取部位的准确性。
18.实施例5是根据实施例1至4中任一项所述的方法,其中所述神经网络被设立用于,响应于包含分散度量值和彩色图像数据的输入来输出用于拾取的对象部位的说明,并且其中将所确定的值与该对象的一个或多个彩色图像一起输送到神经网络。
19.神经网络对一个或多个彩色图像的考虑也可以提高确定拾取部位的准确性。
20.实施例6是根据实施例1至5中任一项所述的方法,其中获取深度图像包括将摄像机接收到的摄像机深度图像预处理为深度图像,其中所述预处理为孔洞填补、降噪和/或去除异常值。
21.由此增高了确定拾取部位的可靠性。
22.实施例7是根据实施例1至6中任一项所述的方法,其中,确定针对表面法线向量的分散的度量值包括:将深度图像的像素转换为3d的点,并由所述3d的点确定表面法线向量。
23.由此可以提高确定表面法线向量的鲁棒性和准确性,并最终提高分散度量的值。特别地,可以考虑记录用于记录了该深度图像的摄像机的内在固有参数和外在参数。
24.实施例8是根据实施例1至7中任一项所述的方法,其中,所述机器人设备具有抽吸设备并被控制用于,借助所述抽吸设备在所确定的部位处拾取该对象。
25.考虑到表面法线向量的分散度量的所建议方法特别好地满足了抽吸式拾取设备的物理需求,在所述物理需求情况下必须在拾取设备和对象表面之间形成密封真空以便将该对象提升,并且因此例如不允许该表面过于粗糙(即法线向量的分散度应该很小)。
26.实施例9是一种控制装置,该控制装置被设立用于,执行根据实施例1至8中任一项所述的方法。
27.实施例10是具有指令的计算机程序,所述指令在由处理器执行时使该处理器执行
根据实施例1至8中任一项所述的方法。
28.实施例11是一种存储指令的计算机可读介质,所述指令在由处理器执行时使该处理器执行根据实施例1至8中任一项所述的方法。
附图说明
29.在附图中,相同附图标记在所有不同视图中通常涉及相同部分。附图不一定是按比例,而是通常重点在于说明本发明的原理。在以下描述中,参考以下附图描述了不同方面。
30.图1 示出机器人。
31.图2图示了用于由机器人拾取对象的数据处理。
32.图3示出了说明通过机器人设备拾取对象的方法的流程图。
33.以下详细描述参考了附图,这些附图为了解释的目的而显示了本公开的具体细节和可以在其中实施本发明的方面。可以使用其他方面,并且可以执行结构上、逻辑上和电气上的改变而不偏离本发明的保护范围。本公开的不同方面不一定是相互排斥的,因为本公开的一些方面可以与本公开的一个或多个其他方面组合以形成新的方面。
具体实施方式
34.下面更详细地描述不同示例。
35.图 1 示出机器人 100。
36.机器人100包括机器人臂101,例如工业机器人臂,用于操纵或组装工件(或一个或多个其他对象)。机器人手臂101包括操纵器(manipulator)102、103、104和支撑操纵器102、103、104的基座(或支撑件(st
ü
tze))105。术语“操纵器”是指机器人臂 101 的可移动部件,对其进行的操纵能够实现与周围环境的物理交互,以便例如执行任务。为了控制,机器人100包括(机器人)控制装置106,其被设计为根据控制程序实现与周围环境的交互。操纵器102、103、104的最终部件104(其离支撑件105最远)也被称为末端执行器104并且可以包括一个或多个工具,例如焊炬、夹持仪器、油漆设备等。
37.其他操纵器102、103(其更靠近支撑件105)可以形成定位设备,使得与末端执行器104一起而提供了在自身末端具有末端执行器104的机器人臂101。机器人臂101是可以提供与人类手臂类似的功能的机械手臂(可能在自身末端具有工具)。
38.机器人臂101可以包括将操纵器102、103、104彼此连接并连接到支撑件105的关节元件107、108、109。关节元件107、108、109可以包括一个或多个关节,这些关节分别可以提供针对相关联的操纵器的相对于彼此的可旋转的运动(即旋转运动)和/或平移运动(即转移(verlagerung))。操纵器102、103、104的运动可以通过由控制装置106控制的执行机构来启动。
39.术语“执行机构(aktor)”可以被理解为被构造成响应于对其的驱动而引起机械机制(mechanismus)或过程的组件。执行机构可以将由控制装置106创建的指令(所谓的激活)实现为机械运动。执行机构,例如机电转换器可以被设计为响应于被驱动而将电能转换为机械能。
40.术语“控制装置”可以理解为任何类型的逻辑实现实体,其可以例如包括如下电路
和/或处理器,所述电路和/或处理器能够执行存储在存储介质中的软件、固件或其组合,并且能够向例如本示例中的执行机构发出命令。例如,控制装置可以通过程序代码(例如软件)来得以配置,以控制系统(在本示例中为机器人)的运行。
41.在本示例中,控制装置106包括一个或多个处理器110和存储器111,存储器111存储处理器110控制机器人臂101所基于的代码和数据。根据各种实施方式,控制装置106基于存储在存储器111中的机器学习模型112来控制机器人臂101。
42.根据各种实施方式,机器学习模型112被设计和训练用于使机器人100能够识别对象113的部位,机器人100可以在这些部位拾取对象113(或以其他方式与其交互,例如涂漆)。
43.例如,机器人100可以配备一个或多个摄像机114,所述摄像机使机器人能够记录其工作空间的图像。例如,摄像机114被固定在机器人手臂101上,使得机器人可以通过四处移动(herumbewegen)机器人手臂101来从不同视角拍摄该对象113的图像。
44.根据各种实施方式,机器学习模型112是神经网络112并且控制装置106向神经网络112输送基于对象113的一个或多个数字图像(彩色图像、深度图像或两者)的输入数据,并且神经网络112被设立用于,说明对象113的适合于拾取对象113的部位(或区域)。例如,神经网络可以相应地分割显示该对象113的输入图像,例如,为每个像素分配值(“拾取质量值”),该值指示该像素适合于拾取的程度。控制装置106然后可以选择足够大小的如下区域来作为用于拾取的部位,在该区域内这些值足够高(例如高于阈值、平均值最大等等)。
45.根据各种实施方式,由控制装置106预处理由摄像机提供的原始图像数据,而不是将所述原始数据直接输送给神经网络112作为输入。该预处理的结果(可能与至少一部分原始图像数据一起)被用作神经网络112的输入,从而实现鉴于神经网络112的输入数据方面的质量改进。在这里,质量改进意味着通过以下一种或多种方式原始图像数据进行更改:(1) 去除在来自某些来源的数据中可能更强烈地存在的噪声和伪影,例如通过深度补全来去除针对特定类型摄像机而言特征性的缺失数据,或通过在合成数据中人为地产生此类伪影。这种形式的预处理也称为图像增强预处理(bildverbesserungs-vorverarbeitung),这种形式的预处理也是对下面所描述的计算而言的有用的准备。
46.(2) 经预处理的数据促使:针对跨颜色和深度的不同模态来训练神经网络112。根据各种实施方式而具体考虑的模态是图像中所示的对象表面的法线向量的标准偏差(或针对分散度的其他度量,例如方差)。法线向量标准偏差适用于表示表面的局部平坦度,并且因此对于抓取质量(或用于抽吸的对象区域的质量)而言是特别相关的信息。从其他的预处理步骤中可能会产生其他的模态,例如对象掩模或背景分割。
47.图2图示了用于由机器人201(对应于机器人100)拾取对象的数据处理。
48.例如对应于摄像机114的一个或多个摄像机202提供原始图像数据(即一个或多个图像)203。假设原始图像数据尤其是包含关于应由机器人201拾取的对象204的深度信息。
49.根据这些深度信息,在预处理205中确定对象204的表面的法线向量及其(在表面的不同区域中的)标准偏差206。这被输送到神经网络207作为输入。神经网络207的输入还可以包含部分(或全部)原始图像数据203或根据先前的图像增强预处理(例如降噪)而由此产生的图像数据。如上所述,这种先前的图像增强预处理也可以用于产生将其用作标准偏差确定205的基础的图像数据。
50.神经网络201(例如借助相应的训练输入和相关的目标输出,即用于监督学习的地面真值标签)被训练以将输入映射到如下输出,所述输出标识出对象113的如下部位或区域,所述部位或区域(例如特别好地)适合于拾取该对象。
51.可以针对神经网络207而使用不同的架构。神经网络207可以仅具有用于法线向量的标准偏差的单个输入通道,或者具有多通道输入,所述多通道输入除了其他数据(例如,彩色图像数据和/或深度图像数据)以外附加地还包含法线向量的标准偏差作为一个通道的数据。示例是全卷积网络(英文:fullyconvolutionalnetworks,例如unet、resnet),它们为输入图像的每个像素分配一个值(该值指示相应部位适合于拾取所示出对象的程度),以便形成与输入图像大小相同的输出图像。这使得能够进一步处理输出以确定拾取姿势,例如通过在输出图像中选择全局最大值。
52.已建立的图像处理(例如计算机视觉)算法可用于预处理205图像数据(尤其是深度图像数据)以确定法线向量的标准偏差。为了计算法线向量,可以以数值计算相应深度图像的梯度。可以使用图像卷积(faltung)逐像素计算法线向量的平均值。根据为此目的定义和建立的统计操作,由法线向量及其平均值计算标准偏差。
53.由(法线向量标准偏差确定)预处理205和神经网络207组成的数据处理提供了如下输出,所述输出可以解释为拾取区域或拾取姿势的说明。如上所述,其获得对象204的深度信息,例如数字深度图像。神经网络207还可以另外获得该对象的一个或多个彩色图像。
54.根据一个实施方式,在获得这样的图像203之后,执行以下操作:(a)[可选地]对所接收的深度图像进行图像增强预处理(b)对深度图像中法线向量的标准偏差进行计算(c)通过神经网络207进行推理以检测出针对拾取部位和/或姿势的有希望的候选(d)[可选地]从所检测到的候选中选择拾取部位和/或姿势。
[0055]
对计算法线向量标准偏差而言特别有用的可选图像增强预处理的可能性如下:(a1)填补深度图像中的孔洞,即具有缺失值的像素,例如通过(a1a)使用图像修复(inpainting)操作,(a1b)使用最近邻的值,(a1c)使用膨胀操作等。孔洞填补改进了法线向量的质量,这是因为孔洞附近的法线向量由于缺少信息而较不准确并且使孔洞模式主导了(dominieren)网络推理,并可能导致过度拟合(
ü
beranpassung)。
[0056]
(a2)对深度图像中的值进行平滑处理,例如用于降噪。例如,这可以通过(a2a)经典计算机视觉模糊操作或(a2b)通过局部过滤操作去除异常值来完成。通过平滑而改进了法线向量的标准偏差的效力,因为高标准偏差相比于仅仅由深度测量中的噪声引起的标准偏差更能反映出表面法线向量的实际标准偏差。
[0057]
(a3)根据不同标准过滤深度值,例如(a3a)去除目标区域外的深度值或(a3b)减去背景深度图像。过滤有助于将网络推理集中在图像的相关区域上。应该注意的是,通过将深度设置为特定值、例如零来进行过滤而产生法线向量的小标准偏差,这可能会产生误导。因此,根据一个实施方式,针对不适合的像素的标准偏差被明确地设置为高值。
[0058]
能够以如下方式由(可选地预处理的)深度图像而对深度图像的每个像素的法线向量标准偏差进行计算:(b1)[可选地]通过考虑摄像机202的内在参数(如果已知的话),将深度图像的
所有像素(通过使用它们的深度像素值)而转换为3d空间中的点。然后,利用这些点而不是直接利用深度图像来进行后续操作,其方式为,构建其中针对每个像素都包含该点的3d坐标的图像。这可以改进所确定的法线向量的鲁棒性和准确性。
[0059]
(b2)通过形成数值梯度,例如通过对深度图像的移位并从原始深度图像中减去经移位的深度图像,从深度图像或在(b1)中生成的图像的点计算法线向量。以这种方式,例如,可以确定x和y方向上的深度变化,并且可以使用向量积和随后的归一化而由此获得法线向量。所有像素位置的法线向量都可以以其他图像的形式表示,该图像具有与深度图像相同的维度并且具有说明法线向量的x、y和z分量的三个通道(由于归一化,这些通道其中的两个也是足够的,而不会丢失信息)。
[0060]
(b3)计算像素的特定邻域(umgebung)(即特定附属区(einzugsgebiet))中每个像素的法线向量的平均值。附属区可以任意定义,但其大小可以例如根据拾取设备的大小来选择,即等于拾取设备的“足迹(fu
ß
abdruck)”的大小,即,由拾取设备所使用用于拾取的面积(fl
ä
che)。在一般情况下,通过定义了卷积核的特定大小的矩阵而给出附属区(通常比深度图像或在(b1)中构建的图像小得多)。该矩阵包含针对如下像素的邻域中的像素位置(以及像素本身)的条目,其中针对该像素应计算平均值,并且零表明不应考虑相应像素位置处的值,而大于零的条目则表明应以相对应的权重对该条目进行考虑。于是,可以通过卷积运算利用卷积核来计算法线向量的平均值,其中,随后将其除以卷积核的条目之和。逐分量地(komponentenweise)进行求平均。
[0061]
结果是另一个具有相同维度(dimensionen)(和相同通道数)的图像,该图像针对每个像素包含一个值e(x),其中该值包含在其邻域中的相关法线向量x的平均值。
[0062]
(b4)针对逐分量地求平方的法线向量x2而不是x来重复进行(b3)的平均值计算,即针对每个像素来计算在该像素邻域中(以及像素本身)的(逐分量地)求平方的法线向量的平均值。该结果表示为e(x2)。
[0063]
(b5)法线向量标准偏差std(x)逐分量地和逐像素地计算为std(x)=平方根运算不会改变次序(ordnung),因此可以忽略以减少计算时间。
[0064]
根据一个实施方式,如此逐分量地计算的标准偏差被用作神经网络207的输入。此外,每个像素的标准偏差可以经由所有分量被求和,并且结果(即,包含求和标准偏差的单通道图像)作为神经网络207的输入可选地连同一个或多个颜色和/或深度图像203一起被使用。
[0065]
此外,每个像素的标准偏差值在被用作神经网络207的输入之前可以在整个图像上被归一化,例如归一化到值范围0-1,以建立不同图像的更好可比性,所述可比性支持神经网络的泛化能力。
[0066]
根据一个实施方式,可以使用额外的方法来确保标准偏差值的可比性。例如,适合的是诸如“contrastlimitedadaptivehistogramequalization(限制对比度自适应直方图均衡)”(clahe)这样的归一化方法,以便更强烈地强调标准偏差的相对差异而不是使用绝对值。这在标准偏差出现较大局部差异的图像中特别适用。
[0067]
可以使用具有深度图像和可能的彩色图像的现有数据集来训练神经网络207,因
为可以由所述数据确定为此所需的全部信息。
[0068]
神经网络207可以要么直接输出拾取姿势/部位要么可选地输出拾取姿势/部位的列表、逐像素的拾取质量或另一种格式的输出,所述输出然后可以在用于推导该对象204的拾取部位和拾取姿势的进一步处理中被使用(其中拾取姿势的推导包含拾取部位的推导)。
[0069]
(d1)例如,当神经网络207确定逐像素的拾取质量时,控制装置106根据该输出确定针对拾取部位的候选集合。这可以例如(d1a)通过选择拾取质量的局部最大值、(d1b)通过对拾取质量形成阈值并将结果聚类到区域、(d1c)通过将拾取质量与进一步的处理结果相结合、例如与对象分割相结合、来完成。
[0070]
(d2)当已经如(d1)中那样确定了针对拾取部位的候选或者以像素坐标给出拾取部位时,控制装置106通过将拾取部位的每个像素转换为3d位置来计算完整的拾取姿势,参见(b1),以及通过反转该像素处的法线向量的正负号来选择的取向,参见(b2)。
[0071]
(d3)如果已经确定了多于一个的拾取姿势,则控制装置106选择其中之一或对结果进行排序(分级)。分级可以例如如下地进行:(d3a)基于拾取质量的特定值,(d3b)基于聚类大小,(d3c)基于实例评价(instanzbewertung),(d3d)基于姿势的高度(h
ö
he)等。
[0072]
综上,根据各种实施方式而提供了一种如图3所示的方法。
[0073]
图3示出了流程图300,其说明了用于通过机器人设备拾取对象的方法。
[0074]
在301,获取对象的至少一个深度图像。
[0075]
在302,对于该对象的多个点其中的每个,确定该对象的该点周围区域中表面法线向量的分散度量值。
[0076]
在303,所确定的值被输送给神经网络,该神经网络被设立(例如,训练)用于,响应于包含分散度量值的输入而输出用于拾取的对象部位的说明。
[0077]
在304,根据神经网络响应于所确定的值的输送所输出的输出来确定(例如,从神经网络输出指定为适合的区域或部位中选择)用于拾取该对象的对象部位。
[0078]
在305,控制机器人设备以在所确定的部位拾取对象。
[0079]
该方法可以包括:训练神经网络响应于包含分散度量值的输入而输出用于拾取的对象部位的说明。例如,这借助于监督学习通过使用具有用于拾取的已知位置(或取决于神经网络的输出而具有拾取姿势)的对象而进行。
[0080]
图3的方法可以由具有一个或多个数据处理单元的一台或多台计算机执行。术语“数据处理单元”可以理解为能够处理数据或信号的任何类型的实体。例如,可以根据由数据处理单元执行的至少一种(即一种或多于一种)特定功能来处理数据或信号。数据处理单元可以包括模拟电路、数字电路、逻辑电路、微处理器、微控制器、中央单元(cpu)、图形处理单元(gpu)、数字信号处理器(dsp)、可编程门阵列(fpga)的集成电路或其任何组合,或由其形成。用于实现本文更详细描述的相应功能的任何其他方式也可以理解为数据处理单元或逻辑电路装置。本文详细描述的其中一个或多个方法步骤可由数据处理单元通过该数据处理单元所执行的一个或多个特定功能来执行(例如实现)。
[0081]
图 3 的方法可用于为机器人设备产生控制信号。术语“机器人设备”可以理解为,涉及(具有自身运动受控的机械部件的)任何物理系统,例如: 受计算机控制的机器、家用电器、电动工具或制造机器。
[0082]
例如,彩色和深度图像用作神经网络的输入数据。然而,这些也可以通过来自其他传感器的传感器信号、例如雷达、激光雷达、超声波、运动、热图像等来补充。
[0083]
神经网络对输入数据进行分类并检测例如对象的存在,并基于传感器数据鉴于可以拾取对象的部位或区域、可以用于拾取(例如抓取)对象的姿势(例如抓取取向)方面执行语义分割。
[0084]
实施方式可用于训练机器学习系统和控制机器人,例如自主地控制机器人操纵器,以便在不同场景下实现不同的操纵任务。尤其是,实施方式可应用于控制和监视例如在装配线中的操纵任务的执行。
[0085]
尽管这里已经示出和描述了特定实施例,但是本领域技术人员将认识到:所示和描述的特定实施方式可替换成多种多样的替代和/或等效实现方案,而不脱离本发明的保护范围。本技术应涵盖本文讨论的特定实施方式的任何适配或变型。因此,本发明旨在仅由权利要求及其等效方案来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1