生成用于机器人场景的三维模型的方法和系统

文档序号:1680252 发布日期:2020-01-03 浏览:24次 >En<

阅读说明:本技术 生成用于机器人场景的三维模型的方法和系统 (Method and system for generating three-dimensional model for robot scene ) 是由 张飚 R·博卡 C·莫拉托 C·马蒂内兹 汪建军 滕舟 黄金苗 M·瓦尔斯特罗姆 J 于 2019-06-27 设计创作,主要内容包括:本公开的实施例涉及生成用于机器人场景的三维模型的方法和系统。机器人被配置为使用用于生成足以确定无碰撞路径并且识别工业场景中的对象的3D模型的方法来在对象上执行任务。该方法包括确定预定义的无碰撞路径并且扫描机器人周围的工业场景。工业场景的被存储的图像从存储器中被检索并且被分析以构建新的3D模型。在新的3D模型中检测到对象之后,机器人可以在沿无碰撞路径移动的同时进一步扫描工业场景中的图像,直到对象以预定义的确定性级别被识别。然后机器人可以在对象上执行机器人任务。(Embodiments of the present disclosure relate to methods and systems for generating three-dimensional models for robotic scenes. The robot is configured to perform a task on an object using a method for generating a 3D model sufficient to determine a collision-free path and identify the object in the industrial scene. The method includes determining a predefined collision-free path and scanning an industrial scene around the robot. Stored images of the industrial scene are retrieved from memory and analyzed to construct a new 3D model. After detecting the object in the new 3D model, the robot may further scan the images in the industrial scene while moving along the collision-free path until the object is identified with a predefined level of certainty. The robot may then perform a robot task on the object.)

生成用于机器人场景的三维模型的方法和系统

技术领域

本申请总体上涉及由机器人对工业场景进行建模,并且更具体地但非排他地,涉及利用与机器人相关联的视觉传感器进行扫描来构建工业场景的3D模型。

背景技术

随着机器人技术领域的不断发展,越来越多的关注被放在允许机器人实时确定无碰撞路径以及工件或其它对象的位置的技术的发展上。在机器人工作区域或工业场景内随机放置的对象可能会对机器人的某些运动造成干扰并且妨碍工作任务完成。一些现有系统关于某些应用具有各种缺点。因此,仍需要在这一技术领域作出进一步贡献。

发明内容

本申请的一个实施例是用于生成机器人工作区域或工业场景的实时3D模型的独特系统和方法。其它实施例包括用于为在工业场景中的机器人操作而生成无碰撞路径的装置、系统、设备、硬件、方法和组合。根据本文提供的描述和附图,本申请的进一步的实施例、形式、特征、方面、益处和优点将变得显而易见。

附图说明

图1是根据本公开的一个示例性实施例的机器人系统的示意图;

图2是根据本公开的一个示例性实施例的工业机器人场景的示意图;

图3是针对根据本公开的一个实施例的用于生成用于无碰撞机器人运动的扫描路径的方法的流程图;

图4是针对用于工业场景中的对象的识别的方法的流程图;

图5是针对用于生成足以减小对象的模糊性的3D模型的方法的流程图,使得可以由机器人对对象执行工作任务;

图6是针对用于改进对象识别和规划用于无碰撞运动的下一个扫描路径的方法的流程图,以便机器人可以在被检测到的对象上执行任务;以及

图7A和图7B定义了针对用于改进对象识别、改进抓持置信度和规划用于无碰撞运动的下一个扫描路径的方法的流程图。

具体实施方式

为了促进对本申请原理的理解,现在将参考附图中所示的实施例,并且将使用特定语言来描述这些实施例。然而,应该理解的是,不旨在因此而限制本申请的范围。本申请所涉及领域的技术人员通常会设想到所描述的实施例中的任何改变和进一步修改,以及如本文所描述的本申请的原理的任何进一步应用。

随着机器人领域的不断发展,越来越多的关注被放在允许更紧密地耦合的人机交互(HRI)的技术的发展上。HRI技术的应用有助于机器人理解关于其周围环境的信息,并且允许操作员理解或接收关于机器人已达到的理解水平的反馈。在操作员和机器人之间发生交互之前,可以获得对工作环境或工业场景的初始理解。随着机器人对场景的理解增加,人类交互的水平可以降低(即,操作员不必在操作之前将所有信息编程到机器人中,这最小化了设置时间)。

