CN110494261A - 用于建立和保持预构建关系的方法和系统 - Google Patents

用于建立和保持预构建关系的方法和系统 Download PDF

Info

Publication number
CN110494261A
CN110494261A CN201880023892.3A CN201880023892A CN110494261A CN 110494261 A CN110494261 A CN 110494261A CN 201880023892 A CN201880023892 A CN 201880023892A CN 110494261 A CN110494261 A CN 110494261A
Authority
CN
China
Prior art keywords
building
parameter
value
relationship
computing system
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.)
Granted
Application number
CN201880023892.3A
Other languages
English (en)
Other versions
CN110494261B (zh
Inventor
E.里克曼斯
M.迈克洛夫斯基
M.比尔兹沃思
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.)
Insi Innovation Co ltd
Original Assignee
X Development LLC
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 X Development LLC filed Critical X Development LLC
Publication of CN110494261A publication Critical patent/CN110494261A/zh
Application granted granted Critical
Publication of CN110494261B publication Critical patent/CN110494261B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • G05B19/4099Surface or curve machining, making 3D objects, e.g. desktop manufacturing
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • 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/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert 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/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • 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/37Measurements
    • G05B2219/37205Compare measured, vision data with computer model, cad data
    • 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/37Measurements
    • G05B2219/37617Tolerance of form, shape or position
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39191Compensation for errors in mechanical components
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • General Factory Administration (AREA)

Abstract

本文描述了在模型中建立预构建关系的方法和系统,该模型为结构的第一特征指定第一参数,为结构的第二特征指定第二参数。具体地,计算系统可以接收指定预构建关系的数据,该预构建关系依据第二参数的构建后观察值来定义第一参数的构建值。在结构的生产期间,计算系统可以确定第二参数的构建后观察值,并且基于所确定的构建后观察值,可以根据预构建关系确定第一参数的构建值。

Description

