CN115461199A - 用于自主机器人操作的面向任务的3d重构 - Google Patents

用于自主机器人操作的面向任务的3d重构 Download PDF

Info

Publication number
CN115461199A
CN115461199A CN202080100218.8A CN202080100218A CN115461199A CN 115461199 A CN115461199 A CN 115461199A CN 202080100218 A CN202080100218 A CN 202080100218A CN 115461199 A CN115461199 A CN 115461199A
Authority
CN
China
Prior art keywords
physical environment
task
autonomous
autonomous system
model
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
Application number
CN202080100218.8A
Other languages
English (en)
Inventor
温成涛
海科·克劳森
于小文
欧根·索洛乔
理查德·加里·麦克丹尼尔
斯温·艾尔佩尔特
胡安·L·阿帕里西奥·奥赫亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of CN115461199A publication Critical patent/CN115461199A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40053Pick 3-D object from pile of objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40557Tracking a tool, compute 3-D position relative to camera
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40564Recognize shape, contour of object, extract position and orientation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40613Camera, laser scanner on end effector, hand eye manipulator, local
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45063Pick and place manipulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

在未知或动态环境中的自主操作,例如机器人抓握和操纵提出了各种技术挑战。例如,给定物体的三维(3D)重构通常关注物体的几何形状,而不考虑物体的3D模型如何用于解决或执行机器人操作任务。如本文所描述,根据各种实施例,基于自主机器对物体或在物理环境内执行的任务生成物体和/或物理环境的模型。因此,在某些情况下,可以取决于使用模型执行的任务对给定物体或环境进行不同的建模。此外,可以取决于与模型相关联的任务以不同的分辨率对物体或环境的部分进行建模。

Description

