CN106796427B - 用于机器人制造***的运行时间控制器 - Google Patents

用于机器人制造***的运行时间控制器 Download PDF

Info

Publication number
CN106796427B
CN106796427B CN201580028260.2A CN201580028260A CN106796427B CN 106796427 B CN106796427 B CN 106796427B CN 201580028260 A CN201580028260 A CN 201580028260A CN 106796427 B CN106796427 B CN 106796427B
Authority
CN
China
Prior art keywords
robot
sequence
operations
robot operations
tool
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.)
Active
Application number
CN201580028260.2A
Other languages
English (en)
Other versions
CN106796427A (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
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 CN106796427A publication Critical patent/CN106796427A/zh
Application granted granted Critical
Publication of CN106796427B publication Critical patent/CN106796427B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/409Numerical 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 manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • 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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36056Modify program, machining order in real time, during operation, dynamically
    • 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/39432Direct robot control, click on mouse on variety of display command buttons
    • 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/39443Portable, adapted to handpalm, with joystick, function keys, display

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

示例性***和方法允许构造过程期间机器人装置的运行时间控制。一个示例性方法包括:确定对应于至少一个机器人施动者的至少一个机器人操作序列,在第一时间周期期间导致至少一个机器人施动者执行至少一个机器人操作序列的一部分,从移动计算装置接收表示至少一个机器人操作序列修改的中断信号,其中移动计算装置配置为显示包括描述至少一个机器人施动者的一个或多个机器人参数和描述至少一个物理工具的操作特点的一个或多个工具参数的数字界面,以及在第二时间周期期间导致至少一个机器人施动者执行至少一个修改的机器人操作序列的一部分。

Description

用于机器人制造***的运行时间控制器
背景技术
除非这里另有表示,该部分中描述的材料对于本申请的权利要求来说不是现有技术,并且不因包括在该部分中而被承认是现有技术。
自动化制造过程可能涉及可用于构造输出产品的一个或多个机器人装置的使用,输出产品例如为汽车、墙壁、一件家具或任何数量的其它物理结构。机器人装置可配备有末端执行器安装工具,例如钳子或钻孔机,可在构造过程期间使用。机器人装置可被编程有特定运动命令的序列和用于其它操作的命令以便使机器人装置完成制造过程。
发明内容
本公开提供在构建过程期间允许机器人装置的运行时间控制的方法和设备。特别是,一个或多个机器人施动者可配置为执行机器人操作序列,其可包括机器人运动和涉及一个或多个物理工具使用的工具动作。在构建过程期间,数字界面可显示在移动计算装置上。数字界面可包含描述机器人施动者的机器人参数和描述物理工具的操作特点的工具参数。用户可通过与数字界面交互作用(例如,通过对触摸基界面提供触摸输入)而导致计算机装置发送中断信号。根据中断信号,机器人施动者的操作可在构造过程期间控制或调整。例如,用户可重写一个参数或以其他方式调整机器人操作的序列的不同方面。
在一个示例中,提供一种方法,包括:确定对应于至少一个机器人施动者的至少一个机器人操作序列,其中机器人操作包括多个机器人运动和至少一个工具动作,其中工具动作包括由至少一个机器人施动者对至少一个物理工具的操纵。该方法还可包括在第一时间周期期间导致至少一个机器人施动者执行至少一个机器人操作序列的一部分。该方法也可包括从移动计算装置接收表示对至少一个机器人操作序列修改的中断信号,其中移动计算装置配置为在第一时间周期期间显示数字界面,其中数字界面包括描述至少一个机器人施动者的一个或多个机器人参数,并且还包括描述至少一个物理工具的操作特点的一个或多个工具参数。该方法可另外包括在第二时间周期期间导致至少一个机器人施动者执行至少一个修改的机器人操作序列的一部分。
在进一步示例中,公开了一种包括显示屏和控制***的移动计算装置。控制***可配置为在第一时间周期期间接收描述至少一个机器人施动者的一个或多个机器人参数,其中至少一个机器人施动者配置为在第一时间周期期间执行至少一个对应的机器人操作序列,其中机器人操作包括多个机器人运动和至少一个工具动作,其中工具动作包括由至少一个机器人施动者对至少一个物理工具的操纵。控制***还可配置为在第一时间周期期间接收描述至少一个物理工具的操作特点的一个或多个工具参数。控制***也可配置为在第一时间周期期间导致数字界面显示在显示屏上,其中数字界面包括一个或多个机器人参数和一个或多个工具参数。控制***可另外配置为接收表示对至少一个机器人操作序列修改的显示屏上的触摸输入。控制***也可配置为提供指令以导致在第二时间周期期间至少一个机器人施动者执行至少一个修改的机器人操作序列的一部分。
在另一个示例中,公开了一种非瞬态计算机可读介质,其中已经存储了指令,该指令在由计算***执行时,导致计算***执行如下功能。该功能可包括确定对应于至少一个机器人施动者的至少一个机器人操作序列,其中机器人操作包括多个机器人运动和至少一个工具动作,其中工具动作包括由至少一个机器人施动者对至少一个物理工具的操纵。功能还可包括在第一时间周期期间导致至少一个机器人施动者执行至少一个机器人操作序列的一部分。该功能也可包括从移动计算装置接收表示对至少一个机器人操作序列修改的中断信号,其中移动计算装置配置为在第一时间周期期间显示数字界面,其中数字界面包括描述至少一个机器人施动者的一个或多个机器人参数,并且还包括描述至少一个物理工具的操作特点的一个或多个工具参数。功能可另外包括在第二时间周期期间导致至少一个机器人施动者执行至少一个修改的机器人操作序列的一部分。
在再一个示例中,一种***可包括确定对应于至少一个机器人施动者的至少一个机器人操作序列的手段,其中机器人操作包括多个机器人运动和至少一个工具动作,其中工具动作包括由至少一个机器人施动者对至少一个物理工具的操纵。***还可包括在第一时间周期期间导致至少一个机器人施动者执行至少一个机器人操作序列的一部分的手段。***也可包括从移动计算装置接收表示对至少一个机器人操作序列修改的中断信号的手段,其中移动计算装置配置为在第一时间周期期间显示数字界面,其中数字界面包括描述至少一个机器人施动者的一个或多个机器人参数,并且还包括描述至少一个物理工具的操作特点的一个或多个工具参数。***可另外包括在第二时间周期期间导致至少一个机器人施动者执行至少一个修改的机器人操作序列的一部分的手段。
前面的发明内容仅为说明性的而不意味着任何方式的限制。除了上面描述的各方面、实施例和特征外,进一步的方面、实施例和特征通过参考图以及下面的具体实施方式和附图将变得明显易懂。
附图说明
图1示出了根据示例性实施例的制造控制***的方块图。
图2A示出了根据示例性实施例的具有7自由度的机器人的示意图。
图2B示出了根据示例性实施例的具有附加钳子的机器人的示意图。
图2C示出了根据示例性实施例的具有附加心轴的机器人的示意图。
图3A示出了根据示例性实施例的工具架的示意图。
图3B示出了根据示例性实施例的工具架和两个机器人的示意图。
图4A示出了根据示例性实施例的具有3D模型的图形界面。
图4B示出了根据示例性实施例的具有3D模型的附加图形界面。
图5示出了根据示例性实施例的节点基图形界面和构建过程可视化。
图6A示出了根据示例性实施例的用于图形界面的工具栏。
图6B示出了根据示例性实施例的数字工具集合。
图6C是根据示例性实施例的示例性工作流的方块图。
图7是根据示例性实施例的示例性方法的方块图。
图8A示出了根据示例性实施例的数字界面的示意图。
图8B示出了根据示例性实施例的数字界面的另一个示意图。
图8C示出了根据示例性实施例的数字界面的再一个示意图。
图8D示出了根据示例性实施例的数字界面的进一步示意图。
图8E示出了根据示例性实施例的数字界面的又一个示意图。
图9是根据示例性实施例的另一个示例性方法的流程图。
具体实施方式
这里描述示例性方法和***。这里描述的任何示例性实施例或特征不是必须解释为在其它实施例或特征上优选或有利的。这里描述的示例性实施例不意味着是限制。容易理解,所公开的***和方法的某些方面可在广泛种类的不同配置中设置和结合,其全部在这里明确地预期。
此外,图中示出的特定设置方案不应看作限制。应理解,其它实施例可包括或多或少的给定附图中示出的每个元件。此外,某些示出的元件可结合或省略。再次,示例性实施例可包括图中没有示出的元件。
I.概述
示例性实施例提供一个或多个机器人装置的运行时间控制,一个或多个机器人装置用于在物理工作单元内执行构建过程。例如,具有触摸表面运行时间控制器的移动计算装置可由用户操纵,以用于机器人装置的实时控制。在示例内,运行时间控制器可允许用户通过下面的过程实时改造构建过程:改变机器人装置执行操作的速率,在操作序列或时间线内向前或向后跳过以便省略或重复特定的操作,和/或改变机器人装置使用的物理工具或与特定物理工具相关的参数。
在一些示例中,移动计算装置上的数字界面可显示机器人参数,其描述在构建过程的执行期间的特定点上一个或多个机器人施动者的当前状态。例如,机器人参数可包括机器人施动者的当前位置(例如,笛卡尔位置或机器人关节角)、机器人施动者使用的工具中点、机器人施动者当前配备的物理工具、机器人施动者操作所沿的轴、和/或关于机器人施动者的其它诊断信息。在进一步示例中,用户可通过数字界面重写一个或多个机器人参数(例如,通过键入数字或沿着数字滑块或数字轮盘滑动数字标记)。响应于用户输入,然后可产生中断信号,以便导致构建过程采用重写参数修改。
在进一步示例中,数字界面可另外显示在构建过程中由机器人施动者使用的物理工具的操作特点的一个或多个工具参数。在一些示例中,工具参数可在与特定机器人参数相同的屏幕上显示。在其它示例中,工具参数可显示在数字界面内从菜单可获得的分开窗口内。作为示例,数字界面的视图可包含当前输入/输出(IO)值和诊断的数字读数(readout),例如提供给变频驱动器(VFD)的功率或机器人施动者所用心轴的频率。用户然后可在运行时间期间通过与数字界面的交互作用(例如通过激活触摸基数字控制)而重写构建过程中所用的一个或多个工具参数。
数字界面也可显示一个或多个附加控制,其允许用户修改由一个或多个机器人施动者执行的操作序列。例如,用户可对与机器人操作序列相对应的数字时间线内的数字标记的当前位置相关的控制进行访问。在一些示例中,数字时间线可允许用户导致机器人施动者跳到数字时间线中的其它点,例如跳过或重复一个操作。在另一个示例中,控制可提供为颠倒构建过程中的某些操作。例如,附加机器人操作可加到机器人施动者的计划操作序列中,以便旋出由机器人施动者之前旋入的钉子。
在进一步示例中,控制可提供以改变机器人施动者执行操作的速率(例如,使构建过程内的特定操作变慢,从而用户可检验其精度)。执行速率的改变可为全局的(例如,影响物理工作单元内的每个机器人施动者)或特别针对一个或多个特定机器人施动者。在一些示例中,改变一个或多个机器人施动者的执行速率可采用数字界面内的一个或多个数字轮盘实现,其中数字轮盘内数字标记的位置对应于特定的执行速率。在进一步示例中,控制可提供以暂停和重新开始一个或多个机器人施动者的操作。
在另外的示例中,数字界面也可包含允许用户导致机器人施动者在构造期间更换工具的控制。例如,数字界面可包含物理工作单元中位于工具架内的当前可用工具的列表。用户然后可选择供特定机器人施动者配备的特定物理工具。在进一步示例中,在数字界面内也可显示便于工具更换过程的附加信息,例如测定的工具中点和/或工具偏移值。
在另外的示例中,物理工作单元或构建过程的其它方面也可或替代显示在数字界面内。例如,在数字界面内也可显示从物理工作单元内的一个或多个传感器接收的传感器数据,传感器数据可表示构建过程的各方面(例如,构造中所用材料的当前状态。在进一步示例中,数字界面上显示信息的一些或全部可在构建过程期间从与机器人装置通信的时序计算机和/或物理工作单元内的其它***装置接收。
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。另外,控制***可以向分开的控制装置,如独立手动控制28发送数据和/或从该分开的控制装置接收数据。在进一步示例中,方法700的一部分或全部可以通过独立手动控制28本身执行。控制***也可采用前面描述的任何网络协议或通信方法与机器人施动者通信。在另外的示例中,方法700的部分或全部可由有关图4A-4B、5和6A-6C所述和所示的任何图形界面或***执行。在进一步示例中,方法700的部分或全部可由一个或多个机器人装置执行,例如参考图1描述的***装置40内的装置施动者42、44或参考图2A-2C示出和描述的装置施动者200。另外,虽然描述了具有一定数量和类型的***装置的示例,各种选择性实施例也可包括任何数量和类型的机器人装置。
此外,应注意,结合这里描述的流程描述的功能性可实施为具体的功能和/或配置通常功能的硬件模块、为了实现具体逻辑功能、确定和/或参考图7所示流程描述的步骤由处理器执行的程序代码的部分。如果使用,程序代码可存储在任何类型的计算机可读介质上,例如,包括磁盘或硬盘驱动器的存储装置。
另外,图7所示流程图的每个方块可表示被布线以在过程中执行具体逻辑功能的电路。除非具体指出,图7所示的流程图中的功能可以不同于所示或所讨论的顺序执行,包括基本上同时执行分开描述的功能或者甚至与在一些实施例中的顺序相反,取决于所涉及的功能性,只要保持所描述方法的总体功能性。
如图7的方块702所示,方法700可包括确定由一个或多个机器人施动者执行的至少一个机器人操作序列。特别是,机器人操作可包括机器人运动以及用于构造而使用物理工具的工具动作,例如制造输出产品。机器人施动者和物理工具可包括前述的任何类型的硬件装置。在一些示例中,机器人操作序列可采用软件创建环境确定,例如前面关于图4A-4B、5和6A-6C所描述。在其它示例中,机器人操作序列可事先确定且存储存储装置中以用于后面执行。
如图7的方块704所示,方法700还可包括在第一时间周期期间导致一个或多个机器人施动者执行机器人操作的一部分。特别是,控制***,例如关于图1描述的主控制10,可传输指令到机器人施动者,以便导致机器人施动者在物理工作单元内移动且采用物理工具执行工具动作。在一些示例中,指令可被传输以导致机器人施动者执行特定序列顺序内的机器人操作。在其它示例中,指示可被传输以导致机器人施动者在特定的时间点上执行机器人操作,例如在沿着对应于整个构建过程的全局时间线的时间点上。
如图7的方块706所示,方法700可另外包括从移动计算装置接收中断信号。中断信号可指示对正由机器人施动者执行的机器人操作序列的一个或多个修改。移动计算装置可为能够显示数字界面、接收用户输入和传输信号(例如,至控制***)的计算装置。在一些示例中,移动计算装置可包含允许触摸输入的触摸基界面。例如,移动计算装置可为平板装置或移动电话。在进一步示例中,计算装置也可或替代从键盘、定点装置或不同类型的输入机构接收用户输入。在另外的示例中,移动计算装置可以在方法700执行的部分或全部期间是运动的或是不运动的。在一些示例中,移动计算装置也可为膝上计算机或台式计算机。
在进一步示例中,计算机装置可在第一时间周期期间显示数字界面,同时机器人施动者执行构建过程内的机器人操作。数字界面可包括在运行时间期间描述构建过程各方面的参数。特别是,机器人参数可显示,该机器人参数描述机器人施动者的特点,例如机器人施动者的位置、机器人施动者当前所用的物理工具和/或机器人施动者当前沿其在物理工作单元内操作的轴。另外,工具参数可被显示,该工具参数描述物理工具的操作特点。例如,在示例性数字界面内可显示提供给心轴的功率值或使用钳子的力的大小。
图8A-8E共同地示出了根据示例性实施例的数字界面的示意图。在一些示例中,数字界面可包含与构建过程的不同方面相关的多个子菜单。例如,控制子菜单802可包含与机器人操作执行的顺序和/或速率相关的控制。另外,IO子菜单804可包含与数字或模拟IO相关的控制,包括由机器人施动者控制的物理工具的操作特点。此外,机器人子菜单806可包含与机器人施动者相关的控制,例如机器人的位置和诊断。再者,工具更换器子菜单808可包含与导致机器人施动者在物理工作单元内更换工具相关的控制。另外,兆驱动器子菜单810可允许同时控制多个机器人施动者的不同属性。在其它示例中,可采用不同结合或类型的子菜单。在一些示例中,所有的控制可替代地包含在数字界面内的单一菜单内。
图8A示出了根据示例性实施例的数字界面800的一个示意图。特别是,控制子菜单802可在数字界面800内选择。在控制子菜单802内,可提供用于操纵在运行时间期间执行的一个或多个机器人操作序列的控制。例如,用户可采用触摸输入与数字界面交互作用,以便通过实时或几乎实时更改机器人施动者的计划的机器人操作而修改构建过程。
在一些示例中,数字界面也可包含数字时间线812。数字时间线812可包含数字标记,表示正由对应机器人施动者执行的一个或多个机器人操作序列内的当前位置。在进一步示例中,当前位置可由步骤数814表示,其可包含数字值,表示机器人操作序列内的多少步骤已经被执行。在其它示例中,机器人操作可能被导致发生在特定时间点,在此情况下,数字时间线812可替代地表示在构建过程期间的特定时间戳。在其它示例中,步骤数和时间戳二者可显示在单一界面内。
在进一步示例中,数字界面可包含一个或多个控制816,以便改变数字时间线812内操作的执行位置或速率。例如,控制816中的一个可为快速向前选项,导致机器人施动者提高它们执行机器人操作的速率。另外,控制816的另一个可为停止构建过程执行的暂停按钮。例如,暂停按钮的激活可导致移动装置发送构建过程停止执行的信号,而在激活播放按钮时发送重新开始操作的单独信号。
在另外的示例中,控制816中的一个可包括倒回命令,其可颠倒构建过程的一部分。例如,机器人运动可确定,其导致机器人施动者反向运动,以回溯前面运动步骤。在进一步示例中,倒回指令也可导致机器人施动者执行工具动作,以便反向特定前面执行的工具动作。例如,在反向操作时,机器人施动者可撬开机器人施动者之前钉入木板中的钉子。反向机器人操作和/或工具动作的其它示例也是可能的。
在进一步示例中,数字界面可另外包含数字轮盘818。数字轮盘818可用于影响机器人施动者执行机器人操作的当前速率。例如,数字轮盘818可包含表示执行的当前速率的数字标记。通过围绕数字轮盘818移动数字标记(例如,用手指),用户能够控制或调整运行时间期间的执行速率。在另外的示例中,数字轮盘818可配置为,如果用户停止发送触摸输入(例如,从数字界面去除手指),则数字标记返回到特定的中间位置,表示特定的机器人操作的执行速率。在其它示例中,多个数字轮盘可提供在数字界面内,以便单独控制单个机器人施动者的执行速率。例如,用户可控制正执行程序操作的机器人施动者快速操作,直至机器人施动者达到更加精密的程序(例如,关键的焊接程序),在这一点上执行的速率可缓慢下来用于用户可视确定。
在另外的示例中,数字界面可包括步骤控制820。在一些示例中,步骤控制820可允许用户导致机器人施动者跳到机器人操作序列内的其它点。例如,步骤控制820可用于导致一个或多个机器人施动者跳过构建过程内的几个步骤。在其它示例中,步骤控制820可用于向后跳回一个或多个步骤,以便导致机器人施动者重复特定的机器人操作。例如,用户可看到特定的机器人操作(例如,在墙上放置棍子)没有正确执行(例如,机器人施动者没有拾取棍子)。在此情形下,用户能够使用运行时间控制器导致机器人施动者重复失败了的操作(例如,导致机器人施动者再一次拾取棍子)。
在进一步示例中,数字界面可包括速度控制822。速度控制822可用于改变构建过程内特定机器人施动者和/或全部机器人施动者的执行速率。例如,速度控制822可包含乘法器(例如,5%、25%、50%),以便改变机器人施动者执行机器人操作的速率。例如,50%的乘法器可导致机器人操作以半速执行。控制回放速率的其它方法也可或替代包括用速度控制822。
图8B示出了根据示例性实施例的数字界面800的进一步示意图。特别是,IO子菜单804可在数字界面800内选择。在IO子菜单804内,控制可提供,用于改变与数字或模拟输入或输出相关的参数,包括控制工具操作各方面的参数。在一些示例中,IO参数或工具参数可采用数字界面重写(例如,通过触摸特定参数且然后采用虚拟键盘或不同的机构输入不同的数字)。中断信号然后可发送为导致一个或多个机器人施动者通过施加重写的参数修改操作。
在一些示例中,数字界面可包括物理工作单元内IO装置824的列表。例如,IO装置可为用于驱动诸如心轴的物理工具的VFD。单独重写控制826可提供在数字界面内以便调整IO参数,例如提供给对应IO装置或工具的功率量。在一些示例中,重写控制826可包含数字轮盘,其可用于调整特定的IO参数。例如,通过移动数字轮盘内的数字标记,IO参数可在数字界面内增加或减小。根据改变的数值,可发送中断信号,以便改变物理工作单元内由机器人施动者使用的IO参数。
在进一步示例中,工具操作的另外方面可在数字界面内修改。例如,IO装置824内识别的特定工具的操作速率可采用重写控制826修改。例如,心轴的频率可从数字界面内控制。因此,用户可采用移动计算装置以在运行时间期间根据来自看到的工具操作的可视反馈改变工具操作的预编程频率(例如,通过使频率加倍或使频率减半)。在进一步示例中,其它的IO参数也可或替代在数字界面内修改,例如工具动作期间施加的力的大小或完成特定工具动作的时间量。
图8C示出了根据示例性实施例的数字界面800的另一个示意图。特别是,机器人子菜单806可在数字界面800内选择。在机器人子菜单806内,控制可提供用于改变与物理工作单元内机器人施动者相关的参数。特别是,改变数字界面内的参数可触发中断信号,其可在制造过程内的机器人操作序列的执行期间改变用于对应机器人施动者的机器人参数。
在一些示例中,数字界面可包括机器人控制828,以便选择物理工作单元内的特定机器人施动者。例如,机器人控制828可包含显示物理工作单元内的机器人施动者并且允许选择特定的机器人施动者的下拉菜单或其它界面。另外,数字界面可包括机器人参数,例如描述机器人施动者的当前位置的位置信息。在一些示例中,位置可显示为笛卡尔坐标830、机器人轴值832或二者。在进一步示例中,位置信息可反映机器人施动者的末端执行器或机器人末端执行器上安装的物理工具的位置。
在进一步示例中,一个或多个机器人参数可由用户在数字界面内重写。例如,采用触摸输入、特定的笛卡尔坐标830或机器人轴值832可改变、触发中断信号,导致机器人施动者改变位置到新的重写位置值。在其它示例中,不同的机器人参数也可或替代显示和/或重写在数字界面内。例如,工具中点或偏移可被显示和重写以允许在运行时间期间调整***校准(例如,更好地校准特定的物理工具)。
图8D示出了根据示例性实施例的数字界面800的另一个示意图。特别是,工具更换器子菜单808可在数字界面800选择。在工具更换器子菜单808内,控制可提供,用于导致机器人施动者更换物理工作单元内的工具。例如,移动计算装置可用于利用工具架和自动工具更换器控制工具更换,例如前面关于图3A和3B所示和所述。
在一些示例中,数字界面可包括活动机器人控制836。活动机器人控制836可被使用,以选择物理工作单元内的特定机器人施动者。例如,用户可选择特定的机器人施动者以便导致机器人施动者更换工具或配备特定的工具。在进一步示例中,数字界面可显示当前的工具838,表示选择的机器人施动者配备的当前工具。数字界面可另外包括工具架控制器834,其可显示工具架内可用的物理工具以及与工具架中的特定工具相关的位置偏移。用户可从工具架控制834内选择特定的工具,并且然后命令所选机器人施动者采用手动工具更换器840进行工具更换。在进一步示例中,描述特定工具架或特定构造工具的另外参数也可或替代显示在数字界面内。
图8E示出了根据示例性实施例的数字界面800的进一步示意图。特别是,兆驱动器子菜单810可在数字界面800内选择。在兆驱动器子菜单810内,控制可提供为同时改变多个参数。例如,描述一个或多个机器人施动者的不同属性可由用户选择,并且然后在运行时间期间在数字界面内修改。
在一些示例中,数字界面可包括列出物理工作单元内的活动的机器人施动者的施动者银行(actor bank)842。数字界面可另外包括属性银行(attribute band)844,其可包括描述如前所述机器人施动者、IO或工具的任何属性。例如,在一些示例中,与机器人施动者的位置、提供到特定物理工具的功率或特定机器人施动者执行机器人操作的速率相关的属性可包括在属性银行844内。
在进一步示例中,用户可在运行时间期间调整或重写来自属性银行844的特定参数。在一些示例中,用户可选择数值以便重写参数且发送中断信号到控制***,控制***发送信号以控制机器人施动者的运动和操作。在其它示例中,一个或多个数字轮盘846、848、850可被提供,以便在运行时间期间调整参数。例如,通过移动数字轮盘之一内的数字标记,用户可提高机器人操作的速率,降低钳子提供的力值以避免破坏材料件,或者以其他方式影响构建过程。
在其它示例中,数字界面可包含不同的菜单或控制的不同分支。在进一步示例中,数字界面可由用户配置。例如,相对于特定制造过程或制造过程的特定部分的特定控制可被选择,以显示在数字界面内。其它类型的用户界面也可用。
图9示出了根据示例性实施例的另一个方法的流程图。特别是,图9示出了方法900,其可由包含显示屏和控制***的移动计算装置执行,例如具有触摸基数字界面的装置。在一些示例中,移动计算装置可为独立的手动控制28操作,如关于图1所描述。在进一步示例中,移动计算装置可为关于图7描述的任何类型的移动计算装置。
如图9的方块902所示,方法900可涉及在第一时间周期期间接收描述一个或多个机器人施动者的一个或多个机器人参数。机器人施动者可配置为在第一时间周期期间执行对应的机器人操作序列,包括机器人运动和工具动作。机器人施动者、机器人参数和机器人操作可为前述的任何类型(例如,关于图7描述的)。机器人参数可从控制***接收,例如参考图1描述的制造控制***100、主控制10和/或软件控制26。在一些示例中,机器人参数的一些或全部也可或替代从位于机器人施动者上的控制***接收。在进一步示例中,机器人参数的一些或全部也可或替代从位于物理工作单元内的一个或多个传感器接收。
如图9的方块904所示,方法900还可涉及在第一时间周期期间接收描述至少一个物理工具的操作特点的一个或多个工具参数。工具参数和物理工具可为前述的任何类型(例如,关于图7所描述)。工具参数可从任何一个或全部来源接收,从该来源接收机器人参数。在一些示例中,工具参数也可从与特定工作单元内的机器人参数不同的来源接收。
如图9的方块906所示,方法900还可涉及在第一时间周期期间导致数字界面显示在显示屏上。在示例内,数字界面可包括前面关于图8A-8E所示和所述的示意图的任何一个或全部。特别是,数字界面可包括接收的机器人参数和工具参数。在一些示例中,机器人参数和工具参数可在数字界面内的单独子菜单内显示。
如图9的方块908所示,方法900还可涉及接收显示屏上的触摸输入,表示对一个或多个预先规划的机器人操作序列的修改。修改可为前面对关于图7描述的机器人操作序列的任何类型的修改。例如,机器人参数或工具参数可被重写,执行速率可被修改,序列内的一个或多个机器人操作可被跳过,或者工具更换操作可被命令。在进一步示例中,如前面所描述的数字界面内的不同类型的控制器(例如,数字时间线、数字轮盘或下拉菜单)可用于接收触摸输入。
如图9的方块910所示,方法900还可涉及提供指令以在第二时间周期期间导致机器人施动者执行修改的机器人操作序列的一部分。特别是,对预先规划的机器人操作序列的修改可对应于显示屏上接收的触摸输入(例如,重写特定的工具参数可导致机器人施动者的工具操作中的对应效果)。指令可表示接收的触摸输入,以便控制***能够对物理工作单元内发生的构建过程进行必要的修改。例如,指令可通过将指令传输到控制***而提供,例如参考图1描述的制造控制***100、主控制10和/或软件控制26。在一些示例中,指令也可或替代直接传输到一个或多个机器人施动者。
VII.结论
本公开不是要按照本申请中描述的特定实施例来限制,其旨在作为各方面的说明。如本领域的技术人员所理解,可进行很多的修改和变化而不脱离其精神和范围。除了这里列举的外,本公开范围内的功能上的等同方法和设备将由本领域的技术人员从前面的描述理解到。这样的修改和变化旨在落入所附权利要求的范围内。
上面的详细说明参考附图描述了所公开***、装置和方法的各种特征和功能。附图中,类似的附图标记典型地表示类似的部件,除非上下文另有表述。这里描述的和附图中的示例性实施例不意味着是限制。可利用其它的实施例,并且可进行其它的变化,而不脱离这里给出的主题事项的精神或范围。容易理解,本公开的各方面,如这里总体描述的和附图中示出的,可在广泛种类的不同配置中设置、替代、结合、分开和设计,其全部在这里明确期待。
关于附图中的且如这里所讨论的阶梯图、情境图和流程图的任何或全部,根据示例性实施例,每个方块和/或通信可表示信息的处理和/或信息的传输。选择性实施例包括在这些示例性实施例的范围内。在这些选择性实施例中,例如,描述为方块、传输、通信、要求、响应和/或信息的功能可按照所示或所讨论的顺序之外执行,包括基本上同时或相反的顺序,取决于所涉及的功能性。此外,或多或少的方块和/或功能可用于这里讨论的阶梯图、情境图和流程图的任何一个,并且这些阶梯图、情境图和流程图可彼此、部分或全部结合。
表示信息处理的方块,例如上述方法1100的方块,可对应于可配置为实现这里描述方法或技术的具体逻辑功能的电路。作为选择或另外,表示信息处理的方块可对应于模块、区段或程序代码的一部分(包括相关数据)。程序代码可包括由处理器可执行的一个或多个指令用于实施方法或技术中的具体逻辑功能或动作。程序代码和/或相关数据可存储在任何类型的计算机可读介质上,例如存储装置,包括磁盘或硬盘驱动器或其它存储介质。
计算机可读介质也可包括非瞬态计算机可读介质,例如短时间段存储数据的计算机可读介质,如寄存器存储器、处理器缓存和随机访问存储器(RAM)。计算机可读介质也可包括存储程序代码和/或数据长时间段的非瞬态计算机可读介质,例如,只读存储器(ROM)、光盘或磁盘、光盘只读存储器(CD-ROM)。计算机可读介质也可为任何其它的易失性或非易失性存储***。例如,计算机可读介质可看作计算机可读存储介质或实体存储装置。
而且,表示一个或多个信息传输的方块可对应于相同物理装置中的软件和/或硬件模块之间的信息传输。然而,其它的信息传输可在不同的物理装置中的软件模块和/或硬件模块之间。
图中所示的特定设置方案不应看作限制。应理解,其它的实施例可更多或更少地包括给定图中所示的每个元件。此外,某些所示的元件可结合或省略。再次,示例性实施例可包括图中没有示出的元件。
尽管这里已经公开了各方面和实施例,但是其它的方面和实施例对本领域的技术人员来说是显而易见的。这里公开的各方面和实施例是为了说明的目的而不意味着限制,其真实的范围和精神由所附权利要求指出。

Claims (31)

1.一种用于机器人***的运行时间控制的移动计算装置,包括:
显示屏;以及
控制***,该控制***被配置为:
从与多个机器人通信的时序计算机接收在全局时间线内的当前位置,其中,所述多个机器人中的每一个被配置成执行相应的预先计划的机器人操作序列,作为协调制造过程的一部分,以在共享工作单元内构建输出产品,其中,用于所述多个机器人中的每一个的所述相应的预先计划的机器人操作序列与全局时间线同步;
导致数字界面显示在该显示屏上,其中该数字界面包括数字标记,随着所述多个机器人中的每个机器人执行所述相应的预先计划的机器人操作序列中的机器人操作,所述数字标记基于全局时间线中的接收到的当前位置通过全局时间线前进,其中,所述数字界面还包括倒回命令;
在通过所述多个机器人中的每一个执行相应的预先计划的机器人操作序列的第一部分之后,从数字界面接收输入信号,该输入信号表示对所述数字标记通过全局时间线的前进的修改,其中,所述输入信号表示倒回命令的选择;以及
响应于接收所述输入信号,向所述时序计算机提供指令,以导致所述多个机器人中的每一个根据对所述数字标记通过全局时间线的前进的所指示的修改调节相应的预先计划的机器人操作序列的执行,使得所述多个机器人中的每一个保持与全局时间线同步,其中,所述指令导致所述多个机器人中的至少一个机器人执行一个或多个额外的工具动作,以在所述输出产品上操作,以便反转所述至少一个机器人在所述输出产品上的一个或多个先前执行的工具动作的效果。
2.如权利要求1所述的计算装置,其中所述输入信号表示数字标记在所述全局时间线内的位置的变化,且所述控制***还配置为:
导致基于输入信号在显示屏上的所述数字标记在全局时间线内的位置的被指示的变化;并且
向时序计算机提供指令,以基于数字标记在全局时间线内的位置的变化,导致所述多个机器人中的每一个跳过一个或多个相应的机器人操作。
3.如权利要求1所述的计算装置,其中该控制***还配置为:
导致对应于多个机器人的多个数字轮盘显示在该显示界面内,其中,每个数字轮盘包括数字标记,该数字标记指示机器人操作被相应的机器人执行的速率;
接收额外的输入信号,该额外的输入信号指示特定的数字标记在多个数字轮盘的特定数字轮盘内的位置的变化;
基于该额外的输入信号,导致特定数字标记在特定数字轮盘内的位置变化;以及
提供指令,以根据特定数字标记在特定数字轮盘内的位置的变化,导致与特定数字轮盘相对应的特定机器人改变机器人操作被该特定机器人执行的速率。
4.如权利要求1所述的计算装置,其中该控制***还配置为:
导致特定工具参数显示在所述显示界面上;以及
接收指示对特定工具参数修改的额外的输入信号;以及
提供指令以根据对该特定工具参数的修改导致正在操作对应于该特定工具参数的特定物理工具的特定机器人调节该特定物理工具的操作。
5.如权利要求1所述的计算装置,其中该控制***还配置为:
导致描述工具架内一个或多个可用物理工具的信息显示在显示界面内;以及
提供指令以根据额外的触摸输入导致所述多个机器人中的一个配备该工具架内的其中一个可用的物理工具。
6.如权利要求4所述的计算装置,其中,所述特定工具参数包括供给到该特定物理工具的功率量。
7.如权利要求4所述的计算装置,其中,所述特定工具参数包括特定物理工具的操作的速率。
8.如权利要求1所述的计算装置,其中,所述输入信号指示数字标记通过全局时间线前进的速率变化,且其中,所述控制***被进一步配置成向时序计算机提供指令,以根据数字标记通过全局时间线前进的速率变化导致多个机器人中的每一个改变机器人操作被多个机器人中的每一个所执行的相应速率。
9.如权利要求4所述的计算装置,其中,所述控制***被进一步配置成:
使得在数字轮盘的数字界面内显示有额外数字标记,以指示特定工具参数;以及
基于该额外的输入信号调节额外的数字标记在数字轮盘中的位置。
10.如权利要求1所述的计算装置,其中,所述输入信号指示数字标记在全局时间线内的位置的变化,且其中,所述控制***被进一步配置成:
基于该输入信号,导致在显示屏上指示数字标记在全局时间线内的位置的变化;以及
向时序计算机提供指令,以基于数字标记在全局时间线内的位置的变化,导致多个机器人中的每一个重复一个或多个相应的机器人操作。
11.如权利要求1所述的计算装置,其中,所述控制***被进一步配置成:
使得在数字界面内显示多个乘法器,其中,所述输入信号指示多个乘法器中的一个的选择;以及
响应于该输入信号,向时序计算机提供指令,以导致多个机器人中的每一个以基于被选择的乘法器缩放的相应的执行速率执行机器人操作。
12.一种用于机器人***的运行时间控制的方法,包括
从与多个机器人通信的时序计算机接收在全局时间线内的当前位置,其中,所述多个机器人中的每一个被配置成执行相应的预先计划的机器人操作序列,作为协调制造过程的一部分,以在共享工作单元内构建输出产品,其中,用于所述多个机器人中的每一个的所述相应的预先计划的机器人操作序列与全局时间线同步;
导致数字界面显示在显示屏上,其中该数字界面包括数字标记,随着所述多个机器人中的每个机器人执行所述相应的预先计划的机器人操作序列中的机器人操作,所述数字标记基于全局时间线中的接收到的当前位置通过全局时间线前进,其中,所述数字界面还包括倒回命令;
在通过所述多个机器人中的每一个执行相应的预先计划的机器人操作序列的第一部分之后,从数字界面接收输入信号,该输入信号指示对所述数字标记通过全局时间线的前进的修改,其中,所述输入信号表示倒回命令的选择;以及
响应于接收所述输入信号,向所述时序计算机提供指令,以导致所述多个机器人中的每一个根据对所述数字标记通过全局时间线的前进的所指示的修改调节相应的预先计划的机器人操作序列的执行,使得所述多个机器人中的每一个保持与全局时间线同步,其中,提供所述指令导致所述多个机器人中的至少一个机器人执行一个或多个额外的工具动作,以在所述输出产品上操作,以便反转所述至少一个机器人在所述输出产品上的一个或多个先前执行的工具动作的效果。
13.一种用于机器人***的运行时间控制的非瞬态计算机可读介质,其中已经存储了指令,该指令在由计算***执行时,导致该计算***实现如下功能,包括:
从与多个机器人通信的时序计算机接收在全局时间线内的当前位置,其中,所述多个机器人中的每一个被配置成执行相应的预先计划的机器人操作序列,作为协调制造过程的一部分,以在共享工作单元内构建输出产品,其中,用于所述多个机器人中的每一个的所述相应的预先计划的机器人操作序列与全局时间线同步;
导致数字界面显示在显示屏上,其中该数字界面包括数字标记,随着所述多个机器人中的每个机器人执行所述相应的预先计划的机器人操作序列中的机器人操作,所述数字标记基于全局时间线中的接收到的当前位置通过全局时间线前进,其中,所述数字界面还包括倒回命令;
在通过所述多个机器人中的每一个执行相应的预先计划的机器人操作序列的第一部分之后,从数字界面接收输入信号,该输入信号指示对所述数字标记通过全局时间线的前进的修改,其中,所述输入信号表示倒回命令的选择;以及
响应于接收所述输入信号,向所述时序计算机提供指令,以导致所述多个机器人中的每一个根据对所述数字标记通过全局时间线的前进的所指示的修改调节相应的预先计划的机器人操作序列的执行,使得所述多个机器人中的每一个保持与全局时间线同步,其中,提供所述指令导致所述多个机器人中的至少一个机器人执行一个或多个额外的工具动作,以在所述输出产品上操作,以便反转所述至少一个机器人在所述输出产品上的一个或多个先前执行的工具动作的效果。
14.一种用于机器人***的运行时间控制的计算机执行的方法,包括:
提供用户界面用于输出,该用户界面包括:(i)被物理工作单元内的机器人执行的预先编程的机器人操作序列的执行的当前状态的表示;以及(ii)与执行机器人操作的序列的一方面相关的控制;
与物理工作空间内的机器人执行预先编程的机器人操作序列实时或几乎实时地接收数据,该数据指示与执行机器人操作序列的所述方面相关的控制的选择;
基于与所选择的控制相关的所述方面并与接收所述控制的选择实时或几乎实时地更新(i)在所述预先编程的机器人操作的序列中由所述物理工作单元内的机器人对一个或多个选择的机器人操作的执行;以及(ii)被所述物理工作单元内的机器人执行的所述预先编程的机器人操作序列的执行的当前状态的表示,其在用户界面上提供以用于输出;以及
在已经执行所述一个或多个选择的机器人操作之后,重新开始在机器人操作序列中一个或多个剩余机器人操作的执行,其中所述一个或多个选择的机器人操作的执行已经基于与所选择的控制相关的所述方面更新,
其中,执行所述机器人操作的序列的方面包括机器人操作序列要被执行或再被执行的顺序;以及
更新执行的当前状态的表示包括调节光标在预先编程的机器人操作序列的执行的当前状态的时间线表示上的位置。
15.如权利要求14所述的方法,其中:
所述用户界面设置在移动装置上以用于输出;以及
所述控制借助于对所述移动装置的接近敏感显示器的触摸输入而选择。
16.如权利要求14所述的方法,其中:
执行所述机器人操作序列的方面包括机器人操作序列被执行的步伐;以及
更新执行的当前状态的表示包括调节光标在预先编程的机器人操作序列的执行的当前状态的时间线表示上的位置。
17.如权利要求14所述的方法,其中:
执行所述机器人操作的序列的方面包括在执行所述机器人操作序列中与所述机器人相关联的工具。
18.如权利要求14所述的方法,其中,预先编程的机器人操作的序列的执行的当前状态的表示包括反映已经被执行的机器人操作的数量的数字值。
19.如权利要求14所述的方法,其中,预先编程的机器人操作的序列的执行的当前状态的表示包括与已经被执行的机器人操作相关联的一个或多个时间戳。
20.如权利要求14所述的方法,其中:
执行所述机器人操作的序列的方面包括在机器人操作序列中要被跳过的一个或多个机器人操作的识别;以及
更新执行的当前状态的表示包括调节光标在预先编程的机器人操作序列的执行的当前状态的时间线表示上的位置以跳过被识别的要被跳过的一个或多个机器人操作。
21.如权利要求14所述的方法,其中:所述控制包括数字轮盘,所述数字轮盘与执行机器人操作序列的步伐相关联。
22.如权利要求14所述的方法,其中,接收指示控制的选择的数据包括接收参数值;以及
更新一个或多个被选择的机器人操作的执行包括向与被选择的机器人操作相关联的参数应用所述参数值。
23.如权利要求14所述的方法,其中,在一个或多个被选择的操作已经被执行之后,提供其执行被重新开始的一个或多个剩余操作的执行的当前状态的表示以在用户界面上输出,其中,所述一个或多个被选择的操作的执行已经基于与被选择的控制相关联的方面更新。
24.如权利要求14所述的方法,其中:
执行机器人操作的序列的方面包括在机器人操作的序列的执行期间机器人的位置;以及
更新执行的当前状态的表示包括在用户界面上调节机器人的表示的位置。
25.一种用于机器人***的运行时间控制的非瞬态计算机可读介质,其存储了包括指令的软件,该指令可由一个或多个计算机执行,且在这样的执行时,导致该一个或多个计算机执行如下操作,包括:
提供用户界面用于输出,该用户界面包括:(i)被物理工作单元内的机器人执行的预先编程的机器人操作序列的执行的当前状态的表示;以及(ii)与执行机器人操作的序列的一方面相关的控制;
与物理工作空间内的机器人执行预先编程的机器人操作序列实时或几乎实时地接收数据,该数据指示与执行机器人操作序列的所述方面相关的控制的选择;
基于与所选择的控制相关的所述方面并与接收所述控制的选择实时或几乎实时地更新(i)在所述预先编程的机器人操作的序列中由所述物理工作单元内的机器人对一个或多个选择的机器人操作的执行;以及(ii)被所述物理工作单元内的机器人执行的所述预先编程的机器人操作序列的执行的当前状态的表示,其在用户界面上提供以用于输出;以及
在已经执行所述一个或多个选择的机器人操作之后,重新开始在机器人操作序列中一个或多个剩余机器人操作的执行,其中所述一个或多个选择的机器人操作的执行已经基于与所选择的控制相关的所述方面更新,
其中,执行所述机器人操作的序列的方面包括机器人操作序列要被执行或再被执行的顺序;以及
更新执行的当前状态的表示包括调节光标在预先编程的机器人操作序列的执行的当前状态的时间线表示上的位置。
26.如权利要求25所述的介质,其中:
用户界面被提供用于在移动装置上输出;以及
所述控制借助于对所述移动装置的接近敏感显示器的触摸输入而选择。
27.如权利要求25所述的介质,其中:
执行所述机器人操作序列的方面包括机器人操作序列被执行的步伐;以及
更新执行的当前状态的表示包括调节光标在预先编程的机器人操作序列的执行的当前状态的时间线表示上的位置。
28.如权利要求25所述的介质,其中:
执行所述机器人操作的序列的方面包括在执行所述机器人操作序列中与所述机器人相关联的工具。
29.如权利要求25所述的介质,其中:
预先编程的机器人操作的序列的执行的当前状态的表示包括反映已经被执行的机器人操作的数量的数字值。
30.如权利要求25所述的介质,其中:
预先编程的机器人操作的序列的执行的当前状态的表示包括与已经被执行的机器人操作相关联的一个或多个时间戳。
31.一种用于机器人***的运行时间控制的***,包括:
一个或多个计算机以及一个或多个存储装置,所述存储装置存储指令,所述指令当由所述一个或多个计算机执行时,导致所述一个或多个计算机执行如下操作,包括:
提供用户界面用于输出,该用户界面包括:(i)被物理工作单元内的机器人执行的预先编程的机器人操作序列的执行的当前状态的表示;以及(ii)与执行机器人操作的序列的一方面相关的控制;
与物理工作空间内的机器人执行预先编程的机器人操作序列实时或几乎实时地接收数据,该数据指示与执行机器人操作序列的所述方面相关的控制的选择;
基于与所选择的控制相关的所述方面并与接收所述控制的选择实时或几乎实时地更新(i)在所述预先编程的机器人操作的序列中由所述物理工作单元内的机器人对一个或多个选择的机器人操作的执行;以及(ii)被所述物理工作单元内的机器人执行的所述预先编程的机器人操作序列的执行的当前状态的表示,其在用户界面上提供以用于输出;以及
在已经执行所述一个或多个选择的机器人操作之后,重新开始在机器人操作序列中一个或多个剩余机器人操作的执行,其中所述一个或多个选择的机器人操作的执行已经基于与所选择的控制相关的所述方面更新,
其中,执行所述机器人操作的序列的方面包括机器人操作序列要被执行或再被执行的顺序;以及
更新执行的当前状态的表示包括调节光标在预先编程的机器人操作序列的执行的当前状态的时间线表示上的位置。
CN201580028260.2A 2014-04-01 2015-03-30 用于机器人制造***的运行时间控制器 Active CN106796427B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/242,840 2014-04-01
US14/242,840 US9841749B2 (en) 2014-04-01 2014-04-01 Runtime controller for robotic manufacturing system
PCT/US2015/023359 WO2015153467A1 (en) 2014-04-01 2015-03-30 Runtime controller for robotic manufacturing system

Publications (2)

Publication Number Publication Date
CN106796427A CN106796427A (zh) 2017-05-31
CN106796427B true CN106796427B (zh) 2020-09-01

Family

ID=52991969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580028260.2A Active CN106796427B (zh) 2014-04-01 2015-03-30 用于机器人制造***的运行时间控制器

Country Status (4)

Country Link
US (3) US9841749B2 (zh)
EP (1) EP3126917B1 (zh)
CN (1) CN106796427B (zh)
WO (1) WO2015153467A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9841749B2 (en) 2014-04-01 2017-12-12 Bot & Dolly, Llc Runtime controller for robotic manufacturing system
JP6502114B2 (ja) * 2015-02-12 2019-04-17 株式会社神戸製鋼所 通信制御システム及び通信制御方法
WO2017022310A1 (ja) * 2015-08-04 2017-02-09 ソニー株式会社 制御装置、制御方法及び医療用支持アーム装置
CA3003449C (en) * 2015-11-02 2023-03-14 The Johns Hopkins University Generation of robotic user interface responsive to connection of peripherals to robot
US10675825B2 (en) * 2016-01-20 2020-06-09 Afl Telecommunications Llc Systems and methods for shaping optical fibers
CN111246977A (zh) 2017-03-30 2020-06-05 软机器人公司 用户辅助型机器人控制***
US10307908B2 (en) 2017-04-07 2019-06-04 X Development Llc Methods and systems for establishing and maintaining a pre-build relationship
CN109702736B (zh) * 2017-10-25 2021-01-08 优必选教育(深圳)有限公司 一种机器人的姿态处理方法、装置及***
JP7146402B2 (ja) * 2018-01-18 2022-10-04 キヤノン株式会社 情報処理装置、および情報処理方法
US11162241B2 (en) * 2018-03-27 2021-11-02 Deere & Company Controlling mobile machines with a robotic attachment
CN109213096B (zh) * 2018-08-22 2020-10-02 西门子工厂自动化工程有限公司 现场设备的控制方法、装置、***、存储介质和处理器
US11597086B2 (en) * 2018-09-13 2023-03-07 The Charles Stark Draper Laboratory, Inc. Food-safe, washable interface for exchanging tools
EP3628453A1 (en) * 2018-09-28 2020-04-01 Siemens Aktiengesellschaft A control system and method for a robot
US20210362287A1 (en) * 2018-10-25 2021-11-25 3M Innovative Properties Company Multiple degree of freedom compliant actuator force control systems and methods used in robotic paint repair
CN113196193A (zh) * 2019-02-13 2021-07-30 Abb瑞士股份有限公司 用于管理机器人程序的方法和装置
CN109934510B (zh) * 2019-03-22 2021-11-09 江苏徐工工程机械研究院有限公司 施工流程自动调度方法、***、作业机和存储介质
JP6717401B1 (ja) * 2019-04-01 2020-07-01 株式会社安川電機 プログラミング支援装置、ロボットシステム及びプログラミング支援方法
EP3976322A1 (en) * 2019-05-29 2022-04-06 Universal Robots A/S Detection of change in contact between robot arm and an object
US20210339397A1 (en) * 2020-05-01 2021-11-04 Abb Schweiz Ag System and method for setting up a robotic assembly operation
EP4173773A4 (en) * 2020-06-25 2024-03-27 Hitachi High-Tech Corporation ROBOT TEACHING APPARATUS AND METHOD FOR TEACHING JOBS
TWI828369B (zh) * 2022-10-14 2024-01-01 創博股份有限公司 機器人模型的自動建立方法

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4140953A (en) * 1976-03-03 1979-02-20 Unimation, Inc. Real time program modification apparatus
US4420812A (en) * 1979-09-14 1983-12-13 Tokico, Ltd. Teaching- playback robot
US4860428A (en) * 1987-01-09 1989-08-29 W. A. Whitney Corp. Lifting hand for a punch press tool changer
US5949683A (en) * 1994-12-20 1999-09-07 Tokico Ltd. Robot control apparatus
US5798627A (en) 1995-01-04 1998-08-25 Gilliland; Malcolm T. Method for simultaneous operation of robot welders
JP4014662B2 (ja) * 1995-09-18 2007-11-28 ファナック株式会社 ロボット教示操作盤
US5950006A (en) 1997-11-05 1999-09-07 Control Technology Corporation Object-oriented programmable controller
US5993365A (en) * 1998-03-26 1999-11-30 Eastman Kodak Company Tool attachment and release device for robotic arms
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
US6630001B2 (en) 1998-06-24 2003-10-07 International Heart Institute Of Montana Foundation Compliant dehyrated tissue for implantation and process of making the same
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
JP4122652B2 (ja) * 1999-09-27 2008-07-23 松下電器産業株式会社 ロボットの制御装置
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
JP2002301674A (ja) * 2001-04-03 2002-10-15 Sony Corp 脚式移動ロボット及びその運動教示方法、並びに記憶媒体
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
JP4578056B2 (ja) * 2003-02-06 2010-11-10 株式会社ダイヘン 作業ロボットを用いた制御システムによるワーク加工方法
DE10305384A1 (de) 2003-02-11 2004-08-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Visualisierung rechnergestützter Informationen
US6804580B1 (en) * 2003-04-03 2004-10-12 Kuka Roboter Gmbh Method and control system for controlling a plurality of robots
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
SE0303445L (sv) * 2003-12-17 2005-06-18 Abb Research Ltd Verktyg för en industrirobot
DE102004027944B4 (de) * 2004-06-08 2012-02-16 Kuka Laboratories Gmbh Verfahren zum Schützen eines Roboters gegen Kollisionen
JP2006187826A (ja) 2005-01-05 2006-07-20 Kawasaki Heavy Ind Ltd ロボットコントローラ
US7643907B2 (en) * 2005-02-10 2010-01-05 Abb Research Ltd. Method and apparatus for developing a metadata-infused software program for controlling a robot
US7149606B2 (en) 2005-03-01 2006-12-12 Fanul Robotics America, Inc. Synchronizing controllers linked by a communications network
JP2006293537A (ja) * 2005-04-07 2006-10-26 Fanuc Ltd 数値制御装置
EP1716983B1 (en) * 2005-04-19 2008-05-14 COMAU S.p.A. Process for controlling industrial robots, and related robots, robot systems and computer programs
US7860609B2 (en) * 2005-05-06 2010-12-28 Fanuc Robotics America, Inc. Robot multi-arm control system
JP4210270B2 (ja) 2005-06-07 2009-01-14 ファナック株式会社 ロボット制御装置及びロボット制御方法
CN101297267B (zh) 2005-09-02 2012-01-11 Neato机器人技术公司 多功能机器人设备
DK3045273T3 (en) * 2006-03-03 2019-02-25 Universal Robots As Joint for a robot
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
JP2008213129A (ja) * 2007-03-07 2008-09-18 Seiko Epson Corp 生産システム用汎用セル及び該汎用セルを用いた生産システム
WO2009044287A2 (en) * 2007-04-16 2009-04-09 The Governors Of The University Of Calgary Methods, devices, and systems for automated movements involving medical robots
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 ファナック株式会社 搬入/搬出ロボットと協調動作する加工ラインシステム
WO2009105724A2 (en) 2008-02-22 2009-08-27 Asyst Technologies Inc . Vao productivity suite
AT10596U1 (de) 2008-02-26 2009-06-15 Keba Ag Konfigurierung von maschinenablaufen
WO2010025768A1 (en) 2008-09-04 2010-03-11 Abb Technology Ab A device and a method for facilitating editing of a robot program
US8639666B2 (en) 2008-09-05 2014-01-28 Cast Group Of Companies Inc. System and method for real-time environment tracking and coordination
WO2010045968A1 (en) 2008-10-21 2010-04-29 Abb Technology Ab A robot system with a teach pendant
JP5436460B2 (ja) * 2009-02-12 2014-03-05 三菱電機株式会社 産業用ロボットシステム
FR2946160B1 (fr) * 2009-05-26 2014-05-09 Aldebaran Robotics Systeme et procede pour editer et commander des comportements d'un robot mobile.
US20100312387A1 (en) 2009-06-05 2010-12-09 The Boeing Company Supervision and Control of Heterogeneous Autonomous Operations
WO2011056633A1 (en) 2009-10-27 2011-05-12 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
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 オムロン株式会社 制御装置、制御方法、プログラム、記録媒体
EP2780764B1 (en) * 2011-11-16 2022-08-03 X Development LLC System and method for 3d projection mapping with robotically controlled objects
JP5383860B2 (ja) * 2012-04-26 2014-01-08 ファナック株式会社 ロボット塗布システム
US9010684B2 (en) 2012-06-27 2015-04-21 The Boeing Company Automated inspection of soft-tooled hollow structure
JP5582427B2 (ja) * 2012-12-18 2014-09-03 株式会社安川電機 教示データ作成装置、ロボットシステム、及び教示データ作成方法
JP5768829B2 (ja) * 2013-03-15 2015-08-26 株式会社安川電機 ロボットシステム、ロボット制御方法及び被加工物の製造方法
US9283674B2 (en) * 2014-01-07 2016-03-15 Irobot Corporation Remotely operating a mobile robot
US9841749B2 (en) 2014-04-01 2017-12-12 Bot & Dolly, Llc Runtime controller for robotic manufacturing system

Also Published As

Publication number Publication date
US20180004187A1 (en) 2018-01-04
EP3126917B1 (en) 2023-12-20
EP3126917A1 (en) 2017-02-08
WO2015153467A1 (en) 2015-10-08
US20200117168A1 (en) 2020-04-16
US10509392B2 (en) 2019-12-17
US20150277430A1 (en) 2015-10-01
US11409260B2 (en) 2022-08-09
US9841749B2 (en) 2017-12-12
CN106796427A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106796427B (zh) 用于机器人制造***的运行时间控制器
US20220009100A1 (en) Software Interface for Authoring Robotic Manufacturing Process
CN111515947B (zh) 用于时基并行机器人操作的***和方法
CN106794580B (zh) 用于指令机器人操作的***和方法
US9993924B2 (en) Closed-loop control system for robotic operation
JP7388074B2 (ja) シミュレーション装置、シミュレーションプログラムおよびシミュレーション方法
Bischoff et al. Flexible control of complex kinematic chains

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: 20180319

Address after: California, USA

Applicant after: X Development Co.,Ltd.

Address before: California, USA

Applicant before: Google Inc.

Effective date of registration: 20180319

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: 20220303

Address after: California, USA

Patentee after: Insi Innovation Co.,Ltd.

Address before: California, USA

Patentee before: X Development Co.,Ltd.