用于建立和保持预构建关系的方法和系统
背景技术
机器人系统可用于涉及材料处理、焊接、组装、分配和制造等的应用。随着时间的推移,这些机器人系统的运行方式变得更加智能、更加高效和更加直观。随着机器人系统在现代生活的许多方面变得越来越普遍,对提供精确结构设计和生产的系统的需求变得显而易见。因此,对这种系统的需求有助于开拓建模技术、传感技术以及结构设计和生产技术的创新领域。
发明内容
现有的建模环境提供了隐式定义结构的参数之间的关系的能力。但是这种隐式定义的关系并不总是在结构的生产期间(即在“构建时间”期间)被保持。因此,该结构可能最终具有结构和/或功能问题等。
本文公开了用于在结构的参数之间建立或以其他方式定义(多个)显式关系,使得这些(多个)关系在构建期间得以保持的各种实施方式。具体地,给定该结构的至少第一和第二特征,计算系统可以接收指定预构建关系的数据,预构建关系依据第二特征的第二参数的构建后观察值来定义第一特征的第一参数的构建值。一旦计算系统在构建时间期间确定了构建后观察值,计算系统然后就可以根据接收到的预构建关系来确定构建值。并且一旦确定了构建值,构造(construction)专家(例如,人类和/或机器人系统)然后可以生产第一特征,使得第一参数具有所确定的构建值。
因此,通过在预构建建模阶段显式地定义关系,以及在构建时将该关系的优先级确定为优于参数的预定义值,即使当特征的建模参数存在偏差时,特征之间的重要结构和/或功能关系也可以在构建时得以保持。
举例来说,当设计者希望两个特征相互具有一定的位置关系(也可以称为空间关系)时,设计者通常会隐式地指定这种位置关系,例如通过定义模型中两个特征的位置,使得这两个特征具有这种关系。然而,在制造过程中,如果一个(或两个)特征的实际位置偏离该模型,期望的位置关系可能会丢失。如上所述,这可能导致该结构具有结构和/或功能问题等。
为了帮助更好地保持这种期望的位置关系,所公开的实施方式可以允许设计者在建模阶段显式地定义特征之间的这种位置关系(例如,距离)。例如,设计者可以为工作现场(worksite)中第一特征的位置指定显式的坐标,但是依据与第一特征的位置关系来定义第二特征;例如,平行于第一特征并与第一特征相隔一定距离。这样,当在工作现场制造该特征时,传感器可以用于观察第一特征的实际位置,并且第二特征的构建参数可以被确定或更新,使得模型中定义的关系在实际构建中更好地被保持,即使在第一特征的实际定位中存在误差(例如,不超过阈值误差)。其他示例也是可能的。
一方面,提供了一种方法。该方法可以包括由计算系统接收指定表示结构的模型的预构建关系的输入数据,其中模型指定结构的第一特征的第一构建参数和结构的第二特征的第二构建参数,并且其中预构建关系依据第二构建参数的构建后观察值定义第一构建参数的构建值。该方法还可以包括,在由模型表示的结构的生产期间,由计算系统确定第二构建参数的构建后观察值。该方法还可以包括,基于所确定的第二构建参数的构建后观察值,由计算系统根据所接收的预构建关系来确定第一构建参数的构建值。该方法还可以包括在确定第一构建参数的构建值之后,由计算系统向机器人系统发送与机器人系统生产第一特征相关联的指令,其中该指令指定所确定的第一构建参数的构建值,第一特征应该根据确定的第一构建参数的构建值而生产。
在另一方面,提供了一种计算系统。计算系统包括一个或多个处理器、非暂时性计算机可读介质以及存储在非暂时性计算机可读介质上并可由一个或多个处理器执行以执行功能的程序指令。具体地,程序指令可被执行以接收指定表示结构的模型的预构建关系的输入数据,其中模型指定结构的第一特征的第一构建参数和结构的第二特征的第二构建参数,并且其中预构建关系依据第二构建参数的构建后观察值定义第一构建参数的构建值。此外,程序指令可以被执行以在由模型表示的结构的生产期间,确定第二构建参数的构建后观察值。另外,程序指令可被执行以基于所确定的第二构建参数的构建后观察值,根据所接收的预构建关系来确定第一构建参数的构建值。此外,程序指令可被执行以在确定第一构建参数的构建值之后,向机器人系统发送与机器人系统生产第一特征相关联的指令,其中该指令指定所确定的第一构建参数的构建值,第一特征应该根据所确定的第一构建参数的构建值而生产。
在又一方面,提供了另一种方法。该方法可以包括由计算系统显示包括一个或多个界面特征的图形界面,以指定要生产的结构的计算机生成的模型的预构建关系。该方法还可以包括经由图形界面接收指定预构建关系的输入数据,该预构建关系依据第二构建参数的构建后观察值来定义第一构建参数的构建值,其中第一构建参数属于结构的第一特征,其中第二构建参数属于结构的第二特征,其中构建后观察值是在结构的生产期间确定的,并且其中构建值是根据所指定的预构建关系基于所确定的构建后观察值来确定的。该方法还可以包括,在确定构建值之后,在图形界面上显示所确定的第一构建参数的构建值的图形表示。
在又一方面,提供了另一种系统。该系统可以包括用于接收指定表示结构的模型的预构建关系的输入数据的装置,其中模型指定结构的第一特征的第一构建参数和结构的第二特征的第二构建参数,并且其中预构建关系依据第二构建参数的构建后观察值定义第一构建参数的构建值。该系统还可以包括用于在由模型表示的结构的生产期间确定第二构建参数的构建后观察值的装置。该系统还可以包括用于基于所确定的第二构建参数的构建后观察值、根据所接收的预构建关系来确定第一构建参数的构建值的装置。该系统还可以包括用于在确定第一构建参数的构建值之后、将与机器人系统生产第一特征相关联的指令发送到机器人系统的装置,其中该指令指定所确定的第一构建参数的构建值,第一特征应该根据所确定的第一构建参数的构建值而生产。
通过适当参考附图阅读以下详细描述,这些以及其他方面、优点和替换对于本领域普通技术人员将变得显而易见。此外,应该理解,在本发明内容部分和本文件其他地方提供的描述旨在通过示例而非限制的方式来说明所要求保护的主题。
附图说明
图1是示出根据示例实施方式的计算系统的部件的简化框图。
图2是示出根据示例实施方式的机器人系统的部件的简化框图。
图3示出了根据示例实施方式的机器人手臂。
图4是示出根据示例实施方式的结构设计和生产环境的特征的简化框图。
图5示出了根据示例实施方式的结构设计和生产环境。
图6示出了根据示例实施方式的用于建立和保持预构建关系的示例流程图。
图7A至图7E示出了根据示例实施方式的用于定义和保持预构建位置关系的场景。
图8示出了根据示例实施方式的用于经由图形界面建立预构建关系的示例流程图。
具体实施方式
本文描述了示例性方法和系统。应该理解,本文使用的词语“示例性的”是指“用作示例、实例或说明”。本文描述为“示例性的”或“说明性的”任何实施方式或特征不一定被解释为优先于或优于其他实施方式或特征。在附图中,相似的符号通常标识相似的部件,除非上下文另有说明。本文描述的示例实施方式并不意味着限制。很容易理解,如在本文一般描述的和在附图中示出的,本公开的各方面可以以各种不同的配置进行排列、替换、组合、分离和设计,所有这些都在此有所考虑。
一.概述
示例实施方式可以涉及辅助设计和生产(多个)物理结构的方法和系统。在实践中,可以使用计算系统的图形界面创建结构的模型,然后构造专家(例如,人类和/或机器人系统)可以根据该模型工作以生产该结构。此外,该结构的各种特征的各种参数通常每个在该模型中被定义为具有一定的规划/预构建的值。然而,不幸的是,参数的实际/构建后观察值有时可能最终不同于该参数的规划值,这可能导致在最终构建的结构中没有实现在建模环境中隐式地定义的参数之间的(多个)重要关系。这可能导致结构和/或结构中的功能问题等。
举例来说,模型可以分别定义结构的第一特征和第二特征各自相对于全局坐标系的位置。但是第二特征的实际位置可能最终不同于第二特征的规划位置。尽管结构的设计可能允许第二特征的实际位置在一定程度上(例如,在阈值误差内)不同于第二特征的规划位置,但是设计仍然需要第一特征和第二特征之间的一定位置关系(例如,第一特征可能需要定位在距第二特征三米的距离处)。并且在许多情况下,如果第二特征的实际位置不同于第二特征的规划位置,则可能不满足该位置关系。
为了帮助解决这些问题,本公开提供了方法和系统,这些方法和系统可以帮助增加在各个参数值之间基本上保持一定关系并且不管这些参数之一最终表现出的实际值如何都基本上保持这种关系的可能性。此外,尽管本公开适用于位置关系的上下文,但是这些关系不限于位置关系。因此,本公开可以在结构的任何(多个)特征的任何(多个)参数之间的关系的上下文中应用。例如,除了其他选项之外,本公开可以在第一特征(例如,飞机机身)的密度和第二特征(例如,飞机机翼)的曲率之间的关系的上下文中应用。
根据本公开,计算系统可以接收输入数据,该输入数据指定表示要生产的结构的模型的预构建关系。在实践中,计算系统可以经由图形界面接收这种输入数据和/或可以以其他方式接收该输入数据,其中建模专家通过图形界面生成结构的模型。尽管如此,预构建关系可以定义该结构的第一特征的至少第一参数和该结构的第二特征的第二参数之间的关系,并且在这些参数产生之前这样做,并且或许甚至在这些特征或结构本身的生产开始之前这样做。此外,在一些情况下,所讨论的第一特征和第二特征可以是结构的相同特征,因此预构建关系可以是相同特征的两个或更多个参数之间的关系。其他情况也是可能的。
更具体地,预构建关系可以相对于第二参数的构建后观察值或以其他方式依据第二参数的构建后观察值来定义第一参数的构建值。具体地,基于预构建关系,第一参数的构建值可以最初相对于尚未完全产生的第二参数的“待确定”值来定义。因此,尽管第一参数可以可选地具有预定义的构建值,但是构建值可以仅在已观察到或以其他方式确定了第二参数的值之后绝对地确定,这可以仅在第二特征至少部分地生产以展现该第二参数之后发生。
这样,一旦实际生产了第二特征和/或在生产第二特征期间,计算系统可以确定第二参数的构建后观察值。例如,参与结构构造的机器人系统可以使用其传感器来接收表示结构的传感器数据。并且基于该传感器数据,计算系统可以确定第二参数的构建后观察值。其他情况也是可能的。
与上面讨论的一致,一旦计算系统确定了第二参数的构建后观察值,计算系统就可以使用确定的构建后观察值作为根据接收的预构建关系确定第一参数的构建值的基础。因此,计算系统然后可以更新模型,使得模型指定所确定的构建值,并且使得可以经由图形界面显示所确定的构建值的图形表示。附加地或可替换地,计算系统可以向机器人系统发送与第一特征的生产相关联的指令,所提供的指令指定第一特征应该根据其生产的所确定的构建值,从而确保预构建关系得以保持。
在本公开的示例实施方式中,预构建关系可以预定义与第二特征相距的距离(例如,3米),在该距离处应该生产第一特征。以这种方式,一旦已经生产第二特征并且已经在结构的全局坐标系内确定了第二特征的位置,就可以在该全局坐标系内将第一特征的位置定义为在与所确定的第二特征的位置相距预定距离处。因此,计算系统然后可以指示机器人系统在该定义的位置生产第一特征,从而确保预定的位置关系得以保持。
二.设计和生产结构的示例系统
A.计算系统
现在参考附图,图1是示出计算系统100的部件的框图。通常,计算系统100可以采取台式计算机、膝上型计算机、平板电脑、可穿戴计算设备、移动电话、芯片组、服务器系统、数字信号处理器、可编程逻辑控制器和/或采样数据系统等形式。
如图所示,计算系统100可以包括一个或多个处理器102、数据储存器104、程序指令106、通信接口108、显示器110和输入法编辑器(Input Method Editor,IME)112。注意,计算设备100仅出于说明目的而示出,并且计算系统100可以包括附加部件和/或移除一个或多个部件,而不脱离本公开的范围。此外,注意,计算系统100的各种部件可以以任何方式布置和连接。
(多个)处理器102可以是通用处理器或专用处理器(例如,数字信号处理器、专用集成电路等)。(多个)处理器102可被配置为执行存储在数据储存器104中的计算机可读程序指令106并且可执行以实行本文描述的各种功能。
数据储存器104可以包括一个或多个可以被(多个)处理器102读取或访问的计算机可读存储介质,或者采取一个或多个可以被(多个)处理器102读取或访问的计算机可读存储介质的形式。一个或多个计算机可读存储介质可以包括易失性和/或非易失性存储部件,诸如光、磁、有机或其他存储器或盘存储器,它们可以全部或部分地与(多个)处理器102集成。在一些实施方式中,数据储存器104可以使用单个物理设备(例如,一个光、磁、有机或其他存储器或盘存储单元)来实施,而在其他实施方式中,数据储存器104可以使用两个或更多个物理设备来实施。此外,除了计算机可读程序指令106之外,数据储存器104还可以包括诸如诊断数据的附加数据等。
通信接口108可以允许计算系统100使用模拟或数字调制与其他设备、服务器、接入网络和/或传输网络进行通信。因此,通信接口108可以促进电路交换和/或分组交换通信,诸如简易老式电话服务(plain old telephone service,POTS)通信和/或互联网协议(IP)或其他分组通信。例如,通信接口108可以包括芯片组和天线,用于与无线电接入网络或接入点进行无线通信。此外,通信接口108可以采取有线接口的形式或包括有线接口,诸如以太网、通用串行总线(USB)或高清多媒体接口(HDMI)端口。通信接口108也可以采取无线接口的形式或包括无线接口,诸如Wifi、全球定位系统(GPS)或广域无线接口(例如,WiMAX或3GPP长期演进(LTE))。然而,可以在通信接口1008上使用其他形式的物理层接口和其他类型的标准或专有通信协议。此外,通信接口108可以包括多个物理通信接口(例如,Wifi接口、 接口和广域无线接口)。
显示器110可以采取任何形式(例如,LED、LCD、OLED等)。此外,显示器110可以是触摸屏显示器(例如,平板电脑上的触摸屏显示器)。显示器110可以示出图形用户界面(GUI),GUI可以提供用户可以通过其与本文公开的系统进行交互的应用。
此外,计算系统100可以经由IME 112接收用户输入(例如,来自计算系统100的用户)。具体地,IME 112可以允许与GUI进行交互,诸如以便滚动、提供文本和/或选择应用的各种特征,以及其他可能的交互。IME 112可以采取各种形式。在一个示例中,IME 112可以是定点设备,诸如用于控制GUI的计算鼠标。然而,如果显示器110是触摸屏显示器,则可以接收允许控制GUI的用户触摸输入(例如,诸如使用手指或触笔)。在另一示例中,IME 112可以是诸如键盘的文本IME,其提供对要经由GUI显示的数字、字符和/或符号的选择。例如,在显示器110是触摸屏显示器的布置中,显示器110的部分可以显示IME 112。因此,在包括IME112的显示器110的部分上的触摸输入可以导致用户输入(诸如对特定数字、字符和/或符号的选择)经由显示器110显示在GUI上。在又一示例中,IME 112可以是语音IME,其可以用于接收音频输入,诸如经由计算系统100的麦克风(未示出)从用户接收音频输入,然后可以使用各种语音识别技术中的一种将音频输入解释为可以经由显示器110显示的一个或多个字符。其他示例也是可能的。
B.机器人系统
图2接下来示出了机器人系统200的示例配置。机器人系统200可以是机器人手臂、移动平台、移动机器人手臂、仿人机器人、四足机器人、或任何类型的自动化制造机械等。此外,机器人系统200也可以被称为机器人设备、机器人操纵器或机器人等。
机器人系统200被示为包括处理器202、数据储存器204、程序指令206、通信接口208、(多个)传感器210、(多个)电源212、(多个)致动器214和(多个)可移动部件216。注意,机器人系统200仅出于说明的目的而示出,因为机器人系统200可以包括附加部件和/或移除一个或多个部件,而不脱离本发明的范围。此外,注意,机器人系统200的各种部件可以以任何方式连接。
此外,处理器102、数据储存器104、程序指令106和通信接口108的以上描述可以应用于以下与在另一系统或布置中使用的各个部件相关的任何讨论。例如,如上所述,图2示出了处理器、数据储存器、程序指令和通信接口被合并在另一布置中。这些所讨论的部件因此可以具有与上面结合图1讨论的各个部件相同或相似的特性(和/或形式)。然而,所讨论的部件也可以具有其他特性(和/或形式),而不脱离本公开的范围。
在实践中,机器人系统200可以包括一个或多个传感器210,诸如力传感器、接近传感器、运动传感器、负载传感器、位置传感器、触摸传感器、深度传感器、超声测距传感器和红外传感器等。(多个)传感器210可以向处理器202提供传感器数据,以允许机器人系统200与环境的适当交互。此外,机器人系统200还可以包括一个或多个被配置为向机器人系统200的各种部件供电的电源212。可以使用任何类型的电源,诸如汽油发动机或电池。
此外,如上所述,机器人系统200还可以包括一个或多个致动器214。致动器是一种可以用来引入机械运动的机构。具体地,致动器可以被配置为将存储的能量转换成一个或多个部件的移动。各种机构可用于驱动致动器。例如,致动器可以由化学物质、压缩空气或电力等提供动力。在一些情况下,致动器可以是旋转致动器,其可以用在涉及旋转形式的运动的系统中(例如,机器人系统200中的关节)。在其他情况下,致动器可以是线性致动器,其可以用在涉及直线运动的系统中。在任一情况下,(多个)致动器214可以引起机器人系统200的各种(多个)可移动部件216的移动。(多个)可移动部件216可以包括附体(appendage),诸如机器人手臂、腿和/或手等。(多个)可移动部件216还可以包括可移动基座、轮子和/或末端执行器(end effector)等。
机器人系统200可以采取各种形式。为了说明,参考示出示例机器人手臂300的图3。如图所示,机器人手臂300包括基座302,基座302可以是固定基座或可以是可移动基座。在可移动基座的情况下,基座302可以被认为是(多个)可移动部件216之一,并且可以包括由一个或多个致动器214驱动的轮子(未示出),这允许整个机器人手臂300的移动。
另外,机器人手臂300包括关节304A-304F,每个关节耦合到一个或多个致动器214。关节304A-304F中的致动器可操作以引起各种(多个)可移动部件216的移动,诸如附体306A-306F和/或末端执行器308。例如,关节304F中的致动器可以引起附体306F和末端执行器308的移动(即,因为末端执行器308耦合到附体306F)。此外,末端执行器308可以采取各种形式,并且可以包括各种零件。在一个示例中,末端执行器308可以采取抓取器的形式,诸如手指抓取器或吸力抓取器。在另一示例中,末端执行器可以包括传感器,诸如力传感器、位置传感器和/或接近传感器。在又一示例中,末端执行器308可以采取工具的形式,诸如制造工具。其他示例也是可能的。
给定这种布置,机器人系统200,诸如机器人手臂300或任何其他机械,可以辅助或以其他方式实行(多个)结构的生产。具体地,如所指出的,机器人系统200可以具有一个或多个制造工具,并且机器人系统200可以使用这些制造工具中的一个或多个来制造结构,诸如通过增材和/或减材加工(additive and/or subtractive manufacturing)等。这些制造工具可以包括刀具、纵切机、钻头、锯、刀片和/或抛光机等。另外,机器人系统200可以(例如,从计算系统100)接收生产指令,根据生产指令,机器人系统200可以制造或以其他方式生产结构。这些指令可以指定要使用的工具、要添加的结构特征、要移除的结构特征、要调整的结构特征和/或制造顺序,以及任何其他可行的指令。其他布置也是可能的。
C.设计和生产结构的环境
图4接着示出具有一个或多个传感器402的环境400,其中可以找到正在生产的结构404以及可能还有机器人系统200。尽管计算系统100被示出在环境400之外,但是计算系统100可以附加地或替换地在环境400之内。
通常,环境400可以定义人、物体和/或机器可以位于其中的至少一个物理空间。因此,环境400可以采取二维(2D)或三维(3D)形式并且可以用于各种目的。例如,环境400可以是执行结构的制造和/或加工的加工设施。在其他示例中,环境400可以是配送设施、办公空间、购物中心和/或生活空间,以及各种其他示例。
在一些布置中,环境400可以是单个物理空间,在该空间中进行结构的设计和生产。在这种布置中,单个空间因此可以包括用于结构设计的设计环境和用于结构生产的生产环境(也可以称为工作现场)。在实践中,结构设计可以被定义为所采取的产生期望的结构模型的任何动作,其可以指示结构将如何被配置和/或结构一旦生产将如何起作用。通常,结构设计可以在机器人系统200开始生产期望的结构之前发生。但是结构设计也可以发生在期望的结构的生产期间。此外,结构生产可以被定义为所采取的物理上创建期望的结构的任何动作。通常,这种结构生产可以在进行第一次永久物理改变时开始,例如第一次切割、第一次蚀刻或第一次材料添加等。
在其他布置中,环境400可以是至少两个物理空间,也许其中的一个可以用作用于结构设计的设计环境,另一个可以用作用于结构生产的工作现场。在这种布置中,每个物理空间可以分别包括上述部件和/或实体的任意组合。各种其他布置也是可能的。
环境400中的传感器402可以包括但不限于:力传感器、接近传感器、运动传感器(例如,惯性测量单元(inertial measurement unit,IMU)、陀螺仪和/或加速度计)、负载传感器、位置传感器、热成像传感器、面部识别传感器、深度传感器(例如,RGB-D、激光、结构光和/或飞行时间相机)、点云传感器、超声测距传感器、红外传感器、全球定位系统(GPS)接收器、声纳、光学传感器、生物传感器、射频识别(RFID)系统、近场通信(NFC)芯片、无线传感器、指南针、烟雾传感器、光传感器、无线电传感器、麦克风、扬声器、雷达、触摸传感器(例如,电容传感器)、相机(例如,彩色相机、灰度相机和/或红外相机)、和/或距离传感器(例如,超声和/或红外)等。此外,传感器402可以位于环境400内或附近等。
此外,这些传感器402中的一个或多个可以结合在现有设备和/或系统中。在一个示例中,这些设备和/或系统可以是位于环境400中的(多个)用户所拥有的设备和/或系统,诸如移动电话、膝上型电脑和/或平板电脑等。在另一示例中,这些传感器402中的一个或多个可以是机器人系统200的传感器210中的一个或多个。其他示例也是可能的。
如图3中进一步所示,计算系统100可以经由至少一个通信链路406与环境400中发现的各种实体进行通信。该通信链路406可以是有线或无线通信链路。更具体地,有线链路可以包括例如并行总线或串行总线,诸如通用串行总线(USB)。而无线链路可以包括例如蓝牙、NFC、IEEE 802.11(IEEE 802.11可以指IEEE 802.11-2007、IEEE 802.11n-2009或任何其他IEEE 802.11修订版)、蜂窝(诸如GSM、GPRS、CDMA、UMTS、EV-DO、WiMAX、HSPDA或LTE)、或Zigbee等。此外,可以使用多个有线和/或无线协议,诸如使用蜂窝通信协议的“3G”或“4G”数据连接(例如,CDMA、GSM或WiMAX,以及使用802.11的“WiFi”连接)。在其他示例中,布置可以包括接入点,各种系统可以通过接入点与云服务器进行通信。接入点可以采取各种形式,诸如无线接入点(wireless access point,WAP)或无线路由器的形式。此外,如果使用蜂窝空中接口协议(诸如CDMA或GSM协议)进行连接,则接入点可以是蜂窝网络中的基站,其经由蜂窝网络提供互联网连接。其他示例也是可能的。
这样,计算系统100可以与传感器402进行通信,并且因此可以从传感器402中的一个或多个接收(例如,连续地或周期性地)传感器数据。在实践中,该传感器数据可以采取一个或多个数据分组的形式,并且可以提供表示环境400的环境信息。另外,计算系统100可以与机器人系统200进行通信。以这种方式,计算系统100可以向机器人系统200发送生产期望的结构404的(多个)指令。例如,指令可以指导机器人系统200根据表示结构404的模型数据生产期望的结构404。此外,计算系统100可以从机器人系统100接收通信,诸如传感器数据和/或指定生产过程的通信等。其他示例也是可能的。
在实践中,正在生产的结构404可以包括一个或多个物理零件(physical piece),每个物理零件分别由至少一种材料制成。具体地,这些(多个)零件可以被加工以生产期望的结构404,诸如通过由一个或多个工具切割、相加和/或成形为期望的结构。举例来说,正在生产的结构404可以包括一块金属和一块木头,它们可以相加和/或分别成形等。在实践中,上面讨论的机器人系统200可以被配置为诸如通过使用例如上面描述的工具中的一个或多个来实行期望的结构的生产。
此外,可以基于模型数据(和/或其他形式的数据)来确定期望的结构404的形状(以及生产过程的可能其他方面)。例如,与上面的讨论一致,计算系统100可以被配置为接收来自用户的输入,诸如经由图形用户界面(GUI)。该输入可以表示期望的结构404的每个零件的相应目标形状、期望的结构404的每个零件的相应目标尺寸、期望的结构404的每个零件的相应目标位置、期望的结构404的每个零件的相应目标方位等。以这种方式,计算系统100可以最终接收生产期望的结构404所基于的模型数据,并且可以在生产期望的结构404之前和/或期间接收这种模型数据。此外,计算系统100能够诸如经由GUI显示结构的模型。
鉴于此,模型可以表示结构的各种特征。通常,每个这种特征可以是结构的区别属性或方面。举例来说,结构的特征可以是桌子的表面、桌子的腿和/或形成在桌子的表面上的杯托等。
另外,结构的每个特征可以分别由一个或多个参数定义。具体地,参数可以是有助于定义结构的特征和/或结构操作的条件的任何数字的或其他可测量的因素。此外,每个参数可以具有相应的值,该值显式地定义应该以哪种方式生产相应的特征。例如,桌腿可以由长度参数定义,并且该长度可以具有显式地定义桌腿的长度和/或腿应该具有的长度的值(例如,五米(5m))。这样,结构的模型可以指定一个或多个特征的一个或多个参数以及每个这种参数的相应值,使得结构随后根据这些规范而生产。
在实践中,各种参数可以在结构的模型中可行地指定,和/或可以以其他方式在结构已生产或正在生产时由该结构展现。尽管本文通过示例讨论了一些参数,但是应该理解,在不脱离本公开的范围的情况下,其他参数也是可能的。例如,其他参数可以包括在当前已知和/或未来开发的计算机辅助设计(CAD)软件中指定的任何参数(例如,同心度)。
在一种情况下,参数可以是结构的特征的位置。在一个示例中,位置可以由相对于坐标系的坐标值来定义。在另一示例中,位置可以由距离值等定义,距离值指示到物理空间中的点和/或结构上的点的距离。在又一示例中,位置可以由指示物理空间中的量值(例如,距离)和方向(例如,特征应该面对的方向)的空间向量来定义。
在另一情况下,参数可以是结构的特征的方位。在一个示例中,方位可以由角度值定义,角度值指示特征相对于另一特征的角度。例如,方位可以通过平行或垂直于另一特征的指示来定义。
在又一情况下,参数可以是结构的特征的材料属性。例如,材料属性可以由材料密度、曲率、材料强度、尺寸、形状、导电性、温度和/或颜色等的值或其他指示来定义。
在又一情况下,参数可以是与结构的特征交互的属性。例如,交互的属性可以由力值(force value)来定义,力值指示已经施加和/或应该施加到特征的力。在另一示例中,交互的属性可以由压力值定义,压力值指示已经施加和/或应该施加到特征的压力。在又一示例中,交互的属性可以由移动特征的方法的指示来定义(例如,在结构的生产期间顺时针和逆时针地转动旋钮)。在又一示例中,交互的属性可以由特征应该展现出的运动特性的指示来定义,诸如由该特征能够旋转的最大速度来定义。其他情况和示例也是可能的。
图5接下来示出可以用作结构设计环境以及结构生产环境的示例环境500。如所示,环境500包括机器人手臂300、示例传感器502、正在生产的结构504和示例计算系统510。此外,图5示出结构504至少部分生产,因此结构504的生产正在进行中。此外,图5示出用户512也位于环境500内。
在示例场景中,结构504可以经由计算系统510设计,诸如由用户512和/或以其他方式设计,使得机器人手臂300然后可以基于设计生产结构504。例如,用户412可以设计具有几个特征的桌子,诸如腿、表面和/或其上形成的(多个)杯托。这样,机器人手臂300可以根据表示设计的桌子的模型数据生产结构504。其他示例和图示也是可能的。
三.定义和保持预构建关系的说明性方法
图6是接下来示出根据示例实施方式的方法600的流程图。诸如方法600的示例性方法可以在包括例如图1的计算系统100、图2的机器人系统200和/或图4的环境400的布置中(或更具体地,通过其一个或多个部件或子系统,诸如通过处理器和具有可执行以使系统执行本文描述的功能的指令的非暂时性计算机可读介质)全部或部分地执行。然而,应该理解,在不脱离本公开的范围的情况下,诸如方法600的示例性方法可以由其他实体或实体的组合以及其他布置来执行。
方法600和本文公开的其他过程和方法可以包括例如由块602-608中的一个或多个所示的一个或多个操作、功能或动作。尽管以顺序的次序示出了这些块,但是这些块也可以并行执行,和/或以不同于本文描述的次序执行。此外,各种块可以被组合成更少的块,被分成额外的块,和/或基于期望的实施方式被移除。
此外,对于方法600和本文公开的其他过程和方法,流程图示出了提出的实施方式中的一个可能实施方式的功能和操作。在这点上,每个块可以表示模块、段或程序代码的一部分,其包括一个或多个可由处理器执行的指令,用于实施过程中的特定逻辑功能或步骤。例如,程序代码可以存储在任何类型的计算机可读介质上,诸如包括磁盘或硬盘驱动器的存储设备。例如,计算机可读介质可以包括非暂时性计算机可读介质,诸如存储短时间段的数据的计算机可读介质,如寄存器存储器、处理器高速缓存和随机存取存储器(RAM)。例如,计算机可读介质还可以包括非暂时性介质,诸如二级或永久长期储存器,如只读存储器(ROM)、光盘或磁盘、光盘只读存储器(CD-ROM)。计算机可读介质也可以是任何其他易失性或非易失性存储系统。例如,计算机可读介质可以被认为是计算机可读存储介质或者有形存储设备。此外,对于方法600和本文公开的其他过程和方法,图6中的每个块可以表示被连线以在过程中执行特定逻辑功能的电路。
在框602,方法600包括由计算系统接收指定表示结构的模型的预构建关系的输入数据,其中该模型指定该结构的第一特征的第一构建参数和结构的第二特征的第二构建参数,并且其中预构建关系依据第二构建参数的构建后观察值(本文也称为“第二参数”)定义第一构建参数的构建值(本文也称为“第一参数”)。一般来说,预构建关系也可以称为预构建约束等。
如上所述,现有的建模环境提供了隐式地定义结构的参数之间关系的能力。但是这种隐式地定义的关系并不总是在构建时保持。为了帮助克服这个问题,本文公开了用于在结构完全生产之前定义结构的参数之间的(多个)显式关系的各种实施方式,使得这些(多个)关系在构建期间得以保持。这样,计算系统可以接收指示预构建关系的输入数据,计算机可以以任何可行的方式接收该输入数据,诸如经由IME(例如,IME 112)等。
在这点上,计算系统可以在构建时间期间将接收的预构建关系优先于那些参数的(多个)单独的值。并且在这样做时,即使那些参数中的特定参数最终具有不同于结构模型中指定的值的对应值,计算系统也能够增加基本保持该关系的概率。
具体地,预构建关系可以依据或相对于第二参数的构建后观察值来定义第一参数的构建值。根据本公开,构建后观察值可以是尚未确定的值,但是将在结构的生产期间确定,如下文进一步描述的。而构建值是依据构建后观察值或以其他方式相对于构建后观察值定义的值,因此一旦构建后观察值被确定,构建值就将被显式地定义,如下文进一步描述的。以这种方式,如果第二参数的构建后观察值最终不同于模型指定第二参数应该具有的“规划的”值,则第一参数的构建值将最终仍然根据预构建关系来定义,使得一旦生产,该关系就由结构来展现。
此外,预构建关系可以是为特征和/或参数的任何可行组合定义的关系。在一种情况下,所讨论的第一特征和第二特征可以是相同的特征。在这种情况下,预构建关系可以是相同特征的不同参数之间的关系。例如,预构建关系可以是桌腿的位置和桌腿的方位之间的关系。然而,在另一情况下,所讨论的第一特征和第二特征可以是相同结构的不同特征。在这种情况下,预构建关系可以是不同特征的相同参数之间的关系。例如,预构建关系可以是第一桌腿的位置和第二桌腿的位置之间的关系。可替换地,预构建关系可以是不同特征的不同参数之间的关系。例如,预构建关系可以是第一桌腿的方位和第二桌腿的尺寸之间的关系。其他情况/示例也是可能的。
在如上所述布置的系统中,第一参数和第二参数各自可以分别是本文描述的参数中的任何一个等。例如,第一参数可以是第一特征的位置、第一特征的方位、第一特征的材料属性、和/或与第一特征交互的属性等。类似地,第二参数可以是第二特征的位置、第二特征的方位、第二特征的材料属性、和/或与第二特征交互的属性等。
鉴于此,各种类型的(多个)预构建关系是可能的,因此计算系统可以接收指示这些(多个)关系中的任何一个的输入数据。举例来说,预构建关系可以依据特征的密度的构建后观察值来定义要施加到该特征的压力的构建值。以这种方式,一旦确定了密度的构建后观察值,计算系统然后就可以确定压力的构建值,使得具有该构建值的压力在结构的生产期间被施加到该特征。其他示例也是可能的。
尽管各种类型的(多个)预构建关系是可能的,但是为了简单起见,本文通常在位置关系的上下文中描述本公开。具体地,假设第一参数是第一特征的第一位置,并且第二参数是第二特征的第二位置,那么预构建关系可以是依据第二位置的构建后观察值定义第一位置的构建值的位置关系。以这种方式,一旦确定了第二位置的构建后观察值,计算系统然后就可以确定第一位置的构建值,使得可以在具有该构建值的位置生产第一特征,从而保持位置关系。
通常来说,位置关系可以用各种方式定义。在一个示例中,位置关系可以定义第一特征和第二特征之间的相对距离值,使得无论这些特征中的任何单个特征最终展现的位置如何(例如,在如下文进一步描述的阈值误差内),在这些特征之间都基本上保持特定的定义距离。在另一示例中,位置关系可以包括一个或多个坐标值关系。例如,第一坐标值关系可以定义,如果第二位置的构建后观察值是坐标值“A”,则第一位置的构建值应该是坐标值“B”。并且第二坐标值关系可以定义,如果第二位置的构建后观察值是坐标值“C”,则第一位置的构建值应该是坐标值“D”,以此类推。以这种方式,第一位置的坐标值可以取决于第二位置的实际坐标值而改变。其他示例也是可能的。
接下来图7A示出了计算系统510可以通过其接收预构建关系的GUI。更具体地,在GUI的状态700A中,GUI显示正在生产或将要生产的结构504的模型。与上面的讨论一致,结构504可以是具有若干特征(诸如腿、表面和形成在表面上的杯托702和704)的桌子。此外,计算系统510可以经由界面特征708接收指定结构504的参数值和/或指定(多个)预构建关系(诸如位置关系)的输入数据。
具体而言,模型指定杯托704的位置“X”的建模值,该建模值相对于桌子上的参考点706而指定。如图所示,位置X的建模值已经被设置为与参考点706相距2m的值。另外,模型指定杯托702的位置“Z”的构建值,该构建值也相对于桌子上的参考点706。然而,在这种情况下,位置Z的构建值是依据尚待确定的、位置X的构建后观察值来定义的。具体地,可以经由界面特征708通过选择要为其建立位置关系的特征以及通过输入那些特征的相应位置之间应该保持的距离来定义预构建位置关系。这样,界面特征708示出已经定义了位置关系,使得杯托702和杯托704之间保持1m的距离“Y”,并且因此通过计算包括将距离Y添加到位置X的构建后观察值的公式来确定位置Z的构建值。其他图示也是可能的。
在框604,方法600然后包括,在由模型表示的结构的生产期间,由计算系统确定第二构建参数的构建后观察值。
与上面的讨论一致,在计算系统接收到指定预构建关系的输入数据之后,计算系统然后可以确定第二参数的构建后观察值,使得计算系统可以最终确定第一参数的构建值。在实践中,计算系统可以在确定已经生产第二特征的第二参数时确定构建后观察值,这可以通过使用当前已知和/或未来开发的技术来监视结构生产的进度来进行。例如,计算系统可以确定桌腿已经被切割为一定长度,并且在做出该确定时,可以响应地确定该长度的值。可替换地,计算系统可以在其他时间确定构建后观察值。
然而,计算系统可以以各种方式确定构建后观察值。例如,计算系统可以从一个或多个传感器接收传感器数据,诸如从机器人系统的(多个)传感器(例如,(多个)传感器210)和/或从正在生产的结构的环境中的其他(多个)传感器(例如,(多个)传感器402)接收传感器数据。在该示例中,计算系统然后可以基于接收到的传感器数据来确定构建后观察值。例如,计算系统可以从位置传感器接收位置数据,然后可以使用该位置数据作为确定第二特征的位置值的基础。在另一示例中,机器人系统可以实行基于传感器数据(例如,来自机器人系统的(多个)传感器和/或其他(多个)传感器的传感器数据)确定构建后观察值的步骤。然后计算系统可以从机器人系统接收所确定的构建后观察值,这可以自动和/或根据请求发生。其他示例也是可能的。
接下来图7B示出根据本公开的计算系统可以确定的构建后观察值。具体地,图7B示出桌子形式的结构504已至少部分被生产。如图所示,杯托704已经形成在桌子表面上的位置X处,位置X具有与参考点706相距2.5m的值。这样,计算系统可以将位置X的构建后观察值确定为2.5m,其不同于已设置为与参考点706相距2m的值的位置X的建模值。其他图示也是可能的。
在框606,方法600然后包括,基于所确定的第二构建参数的构建后观察值,由计算系统根据所接收的预构建关系来确定第一构建参数的构建值。
与上面的讨论一致,一旦计算系统确定了构建后观察值,计算系统就可以使用所确定的第二参数的构建后观察值作为用于根据预构建关系确定第一参数的构建值的基础。通常,计算系统确定构建值的方式可以取决于建立预构建关系的方式。
在一种情况下,预构建关系可以是将一个或多个构建后观察值分别映射到一个或多个构建值的映射数据。在这种情况下,一旦计算系统确定了构建后观察值,计算系统就可以参考映射数据并使用所确定的构建后观察值来确定构建值。具体地,当参考映射数据时,计算系统可以确定所确定的构建后观察值映射到的构建值,并且因此可以将所确定的构建值设置为应该用于第一参数的值。
举例来说,再次参考(多个)坐标值关系的上述示例,这些(多个)坐标值关系可以通过映射数据来定义。例如,映射数据可以将构建后观察坐标值A映射到建模坐标值B,并且可以将构建后观察坐标值C映射到建模坐标值D。以这种方式,如上所述,如果第二位置的构建后观察值被确定为坐标值“A”,则第一位置的构建值基于映射数据被确定为坐标值“B”。并且如果第二位置的构建后观察值被确定为坐标值“C”,则第一位置的构建值基于映射数据被确定为坐标值“D”。其他示例也是可能的。
在另一情况下,预构建关系可以是包括作为具有未知值的变量的第一参数和第二参数的公式,从而依据构建后观察值有效地定义构建值。在这种情况下,当计算系统确定构建后观察值时,计算系统确定公式中对应于第二参数的变量的值。并且给定所确定的值,计算系统然后可以计算对应于第一参数的变量的值,其中计算的值是所确定的第一参数的构建值。
举例来说,接下来图7C示出了根据预构建关系来确定构建值。具体地,在GUI的状态700C中,界面特征708指示位置X具有与参考点706相距2.5m的构建后观察值,这与图7B中介绍的确定一致。此外,界面特征708示出了表示接收的位置关系的公式已经被求解以计算位置Z的构建值。更具体地,界面特征708示出定义的距离Y(例如,1m)已经被添加到位置X的构建后观察值(例如,与参考点706相距2.5m),以产生所确定的位置Z的构建值(例如,与参考点706相距3.5m)。以这种方式,计算系统510有效地更新模型,以便帮助增加定义的位置关系被基本保持的概率。其他情况、示例和图示也是可能的。
在框608,方法600然后包括在确定第一构建参数的构建值之后,由计算系统向机器人系统发送与机器人系统生产第一特征相关联的指令,其中该指令指定所确定的第一构建参数的构建值,第一特征应该根据其来生产。
与上面的讨论一致,公开了用于在结构完全生产之前显式地定义结构的参数之间的关系、使得这种关系在构建期间得以保持的实施方式。这样,一旦构建值已经被确定,计算系统就可以促进结构的生产,使得接收到的预构建关系被基本保持。为此,计算系统可以向机器人系统发送与所讨论的第一特征的生产相关联的指令,并且该指令可以指定所确定的构建值。
在一种情况下,计算系统可以在确定第一参数的构建值时或者响应于确定第一参数的构建值,将指令发送到机器人系统。然而,在另一情况下,计算系统可以响应于接收与所确定的构建值和/或已经被更新以指定所确定的第一参数的构建值的模型相关的信息的请求,向机器人系统发送指令。
在任一情况下,指令可以指定所确定的构建值,使得机器人系统然后可以更新本地存储的结构的模型以指定所确定的构建值。以这种方式,机器人系统可以最终根据更新的本地存储的模型来生产结构。附加地或可替换地,计算系统可以更新模型以指定所确定的构建值,并且因此指令可以包括指定构建值的更新模型的至少一部分。以这种方式,机器人系统可以最终根据所接收的更新模型的部分来生产结构。此外,指令可以可选地指导机器人系统实际生产至少第一特征,使得第一特征展现所确定的第一参数的构建值。其他情况也是可能的。
假设计算系统可以更新模型以指定所确定的第一参数的构建值,则计算系统可以附加地或可替换地更新模型以指定其他值。例如,计算系统可以更新模型以指定所确定的构建后观察值,诸如通过用所确定的构建后观察值替换第二参数的建模值。在另一示例中,计算系统可以在生产第一特征以展现所确定的第一参数的构建值之后确定第一参数的构建后观察值,并且可以使用与用于确定第二参数的构建后观察值的技术相同或不同的技术来这样做。并且尽管第一参数的构建后观察值应该基本上与所确定的第一参数的构建值相同或相似,但是计算系统可以更新模型以指定确定的第一参数的构建后观察值。其他示例也是可能的。
接下来图7D示出了在结构504的生产期间如何保持接收到的预构建位置关系。具体而言,图7D示出了结构504的生产已经进一步发展。如图所示,杯托702已经形成在桌子表面上的位置Z上,位置Z具有与参考点706相距3.5m的值,该值等于根据图7C的讨论而确定的位置Z的构建值。因此,如图所示,杯托702已经形成在位置Z处,位置Z与杯托704形成的位置X相距定义的距离Y(例如,1m)。以这种方式,尽管杯托704的实际位置X不同于杯托704的最初规划位置X,接收到的预构建位置关系得以保持。
此外,接下来图7E示出了GUI的状态700E,其中模型已经被更新以指定特定值。如图所示,在GUI的状态700E中,界面特征708指示所确定的杯托702的位置Z的构建后观察值。所确定的位置Z的构建后观察值被示出为等于所确定的位置Z的构建值,从而指示结构504已经以保持预构建位置关系的方式生产。其他图示也是可能的。
在另一方面,本文公开了一种图形界面,计算系统可以通过该图形界面接收定义预构建关系的输入数据,并且计算系统可以在该图形界面上显示所确定的构建值的图形表示。在这点上,接下来图8是示出根据示例实施方式的使用图形界面定义预构建关系的方法800的流程图。注意,在方法600的上下文中描述的本公开的任何方面也可以在方法800的上下文中应用。
在框802,方法800包括由计算系统显示图形界面,该图形界面包括指定要生产的结构的计算机生成的模型的预构建关系的一个或多个界面特征。
举例来说,所显示的图形界面可以被布置成采取图7A、图7C和图7E所示的GUI的形式。可替换地,所显示的图形界面可以被布置成采取任何其他可行的形式,而不脱离本公开的范围。
在框804,方法800然后包括经由图形界面接收指定预构建关系的输入数据,该预构建关系依据第二构建参数的构建后观察值来定义第一构建参数的构建值,其中第一构建参数属于结构的第一特征,其中第二构建参数属于结构的第二特征,其中构建后观察值是在结构的生产期间确定的,并且其中构建值是根据所指定的预构建关系基于所确定的构建后观察值来确定的。
举例来说,计算系统可以与上述讨论一致地经由IME(例如,IME 112)接收输入数据,IME允许与图形界面交互,并且由此提供指定预构建关系的输入数据。如上所述,IME可以是定点设备,诸如用于控制图形界面的计算鼠标。并且如果计算系统的显示设备是触摸屏显示器,则可以接收允许控制图形界面的触摸输入。
在框806,方法800然后包括,在确定构建值之后,在图形界面上显示所确定的第一构建参数的构建值的图形表示。
举例来说,一旦计算系统更新了模型,计算系统就可以在图形界面上显示更新的模型。可替换地,计算系统可以在图形界面上显示所确定的第一参数的构建值的指示,而不必显示整个更新的模型。其他示例也是可能的。
四.附加功能
A.指定两个或更多个构建后观察值的预构建关系
在示例实施方式中,本公开的各个方面可以扩展到计算系统接收指定预构建关系的输入数据的场景,该预构建关系依据两个或更多个构建后观察值来定义构建值。尽管预构建关系可以依据三个或更多个构建后观察值来定义构建值,但是为了简单起见,本文在依据两个构建后观察值来定义构建值的预构建关系的上下文中描述该实施方式。这样,假设正在定义第一特征的第一参数的构建值,预构建关系可以依据(i)第二特征的第二参数的构建后观察值和(ii)第三特征的第三参数的构建后观察值来定义构建值。
这里,预构建关系可以是为特征和/或参数的任何可行组合定义的关系。具体地,所讨论的第一特征、第二特征和第三特征可以都是结构的相同特征,或者也可以是结构的不同特征。并且在一些布置中,这些特征中的两个可以是该结构的相同特征,而另一特征可以是不同于该“相同”特征的特征。此外,所讨论的第一参数、第二参数和第三参数可以是相同的参数,也可以是不同的参数。并且在一些布置中,这些参数中的两个可以是相同的参数,而另一参数可以是不同于该“相同”参数的参数。其他情况也是可能的。
在计算系统接收到预构建关系之后,计算系统然后可以在结构的生产期间确定第二参数的构建后观察值以及第三参数的构建后观察值。计算系统可以在基本相同的时间或不同的时间确定这些构建后观察值。此外,计算系统可以使用本文描述的任何技术等来确定每个这样的构建后观察值。
一旦计算系统确定了第二参数和第三参数的构建后观察值,计算系统然后可以使用这些确定的构建后观察值作为根据预构建关系确定第一参数的构建值的基础。与上面的讨论一致,计算系统确定构建值的方式可以取决于建立预构建关系的方式。
在一种情况下,预构建关系可以是将一组或多组构建后观察值分别映射到一个或多个构建值的映射数据。在这种情况下,一旦计算系统确定了第二参数和第三参数的一组构建后观察值,计算系统就可以参考映射数据并使用所确定的该组构建后观察值来确定构建值。具体地,当参考映射数据时,计算系统可以确定所确定的该组构建后观察值被映射到的构建值,并且因此可以将所确定的构建值设置为应该用于第一参数的值。
在另一情况下,预构建关系可以是包括第一参数、第二参数和第三参数作为具有未知值的变量的公式,从而依据构建后观察值有效地定义构建值。在这种情况下,当计算系统确定构建后观察值时,计算系统确定与第二参数相对应的公式中的变量的值以及与第三参数相对应的公式中的变量的值。并且给定所确定的值,计算系统然后可以计算对应于第一参数的变量值,其中该计算值是所确定的第一参数的构建值。其他情况也是可能的。
一旦计算系统确定了第一参数的构建值,计算系统就可以向机器人系统发送指定所确定的构建值的指令。以这种方式,计算系统然后可以促进结构的生产,使得保持接收到的预构建关系。此外,与上面的讨论一致,计算系统可以在任何时间点更新模型,以指定所确定的第一参数的构建值、所确定的第二参数的构建后观察值、所确定的第三参数的构建后观察值、和/或第一参数的构建后观察值等。
在该实施方式的一个示例中,计算系统可以接收预构建关系,该预构建关系依据(i)桌子的第二杯托的位置的构建后观察值和(ii)桌子的表面的尺寸的构建后观察值来定义桌子的第一杯托的位置的构建值。在该示例中,一旦计算系统确定了这两个构建后观察值,计算系统然后就可以使用这些确定的构建后观察值作为根据预构建关系确定桌子的第一杯托的位置的构建值的基础。以这种方式,然后可以生产桌子,使得第一杯托处于与桌子的第二杯托的位置和桌子表面的尺寸维持显式关系的位置。其他示例也是可能的。
B.预构建关系的顺序
在示例实施方式中,本公开的各个方面可以扩展到计算系统接收指定两个或更多个相互依赖的预构建关系的输入数据的场景。尽管计算系统可以接收相互依赖的三个或更多个这样的预构建关系,但是为了简单起见,本文在相互依赖的两个预构建关系的上下文中描述了该实施方式。此外,为了简单起见,本文在依据单个构建后观察值定义构建值的每个这样的预构建关系的上下文中描述该实施方式。然而,应该理解,该实施方式也可以应用于依据另外两个构建后观察值来定义构建值的一个或两个预构建关系的上下文中。
这样,第一预构建关系可以依据第二特征的第二参数的构建后观察值来定义第一特征的第一参数的构建值,并且第二预构建关系可以依据第一参数的构建后观察值来定义第三特征的第三参数的构建值。这里,第一特征、第二特征和第三特征可以都是结构的相同特征,也可以是结构的不同特征。并且在一些布置中,这些特征中的两个可以是结构的相同特征,而另一特征可以是不同于该“相同”特征的特征。此外,第一参数、第二参数和第三参数可以是相同的参数,也可以是不同的参数。并且在一些布置中,这些参数中的两个可以是相同的参数,而另一参数可以是不同于该“相同”参数的参数。其他情况也是可能的。
在任一情况下,第一预构建关系和第二预构建关系通过第一参数相互依赖。具体而言,计算系统可以首先确定第二参数的构建后观察值,以便然后根据第一预构建关系确定第一参数的构建值。一旦确定了第一参数的构建值,计算系统就可以向机器人系统发送指定所确定的第一参数的构建值的指令,使得第一特征的第一参数然后根据该构建值生产。在生产第一特征的第一参数之后,计算系统然后可以确定第一参数的构建后观察值。并且一旦计算系统确定了第一参数的构建后观察值,计算系统然后就可以最终根据第二预构建关系确定第三参数的构建值,并且可以向机器人系统发送指定所确定的第三参数的构建值的进一步指令,使得然后根据该构建值生产第三特征的第三参数。以这种方式,计算系统可以增加在结构中基本上保持多个显式地定义的关系的概率。
在该实施方式的一个示例中,计算系统可以接收第一预构建关系并且可以接收第二预构建关系,第一预构建关系依据桌子的第二杯托的位置的构建后观察值来定义桌子的第一杯托的位置的构建值,第二预构建关系依据桌子的第一杯托的位置的构建后观察值来定义桌子的第三杯托的位置的构建值。
在该示例中,计算系统可以确定桌子的第二杯托的位置的构建后观察值,并且基于所确定的构建后观察值,计算系统然后可以根据第一预构建关系确定桌子的第一杯托的位置的构建值。一旦桌子的第一杯托被生产在与所确定的构建值一致的位置,计算系统就可以确定桌子的第一杯托的位置的构建后观察值,该构建后观察值理想地应该与所确定的构建值相同或基本相似。基于所确定的桌子的第一杯托的位置的构建后观察值,计算系统然后可以根据第二预构建关系确定桌子的第三杯托的位置的构建值,使得桌子的第三杯托被生产在与所确定的构建值一致的位置。以这种方式,计算系统可以增加在生产的桌子中基本上保持多个显式地定义的位置关系的概率。其他示例也是可能的。
C.将隐式关系转换为显式预构建关系
在示例实施方式中,结构的模型可能已经包括隐式关系,并且计算系统可以接收输入数据(例如,经由图形界面),该输入数据指示该隐式关系应该在模型中被定义为显式预构建关系。具体地,模型可能已经指定第一参数的第一建模值以及第二参数的第二建模值,并且这些第一建模值和第二建模值可以相互具有隐式关系。通过将隐式关系转换成显式预构建关系,计算系统然后可以实行本文描述的操作,以增加基本上保持该预构建关系的概率,即使这些参数中的特定参数最终具有不同于模型中指定的相应建模值的相应构建后值。
此外,计算系统可以以各种方式接收指示隐式关系到显式预构建关系的转换的输入数据。在一种情况下,输入数据可以指示对第一参数和第二参数的选择,并且可以包括将这些参数之间的隐式关系转换成应该基本保持的显式预构建关系的请求。在另一情况下,计算机系统可以被配置为确定模型中的隐式关系,并显示(多个)隐式关系的列表,诸如被确定为在模型中的所有隐式关系的完整列表和/或已经基于搜索准则过滤的部分列表等。在这种情况下,输入数据可以包括对那些显示的(多个)隐式关系中的至少一个的选择,以及将所选择的(多个)隐式关系分别转换成(多个)显式预构建关系的请求。其他情况也是可能的。
举例来说,模型可以指定第一特征的位置的第一建模坐标值以及第二特征的位置的第二建模坐标值。给定这些建模坐标值,第一特征和第二特征可以具有在模型中隐式定义的特定位置关系,诸如隐式定义的第一坐标和第二坐标之间的距离。通过将这种隐式位置关系转换成显式位置关系,计算系统可以有效地接收指定预构建关系的输入数据,该预构建关系将所讨论的距离定义为那些第一特征和第二特征之间应该保持的距离。以这种方式,即使这些位置中的特定一个最终具有不同于模型中指定的建模坐标值的相应构建后值,计算系统也可以增加基本保持第一特征和第二特征之间的该距离的概率。其他示例也是可能的。
D.误差考虑
在示例实施方式中,计算系统可以将与(多个)参数的(多个)值相关联的一个或多个误差视为是否将预构建关系优先于(多个)参数的单独的(多个)值的基础。为了便于实现这一点,计算系统可以已经在其上存储或者以其他方式参考指定与特定参数相关联的阈值误差(也可以称为容差)的数据,该阈值误差可以作为输入数据接收或者经由手动工程输入建立等。利用这种布置,计算系统可以确定与特定参数相关联的误差,然后可以做出所确定的误差是否超过阈值误差的确定。并且基于该确定,计算系统然后可以确定是否执行所公开的保持显式定义的预构建关系的过程。
在一个示例场景中,误差考虑可以关于在接收的预构建关系中定义的参数。具体地,给定依据第二参数的构建后观察值来定义第一参数的构建值的预构建关系,计算系统可以基于与第一参数相关联的误差来确定是否保持该预构建关系。
更具体地,计算系统可以与上述讨论一致地基于第二参数的构建后观察值来确定第一参数的构建值。并且基于所确定的第一参数的构建值,计算系统可以确定与第一参数相关联的误差。具体而言,模型可以指定第一参数的预定义/建模的值,其可以是在确定第一参数的构建值之前赋予第一参数的初始值。但是给定预构建关系,如果第二参数的构建后观察值最终不同于第二参数的建模值,则所确定的第一参数的构建值最终可能不同于第一参数的建模值。因此,可以基于所确定的第一参数的构建值与第一参数的建模值的比较来确定所讨论的误差。
通常,基于比较的误差确定可以采取各种形式。在一种情况下,确定误差可以包括确定所确定的构建值和建模值之间的差(例如,绝对差)。在另一情况下,模型可以指定许可的一个或多个建模值(例如,值的集合或范围),使得除了那些建模值之外的值不被许可。因此,如果所确定的构建值等于未许可值,则计算系统可以确定存在误差,并且如果所确定的构建值等于许可的建模值,则计算系统可以确定不存在误差。其他情况也是可能的。
鉴于此,计算系统然后可以确定所确定的误差是否超过阈值误差(例如,在阈值误差处或之上),并且可以以各种方式这样做。在一种情况下,如果与上述讨论一致地基于与(多个)许可值的比较来确定误差,则在这种情况下误差的确定将自动相当于阈值误差被超过的确定。然而,在另一情况下,如果基于所确定的构建值和建模值之间的差来确定误差,则计算系统可以确定该差是否超过阈值差。其他情况也是可能的。
这样,如果计算系统然后确定所确定的误差没有超过阈值误差,则计算系统可以响应性地确定应该根据所确定的第一参数的构建值来生产第一特征,然后可以如本公开中所描述的进行操作。然而,如果计算系统相反地确定误差确实超过阈值误差,则计算系统可以响应性地确定第一特征应该根据第一参数的其他值来生产,该第一参数的其他值使得与第一参数相关联的误差不超过阈值误差。在实践中,该其他值可以采取各种形式。
在一种情况下,该另个值可以是第一参数的建模/预定义的值。
然而,在另一情况下,该其他值可以是计算系统确定的、允许第一参数和第二参数之间的关系尽可能接近预构建关系、同时使得与第一参数相关联的误差不超过阈值误差的值。
例如,给定寻求在第一特征的第一位置和第二特征的第二位置之间保持1m距离的目标位置关系,计算系统可以确定保持该距离将导致与第一位置相关联的误差超过阈值误差。在这种情况下,计算系统可以确定在这些特征之间保持0.9m的距离将基本上接近目标位置关系,并且不会导致与第一位置相关联的误差超过阈值误差。因此,计算系统可以确定第一特征应该在特征之间保持0.9m的距离的位置处生产。
在该场景的一个特定示例中,再次参考图7A-图7E中提供的示例,计算系统将位置X的构建后观察值确定为2.5m,其不同于被设置为与参考点706相距2m的值的位置X的建模值。因此,计算模式将位置Z的构建值确定为与参考点706相距3.5m。并且假设位置Z的建模值被指定为与参考点706相距3m,则计算系统可以将与位置Z相关联的误差确定为0.5m的差(即,3.5m减去3m)。
在该示例中,给定阈值误差被设置为0.6m的阈值差的情况,计算系统可以确定所确定的与位置Z相关联的误差没有超过阈值误差,因此计算系统可以响应性地继续保持如图7A-图7E中描述的预构建关系。另一方面,在阈值误差被设置为0.3m的阈值差的情况下,计算系统可以确定所确定的与位置Z相关联的误差确实超过了阈值误差,因此计算系统可以响应性地不保持预构建关系,而是可以将杯托702定位在具有将允许阈值误差不被超过的值的位置Z。其他示例也是可能的。
在另一示例场景中,误差考虑可以关于具有基于是否保持接收的预构建关系的值的参数。具体地,给定依据第二参数的构建后观察值来定义第一参数的构建值的第一预构建关系,计算系统可以基于与第三参数相关联的误差来确定是否保持第一预构建关系。在实践中,第三参数可以具有在某种程度上取决于或基于所确定的第一参数的构建值的值。例如,第二预构建关系可以依据第一参数的构建后观察值来定义第三参数的构建值,从而使得第二预构建关系取决于第一预构建关系(即,关系序列(sequence ofrelationships))。
更具体地,计算系统可以与上述讨论一致地依据第二参数的构建后观察值来确定第一参数的构建值。并且基于所确定的第一参数的构建值,计算系统可以确定与第三参数相关联的误差。为此,给定所确定的第一参数的构建值,计算系统可以确定或预测第三参数的构建值。例如,计算系统可以假设第一参数的构建后观察值将等于所确定的第一参数的构建值,或者可以实际确定第一参数的构建后观察值,然后可以根据第二预构建关系使用第一参数的构建后观察值作为用于确定第三参数的构建值的基础。无论如何,一旦计算系统确定或预测了第三参数的构建值,计算系统然后就可以基于所确定的第三参数的构建值与第三参数的建模值的比较来确定误差。
具体而言,模型可以指定第三参数的建模值,其可以是在确定第三参数的构建值之前赋予第三参数的初始值。但是,给定所讨论的第一预构建关系并且假设第三参数可以具有在某种程度上取决于所确定的第一参数的构建值的值,如果第二参数的构建后观察值最终不同于第二参数的建模值,则所确定的第三参数的构建值可能最终不同于第三参数的建模值。因此,可以基于所确定的第三参数的构建值与第三参数的建模值的比较来确定所讨论的误差。
在该示例场景中,例如,基于构建值与建模值的比较对误差的确定可以采取各种形式,诸如上述形式。此外,计算系统然后可以使用上述技术中的任何一种来确定所确定的误差是否超过阈值误差。
因此,如果计算系统确定所确定的与第三参数相关联的误差没有超过阈值误差,则计算系统可以响应性地确定应该根据所确定的第一参数的构建值来生产第一特征,然后可以如本公开中所描述的进行操作。但是如果相反地计算系统确定与第三参数相关联的误差确实超过阈值误差,则计算系统可以响应性地确定应该根据第一参数的其他值生产第一特征,该第一参数的其他值使得与第三参数相关联的误差不超过阈值误差。在实践中,该其他值可以采取各种形式。
在一种情况下,该其他值可以是第一参数的预定义/建模的值。
然而,在另一情况下,该其他值可以是计算系统确定的、允许第一参数和第二参数之间的关系尽可能接近预构建关系、同时使得与第三参数相关联的误差不超过阈值误差的值。
例如,给定寻求在第一特征的第一位置和第二特征的第二位置之间保持1m距离的目标位置关系,计算系统可以确定保持该距离将导致与第三特征的第三位置相关联的误差超过阈值误差。在这种情况下,计算系统可以确定在那些第一特征和第二特征之间保持0.8m的距离将基本上接近目标位置关系,并且不会导致与第三位置相关联的误差超过阈值误差。因此,计算系统可以确定第一特征应该在保持第一特征和第二特征之间的距离为0.8m的位置生产。其他情况也是可能的。
利用这种方法,计算系统可以评估所确定的第一参数的构建值,以便确定与具有相应的(多个)其他值的(多个)其他参数相关联的一个或多个误差,这些其他值在某种程度上取决于第一参数的值(例如,基于关系序列)。以这种方式,计算系统可将第一参数的值设置为允许(多个)其他参数的(多个)其他值各自都在分别定义的容差内的值,从而为后续的结构生产提供灵活性。
在实践中,计算系统可以以各种方式之一来促进这一点。例如,计算系统可以在一组等式和/或不等式中表达(多个)预构建关系和(多个)相关容差。鉴于此,计算系统然后可以确定该集合的一个或多个解和/或实行优化(例如,梯度下降优化算法)以确定该集合的最优解。在任一情况下,对于第一参数和/或(多个)其他参数,(多个)解将提供在分别定义的(多个)容差内的分别确定的值。并且给定这些(多个)所确定的值,计算系统然后可以更新模型以指定(多个)所确定的值和/或可以使用(多个)所确定的值作为用于确定后续的结构生产步骤等的基础。其他示例也是可能的。
在又一方面,计算系统可以评估与两个或更多个参数相关联的误差,作为用于确定是否将(多个)预构建关系优先于(多个)参数的(多个)单独的值的基础。具体地,计算系统可以通过将这些两个或更多个参数的值(例如,构建值和/或构建后值)与预定义值进行比较来确定误差,这可以包括将这些值的总和或平均值与预定义值进行比较等。附加地或可替换地,计算系统可以通过将这些值相互比较来确定误差(例如,这些值相互之间的偏差)。在任一情况下,与以上讨论一致地,一旦计算系统确定了误差,计算系统然后就可以确定该误差是否超过阈值误差,由此确定是否根据所讨论的所确定的参数的构建值来生产特定的(多个)特征。
举例来说,计算系统可以确定与所有桌腿的长度的总和相关联的误差。例如,计算系统可以分别确定第一桌腿和第二桌腿的构建后值,并且分别确定第三桌腿和第四桌腿的构建值。并且计算系统可以使用这些值来确定所有桌腿的长度的总和。然后,计算系统可以通过将所确定的总和(例如,12.2m)与所有桌腿的长度的总和的预定值(例如,12m)进行比较来确定误差,该预定值可以是表示所有桌腿的长度的建模总和的初始值。例如,计算系统可以确定所确定的总和和预定值之间的差(例如,0.2m)。
在该示例中,一旦计算系统确定了误差,计算系统然后就可以确定所确定的误差是否超过阈值误差。如果计算系统确定所确定的误差没有超过阈值误差(例如,0.5m的阈值差),则计算系统就可以诸如通过指示机器人系统根据分别确定的构建值生产第三腿和第四腿,来继续保持预构建关系。但是如果计算系统确定所确定的误差确实超过阈值误差(例如,0.1m的阈值差),则计算系统可以响应性地不保持特定的(多个)预构建关系,而是可以指示机器人系统根据允许阈值误差不被超过的相应值来生产第三腿和/或第四腿。其他示例也是可能的。
V.结论
附图中所示的特定布置不应被视为限制性的。应该理解,其他实施方式可以包括给定附图中所示的或多或少的每个元件。此外,一些示出的元件可以被组合或省略。此外,示例性实施方式可以包括图中未示出的元件。
此外,虽然本文已经公开了各种方面和实施方式,但是其他方面和实施方式对于本领域技术人员来说将是显而易见的。本文公开的各种方面和实施方式是为了说明的目的,而不是为了进行限制,真正的范围和精神由所附权利要求来指示。在不脱离本文提出的主题的精神或范围的情况下,可以利用其他实施方式,并且可以进行其他改变。很容易理解,如在本文一般地描述的和在附图中示出的,本公开的各方面可以以各种不同的配置进行排列、替换、组合、分离和设计,所有这些都本文中被考虑。