本文所公开的机器人系统提供了控制方法,以从工业场景中检索可由机器人的存储器识别的有效信息。控制方法使得机器人能够获得信息并且理解场景中的元素或对象,同时优化机器人运动以在工业场景内执行任务。该机器人路径对场景的变化起反应,并且帮助机器人理解周围的边界。机器人从场景中自主地检索信息的能力有助于对象的检测、建设性的机器人运动生成、用于整体发现过程所需的时间的减小,并且最小化人类参与设置和机器人编程。工业机器人可以使用示教盒和操纵杆来“点动机器人”并教授机器人点,但是如果操作员在机器人移动通过工业场景时非常靠近机器人,则这可能是麻烦、耗时并且危险的。3D视觉和隐式编程可用于通过生成机器人周围未知场景的3D模型来改进机器人路径编程,这需要时间来教授机器人握住3D传感器以扫描工业场景。可能难以手动生成扫描路径以从场景和对象收集足够的数据而没有机器人碰撞和/或引起可达性问题。

本公开包括用于自动地生成针对机器人应用的工业场景的完整3D模型的方法和系统,其相比于手动编程机器人减少了工程时间和成本。该方法和系统自动地生成扫描路径以收集关于场景和对象位置的足够数据,而不会引起碰撞或可达性问题。机器人扫描系统被可操作地连接到机器人路径规划算法、连接到3D对象识别算法,以便向机器人提供控制输入以对在工业场景内的对象上执行任务。

现在参考图1,示例性的机器人系统10被示出在示例性的工作环境或工业场景中。应当理解的是,本文所示的机器人系统本质上是示例性的,并且本文设想了机器人和/或工业场景中的变化。机器人系统10可以包括具有视觉系统36的机器人12,视觉系统36具有一个或多个摄像机38。在一种形式中,摄像机38中的一个或多个摄像机可以被安装在机器人12的可移动臂16a、16b中的一个可移动臂上。在其它形式中,一个或多个摄像机38可以被定位为与机器人12分隔开。包括具有CPU、存储器、以及输入/输出系统的电子控制器的控制系统14被可操作地耦合到机器人12并且被耦合到视觉系统36。控制系统14可操作用于接收和分析由视觉系统36捕获的图像和用于机器人12的操作的其它传感器数据。在一些形式中,控制系统14被限定在机器人12的一部分内。

机器人12可以包括可移动基座20以及与其连接的多个可移动部分。可移动部分可以在任何期望的方向上平移或旋转。作为示例而非限制,示例性机器人12可以采用由箭头18、26、28、30、32和34示出的可移动部分。用于保持待检索和/或待由机器人12操作的工件或其它对象42的箱40可以构成示例性工业场景的至少一部分。诸如抓握或抓持机构或其它工作工具的末端执行器24可以被附接到可移动臂16a并且被用于抓持对象42和/或根据需要在对象42上执行其它工作任务。应当理解,术语“箱”本质上是示例性的,并且如本文所用,是指但不限于任何容器、纸箱、箱子、托盘或能够容纳和/或保持工件、零件或其它对象的其它结构。附加的部件44可以与视觉系统36相关联。这些部件44可以包括照明系统、反射器、折射器和光束扩展器等。

现在参考图2,示出了另一示例性工业场景50。视觉系统36可与机器人12一起操作以确定机器人12附近内的各种物品的位置。作为示例而非限制,场景50包括:拾取箱60a、60b,潜在障碍物62a、62b,以及投放箱64a、64b。视觉系统36可被用于确定拾取箱60a、60b和/或投放箱64a、64b中的对象位置和取向。视觉系统36可以识别拾取箱60a内的对象,并且将对象的位置和取向传送给机器人控制器14(参见图1)。然后机器人控制器(未示出)向机器人12提供命令以控制包括抓持机构(未示出)的机器人12的部分的运动,以便抓持和移动所选对象并且避免潜在的障碍物。