用于自主机器人操作的面向任务的3D重构
背景技术
在未知或动态环境中的自主操作(例如机器人抓握和操纵)提出了各种技术挑战。例如,此类操作可以在工业4.0中具有多种应用。动态环境中的自主操作可应用于大规模定制(例如,多品种、小批量制造)、智能工厂中的按需灵活制造流程、智能商店中的仓库自动化、智能物流中配送中心的自动化交付等。为了执行自主操作,例如抓握和操纵,机器人可以通过探索环境来学习技能。特别是,例如,机器人可能会在不同的情况下与不同的物体进行交互。然而,机器人在现实世界中的这种物理交互通常是耗时的、成本高昂的,并且在某些情况下是危险的。物体或环境的三维(3D)重构可以创建机器人的给定环境或机器人或机器人的一部分的数字双胞胎或模型,这可以使机器人能够有效和安全地学习技能。
然而,本文认识到,当前用于重构或建模的方法缺乏效率和能力。此外,在某些情况下,动态环境中自主机器的性能受到对那些环境建模的各种缺点的抑制,特别是对那些环境中的物体建模的各种缺点的抑制。
发明内容
本发明的实施例通过提供用于对物体和物理环境进行建模同时节省计算资源的方法、***和装置来解决和克服本文描述的一个或多个缺点或技术问题,使得自主机器可以在这些环境中运行。在各种示例中,基于由模型代表的物体执行的自主任务的先验知识生成面向任务的3D构造模型。这样做时,可以生成在模型的各个部分具有可变分辨率的重构模型。例如,这种变化的分辨率可以节省在线重构时间和内存存储器。
在示例方面,用于在物理环境中操作自主机器的方法可以由自主***执行。自主***可以检测物理环境中的物体。该物体可以定义多个区域。可以识别需要自主机器与物体交互的任务。该方法还可以包括确定物体的多个区域中与任务相关联的选择区域。基于该任务,自主***可以拍摄物体的图像。图像可以定义物体的不同视图,使得物体的不同视图基于任务。视图可以是深度图像、RGB图像、RGB-D图像、IR(热红外)图像等。基于物体的不同视图,自主***可以生成物体的物体模型,其中物体模型在选择区域处定义多个区域中的其他区域相比更大的分辨率。在某些情况下,可以基于任务定位传感器,以便拍摄物体的特定图像或物理环境的图像。在另一方面,物理环境可以定义多个表面,并且自主***可以确定多个表面中与任务相关联的选择表面。此外,基于选择表面的图像,自主***可以生成物理环境的环境模型,其中环境模型在选择表面定义比多个表面的其他表面更大的分辨率。基于环境模型,自主机器可以沿着避开物理环境的选择表面和/或其他表面的轨迹移动物体。
附图说明
当结合附图阅读时,从以下详细描述中可以最好地理解本发明的前述和其他方面。为了说明本发明,在附图中示出了当前优选的实施例,然而应当理解,本发明不限于所公开的具体手段。图中包括以下图:
图1示出了根据示例实施例的在包括各种物体的示例物理环境中的示例自主机器。
图2图示了示例未知物体和未知物体的视图,其可以由自主***拍摄以用于模型或重构。
图3示出了可以使用基于任务的物体重构来执行的示例操作。
图4图示了图2中所示的未知物体的示例重构,其中使用基于抓握任务拍摄的视图来生成重构。
图5图示了根据另一个示例实施例的在另一个示例物理环境中的另一个示例自主机器。
图6是示出了根据示例实施例的可由自主***执行的示例操作的流程图。
图7是示出根据另一示例实施例的可由自主***执行的示例操作的另一流程图。
图8图示了可以在其中实现本公开的实施例的计算环境。
具体实施方式
在本文中认识到,构建(或重构)物体和环境的模型的当前方法缺乏效率和能力。例如,给定物体的三维(3D)重构通常关注物体的几何形状,而不考虑物体的3D模型如何用于解决或执行机器人操作任务。如本文所用,除非另有说明,机器人和自主机器可以互换使用,没有限制。如本文所描述,根据各种实施例,基于自主机器对物体或在物理环境内执行的任务生成物体和/或物理环境的模型。因此,在某些情况下,可以取决于使用模型执行的任务对给定物体或环境进行不同的建模。此外,可以取决于与模型相关联的任务以不同的分辨率对物体或环境的部分进行建模。
在某些情况下,当前的重构或建模方法缺乏效率和能力,因为没有充分利用机器人任务的先验知识。例如,为了驱动机器人通过手柄拿起咖啡杯,机器人可能需要高精度地估计手柄的表面几何形状。因此,杯子的重构模型可能需要手柄的高分辨率,而杯子其他表面的分辨率低。本文还认识到,当前具有唯一分辨率的重构模型在在线重构和内存占用方面效率低。此外,在某些情况下,自主机器在动态环境中的性能受到对那些环境建模的各种缺点的抑制,特别是对那些环境中的物体建模的各种缺点的抑制。
现在参考图1,示出了示例工业或物理环境100。如本文所使用,物理环境可以指代任何未知或动态的工业环境。重构或模型可以定义物理环境100或物理环境100内的一个或多个物体106的虚拟表示。物理环境100可以包括计算机化的自主***102,其被配置为执行一个或多个制造操作,例如组装、运输等。自主***102可以包括一个或多个机器人设备或自主机器,例如自主机器104,其被配置为执行一个或多个工业任务。***102可以包括一个或多个计算处理器,配置为处理***102、特别是自主机器104的信息和控制操作。自主机器104可以包括一个或多个处理器,例如处理器108,配置为处理信息和/或控制与自主机器104相关联的各种操作。用于在物理环境中操作自主机器的自主***可以进一步包括用于存储器模块的存储器。处理器还可以被配置为执行模块以处理信息并基于信息生成模型。应当理解,所示环境100和***102出于示例的目的而被简化了。环境100和***102可以根据需要而变化,并且所有这样的***和环境都被认为在本公开的范围内。
仍参照图1,自主机器104还可以包括机械臂或机器人操纵器110和被配置为支撑机器人操纵器110的基座112。基座112可以包括轮子114或能够以其他方式被配置为在物理环境100内移动。自主机器104可以进一步包括附接到机器人操纵器110的末端执行器116。末端执行器116可以包括夹具或被配置为抓握和/或移动物体106的一个或多个工具。机器人操纵器110可以配置为移动以便改变例如,末端执行器116的位置,以便在物理环境100内放置或移动物体106。***102还可以包括一个或多个照相机或传感器,例如三维(3D)点云照相机118,其被配置为检测或记录物理环境100内的物体106。相机118可以被安装到机器人操纵器110或以其他方式配置以生成给定场景的3D点云,例如物理环境100。替代地或附加地,***102的一个或多个相机可以包括一个或多个标准二维(2D)相机,其可以记录或捕捉来自不同视点的图像(例如,RGB图像或深度图像)。这些图像可用于构建3D图像。例如,2D相机可以安装到机器人操纵器110上,以便从沿着由操纵器110定义的给定轨迹的视角捕捉图像。
因此,自主***102的一个或多个传感器或相机,例如相机118,可以被配置为检测和拍摄物理环境100内的物体的图像。这样的物体对于自主***102是已知的或对于自主***102来说是未知的。在一些示例中,给定物体的拍摄图像定义物体的不同视图。如本文进一步描述的,可以基于需要自主机器104与物体交互的任务来拍摄给定物体的图像。因此,可以基于任务拍摄物体的不同视图。例如,基于任务,自主***102的传感器或照相机可以被定位以便拍摄定义物体的特定视图或物理环境100的特定视图的图像。
继续参考图1,在示例中,一个或多个相机可以定位在自主机器104上方,或者可以以其他方式布置以连续监控环境100内的任何物体。例如,当物体,例如物体106中的一个,在环境100内设置或移动,相机118可以检测到物体。在一个示例中,处理器108可以确定检测到的给定物体是否被自主***102识别,从而确定物体被分类为已知的还是未知的(新的)。在一些示例中,深度神经网络在一组已知物体上进行训练。基于其训练,当在环境100内检测到物体时,深度神经网络可以计算给定物体的新颖性分数。在示例中,当新颖性分数大于预定义的新颖性阈值时,物体被分类为新。相反,在示例中,当新颖性分数低于预定阈值时,物体被自主***102识别。如果物体被识别,处理器108可以检索物体的模型,例如,以模拟涉及物体的任务。在一些示例中,如果物体未被识别,使得该物体可以被认为对于自主机器104以及因此对于自主***102来说是新的,可以根据各种实施例如本文所述生成物体的模型。可以将网格表示添加到模拟环境中,从而可以模拟新物体。特别地,可以模拟新物体以便与机器人设备104交互。在一些情况下,一个或多个传感器,例如相机118,可以扫描物体并且处理器108将扫描转换成物体的网格表示。
现在参考图2,在示例中,物体,例如物体106之一,定义未知物体200。可以根据本文描述的各种实施例生成物体(例如未知物体200)的3D重构。如本文所用,重构和3D重构可以互换使用,没有限制。此外,3D重构通常可以指将空间有界物体的多个视图(例如,相机视图)融合在一起以构建物体的3D几何模型。可用于3D重构的示例视图包括RGB图像、深度图像、RGB-D图像等。在本文认识到,当前的3D重构方法通常与任务无关,因为给定的重构可能集中在物体的几何形状上,而不考虑如何使用重构,例如解决机器人执行的任务。
根据各种实施例,物体的重构,特别是物体的所拍摄的视图,基于物体所涉及的任务。参考图2来说明示例,未知物体200定义了喷雾瓶202,其包括第一区域或头部204和附接到头部204的第二区域或主体206。应当理解,喷雾瓶202作为示例呈现出于解释的目的,尽管没有被自主***识别的任何物体都可以是未知物体200,并且所有这样的物体都被认为在本公开的范围内。头部204包括手柄208,该手柄被配置为被按压以便喷射瓶子202的内容物。头部204进一步定义了包括手柄208的不规则或复杂几何形状。主体206定义了平坦表面210。因此,主体206定义了比头部204定义的几何形状更简单的几何形状。因此,在本文中认识到,在当前的重构方法中,拍摄头部204的相机视图212可能比拍摄主体206的相机视图214多。例如,拍摄复杂几何形状的多个视图212,拍摄比复杂几何形状的视图212的数量少的简单几何形状的多个视图214,可以允许以一致的精度来重构瓶子202。也就是说,即使头部204定义了复杂的几何形状,头部204也可以以与主体206基本相同的分辨率建模。
然而,根据各种实施例,拍摄的未知物体200的视图是基于对未知物体200执行的任务。因此,未知物体200的模型或重构可以基于为其生成模型或重构的任务。再次参考图2,如果自主***,例如自主***102,接收到要求自主机器104抓握喷雾瓶202的任务,则自主机器104可以确定瓶子202的主体206是包括自主机器104的抓握位置的区域。因此,自主***102可以确定物体200的多个区域中与给定任务(例如抓握)相关联的选择区域,例如主体206。自主***102还可以拍摄定义基于任务的物体的不同视图的图像,并且生成物体的模型,该模型在选择区域定义了与其他区域相比更大的分辨率。因此,在该示例中,基于抓握任务,自主***102可以生成喷雾瓶202的模型或重构,其在主体区域定义了与其他区域(例如头部区域)相比更大的分辨率。
如上描述,任务、例如机器人操纵任务,可以对给定物体的3D重构提出独特的要求。又如,物理环境100中的物体106之一,例如相对于自主***102的未知或新颖物体,可以定义具有手柄和沿由手柄定义的长度延伸的刀片的刀。自主***102生成的刀的视图可以取决于自主机器将用刀执行的任务。例如,如果自主***102接收到要求自主机器104使用刀切割物体的任务,则自主***102可以选择包括手柄的区域以便拍摄比刀片更多的手柄视图。因此,自主***102可以生成手柄的精确模型,其分辨率比刀片模型的分辨率高。使用该模型,自主机器104可以访问处理刀片所需的细节。或者,例如,如果自主***102接收到要求自主机器104将刀例如传递给人以使得人可以抓握手柄的任务,则自主***102可以选择包括刀片的区域以便拍摄比手柄更多的刀片视图。因此,自主***102可以生成刀片的精确模型,其具有比手柄模型更高的刀片分辨率。
本文认识到,在没有适当考虑与重构相关联的任务或操作的情况下重构物体可能比基于任务重构物体效率更低。在某些情况下,重构物体而不基于与重构相关的任务或操作可能会导致操作失败,例如,如果所获得模型确实满足后续操作任务的要求。然而,根据各种实施例,基于操作任务生成模型,使得例如工业机器人可以基于生成的模型自主地操纵新物体,而无需预先存在的CAD模型。此外,在某些情况下,模型是基于操作任务生成的,使得例如工业机器人可以在动态环境条件下自主操纵新物体,而无需准确的环境模型。这样的重构模型可以具有相对较低的计算复杂度和内存要求。例如,在某些情况下,通过基于任务生成模型,对任务不显着的特定物体的区域可以被估计或以有限的粒度建模,这样可以节省和/或保留计算资源,用于对任务突出的区域进行建模。在一些示例中,这样的资源节约可以使资源能够用于在边缘设备(例如,PLC)(编程逻辑控制)或工业机器人控制器上的实时嵌入式3D表面生成。此外,在各种实施例中,建模物体和与物体相关联的机器人操作被集成,从而减少算法实施、调整和调试的成本和时间,从而与当前建模方法相比更快地生成技术解决方案。
继续参考图3,示例3D重构问题包括重构有空间界限的物体106之一的3D几何结构,例如杯子120,使得可以使用重构来执行操作300。示例操作300包括抓握杯子120和倾斜杯子120以将液体倒出杯子120,但可以理解,可以根据需要对杯子120进行其他操作,并且所有对杯子120或其他物体的这种操作都被认为在本公开的范围内。为了生成杯子120的模型或重构,可以捕捉杯子120的各种视图。在各种示例中,RGB图像、深度图像或RGB-D可以定义杯子120的一个或多个视图。在一些情况下,自主***102可以执行主动感知以便基于先前视图选择后续视图。特别地,杯子120的视图可用于生成杯子120的部分重构,随后的视图可基于部分重构来选择。与被动感知相比,这种主动感知可以减少拍摄的视图数量。在被动感知示例中,相机视图可以在空间中均匀采样或随机采样,以便重构给定物体而不考虑其特征。
尤其参考图3,杯子120包括手柄302。在示例中,自主***102接收要求末端执行器116抓握杯子120的任务。该任务可能进一步要求自主机器104倾斜杯子120,以便将杯子120内的内容物倒入特定位置。基于该任务,对杯子120的相机姿势进行采样。例如,基于抓握和操纵任务,可以拍摄手柄302的视图。特别地,可以拍摄手柄302的一部分304的视图。在一些情况下,与杯子的其他部分(例如手柄302的其他部分)相比,部分304的更多视图被拍摄。在示例中,自主***102可以执行主动感知以便收集比杯子120的其他部分和杯子120所处环境的其他部分更多的部分304的视图。手柄302的部分304可以为末端执行器116定义候选位置以抓握杯子120以执行接收到的任务。因此,不受理论束缚,自主***102可以自动收集与任务相关的视图,以减少在选择用于抓握的位置以执行任务时所涉及的计算时间。此外,可以通过关注与一个或多个任务相关的物体的相对较小部分来简化物体的重构,例如抓握和在抓握之后执行的操作任务。
现在参考图4,示出了未知物体200的示例物体模型400。物体模型400基于抓握任务,例如拾取和放置操作,该任务将由机器人(例如自主机器104)执行。在一些情况下,未知物体200的多个视图被拍摄以检测和将物体识别为喷雾瓶。在示例中,在将未知物体200识别为喷雾瓶之后,可以检索喷雾瓶的CAD模型以确定用于抓握的潜在接触点。基于或响应于接收任务,主体206的视图402可以被拍摄。在一些情况下,也可以拍摄视图404。在各种示例中,基于对瓶子202执行的任务,收集的主体206的相机视图402比头部204的相机视图404多。基于视图402,可以计算稳定的抓握点406。自主***102可以基于各种抓握质量度量(例如力闭合、形状闭合、笼闭合等)确定抓握点406有资格作为稳定抓握点。类似地,可以计算并且可以确定抓握点408为低质量抓握点。为了选择抓握点,在示例中,可以训练神经网络,例如抓握质量卷积神经网络(GQ-CNN),使得GQ-CNN可以使用3D相机收集的点云来预测物体的候选抓握位置的成功概率。GQ-CNN可以生成或确定高质量的抓握点,例如,基于物体的表面几何信息。
使用基于需要在未知物体200上执行的抓握和操纵任务的视图404和406,可以生成物体模型400,与物体200的其他区域,例如头部204相比,使得物体模型400可以在选择区域(例如主体206)定义更大的分辨率。因此,根据该示例,与头部204相比,主体206的区域被更准确地重构。在一些情况下,与被选为与任务相关联的物体区域相比,可以以低准确度重构与任务无关的物体区域。例如,物体模型400可以在头部204定义低准确度。具体地,举例来说,可以从重构中省略手柄208的部分,因为例如手柄208不涉及特定任务、例如拾取和放置操作。本文认识到分辨率的差异,例如在物体的不参与为其生成重构的任务的部分处定义低准确度的重构,可以加快处理并节省或节约计算资源。
在一些情况下,根据各种示例实施例并继续参考图4,可以使用扩展来细化3D重构模型(例如物体模型400)在未被选择为与给定任务相关联的区域处的准确度。例如,物体模型400在包括头部204以及包括手柄208的区域处的精度可以被细化。如所描述的,与被选择为与任务相关联的未知物体200的区域相比,不需要基于给定任务重构的未知物体200的区域可以基于有限的图像或视图来建模。因此,那些与任务无关的区域可能缺乏细节,或者在某些情况下可能会缺失。举例来说,与抓握和操纵任务无关的手柄208的区域处的模型400可能缺乏细节或可能定义缺失部分410。在一些示例中,自主***102可以估计缺失部分410或估计与给定任务无关的物体区域的细节。
在一些示例中,自主***102包括神经网络,例如生成对抗神经网络(GAN),其被配置为学习和预测与工业环境相关联的物体。应当理解,GAN是作为示例呈现的,并且可以根据需要使用各种神经网络,并且所有这样的神经网络都被认为在本公开的范围内。例如,可以使用物体的3D模型(例如数千或数百万个物体的3D模型)训练GAN。基于训练,GAN可以被触发以估计未知物体的一部分,例如未知物体200的缺失部分410。在各种示例中,与主体206的区域相比,估计的部分是在执行抓握任务中。可以根据需要触发GAN。在某些情况下,当物体特定区域的传感器数据有限时,可以触发GAN。例如,参考图4,如果自主***102确定头部204的视图404低于预定阈值,则可以触发GAN以估计或添加细节到头部204的部分。替代地或附加地,自主***102可以检测未知物体200的一个或多个视图缺失,尤其是自主***102可以检测到缺失部分410。这样的检测可以触发GAN来估计缺失部分410。不受理论束缚,缺失部分410的GAN模型可以显着加快3D重构过程,因为作为一个示例,它可以减少拍摄和处理的视图的数量。减少所拍摄的视图数量可能会使得3D相机不得不在实际上减少移动到不同位置的次数。
仍参照图4,GAN可以估计缺失部分410,以便利用其训练的经验来填补物体模型400的空白。例如,GAN可以在来自不同制造商的具有不同设计的各种喷雾瓶上进行训练。基于该训练,即使喷雾瓶202没有输入到GAN,GAN也可以检测到未知物体200是喷雾瓶。此外,GAN可以为物体模型400构建手柄,以便估计缺失部分410。在某些情况下,GAN基于其对其他喷雾瓶的训练,例如,可以使用瓶子202的大小来估计手柄208,使得手柄208的网格模型与喷雾瓶202的尺寸和设计成比例。在一些示例中,自主***102可以包括其上存储有物体的各个部件的存储器,并且这些部件可以包括各种手柄。在一些示例中,估计网格模型可能没有准确地代表手柄208的基本事实。然而,本文认识到,缺失部分410的估计模型可以定义未知物体200的碰撞表面。这样的碰撞表面,即使不完全代表喷雾瓶202的碰撞表面,也可以帮助模拟或建模在喷雾瓶202上执行的抓握和操纵任务。例如,基于估计的碰撞表面,自主***102可以确定自主机器104可能何时与手柄208碰撞。尤其是,自主***102可以基于估计的手柄208的碰撞表面来确定当自主机器104接近其期望的抓握位置时如何防止自主机器104与手柄208碰撞。此外,自主***102可以基于估计的手柄208的碰撞表面确定在将瓶子202转移到另一个位置时如何防止手柄208与其他物体碰撞。
另外或替代地,GAN可用于确定何时需要给定物体或环境、或给定物体或环境的特定区域的视图,例如更多视图。举例来说,参考图2,自主***102可以拍摄定义物体106中的一个的多个视图的第一组图像。基于这些视图,在一些情况下,自主机器104可以生成物体的重构,该重构基于自主机器104将在物体上执行的任务。可替代地,GAN可以基于第一组视图确定物体的至少一部分没有被估计到足够的细节。在这种情况下,并且响应于这种确定,自主***102可以拍摄第二组视图,从而可以改进重构。本文认识到,与需要来自传感器的额外数据的传统3D重构相比,以这种方式引导视图拍摄的GAN可以节省计算资源,传统的3D重构通常耗时且容易出错,且传感器噪声大。
现在参考图5,示出了另一个示例工业或物理环境500。重构或模型可以定义物理环境500或物理环境500内的一个或多个物体(例如物体506)的虚拟表示。物理环境500可以包括计算机化的自主***502,其被配置为执行一个或多个制造操作,例如组装、运输等。自主***502可以包括一个或多个机器人设备或自主机器,例如自主机器504,其被配置为执行一个或多个工业任务。***502可以包括一个或多个存储器和计算处理器,其被配置为处理***502的信息和控制操作,尤其是自主机器504的信息和控制操作。自主机器504可以包括一个或多个存储器和处理器,其被配置为处理信息和/或控制与自主机器504相关联的各种操作。用于在物理环境中操作自主机器的自主***可以还包括用于存储模块的存储器。处理器还可以被配置为执行模块以处理信息并基于信息生成模型。应该理解,所示环境500和***502出于示例的目的而被简化。环境500和***502可以根据需要而变化,并且所有这样的***和环境都被认为在本公开的范围内。
仍参照图5,自主机器504还可以包括机械臂或机器人操纵器510和被配置为支撑机器人操纵器510的底座512。底座512可以包括或可以以其他方式被配置为在物理环境500内移动。替代地或附加地,机器人操纵器510可以被配置为在物理环境500内移动。自主机器504还可以包括附接到机器人操纵器510的末端执行器514。末端执行器514可以包括夹具或一个或多个被配置为抓握和/或移动物体506的工具。机器人操纵器510可以被配置为移动以改变末端执行器514的位置,例如,以便在物理环境500内放置或移动物体506。自主***502可以进一步包括一个或多个相机或传感器,例如被配置为检测或记录物理环境100内的物体以及物理环境500本身的三维(3D)点云相机。替代地或附加地,***502的一个或多个相机可以包括一个或多个标准二维(2D)相机,其可以记录或捕捉来自不同视点的图像(例如,RGB图像或深度图像)。
在一些示例中,自主***502可以执行面向任务的感知和建模以避免任务期间的冲突。举例来说,物理环境500可以定义多个表面516,这些表面定义了一个孔518。物体506可以定义一个钉子或其他尺寸的物体,以便***到孔518中。继续该示例,自主***502可以接收要求自主机器504将物体506***孔518中的任务。应当理解,为了举例的目的,钉入孔任务是简化的组装任务,使得可以根据各种实施例根据需要执行其他组装或运输任务,并且所有这样的任务都被认为在本公开的范围内。基于该任务,自主***502可以选择物理环境500的一部分520,在其中捕捉相机视图522,其中该任务要求自主机器504与该部分520交互。在一些情况下,所选择的部分520的相机视图522比物理环境500的其他部分(可以被认为与任务无关的部分)所拍摄的视图更多。特别是,自主***502可以基于任务确定物体506和物理环境500的表面516之间的碰撞最有可能发生在包括物体506的下端522和孔518的上部区域的部分520处。因此,孔的上部区域以及物理环境500的部分520可以包括一个或多个选择表面524。因此,自主***502可以确定多个表面中的选择表面524与任务相关联。
在一些示例中,基于选择的一个或多个表面524的拍摄图像,自主***可以生成物理环境的环境模型,其中,环境模型在选择表面524处定义了与多个表面516的其他表面相比更大的分辨率。因此,基于要求自主机器504将物体506***孔518的任务,环境模型可以在孔518的上部区域比孔或物理环境500的其他区域定义更大的分辨率。此外,基于包括物体506的下端522的部分520的拍摄图像,自主***502可以生成物体506的模型,该模型在下端522定义了与物体506的其他区域相比更大的分辨率。基于环境模型和/或物体506的模型,自主机器可以沿着避开选择表面和/或物理环境的其他表面的轨迹移动物体506。
因此,在一些情况下,基于任务,可以生成机器人的一小部分和机器人操作的环境的网格模型。这种面向任务的建模可以使得相对较快的重构过程,其涉及相对较低的计算复杂度。
现在参考图6,根据各种实施例,示例重构操作600可以由自主***执行,例如自主***102或自主***502。在602,在物理环境中检测物体。在某些情况下,***确定物体是新的或确定不存在先前生成的物体模型。物体可以定义多个区域。在604,***识别需要自主机器与物体交互的任务。例如,***可以从处理器或操作员接收任务,或者除此以外可以确定需要执行该任务。在606,***确定物体的多个区域中与任务相关联的选择区域。例如,如果任务涉及抓握和操纵物体,则***可以确定物体的自主机器可以在不掉落物体的情况下抓握的区域,同时还执行任务的操纵方面。在608,基于任务,***拍摄物体的图像。图像可以定义物体的不同视图,使得物体的不同视图基于任务。在610,基于物体的不同视图,***生成物体的物体模型。在某些情况下,***还可以通过使用神经网络(例如GAN)来生成物体模型的区域。物体模型可以在选择区域处定义或具有与多个区域中的其他区域相比更大的分辨率。
现在参考图7,根据各种实施例,示例建模和碰撞避免操作700可以由自主***执行,例如自主***102或自主***502。在702,在***的物理环境中检测物体。例如,自主***可以执行物体检测算法。具体而言,例如,***可以比较图像上的图像像素值以检测物体,因为物体处的值与没有物体的图像区域处的值显著不同。在704,***确定检测到的物体是否是新的。在某些情况下,***可以执行粗略的3D表面重构算法,以检测物理环境或工作区域中是否存在新物体。例如,***中的检测器可以随机采样一小组相机姿态来收集物体的多个相机视图,以确定该物体对***来说是否是新的。特别是,例如,可以在一组已知物体上训练深度神经网络。基于其训练,当在环境中检测到物体时,深度神经网络可以计算给定物体的新颖性分数(在702)。在一个示例中,当新颖性分数大于预定义的新颖性阈值时,物体被分类为新的。相反,在一个示例中,当新颖性分数低于预定义阈值时,该物体被自主***识别。视图可以是深度图像、RGB图像、RGB-D图像、IR(热红外)图像等。如果***确定物体不是新颖的,则操作可以进行到716,在此从存储器中检索或除此以外获得检测到的物体的模型。如果***确定检测到的物体是新颖的,则操作可以进行到706。在706,***基于任务收集物体和/或环境的视图,以便收集任务特定的视图。该任务可能需要***的机器人与环境中的物体进行交互。因此,在706,***可以收集对任务显著的物体或环境部分的视图。在708,***可以确定是否可以以可接受的分辨率或粒度对物体或环境,特别是物体或环境中对任务突出的部分进行建模。在一些情况下,可以将模型与重构误差或准确度的预定裕度进行比较(在708处)以确定误差以及模型或模型的部分是否可接受。如果***确定错误或粒度低于预定阈值,则过程可以返回到706,在此可以拍摄或收集更多特定于任务的视图。如果***确定错误或粒度与预定阈值相比是可接受的,则过程可以进行到710。
仍参照图7,在710,基于任务,可以生成路径。该路径可以定义机器人和/或物体行进以完成任务的物理环境内的轨迹。在某些情况下,基于收集到的物理环境的视图来重构物理环境,以生成环境模型。基于环境模型,在712,***可以确定生成的路径是否可行。在一些示例中,***执行面向碰撞的重构。例如,该***可以包括物理引擎上的高保真机器人模拟器,以模拟路径规划和避免碰撞任务。如果***确定路径不可行,例如如果***确定沿路径的操作将导致物体和/或机器人与物理环境中的另一个物体之间的碰撞,则过程可以进行到714。在某些情况下,被模拟为不可行的路径可以反馈到主动感知步骤(在706),以通知所收集的视图,从而通知碰撞相关的3D表面模型。在714,***确定其是否已经超时,或者其是否可以执行另一次迭代。例如,在某些情况下,可以预定义最大迭代次数。如果***确定可以执行另一次迭代,则该过程可以返回到706,其中可以收集物体或环境的更多特定于任务的视图,以便生成不同的3D重构。在712,如果***确定生成的路径是可行的,则过程可以进行到716,其中可以将退出标记给注册为成功的重构。因此,可以在716生成和输出一个或多个模型。被模拟为可行的路径可以与现实世界相关联。类似地,在714,如果***确定不能执行另一次迭代,则过程可以进行到716,其中可以注册指示达到最大迭代次数的退出标记。在一些情况下,可以增加迭代的次数,使得过程可以返回到706。在716,在一些示例中,输出的模型可以包括物体的重构和物理环境的重构。模型可以进一步包括定义轨迹的构造路径,使得可以在没有碰撞的情况下执行任务。
不受理论束缚,根据各种实施例,未知物体和机器人操作可以被建模以用于制造和仓库自动化中的大规模定制,以确保高水平的生产力和灵活性。如本文所描述,通过将3D重构自动集成到机器人操作任务流水线中,可以在没有例如精确位置、规格、CAD信息等的知识的情况下制造新部件。此外,在此描述的实施例可以减少与在例如实施、调整和调试重构中的人类工程工作相关的成本和时间。例如,如本文所描述,耗时的高精度重构过程可限于直接且显着影响特定机器人操作任务的表面区域或部分。所得的重构模型可以具有较低的计算复杂度和内存要求。因此,在某些情况下,实时嵌入式3D重构可以在边缘设备(例如PLC和工业机器人控制器)上运行。
图8图示了可以在其中实现本公开的实施例的计算环境的示例。计算环境800包括计算机***810,该计算机***可以包括诸如***总线821之类的通信机制或用于在计算机***810内传递信息的其他通信机制。计算机***810还包括与***总线821耦合的一个或多个处理器820用于处理信息。自主***102和502可以包括或耦合到一个或多个处理器820。
处理器820可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或本领域已知的任何其他处理器。更一般地,如本文所述的处理器是用于执行存储在计算机可读介质上的机器可读指令、用于执行任务的设备,并且可以包括硬件和固件中的任何一个或它们的组合。处理器还可以包括存储机器可读指令的存储器,用于执行任务。处理器通过操纵、分析、修改、转换或传输信息以供可执行程序或信息设备使用,和/或通过将信息路由到输出设备来对信息起作用。例如,处理器可以使用或包括计算机、控制器或微处理器的能力,并且可以使用可执行指令来调节以执行通用计算机不执行的专用功能。处理器可以包括任何类型的合适的处理单元,包括但不限于中央处理单元、微处理器、精简指令集计算机(RISC)微处理器、复杂指令集计算机(CISC)微处理器、微控制器、应用程序专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上***(SoC)、数字信号处理器(DSP)等。此外,处理器820可以具有任何合适的微体系结构设计,其包括任何数量的组成组件,例如寄存器、多路复用器、算术逻辑单元、用于控制对高速缓存存储器的读/写操作的高速缓存控制器、分支预测器等。处理器的微架构设计可能能够支持多种指令集中的任何一种。处理器可以与任何其他处理器耦合(电耦合和/或作为包括可执行组件),从而实现它们之间的交互和/或通信。用户界面处理器或生成器是包括用于生成显示图像或其部分的电子电路或软件或两者的组合的已知元件。用户界面包括使用户能够与处理器或其他设备交互的一个或多个显示图像。
***总线821可以包括***总线、存储器总线、地址总线或消息总线中的至少一个,并且可以允许在计算机***810的各种组件之间交换信息(例如,数据(包括计算机可执行代码)、信令等)。***总线821可以包括但不限于存储器总线或存储器控制器、***总线、加速图形端口等。***总线821可以与任何合适的总线架构相关联,包括但不限于工业标准架构(ISA)、微通道架构(MCA)、增强型ISA(EISA)、视频电子标准协会(VESA)架构、加速图形端口(AGP)架构、***组件互连(PCI)架构、PCI-Express架构、个人计算机存储卡国际协会(PCMCIA)架构、通用串行总线(USB)架构等。
继续参考图8,计算机***810还可以包括耦合到***总线821的***存储器830,用于存储要由处理器820执行的信息和指令。***存储器830可以包括易失性和/或非易失性形式的计算机可读存储介质存储器,例如只读存储器(ROM)831和/或随机存取存储器(RAM)832。RAM 832可以包括其他动态存储设备(例如,动态RAM、静态RAM和同步DRAM)。ROM831可以包括其他静态存储设备(例如,可编程ROM、可擦除PROM和电可擦除PROM)。此外,***存储器830可用于在处理器820执行指令期间存储临时变量或其他中间信息。包含基本例程的基本输入/输出***833(BIOS)可以存储在ROM 831中,这些基本例程有助于在计算机***810内的元件之间传输信息,例如在启动期间。RAM 832可以包含处理器820可立即访问和/或当前由处理器操作的数据和/或程序模块。***存储器830可以附加地包括例如操作***834、应用程序835和其他程序模块836。应用程序835还可以包括用于开发应用程序的用户门户,允许输入参数并根据需要进行修改。
操作***834可以被加载到存储器830中并且可以提供在计算机***810上执行的其他应用软件和计算机***810的硬件资源之间的接口。更具体地,操作***834可以包括一组计算机可执行指令,用于管理计算机***810的硬件资源并用于向其他应用程序提供公共服务(例如,管理各种应用程序之间的内存分配)。在某些示例实施例中,操作***834可以控制描述为存储在数据存储器840中的一个或多个程序模块的执行。操作***834可以包括现在已知的或将来可能开发的任何操作***,包括,但不限于任何服务器操作***、任何主机操作***或任何其他专有或非专有操作***。
计算机***810还可以包括耦合到***总线821以控制用于存储信息和指令的一个或多个存储设备的磁盘/介质控制器843,例如磁性硬盘841和/或可移动介质驱动器842(例如,软盘驱动器、光盘驱动器、磁带驱动器、闪存驱动器和/或固态驱动器)。可以使用适当的设备接口(例如,小型计算机***接口(SCSI)、集成设备电子设备(IDE)、通用串行总线(USB)或火线)将存储设备840添加到计算机***810。存储设备841、842可以在计算机***810的外部。
计算机***810还可以包括耦合到***总线821的现场设备接口865以控制现场设备866,例如在生产线中使用的设备。计算机***810可以包括用户输入接口或GUI 861,其可以包括一个或多个输入设备,例如键盘、触摸屏、平板和/或定点设备,用于与计算机用户交互并向处理器提供信息820。
计算机***810可以响应于处理器820执行包含在诸如***存储器830的存储器中的一个或多个指令的一个或多个序列来执行本发明的实施例的部分或全部处理步骤。这样的指令可以从另一个计算机可读存储介质840读入***存储器830,例如磁硬盘841或可移动介质驱动器842。磁硬盘841(或固态驱动器)和/或可移动介质驱动器842可以包含本公开的实施例使用的一个或多个数据存储器和数据文件。数据存储器840可以包括但不限于数据库(例如关系型、面向物体型等)、文件***、平面文件、分布式数据存储器,其中数据存储在计算机网络的一个以上节点、对等网络数据存储器等上。数据存储器可以存储各种类型的数据,例如技能数据、传感器数据或根据本公开的实施例生成的任何其他数据。数据存储器的内容和数据文件可能会被加密以提高安全性。处理器820也可以在多处理布置中使用以执行包含在***存储器830中的一个或多个指令序列。在替代实施例中,可以使用硬接线电路来代替软件指令或与软件指令结合使用。因此,实施例不限于硬件电路和软件的任何特定组合。
如上所描述,计算机***810可以包括至少一个计算机可读介质或存储器,用于保存根据本发明的实施例编程的指令并用于包含数据结构、表格、记录或本文描述的其他数据。如本文所用,术语“计算机可读介质”是指参与向处理器820提供指令以供执行的任何介质。计算机可读介质可以采取多种形式,包括但不限于非瞬态、非易失性介质、易失性介质和传输介质。非易失性介质的非限制性示例包括光盘、固态驱动器、磁盘和磁光盘,例如磁性硬盘841或可移动介质驱动器842。易失性介质的非限制性示例包括动态存储器,例如***存储器830。传输介质的非限制性示例包括同轴电缆、铜线和光纤,包括构成***总线821的线。传输介质也可以采用声波或光波的形式,例如那些在无线电波和红外数据通信过程中产生。
用于执行本公开的操作的计算机可读介质指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或任一源代码或以一种或多种编程语言的任何组合编写的目标代码,包括诸如Smalltalk、C++等的面向物体的编程语言,以及诸如“C”编程语言或类似的编程语言的常规过程编程语言。计算机可读程序指令可以完全在用户计算机上、部分在用户计算机上、作为独立软件包、部分在用户计算机上和部分在远程计算机上或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,通过因特网使用因特网服务提供商)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以个性化电子电路,以执行本公开的各方面。
本文参考根据本公开的实施例的方法、装置(***)和计算机程序产品的流程图和/或框图来描述本公开的方面。应当理解,流程图和/或框图的每个框,以及流程图和/或框图中的框的组合,可以通过计算机可读介质指令来实现。
计算环境800还可以包括在网络环境中操作的计算机***810,其使用与诸如远程计算设备880之类的一个或多个远程计算机的逻辑连接。网络接口870可以例如通过网络871与其他远程设备880或***和/或存储设备841、842进行通信。远程计算设备880可以是个人计算机(笔记本电脑或台式电脑)、移动设备、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且通常包括上面关于计算机***810描述的许多或所有元件。当在网络环境中使用时,计算机***810可以包括调制解调器872,用于通过网络871(例如因特网)建立通信。调制解调器872可以通过用户网络接口870或通过另一种适当的机制连接到***总线821。
网络871可以是本领域公知的任何网络或***,包括因特网、内联网、局域网(LAN)、广域网(WAN)、城域网(MAN)、直接连接或一系列连接、蜂窝电话网络或能够促进计算机***810与其他计算机(例如,远程计算设备880)之间的通信的任何其他网络或介质。网络871可以是有线的、无线的或其组合。有线连接可以使用以太网、通用串行总线(USB)、RJ-6或本领域公知的任何其他有线连接来实现。无线连接可以使用Wi-Fi、WiMAX和蓝牙、红外线、蜂窝网络、卫星或本领域通常已知的任何其他无线连接方法来实现。此外,几个网络可以单独工作或相互通信以促进网络871中的通信。
应当理解,图8中描绘的存储在***存储器830中的程序模块、应用程序、计算机可执行指令、代码等仅仅是说明性的而不是详尽列举的,并且被描述为由任何特定模块支持的处理可以替代地分布在多个模块上或由不同的模块执行。此外,可以提供各种程序模块、脚本、插件、应用程序编程接口(API)或托管在本地计算机***810上、远程设备880上,和/或托管在可通过网络871的一个或多个网络访问的其他计算设备上任何其他合适的计算机可执行代码以支持由图8所示的程序模块、应用程序或计算机可执行代码提供的功能和/或附加或替代功能。此外,功能可以被不同地模块化,使得描述为由图8中所描绘的程序模块的集合共同支持的处理可以由更少或更多数量的模块来执行,或者被描述为由任何特定模块支持的功能可以至少部分地由另一个模块支持。此外,支持本文描述的功能的程序模块可以形成一个或多个应用程序的一部分,该应用程序可以根据任何合适的计算模型(例如,客户端-服务器模型、对等模型等)在任何数量的***或设备上执行。此外,被描述为由图8中所描绘的任何程序模块支持的任何功能都可以至少部分地在任何数量的设备上以硬件和/或固件来实现。
还应当理解,计算机***810可以包括在不脱离本公开的范围的情况下所描述或描绘的那些之外的替代和/或附加硬件、软件或固件组件。更具体地,应当理解,描述为形成计算机***810的一部分的软件、固件或硬件组件仅仅是说明性的,并且在各种实施例中可能不存在一些组件或者可以提供附加组件。尽管已经将各种说明性程序模块描绘和描述为存储在***存储器830中的软件模块,但是应当理解,描述为由程序模块支持的功能可以通过硬件、软件和/或固件的任何组合来实现。还应当理解,在各种实施例中,上述每个模块可以代表支持的功能的逻辑分区。该逻辑分区是为了便于解释功能而描绘的,并且可能不代表用于实现该功能的软件、硬件和/或固件的结构。因此,应当理解,在各种实施例中,描述为由特定模块提供的功能可以至少部分地由一个或多个其他模块提供。此外,在某些实施例中可能不存在一个或多个描绘的模块,而在其他实施例中,可能存在未描绘的附加模块并且可以支持所描述的功能和/或附加功能的至少一部分。此外,虽然某些模块可以被描绘和描述为另一个模块的子模块,但在某些实施例中,这些模块可以作为独立模块或作为其他模块的子模块来提供。
尽管已经描述了本公开的特定实施例,但是本领域普通技术人员将认识到许多其他修改和替代实施例在本公开的范围内。例如,关于特定设备或组件描述的任何功能和/或处理能力可以由任何其他设备或组件执行。此外,虽然已经根据本公开的实施例描述了各种说明性实现方式和架构,但是本领域普通技术人员将理解,对本文描述的说明性实现方式和架构的许多其他修改也在本公开的范围内。此外,应当理解,本文描述为基于另一操作、元素、组件、数据等的任何操作、元素、组件、数据等可以另外基于一个或多个其他操作、元素、组件、数据等。因此,短语“基于”或其变体应解释为“至少部分基于”。
尽管已经以特定于结构特征和/或方法行为的语言描述了实施例,但是应当理解,本公开不一定限于所描述的特定特征或行为。相反,具体特征和动作被公开为实现实施例的说明性形式。条件性语言,例如“可”、“可能”、“可以”或“能够”等,除非另有明确说明,或在所使用的上下文中以其他方式理解,通常旨在传达某些实施例可以包括,而其他实施例不包括某些特征、元件和/或步骤。因此,这样的条件性语言通常并非旨在暗示特征、元素和/或步骤以任何方式对于一个或多个实施例是必需的,或者一个或多个实施例必须包括用于在有或没有用户输入或提示的情况下决定这些特征、元素和/或步骤是否被包括或将在任何特定实施例中执行的逻辑。
图中的流程图和框图说明了根据本公开的各种实施例的***、方法和计算机程序产品的可能实现的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以代表模块、片段或指令的一部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些替代实现中,框中标注的功能可能不按图中标注的顺序出现。例如,连续显示的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意,框图和/或流程图说明的每个框,以及框图和/或流程图说明中的框的组合,可以通过执行特定功能或行为或执行专用硬件和计算机指令的组合的基于专用硬件的***来实现。

Claims (20)

1.一种在物理环境中操作自主机器的方法,所述方法包括:
检测所述物理环境内的物体,所述物体定义多个区域;
识别需要所述自主机器与所述物体交互的任务;
确定所述物体的所述多个区域中与所述任务相关联的选择区域;
基于所述任务,拍摄所述物体的图像,所述图像定义所述物体的不同视图,使得所述物体的所述不同视图基于所述任务;和
基于所述物体的所述不同视图,生成所述物体的物体模型,
其中,所述物体模型定义所述选择区域的与所述多个区域中的其他区域相比更大的分辨率。
2.根据权利要求1所述的方法,其中,拍摄所述物体的图像还包括:基于所述任务来定位传感器,所述传感器拍摄所述物体的图像或所述物理环境的图像。
3.根据权利要求1所述的方法,其中,所述物理环境定义多个表面,所述方法还包括:
确定所述物理环境的所述多个表面的与所述任务相关联的选择表面;和
基于所述任务来拍摄所述物理环境的图像,所述图像定义所述物理环境的不同视图,使得所述物理环境的所述不同视图基于所述任务。
4.根据权利要求3所述的方法,所述方法还包括:基于所述选择表面的视图,生成所述物理环境的环境模型,其中,所述环境模型定义所述选择表面的与所述多个表面的其他表面相比更大的分辨率。
5.根据权利要求4所述的方法,所述方法还包括:基于所述环境模型,所述自主机器沿着避开所述选择表面的轨迹移动所述物体。
6.根据权利要求5所述的方法,所述方法还包括:所述自主机器沿着避开所述多个表面的轨迹移动所述物体,使得在所述物体与所述物理环境的所述多个表面之间没有碰撞。
7.根据权利要求4所述的方法,所述方法还包括:
向生成对抗神经网络(GAN)提供所述物理环境的所述不同视图;和
通过所述GAN生成所述环境模型的一部分,所述环境模型的所述部分定义所述多个表面的除了所述选择表面之外的表面。
8.根据权利要求1所述的方法,其中,捕捉所述物体的图像还包括:
拍摄所述物体的所述选择区域的图像以及拍摄所述物体的所述多个区域中除所述选择区域以外的区域的图像,
其中,对所述选择区域比对所述多个区域中的所述其他区域拍摄的图像更多。
9.根据权利要求1所述的方法,所述方法还包括:
向生成对抗神经网络(GAN)提供所述物体的所述不同视图;和
通过所述GAN生成所述物体模型的一部分,所述物体模型的所述部分包括所述多个区域中除所述选择区域之外的区域。
10.一种自主***,所述自主***包括:
自主机器,被配置为在物理环境中运行;
处理器;和
存储器,用于存储指令,当所述处理器执行所述指令时,使得所述自主***:
检测所述物理环境内的物体,所述物体定义多个区域;
识别需要所述自主机器与所述物体交互的任务;
确定所述物体的所述多个区域中与所述任务相关联的选择区域;
基于所述任务来拍摄所述物体的图像,所述图像定义所述物体的不同视图,使得所述物体的所述不同视图基于所述任务;以及
基于所述物体的所述不同视图,生成所述物体的物体模型,其中,所述物体模型定义所述选择区域的与所述多个区域中的其他区域相比更大的分辨率。
11.根据权利要求10所述的自主***,所述自主***还包括传感器,所述传感器被配置为拍摄所述物理环境内的物体的图像,并且所述存储器还存储指令,当所述处理器执行所述指令时,所述指令进一步使得所述自主***:基于所述任务来定位所述传感器,以拍摄所述物体的特定视图或所述物理环境的特定视图。
12.根据权利要求10所述的自主***,其中,所述物理环境定义多个表面,并且所述指令进一步使得所述自主***:
确定所述物理环境的所述多个表面的与所述任务相关联的选择表面;和
基于所述任务来拍摄所述物理环境的图像,所述图像定义所述物理环境的不同视图,使得所述物理环境的不同视图基于所述任务。
13.根据权利要求12所述的自主***,其中,所述指令还使得所述自主***:基于所述选择表面的视图,生成所述物理环境的环境模型,其中,所述环境模型定义所述选择表面的与所述多个表面中的其他表面相比更大的分辨率。
14.根据权利要求13所述的自主***,其中,所述自主机器还被配置为:基于所述环境模型,沿着避开所述选择表面的轨迹移动所述物体。
15.根据权利要求14所述的自主***,其中,所述自主机器还被配置为:沿避开所述多个表面的轨迹移动所述物体,使得在所述物体与所述物理环境的所述多个表面之间没有碰撞。
16.根据权利要求13所述的自主***,其中,所述自主***还包括生成对抗神经网络(GAN),并且所述指令还使得所述自主***向所述GAN提供所述物理环境和所述物体的所述不同视图。
17.根据权利要求16所述的自主***,其中,所述GAN被配置为:生成所述环境模型的一部分,所述环境模型的所述部分定义所述多个表面中除所述选择表面之外的表面。
18.根据权利要求16所述的自主***,其中,所述GAN被配置为:生成所述物体模型的一部分,所述物体模型的所述部分包括所述多个区域中除所述选择区域之外的区域。
19.根据权利要求10所述的自主***,其中,所述指令还使得所述自主***:
拍摄所述物体的所述选择区域的图像和拍摄所述物体的所述多个区域中除所述选择区域以外的区域的图像,
其中,对所述选择区域比对所述多个区域中的所述其他区域拍摄的图像更多。
20.根据权利要求12所述的自主***,其中,所述指令还使得所述自主***:
拍摄所述物理环境的所述选择表面的图像以及拍摄所述物理环境的所述多个表面中除所述选择表面以外的表面的图像,
其中,对所述选择表面比对所述多个表面中的其他表面拍摄的图像更多。
CN202080100218.8A 2020-04-06 2020-04-06 用于自主机器人操作的面向任务的3d重构 Pending CN115461199A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/026802 WO2021206671A1 (en) 2020-04-06 2020-04-06 Task-oriented 3d reconstruction for autonomous robotic operations