Claims (21)

1.一种方法,包括:
由计算系统接收指定表示结构的模型的预构建关系的输入数据,其中所述模型指定所述结构的第一特征的第一构建参数和所述结构的第二特征的第二构建参数,并且其中所述预构建关系依据所述第二构建参数的构建后观察值定义所述第一构建参数的构建值;
在由所述模型表示的结构的生产期间,由计算系统确定所述第二构建参数的构建后观察值;
基于所确定的所述第二构建参数的构建后观察值,由计算系统根据所接收的预构建关系确定所述第一构建参数的构建值;以及
在确定所述第一构建参数的构建值之后,由计算系统向机器人系统发送与所述机器人系统生产所述第一特征相关联的指令,其中所述指令指定所确定的所述第一构建参数的构建值,所述第一特征应该根据所确定的所述第一构建参数的构建值而生产。
2.根据权利要求1所述的方法,其中所述第一特征和第二特征是要生产的结构的相同特征。
3.根据权利要求1所述的方法,其中所述第一构建参数和第二构建参数是相同的构建参数。
4.根据权利要求1所述的方法,
其中所述第一构建参数包括以下参数中的至少一个:(i)所述第一特征的位置,(ii)所述第一特征的方位,(iii)所述第一特征的材料属性,以及(iv)与所述第一特征交互的属性,以及
其中所述第二构建参数包括以下参数中的至少一个:(i)所述第二特征的位置,(ii)所述第二特征的方位,(iii)所述第二特征的材料属性,以及(iv)与所述第二特征交互的属性。
5.根据权利要求1所述的方法,其中所述第一构建参数包括所述第一特征的第一位置,其中所述第二构建参数包括所述第二特征的第二位置,并且其中所述预构建关系包括依据所述第二位置的构建后观察值定义所述第一位置的构建值的位置关系。
6.根据权利要求1所述的方法,其中所接收的预构建关系还依据第三构建参数的构建后观察值定义所述第一构建参数的构建值,并且其中所述第三构建参数属于由所述模型表示的结构的第三特征,所述方法还包括:
在由所述模型表示的结构的生产期间,由计算系统确定所述第三构建参数的构建后观察值,
其中根据所接收的预构建关系确定所述第一构建参数的构建值还基于所确定的所述第三构建参数的构建后观察值。
7.根据权利要求1所述的方法,其中确定所述第二构建参数的构建后观察值包括以下中的一个或多个:(i)基于从一个或多个传感器接收的传感器数据确定所述第二构建参数的构建后观察值,以及(ii)从机器人系统接收指示由所述机器人系统基于来自一个或多个传感器的传感器数据确定的所述第二构建参数的构建后观察值的消息。
8.根据权利要求1所述的方法,还包括:
由计算系统更新所述模型,以指定以下中的一个或多个:(i)所确定的所述第二构建参数的构建后观察值,以及(ii)所确定的所述第一构建参数的构建值。
9.根据权利要求1所述的方法,还包括:
至少部分基于所确定的所述第一构建参数的构建值,由计算系统确定与所述第一构建参数相关联的误差;以
由计算系统确定所述误差低于阈值误差,
其中响应于确定所述误差低于阈值误差而发送所述指令。
10.根据权利要求9所述的方法,其中所述模型指定所述第一构建参数的建模值,并且其中至少部分基于所确定的所述第一构建参数的构建值确定与所述第一构建参数相关联的误差包括,基于所确定的构建值与所述建模值的比较来确定与所述第一构建参数相关联的误差。
11.根据权利要求1所述的方法,还包括:
至少部分基于所确定的所述第一构建参数的构建值,由计算系统确定与所述结构的第三特征的第三构建参数相关联的误差;以及
由计算系统确定所述误差低于阈值误差,
其中响应于确定所述误差低于阈值误差而发送所述指令。
12.根据权利要求1所述的方法,其中所述预构建关系是第一预构建关系,所述方法还包括:
由计算系统接收指定表示所述结构的模型的第二预构建关系的输入数据,其中所述模型指定所述结构的第三特征的第三构建参数,并且其中所述第二预构建关系依据所述第一构建参数的构建后观察值定义所述第三构建参数的构建值;
在由所述模型表示的结构的生产期间,由计算系统确定所述第一构建参数的构建后观察值;
基于所确定的所述第一构建参数的构建后观察值,由计算系统根据所接收的第二预构建关系确定所述第三构建参数的构建值;以及
在确定所述第三构建参数的构建值之后,由计算系统向机器人系统发送与所述机器人系统生产所述第三特征相关联的另一指令,其中所述另一指令指定所确定的所述第三构建参数的构建值,所述第三特征应该根据所确定的所述第三构建参数的构建值而生产。
13.一种计算系统,包括:
一个或多个处理器;
非暂时性计算机可读介质;以及
程序指令,其存储在所述非暂时性计算机可读介质上并且可由所述一个或多个处理器执行以:
接收指定表示结构的模型的预构建关系的输入数据,其中所述模型指定所述结构的第一特征的第一构建参数和所述结构的第二特征的第二构建参数,并且其中所述预构建关系依据所述第二构建参数的构建后观察值定义所述第一构建参数的构建值;
在由所述模型表示的结构的生产期间,确定所述第二构建参数的构建后观察值;
基于所确定的所述第二构建参数的构建后观察值,根据所接收的预构建关系确定所述第一构建参数的构建值;以及
在确定所述第一构建参数的构建值之后,向机器人系统发送与所述机器人系统生产所述第一特征相关联的指令,其中所述指令指定所确定的所述第一构建参数的构建值,所述第一特征应该根据所确定的所述第一构建参数的构建值而生产。
14.根据权利要求13所述的计算系统,
其中所述第一构建参数包括以下参数中的至少一个:(i)所述第一特征的位置,(ii)所述第一特征的方位,(iii)所述第一特征的材料属性,以及(iv)与所述第一特征交互的属性,以及
其中所述第二构建参数包括以下参数中的至少一个:(i)所述第二特征的位置,(ii)所述第二特征的方位,(iii)所述第二特征的材料属性,以及(iv)与所述第二特征交互的属性。
15.根据权利要求13所述的计算系统,其中所述第一构建参数包括所述第一特征的第一位置,其中所述第二构建参数包括所述第二特征的第二位置,并且其中所述预构建关系包括依据所述第二位置的构建后观察值定义所述第一位置的构建值的位置关系。
16.根据权利要求13所述的计算系统,
其中所接收的预构建关系还依据第三构建参数的构建后观察值定义所述第一构建参数的构建值,
其中所述第三构建参数属于由所述模型表示的结构的第三特征,
其中所述程序指令还可执行以在所述结构的生产期间确定所述第三构建参数的构建后观察值,以及
其中根据所接收的预构建关系确定所述第一构建参数的构建值还基于所确定的所述第三构建参数的构建后观察值。
17.根据权利要求13所述的计算系统,其中所述程序指令还可执行以:
更新所述模型以指定以下中的一个或多个:(i)所确定的所述第二构建参数的构建后观察值和(ii)所确定的所述第一构建参数的构建值。
18.根据权利要求13所述的计算系统,其中所述程序指令还可执行以:
至少部分基于所确定的所述第一构建参数的构建值,确定与所述第一构建参数相关联的误差;
关于所确定的误差是否超过阈值误差做出确定;
如果所述确定是所确定的误差超过阈值误差,则响应于做出所述确定,确定应该根据所述第一构建参数的另一个值生产所述第一特征,所述另一个值使得与所述第一构建参数相关联的误差不超过阈值误差;以及
如果所述确定是所确定的误差没有超过阈值误差,则响应于做出所述确定,确定应该根据所确定的所述第一构建参数的构建值生产所述第一特征。
19.根据权利要求13所述的计算系统,其中所述程序指令还可执行以:
至少部分基于所确定的所述第一构建参数的构建值,确定与所述结构的第三参数相关联的误差;
关于所确定的误差是否超过阈值误差做出确定;
如果所述确定是所确定的误差超过阈值误差,则响应于做出所述确定,确定应该根据所述第一构建参数的另一个值生产所述第一特征,所述另一个值使得与所述第三构建参数相关联的误差不超过阈值误差;以及
如果所述确定是所确定的误差没有超过阈值误差,则响应于做出所述确定,确定应该根据所确定的所述第一构建参数的构建值生产所述第一特征。
20.一种方法,包括:
由计算系统显示包括一个或多个界面特征的图形界面,以指定要生产的结构的计算机生成的模型的预构建关系;
经由所述图形界面接收指定预构建关系的输入数据,所述预构建关系依据第二构建参数的构建后观察值定义第一构建参数的构建值,其中所述第一构建参数属于结构的第一特征,其中所述第二构建参数属于所述结构的第二特征,其中所述构建后观察值是在所述结构的生产期间确定的,并且其中所述构建值是根据所指定的预构建关系基于所确定的构建后观察值来确定的;以及
在确定所述构建值之后,在所述图形界面上显示所确定的所述第一构建参数的构建值的图形表示。
21.根据权利要求20所述的方法,
其中所接收的预构建关系与表示要生产的特定结构的特定模型相关联,
其中在确定所述构建值之后,更新所述特定模型以指定所确定的构建值,并且
其中在所述图形界面上显示所确定的所述第一构建参数的构建值的图形表示包括在所述图形界面上显示所更新的特定模型。
CN201880023892.3A 2017-04-07 2018-03-22 用于建立和保持预构建关系的方法和系统 Active CN110494261B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/481,909 US10307908B2 (en) 2017-04-07 2017-04-07 Methods and systems for establishing and maintaining a pre-build relationship
US15/481,909 2017-04-07
PCT/US2018/023772 WO2018187041A1 (en) 2017-04-07 2018-03-22 Methods and systems for establishing and maintaining a pre-build relationship