教授和训练机器人以自主地发现和理解工业场景并执行机器人工作任务(诸如,从箱中提取随机布置的对象)是复杂的任务。给定2D RGB(红色、绿色、蓝色)传感器图像,可以训练机器人12以识别场景50内的拾取箱60a和投放箱64a以及障碍物62a、62b。此外,2D图像可以与校准的3D摄像机传感器结合,以生成某些所识别的对象的精确的空间位置。在一些方面中,基于3D点云的场景重建可能是耗时的,但是可以使用3D点云数据的一些部分重建用于在来自点云数据的虚拟环境中训练的机器人的场景,以重建可以被用于实时训练机器人的虚拟3D场景。下面更详细地描述用于以自主方式确定这种机器人命令的方法。

用于定义自动机器人路径的控制方法从机器人12的初始视点开始。控制方法指导机器人12以一种示例性形式摇摄可以被安装在机器人夹持器24的尖端上的3D传感器。接下来,利用3D传感器数据和机器人12移动信息(3D传感器姿势、时间戳等)来重建机器人12周围的场景的初始3D模型。针对诸如占用、缺失信息,被遮挡对象,未知区域等参数,将分析场景的初始3D模型。场景重建在机器人12操作期间不断地被更新。用于场景重建的计算机处理计算可以被独立地并且与机器人12的工作任务(诸如,拾取或投放工作任务)并行地完成。如果系统不能基于先前已收集的信息识别对象42,则可以仅生成新的扫描角度。可以或可以不单独地执行新扫描和机器人12移动路径计算以完成场景重建过程。基于来自场景理解的先前知识生成新的扫描角度。基于所观察到的数据,可以计算后验预测分布,并且可以使用概率的最大似然估计来确定新视角,新视角将产生最有用的信息以促进机器人12的理解。

现在参考图3,流程图示出了根据本公开的一个实施例的用于生成用于无碰撞机器人运动的扫描路径的控制方法100。控制方法100开始于步骤102处,其中机器人以无碰撞路径的预定义3D扫描开始。在步骤104处,机器人利用3D扫描设备重建场景和机器人周围的环境。扫描设备将所扫描到的图像发送到存储器,使得控制系统然后可以在步骤处分析3D场景模型。然后在步骤108处,控制方法100确定机器人周围的场景的3D模型是否足够地被完成以使机器人执行期望的任务。如果对在步骤108处查询的回答是“否”,则控制方法100将为3D扫描仪生成下一个扫描视点以获得附加的图像。在步骤112处,控制方法100基于最新的3D场景模型利用机器人无碰撞运动规划器规划下一个扫描路径。在步骤114处,机器人将沿下一个无碰撞路径扫描工业场景,以从不同的视点获得扫描到的图像。在步骤116处,控制方法100生成机器人周围的完整的3D场景模型。返回参考步骤108,如果对查询的回答是“是”,则控制方法100移动到步骤116并且生成机器人周围的完整的3D场景模型而不处理步骤110、112和114。

现在参考图4,示出了控制方法200,机器人由此学习以识别工业场景内的对象。控制方法200在步骤202处开始,其中机器人利用3D扫描设备确定预定义的无碰撞路径。在步骤204处,机器人重建包括机器人周围环境的场景。在步骤206处,控制方法200运行对象检测和识别程序。在步骤208处,控制方法200的查询使得要确定场景的3D模型是否足以检测并且识别对象到了在其上执行机器人任务所需的程度。如果对查询208的回答是“否”,则控制方法200在步骤210处将生成下一个扫描视点,以利用检测和识别程序减小对象的模糊性。在步骤212处,机器人将沿新的无碰撞路径执行3D扫描。返回参考步骤208,如果对查询的回答是“是”,则控制方法200移动到步骤214,其中控制方法200生成针对所识别对象的用于机器人在其上执行机器人任务的局部场景模型。

现在参考图5,示出了在步骤302处开始的控制方法300,其中机器人使用3D扫描来定义预定义的无碰撞路径。在步骤304处,控制方法300指导机器人重建机器人周围的工业场景。然后在步骤306处,控制方法300使用对象检测和识别程序来分析由机器人获得的场景构造,并且在查询308处,系统确定场景是否足以肯定地检测和识别对象。如果对查询308的回答是“否”,则在步骤310处,控制方法300将指导机器人以生成附加的扫描视点,以便减小对象的模糊性。在步骤312处,控制方法300基于最新的3D场景模型利用机器人无碰撞运动规划器规划下一个扫描路径。然后,机器人在步骤314处执行新的3D扫描路径。在步骤316处,使用新路径上的最新的3D扫描来生成新的局部场景模型并且确定对象的类型。返回参考查询308,如果关于3D模型是否足以检测和识别对象的回答是“是”,然后控制方法300向下移动到步骤316,以便允许机器人在所识别的对象上执行机器人工作任务。

