CN115107020A - 训练用于控制机器人的神经网络的装置和方法 - Google Patents
训练用于控制机器人的神经网络的装置和方法 Download PDFInfo
- Publication number
- CN115107020A CN115107020A CN202210277446.3A CN202210277446A CN115107020A CN 115107020 A CN115107020 A CN 115107020A CN 202210277446 A CN202210277446 A CN 202210277446A CN 115107020 A CN115107020 A CN 115107020A
- Authority
- CN
- China
- Prior art keywords
- training
- camera
- pose
- camera image
- robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 114
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000009826 distribution Methods 0.000 claims description 10
- 230000009466 transformation Effects 0.000 claims description 8
- 238000009827 uniform distribution Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 238000013519 translation Methods 0.000 description 16
- 230000014616 translation Effects 0.000 description 16
- 239000012636 effector Substances 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition of objects for industrial automation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Fuzzy Systems (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Manipulator (AREA)
Abstract
用于训练用于控制机器人的神经网络的装置和方法,包括确定机器人单元中的相机姿势和所确定的相机姿势周围的不确定性范围,确定机器人单元中的对象区域,产生训练相机图像,其中对于每个训练相机图像在所确定的相机姿势周围的不确定性范围中随机设定训练相机图像相机姿势,在对象区域中随机设定训练相机图像对象姿势并产生训练相机图像,从训练相机图像中产生训练数据,其中向每个训练相机图像分配一个或多个训练机器人控制参数以用于处理在训练相机图像的训练相机图像对象姿势下的对象,以及使用训练数据来训练神经网络,其中神经网络被训练为从显示对象的相机图像中输出一个或多个机器人控制参数的说明以用于处理对象。
Description
技术领域
各种实施例总体上涉及用于训练用于控制机器人的神经网络的装置和方法。
背景技术
为了使得能够通过机器人灵活地制造或加工对象,希望机器人能够处理对象,而不管该对象在机器人的工作空间中以何种姿势放置。因此,控制设备应该能够针对对象的相应姿势(即位置和定向)正确地为机器人产生控制参数,使得机器人可以例如抓握对象上的正确位置,以例如将该对象固定在其他对象上,或以其他方式处理(焊接、涂漆等)该对象上的正确位置。这意味着控制设备应该能够从反映对象姿势的传感器信息中,例如从通过固定在机器人上或机器人附近的相机记录的一个或多个相机图像中产生合适的控制参数。
发明内容
根据各种实施方式,提供了一种用于训练用于控制机器人的神经网络的方法,包括确定机器人单元中的相机姿势和所确定的相机姿势周围的不确定性范围,确定所述机器人单元中的对象区域,所述对象区域包含要由所述机器人处理的对象的位置,产生训练相机图像,其中对于每个训练相机图像,在所确定的相机姿势周围的不确定性范围中随机设定训练相机图像相机姿势,在所述对象区域中随机设定训练相机图像对象姿势并产生所述训练相机图像,使得所述训练相机图像从具有所述训练相机图像相机姿势的相机的角度显示具有所述训练相机图像对象姿势的对象,从所述训练相机图像中产生训练数据,其中向每个训练相机图像分配一个或多个训练机器人控制参数以用于处理在所述训练相机图像的训练相机图像对象姿势下的对象,以及使用所述训练数据来训练所述神经网络,其中所述神经网络被训练为从显示对象的相机图像中输出一个或多个机器人控制参数的说明以用于处理所述对象。
上述方法使用机器人布置的属性,所述机器人布置在实践中用于(特别是相机位置)产生机器人控制器(例如,用于抓握对象)的训练数据集。在此实现的是,模拟的相机图像非常接近于在实践中(针对对应的对象姿势)出现或将出现的相机图像。从而将相机图像用于神经网络的训练数据集使得能够将所述神经网络为,使得该神经网络能够产生控制参数的精确预测,例如机器人应该从对象区域(例如箱子)取出对象的场景的抓握位置。
下面说明各种实施例。
实施例1是用于训练如上所述的用于控制机器人的神经网络的方法。
实施例2是根据实施例1的方法,其中所确定的相机姿势的不确定性范围具有所确定的相机位置的不确定性范围和/或所确定的相机定向的不确定性范围。
因此,在相机校准时既可以考虑在定位方面的不确定性又可以考虑在定向方面的不确定性。由于两种不确定性典型地在实践中都会出现,因此可以产生用于训练对两种类型的不确定性都具有鲁棒性的神经网络的训练数据。
实施例3是根据实施例2的方法,其中所述训练相机图像相机姿势的随机选择根据与所确定的相机位置的不确定性范围对应的正态分布和/或根据与所确定的相机定向的不确定性范围对应的正态分布进行。
所述正态分布提供了在所确定的相机姿势周围的物理上真实的变化,这典型地在校准有误差的情况下得出。
实施例4是根据实施例1至3之一的方法,包括确定所确定的对象区域姿势周围的不确定性范围,并且其中所述训练相机图像对象姿势的设定包括在对象区域不确定性范围中随机选择相机图像对象区域姿势以及将所述对象区域中的训练相机图像对象姿势随机设定为所选择的相机图像对象区域姿势。
由此,还考虑了在校准对象区域时的不确定性。
实施例5是根据实施例4的方法,其中所述训练相机图像对象区域姿势的随机选择根据与所确定的对象区域姿势的不确定性范围对应的正态分布来进行。
与相机的情况一样,所述正态分布提供了所确定的对象区域姿势周围的物理上真实的变化。
实施例6是根据实施例1至5之一的方法,其中所述训练相机图像对象姿势的设定通过根据对象姿势在所述对象区域中的均匀分布设定训练相机图像对象姿势来进行。
这使得能够针对在运行中出现的所有对象姿势统一地训练所述神经网络。
实施例7是根据实施例1至6之一的方法,其中所述训练相机图像对象姿势的设定是通过根据向所述对象区域的变换设定训练相机图像对象姿势来进行的。
在所述对象区域内,所述训练相机图像对象姿势(位置和定向)可以被随机选择,例如均匀分布地选择。这使得能够针对运行期间可能出现的所有对象定向统一地训练所述神经网络。
实施例8是一种用于控制机器人的方法,包括:根据实施例1至7之一训练神经网络,接收显示要由机器人处理的对象的相机图像,将所述相机图像输送给所述神经网络,以及根据由所述神经网络的输出说明的机器人控制参数来控制所述机器人。
实施例9是一种装置,其被设置为执行根据实施例1至8之一的方法。
实施例10是一种包括程序指令的计算机程序,所述程序指令在由一个或多个处理器执行时,促使所述一个或多个处理器执行根据实施例1至8的方法。
实施例11是一种计算机可读存储介质,其上存储有程序指令,所述程序指令当由一个或多个处理器执行时促使所述一个或多个处理器执行根据实施例1至8之一的方法。
附图说明
本发明的实施例在附图中示出并且在下文中更详细地解释。在附图中,相同的附图标记在多个视图中通常指代相同的部分。附图不一定按比例绘制,而是通常将重点放在显示本发明的原理上。
图1示出了机器人。
图2示出了与基于模拟地产生训练相机图像有关的机器人单元的组件。
图3示出了用于产生训练相机图像的方法的流程图。
图4示出了用于训练用于控制机器人的神经网络的方法的流程图。
具体实施方式
可以借助于一个或多个电路来实现各种实施方式,特别是下文描述的实施例。在一个实施方式中,“电路”可以理解为任何类型的逻辑实现实体,其可以是硬件、软件、固件或其组合。因此,在一个实施方式中,“电路”可以是硬连线逻辑电路或可编程逻辑电路,例如可编程处理器,例如微处理器。“电路”也可以是由处理器实现或执行的软件,例如任何类型的计算机程序。下文更详细描述的实现相应功能的任何其他方式可以与替代实施方式一致地理解为“电路”。
根据各种实施方式,使用了由具有抓握末端效应器的工业机器人、相机和带有抓握对象的箱子组成的工业机器人系统。下面参考图1和图2描述一个示例。在此未设定机器人运动学的类型和实施。(例如,可以是具有不同类型和数量的关节的串行或并行运动学)。
图1示出机器人100。
机器人100包括机器人臂101,例如工业机器人臂,用于处理或安装工件(或一个或多个其他对象)。机器人臂101包括臂元件102、103、104和用于支撑臂元件102、103、104的基座(或支架)105。术语“臂元件”涉及机器人臂101的可移动部件,可移动部件的致动使得能够与环境进行物理交互,以例如执行任务。为了控制,机器人100包括(机器人)控制设备106,该控制设备被设计为根据控制程序实现与环境的交互。臂元件102、103、104的最终组件104(在运动链中离基座105最远的组件)也称为末端效应器104并且可以包括一个或多个工具,例如焊炬、抓握仪器、涂漆设备等。
其他臂元件102、103(更靠近支撑件105)可以形成定位装置,从而与末端效应器104一起,提供了机器人臂101以及在其末端的末端效应器104。机器人臂101是可以提供类似于人臂的功能的机械臂(可能在其末端具有工具)。
机器人臂101可以包括将臂元件102、103、104彼此连接并与支撑件105连接的关节元件107、108、109。关节元件107、108、109可以包括一个或多个关节,每个关节都可以为相关联的臂元件相对于彼此提供可旋转的运动(即,旋转运动)和/或平移运动(即,平移)。臂元件102、103、104的运动可以借助于由控制设备106控制的致动器来启动。
术语“致动器”可以理解为被构造为响应于其驱动而实现机制或过程的组件。致动器可以将由控制设备106创建的指令(所谓的激活)实现为机械运动。诸如机电转换器的致动器可以被设计为响应于其驱动将电能转换为机械能。
术语“控制设备”可以理解为任何类型的逻辑实现实体,所述实体可以例如包括电路和/或处理器,所述电路和/或处理器能够执行存储在存储介质中的软件、固件或其组合并且可以发出指令,例如针对本示例中的致动器。所述控制设备可以例如由程序代码(例如,软件)配置以控制系统的运行,所述系统在本示例中为机器人。
在本示例中,控制设备106包括一个或多个处理器110和存储器111,存储器111存储代码和数据,处理器110基于所述代码和数据控制机器人臂101。根据各种实施方式,控制设备106基于存储在存储器111中的机器学习模型112来控制机器人臂101。
根据各种实施方式,机器学习模型112被设计和训练为针对输送给机器学习模型112的一个或多个相机图像说明(或预测)用于机器人臂101的控制参数。
机器人100和/或机器人100布置在其中的机器人单元可以配备例如一个或多个相机114,相机114被设置为记录机器人100的工作空间的图像和布置在所述工作空间中的一个对象113(或多个对象)的图像。
例如,所述机器学习模型是神经卷积网络,向该神经卷积网络输送一个或多个图像(例如深度图像)。在实践中使用之前,用训练数据对该卷积网络进行训练,由此控制设备为对象113的不同姿势(位置和定向)分别说明合适的控制参数。
例如,所述训练数据具有大量训练数据元素,其中每个训练数据元素包含一个相机图像(或多个相机图像)和相关联的(即地面实况)控制参数。这些控制参数例如具有末端效应器104为了处理对象113而应该采取的位置。然后可以借助于监督学习来训练神经网络。
根据各种实施方式,针对不同的对象姿势和相关联的控制参数产生不同的训练数据图像。例如,如果为训练数据图像假设特定的随机对象姿势,则可以从中直接计算出正确的控制参数(例如,因为从对象姿势中知道末端效应器104将被移动到哪个位置或将抓握对象上的哪个位置)。因此,产生训练数据元素的主要任务可以被看作是为特定(随机)对象姿势产生合适的相机图像(在多个相机的情况下针对相应的相机),从而如果在实践中对象具有所述对象姿势,则(相应的)相机114将记录该图像。
根据各种实施方式,为此提供了一种用于计算相机姿势和对象姿势之间的变换以产生相机图像的方法(例如,为了具有虚拟深度图像的训练数据集,用于输入到卷积神经网络以通过机器人臂101控制对象的抓握)。
根据各种实施方式,在此使用校准参数(所述校准参数典型地在实践中可用于机器人单元)并且以物理上合理的方式考虑不确定性(例如,相机姿势的不确定性)。由此提供了一种用于基于模拟产生训练数据集的方法,所述训练数据集具有硬件意识,即考虑现有硬件(如相机)的属性。
对象可以具有任何几何形状。例如,相机图像是深度图像。例如,相机是针孔相机,相机图像是对应的图像。
根据各种实施方式,还在训练数据产生过程中计算鲁棒性度量,所述鲁棒性度量代表机器人的具体末端效应器(即,抓握器类型)的成功访问(拾取)的概率。成功访问的抓握器的位置和定向在所述相机图像(或多个相机图像)中通过相机图像中图像内容(即具体要记录的对象)的相应平移、旋转和大小加以编码。在训练时,神经网络(例如深度卷积网络)例如被训练为预测相机图像的不同抓握位置的鲁棒性度量值。这些鲁棒性度量值可以看作是机器人控制参数的说明,例如看作神经网络输出最高鲁棒性度量值的抓握位置。
在训练之后,即在运行(实际应用)期间,经过训练的神经网络用于推理,即针对各种访问可能性(例如末端效应器姿势)从真实记录的相机图像中预测鲁棒性值。控制设备然后可以例如选择具有最大鲁棒性值的访问可能性并对应地控制机器人。
当相机针对不同对象姿势产生(模拟的)相机图像时,使用真实机器人布置(即机器人单元)中相机的校准结果。相机校准典型地在机器人单元中构建机器人系统时或在应该由机器人执行的处理过程之前执行,以提高对相机姿势的了解的准确度,并由此也提高从通过相机产生的图像中确定的机器人动作(机器人控制)的准确度。
根据各种实施方式,将非固有的相机校准值用于产生训练相机图像,即相机相对于机器人单元的世界坐标系(即,机器人单元的全局参考坐标系)的三维(例如,笛卡尔)平移值和旋转值。例如,可以通过典型的基于优化的校准方法来获得这些参数值。此外,根据各种实施方式,使用相机校准的可在校准过程期间确定的不确定性参数。不确定性参数代表了在校准时确定的平移值和旋转值的准确度。此外,可以使用在机器人单元中使用的真实相机的固有相机参数(相机矩阵和噪声值),以便在模拟时将虚拟相机图像的产生尽可能地接近于真实相机的图像。此外,确定关于对象113可能位于的对象区域(例如,箱子)的姿势和大小的信息并将所述信息用作用于产生训练相机图像的输入。
图2示出了机器人单元200与基于模拟产生训练相机图像相关的组件。
相机201具有坐标系KK,对象202具有坐标系KO,对象区域(例如箱子或盒子)203具有坐标系KB,机器人在其基座中具有坐标系KR,由机器人移动的末端效应器(抓握器)具有坐标系KG,而机器人单元200具有全局坐标系KW,该全局坐标系代表机器人单元200中的固定参考系。组件201、202、203的坐标系分别对于相应的组件是固定的,从而定义了相应组件在机器人单元内的姿势。为了产生训练相机图像,相机被建模为虚拟针孔相机,具有测量对象表面模型的表面的透视投影。
相机201具有视场204。
图3示出了用于产生训练相机图像的方法的流程图300。
该方法可以由控制设备106执行或由产生训练数据的外部数据处理装置执行。控制设备106或外部数据处理装置然后可以使用训练数据来训练神经网络112。
用于产生相机图像的输入数据是外部相机校准参数值pK=(xK, yK, zK, AK, BK,CK),它们说明相机坐标系KK在全局坐标系KW中的姿势(位置和定向),以及平移值和旋转值的相关联的不确定性,例如uK=(tK, rK),其中为简单起见,这里在该示例中假定所有坐标或角度的平移tK的不确定性和旋转rK的不确定性都相同。这些不确定性典型地是相机校准过程的结果。角度AK、BK、CK例如是欧拉角,但也可以使用空间定向的其他代表形式。
附加的输入数据是相机矩阵K形式的固有相机参数,所述相机矩阵典型地可以在固有的相机校准后从相机中读出,以及相机观察方向上的噪声值σK,所述噪声值典型地由相机制造商指定。
另外的输入数据是预期的对象区域位置pB=(xB, yB, zB, AB, BB, CB),所述对象区域位置说明本示例中长方体对象区域的中心在全局坐标系中的位置,并且对象区域的大小bB=(hB, wB, dB)。这些参数值典型地由机器人单元的配置给出。
在302中,计算附加的相机旋转RotK,其计算相机校准期间旋转的不确定性。旋转RotK是例如基于旋转轴和旋转角度的约定来计算的,该约定基于以下事实:三维空间中的每次旋转都可以通过合适的旋转轴和围绕该旋转轴的旋转角度来表示。为了计算旋转RotK,从三维空间中单位向量的均匀分布中采样出所述旋转轴。从具有为零的平均值和标准偏差rK(即相机定向的不确定性)的正态分布中采样出所述旋转角度。然后计算变换。
在303中,计算附加的相机平移TransK,该相机平移考虑了相机校准的平移的不确定性。为此,从三维空间中单位向量的均匀分布中采样出平移方向。从具有为零的平均值和标准偏差tK(即相机位置的不确定性)的正态分布中采样出平移的长度。然后计算最终的相机变换。
在305中,计算附加的对象旋转RotO。为此,从旋转的均匀分布中采样出旋转,以考虑对象202在对象区域203中的随机旋转。这例如在对象布置在堆中的情况下是相关的,在这种情况下每个对象可以在三维空间中随机旋转。如果可以预期对象始终位于平坦的表面上(而不是在堆中),则也可以使用固定的定向。此外,通过从对象区域上的均匀分布中采样来计算对象平移TransO:U([-hB/2, +hB/2] x [-wB/2, +wB/2] x [dB/2, +dB/2]),以考虑对象202可能在对象区域203内具有随机位置。在对象堆的情况下,堆中的各个对象关于所述对象区域的对象旋转和对象平移也可以替代地通过物理模拟来确定。因此, 由对象旋转和对象平移得出变换。
在307中,关于对象坐标系的相机变换计算为。然后使用该变换来定位模拟空间中的虚拟相机。对象(即该对象的表面模型)位于该模拟空间的原点。通过虚拟测量来产生相机图像,其方式是渲染以这种方式产生的模拟场景(特别是使用所定位的虚拟相机)(例如,用于产生深度图像)。为此,使用相机矩阵K,并且向测量数据施加具有噪声参数σK的正态分布噪声。
以这种方式产生相机图像被执行多次,以便为训练数据集308产生大量相机图像。
由于所使用的相机姿势和对象姿势物理地代表来自具有相关联不确定性的真实机器人单元的参数值,这导致训练数据集对应于机器人单元的真实物理配置。
总之,根据各种实施方式提供了一种方法,如下面参考图4所描述的。
图4示出了用于训练用于控制机器人的神经网络的方法的流程图400。
在401中,确定机器人单元中的相机姿势和所确定的相机姿势周围的不确定性范围。
在402中,确定机器人单元中的对象区域,所述对象区域包含要由机器人处理的对象的位置。
在403,产生训练相机图像。
在此,对每个训练相机图像,在404中在所确定的相机姿势周围的不确定性范围中随机设定训练相机图像相机姿势,在405在对象区域中随机设定训练相机图像对象姿势,在406中产生训练相机图像,使得所述训练相机图像从具有所述训练相机图像相机姿势的相机角度显示具有所述训练相机图像对象姿势的对象。
在407中,从所述训练相机图像中产生训练数据,其中向每个训练相机图像分配一个或多个训练机器人控制参数,以用于处理在训练相机图像的训练相机图像对象姿势下的对象。
在408中,使用所述训练数据来训练神经网络,其中所述神经网络被训练为从显示所述对象的相机图像中输出用于处理对象的一个或多个机器人控制参数的说明。
该方法产生合成的传感器数据。这些传感器数据可以是对应于诸如立体相机、飞行时间相机和激光扫描仪的各种光学传感器的传感器数据。
实施方式可以用于训练机器学习系统并且自主地控制机器人以在不同场景下实现不同的操纵任务。特别地,实施方式可应用于控制和监视操纵任务的执行,例如在流水线上。这些实施方式例如可以无缝地集成到控制过程的传统GUI中。
“机器人”可以理解为任何物理系统(具有运动受到控制的机械部分),如计算机控制的机器、车辆、家用电器、电动工具、制造机器、个人助理或访问控制系统。
神经网络可以是用于数据回归或数据分类的卷积网络。
各种实施方式可以接收和使用来自各种光学传感器的传感器信号,以获得例如关于演示或系统状态(机器人和对象)以及配置和场景的传感器数据。可以处理这些传感器数据。这可以包括对传感器数据进行分类或对传感器数据执行语义分割,以例如识别对象的存在(在对其获得传感器数据的环境中)。实施方式可以用于训练机器学习系统并且自主地控制机器人以在不同场景下实现不同的操纵任务。特别地,实施方式可应用于控制和监视操纵任务的执行,例如在流水线上。这些实施方式例如可以无缝地集成到控制过程的传统GUI中。
根据一个实施方式,该方法是计算机实现的。
尽管尤其是参照特定实施方式展示和描述了本发明,但本领域技术人员应该理解,可以在设计和细节上进行各种改变,而不背离通过以下权利要求定义的本发明的精神和范围。因此,本发明的范围由所附权利要求确定,并且旨在包括落入权利要求的字面意义或等同范围内的所有变化。
Claims (11)
1.一种用于训练用于控制机器人的神经网络的方法,包括:
确定机器人单元中的相机姿势和所确定的相机姿势周围的不确定性范围;
确定所述机器人单元中的对象区域,所述对象区域包含要由所述机器人处理的对象的位置;
产生训练相机图像,
其中对于每个训练相机图像,
在所确定的相机姿势周围的不确定性范围中随机设定训练相机图像相机姿势;
在所述对象区域中随机设定训练相机图像对象姿势;
产生所述训练相机图像,使得所述训练相机图像从具有所述训练相机图像相机姿势的相机的角度显示具有所述训练相机图像对象姿势的所述对象;
从所述训练相机图像中产生训练数据,其中向每个训练相机图像分配一个或多个训练机器人控制参数以用于处理在所述训练相机图像的训练相机图像对象姿势下的对象;以及
使用所述训练数据来训练所述神经网络,其中所述神经网络被训练为从显示所述对象的相机图像中输出一个或多个机器人控制参数的说明以用于处理所述对象。
2.根据权利要求1所述的方法,其中,所确定的相机姿势的不确定性范围具有所确定的相机位置的不确定性范围和/或所确定的相机定向的不确定性范围。
3.根据权利要求2所述的方法,其中,所述训练相机图像相机姿势的随机选择根据与所确定的相机位置的不确定性范围对应的正态分布和/或根据与所确定的相机定向的不确定性范围对应的正态分布进行。
4.根据权利要求1至3中任一项所述的方法,包括确定所确定的对象区域姿势周围的不确定性范围,并且其中所述训练相机图像对象姿势的设定包括在对象区域不确定性范围中随机选择相机图像对象区域姿势以及将所述对象区域中的训练相机图像对象姿势随机设定为所选择的相机图像对象区域姿势。
5.根据权利要求4所述的方法,其中,所述训练相机图像对象区域姿势的随机选择根据与所确定的对象区域姿势的不确定性范围对应的正态分布进行。
6.根据权利要求1至5中任一项所述的方法,其中,所述训练相机图像对象姿势的设定通过根据对象位置在所述对象区域中的均匀分布设定训练相机图像对象位置来进行。
7.根据权利要求1至6中任一项所述的方法,其中,所述训练相机图像对象姿势的设定通过根据向所述对象区域的变换设定训练相机图像对象姿势来进行。
8.一种用于控制机器人的方法,包括:
根据权利要求1至7中任一项训练神经网络;
接收显示要由机器人处理的对象的相机图像;
将所述相机图像输送给所述神经网络;以及
根据由所述神经网络的输出说明的机器人控制参数来控制所述机器人。
9.一种装置,其被设置为执行根据权利要求1至8中任一项所述的方法。
10.一种计算机程序,包括程序指令,所述程序指令在由一个或多个处理器执行时促使所述一个或多个处理器执行根据权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有程序指令,所述程序指令在由一个或多个处理器执行时促使所述一个或多个处理器执行根据权利要求1至8中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021202759.8A DE102021202759A1 (de) | 2021-03-22 | 2021-03-22 | Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters |
DE102021202759.8 | 2021-03-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115107020A true CN115107020A (zh) | 2022-09-27 |
Family
ID=83114765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210277446.3A Pending CN115107020A (zh) | 2021-03-22 | 2022-03-21 | 训练用于控制机器人的神经网络的装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220301209A1 (zh) |
CN (1) | CN115107020A (zh) |
DE (1) | DE102021202759A1 (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9233469B2 (en) | 2014-02-13 | 2016-01-12 | GM Global Technology Operations LLC | Robotic system with 3D box location functionality |
US9844881B2 (en) | 2015-06-22 | 2017-12-19 | GM Global Technology Operations LLC | Robotic device including machine vision |
DE202017106506U1 (de) | 2016-11-15 | 2018-04-03 | Google Llc | Einrichtung für tiefes Maschinenlernen zum Robotergreifen |
DE102017105174B4 (de) | 2017-03-10 | 2020-04-23 | Sick Ag | Verfahren zum Erzeugen von Trainingsdaten für die Überwachung einer Gefahrenquelle |
JP6810087B2 (ja) | 2018-03-29 | 2021-01-06 | ファナック株式会社 | 機械学習装置、機械学習装置を用いたロボット制御装置及びロボットビジョンシステム、並びに機械学習方法 |
DE202018103922U1 (de) | 2018-07-09 | 2018-08-06 | Schunk Gmbh & Co. Kg Spann- Und Greiftechnik | Greifsystem als intelligentes Sensor-Aktor-System |
DE102019122790B4 (de) | 2018-08-24 | 2021-03-25 | Nvidia Corp. | Robotersteuerungssystem |
DE102019206444A1 (de) | 2019-05-06 | 2020-11-12 | Kuka Deutschland Gmbh | Maschinelles Lernen einer Objekterkennung mithilfe einer robotergeführten Kamera |
JP7207207B2 (ja) | 2019-07-09 | 2023-01-18 | トヨタ自動車株式会社 | 演算装置、機械学習方法及び制御プログラム |
DE102019121889B3 (de) | 2019-08-14 | 2020-11-19 | Robominds GmbH | Automatisierungssystem und Verfahren zur Handhabung von Produkten |
-
2021
- 2021-03-22 DE DE102021202759.8A patent/DE102021202759A1/de active Pending
-
2022
- 2022-03-18 US US17/698,703 patent/US20220301209A1/en active Pending
- 2022-03-21 CN CN202210277446.3A patent/CN115107020A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220301209A1 (en) | 2022-09-22 |
DE102021202759A1 (de) | 2022-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108139747B (zh) | 确定用于机器人的、由手动施加于机器人的力来输入的输入指令 | |
US9387589B2 (en) | Visual debugging of robotic tasks | |
US9731419B2 (en) | System and method for programming robots | |
Ekvall et al. | Learning and evaluation of the approach vector for automatic grasp generation and planning | |
JP2019018272A (ja) | モーション生成方法、モーション生成装置、システム及びコンピュータプログラム | |
KR20220155921A (ko) | 로봇 디바이스를 제어하기 위한 방법 | |
US20220331964A1 (en) | Device and method for controlling a robot to insert an object into an insertion | |
CN114516060A (zh) | 用于控制机器人装置的设备和方法 | |
WO2017198299A1 (en) | Method of simulating a robotic system | |
WO2017119088A1 (ja) | ロボットシステムおよび制御方法 | |
US20220335622A1 (en) | Device and method for training a neural network for controlling a robot for an inserting task | |
JP7259860B2 (ja) | ロボットの経路決定装置、ロボットの経路決定方法、プログラム | |
CN116152335A (zh) | 用于训练机器学习模型以生成描述符图像的装置和方法 | |
Ali et al. | A lead through approach for programming a welding arm robot using machine vision | |
Nandikolla et al. | Teleoperation Robot Control of a Hybrid EEG‐Based BCI Arm Manipulator Using ROS | |
Agustian et al. | Robot manipulator control with inverse kinematics PD-pseudoinverse Jacobian and forward kinematics Denavit Hartenberg | |
CN114494312A (zh) | 训练从对象图像中识别对象的对象拓扑的机器学习模型的设备和方法 | |
CN114494426A (zh) | 用于控制机器人来在不同的方位拿起对象的装置和方法 | |
US11941846B2 (en) | Device and method for ascertaining the pose of an object | |
CN115107020A (zh) | 训练用于控制机器人的神经网络的装置和方法 | |
US20220335710A1 (en) | Device and method for training a neural network for controlling a robot for an inserting task | |
Bulej et al. | Simulation of manipulation task using iRVision aided robot control in Fanuc RoboGuide software | |
CN115082550A (zh) | 从对象的相机图像中定位对象的位置的设备和方法 | |
JP2021146433A (ja) | 制御装置、ロボット装置、シミュレーション装置、制御方法、シミュレーション方法、物品の製造方法、プログラム及び記録媒体 | |
JPH09290383A (ja) | 画像情報によるマニピュレータ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |