CN107073710A - 用于创建机器人制造过程的软件界面 - Google Patents

用于创建机器人制造过程的软件界面 Download PDF

Info

Publication number
CN107073710A
CN107073710A CN201580027799.6A CN201580027799A CN107073710A CN 107073710 A CN107073710 A CN 107073710A CN 201580027799 A CN201580027799 A CN 201580027799A CN 107073710 A CN107073710 A CN 107073710A
Authority
CN
China
Prior art keywords
node
robot
motion
tool
actor
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
CN201580027799.6A
Other languages
English (en)
Other versions
CN107073710B (zh
Inventor
J.林内尔
K.伯恩
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
Potter & Dolly Ltd
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 Potter & Dolly Ltd filed Critical Potter & Dolly Ltd
Publication of CN107073710A publication Critical patent/CN107073710A/zh
Application granted granted Critical
Publication of CN107073710B publication Critical patent/CN107073710B/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/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35216Program, generate nc program, code from cad data
    • 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/30End effector
    • Y10S901/41Tool

Abstract

示例性系统和方法允许使用图形界面导致一个或多个机器人装置构造输出产品。一个示例性方法包括导致图形界面显示在显示装置上,接收对应于与图形界面的一个或多个交互作用的输入数据,以表示至少一个运动路径和至少一个工具操作序列以在用于输出产品构造上使用的至少一个运动路径内的一个或多个点上执行,产生包括至少一个机器人节点、至少一个运动命令节点和至少一个工具命令节点的多个数字节点,并且为至少一个机器人施动者提供指令以根据由至少一个运动命令节点确定的机器人运动命令序列移动且执行由至少一个工具命令节点确定的工具命令序列以构造输出产品。

Description

用于创建机器人制造过程的软件界面
背景技术
除非这里另有表示,该部分中描述的材料对于本申请的权利要求来说不是现有技术,并且不因包括在该部分中而被承认是现有技术。
自动化制造过程可能涉及可用于构造输出产品的一个或多个机器人装置的使用,输出产品例如为汽车、墙壁、一件家具或任何数量的其它物理结构。机器人装置可配备有末端执行器安装工具,例如钳子或钻孔机,可在构造过程期间使用。机器人装置可被编程有特定运动命令的序列和用于其它操作的命令以便使机器人装置完成制造过程。
发明内容
本公开提供允许使用图形界面以使一个或多个机器人装置构造输出产品的方法和设备。特别是,采用图形界面接收输入数据,该输入数据规定至少一个运动路径和在运动路径内的各点上发生的至少一个工具动作序列。然后,根据节点配置数据,在显示窗口内可产生多个不同的数字节点。数字节点可包括描述机器人施动者的至少一个机器人节点。数字节点也可包括确定机器人运动命令的至少一个运动命令节点和根据接收的输入数据确定工具命令的至少一个工具命令节点。至少一个机器人装置然后可执行由至少一个运动命令节点确定的运动命令,并且执行由至少一个工具命令节点确定的工具命令以便构造输出产品。
在一个示例中,提供一种方法,该方法包括导致在显示装置上显示图形界面。该方法还可包括接收对应于与图形界面的一个或多个交互作用的输入数据,其中输入数据指示至少一个运动路径和至少一个工具动作序列,以在至少一个运动路径的一个或多个点上执行,以用于在输出产品的构造中使用,并且其中该输入数据还指示节点配置数据。该方法可另外包括根据节点配置数据产生多个数字节点。多个数字节点可包括(a)至少一个机器人节点,其描述至少一个机器人施动者的一个或多个属性;(b)至少一个运动命令节点,其确定机器人运动命令序列以导致至少一个机器人施动者沿着至少一个运动路径移动;以及(c)至少一个工具命令节点,其确定工具命令序列以导致至少一个机器人施动者根据至少一个工具动作序列操作至少一个工具。该方法还可包括为至少一个机器人施动者提供指令以根据由至少一个运动命令节点确定的机器人运动命令序列移动且执行由至少一个工具命令节点确定的工具命令序列,以构造输出产品。
在进一步示例中,公开了一种系统,包括至少一个机器人施动者和控制系统。控制系统可配置为导致图形界面显示在显示装置上。控制系统还可配置为接收对应于与图形界面的一个或多个交互作用的输入数据,其中输入数据表示由至少一个机器人施动者使用的至少一个构造路径,其中至少一个构造路径包括至少一个机器人操作序列,其中机器人操作的至少某些包括至少一个工具的使用,并且其中输入数据还表示节点配置数据。控制系统可另外配置为根据节点配置数据产生多个数字节点。数字节点可包括(a)至少一个机器人节点,其描述至少一个机器人施动者中的对应一个的一个或多个属性;以及(b)至少一个命令节点,其确定机器人命令序列以导致对应于至少一个机器人节点的机器人施动者执行至少一个构造路径内的至少一个机器人操作序列。控制系统还可配置成为至少一个机器人施动者提供指令以执行由至少一个命令节点确定的系列机器人命令。
在另一个示例中,公开了一种非临时计算机可读介质,其中已经存储了指令,在被计算系统执行时,导致该计算系统执行功能。功能可包括导致图形界面显示在显示装置上。功能还可包括接收对应于与图形界面的一个或多个交互作用的输入数据,其中输入数据表示至少一个运动路径和至少一个工具动作序列,以在至少一个运动路径内的一个或多个点上执行,用于构造输出产品,并且其中输入数据还表示节点配置数据。功能可另外包括根据节点配置数据产生多个数字节点。多个数字节点可包括(a)至少一个机器人节点,其描述至少一个机器人施动者的一个或多个属性;(b)至少一个运动命令节点,确定机器人运动命令序列以导致至少一个机器人施动者沿着至少一个运动路径移动;以及(c)至少一个工具命令节点,确定工具命令序列以导致至少一个机器人施动者根据至少一个工具动作序列操作至少一个工具。该功能还可包括为至少一个机器人施动者提供指令以根据由至少一个运动命令节点确定的机器人运动命令序列移动且执行由至少一个工具命令节点确定的工具命令序列以构造输出产品。
在再一个示例中,一种系统可包括导致图形界面显示在显示装置上的手段。该系统还可包括接收对应于与图形界面的一个或多个交互作用的输入数据的手段,其中输入数据表示至少一个运动路径和至少一个工具动作序列,以在至少一个运动路径内的一个或多个点上执行,用于输出产品的构造,并且其中输入数据还表示节点配置数据。该系统可另外包括根据节点配置数据产生多个数字节点的手段。多个数字节点可包括(a)至少一个机器人节点,其描述至少一个机器人施动者的一个或多个属性;(b)至少一个运动命令节点,其确定系列机器人运动命令以导致至少一个机器人施动者沿着至少一个运动路径移动;以及(c)至少一个工具命令节点,其确定工具命令序列以导致至少一个机器人施动者根据至少一个工具动作序列操作至少一个工具。该系统还可包括为至少一个机器人施动者提供指令以根据由至少一个运动命令节点确定的系列机器人运动命令移动且执行由至少一个工具命令节点确定的工具命令序列以构造输出产品的手段。
前面的发明内容仅为说明性的而不意味着任何方式的限制。除了上面描述的各方面、实施例和特征外,进一步的方面、实施例和特征通过参考图以及下面的具体实施方式和附图将变得明显易懂。
附图说明
图1示出了根据示例性实施例的制造控制系统的方块图。
图2A示出了根据示例性实施例的具有7自由度的机器人的示意图。
图2B示出了根据示例性实施例的具有附加钳子的机器人的示意图。
图2C示出了根据示例性实施例的具有附加心轴的机器人的示意图。
图3A示出了根据示例性实施例的工具架的示意图。
图3B示出了根据示例性实施例的工具架和两个机器人的示意图。
图4A示出了根据示例性实施例的具有3D模型的图形界面。
图4B示出了根据示例性实施例的具有3D模型的附加图形界面。
图5示出了根据示例性实施例的节点基图形界面和构建过程可视化。
图6A示出了根据示例性实施例的用于图形界面的工具栏。
图6B示出了根据示例性实施例的数字工具集合。
图6C是根据示例性实施例的示例性工作流的方块图。
图7是根据示例性实施例的示例性方法的方块图。
图8A示出了根据示例性实施例的具有数字机器人施动者的图形界面。
图8B示出了根据示例性实施例的具有数字机器人施动者的图形界面和下拉菜单。
图8C示出了根据示例性实施例的具有数字机器人施动者的图形界面和数字机器人施动者的可视化。
图9是根据示例性实施例的示例性节点配置的方块图。
具体实施方式
这里描述示例性方法和系统。这里描述的任何示例性实施例或特征不是必须解释为在其它实施例或特征上优选或有利的。这里描述的示例性实施例不意味着是限制。容易理解,所公开的系统和方法的某些方面可在广泛种类的不同配置中设置和结合,其全部在这里明确地预期。
此外,图中示出的特定设置方案不应看作限制。应理解,其它实施例可包括或多或少的给定附图中示出的每个元件。此外,某些示出的元件可结合或省略。再次,示例性实施例可包括图中没有示出的元件。
I.概述
示例性实施例提供允许用户配置一个或多个机器人装置的图形界面以便采用机器人装置创建制造过程。特别是,用户可通过描述机器人施动者的图形界面和物理工作单元的其它方面的图形界面选择且配置数字节点以便在物理世界上控制构建过程。另外,图形界面可提供一层抽象概念,从而用户可为机器人装置输入运动路径和工具操作而没不必指定具体的机器人指令。
在一些实施例中,机器人装置可出现在图形界面内作为描述在物理工作单元内的机器人施动者的一个或多个属性的数字机器人节点。在进一步示例中,数字机器人施动者可包括很多可互换部件节点。例如,部件节点可包括表示商业机器人的不同制造和型号以及特定机器人装置的不同限制(例如,运动范围)的机器人节点。在进一步示例中,部件节点可包括表示不同类型工具的工具节点,工具可在构造期间由特定的机器人装置使用,例如钳子或心轴。在又一个示例中,部件节点可包括表示可用于与特定机器人装置通信的数据输入或输出的类型或范围的输入/输出(IO)节点。在另外的示例中,部件节点也可包括表示机器人可在物理工作单元内移动的不同轨道的轨道节点。其它部件节点也是可能的。
在进一步示例中,图形界面可使用户配置描述物理工作单元内的可用机器人施动者、工具、IO类型和/或运动轴全部的阶段节点。机器人施动者可包括来自各种不同类型和制造者的机器人。构造工具可包括在构建过程中可由机器人装置可用的很多不同的工具,例如钳子、心轴或烙铁。在另外的示例中,用户可配置阶段节点以表示对于构建过程在特定的物理工作单元内当前可用的诸如机器人施动者或构造工具的部件。
在一些实施例中,用户也可选择一个或多个运动命令节点,其确定机器人施动者之一根据输入的运动通道跟随的机器人运动命令序列。特别是,运动命令节点可确定在机器人末端执行器被移动通过对应于输入运动路径的系列帧(位置和取向)的阶段上用于特定机器人施动者的机器人命令。例如,运动命令节点可确定导致机器人施动者跟随特定运动路径的关节角和/或关节运动序列。在进一步示例中,图形界面可包含插值滑块,插值滑块可用于确定沿着运动路径确定机器人运动命令的间隔。
在一些实施例中,运动路径的一些或全部可根据输入的几何形状确定。例如,机器人施动者跟随的运动路径(例如,通过空间的系列位置和取向)可从描述所希望输出产品的参数根据数学推导的平面确定。在一些实施例中,用于一个或多个运动路径的一个或多个端点可采用输出产品上的目标平面确定。在进一步示例中,图形界面可给用户提供运动路径的端点且允许用户调整运动路径在端点之间的部分。
在进一步示例中,用户可选择一个或多个工具命令节点,该工具命令节点表示机器人施动者之一为了构造输出产品采取的特定工具动作(例如,打开钳子)。工具命令节点可确定导致特定机器人施动者执行输入的工具动作的工具命令序列。特别是,工具命令节点可允许用户配置用于机器人装置在沿着其确定的运动路径的特定点上采取的特定工具动作序列(例如,拾取棍子,握住棍子,放下棍子,钉牢棍子等),以为了构造输出产品。
在选择性实施例中,命令节点可用于确定机器人施动者的运动命令和工具命令二者。例如,构造路径可根据用于特定机器人施动者的通过图形界面接收的数据确定。构造路径可表示机器人施动者采取的系列机器人操作序列,其可包括单一构造内的运动和工具操作二者。命令节点然后可根据接收的构造路径确定特定机器人施动者执行的机器人操作。其它的配置也是可能的。
在另外的示例中,由运动命令节点和工具命令节点确定的运动命令组和工具命令组可配对以创建步骤节点,该步骤节点包括机器人跟随的运动和工具动作序列以在构造期间完成一些操作(例如,移动到棍子且拾取棍子)。在进一步示例中,出口节点可用于输出步骤到特定的机器人施动者以便导致机器人施动者在物理工作单元内执行移动和工具动作。在一些实施例中,这些步骤节点可为图形界面内的可重复使用的构建块,其允许排序更加复杂的运动序列。在进一步示例中,同步节点可用于导致来自两个或更多步骤节点的指令同时开始,这可允许多个机器人装置并行工作。
II.示例性控制系统
示例性实施例可提供在制造和制作业中使用的多轴机器人系统的运动计划和控制。示例性设计生产系统可允许用户改变描述输出产品的参数,以使得效果传递到由一个或多个机器人装置采用一个或多个工具制造的产品上。在一些实施例中,用户可提供有允许机器人施动者的配置使用不同的工具集以便自动化构建过程的图形界面。在进一步示例中,机器人的运动可抽象化,从而用户不必为了控制构建过程而编程特定的机器人命令(例如,运动命令或工具命令)。因此,用户能够在没有特定类型机器人命令的特定知识的情况下设计构建过程。另外,用户可提供有一个或多个界面,该界面允许在离线运动编程期间和/或在运动期间,改变在制造过程内的特定机器人操作上的控制量。
在进一步示例中,用户可提供有三维(3D)建模图形界面,以允许用户改变描述影响在物理世界中的构建过程的物理工作单元和/或所希望输出产品的一个或多个变量。另外,用户界面可提供抽象方式,以将物理物体数字表示为软件环境内的节点。特别是,用户经验可使用户从工具阵列中选择,该工具阵列能以很多不同方式配置和组合以控制物理工作单元内的不同类型的机器人施动者和硬件部件。
在进一步示例中,物理工作单元可包括(一个或多个)物理工作台(stage),物理构建过程在其上计划或在物理世界上发生。在一些实施例中,物理工作单元可包括各种不同的机器人施动者和其它硬件部件以及在构建过程中可能使用的物理材料。在进一步示例中,物理工作单元可包含工具架和/或自动工具更换装置。在另外的示例中,物理工作单元可包含一个或多个不同类型的传感器。再者,物理工作单元可包括任何数量的不同尺度,包括用于特定构件活动的平台。
应理解,本公开不被限制于本申请中描述的特定实施例,旨在对各方面的说明。这里描述了示例性制造系统的众多部件。也预期仅包含这些部件的某些或这些部件的任何组合的系统。在不脱离所公开系统和方法的精神和范围的情况下,可进行很多的修改和变化。除了这里列举的那些外,本公开范围内的功能上等同的方法和设备对本领域的技术人员来说是显而易见的。
示例性实施例可涉及使用制造控制系统,以在构建过程期间产生机器人手臂的自动编程。图1描述了示例性制造控制系统100。制造控制系统100可为制造环境的一部分,用于控制一个或多个机器人装置使用一个或多个工具构造某些输出产品。制造控制系统100可包括主控制10、输入和反馈系统20、系统装置40和安全系统90。从最基本的角度看,制造控制系统100可在输入系统20通过主控制10给系统装置40中的一个提供指示时起作用。
在一个潜在实施例中,作为制造控制系统100的部分,输入和反馈系统20可包括数据库22、主输入24、软件控制26和独立手动控制28。作为输入和反馈系统20的部分,数据库22可操作以提供一套定时和位置数据以指挥系统装置40内的装置施动者42、44的全部或部分。两个装置施动者42、44示出在图1中,但是任何数量的装置施动者可用在制造控制系统100内。作为选择,数据库22可存储通过与装置施动者42、44的操作和功能相关的手动或单个运动或数据输入产生的数据。数据库22也可存储与装置施动者42、44独立产生的数据,例如采用软件控制26的软件模拟特征创建的数据。
主输入24可以是作用为操作与制造控制系统100执行的特定构建过程相关的所有装置施动者42、44的任何装置。主输入24可通过发送输入控制信号到主控制10而运行。主控制10然后可采用来自主输入24的信号以发送单个控制信号到作为用于特定制造过程的装置施动者42、44操作的多个机器人施动者。在一个潜在实施例中,装置施动者42、44的每个单个装置可在从主输入24接收信号时从主控制10提供控制信号,包括未用于制造过程的特定部分的装置施动者42、44操作的装置保持现状或不动作状态的信号。在选择性实施例中,对于制造过程的特定部分,作为制造控制系统100的一部分连接的装置施动者42、44的一部分可以不从作为运动控制系统100的操作的一部分的主控制10发生任何信号。
在一些实施例中,在通过主控制10给多个装置施动者42、44发送控制信号中,软件控制26可用作主输入24的替代者。作为选择,软件控制26可控制装置施动者42、44当中的单个装置以控制单个装置的特定操作。在其它潜在实施例中,软件控制26可作用为建模代表物理工作单元的虚拟建模环境内的装置施动者42、44的单个装置的行为。在这样的实施例中,软件控制26可包含用于单个装置的软件模型,其允许为装置创建控制信号而不实际发送控制信号到该装置。控制信号然后可存储在软件控制26中、在数据库22中、在作为主控制10一部分的计算机存储器部件内、或者在作为控制为其所产生的装置施动者42、44的装置的一部分的计算机存储器内。在控制信号由软件控制26创建且传播到适当的存储位置后,来自软件控制26或来自主输入24的主控制信号可激活用于单个装置的控制信号以与其它装置施动者42、44协同动作。
在进一步示例中,装置施动者42、44的某些装置可另外具有独立的手动控制28。如上面有关软件控制26所描述,用于单个装置的控制信号可在软件建模中创建。另外或替代,装置可具有独立手动控制28,可用于操作装置施动者42、44的装置。在为整个制造过程创建一套指示时,独立手动控制28可随时间给出记录到数据库22或主控制10的存储装置的输入命令。在采用独立手动控制28创建一套指令期间,独立手动控制28可直接与装置施动者42、44的相关装置通信。作为选择,独立手动控制28可给主控制10发送控制信号,其然后将该信号传送到装置施动者42、44的相关装置。
控制信号然后可从独立手动控制28(例如,分开的用户界面)的信号或从由相关装置的操作创建的测量反馈读数的任何一个创建。另外,尽管在很多情形下,可能优选使独立手动控制28在实时的控制信号创建期间实际控制相关的装置,但是控制信号可替代为在不控制装置的情况下创建。例如,如果输入信号期待特定的时间标记,则独立手动控制28可独立于相关装置而操作,并且可记录该控制操作。因此,来自独立手动控制的用于装置施动者42、44的单个装置施动者的指示可集成在作为制造控制系统100的一部分的构建过程中。
在进一步示例中,主控制10可通过在虚拟世界(例如,软件控制26)和物理世界(例如,包含装置施动者42、44的物理工作单元)之间提供链接而允许构建系统的各部件的实时控制。因此,物理世界内的物理机器人的运动可用于实时驱动对应虚拟机器人的当前位置。类似地,虚拟机器人的运动同样或替代用于驱动物理世界中的物理机器人的当前位置。
在一个潜在实施例中,用于具体装置施动者的单个控制信号与由主控制内的主机时钟提供的共同基础时间一起调入主控制的存储器内的单一文档中。在操作期间,主控制可以以适当的间隔为每个装置施动者提取控制信号且给每个装置施动者提供单个控制信号。在选择性实施例中,主控制可为不同的装置施动者保持分开的单个控制信号文档和定时数据,并且同步与单个控制文档分开的不同的控制信号。
在另一个选择性实施例中,用于装置施动者的一部分的控制数据可由主控制传输到相关单个装置施动者内的存储器。在操作期间,在存储器内具有控制数据的装置施动者可接收表示全局时间线的位置、通过全局时间线的前进速率或二者的同步信号。
网络支持也可实现主控制10到一个或多个系统装置40的通信。在一个潜在实施例中,网络可包括根据IEEE1588操作的EtherCAT网络。在这样的实施例中,在每个从节点利用场总线存储器管理单元可在线处理数据包。每个网络节点可读取给其地址的数据,而电报转发到下一个装置。类似地,在电报通过时可插入输入数据。电报可仅延时几个纳秒。在主机侧,商业可用的标准网络接口卡或板载以太网控制器可用作硬件接口。利用这些接口,通过直接存储器访问传输到主控制的数据可被实现,且不必为了网络访问而占用CPU容量。EtherCAT协议采用以太帧内的官方分配以太类型。该以太类型的使用可允许以太帧内的控制数据直接传输,而不重新定义标准的以太帧。帧可由几个子电报组成,其每一个服务逻辑过程图像的特定存储区域,其大小可达4千兆字节。以太网终端的寻址可为任何顺序,因为数据序列可独立于物理顺序。广播、多址通信和从装置之间的通信是可能的。
以太网帧中的直接传输可用在EtherCAT部件在与主控制器的相同子网中操作且控制软件直接访问以太网控制器的情况下。EtherCAT中的配线灵活性还可通过不同电缆的选择而最大化。灵活和便宜的标准以太网补丁电缆可选地在以太网模式(100BASE-TX)或在E-Bus(LVDS)信号表示法中传输信号。塑料光纤(POF)可用在较长距离的具体应用中。以太网网络的完整宽带,例如不同的光纤和铜缆,可与开关或介质转换器结合使用。快速以太网(100BASE-FX)或E-Bus可根据距离要求选择。
此外,采用EtherCAT的这样的实施例支持与分配时钟的精确对位同步的方法,如IEEE1588标准中所描述。与完全同步通信相反,在同步质量在通信失败的情况下立即变差的情况下,分布对位的时钟与通信系统内的可能的故障相关的延迟具有高度的容差。因此,数据交换可根据“母”和“女”时钟在硬件中完全实现。每个时钟可简单且精确地确定其它时钟的运行时间偏离,因为通信利用逻辑和全双工通信以太网物理环形结构。分布时钟可根据这样的值调整,这意味着抖动明显小于1毫秒的非常精确的网络范围时基是可获得的。
然而,高解析度分布时钟不仅用于同步,而且可能提供关于数据采集的当地时间的精确信息。例如,控制频繁地计算来自顺序测量位置的速率。特别是非常短的采样时间,甚至位移测量中的非常小的暂时抖动也可导致速率上的很大步进变化。在包括EtherCAT的实施例中,可引入EtherCAT扩展数据类型(时间戳数据类型、重复采样数据类型)。当地时间可以以10ns的解析度链接到测量值,这可由以太网提供的大宽带实现。速率计算的精度于是可不再取决于通信系统的抖动。
此外,在网络包括EtherCAT的实施例中,热连接功能实现网络的部分“在线”链接和去耦或再配置。很多应用要求操作期间I/O配置上的变化。EtherCAT系统的协议结构可考虑这些变化的配置。
在进一步示例中,安全系统90可在通过全局时间线建模施动者的运动中提供在检测装置施动者之间的潜在冲突方面的预防安全。此外,通过全局时间线的这种建模可用于为安全系统90设定安全参数。通过全局时间线对装置施动者的位置和速率的建模能识别物理工作单元的区域中的不安全区域和不安全时间。这样的识别可用于设定物体检测器的感测触发器,物体检测器是示例性安全系统的部分。例如,如果某一装置施动者的5英尺内的区域确定为冲突风险,并且另外10英尺的缓冲区域要求在操作中保证安全,则LIDAR检测器可配置为在操作期间检测装置施动者的15英尺区域内的不希望的物体和运动,并且如果检测到物体,则自动创建关机。在选择性实施例中,LIDAR检测器可配置为,如果在危险区域的周边检测到物体,则创建报警信号,并且如果检测到的物体朝着潜在的冲突区域移动,则仅创建关机。
在可替代实施例中,安全系统90可包括施动者的建模和限定安全区域的模型。软件控制中的施动者的运动分析可允许建模的安全检查看到任何的施动者是否与限定的安全区域冲突。在一些实施例中,安全区域可通过物理工作单元的图像采集将固定空间体积输入在软件控制中来限定。安全区域也可根据安全区域中物体的检测的运动、抖动、速率或加速率限定为变量。在可替代实施例中,安全区域可通过从应答器装置数据输入而限定。例如,应答器定位装置可连接到机器人装置施动者,并且安全区域由距应答器的距离限定。应答器可给软件控制提供位置数据,这可更新软件控制内或主机安全控制内的安全区域。在另一个实施例中,固定的安全区域可限定在软件控制内,并且在构建过程的操作前的主机安全控制内的安全PLC前发布。
在某些示例中,系统装置40可另外包括一个或多个传感器46和48,例如激光基、红外或计算机视觉基传感器。主控制10可在从位于物理工作单元内的一个或多个不同类型的传感器中流转数据。例如,来自传感器的数据可反映物理工作单元内部件和/或材料的尺寸或其它特性,以及部件和/或材料当前如何定位在现实世界内。该数据然后可流转出来到环境内的一个或多个机器人装置施动者42和44以控制机器人动作,例如精确地限定拾取点或调整施加到特定材料的压力以避免损坏材料。
在进一步示例中,机器人装置施动者42、44可配置为操作构造中所用的一个或多个工具,例如,心轴、钳子、钻、剪钳或烙铁。在某些示例中,机器人装置施动者42、44可在构建过程期间采用工具架和/或自动工具更换装置50在一个或多个工具之间切换。例如,主控制10可包含编程逻辑以便使来自工具架50的工具的选择和配备自动化。在其它示例中,导致机器人装置施动者42、44之一利用工具架/工具更换装置50更换工具的指示也可或替代来自独立手动控制28。
II.示例性系统装置
现在参见图2A-2C和3A-3C,将描述系统装置40的几个非限制性示例,包括机器人装置施动者42、44和工具架/工具更换装置50。尽管这些图聚焦在机器人手臂的使用上,但是其它类型的装置施动者42、44或系统装置40也可或替代使用在某些示例中。
图2A示出了根据示例性实施例的机器人装置施动者。特别是,机器人装置施动者200可包括机器人手臂202,其末端执行器204可配备有一个或多个不同的工具。机器人手臂202可沿着六个自由度运动,如图2a所示的A1-A6。在一定的示例中,机器人装置施动者200还能沿着一个或多个轴A0运动,例如沿着没有示出的轨道,这允许边到边运动。在一定的实施例中,可给出指令以定位末端执行器204在特定位置,并且机器人手臂204沿着A1-A6的位置和/或机器人装置施动者200沿着一个或多个轴A0的位置可由相关制造控制系统的过程计算。在选择性实施例中,机器人装置施动者200和/或机器人手臂202的位置控制可要求分开、单个设定和控制指令。在一些示例中,同样或替代地可以使用具有较少自由度操作的机器人装置。
图2B示出了配备有钳子206的机器人装置施动者200。特别是,钳子206可设置在机器人手臂202的末端执行器204。钳子206可用于构建过程期间的各种功能,例如拾取物体或部件,移动物体或部件、保持物体或部件,和/或放置物体或部件。可采用各种不同类型的钳子,例如真空钳子、翻斗钳子或被动定心钳子。另外,可采用具有不同尺寸或其它特性的钳子,以能与物理工作单元内的不同类型的机器人施动者一致。
图2C示出了配备有心轴208的机器人装置施动者200。心轴208可包括在构建过程内各种功能所用的旋转轴,各种功能例如为切割材料、成型材料、研磨或布线。心轴208可为各种不同的类型,例如,研磨心轴、电心轴、低速心轴或高速心轴。另外,可采用具有不同尺寸或其它特性的心轴,这取决于物理工作单元内的不同类型的机器人施动者。在一些实施例中,其它类型的工具也可由机器人装置施动者使用或由其取代。
图3A示出了根据示例性实施例的工具架。工具架可包含很多的不同制造工具(例如,心轴或钳子),并且可与自动工具更换装置一起使用以便给机器人装置配备特定工具以在物理工作单元内使用。在一些实施例中,工具架可包含沿着轨道300设置的几个工具架模块302、304、306、308,工具架模块302、304、306、308的每一个包含一个或多个特定工具。在一些实施例中,工具架模块302、304、306、308的一个或多个可沿着轨道300移动。在进一步示例中,工具架模块可与从属模块连接,以允许特定工具从工具架模块选择且然后配备在机器人装置上。例如,参见图3A,工具架模块302可与从属模块310交接,并且工具架模块306可与从属模块312交接。
为了便利工具更换,工具架模块可配备有内置安全传感器以最小化意外的工具取出和放下命令的风险。另外,工具更换从属模块可包括IO断接箱子以简化通过IO触发器信号来控制工具。在一些实施例中,IO断接箱子可与时间控制系统连接,时间控制系统例如为关于图1描述的主控制10,其控制物理工作单元内的机器人装置。主控制10可用于指示特定机器人装置的工具更换,这可在运行期间采用软件控制26和/或由独立手动控制28事先配置。
图3B示出了根据示例性实施例的给机器人装置配备工具的工具架的使用。特别是,第一机器人装置314移动其末端执行器316到与工具架的工具架模块302交接的从属模块310之上的位置。例如,机器人装置314可通常配备有钳子318,并且可控制为移动到工具架以便将钳子318放置在工具架中且配备由工具架模块302保持的不同工具。另外,第二机器人装置320可将其末端执行器322定位在从属模块312上以便配备已经由从属模块312保持的心轴324。在配备心轴324后,机器人装置320然后可进行为移动远离工具架且采用心轴324完成操作。工具架模块可定位在工具架上,从而多个机器人装置可同时配备或更换工具。在一些实施例中,附加的支架模块304、308可包含另外的工具,它们可由一个或多个机器人装置配备。
在进一步示例中,可采用来自控制系统,例如关于图1描述的主控制10的指令以便指示机器人装置如何在运行期间配备工具(例如,确定工具在工具架内何处且实时解决末端执行器问题,以便定位末端执行器在从属模块之上而使机器人装置拾取工具)。在另外的示例中,驱动系统(例如,用于供电驱动心轴的VFD)可安装在物理工作单元内的分开的固定位置,以便在工具更换装置系统上供电。
IV.示例性图形界面
图4A示出了根据示例性实施例的包含3D模型的图形界面。如所示,图形界面400可包括输入窗口402,输入窗口402可允许用户输入与输出产品406相关的参数,输出产品406例如为采用单个棍子构建的墙。输入窗口402可允许用户输入参数404,参数404可涉及输出产品的各方面,包括尺寸、密度、曲率特性、其它几何特性、所用材料和/或其它数值输入。该输入可用于得出用于输出产品406的参数方案。另外,输入可用于在图形界面400的显示窗口408内产生输出产品406的草图。
图4B示出了根据示例性实施例的基于不同用户输入参数的三个不同输出产品。图形界面440的第一示意图可包含输入窗口402和显示窗口408。输入窗口402可允许用户输入与所希望输出产品相关的参数404,包括产品尺寸、密度、曲线偏移、曲率量或类型和/或其它几何或数值输入。根据输入参数404,输出产品406的几何表示可显示在显示窗口408内。在一些实施例中,用户可修改单个参数404以便改变输出产品406的各方面。
例如,图形界面450的第二示意图根据输入窗口402内的不同输入参数404在显示窗口408内示出了不同的输出产品406。在该示例中,输出产品406的尺寸和/或生产输出产品406所用的材料可修改为生产具有更大高度的输出产品406,如第二示意图450所示。此外,第三示意图460根据输入窗口402内的不同输入参数404在显示窗口408内示出了另一个不同的输出产品406。例如,输出产品的与曲率相关的参数可由用户修改,以便生产另一个不同的输出产品406,如第三示意图460所示。
图5示出了根据示例性实施例的用于建立机器人构建过程的图形界面。例如,图形界面可为如上面关于图1描述的软件控制26的部分。如所示,图形界面500可包含允许用户控制构建过程各方面的输入窗口502,包括构造期间所用的与机器人施动者、工具、运动路径和工具操作相关的节点。图形界面500可另外包含显示窗口510,显示窗口510包含物理工作单元的3D几何图,包括诸如机器人施动者、工具、材料和/或构造的输出产品的部件。在示例性实施例中,输入窗口502可提供视觉编程界面或可允许用户输入参数的不同类型的界面,输入的参数描述所希望的输出产品和/或关于在构建过程中使用的施动者和工具的信息。采用输入窗口502采集的输入数据可用于控制显示窗口510内显示的物理工作单元的几何形状和/或其它方面。
在一个示例中,用户可采用输入窗口502输入控制构建过程的参数,输入窗口502包含视觉编程界面,例如采用视觉编程语言构建的界面,例如称为Grasshopper的商业软件程序。界面可允许用户包括一个或多个节点504,节点504可表示构建过程的部件,例如表示机器人的不同类型和/或配置的机器人节点、表示工具的不同类型和/或配置的工具节点、表示可用IO的类型的IO节点、表示机器人施动者运动的可能轨道的轨道节点、以及用于确定机器人施动者的运动命令和其它类型命令的命令节点。
如图5的窗口502内所示,单个节点504可采用连接器506连接在一起。两个节点之间的连接器506可表示第一节点的输出用作第二节点的输入。例如,单一机器人节点可作为输入信息从几个不同的部件节点接收,几个不同的部件节点例如为表示机器人类型、机器人所用工具类型、机器人可沿其行进的轨道等节点。
在进一步示例中,图5的窗口502可包含时间线508。时间线508可具有表示当前时间戳(例如,图中所示的83)的指针,时间戳可表示制造过程的特定时间点。另外,时间线508可包含按钮以特定速率播放构建过程或者快速前进或倒回构建过程。时间线508可用于控制在显示窗口510内显示物理工作单元的几何形状和/或其它方面的时间点。此外,时间线508可用于表示用于模拟构建过程或用于在软件内可视化物理世界内发生的实际物理构建过程任何一个目的的特定时间点。
如图5所示,用户界面可另外包含显示窗口510,显示窗口510可根据来自输入窗口502的输入显示物理工作单元的几何形状和/或其它方面。例如,除了别的之外,显示窗口510可包括与机器人施动者、工具、构建材料、机器人运动路径和输出产品相关的几何形状。在一个示例中,显示窗口510可采用诸如Rhinoceros的商业3D建模软件设计,如图5所示。显示窗口510可显示特定物理工作单元512的几何形状。显示窗口510可包括选项以改变物理工作单元512的视角和/或缩小或放大物理工作单元512的图。
物理工作单元512可包括一个或多个机器人施动者514。机器人施动者514可为如上面有关图1描述的装置施动者42和/或44和/或如有关图2A-2C描述的机器人装置200。对不同类型和/或来自不同制造者的多轴机器人系统的很多不同类型可提供支持。在一些实施例中,机器人施动者514的一个或多个可为传统的六轴机器人。在另外的示例中,另外或替代,可配置为沿着更少或更多轴操作的其它类型的机器人可包括在物理工作单元512内使用。
在进一步示例中,机器人施动者可在软件界面内表示为机器人节点,机器人节点可与很多可互换的部件节点放在一起,包括表示不同商业机器人的制造和型号的机器人节点、表示可用于构造的不同类型物理工具(诸如钳子、心轴)的工具节点、表示可用于与机器人施动者通信的不同类型IO的IO节点、以及表示机器人可沿其移动的不同类型轴的轨道节点。在一些实施例中,单个工具和/或工具参数(例如手腕安装偏移或工具中点)也可抽象在可由用户装配在混合工具中的部件中。
显示窗口510可另外包含表示单个机器人施动者514的运动路径的一个或多个运动路径516。运动路径516可表示在构建过程期间由机器人施动者514采取的路径,例如拾取材料且将其连接正构造的物体。在一些实施例中,运动路径516还可表示将发生特定输入或输出动作的点。例如,运动路径516上的“x”可表示机器人施动者514使用诸如钳子的工具拾取特定类型材料的点。在进一步示例中,运动路径516可与来自输入窗口502的时间线508同步。因此,在一些实施例中,机器人施动者514可沿着运动路径516进行移动以根据由时间线508表示的时间戳定位在时间上的特定点。
物理工作单元512可另外包含在构建过程期间使用的一个或多个材料518。在该简化的示例中,材料518由用于构建墙520的辊子组成。可确定机器人施动者514要采取的运动路径516以便将单个棍子518移动到墙520上。在其它示例中,各种不同类型的材料,包括诸如胶水的连接材料,可由机器人施动者同时使用来构建更加复杂的输出产品。
在进一步示例中,物理工作单元512也可包含可以在构建过程中使用的图5中没有示出的其它部件。例如,可包括一个或多个传感器以感测有关物理工作单元中机器人施动者和/或材料的信息,以便影响机器人施动者采取的运动路径。例如,扭矩传感器可用于确定是否特定的料件可能在应力下破坏。控制系统,例如上面关于图1描述的主控制10,可用于与物理工作单元内的机器人施动者和/或传感器交接。
在一些实施例中,显示窗口510可给用户提供物理工作单元的多个3D视图,并且可允许用户改变特定视图的取向和/或缩放。在其它示例中,显示窗口510也可或替代呈现物理工作单元的其它类型的表达,例如数值表达。
V.示例性系统工作流
在一些实施例中,输入窗口可另外包含工具栏,工具栏包含控制构建过程各方面的数字工具。图6A示出了根据示例性实施例的用于图形界面的工具栏。工具栏602可配备有各种不同的工具箱604,工具箱604可用于在图形界面的输入窗口内设计或控制构建过程。工具箱604可提供有数字工具,例如,涉及产生机器人运动路径、不同平面或轴之间的变换、描述机器人施动者、描述物理构建工具、排序单个机器人运动、从机器人施动者输入和/或输出到机器人施动者的数据通信、虚拟软件环境和物理工作单元之间的映射、和/或实现构建过程的可视化。
图6B示出了根据示例性实施例的工具栏内数字工具的集合。如所示,数字工具可分成很多不同的种类。数字工具然后可结合使用以设计构建过程,如图6C所示。图6C是根据示例性实施例的示例性工作流的方块图。特别是,图6C示出了涉及很多数字工具的工作流,数字工具在如图6A和图6B所示的工具栏内或者由图形界面内的其它手段可访问。如所示,数字工具可分成很多不同的种类。来自很多不同种类的一个或多个数字工具可由用户选择以影响构建过程的特定方面,包括过程中可用的在物理工作单元内的机器人施动者和其它部件。
在一个示例中,工具栏可包括路径工具608,涉及产生可用于确定机器人施动者的运动路径的目标平面。在一些实施例中,路径工具608可看作描述所希望输出产品的输入几何图形606,例如由参数建模软件Grasshopper产生的几何图形。例如,输出产品的几何图形606可根据输入窗口内规定输出几何图形各方面的用户输入而产生,包括尺寸、密度、曲率和材料等。路径工具608然后可根据输出产品的几何图形606确定用于机器人运动路径的目标平面。
在一些实施例中,输出产品的几何图形606可包括输出产品内要包括的特定的样条、表面和/或其它几何结构。路径工具608然后可提供快捷键,用于产生在格式上与输出产品各方面相关的目标平面,其可转换成特定的机器人轨迹,该轨迹可用于构造包含目标平面的输出产品。例如,除了工具定义和材料特性外,用于单个机器人施动者的运动路径然后作为目标平面的函数得出。
在进一步示例中,工具栏可包括涉及不同轴坐标系(axis frame)或偏移之间转换的转换工具610,如图6B和图6C所示。例如,转换工具610可提供在特定机器人的基础或关节以及包含输出产品的阶段处的坐标系(coordinate frame)之间的转换。在其它示例中,转换工具610也可另外允许在不同基准坐标系(frame of reference)内操作的多个机器人之间的转换。如图6C所示,转换可在确定单个机器人施动者的运动顺序之前和/或之后进行。
在进一步示例中,工具栏可包括表示物理工作单元各方面,例如机器人施动者、工具、IO和/或轴的阶段工具612。在一些实施例中,阶段工具612也可提供软件中的虚拟机器人和物理工作单元内的物理机器人施动者之间的映射,如图6B和图6C所示。阶段工具612可由引擎节点624使用以根据来自指令工具622的输出发送机器人施动者采用的轨迹到控制系统628。在一些实施例中,阶段节点612可配置以指定特定物理工作单元内的当前可用的机器人装置和/或工具。控制系统626然后可根据来自阶段工具612的信息命令物理世界630内的机器人施动者和/或其它部件。
在一些实施例中,阶段工具612可采取来自一个或多个机器人节点614的表示物理工作单元内单个机器人施动者的属性的输入,如图6B和图6C所示。机器人节点614可用于限定机器人施动者的属性,例如传统的六轴机器人或其它类型的机器人。例如,机器人属性可包括机器人的连杆长度和/或机器人的臂长、机器人的偏移量和/或机器人的关节、和/或机器人可处理的机器人关节运动或最大扭矩上的限制。
在另外的示例中,阶段工具612也可采取来自用于限定物理构建工具和/或用于保持工具的工具架的属性的一个或多个工具节点616的输入,如图6B和图6C所示。例如,诸如钳子或心轴的构建工具的属性可由工具节点规定,可用于配置自动工具更换装置,从而机器人施动者可容易在工具之间切换。在一些实施例中,机器人施动者可采用存储工具且便于工具更换过程的工具架在工具之间转换,如上面有关图3A和3B所描述。
在进一步示例中,工具节点616可包括用于组合加工的支持,可允许部件工具装配成组合工具。特别是,单个的构造参数(例如,手腕安装偏移量或工具中点)可抽象成装配在组合工具中的部件。例如,多个工具可聚集在一个组合工具中,具有多个工具取向和/或中点,可根据在特定时间需要哪个工具的部件而使用。例如,具有自动工具更换装置的组合工具可由主机界面加多个不同附属装置表示,附属装置例如为心轴、真空阵列或钳子。在另一个示例中,组合工具可包括一系列不同的工具,例如钳子加张紧器加辊。通过将加工抽象成限定工具取向和/或中心点的参数,结合多个工具和/或结合工具的其它示例也是可能的。
在进一步示例中,阶段工具612也可采取来自一个或多个IO节点618的输入。IO节点618可描述有关机器人施动者可采取的数字和/或模拟输入和/或输出动作的信息,例如动作的类型(例如,夹紧材料)和与动作相关的属性(例如,可夹紧的材料宽度)。在另外的示例中,机器人属性可包括一个或多个轴节点620。轴节点620可描述机器人沿其能行进的一个或多个线性和/或旋转轴,包括机器人沿着轴运动上的限制。
在另外的示例中,工具栏可包括命令工具622,如图6B和6C所示。命令工具622可用于确定机器人命令以导致一个或多个机器人施动者执行特定操作,其可包括点到点运动、沿着外部轴的运动和/或输入或输出事件。例如,命令工具622之一可用于指挥沿着六个自由度之一的特定机器人运动、沿着外部轴的特定机器人运动或特定的输入或输出事件,例如以特定的方式给材料施加胶水。另外,指令工具622可包括产生步骤节点,该步骤节点指令机器人施动者采取特定序列运动步骤且执行一个或多个工具动作。在进一步示例中,对于单一时间帧内一起工作的多个机器人施动者而言,可产生调整的运动序列。
在一些实施例中,步骤节点,或运动和动作的序列可抽象成可重复用的子程序。例如,子程序可通过连接视觉构建方块来限定,可表示特定的运动命令或运动参数。子程序然后可用于使一个或多个机器人在单一构建过程内多次执行相同的动作序列。在一些实施例中,步骤可在多个机器人上同步,从而多个机器人可同时在共享环境中工作。示例性系统也可包括引擎节点624,其可分配步骤的每一个到阶段内的特定机器人装置。
在进一步示例中,用户可提供有在图形界面内的各步骤之间切换的功能性。例如,如关于图5所示和所述的时间线508也可包括在时间线上的步骤之间跳过的按钮。在一些实施例中,对于特别步骤,用户可插入数字书签。例如,通过图形界面,可从“取棍”步骤开始跳到“钉棍”步骤开始。时间线内的这些书签步骤可通过在步骤节点输入运动命令、IO命令和/或其它命令匹配用户创作的步骤。
另外,引擎节点624可与控制系统626通信。控制系统626可为计算装置,该计算装置能够与物理世界630中的物理工作单元内的机器人施动者和/或诸如传感器的其它部件无线通信。特别是,控制系统626可提供对来自所有机器人施动者和装置的实时数据流的访问,这可允许特定时间点的物理工作单元上的精确控制。控制系统也可或替代通过有线连接或其它类型通信通道与施动者或装置的某些或全部通信,包括前述的网络协议。
在一些实施例中,控制系统可另外包含诸如触摸屏界面的物理控制界面,可允许用户与控制系统相互作用来观看活数据或实时修改机器人动作。例如,包含有关物理工作单元信息的阶段文档,包括设定在控制系统626上的施动者、工具、材料和环境,可通过编程界面存取。观看物理世界630内构建过程的用户然后可在完成前进行过程修改。
在另外的示例中,工具栏可包括数据输入/输出工具628,其可允许控制系统626发送数据到确定机器人运动路径的虚拟软件环境和/或从确定机器人运动路径的虚拟软件环境接收数据,如图6B和图6C所示。因此,来自控制系统626的遥测技术可用于创建在软件中的虚拟世界和物理世界630之间的活链接(live link)。例如,数据输入/输出工具628可用于处理来自控制系统626的与物理工作单元内的机器人施动者和/或工作单元中的其它部件(如传感器)相关的信息。根据这样有关物理世界630的信息,软件内的虚拟机器人可利用来自物理世界630的实时反馈更新(例如,机器人施动者的运动路径可根据实时传感器数据确定或修改)。
另外,例如,数据输入/输出工具628可用于发送数据返回到控制系统626,从而控制系统626可完成物理世界630内的特定输入或输出动作。例如,控制系统626可根据来自软件界面内的一个或多个数字工具的信息指令机器人施动者如何使用物理世界630中的工具(例如,如何控制心轴)。
在进一步示例中,引擎节点624包括可视化仪或模拟工具,其可允许用户通过软件中的用户界面模拟构建过程,如图6B何图6C所示。在一些实施例中,可视化工具可将构建过程显示为显示物理工作单元的屏幕上绘制的几何图形。在其它示例中,可视化工具也可或替代将构建过程显示为表示特定数据值的曲线。另外,在进一步示例中,随着构建过程在物理世界630内实际发生,可视化工具也可用于观察软件中的构建过程。在一些实施例中,可视化工具可另外提供特定构建过程内的潜在冲突的图形表征,例如在机器人的运动路径延伸在其可能运动的范围外时或者两个机器人施动者根据当前限定的轨迹和/或步骤序列可能发生冲突时。
在进一步示例中,可视化仪部件可允许用户事先和/或在构建发生时看到构建过程的模拟。在一些实施例中,用户可采用可视化仪部件脱机看到机器人的运动路径以及一些列连续步骤上的输入/输出事件作为观察窗口内绘制的几何图形。在其它示例中,除了或替代可视几何图形,用户可观察模拟回放,作为以曲线表示的物理工作单元的机器人施动者、材料和/或其它方面相关的数字数据流。在进一步示例中,用户也可看到单个事件步骤的特定数据点,例如机器人关节值、轴线值或输入/输出值。
在一些示例性系统中,用户也可采用可视化仪部件实时观察物理世界中发生的构建过程。该系统可与从传感器接收实时数据流的控制系统连接,传感器可用于在输出产品构建时扫描构造中所用的物理工作单元、单个机器人施动者和/或部分。因此,可视化仪的用户界面可实时更新以反映现实世界的环境内物体和施动者的尺寸、特性和/或位置。
VI.示例性方法
提供了根据示例性实施例的方法700,用于导致一个或多个机器人施动者构造输出产品。在一些实施例中,方法700可由控制系统,例如参考图1描述的制造控制系统100、主控制10和/或软件控制26执行。控制系统可采用前面描述的任何网络协议或通信方法与机器人施动者通信。在另外的示例中,方法700的部分或全部可由相对于图4A-4B、5和6A-6C所述和所示的任何图形界面或系统执行。在进一步示例中,方法700的部分或全部可由一个或多个机器人装置执行,例如参考图1描述的系统装置40内的装置施动者42、44或参考图2A-2C示出和描述的装置施动者200。另外,尽管描述了具有一定数量和类型的系统装置的示例,各种选择性实施例也可包括任何数量和类型的机器人装置。
此外,应注意,结合这里描述的流程描述的功能性可实施为具体的功能和/或配置通常功能的硬件模块、为了实现具体逻辑功能、确定和/或参考图7所示流程描述的步骤由处理器执行的程序代码的部分。如果使用,程序代码可存储在任何类型的计算机可读介质上,例如,包括磁盘或硬盘驱动器的存储装置。
另外,图7所示流程图的每个方块可表示被布线以在过程中执行具体逻辑功能的电路。除非具体指出,图7所示的流程图中的功能可以不同于所示或所讨论的顺序执行,包括基本上同时执行分开描述的功能或者甚至与在一些实施例中的顺序相反,取决于所涉及的功能性,只要保持所描述方法的总体功能性。
如图7的方块702所示,方法700可最初涉及导致图形界面显示在显示装置上。特别是,可提供图形界面,以允许一个或多个机器人施动者的配置在构建过程期间使用。在一些实施例中,图形界面可包括含有物理工作单元的3D模型的显示窗口,如有关图4A-4B所述和所示的。在进一步示例中,图形界面可另外包括输入窗口,其包含如有关图5描述的可配置的节点基界面。图形界面的其它类型或变化也是可采用的。例如,在一些实施例中,显示窗口和输入窗口可结合成单一图形界面和/或分成多个附加子窗口。在进一步示例中,图形界面可显示在PC工作站、触摸表面装置上或在多个其它不同类型的计算装置上。
如图7的方块704所示,方法700可另外涉及接收输入数据,该输入数据对应于与用图形界面的一个或多个交互作用。用户可以以很多不同的方式与图形界面相互作用。特别是,用户可提供有一个或多个菜单或工具栏,其允许配置物理工作单元和/或自动构建过程的各方面。在一些实施例中,用户可选择且定位数据节点,该数字节点可在显示器上表示为形状、图标、文字、模块或其它图形表征。在进一步示例中,用户可另外能够连接两个或更多节点在一起(例如,通过采用定点装置或触摸表面界面),以便表示节点之间的逻辑关系(例如,一个节点的输出可用作第二个节点的输入)。在其它示例中,数据可以以其它方式通过图形界面接收。例如,用户也能够打字或其它方式键入与构建过程的一定方面相关的数值输入或其它类型的输入。在另外的示例中,用户能够与3D模拟显示器中的几何图形相互作用(例如,通过在建模环境中的两个位置之间绘制直线)。
在进一步示例中,所接收的输入数据可指示至少一个运动路径和至少一个工具动作序列,以在至少一个运动路径内的一个或多个点上执行。特别是,运动路径可指示机器人施动者的末端执行器在物理工作单元内跟随的运动路径。在运动路径的一个或多个上,可规定特定的工具操作,例如拾取物体,放置物体,使用钻或给表面施加胶水。示例性运动路径和工具动作序列在上面关于图5进行了示出和描述。
在一些实施例中,运动路径可由帧的序列或在笛卡尔空间中具有六个自由度的平面限定。例如,帧的序列可表示机器人施动者的末端执行器跟随的路径以便从物理工作单元内的一点达到另一点(例如,拾取棍子且然后移动以将棍子放在墙上)。在一些实施例中,用户可通过从3D显示窗口中的一点到第二点绘制直线而通过图形界面输入运动路径,所述第一点和第二点表示物理工作单元内的两个点。运动路径也可在某些示例中以其它方式输入,例如通过输入表示物理工作单元内的特定笛卡尔坐标的数值数据。
在进一步示例中,用户可提供有路径工具,如有关图6A-6C所描述,以便帮助用户通过图形界面输入运动路径。特别是,用户可首先确定所希望输出产品的模型,如关于图4A-4B所描述。根据为了描述输出产品所输入的参数,可产生数学模型,以便将输出产品的几何形状表示为样条或表面。可提供路径工具,其根据数学模型确定输出产品上的目标帧。在一些实施例中,目标帧然后可被使用,以帮助用户确定机器人施动者跟随的运动路径。例如,目标帧可表示特定的帧(例如,位置和取向),其中机器人的末端执行器可定位成将棍子放置在棍子墙上的特定点。在一些实施例中,用户可在特定的目标帧之间操作运动路径。
在另外的示例中,所接收的输入数据还可表示节点配置数据。如前面所描述,用户可选择且配置各种数字节点以配置制造过程。节点配置数据可表示如何在显示窗口内表示特定节点。在进一步示例中,节点配置数据可根据菜单选择、来自定点装置的命令(例如,节点可拖起且放下)和/或通过用户交互作用的其它手段接收。
如图7的方块706所示,方法700还可涉及根据节点配置数据产生多个数字节点。特别是,根据通过图形界面接收的输入,数字节点的配置可被确定且显示在显示窗口内。图8A-8C共同地示出了根据示例性实施例的数字节点的示例性配置。图8A-8C和其他地方所示的简化示例意在演示到目的,而不应看作限制。特别是,除了这里具体示出外的其它节点类型和配置也可或取代地使用在某些示例中。
根据节点配置数据,可产生至少一个机器人节点。机器人节点可包括前面关于图6A-6C描述的任何属性。示例性机器人节点示出在图8A中。特别是,机器人节点806可产生且显示在输入窗口802内。机器人节点806可用于限定机器人施动者的属性,例如传统的六轴机器人或其它类型的机器人。例如,机器人节点806可描述特定机器人制造和模型的运动系统特点,包括机器人属性,例如机器人的连杆长度和/或机器人的臂长、机器人的偏移和/或机器人的关节、和/或机器人关节可处理的机器人关节运动或最大扭矩。在进一步示例中,机器人节点806也可包括与机器人施动者可采取的工具动作或其它类型动作相关的信息,例如动作类型(例如,夹紧材料)和与动作相关的属性(例如,可夹紧的材料宽度)。
在一些实施例中,一个或多个机器人节点可连接到阶段节点804,其可描述可用的机器人施动者以及物理工作单元的其它方面,包括工具、IO和/或轴。采用阶段节点804,工具可在机器人施动者之间共享和/或在机器人操作序列的不同点上在特定的机器人施动者上交换。在一些实施例中,数字机器人施动者还可包括通过阶段节点804来自一个或多个部件节点的输入。在一个示例中,部件节点可为工具节点808,其可表示一个或多个工具(例如,心轴或握枪),所述工具可由机器人节点806表示的机器人装置操作。在进一步示例中,部件节点可为IO节点810,其可表示一个或多个类型的IO(例如,VFD开关或螺线管触发器),可由机器人节点806表示的机器人装置操作。在又一个示例中,另一个部件节点可为轴节点812,其可包括机器人可沿其行进的一个或多个线性和/或旋转轴,包括机器人沿着轴运动上的限制。机器人节点和其它数字部件节点的其它配置也是可能的。
在一些实施例中,机器人节点和/或一个或多个部件节点可采用下拉菜单配置,如图8B所示。特别是,下拉菜单814可包含用于特定类型机器人、运动轴、IO类型和/或工具的事先配置选项(例如,与工业机器人的特定类型一致)。在一些实施例中,机器人节点806、工具节点808、IO节点810和/或轴节点812的一个或多个可采用下拉菜单814选择或配置。在其它示例中,可设计具有机器人类型、工具、IO和/或轴定制布置的定制机器人,然后存储用于后面使用。
在进一步示例中,机器人装置的3D模型可对应于特定的数字机器人施动者显示。例如,如图8C所示,数字机器人施动者可通过对应于机器人节点806、工具节点808、IO节点810和轴节点812的阶段节点804在输入窗口802内产生。在分开的显示窗口814内,可显示对应于数字机器人施动者的机器人装置816的3D模型。机器人装置816的参数可根据机器人节点806、工具节点808、IO节点810和/或轨道节点812的配置确定。特别是,机器人装置816的类型可根据机器人节点806确定。另外,心轴818可根据工具节点808示出为机器人装置816上的末端执行器安装工具。因此,采用显示窗口814,用户可观察到所配置的机器人施动者在物理工作单元内什么样。
在另外的示例中,根据节点配置数据产生的数字节点可包括至少一个运动命令节点。运动命令节点可确定用于特定机器人施动者的机器人运动命令序列,以便导致机器人施动者沿着接收的运动路径移动。在一些实施例中,运动命令节点可看作输入机器人节点和运动路径。运动命令节点然后可确定对应于机器人节点的用于机器人装置的运动命令,以便导致机器人装置(或机器人装置的末端执行器)沿着运动路径移动。
在一些实施例中,用户可规定在笛卡尔空间中的运动路径(例如,物理工作单元中XYZ坐标)。例如,用户可在显示窗口内划线表示机器人装置跟随的路径。在进一步示例中,用户可规定机器人装置的末端执行器在物理工作单元内移动到的位置(例如,通过规定XYZ坐标)以及使用诸如钳子的末端执行器安装工具的旋转角(例如,通过规定欧拉角)。在一些实施例中,可帮助用户根据所产生的数学模型确定运动路径,如前所述。
采用运动路径,运动命令节点可通过规定在机器人关节的每个上的关节角和/或关节角上的改变确定如何命令特定的机器人。例如,典型的工业机器人具有六个关节:手腕上用于旋转的三个以及用于在笛卡尔空间定位手腕的肩部和肘部的三个。因为机器人具有六个关节,所以它能够在一些限制下定位末端执行器安装工具在任意六个自由度笛卡尔姿势(XYZ位置和3个欧拉角)。从笛卡尔空间到关节角的转换称为逆运动(IK)。在一些实施例中,运动命令节点可称为IK指令节点,其解决逆运动问题,以便确定用于特定机器人的运动命令。在进一步示例中,运动命令节点可考虑在确定机器人运动命令中机器人装置的不同类型运动的限制和范围。
在进一步示例中,运动命令节点或IK命令节点可从逆运动问题的很多不同可能的解决方案中选择。在一些实施例中,IK命令节点可通过评估先前IK解决方案的历史以发现提供所希望结果的解决方案来选择解决方案。在另外的示例中,用户可选择性地规定解决方案的特定方面,例如是否机器人肘部应上或下定位或者机器人手腕应上或下定位。
在又一个示例中,IK指令节点可允许用户选择是否所确定的机器人运动为点对点或线性的。点对点运动可允许机器人在内插点之间移动中的某些自由度,同时最大化速率和/或平顺度。因此,通过允许机器人在内插点之间旋转其关节,点对点运动可为曲线的。相反,可采用线性运动迫使机器人在内插点之间直线移动。在进一步示例中,可包括分开的参数以导致控制系统在运动之间连续插入。
在另外的示例中,用户能够通过图形界面规定对于给定运动路径,运动命令节点确定机器人运动命令的间隔。通过选择较小的间隔,可实现机器人运动上的更大的精度,但是系统资源的成本更高。因此,在一些实施例中,对于构建过程内更加关键的功能可选择较小的间隔。在一定的示例中,可采用插值滑块选择间隔,使得基于图形界面内滑块上的图形标记的位置,改变用于一个或多个运动命令节点的间隔。在某些示例中,间隔也可以以其它方式选择。
在进一步示例中,至少一个工具命令节点可根据节点配置数据产生。特别是,工具命令节点可确定工具命令序列,以便导致机器人施动者根据接收的工具动作序列操作工具。例如,用户可通过图形界面规定运动路径内要执行一定工具操作的一个或多个点(例如,在一个点拾取棍子且在第二点放置棍子)。工具命令节点然后可确定用于特定机器人施动者的工具命令,以便使机器人施动者在规定的位置执行这些工具操作。
在一些实施例中,工具命令节点可考虑描述机器人施动者的参数,以便确定机器人施动者跟随的特定命令。例如,机器人施动者可配置为接收一定类型的输入信号,以便激活末端执行器安装工具。工具命令节点可确定一系列数字或模拟信号,该信号将导致特定机器人施动者以特定方式在运动路径内的特定点激活特定的物理工具。在一些实施例中,描述工具操作一个方面的IO值(例如,心轴的频率)可规定在工具动作序列内。在这样的示例中,工具命令节点可确定工具命令,其导致特定机器人施动者用规定的IO值操作工具。例如,工具命令节点可确定模拟信号以命令机器人施动者在运动路径的不同点以特定规定频率操作心轴。在另一个示例中,工具命令节点可确定数字信号以命令机器人施动者在运动路径内的不同点打开和关闭钳子。根据物理工作单元内所用的机器人施动者、工具和IO的类型,也可由工具命令节点确定在特定点激活物理工具的其它类型的工具命令或信号。
如图7的方块708所示,方法700也可涉及为至少一个机器人施动者提供指令以构造输出产品。特别是,机器人施动者可被控制以根据由运动命令节点确定的机器人运动命令序列移动。另外,机器人施动者可被控制以根据由工具命令节点确定的工具命令序列在机器人运动命令序列内的特定点执行工具命令。在一些实施例中,可提供步骤定序器,以便在给机器人施动者输出指令以在物理工作单元内执行前,一起排序运动命令和工具命令。
图9是根据示例性实施例的示例性节点配置的方块图。特别是,图9示出了步骤节点的产生,以便在给机器人施动者输出指令前,一起排序机器人运动命令和工具命令。可首先确定描述所希望输出产品的输出几何图形902。如前所述,用户然后可根据输出的几何图形902确定机器人施动者在构造输出产品中使用的运动路径和工具动作904。机器人施动者,包括机器人装置、工具、IO或轨道的任何相对参数,可采用机器人节点906、工具节点908、IO节点910和轴节点912描述。这些部件节点的每一个可输入在阶段节点914中,其可描述特定物理工作单元内的所有可用的部件。
运动路径和工具动作904可与机器人节点906和工具节点908一起输入到运动命令节点916中。如前所述,运动命令节点916可确定机器人运动命令序列,以便导致由机器人节点906和工具节点908描述的机器人装置通过输入的运动路径904移动其末端执行器安装的工具。另外,运动路径和工具动作904以及IO节点910可输入在工具命令节点或IO命令节点918中。IO命令节点918可根据输入的运动路径和工具动作904确定IO触发器序列,以导致由机器人节点906描述的机器人装置在沿着工具运动路径的特定点处执行工具操作。在进一步示例中,轴节点912可输入在轴命令节点920中,以便确定轴命令序列,以导致由机器人节点906描述的机器人装置沿着由轴节点912描述的物理工作单元内的轴移动。应注意,在一些实施例中,一个或多个机器人装置在物理工作单元内可为静止的。
在另外的示例中,来自运动命令节点916、IO命令节点918和轴命令节点920的输出可结合在步骤节点922内。在一些实施例中,步骤节点922可交错机器人运动命令和工具命令序列,以便创建定义物理工作单元内构建过程步骤的步骤。例如,步骤可表示对应于机器人节点906的机器人装置如何执行建模过程内的特定功能,例如移动到棍子堆、拾取一个棍子、移动到正构建的棍子墙、以及放置棍子在棍子墙上。
在进一步示例中,复制步骤节点928可产生在图形界面内。例如,用户能够拷贝步骤节点922,以便导致机器人装置重复特定的操作,或者导致不同的机器人装置执行操作。因此,诸如步骤节点922的步骤节点可作用为图形界面内的可重复使用的构建块,其允许用户设计和配置更加复杂的运动序列,在输出到用于执行的机器人装置前有可能一起排序很多不同的步骤。
在进一步示例中,来自步骤节点922和复制步骤节点928的输出可输入引擎节点924中。引擎节点924可编辑由一个或多个机器人施动者执行的多个步骤,并且可另外提供可视化和/或模拟功能性。在另外的示例中,阶段节点914可由用户限定,描述特定物理工作单元内可用的机器人装置、工具、IO和/或轴的每一个。例如,用户可配置阶段节点914以表示构建过程当前可用的装置和/或部件。然后,引擎节点924可与阶段节点914交接,以便确定特定的机器人施动者(包括机器人装置、工具、IO和/或轴)执行构建过程内的特定步骤。在其它示例中,阶段节点914也可限定物理工作单元的其它特点,物理工作单元例如为可用的传感器、用于构建的材料或其它硬件部件。
来自引擎节点924的输出可输入到出口节点926,其可用于给物理工作单元内的机器人装置发送指令。控制系统和机器人装置之间的通信可采用前面描述的任何方法实现。在一些实施例中,出口节点926可允许用户选择特定的机器人装置,以导致执行所确定的步骤操作。在进一步示例中,出口节点926可包含下拉菜单,其允许从特定物理工作单元内的一个或多个机器人装置中选择机器人装置。
在又一个示例中,不同的步骤可由单一物理工作单元内的多个机器人装置同时执行。在一些实施例中,同步节点可通过指示来自步骤节点的每一个的命令应同时开始而用于连接两个或更多步骤。因此,机器人装置的每个可被防止执行连接到同步节点的步骤节点之一内的命令,直到所有的机器人装置可用且准备开始执行对应步骤节点规定的命令。机器人的操作也可在不同的机器人施动者之间以不同的方式同步。
在选择性实施例中,数据可通过表示由至少一个机器人施动者使用的至少一个构造路径的图形界面接收。特别是,构造路径可包括至少一个机器人操作序列,其中至少某些机器人操作包括工具的使用。例如,用户可规定机器人施动者跟随的运动路径以及沿着运动路径发生的工具操作二者作为单一构造。在一个示例中,用户能够通过在表示工具操作的特定点上用“x”通过建模环境绘制线而规定构造路径,如关于图5所示和所述。
另外,根据节点配置数据,可产生至少一个命令节点,以便导致机器人施动者在构造路径内执行机器人操作。特别是,单一类型的命令节点可确定机器人运动命令和工具命令二者,以便导致对应于机器人节点的特定机器人施动者在构造路径内执行操作。例如,命令节点可解决逆运动问题以确定特定的机器人关节角或运动,并且也确定如何命令机器人在接收的构造路径内的各点上执行特定工具动作。在一些实施例中,命令节点也可实现排序功能,以便用将运动命令与工具命令排序在单一系列机器人指令中。
在进一步示例中,一个或多个命令节点可为条件命令节点。条件命令节点可根据从物理工作单元内的一个或多个传感器接收的传感器数据确定用于特定机器人施动者跟随的机器人操作。例如,条件命令节点可包含条件语句,条件语句将导致机器人施动者仅在构造中使用一件,如果它满足在特定区域中。此外,在构造期间接收的传感器数据可表示特定工件的形状。根据传感器数据,条件命令节点可确定是否输出机器人操作以在构建过程期间拾取且使用该特定工件。其它类型的条件命令节点也是可能的。
所公开系统和方法上的其它变化,包括数字节点功能的结合或拆分,也是可能的。
VII.结论
本公开不是要按照本申请中描述的特定实施例来限制,其旨在作为各方面的说明。如本领域的技术人员所理解,可进行很多的修改和变化而不脱离其精神和范围。除了这里列举的外,本公开范围内的功能上的等同方法和设备将由本领域的技术人员从前面的描述理解到。这样的修改和变化旨在落入所附权利要求的范围内。
上面的详细说明参考附图描述了所公开系统、装置和方法的各种特征和功能。附图中,类似的附图标记典型地表示类似的部件,除非上下文另有表述。这里描述的和附图中的示例性实施例不意味着是限制。可利用其它的实施例,并且可进行其它的变化,而不脱离这里给出的主题事项的精神或范围。容易理解,本公开的各方面,如这里总体描述的和附图中示出的,可在广泛种类的不同配置中设置、替代、结合、分开和设计,其全部在这里明确期待。
关于附图中的且如这里所讨论的阶梯图、情境图和流程图的任何或全部,根据示例性实施例,每个方块和/或通信可表示信息的处理和/或信息的传输。选择性实施例包括在这些示例性实施例的范围内。在这些选择性实施例中,例如,描述为方块、传输、通信、要求、响应和/或信息的功能可按照所示或所讨论的顺序之外执行,包括基本上同时或相反的顺序,取决于所涉及的功能性。此外,或多或少的方块和/或功能可用于这里讨论的阶梯图、情境图和流程图的任何一个,并且这些阶梯图、情境图和流程图可彼此、部分或全部结合。
表示信息处理的方块,例如上述方法1100的方块,可对应于可配置为实现这里描述方法或技术的具体逻辑功能的电路。作为选择或另外,表示信息处理的方块可对应于模块、区段或程序代码的一部分(包括相关数据)。程序代码可包括由处理器可执行的一个或多个指令用于实施方法或技术中的具体逻辑功能或动作。程序代码和/或相关数据可存储在任何类型的计算机可读介质上,例如存储装置,包括磁盘或硬盘驱动器或其它存储介质。
计算机可读介质也可包括非瞬态计算机可读介质,例如短时间段存储数据的计算机可读介质,如寄存器存储器、处理器缓存和随机访问存储器(RAM)。计算机可读介质也可包括存储程序代码和/或数据长时间段的非瞬态计算机可读介质,例如,只读存储器(ROM)、光盘或磁盘、光盘只读存储器(CD-ROM)。计算机可读介质也可为任何其它的易失性或非易失性存储系统。例如,计算机可读介质可看作计算机可读存储介质或实体存储装置。
而且,表示一个或多个信息传输的方块可对应于相同物理装置中的软件和/或硬件模块之间的信息传输。然而,其它的信息传输可在不同的物理装置中的软件模块和/或硬件模块之间。
图中所示的特定设置方案不应看作限制。应理解,其它的实施例可更多或更少地包括给定图中所示的每个元件。此外,某些所示的元件可结合或省略。再次,示例性实施例可包括图中没有示出的元件。
尽管这里已经公开了各方面和实施例,但是其它的方面和实施例对本领域的技术人员来说是显而易见的。这里公开的各方面和实施例是为了说明的目的而不意味着限制,其真实的范围和精神由所附权利要求指出。

Claims (25)

1.一种计算机实现的方法,包括:
导致图形界面显示在显示装置上;
接收对应于与该图形界面的一个或多个交互作用的输入数据,其中该输入数据表示至少一个运动路径以及至少一个工具动作序列以在用于输出产品的构造的该至少一个运动路径内的一个或多个点上执行,并且其中该输入数据还表示节点配置数据;
根据该节点配置数据,产生多个数字节点,该数字节点包括:
(a)至少一个机器人节点,其描述至少一个机器人施动者的一个或多个属性;
(b)至少一个运动命令节点,其确定机器人运动命令序列以导致该至少一个机器人施动者沿着该至少一个运动路径移动;以及
(c)至少一个工具命令节点,其确定工具命令序列,以导致该至少一个机器人施动者根据该至少一个工具动作序列操作至少一个工具;以及
为该至少一个机器人施动者提供指令,以根据由该至少一个运动命令节点确定的该机器人运动命令序列移动且执行由该至少一个工具命令节点确定的工具命令序列以构造该输出产品。
2.如权利要求1所述的方法,其中该输入数据还表示描述该输出产品特点的一个或多个参数;并且该方法还包括:
导致该输出产品的图形表示显示在该图形界面内。
3.如权利要求2所述的方法,还包括:
根据该一个或多个参数确定描述该输出产品的至少一个数学模型;以及
至少部分根据该至少一个数学模型确定该至少一个运动路径。
4.如权利要求2所述的方法,还包括:
根据该一个或多个参数确定描述该输出产品的至少一个数学模型;以及
根据该至少一个数学模型确定该至少一个运动路径的至少一个端点,其中该至少一个端点包括该输出产品上的目标平面。
5.如权利要求1所述的方法,其中该至少一个运动路径包括帧序列,其中帧包括该至少一个机器人施动者的末端执行器的位置和取向。
6.如权利要求1所述的方法,其中该图形界面还包括插值滑块,该插值滑块用于确定该至少一个运动命令节点确定用于该至少一个运动路径的机器人运动命令的间隔。
7.如权利要求1所述的方法,其中该至少一个机器人节点还描述对应的机器人施动者的一个或多个关节的运动范围。
8.如权利要求1所述的方法,还包括根据该节点配置数据产生至少一个工具节点,其中该至少一个工具节点描述该至少一个工具的一个或多个特点。
9.如权利要求1所述的方法,还包括根据该节点配置数据产生至少一个轴节点,其中该至少一个轴节点描述至少一个运动轨道,该运动轨道表示对应的机器人施动者被配置为通过其行进的运动轨道。
10.如权利要求1所述的方法,还包括根据该节点配置数据产生阶段节点,该阶段节点描述(i)该至少一个机器人施动者和(ii)该至少一个工具。
11.如权利要求1所述的方法,还包括:
根据该节点配置数据产生至少一个步骤节点,该至少一个步骤节点包括由该至少一个运动命令节点产生的特定机器人运动命令序列和由该至少一个工具命令节点之一产生的特定工具命令序列;以及
采用该至少一个步骤节点导致该机器人施动者中的一个根据该特定机器人运动命令序列移动且执行该特定工具命令序列。
12.如权利要求11所述的方法,还包括:
根据节点配置数据产生对应于该至少一个步骤节点中的一个的至少一个重复步骤节点,其中该至少一个重复步骤节点包括来自至少一个对应步骤节点的工具命令序列和机器人运动命令序列;以及
采用该至少一个重复步骤节点导致该至少一个机器人施动者的一个或多个根据该机器人运动命令序列移动且执行来自该至少一个对应步骤节点的该工具命令序列。
13.如权利要求11所述的方法,还包括:
根据节点配置数据产生对应于两个或更多步骤节点的至少一个同步节点,其中该至少一个同步节点导致来自两个或多个步骤节点的命令同时开始。
14.如权利要求1所述的方法,还包括:
根据该节点配置数据产生出口节点,其中该出口节点用于确定该机器人施动者中的特定一个,以导致根据由该至少一个运动命令节点的特定一个确定的该机器人运动命令序列移动且执行由该至少一个工具命令节点的特定一个确定的工具命令序列。
15.如权利要求14所述的方法,其中该出口节点包括物理工作单元内的可用的机器人施动者的列表,其中该机器人施动者的特定一个从该列表选择。
16.如权利要求1所述的方法,还包括导致输出产品由该至少一个机器人施动者的构造的视觉模拟显示在该图形界面内。
17.一种系统,包括:
至少一个机器人施动者;以及
控制系统,该控制系统配置为:
导致图形界面显示在显示装置上;
接收对应于与该图形界面的一个或多个交互作用的输入数据,其中该输入数据表示由该至少一个机器人施动者使用的至少一个构造路径,其中该至少一个构造路径包括至少一个机器人操作序列,其中该机器人操作的至少一些包括至少一个工具的使用,并且其中该输入数据还表示节点配置数据;
根据该节点配置数据产生多个数字节点,包括:
(a)至少一个机器人节点,其描述该至少一个机器人施动者的对应一个的一个或多个属性;以及
(b)至少一个命令节点,其确定机器人命令序列以导致对应于该至少一个机器人节点的机器人施动者在该至少一个构造路径内执行该至少一个机器人操作序列;以及
为该至少一个机器人施动者提供指令以执行由该至少一个命令节点确定的机器人命令序列。
18.如权利要求17所述的系统,其中该控制系统还配置为根据该节点配置数据产生阶段节点,该阶段节点描述(i)该至少一个机器人施动者和(ii)该至少一个工具。
19.如权利要求17所述的系统,其中该输入数据通过表示输出产品的构造上使用的(i)至少一个运动路径和(ii)至少一个工具操作序列来表示该至少一个构造路径。
20.如权利要求17所述的系统,其中该至少一个命令节点包括:
至少一个运动命令节点,其确定机器人运动命令序列以导致该至少一个机器人施动者在至少一个构造路径内移动;以及
至少一个工具命令节点,其确定工具命令序列以导致该至少一个机器人施动者在该至少一个构造路径内操作工具中的一个。
21.如权利要求17所述的系统,其中该至少一个命令节点包括至少一个条件命令节点,其至少部分根据从表示至少一个机器人施动者的环境的一个或多个传感器接收的传感器数据确定机器人命令序列。
22.如权利要求17所述的系统,其中该输入数据还表示描述该输出产品的特点的一个或多个参数;并且
其中该控制系统还配置为导致该输出产品的图形表示显示在该图形界面内。
23.如权利要求17所述的系统,其中该控制系统还配置为根据该节点配置数据产生出口节点,其中该出口节点用于确定该机器人施动者的特定一个以导致执行由该至少一个命令节点的特定一个确定的机器人命令序列。
24.如权利要求17所述的系统,其中该控制系统还配置为导致该至少一个构造路径由该至少一个机器人施动者执行的视觉模拟显示在该图形界面内。
25.一种非瞬态计算机可读介质,其中存储指令,该指令在由计算系统执行时,导致该计算系统执行如下功能,包括:
导致图形界面显示在显示装置上;
接收对应于与该图形界面的一个或多个交互作用的输入数据,其中该输入数据包括至少一个运动路径和至少一个工具操作序列以在用于输出产品的构造中使用的该至少一个运动路径内的一个或多个点上执行,并且其中该输入数据还表示节点配置数据;
根据该节点配置数据产生多个数字节点,包括:
(a)至少一个机器人节点,其描述至少一个机器人施动者的一个或多个属性;
(b)至少一个运动命令节点,其确定系列机器人运动命令以导致该至少一个机器人施动者沿着该至少一个运动路径移动;以及
(c)至少一个工具命令节点,确定工具命令序列以导致该至少一个机器人施动者根据该至少一个工具操作序列操作至少一个工具;以及
为该至少一个机器人施动者提供指令,以根据由该至少一个运动命令节点确定的该机器人运动命令序列移动且执行由该至少一个工具命令节点确定的工具命令序列以构造该输出产品。
CN201580027799.6A 2014-04-01 2015-03-30 用于创建机器人制造过程的软件界面 Active CN107073710B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/242,828 2014-04-01
US14/242,828 US9701018B2 (en) 2014-04-01 2014-04-01 Software interface for authoring robotic manufacturing process
PCT/US2015/023358 WO2015153466A1 (en) 2014-04-01 2015-03-30 Software interface for authoring robotic manufacturing process

Publications (2)

Publication Number Publication Date
CN107073710A true CN107073710A (zh) 2017-08-18
CN107073710B CN107073710B (zh) 2020-06-30

Family

ID=53015902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580027799.6A Active CN107073710B (zh) 2014-04-01 2015-03-30 用于创建机器人制造过程的软件界面

Country Status (4)

Country Link
US (4) US9701018B2 (zh)
EP (1) EP3126101B1 (zh)
CN (1) CN107073710B (zh)
WO (1) WO2015153466A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107378954A (zh) * 2017-09-22 2017-11-24 苏州诺乐智能科技有限公司 一种工业机器人用自动化控制软件
CN108284445A (zh) * 2018-03-06 2018-07-17 崔海龙 个性化机器人定制系统
CN108415427A (zh) * 2018-02-11 2018-08-17 昆山艾派科技有限公司 机器人多步连续运动的路径拼接方法
CN109982426A (zh) * 2019-03-21 2019-07-05 中国科学院合肥物质科学研究院 一种无人驾驶车辆传感器数据离线同步方法
CN110413110A (zh) * 2019-07-05 2019-11-05 深圳市工匠社科技有限公司 虚拟角色的控制方法及相关产品
CN113905855A (zh) * 2019-04-17 2022-01-07 实时机器人有限公司 运动规划图生成用户界面、系统、方法和规则
TWI828369B (zh) * 2022-10-14 2024-01-01 創博股份有限公司 機器人模型的自動建立方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6350037B2 (ja) * 2014-06-30 2018-07-04 株式会社安川電機 ロボットシミュレータおよびロボットシミュレータのファイル生成方法
US9492923B2 (en) 2014-12-16 2016-11-15 Amazon Technologies, Inc. Generating robotic grasping instructions for inventory items
KR101962889B1 (ko) * 2015-07-27 2019-03-28 한국전자통신연구원 작업환경 변화에 적응적인 로봇 동작 데이터 제공장치 및 그 방법
WO2017044892A1 (en) 2015-09-11 2017-03-16 Autodesk, Inc. Multi-tool manufacturing system
KR20180015774A (ko) * 2015-09-25 2018-02-14 두산로보틱스 주식회사 로봇 제어 방법 및 장치
US10703083B2 (en) 2017-01-13 2020-07-07 Autodesk, Inc. Multi-tool scheduling for cooperative manufacturing
WO2019021044A1 (en) * 2017-07-26 2019-01-31 Abb Schweiz Ag METHOD AND SYSTEM FOR PERFORMING MANEUVER USING INDUSTRIAL ROBOT
WO2019021045A1 (en) * 2017-07-26 2019-01-31 Abb Schweiz Ag METHOD AND SYSTEM FOR ACTION OF AN INDUSTRIAL ROBOT BASED ON A PARAMETER
JP2019029765A (ja) * 2017-07-27 2019-02-21 オムロン株式会社 スレーブ装置、産業用ネットワークシステム、およびスレーブ装置制御方法
EP3483755B1 (en) * 2017-11-09 2022-07-13 Dassault Systèmes Additive manufacturing of a 3d part
US10960548B2 (en) 2017-11-21 2021-03-30 Service Robotics & Technologies, Inc. Map-based framework for the integration of robots and smart devices
WO2019152769A1 (en) 2018-02-05 2019-08-08 Advanced Solutions Life Sciences, Llc System and workstation for the design, fabrication and assembly of 3-dimensional constructs
GB2573544A (en) * 2018-05-09 2019-11-13 Sony Interactive Entertainment Inc Apparatus control system and method
CN109807896B (zh) * 2019-02-28 2021-05-04 深圳镁伽科技有限公司 运动控制方法和系统、控制设备及存储介质
US11787048B2 (en) * 2019-08-30 2023-10-17 Intrinsic Innovation Llc Robot planning from process definition graph
EP3792716B1 (de) * 2019-09-13 2022-11-09 Siemens Aktiengesellschaft Numerische steuerung mit pufferung von lagesollwerten
US11254015B2 (en) 2019-09-24 2022-02-22 Thermo Crs Ltd. Multi-axis gripper for lab automation robot
US20210316459A1 (en) * 2020-04-08 2021-10-14 Smart Building Tech Co., Ltd. Cloud based computer-implemented system and method for computer-assisted planning and simulation of robot motions in construction
US11511419B2 (en) * 2020-05-01 2022-11-29 Intrinsic Innovation Llc Task planning for measurement variances
US20220055216A1 (en) * 2020-08-20 2022-02-24 Smart Building Tech Co., Ltd. Cloud based computer-implemented system and method for grouping action items on visual programming panel in robot simulator
CN112207818A (zh) * 2020-08-28 2021-01-12 扬州哈工科创机器人研究院有限公司 一种六轴机械臂控制方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511147A (en) * 1994-01-12 1996-04-23 Uti Corporation Graphical interface for robot
US20090144647A1 (en) * 2007-11-30 2009-06-04 Sundeep Chandhoke Motion Controller That Supports Standard and Custom Axes
CN102378943A (zh) * 2009-02-03 2012-03-14 范努克机器人技术美国有限公司 控制机器人工具的方法
US20120317535A1 (en) * 2010-02-26 2012-12-13 Kuka Laboratories Gmbh Process Module Library And Programming Environment For Programming A Manipulator Process

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5798627A (en) 1995-01-04 1998-08-25 Gilliland; Malcolm T. Method for simultaneous operation of robot welders
US5950006A (en) 1997-11-05 1999-09-07 Control Technology Corporation Object-oriented programmable controller
US6161051A (en) 1998-05-08 2000-12-12 Rockwell Technologies, Llc System, method and article of manufacture for utilizing external models for enterprise wide control
US6718533B1 (en) 1999-02-26 2004-04-06 Real-Time Innovations, Inc. Method for building a real-time control system with mode and logical rate
DE19959330A1 (de) 1999-12-09 2001-06-13 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern eines Roboters
GB2373347B (en) 2001-03-07 2006-11-22 Touch Clarity Ltd Control system to actuate a robotic operating system
US6612143B1 (en) 2001-04-13 2003-09-02 Orametrix, Inc. Robot and method for bending orthodontic archwires and other medical devices
EP1552908A4 (en) 2002-10-11 2008-10-15 Fujitsu Ltd DEVICE FOR CREATING A ROBOT CONTROL ALGORITHM, PROGRAM FOR CREATING A ROBOT CONTROL ALGORITHM, ROBOT CONTROL PROGRAM AND ROBOT
DE10305384A1 (de) 2003-02-11 2004-08-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Visualisierung rechnergestützter Informationen
US7890194B2 (en) 2005-12-13 2011-02-15 Brooks Automation, Inc. Robotics programming interface
US20070282480A1 (en) 2003-11-10 2007-12-06 Pannese Patrick D Methods and systems for controlling a semiconductor fabrication process
DE102004043515A1 (de) * 2004-09-08 2006-03-09 Sick Ag Verfahren und Vorrichtung zum Erfassen eines Objekts
JP2006187826A (ja) 2005-01-05 2006-07-20 Kawasaki Heavy Ind Ltd ロボットコントローラ
US7149606B2 (en) 2005-03-01 2006-12-12 Fanul Robotics America, Inc. Synchronizing controllers linked by a communications network
JP4210270B2 (ja) 2005-06-07 2009-01-14 ファナック株式会社 ロボット制御装置及びロボット制御方法
KR101323597B1 (ko) 2005-09-02 2013-11-01 니토 로보틱스 인코퍼레이티드 다기능 로봇 장치
EP1996376B1 (en) 2006-03-03 2016-05-11 Universal Robots A/S Programmable robot and user interface
JP5035768B2 (ja) * 2006-04-18 2012-09-26 独立行政法人産業技術総合研究所 人間ロボット共存作業用安全装置
US7590680B2 (en) 2006-06-29 2009-09-15 Microsoft Corporation Extensible robotic framework and robot modeling
WO2008008727A2 (en) 2006-07-10 2008-01-17 Applied Materials, Inc. Scheduling method for processing equipment
EP2140316B1 (en) * 2007-03-29 2011-12-28 iRobot Corporation Robot operator control unit configuration system and method
US7684892B2 (en) 2007-10-30 2010-03-23 Gm Global Technology Operations, Inc. Process for generating control sequence of operations
JP4465012B2 (ja) 2008-01-31 2010-05-19 ファナック株式会社 搬入/搬出ロボットと協調動作する加工ラインシステム
JP5339096B2 (ja) 2008-02-22 2013-11-13 村田機械株式会社 Vao生産性スイート
AT10596U1 (de) 2008-02-26 2009-06-15 Keba Ag Konfigurierung von maschinenablaufen
US8639666B2 (en) 2008-09-05 2014-01-28 Cast Group Of Companies Inc. System and method for real-time environment tracking and coordination
JP4648486B2 (ja) * 2009-01-26 2011-03-09 ファナック株式会社 人間とロボットとの協調動作領域を有する生産システム
US20100312387A1 (en) 2009-06-05 2010-12-09 The Boeing Company Supervision and Control of Heterogeneous Autonomous Operations
US9643316B2 (en) 2009-10-27 2017-05-09 Battelle Memorial Institute Semi-autonomous multi-use robot system and method of operation
CN102791214B (zh) 2010-01-08 2016-01-20 皇家飞利浦电子股份有限公司 采用实时速度优化的不经校准的视觉伺服
US8731714B2 (en) 2010-09-22 2014-05-20 GM Global Technology Operations LLC Concurrent path planning with one or more humanoid robots
US10475240B2 (en) * 2010-11-19 2019-11-12 Fanuc Robotics America Corporation System, method, and apparatus to display three-dimensional robotic workcell data
US8660738B2 (en) 2010-12-14 2014-02-25 Catepillar Inc. Equipment performance monitoring system and method
US9160898B2 (en) 2011-01-25 2015-10-13 Autofuss System and method for improved video motion control
JP4775516B1 (ja) 2011-03-14 2011-09-21 オムロン株式会社 制御装置、制御方法、プログラム、記録媒体
US9010684B2 (en) 2012-06-27 2015-04-21 The Boeing Company Automated inspection of soft-tooled hollow structure
EP2890529A2 (en) * 2012-08-31 2015-07-08 Rethink Robotics Inc. Systems and methods for safe robot operation
US8833827B2 (en) * 2012-10-09 2014-09-16 Willow Garage, Inc. Kinetic and dimensional optimization for a tendon-driven gripper
KR102000264B1 (ko) * 2013-10-01 2019-07-15 한국전자통신연구원 교시 데이터 입력 장치와 이를 이용한 로봇의 교시 명령어 생성 장치 및 방법
US8803844B1 (en) 2013-10-02 2014-08-12 DigiPuppets LLC Capacitive finger puppet for use on touchscreen devices
US9452531B2 (en) * 2014-02-04 2016-09-27 Microsoft Technology Licensing, Llc Controlling a robot in the presence of a moving object

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511147A (en) * 1994-01-12 1996-04-23 Uti Corporation Graphical interface for robot
US20090144647A1 (en) * 2007-11-30 2009-06-04 Sundeep Chandhoke Motion Controller That Supports Standard and Custom Axes
CN102378943A (zh) * 2009-02-03 2012-03-14 范努克机器人技术美国有限公司 控制机器人工具的方法
US20120317535A1 (en) * 2010-02-26 2012-12-13 Kuka Laboratories Gmbh Process Module Library And Programming Environment For Programming A Manipulator Process

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107378954A (zh) * 2017-09-22 2017-11-24 苏州诺乐智能科技有限公司 一种工业机器人用自动化控制软件
CN108415427A (zh) * 2018-02-11 2018-08-17 昆山艾派科技有限公司 机器人多步连续运动的路径拼接方法
CN108284445A (zh) * 2018-03-06 2018-07-17 崔海龙 个性化机器人定制系统
CN109982426A (zh) * 2019-03-21 2019-07-05 中国科学院合肥物质科学研究院 一种无人驾驶车辆传感器数据离线同步方法
CN113905855A (zh) * 2019-04-17 2022-01-07 实时机器人有限公司 运动规划图生成用户界面、系统、方法和规则
CN113905855B (zh) * 2019-04-17 2023-08-25 实时机器人有限公司 运动规划图生成用户界面、系统、方法和规则
CN110413110A (zh) * 2019-07-05 2019-11-05 深圳市工匠社科技有限公司 虚拟角色的控制方法及相关产品
TWI828369B (zh) * 2022-10-14 2024-01-01 創博股份有限公司 機器人模型的自動建立方法

Also Published As

Publication number Publication date
EP3126101A1 (en) 2017-02-08
WO2015153466A1 (en) 2015-10-08
EP3126101B1 (en) 2022-05-04
US20220009100A1 (en) 2022-01-13
US9701018B2 (en) 2017-07-11
US20150273685A1 (en) 2015-10-01
US10486308B2 (en) 2019-11-26
US20170266810A1 (en) 2017-09-21
CN107073710B (zh) 2020-06-30
US20200061821A1 (en) 2020-02-27
US11103997B2 (en) 2021-08-31

Similar Documents

Publication Publication Date Title
CN107073710A (zh) 用于创建机器人制造过程的软件界面
CN106796427A (zh) 用于机器人制造系统的运行时间控制器
CN106794580A (zh) 用于指令机器人操作的系统和方法
CN107073708A (zh) 用于时基并行机器人操作的系统和方法
JP6810093B2 (ja) ロボットのシミュレーション装置
US9993924B2 (en) Closed-loop control system for robotic operation
EP3166081A2 (en) Method and system for positioning a virtual object in a virtual simulation environment
EP1842631B1 (en) Apparatus and method for automatic path generation for an industrial robot
CN107179743A (zh) 机器人控制装置、信息处理装置以及机器人系统
CN104858876A (zh) 机器人任务的可视调试
JP7388074B2 (ja) シミュレーション装置、シミュレーションプログラムおよびシミュレーション方法
CN107544299A (zh) 用于六自由度机械臂示教控制的pc端app系统
CN107257946B (zh) 用于虚拟调试的系统
Dörfler et al. Interlacing: An experimental approach to integrating digital and physical design methods
EP1310843A2 (en) Simulation device
US20200273243A1 (en) Remote monitoring and assistance techniques with volumetric three-dimensional imaging
Sarai et al. Robot programming for manipulators through volume sweeping and augmented reality
JP7275840B2 (ja) シミュレーション装置
JP7247808B2 (ja) 制御システム、解析方法およびプログラム
US20150328769A1 (en) Method, apparatus, and medium for teaching industrial robot
Zhang et al. The application of control technology based on serial port communication

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180320

Address after: California, USA

Applicant after: X Development Co.,Ltd.

Address before: California, USA

Applicant before: Google Inc.

Effective date of registration: 20180320

Address after: California, USA

Applicant after: Google Inc.

Address before: California, USA

Applicant before: BOT & DOLLY, LLC

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220310

Address after: California, USA

Patentee after: Insi Innovation Co.,Ltd.

Address before: California, USA

Patentee before: X Development Co.,Ltd.