现在参考图6,提供了操作400的控制方法,其用于机器人在对象上执行工作任务(诸如,拾取或抓持)。在步骤402处,机器人从3D扫描获得预定义的无碰撞路径。然后在步骤404处,机器人重建机器人周围的工业场景,以确定是否在场景内检测到对象。在步骤406处,机器人将使用3D对象检测和识别程序来确定机器人周围的3D场景是否具有位于其中的期望的对象,如果是,则在步骤408处,控制方法400运行对象抓持和定位分析以确定场景的3D模型是否足以用于在查询410处抓持对象。如果对查询410的回答是“否”,则在步骤412处,控制方法400将生成下一个扫描视点,以改进抓持分析的置信度。在步骤414处,控制方法400将确定用于机器人沿其移动的无碰撞路径,使得视觉系统可以获得环境的3D扫描。在步骤416处,在确定3D模型足以执行这样的任务之后,机器人将在对象上执行工作任务(诸如,抓持或拾取对象)。如果在410处的场景的3D模型足以使机器人执行工作任务,则控制方法400移动到步骤416,并且然后指导机器人在所检测到的对象上执行任务。

现在参考图7A和7B,示出了用于改进对象识别、改进抓握置信度和用于规划用于机器人的无碰撞运动的扫描路径的控制方法500。控制方法500在步骤502处开始,其中机器人从工作环境的先前3D扫描获得预定义的无碰撞路径。然后在步骤504处,机器人重建机器人周围的工业场景,并且在步骤506处执行3D对象检测和识别分析。在对象被识别之后,机器人将在步骤508处执行对象抓持和定位分析。在查询510处,控制方法500将确定工业场景的3D模型是否足以检测和识别对象。如果不是,则在步骤512处,控制方法500将生成新的扫描视点以减小对象的模糊性。在步骤514处,机器人将规划新的路径并且基于在步骤512处的扫描视点,机器人将沿该路径移动并且产生附加的3D扫描图像。然后控制方法500将返回到步骤504并且重复步骤504、506和508,直到场景模型在查询510处是足够地完整的。如果场景的3D模型足以检测和识别对象,则在步骤516处,再次运行对象抓持定位分析。在步骤518处,执行查询以确定工业场景的3D模型是否足以使抓持分析指导机器人抓持对象。如果针对查询518的回答是“否”,则在步骤520处,控制方法500将生成新的扫描视点,并使机器人在步骤522处沿新的路径移动以在不同的视点处提供新的3D扫描。然后控制方法500循环回到步骤504,并且重复步骤504、506、508、510、516和518,直到针对步骤510和518处的每个查询的回答是“是”。控制方法500在步骤524处分析3D场景模型,并且在查询526处确定机器人周围的场景的3D模型是否完整。如果不是,则控制方法500在步骤528处生成下一个扫描视点,指导机器人在步骤530处扫描新的无碰撞路径,并且然后返回到步骤504以重复到对查询526的回答是“是”。在那时,在步骤532处,指导机器人抓持并拾取所检测到的对象或在对象上执行其它工作任务。

在一个方面中,本公开包括方法,方法包括:确定预定义的无碰撞机器人路径;使机器人沿预定义的机器人路径移动;在沿预定义的机器人路径移动的同时,利用被定位在机器人上的扫描传感器扫描工业场景;将工业场景的所扫描的图像存储在存储器中;基于被存储在存储器中的图像构建工业场景的3D模型;基于3D模型规划下一个无碰撞机器人路径;使机器人沿下一个无碰撞机器人路径移动;在沿下一个机器人路径移动的同时,利用被定位在机器人上的扫描传感器扫描工业场景;并且将新的扫描的图像存储在存储器中;并且基于新的扫描的图像重建工业场景的3D模型。