Publications (2)

Publication Number Publication Date
CN110494261A true CN110494261A (zh) 2019-11-22
CN110494261B CN110494261B (zh) 2020-09-01

Family

ID=63710187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880023892.3A Active CN110494261B (zh) 2017-04-07 2018-03-22 用于建立和保持预构建关系的方法和系统

Country Status (6)

Country Link
US (2) US10307908B2 (zh)
EP (1) EP3580022A4 (zh)
JP (1) JP6844023B2 (zh)
KR (2) KR102266328B1 (zh)
CN (1) CN110494261B (zh)
WO (1) WO2018187041A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005119356A2 (en) 2004-05-28 2005-12-15 Erik Jan Banning Interactive direct-pointing system and calibration method
US9285897B2 (en) 2005-07-13 2016-03-15 Ultimate Pointer, L.L.C. Easily deployable interactive direct-pointing system and calibration method therefor
US10307908B2 (en) 2017-04-07 2019-06-04 X Development Llc Methods and systems for establishing and maintaining a pre-build relationship
CN114080304B (zh) * 2019-08-22 2024-05-14 欧姆龙株式会社 控制装置、控制方法及控制程序
CN111046597B (zh) * 2020-01-20 2023-07-21 兰州理工大学 基于数字孪生三维模型3d打印机建模方法及模型系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434489A (en) * 1993-07-30 1995-07-18 Fanuc Robotics North America, Inc. Method and system for path planning in cartesian space
US20030120377A1 (en) * 2001-12-26 2003-06-26 Lockheed Martin Corporation Machine for performing machining operations on a workpiece and method of controlling same
CN104325462A (zh) * 2014-09-30 2015-02-04 同济大学 一种固有约束下构建机器人运动空间的方法
CN105598957A (zh) * 2016-01-27 2016-05-25 国机集团科学技术研究院有限公司 一种工业机器人运动学建模方法及系统
US20160346928A1 (en) * 2015-05-29 2016-12-01 Abb Technology Ag Method and system for robotic adaptive production

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04211807A (ja) * 1990-04-20 1992-08-03 Hitachi Ltd ロボットの設置誤差の推定方法及びその装置並びにロボット駆動制御方法及び基準付き作業台及び基準
JP3172846B2 (ja) 1992-08-20 2001-06-04 株式会社日立製作所 形状処理装置
AU3294197A (en) * 1996-06-06 1998-01-05 Boeing Company, The Method for improving the accuracy of machines
JP2003241807A (ja) 2002-02-19 2003-08-29 Yaskawa Electric Corp ロボット制御装置
US6822412B1 (en) 2003-06-11 2004-11-23 Zhongxue Gan Method for calibrating and programming of a robot application
US7336814B2 (en) 2004-07-14 2008-02-26 Braintech Canada, Inc. Method and apparatus for machine-vision
GB0419381D0 (en) 2004-09-01 2004-10-06 Renishaw Plc Machine tool method
JP4137909B2 (ja) 2005-04-13 2008-08-20 ファナック株式会社 ロボットプログラム補正装置
US20080221733A1 (en) * 2007-03-07 2008-09-11 Kmt Robotic Solutions, Inc. System and method of locating relative positions of objects
US9333654B2 (en) * 2008-03-31 2016-05-10 Abb Research Ltd. Robot parts assembly on a workpiece moving on an assembly line
JP4856728B2 (ja) 2009-02-05 2012-01-18 インターナショナル・ビジネス・マシーンズ・コーポレーション アセンブリデータの作成を支援する装置及び方法
US9904271B2 (en) * 2011-11-16 2018-02-27 Nissan Motor Co., Ltd. Manufacturing method and manufacturing device for manufacturing a joined piece
US9605952B2 (en) * 2012-03-08 2017-03-28 Quality Manufacturing Inc. Touch sensitive robotic gripper
US8924011B2 (en) * 2012-04-03 2014-12-30 Knu-Industry Cooperation Foundation Intelligent robot apparatus responsive to environmental change and method of controlling and reconfiguring intelligent robot apparatus
JP5664629B2 (ja) 2012-10-19 2015-02-04 株式会社安川電機 ロボットシステムおよび加工品の製造方法
CN105637512B (zh) * 2013-08-22 2018-04-20 贝斯普客公司 用于创造定制产品的方法和系统
US9841749B2 (en) 2014-04-01 2017-12-12 Bot & Dolly, Llc Runtime controller for robotic manufacturing system
US9278449B1 (en) 2014-05-21 2016-03-08 Bot & Dolly, Llc Closed-loop control system for robotic operation
US9308647B2 (en) 2014-06-03 2016-04-12 Bot & Dolly, Llc Systems and methods for instructing robotic operation
US9713871B2 (en) 2015-04-27 2017-07-25 Microsoft Technology Licensing, Llc Enhanced configuration and control of robots
US10551821B2 (en) * 2016-06-30 2020-02-04 Seiko Epson Corporation Robot, robot control apparatus and robot system
US10307908B2 (en) 2017-04-07 2019-06-04 X Development Llc Methods and systems for establishing and maintaining a pre-build relationship

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434489A (en) * 1993-07-30 1995-07-18 Fanuc Robotics North America, Inc. Method and system for path planning in cartesian space
US20030120377A1 (en) * 2001-12-26 2003-06-26 Lockheed Martin Corporation Machine for performing machining operations on a workpiece and method of controlling same
CN104325462A (zh) * 2014-09-30 2015-02-04 同济大学 一种固有约束下构建机器人运动空间的方法
US20160346928A1 (en) * 2015-05-29 2016-12-01 Abb Technology Ag Method and system for robotic adaptive production
CN105598957A (zh) * 2016-01-27 2016-05-25 国机集团科学技术研究院有限公司 一种工业机器人运动学建模方法及系统