Publications (1)

Publication Number Publication Date
CN115461199A true CN115461199A (zh) 2022-12-09

Family

ID=70476423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080100218.8A Pending CN115461199A (zh) 2020-04-06 2020-04-06 用于自主机器人操作的面向任务的3d重构

Country Status (4)

Country Link
US (1) US20230158679A1 (zh)
EP (1) EP4114620A1 (zh)
CN (1) CN115461199A (zh)
WO (1) WO2021206671A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021202328A1 (de) 2021-03-10 2022-09-15 Psa Automobiles Sa Führerloses Prüffahrzeug
US20220309753A1 (en) * 2021-03-25 2022-09-29 B/E Aerospace, Inc. Virtual reality to assign operation sequencing on an assembly line
US20220402128A1 (en) * 2021-06-18 2022-12-22 Intrinsic Innovation Llc Task-oriented grasping of objects

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9102055B1 (en) * 2013-03-15 2015-08-11 Industrial Perception, Inc. Detection and reconstruction of an environment to facilitate robotic interaction with the environment

Also Published As

Publication number Publication date
US20230158679A1 (en) 2023-05-25
EP4114620A1 (en) 2023-01-11
WO2021206671A1 (en) 2021-10-14

Similar Documents

Publication Publication Date Title
US10372228B2 (en) Method and system for 3D hand skeleton tracking
RU2700246C1 (ru) Способ и система захвата объекта с помощью роботизированного устройства
CN115461199A (zh) 用于自主机器人操作的面向任务的3d重构
CN113826051A (zh) 生成实体***零件之间的交互的数字孪生
US11654552B2 (en) Backup control based continuous training of robots
JP6907206B2 (ja) 運動計画の方法、運動計画のための装置及び非一時的コンピュータ可読記録媒体
Asadi et al. Automated object manipulation using vision-based mobile robotic system for construction applications
Rahul et al. Integrating virtual twin and deep neural networks for efficient and energy-aware robotic deburring in industry 4.0
Kim et al. Digital twin for autonomous collaborative robot by using synthetic data and reinforcement learning
Arents et al. Construction of a smart vision-guided robot system for manipulation in a dynamic environment
Veres et al. An integrated simulator and dataset that combines grasping and vision for deep learning
JP5868005B2 (ja) 撮像装置、撮像条件設定方法、プログラム
RU2745380C1 (ru) Способ и система захвата объектов с помощью роботизированного устройства
Cintas et al. Robust behavior and perception using hierarchical state machines: A pallet manipulation experiment
US20240198530A1 (en) High-level sensor fusion and multi-criteria decision making for autonomous bin picking
Wedin et al. Automating nut tightening using Machine Learning
US20240198526A1 (en) Auto-generation of path constraints for grasp stability
EP4377051A1 (en) Robotic task planning
US20240253234A1 (en) Adaptive region of interest (roi) for vision guided robotic bin picking
US20240198515A1 (en) Transformation for covariate shift of grasp neural networks
EP4401049A1 (en) Runtime assessment of suction grasp feasibility
EP4332900A1 (en) Automatic bin detection for robotic applications
EP3542971A2 (en) Generating learned knowledge from an executable domain model
Zheng et al. Semantic map construction approach for human-robot collaborative manufacturing
CN118342514A (zh) 目标识别与定位方法、装置及介质

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