在细化的方面中,方法进一步包括重复规划、扫描、存储和重建步骤,直到完整的3D工业场景被构建;进一步包括在完成3D工业场景模型之后利用机器人执行工作任务;其中扫描传感器是3D摄像机;进一步包括当确定预定义的无碰撞路径时,使扫描传感器关于机器人移动;其中扫描传感器的移动包括关于机器人的摇摄、倾斜、旋转和平移运动;其中扫描传感器的移动包括在机器人的基座保持静止的同时使机器人的臂移动;进一步包括利用具有无碰撞运动规划算法的控制器规划无碰撞路径;其中无碰撞路径的规划实时发生而无需离线计算机分析。

本公开的另一方面包括方法,方法包括:确定预定义的无碰撞机器人路径;利用被定位在机器人上的扫描传感器沿预定义的无碰撞机器人路径扫描工业场景;将工业场景的所扫描的图像存储在存储器中;基于被存储在存储器中的图像构建工业场景的3D模型;检测工业场景的3D模型内的对象;使机器人沿无碰撞机器人路径移动以生成所检测的对象的下一个扫描视点;扫描工业场景以获得对象的新的扫描图像;将新的扫描图像存储在存储器中;并且重复移动和扫描步骤,直到对象被识别至阈值确定性级别。

在本公开的细化方面,其中扫描包括:利用3D摄像机捕获图像;进一步包括在对象已经被识别至阈值确定性级别之后在对象上执行机器人任务;其中机器人任务包括抓持对象;进一步包括摇摄、倾斜和旋转扫描传感器以从不同有利点捕获图像,以生成工业场景的新的3D模型;进一步包括在生成工业场景的新的3D模型之前规划下一个扫描路径;其中规划包括利用具有无碰撞运动规划器算法的控制器分析新的3D模型;并且进一步包括基于来自无碰撞运动规划算法的结果确定下一个扫描路径。

本公开的另一个方面包括方法,方法包括:确定预定义的无碰撞机器人路径;利用扫描传感器扫描靠近机器人的工业场景;将工业场景的所扫描的图像存储在存储器中;基于被存储在存储器中的图像构建工业场景的3D模型;检测工业场景内的对象;确定对象是否以足够的精度被识别;确定机器人任务是否能够在对象上被执行;以及在对象以足够的确定性被识别之后,在对象上执行一个或多个机器人任务。

在本公开的细化方面中,方法进一步包括:如果对象没有以足够的确定性被识别,则生成下一个扫描视点并且重新扫描工业场景;进一步包括:如果工业场景的3D模型不足以用于抓持分析,则生成下一个扫描视点并且重新扫描工业场景;进一步包括:如果工业场景的3D模型不完整,则生成下一个扫描视点并且重新扫描工业场景;其中工业场景的扫描包括使扫描传感器关于机器人摇摄、倾斜、旋转和平移;进一步包括:通过具有无碰撞运动规划算法的控制器规划无碰撞路径;并且其中规划实时发生而无需离线计算机分析。

虽然已经在附图和前面的描述中详细说明和描述了本申请,但是同样的内容被认为是说明性的而不是限制性的,应当理解,仅示出和描述了优选实施例,并且在申请的精神范围内的所有变更和修改期望被保护。应当理解,由于在本申请的范围内,范围由所附权利要求限定,因此,虽然在上面的描述中诸如可优选的、可优选地、优选的或更优选的词语的使用指示如此描述的特征可能是更期望的,但是它可能不是必需的并且缺少相同的特征的实施例被设想为在本申请的范围内,该范围由所附权利要求限定。在阅读权利要求时,意图是,当使用诸如“一个”、“一个”、“至少一个”或“至少一部分”的词语时,除非在权利要求中另有明确说明,否则无意将权利要求仅限于一个项目。当使用语言“至少一部分”和/或“一部分”时,除非另有明确说明,否则该项目可以包括一部分和/或整个项目。

除非另有说明或限制,否则术语“安装”、“连接”、“支撑”和“耦合”及其变型被广泛地使用并且包括直接的和间接的安装、连接、支撑和耦合。此外,“连接”和“耦合”不限于物理的或机械的连接或耦合。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于多巴胺神经元仿生CPG系统的机械臂控制器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!