Also Published As

Publication number Publication date
KR102266328B1 (ko) 2021-06-18
US20180290305A1 (en) 2018-10-11
EP3580022A4 (en) 2021-03-17
KR20210073606A (ko) 2021-06-18
EP3580022A1 (en) 2019-12-18
US20190308321A1 (en) 2019-10-10
JP2020518883A (ja) 2020-06-25
WO2018187041A1 (en) 2018-10-11
US11040448B2 (en) 2021-06-22
US10307908B2 (en) 2019-06-04
KR20190126943A (ko) 2019-11-12
KR102402369B1 (ko) 2022-05-30
JP6844023B2 (ja) 2021-03-17
CN110494261B (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
CN110494261A (zh) 用于建立和保持预构建关系的方法和系统
Liu et al. Human-robot collaboration in disassembly for sustainable manufacturing
US20210191362A1 (en) System and method for planning support removal in hybrid manufacturing with the aid of a digital computer
EP3166081A2 (en) Method and system for positioning a virtual object in a virtual simulation environment
CN105467997B (zh) 基于线性时序逻辑理论的仓储机器人路径规划方法
EP3166084A2 (en) Method and system for determining a configuration of a virtual robot in a virtual environment
JP2020522037A (ja) 構築可能性分析に基づくプロジェクトの計画および適応
JP6985131B2 (ja) 2軸3Dプリンティングプロセスの結果のB−Rep
EP3656513B1 (en) Method and system for predicting a motion trajectory of a robot moving between a given pair of robotic locations
JP2017213644A (ja) 教示装置、教示システム、ロボットシステム、教示方法、製造品の製造方法、プログラム及び記録媒体
Rea Minango et al. Combining the STEP-NC standard and forward and inverse kinematics methods for generating manufacturing tool paths for serial and hybrid robots
CN106991204A (zh) 对受约束的非对称细分网格的修改
EP3696709A1 (en) Expert knowledge framework driven hybrid manufacturing systems and methods
Jeong Digitalization in production logistics: How AI, digital twins, and simulation are driving the shift from model-based to data-driven approaches
Cecil et al. A shape modification app and cyber-physical framework for collaborative manufacturing
US20150220078A1 (en) CAM and NC CODE INTEGRATION
US10155273B1 (en) Interactive object fabrication
EP3655871A1 (en) Method and system for simulating a robotic program of an industrial robot
US20240070333A1 (en) Virtual environment for large-scale capital projects
Chang et al. CoFabs: An Interactive Fabrication Process Framework
JP2020097061A (ja) 情報処理装置、情報処理プログラム、情報処理方法
Eppinger et al. An Open Approach to Robotic Prototyping for Architectural Design and Construction
Cecil A cloud-based cyber-physical framework for collaborative manufacturing
US20130297268A1 (en) Determining boolean region participants for a notional context given arbitrary bodies
JP2020115340A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220304

Address after: California, USA

Patentee after: Insi Innovation Co.,Ltd.

Address before: California, USA

Patentee before: X Development Co.,Ltd.

TR01 Transfer of patent right