CN112783018B - 工业环境模拟下的机器人数字孪生控制 - Google Patents

工业环境模拟下的机器人数字孪生控制 Download PDF

Info

Publication number
CN112783018B
CN112783018B CN202011239743.6A CN202011239743A CN112783018B CN 112783018 B CN112783018 B CN 112783018B CN 202011239743 A CN202011239743 A CN 202011239743A CN 112783018 B CN112783018 B CN 112783018B
Authority
CN
China
Prior art keywords
robot
simulation
vendor
industrial
component
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
CN202011239743.6A
Other languages
English (en)
Other versions
CN112783018A (zh
Inventor
伊恩·麦格雷戈
亚当·戴维森
大卫·道金斯
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.)
Rockwell Automation Technologies Inc
Original Assignee
Rockwell Automation Technologies Inc
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 Rockwell Automation Technologies Inc filed Critical Rockwell Automation Technologies Inc
Publication of CN112783018A publication Critical patent/CN112783018A/zh
Application granted granted Critical
Publication of CN112783018B publication Critical patent/CN112783018B/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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24024Safety, surveillance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40091Tele-programming by graphical simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40322Simulation with des, discrete event system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules

Abstract

本发明提供了工业环境模拟下的机器人数字孪生控制。工业控制设计和测试系统使得工业机器人的供应商特定的数字孪生能够被导入与供应商无关的模拟平台,使得可以模拟和观察机器人在较大自动化系统的环境内的协同操作。该设计和测试系统可以链接至供应商特定的机器人模拟平台的实例以促进将在对应的物理机器人上安装和执行的实际机器人程序的执行,而不是要求设计者以模拟系统可理解的格式重写机器人程序。这以设计者方需要较少开发工作的方式准确地模拟机器人的操作,并且使得与使用特定于特定机器人供应商的模拟平台的情况相比,能够更准确地对机器人的周围环境进行建模和模拟。

Description

工业环境模拟下的机器人数字孪生控制
技术领域
本发明涉及用于模拟自动化系统的系统、用于模拟工业自动化系统的方法以及非暂态计算机可读介质。
背景技术
本文公开的主题一般地涉及工业自动化系统,并且更具体地涉及工业自动化系统的模拟。
发明内容
以下呈现简化的概述,以提供对本文描述的一些方面的基本理解。该概述既不是广泛的综述,也不旨在标识关键/重要的元件或描绘本文中描述的各方面的范围。该概述的唯一目的是以简化的形式将一些概念呈现为随后要呈现的更详细描述的序言。
在一个或更多个实施方式中,提供了一种用于模拟自动化系统的系统,包括:模拟部件,其被配置成基于工业自动化系统的三维虚拟模型来执行工业自动化系统的模拟,该三维虚拟模型包括虚拟机器人模型,该虚拟机器人模型表示要被包括在工业自动化系统中的工业机器人;以及用户接口部件,其被配置成在客户端设备上呈现模拟,其中,模拟部件被配置成与供应商特定的模拟平台的实例交换数据,在该供应商特定的模拟平台内开发要由工业机器人执行的机器人程序,并且模拟部件被配置成基于通过与供应商特定的模拟平台交换数据而促进的机器人程序的执行,在机器人程序的控制下模拟工业机器人的操作。
此外,一个或更多个实施方式提供了一种用于模拟工业自动化系统的方法,包括:通过包括处理器的模拟系统基于工业自动化系统的三维虚拟模型来执行工业自动化系统的模拟,其中,该三维虚拟模型包括工业机器人的虚拟机器人模型,并且其中,该执行包括:在模拟系统与供应商特定的模拟平台的实例之间建立通信链路,在该供应商特定的模拟平台内编写要由工业机器人执行的机器人程序,以及基于通过在模拟系统与供应商特定的模拟平台之间交换数据而促进的机器人程序的执行,在机器人程序的控制下模拟工业机器人的操作;以及通过模拟系统在客户端设备上呈现模拟。
此外,根据一个或更多个实施方式,提供了一种非暂态计算机可读介质,其上存储有指令,所述指令响应于执行而使包括处理器的系统执行操作,所述操作包括:模拟由三维虚拟模型建模的工业自动化系统的操作,其中,该三维虚拟模型包括工业机器人的数字机器人模型,并且其中,模拟包括:将系统通信地连接至供应商特定的模拟平台的实例,在该供应商特定的模拟平台内生成能够在工业机器人上执行的机器人程序;在系统与供应商特定的模拟平台之间交换数据以促进机器人程序的执行;以及基于机器人程序的执行,在机器人程序的控制下模拟工业机器人的操作。
为了实现上述和相关目的,在本文中结合以下描述和附图对某些说明性方面进行了描述。这些方面指示可以实践的各种方式,所有这些方式旨在被涵盖在本文中。当结合附图考虑时,其他优点和新颖性特征可以根据下面的具体实施方式变得明显。
附图说明
图1是示出供应商特定的机器人编程和模拟系统的操作的图。
图2是支持从供应商特定的平台导入的机器人数字孪生的聚合以及利用控制方面标记自动化系统的3D模型的示例工业控制设计和测试系统的框图。
图3是示出将供应商特定的机器人数字孪生聚合到由控制设计和测试系统支持的公共模拟环境中的图。
图4是示出通过控制设计和测试系统执行工业模拟的图,其中,模拟部件与执行机器人程序的供应商特定的模拟平台的实例进行通信。
图5是示出机器人程序被导入与供应商无关的工业模拟系统并在与供应商无关的工业模拟系统上执行的配置的图。
图6是示出在控制设计和测试系统内模拟工业自动化系统的虚拟化模型以在控制程序的控制下虚拟地模仿物理自动化系统的行为的图。
图7a和图7b是可以由工业控制和测试系统的用户接口部件呈现的示例可视化的静止图像。
图8是可以由用户接口部件呈现的示例可视化的另一静止图像。
图9是示出将机械CAD模型导入到控制设计和测试系统的图。
图10是示出将方面元数据添加到CAD模型的图。
图11是可以由控制设计和测试系统的用户接口部件呈现并且用于将方面元数据分配给数字模型的选定元件的示例接口显示。
图12是示出基于方面元数据向数字模型的分配来创建自动化系统项目的主I/O列表的图。
图13是用于执行工业自动化系统的模拟的示例方法的流程图。
图14是示例计算环境。
图15是示例联网环境。
具体实施方式
现在参照附图描述本主题公开内容,其中,相似的附图标记始终用于指代相似的元件。在以下描述中,出于说明的目的,阐述了许多具体细节以提供对其的透彻理解。然而,明显的是,可以在没有这些具体细节的情况下实践本主题公开内容。在其他实例中,以框图的形式示出公知的结构和设备以便于对其进行描述。
如本申请中所使用的,术语“部件”、“系统”、“平台”、“层”、“控制器”、“终端”、“站”、“节点”、“接口”意在指代计算机相关实体、或与具有一个或更多个特定功能的操作装置相关的或作为该操作装置的一部分的实体,其中,这样的实体可以是硬件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于:在处理器上运行的进程、处理器、硬盘驱动器、包括附接(例如,用螺丝拧紧或用螺栓固定)或可移除附接的固态存储驱动器的(光存储介质或磁存储介质的)多个存储驱动器;对象;可执行体;执行线程;计算机可执行程序和/或计算机。作为例证,在服务器上运行的应用和服务器二者均可以是部件。一个或更多个部件可以驻留在进程和/或执行线程内,并且部件可以位于一个计算机上和/或分布在两个或更多个计算机之间。此外,本文描述的部件可以从其上存储有各种数据结构的各种计算机可读存储介质来执行。部件可以经由本地和/或远程处理例如根据具有一个或更多个数据分组的信号(例如,来自经由信号与本地系统、分布式系统中的另一部件交互和/或通过网络例如互联网与其他系统交互的一个部件的数据)进行通信。作为另一示例,部件可以是具有由电气或电子电路操作的机械零件提供的特定功能的装置,电气或电子电路通过由处理器执行的软件或固件应用来操作,其中,处理器可以在装置内部或外部并且执行软件或固件应用的至少一部分。作为又一示例,部件可以是通过电子部件提供特定功能而无需机械零件的装置,电子部件可以在其中包括处理器以执行至少部分地提供电子部件的功能的软件或固件。作为再一示例,接口可以包括输入/输出(I/O)部件及其相关联的处理器、应用或应用程序接口(API)部件。虽然前述示例针对部件的各方面,但是例示的方面或特征也适用于系统、平台、接口、层、控制器、终端等。
如本文所使用的,术语“推断(to infer)”和“推论(inference)”通常是指根据经由事件和/或数据捕获的观察结果的集合来推理或推断系统、环境和/或用户的状态的处理。例如,可以采用推论来标识特定上下文或动作,或者可以生成关于状态的概率分布。推论可以是概率性的——即,基于数据和事件的考虑来计算关于感兴趣的状态的概率分布。推论还可以指用于从事件和/或数据的集合构成更高水平的事件的技术。这样的推论导致从观察到的事件和/或存储的事件数据的集合来构造新的事件或动作,而无论事件是否是时间接近地紧密相关以及事件和数据是来自一个事件和数据源还是多个事件和数据源。
另外,术语“或”旨在表示包含性的“或”而不是排他性的“或”。即,除非另外指明或者根据上下文是清楚的,否则短语“X采用A或B”旨在表示任何自然的包含性组合。即,以下实例中的任一实例均满足短语“X采用A或B”:X采用A;X采用B;或X采用A和B两者。另外,除非另外指明或者根据上下文清楚地指向单数形式,否则本申请和所附权利要求中所使用的冠词“一(a)”和“一个(an)”通常应当被解释为意指“一个或更多个”。
此外,本文中采用的术语“集合”排除空集;例如,其中没有元素的集合。因此,本主题公开内容中的“集合”包括一个或更多个元件或实体。作为说明,控制器的集合包括一个或更多个控制器;数据资源的集合包括一个或更多个数据资源等。同样地,本文中所用的术语“组”是指一个或更多个实体的聚集;例如,一组节点是指一个或更多个节点。
将根据可以包括许多设备、部件、模块等的系统来呈现各个方面或特征。要理解和认识到,各个系统可以包括附加的设备、部件、模块等,并且/或者各个系统可以不包括结合附图讨论的设备、部件、模块等中的全部。也可以使用这些方法的组合。
工业自动化系统通常包括多轴工业机器人,多轴工业机器人执行诸如物料处理(例如,移动或堆叠产品项目)、产品的码垛、库存物料的加工(例如,使用由机器人臂铰接的加工工具)、产品扫描的功能或其他这样的功能。这些工业机器人通常可从机器人供应商购买,供应商也可以提供用于对其机器人进行配置和编程的软件工具。在一些情况下,用于对给定供应商的机器人进行编程的编程语言或算法可以是该供应商专有的。
为了使得终端用户能够在部署到工厂地板上之前安全测试和调试他们的机器人程序,一些机器人供应商还可以提供供应商特定的模拟平台,该模拟平台在用户定义的机器人程序的控制下模拟机器人的行为。在一些情况下,这些模拟平台可以与机器人编程和配置软件捆绑在一起。图1是示出供应商特定的机器人编程和模拟系统102的操作的图。供应商的编程和模拟系统102可以包括软件工具,软件工具使得终端用户能够通过通常以特定于机器人供应商的专有编程语言输入机器人编程输入112来离线(即,在与物理机器人断开连接的计算设备上)编写机器人程序106。为了测试程序,系统102可以执行机器人模拟104,其中,使用机器人108的三维(3D)虚拟模型来数字地模仿在机器人控制程序106的控制下机器人的操作。系统102可以基于模拟104的操作来呈现指示机器人的预期操作的模拟输出110。这可以包括根据由机器人控制程序106表示的控制指令来呈现机器人108的图形表示在虚拟三维空间中的移动,这使得设计者能够验证机器人的模拟操作符合预期操作。基于对模拟输出110的观察,设计者可以修改机器人控制程序106以使模拟操作与期望操作更紧密地对准,并且执行后续模拟直到预期的机器人操作被认为是可接受的。然后,可以将经测试的机器人控制程序106下载到物理机器人。
该离线编程、模拟和调试过程可以使得机器人控制程序106能够在现场执行之前在虚拟环境中被彻底测试,消除了在物理装备上测试和调试程序106所涉及的风险。然而,由给定的机器人供应商提供的编程和模拟工具(例如,编程和模拟系统102)通常仅被设计为支持该供应商的机器人的编程和模拟。因此,由机器人供应商提供的用于支持他们的机器的模拟工具不能够准确地模拟机器人将在其内操作的整个工业环境。在一些情况下,在这些供应商提供的模拟系统中可以创建机器人周围的紧邻外围的低保真度模拟,但是这些外围模拟不能准确地对周围区域的物理特征进行建模。这些模拟可以粗略地模拟机器人工作单元内的零件的移动,例如,通过假定在机器人的夹持器在距箱子的限定接近度内移动时在所有情况下机器人均完美地夹持零件,来模拟机器人工作单元内的零件的移动,但是这样的粗糙模拟不能准确地对在机器人工作单元内和穿过机器人工作单元的零件移动的物理特征进行建模,而是假定在每个实例中机器人对零件的无错误夹持和移动。
此外,在传统的开发工作流程中,如果用于工业机器人的程序是以供应商特定的编程开发的,并且设计者希望在不是特定于机器人供应商的单独模拟平台中测试该程序,则通常必须以测试环境支持的格式在该环境中重写机器人程序。这不仅需要重复工作,而且产生不太准确的模拟,因为被测试的机器人程序不是最终将在物理机器人上执行的程序,而是实际机器人程序的近似。
为了解决这些和其他问题,本文描述的一个或更多个实施方式支持工业控制设计和测试系统,该工业控制设计和测试系统支持将在其内部署供应商的机器人的工业环境的虚拟现实世界模拟。控制设计和测试系统可以应用物理建模来准确地模拟机器人将在其内操作的工业环境,而不是粗略地模拟在机器人区域内以及穿过机器人区域的零件的移动。该物理建模可以部分地基于添加到包括机器人的整个自动化系统模型的部件的方面元数据。例如,机器人的末端执行器可以用精确地对机器人的夹持器的物理特征进行建模的末端执行器元数据来增强。通过在模拟期间利用该物理建模,测试系统可以预测机器人可能由于相对于进入零件的移动、形状、和/或位置的非最佳机器人移动或夹持而未能拾取零件的情况。
设计和测试系统的实施方式还可以使得能够将机器人或其他机器的供应商特定的数字孪生带入同一模拟空间中,使得即使在来自各种不同供应商的机器人或机器被集成到同一自动化系统中的情况下,也可以准确地评估多个机器的协同操作。这可以包括将在单独的供应商特定平台中配置的多个虚拟机带入同一虚拟测试和模拟环境中,以评估聚合系统将如何操作。在其他供应商特定的设计和模拟平台中开发的数字模型的情况下,设计和测试系统可以链接至这些供应商特定平台的实例,使得使用由机器供应商的软件所使用的相同算法来模拟虚拟机器人。这使得将在物理机器人上执行的实际供应商特定的机器人算法能够在模拟平台上执行,从而消除了以模拟平台可理解的格式重写程序的需要,并且在与供应商无关的模拟环境的背景内产生更准确的机器人模拟。根据这个新的开发工作流,机器人程序仅需要在供应商特定的开发包内被编写一次,并且该供应商特定的程序可以被导入到由控制和模拟系统支持的与供应商无关的模拟平台中,从而比之前更快地产生可工作的且准确的模拟模型。
图2是支持从供应商特定的平台导入的机器人数字孪生的聚合以及利用控制方面标记自动化系统的3D模型的示例工业控制设计和测试系统202的框图。控制设计和测试系统202可以包括:用户接口部件204、模拟部件206、控制器仿真部件208、方面元数据部件210、模型导入部件212、一个或更多个处理器218、以及存储器220。在各种实施方式中,用户接口部件204、模拟部件206、控制器仿真部件208、方面元数据部件210、模型导入部件212、一个或更多个处理器218、以及存储器220中的一个或更多个可以彼此电耦接和/或通信地耦接,以执行控制设计和测试系统202的功能中的一个或更多个功能。在一些实施方式中,部件204、206、208、210和212可以包括存储在存储器220上并且由处理器218执行的软件指令。控制设计和测试系统202还可以与图2中未示出的其他硬件和/或软件部件交互。例如,处理器218可以与一个或更多个外部用户接口设备例如键盘、鼠标、显示监视器、触摸屏或其他这样的接口设备进行交互。
用户接口部件204可以被配置成以任何合适的格式(例如,视觉、音频、触觉等)接收用户输入并向用户呈现输出。在一些实施方式中,用户接口部件204可以在显示设备(例如,与台式计算机、膝上型计算机、平板计算机、智能电话等相关联的显示设备)上呈现交互式显示屏幕,其中,显示屏幕用作控制设计和/或模拟平台的接口。用户接口可以显示正在用仿真的工业控制程序进行测试的自动化系统的虚拟3D模拟,呈现基于该模拟的表示自动化系统的预期性能的操作统计以及其他这样的信息。在一些实施方式中,用户接口部件204还可以呈现可选择的设计工具,并且经由与工具的交互接收与配置工业自动化的方面(例如,虚拟系统的设备与工业控制器之间的I/O连接)有关的设计输入。用户接口部部件204可用的设计工具可以包括自动化方面的集合,这些自动化方面可以与正被设计的自动化系统的机械元件或部件选择性地相关联。可供选择的方面基于在存储器220上保持的方面定义222,方面定义222定义了可用方面以及相应方面的相关联模拟数据,其可以由模拟平台使用来在工业模拟的环境内模拟各方面的操作或行为。
模拟部件206可以被配置成在工业控制程序的控制下模拟工业自动化系统的虚拟化模型的操作。模拟部件206还可以被配置成通信地链接至供应商特定的模拟平台的实例,以便于在系统202内使用供应商的专有控制算法来模拟供应商的机器人。
控制器仿真部件208可以被配置成对正在虚拟化的(或仿真的)工业控制器上测试的工业控制程序的执行进行仿真。方面元数据部件210可以被配置成根据从用户接收的设计输入将方面元数据分配给自动化系统的数字模型的选定元件。模型导入部件212可以被配置成导入机器人或其他机器的虚拟孪生、自动化系统或机器的机械CAD模型、或系统的另一类型的数字模型。
一个或更多个处理器218可以参照所公开的系统和/或方法执行本文描述的功能中的一个或更多个功能。存储器220可以是计算机可读存储介质,该计算机可读存储介质存储用于参照所公开的系统和/或方法执行本文描述的功能的计算机可执行指令和/或信息。
在一些实施方式中,控制设计和测试系统202可以在客户端设备上执行,该客户端设备例如台式计算机、膝上型计算机、平板计算机、移动设备、可穿戴AR/VR器具等。在其他实施方式中,系统202可以在云平台或具有访问系统202的权限的多个用户可访问的另一高级平台上执行。在这样的实施方式中,客户端设备可以远程访问系统的设计和模拟工具,并且利用这些工具来设计和测试虚拟化的自动化系统。
图3是示出根据一个或更多个实施方式的将供应商特定的机器人数字模型302聚合到由控制设计和测试系统202支持的公共模拟环境中的图。控制设计和测试系统202包括模拟部件206,模拟部件206在工业控制程序的控制下模拟工业自动化系统的虚拟化模型的操作。通常,由系统202执行的模拟平台可以通过对针对自动化系统的虚拟模型的控制程序的执行进行仿真来测试自动化系统的控制编程和机械设计,该过程被称为虚拟试运行。由模拟部件206执行的模拟响应于控制程序在(由控制器仿真部件208实例化的)仿真工业控制器上的执行而模仿自动化系统的机械资产的行为,使得可以在物理系统和被调试的控制代码的后续试运行之前验证正确的操作。在一些场景中,可以在控制设计和测试系统202自身内开发被测试的自动化系统的虚拟模型。替选地,在一些场景中,自动化系统的机械模型的至少一些部分可能已经在单独的计算机辅助设计(CAD)平台中被开发、被导入到系统202中、并被转换成能够由模拟部件206模拟的自动化系统的模拟就绪数字模型,如本文将更详细描述的。
被测试的工业自动化系统可以包括由一个或更多个机器人供应商提供的一个或更多个工业机器人。这些工业机器人在它们自己的机器人程序304的控制下独立于主工业控制程序或结合主工业控制程序来操作,主工业控制程序将在工业控制器例如可编程逻辑控制器(PLC)或另一类型的控制器上执行,以便于对较大自动化系统的监视和控制。
在图3所示的示例中,待模拟的自动化系统包括由相应的两个机器人供应商(供应商1和供应商2)提供的两个工业机器人(分别由机器人模型302a和302b表示)。每个机器人被设计成使用其相关联的供应商的专有配置平台和编程语言来配置和编程。如上所述,这些供应商特定的机器人编程工具中的一些包括模拟能力,模拟能力使得设计者能够在用户设计的机器人程序304的控制下虚拟地模拟供应商的机器人的数字模型302(例如,数字孪生或另一类型的虚拟化模型),从而使得设计者能够观察在用户定义的程序304的控制下机器人的预期操作的模拟。然而,由于供应商特定的模拟工具主要被设计成支持对供应商自己的机器人的仿真,因此通常不能在供应商的模拟平台内准确地模拟机器人将在其内操作的较大环境,例如,机器人将是其一部分的较大自动化系统。
此外,尽管用户的自动化系统可以包括由不同供应商提供的并且使用那些各种供应商的编程工具和语言编程的机器人,但是没有办法在共同的供应商特定的模拟环境中一起模拟这些多个机器人。尽管可以在另一模拟平台内创建和测试这些各个机器人的数字模型,但是这将需要用户(例如,使用模拟系统的本地编程工具)单独地开发可以在该单独的模拟平台上执行的机器人控制程序的近似,这相对于在供应商自己的平台内执行的模拟,造成额外的劳动同时产生对机器人不太准确的模拟。
为了解决这些问题,控制设计和测试系统202的一个或更多个实施方式可以将表示由一个或更多个供应商制造的机器人的数字模型302(或其他类型的数字模型)并入机器人将在其中操作的工业自动化系统的较大数字模型中,并且通过在系统的模拟环境内执行将在物理机器人上执行的实际机器人程序304来在自动化系统的环境内整体模拟这些机器人模型302。为此,模拟部件206可以被配置成通信地链接至供应商特定的编程或模拟平台的实例,以便于在系统的模拟平台内执行具有其供应商特定的专有格式的用户定义的机器人程序304。
在所示的示例中,模拟部件206将执行正被设计和测试的工业自动化系统的模拟306。因此,在系统202内创建自动化系统的能够模拟的数字模型或将自动化系统的能够模拟的数字模型导入到系统202内以作为模拟306来执行,这将在要由相关联的工业控制器执行的一个或更多个工业控制程序的控制下模仿自动化系统的操作。除了其他机器和部件例如输送机、马达、马达驱动器、工作站、加工机器、防护装置、传感器、管道系统、管道、控制面板等之外,自动化系统的数字模型将包括一个或更多个机器人模型302,该机器人模型302表示要被包括作为自动化系统的一部分的工业机器人,如上所述。工业机器人可以由共同的供应商制造,或者可以包括由两个或更多个不同供应商提供的机器人。在任一场景中,每个机器人将根据由系统设计者开发并使用由机器人供应商提供的专有编程工具编写的机器人程序304来操作。
在一些实施方式中,要由控制设计和测试系统202模拟的机器人模型302可以由模型导入部件212从其相应的供应商特定的机器人模拟平台导入到较大自动化系统的模拟306中,并且集成到较大自动化系统的模拟306中。替选地,机器人的数字3D模型可以在控制设计和测试系统202内创建并被添加到模拟306,并且模拟部件206可以通过链接至对应的供应商特定的模拟平台的实例来模拟这些机器人模型,如以下将讨论的。
控制设计和测试系统202的模拟部件206被配置成在模拟环境内执行当物理机器人被部署在工厂地面上时将在物理机器人上执行的机器人程序304,即使程序304是专有的供应商特定的格式,也在模拟环境内执行该机器人程序304,而不是要求开发者出于测试目的在模拟环境内编写实际机器人程序的近似。在一些实施方式中,这可以通过通信地链接至供应商特定的模拟平台的实例来完成。图4是示出通过控制设计和测试系统202执行工业模拟的图,其中,模拟部件206与执行机器人程序304a和304b的供应商特定的模拟平台的实例进行通信。在该示例中,模拟部件206执行正被测试的自动化系统的模拟306,并且自动化系统包括由两个不同的机器人供应商制造的两个机器人,这两个机器人在模拟内被表示为机器人模型302a和302b(例如,数字孪生或其他类型的虚拟机器人模型)。在这点上,被设计和测试的自动化系统可以包括生产线或其他类型的工业组件,其包括由执行控制程序404的工业控制器(例如,可编程逻辑控制器或另一种类型的控制器)监视和控制的多个机器或其他工业资产(例如,输送机、马达、马达驱动器、操作员站、加工区域、码垛站等)。两个工业机器人在其相应的机器人程序304a和304b的控制下在该工业环境内操作,以执行诸如物料处理(例如,从一个输送机拾取零件并移动到另一输送机,或者从输送机拾取零件并堆叠在托盘上)、库存物料的加工、零件扫描的功能或其他这样的功能。机器人程序304a和304b可以自主地或与要由工业控制器执行的控制程序404协作地控制其相应的机器人。
控制设计和测试系统202包括控制器仿真部件208,控制器仿真部件208对正在虚拟化的(或仿真的)工业控制器402上测试的工业控制程序404的执行进行仿真,并且模拟部件206在工业控制程序404的控制下模拟工业自动化系统的虚拟化模型408的操作,其中,虚拟模型408包括整体集成在自动化系统的较大虚拟模型408的环境内的两个工业机器人的数字模型302a和302b。在控制设计和测试系统202内,自动化系统的虚拟模型408可以与为自动化系统开发的控制程序404(例如,梯形逻辑)接口,以产生虚拟测试环境,该虚拟测试环境使得能够在完成整体设计并进行到构建和安装阶段之前虚拟地模拟和测试机械设计和控制设计两者。
如上所述,用于虚拟测试目的的表示两个机器人的机器人模型302a和302b可以在由机器人供应商提供的供应商特定的编程和模拟平台中创建,以及从该供应商特定的编程和模拟平台导入。在这样的场景中,可能已经使用由相应的供应商提供的供应商特定的机器人编程工具开发了机器人程序304a和304b,并且在一些情况下可能已经使用同样由机器人供应商提供的供应商特定的模拟平台针对每个个体机器人对机器人程序304a和304b进行了预测试。然而,在供应商提供的模拟平台上执行的这些模拟通常不能模拟机器人在机器人将在其中操作的较大自动化系统的完整环境中的操作。将机器人模型302a和302b带入与供应商无关的控制设计和测试系统202中并且将这些模型302a和302b并入机器人将在其中操作的自动化系统的虚拟模型408中可以产生对整个聚合自动化系统内的机器人操作更准确的测试。
为了在模拟306内模拟机器人的实际操作,模拟部件206可以被配置成通信地链接至供应商特定的模拟平台406a和406b的实例,供应商特定的模拟平台406a和406b使用机器人供应商在其相应的模拟平台中使用的真实算法来执行机器人程序304a和304b的实例。供应商特定的模拟平台406的实例可以在与控制设计和测试系统202相同的计算设备(与系统202共享计算资源)上执行,或者可以在通信地连接至系统202的单独的计算设备上执行。
在模拟306的执行期间,除了在控制程序404的控制下模仿其他自动化系统部件的行为之外,模拟部件206基于机器人程序304a和304b在其相应的供应商特定的模拟平台406上的执行来模拟(由机器人模型302a和302b表示的)每个工业机器人的行为。在这点上,模拟部件206可以与这些单独的模拟平台406a和406b交换模拟数据,包括读取由机器人程序304a和304b在执行期间生成的程序输出(例如,程序变量的值),以及基于模拟306的状态(例如,模拟零件存在信号、紧急停止信号、操作模式指示等)向机器人程序304a和304b写入输入。例如,如果机器人程序304被编写为使得其对应的机器人的移动取决于多个零件存在传感器的状态,则模拟部件206可以将这些传感器的模拟状态提供给执行程序304的供应商特定的模拟平台406。可以通过模拟部件206基于由机器人程序304a和304b生成的程序输出以及编码在机器人模型302a和302b中的机器人的机械属性(例如,物理尺寸、运动轴、运动约束等)来模仿机器人的预期行为。模拟部件206可以执行模拟306的执行与机器人程序304a、304b的执行之间需要的任何时间同步,以确保准确地表示机器人与自动化系统的其他部件之间的预期实时交互。
使用该架构,系统202使得在其本地供应商特定的测试和模拟平台406中配置的虚拟机器人能够被带入机器人将在其中操作的较大自动化环境的准确虚拟表示(模型408)中,并且使用将由物理机器人执行的相同机器人程序304在该虚拟环境内模拟机器人的操作,该机器人程序304使用机器人供应商的本地控制算法来执行。由于系统202对于机器人供应商是不可知的,因此在相应的不同供应商特定的平台406上配置和编程的多个机器人可以被带入公共模拟环境中,以验证包括构成自动化系统的多个机器人和其他工业资产的聚合自动化系统的操作。当设计者对自动化系统的虚拟操作满意时,在实际自动化系统试运行时,控制程序404和机器人程序304可以被安装在其相应的工业控制器和机器人上。
作为在供应商特定的平台406上执行机器人程序304的替代,202的一些实施方式也可以被配置成直接在系统202上导入和执行机器人程序304。图5是示出这种配置的图。根据该架构,机器人程序304a和304b已经被导入到系统202中,以在工业自动化模拟306的环境内与模拟机器人模型302相结合地来执行。尽管机器人程序304a和304b是使用其相应的机器人供应商的专有编程语言来编程的,但是模拟部件206可以通过通信地链接至供应商特定的模拟平台406a和406b的实例来执行这些机器人程序304a和304b。例如,模拟部件206可以访问和利用在系统202上本地地准确翻译和执行机器人程序304所需的在模拟平台406上可用的任何专有的资源(例如,执行算法、库、操作系统等)。如果需要,该方法可以允许模拟306执行得比实时更快,因为相同的系统时钟(系统202的系统时钟)可以用于模拟的所有可执行部分。
此外,在一些实施方式中,不是导入在供应商特定的编程和模拟平台406中开发的机器人模型302,而是可以在控制设计和测试系统202中开发机器人的能够模拟的3D数字模型,并且这些数字模型可以被链接至供应商特定的机器人程序304并且被动画化以在供应商特定的程序304的控制下模拟机器人的操作。
提供在由系统202支持的与供应商无关的工业模拟平台内使用机器人供应商自己的机器人程序304来准确地模拟机器人模型302的能力使得能够在自动化系统及其相关联的产品的高保真度模型408内模拟和测试机器人的操作,从而使得设计者能够在比可以在供应商特定的模拟平台406内创建的机器人的预期环境的模拟更鲁棒的模拟内观察和评估机器人的预期交互。图6是示出在控制设计和测试系统202内对工业自动化系统的虚拟化模型408(其可以包括一个或更多个机器人模型302)进行模拟以在控制程序404的控制下虚拟地模仿物理自动化系统的行为的图。通常,自动化系统的机械和/或控制部件由包括相关联的方面元数据608的那些部件的三维数字模型来表示,方面元数据608定义那些部件的模拟特性或行为。自动化系统的给定部件或机器的方面元数据608对于工业部件或机器的类型(例如,特定类型的接头、马达、传感器、输送机等)是特定的,并且使部件或机器被模拟部件206识别为控制元件或活动元件。自动化系统的数字模型408的各种元件的方面元数据608向模拟部件206指示关于每个元件响应于控制和物理刺激在模拟环境内如何表现。
由于数字模型408(借助于方面元数据608)对自动化系统的机械特性以及构成模型408的部件的行为属性进行建模,因此数字模型408可以用于在控制程序404的控制下模拟自动化系统的预期操作和行为。该模拟使得设计者能够从移动、速度、流量、温度、填充水平、产品通过系统的移动等的角度查看和验证模拟系统对控制输入的响应。在图6中描绘的示例中,系统202的控制器仿真部件208充当工业控制器仿真器以执行控制程序404,控制程序404可以是针对自动化系统的数字模型408开发和测试的控制程序404(当物理自动化系统试运行时将在工业控制器上执行的控制程序404通常与在机器人上执行的机器人程序304分开)。
模拟部件206可以利用编码在数字模型408中的机械特性和相关联的方面元数据608来模拟要由控制程序404监视和调节的自动化系统的操作方面。为了实现这一点,用户(例如,控制工程师)可以虚拟地将控制程序404与数字模型408接口,以便于在程序404与数字模型408之间交换模拟的I/O数据,从而模拟自动化系统的真实世界控制和操作。为此,开发者可以使用系统的配置工具(例如,标签浏览器)来选择性地将由控制程序404定义的控制器I/O映射到针对数字模型408的活动控制元件定义的I/O。在示例场景中,控制工程师可以定义驱动数字模型408中定义的马达、致动器、或其他部件的I/O地址和控制器标签(例如,PLC标签),并且选择性地将标签和相关联的I/O地址链接至针对建模的部件定义的I/O点。作为整个自动化系统设计的一部分的控制程序404与数字模型408之间的这种I/O映射可以作为PLC连接数据606被存储在适当格式化的文件(例如,电子表格或另一类型的文件)中,并且与数字模型408集成。因此,除了机械设计方面之外,数字模型408还保持控制设计的该方面。
控制程序404可以包括用于处理读入控制器中的输入信号以及控制来自控制器的输出信号的任何可想到类型的代码(任何可想到类型的代码包括但不限于梯形逻辑、顺序功能图、功能框图或结构化文本),并且被设计成调节正由数字模型408建模的自动化系统。在模拟期间,模拟部件206基于由数字模型408表示的物理系统的静态和动态特性来生成数字和模拟I/O值,这些数字和模拟I/O值表示例如传感器输出、计量输出或与预期要由物理系统生成的数据类似的其他工厂数据。该模拟输出数据604被提供给执行控制程序404的仿真部件208,仿真部件208接收该数据604作为一个或更多个虚拟物理输入。控制程序404根据用户定义的算法处理这些输入,并且基于该处理生成数字和/或模拟控制器输出数据602。该输出数据602表示将由执行控制程序404的控制器生成并且被发送到包括自动化系统的硬连线现场设备的物理输出(例如,PID环路控制输出、螺线管激励输出、马达控制输出、致动器控制输出、机器人控制输出等)。根据用户定义的I/O映射,控制器输出数据602被提供给数字模型408的适当输入点。
同时并结合该基于控制器的仿真,模拟包括在数字模型408中的任何机器人模型302,以在其相应的机器人程序304的控制下在该模拟的工业环境内模仿其对应的物理机器人的行为,如以上结合图4和图5所描述的。这需要与自动化系统的其他虚拟化部件的交互以及与移动通过自动化系统的虚拟产品或物料的交互。
除了生成模拟输出数据604之外,模拟部件206还响应于模拟控制器输出数据602基于对建模的自动化系统的预期行为以及模拟数据交换的分析来生成系统响应数据618。模拟部件206基于由与数字模型408的相应控制元件相关联的方面元数据608定义的约束以及行为和物理属性来估计和模拟虚拟自动化系统对仿真控制器输出(以及这些输出的定时)的响应。例如,基于如由方面元数据608表示的由数字模型408建模的工业部件(例如,输送机、工业机器人、机器、模拟产品等)的机械和行为特性,模拟部件206可以响应于控制器输出数据602来预测建模的工业部件的预期行为以及由这些部件制造、处理或操纵的产品的行为,并且将该预测的行为作为系统响应数据618来传送。由系统响应数据618表示的示例行为可以包括但不限于:工业机器人的移动和轨迹(基于机器人程序304的执行)、产品通过模拟的自动化系统的移动(包括速度、加速度、位置、滞后、碰撞、夹持器故障等)、流体通过系统的流速、系统的预期能量消耗、系统的机械部件的预期退化速率(部分地基于数字模型408中定义的摩擦系数信息)、在操作期间施加到系统的相应部件的预期力、或其他这样的行为。
用户接口部件204可以生成在客户端设备上呈现模拟结果的可视化614。可视化614可以基于数字模型408来呈现自动化系统的图形表示,并且基于系统响应数据618和/或与模拟会话有关的其他计算的统计数据来使该图形表示动画化,从而产生操作中的自动化系统的三维视觉表示。一些模拟数据也可以在可视化614上被呈现为字母数字覆盖。该模拟技术可以用于在不将现场装备和机器置于危险中的情况下来测试和调试控制程序,以测试对机器操作的修改并且估计这样的修改如何影响某些关键性能指标或财务度量,或者以执行其他类型的分析。
在一些实施方式中,用户可以以高粒度程度控制模拟的速度。例如,用户可以选择实时执行模拟,这样的模拟描绘自动化系统的操作,如同它将实时发生的那样。替选地,用户可以根据用户指定的时基选择性地选择比实时更快地执行模拟的控制序列或过程的一些或所有阶段。这使模拟及其相关联的分析在压缩的时间帧内发生。
图7a和图7b是可以由用户接口部件204呈现的示例可视化614的静止图像。该示例可视化614表示包括输送机712的自动化系统的模拟,该输送机712传送要堆叠到位于相应滑槽710的端部处的拖盘714上的箱子704。每个箱子704被存放在可用的滑槽710中的一个滑槽上,并且堆叠机器人702从滑槽710的底部依次拾取每个箱子704(如图7a所示)并且将箱子704堆叠在位于滑槽710的端部处的拖盘714上(如图7b所示)。该模拟还包括叉车708的模拟模型,一旦拖盘714已经堆叠有其全部分配的箱子704,该叉车708收集并移除每个拖盘714。
聚合自动化系统的动画三维可视化的外观和行为基于数字模型408及其相关联的方面元数据608,方面元数据608定义自动化系统的各个部件(例如,输送机712、驱动输送机712的马达、叉车708、将箱子704存放在输送机712上的机器等)的模拟行为。模拟行为还基于控制程序404的仿真执行,控制程序404经由系统的虚拟I/O(例如,传感器输入、至马达驱动器和气动致动器的输出等)虚拟地监视和控制系统的自动化部件。在该环境中堆叠机器人702的行为基于如上结合图4或图5所描述的机器人程序304的执行来控制。在这点上,可能已经在由机器人702的供应商提供的供应商特定的编程和模拟平台406中开发了机器人程序304,并且模拟部件206基于同一版本的机器人程序304的执行来模拟机器人702的行为,该机器人程序304将在实际自动化系统试运行时在对应的物理机器人上安装和执行。如上所描述的,模拟部件206可以通过链接至供应商自己的模拟平台406的实例来执行机器人程序304。机器人702的图形表示及其定义的运动能力和约束由机器人模型302定义。
图8是可以由用户接口部件204呈现的示例可视化614的另一静止图像。在该示例中,自动化系统包括两个工业机器人802a和802b。两个机器人802a和802b可以由两个不同的机器人供应商制造,并且使用其相应的供应商专有的两种不同的编程格式来编程。模拟部件206可以通过链接至相应的供应商特定的模拟平台406的实例以执行相应的机器人程序304,来在较大自动化系统的环境内模拟两个机器人802a、802b的行为。
如上所述,自动化系统的数字模型408可以包括构成自动化系统的机械元件和/或控制元件的能够模拟的数字表示的集合。在一些场景中,设计者可以在控制设计和测试系统202内创建该虚拟集合作为设计过程的一部分;例如,通过从可用部件(表示诸如输送机、马达、马达驱动器、工作站、加工机器、防护装置、传感器、管道系统、管道、控制面板、安全设备等的元件)的库中选择要包括在自动化系统中的部件,并且将这些部件添加到聚合数字模型408,来创建该虚拟集合。控制设计和测试系统202的一些实施方式还可以使得能够将自动化系统的虚拟部件中的一些或全部作为机械CAD模型导入,然后可以通过向那些CAD模型添加方面元数据来将其变换成那些部件的能够模拟的数字模型。图9是示出将机械CAD模型902导入到控制设计和测试系统202中的图。
在该示例中,用户可以导入表示要包括在自动化系统中的一个或更多个机械结构或设备的CAD模型902。CAD模型902可以表示在单独的CAD系统内开发的自动化系统的一个或更多个部件的机械设计,并且模型导入部件212可以直接从CAD系统或从另一源导入该模型902。CAD模型902可以包括诸如工业机器人、输送机、加工机器、马达、马达驱动器、传感器、管道系统、管道、平台、安全门和围栏、控制柜的工业资产或其他这种资产的三维图形表示。如果CAD模型902表示自动化系统的部件的集合,则模型902还可以指定这些图形表示相对于彼此的位置和取向、机械元件之间的物理连接、或其他这样的机械属性和关系。一旦导入,设计者可以将CAD模型902合并到较大自动化系统模型408中。
典型地,机械CAD模型902基本上仅是适于用作构建和安装自动化系统的指导的三维技术图,但是没有模拟能力。在一些实施方式中,控制设计和测试系统202可以包括方面元数据部件210,方面元数据部件210使得用户能够利用方面元数据来增强CAD模型902,该方面元数据将CAD模型902变换成自动化系统(或其部件)的能够模拟的数字模型,该数字模型可以在模拟平台内执行以模仿系统的操作。图10是示出将方面元数据808添加到CAD模型902的图。在一个或更多个实施方式中,由用户接口部件204呈现的图形接口显示可以包括一个或更多个工具栏,用于将方面元数据添加到CAD模型902的选定元件或部件或者自动化系统的数字模型408的任何其他元件。可供选择的方面基于存储在系统202上(例如,存储器220上)的方面定义222。
每个方面定义222定义物理属性、运动属性或机电属性的集合,其规定了该方面在模拟环境内如何表现。由方面定义222定义的属性基本上反映现实世界中对应物理方面的物理行为和特性。控制设计和测试系统202根据机械元件、控制元件或为其定义物理属性的设备的类型对方面定义222进行分类。由用户接口部件204呈现的方面工具栏根据这些分类列出了可用方面以供用户选择。可以选择并应用于数字模型408(例如,应用于导入的CAD模型902、机器人数字孪生302、或应用于数字模型408的其他部件)的示例方面包括但不限于:各种类型的动态或运动接头(例如,滑动接头、旋转接头、机器人臂接头、铰链等)、移动表面例如传送器、马达、夹持器(例如,吸式夹持器、机械夹持器等)、传感器、气动致动器或液压致动器(例如,推动臂、止动器等)、滚轴、或机械系统的其他这样的元件。
方面定义222的目录还可以包括各种类型的机器人末端执行器(例如,机械夹持器、吸式夹持器等)。末端执行器方面定义222可以针对其相应的夹持器类型定义物理属性(例如,3D物理约束),这些物理属性可以由模拟部件206使用来以低级抽象更准确地模仿机器人的零件处理行为的操作。通常,虚拟工业机器人与由这些机器人处理的产品(例如,箱子704)之间的模拟交互可以部分地取决于与机器人的末端执行器(例如,末端执行器706)相关联的夹持器方面元数据508的类型。例如,应用于机械模型402中定义的机器人的表示的吸式夹持器方面可以向模拟部件206指示机器人的末端执行器(例如,图7a和图7b中的末端执行器706)要被建模为吸式夹持器,由此可以假设吸式夹持器附近的产品已经被机器人(经由吸力)夹持并且随后可以与机器人臂协作移动以模拟机器人对零件的移动。相比之下,机械夹持器方面可能暗示与夹持器对零件的移动有关的更复杂的物理性质。在机械夹持器方面的情况下,物理引擎的约束可以用于在允许零件与机器人的移动协作移动(由于夹持器臂和产品表面之间的摩擦)之前确定夹持器的侧面是否以适当的位置和角度接触产品的相应侧面。由于机械夹持器对产品的牢固夹持取决于产品在进入拾取站(机器人从该拾取站夹持零件)时的正确对准以及在拾取时产品与机器人的夹持器之间的相对对准,所以模拟部件206可以在模拟期间评估这些因素以确定产品是否已被适当地夹持,或者替选地确定是否可能由于未对准而发生误夹持。关于如何正确地评估该夹持行为的指令可以由分配给机器人的机械夹持器方面元数据608提供。
一些方面元数据608还可以将数字模型408的部件指定为负载源,其将产品的离散项目(例如,箱子、行李、制造的零件、流体物料或其他这样的产品)引入到系统中。当负载源方面标签被应用于模型408的元件时,用户接口部件204可以提示用户针对指定的负载源提供用户定义的操作参数,例如产品被引入到系统中的速率、产品的形状(例如,具有指定尺寸的箱子或圆柱体、由柔性材料制成并具有随机可变形状的物品等)、与产品相关联的碰撞物理、或其他这样的特性。当随后模拟数字模型408时,模拟部件206根据负载源方面元数据608模拟由所标记的负载源对产品项目(例如,图7a和图7b中所描绘的示例中的箱子704)的释放。
将方面元数据608添加到数字模型408的过程涉及将由模型408表示的选定机械部件或设备标记为(由方面定义222之一表示的)可用控制方面之一。该方面标记工作流可以通过经由与由用户接口部件204呈现的图形接口显示的交互提交方面说明输入1004来执行。例如,用户可以从方面工具栏中选择机器人接头的类型作为方面,并且随后选择要被标记为这种类型的接头的机械模型408的元件。响应于这些选择,方面元数据部件210将针对选定类型的机器人接头的方面元数据608与数字模型408的所指示的部件相关联,从而将接头的静态图形表示变换成活动的虚拟控制元件,该虚拟控制元件的行为可以在模拟平台内被虚拟地模拟。从对应于所指示的方面类型的方面定义222中提取分配给选定的机械部件的方面元数据608。
方面元数据608基本上可以定义任何类型的信息,该信息可以由模拟部件206识别和利用,以响应于控制输入或模拟力来准确地对对应机械部件的运行时移动和行为进行建模。取决于该方面,方面元数据608可以包括可全局地应用于该方面的所有实例的默认固定值或属性,以及可以由用户定制以符合用户系统的细节的用户定义的元数据。图11是可以由用户接口部件204呈现并且用于将方面元数据608分配给数字模型408的选定元件(例如,导入的CAD模型902的元件、机器人模型302的元件、或者自动化系统模型408的其他元件)的示例接口显示1102。在该示例中,接口显示1102包括主工作空间1106,在主工作空间1106上呈现正被设计的自动化系统的模型408的3D图形表示1108。接口显示1102可以响应于对控制方面选项卡1130的选择而在主工作空间1106上方呈现方面工具栏1104。方面工具栏1104显示表示控制方面或方面的类别的多个可选选项,这些可选选项可以经由与图形表示1108的交互被选择并添加到模型(例如,控制面板、输送机、动态接头、末端执行器、运动接头、负载、马达、物理、物理几何、物理分组、传感器等)。
在图11中描绘的示例中,图形表示1108的表示输送机1112的部分将被标记为具有“直线输送机”方面,以将数字模型408的该部件标识为输送机,并且将模拟元数据与输送机1112的表示相关联,该模拟元数据可以被模拟部件206利用以准确地模拟输送机1112的行为。为了分配该方面,用户可以与接口显示1102交互以从方面工具栏1104中的输送机的下拉选择1132中选择“直线输送机”选项,然后选择图形表示1108(数字模型408的可视化)中的输送机1112的表示。响应于这些选择,在主工作空间1106的左侧呈现方面元数据面板,方面元数据面板列出了用于输入用户可定义元数据值的多个字段1114至1128。这些用户可定义元数据值是除了与“直线输送机”方面相关联的固定的全局方面元数据值之外的,其也与输送机1112相关联。
通常,由用户接口部件204呈现的可用的用户可定义方面元数据值的列表基于选定的特定方面。这样,当用户将方面分配给数字模型408的部件时,用户接口部件204提示用户输入可用于该选定方面的任何用户定义的元数据字段的值。在所示示例中,用于输送机的用户可定义方面元数据608可以包括针对输送机1112的前边缘1114和后边缘1116的定义,前边缘1114和后边缘1116可以由方面元数据部件210基于向其分配输送机方面的机械输送机表示的形状来自动地识别,或者可以由用户明确地识别(例如,通过选择前边缘和后边缘以指示它们的位置)。附加地,用户接口部件204可以提示用户输入这样的用户可定义输送机方面元数据值,如输送机的运行速度1118、加速度1120、或减速度1122。还可以提示用户指定用于沿着输送机输送产品的带的材料1124,这可以基于材料的摩擦系数或其他物理属性来影响模拟的产品沿着输送机的遍历。也可以请求用于输送机1112的控制模式1126(例如,开-关控制、变速控制等)。
类似于图11所示的工作流和图形接口的工作流和图形接口可以用于将选定方面元数据分配给其他类型的自动化系统部件。根据另一示例,气动推动臂的方面元数据608可以定义推动臂在数字模型408的三维坐标系内的线性移动的方向、开始位置以及移动范围。用户接口部件204还可以提示用户针对推动器在被致动时的移动速度提供用户定义的元数据值。
一些方面定义222(以及从这些定义222中提取的对应方面元数据608)还可以定义选定的机械部件的物理特性或约束,并且这些特性和约束随后可以被模拟部件206引用以准确地模拟部件的移动和行为。这些特性可以包括但不限于:齿轮直径、齿轮比、摩擦系数、惯性、运动约束(例如,特定类型的机器人的已知运动轴及其对应的运动约束)或其他这样的数据。取决于方面的类型,这些方面元数据值中的一些可以是用户定义的,而其他方面元数据值可以是预期适用于该方面的所有实例的固定全局特性。一些方面定义222还可以定义可执行脚本,这些可执行脚本可以由模拟部件206执行并且被应用到数字模型408的相关联的元件(例如,由用户用对应的方面标记的元件),使元件在模拟环境内模仿其对应的物理部件的行为。
一些方面定义222还可以指定用于其对应资产的控制I/O接口。例如,将传感器(例如,光电眼、接近开关等)的方面元数据608分配给数字模型408的表示传感器的选定元件可以将选定元件指定为数字输入设备,该数字输入设备响应于在传感器的检测范围内检测到对象而向工业控制器提供数字输入值。在这种场景下,检测范围可以是用户定义的方面元数据值。在另一示例中,一种类型的推动臂的方面元数据608可以指定:臂需要数字控制器输出以控制推动臂的前进状态和缩回状态(例如,前进为开(ON),并且缩回为关(OFF)),以及两个数字输入以读取推动臂的行进的最末端处的相应两个接近开关的状态,从而检测臂何时处于完全前进或完全缩回状态。通常,具有与工业控制器的已知或预期I/O接口的系统部件的方面定义222可以定义监视和/或控制这些系统部件所需的输入和/或输出(模拟的和数字的)。当模型408准备好由模拟部件206进行模拟时,该I/O信息可以促进数字模型408与仿真控制器之间的连接。
此外,在一些实施方式中,当具有相关联的I/O定义的方面被添加到数字模型408时,方面元数据部件210可以自动地用由对应的方面定义222定义的I/O点来填充系统I/O的聚合列表。图12是示出基于方面元数据608向数字模型408的分配来创建自动化系统项目的主I/O列表1202的图。当如上所描述的将方面选择性地分配给数字模型408的元件时,方面元数据部件210确定对应于该方面的方面定义222是否定义了针对该方面的输入或输出。除了将方面元数据608分配给数字模型408之外,在方面定义222中定义的任何方面I/O 1206被添加到自动化系统的主I/O列表1202。该主I/O列表1202可以以人类可读的格式呈现,并且由设计者与设计控制系统和相关联的控制逻辑相结合地来引用。
在一些实施方式中,主I/O列表1202可以与自动化系统的数字模型408集成或以其他方式与自动化系统的数字模型408一起存储,使得I/O列表1202与模型408一起传送。因此,数字模型408不仅包括新的自动化系统的3D布局,而且还包括整个系统的I/O映射。可以在控制系统的设计开始之前根据指定的方面元数据608生成该主I/O列表1202,从而向控制工程师提供有用的设计约束(即,操作自动化系统所需的I/O)。
除了上述特征之外,系统202的一些实施方式可以支持对工业控制器与自动化系统的现场硬件之间的布线(例如,面板布线、线束等)的2D表示进行仿真的布线图管理器。通常,当模拟工业控制器对自动化系统的控制时,控制器与现场设备之间的I/O布线未被表示。因此,直到系统试运行,如由布线图所表示的控制器与现场硬件之间的连接才能被验证。
为了解决这个问题,控制设计和测试系统的布线图管理器可以对控制器与现场硬件之间的布线的2D表示进行仿真。在这样的实施方式中,模拟部件206可以模拟布线图以虚拟地确认控制器与现场的I/O设备之间的连接(例如,确认按下控制柜上的开始按钮使输送机启动)。该方法还可以确认不一定通过控制器或者不直接连线至控制器标签(而是连接至与控制器接口的设备)的布线连接,包括但不限于:急停按钮或其他按压按钮、开关、马达等。
布线图管理器可以使得用户能够在系统202自身内绘制布线图或者导入在其他设计工具(例如,CAD系统)中开发的布线图,并且在较大自动化系统模拟的环境内模拟由布线图定义的数据连接,以确认信号被正确地路由通过线束。例如,系统202可以使得用户能够通过在I/O点之间绘制连接箭头来创建绑定,并且动画的连接箭头可以使通过系统布线的信号传播可视化,从而使得设计者能够确认正确的信号和电力路由。为了测试信号路径,用户可以与2D图交互以实施连接、电源或信号源的值,并且观察系统如何响应。
本文描述的控制设计和测试系统202的特征可以促进使用将被安装在物理机器人上的(使用专有供应商特定的编程平台编写的)相同机器人程序的实例在与供应商无关的模拟平台内准确模拟工业机器人。这可以使得设计者能够将使用单独的供应商特定的开发平台开发的机器人的虚拟模型导入到公共的与供应商无关的平台中,并且在公共虚拟环境内执行这些不同机器人的交互的准确模拟。由于系统202还使得开发者能够创建这些机器人将在其内操作的较大自动化系统环境的高保真度模拟,所以虚拟化机器人与自动化系统的其他部件(包括产品或零件)之间的交互被准确地模拟。
图13示出了根据本主题申请的一个或更多个实施方式的方法。尽管为了简化说明的目的,本文所示的方法被示出并描述为一系列动作,但是应该理解和认识到,本主题创新不受动作的次序所限制,因为根据本主题创新,某些动作可以按与本文所示和所述的次序不同的次序发生和/或与其他动作同时发生。例如,本领域技术人员将理解和认识到,方法可以替选地例如以状态图被表示为一系列相关的状态或事件。此外,可能并非需要示出的所有动作来实现根据本创新的方法。此外,当不同实体演示方法的不同部分时,交互图可以表示根据本主题公开内容的方法论或方法。进一步地,可以彼此组合地实现所公开的示例方法中的两个或更多个,以实现本文中描述的一个或更多个特征或优点。
图13示出了用于执行工业自动化系统的模拟的示例方法1300。最初,在1302处,在控制测试系统内创建工业自动化系统的虚拟三维模型。虚拟模型包括要被包括在自动化系统中并且由相应的不同机器人供应商制造的工业机器人的一个或更多个虚拟3D模型(例如,数字孪生或其他类型的数字模型)。在1304处,选择虚拟机器人模型中的机器人模型。机器人模型对应于由特定机器人供应商制造的机器人。
在1306处,在控制测试系统与由机器人供应商提供的模拟平台的实例之间建立通信链路。模拟平台可以是用于生成机器人的控制程序的供应商特定的机器人配置系统的一部分。在1308处,确定自动化系统模型是否包括尚未被链接至其对应的供应商特定的模拟平台的附加机器人模型。如果存在附加机器人模型(步骤1308处为是),则方法进行至步骤1310,在步骤1310中选择下一个数字孪生,并且对该机器人模型重复步骤1306。重复步骤1306至1310,直到所有机器人模型都已经链接至其对应的供应商特定的模拟平台。
在1312处,使用该模型在控制测试系统上执行工业自动化系统的模拟。一个或更多个工业机器人的模拟包括执行在对应的供应商特定的模拟平台中开发的供应商特定的机器人控制程序。可以使用与供应商特定的模拟平台的通信链路,在控制测试系统的与供应商无关的模拟环境内执行以特定于机器人供应商的专有语言编写的机器人程序。
本文描述的实施方式、系统和部件以及在其中可以执行本主题说明书中阐述的各个方面的控制系统和自动化环境可以包括计算机或网络部件,例如能够跨网络进行交互的服务器、客户端、可编程逻辑控制器(PLC)、自动化控制器、通信模块、移动计算机、移动车辆的车载计算机、无线部件、控制部件等。计算机和服务器包括被配置成执行存储在介质中的指令的一个或更多个处理器,一个或更多个处理器为采用电信号执行逻辑操作的电子集成电路,该介质例如为随机存取存储器(RAM)、只读存储器(ROM)、硬驱动以及可移除存储器设备,其可以包括记忆棒、存储卡、闪存驱动、外部硬驱动等。
类似地,如本文所使用的术语PLC或自动化控制器可以包括可以跨多个部件、系统和/或网络被共享的功能。作为示例,一个或更多个PLC或自动化控制器可以跨网络与各种网络设备进行通信和协作。这基本上可以包括经由网络进行通信的任何类型的控件、通信模块、计算机、输入/输出(I/O)设备、传感器、致动器以及人机接口(HMI),该网络包括控制网络、自动化网络和/或公共网络。PLC或自动化控制器还可以与各种其他设备进行通信并且控制各种其他设备,各种其他设备例如包括模拟I/O模块、数字I/O模块、编程/智能I/O模块的标准的或安全承载I/O模块、其他可编程控制器、通信模块、传感器、致动器、输出设备等。
网络可以包括公共网络,例如因特网、内联网以及自动化网络,自动化网络例如包括设备网(DeviceNet)、控制网(ControlNet)、安全网络以及以太网/IP的控制和信息协议(CIP)网络。其他网络包括以太网、DH/DH+、远程I/O、现场总线、Modbus、Profibus、CAN、无线网络、串行协议等。另外,网络设备可以包括各种可能性(硬件部件和/或软件部件)。这些包括诸如以下的部件:具有虚拟局域网(VLAN)能力的交换机、LAN、WAN、代理、网关、路由器、防火墙、虚拟专用网(VPN)设备、服务器、客户端、计算机、配置工具、监视工具和/或其他设备。
为了提供所公开的主题的各个方面的上下文,图14和图15以及以下讨论旨在提供对可以实现所公开的主题的各个方面的合适环境的简要的一般描述。尽管以上已经在可以在一个或更多个计算机上运行的计算机可执行指令的一般上下文中描述了实施方式,但是本领域技术人员将认识到,也可以结合其他程序模块和/或作为硬件和软件的组合来实现实施方式。
通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、部件、数据结构等。此外,本领域技术人员将理解,可以利用其他计算机系统配置来实践本发明的方法,其他计算机系统配置包括单处理器或多处理器计算机系统、小型计算机、大型计算机、物联网(IoT)设备、分布式计算系统、以及个人计算机、手持计算设备、基于微处理器的或可编程的消费性电子产品等,上述中的每个均可以操作地耦接至一个或更多个相关联的设备。
也可以在分布式计算环境中实践本文示出的实施方式,在分布式计算环境中某些任务由通过通信网络链接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地存储器存储设备和远程存储器存储设备二者中。
计算设备通常包括各种介质,各种介质可以包括计算机可读存储介质、机器可读存储介质和/或通信介质,这两个术语在本文中如下彼此不同地使用。计算机可读存储介质或者机器可读存储介质可以是能够由计算机访问的任何可用存储介质,并且包括易失性和非易失性介质、可移除和不可移除介质两者。作为示例而非限制,可以结合用于存储诸如计算机可读指令或机器可读指令、程序模块、结构化数据或非结构化数据的信息的任何方法或技术来实现计算机可读存储介质或机器可读存储介质。
计算机可读存储介质可以包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储技术、致密盘只读存储器(CD-ROM)、数字多功能磁盘(DVD)、蓝光光盘(BD)或其他光盘存储设备、磁带盒、磁带、磁盘存储设备或其他磁性存储设备、固态驱动器或其他固态存储设备、或其他可用于存储所需信息的有形和/或非暂态介质。在这点上,应将本文中应用于存储装置、存储器或计算机可读介质的术语“有形的”或“非暂态的”理解为作为修饰语仅排除传播的暂态信号本身,而不放弃所有本身并非仅传播暂态信号的标准存储装置、存储器或计算机可读介质的权利。
可以例如针对关于由介质存储的信息的各种操作,经由访问请求、查询或其他数据检索协议通过一个或更多个本地或远程计算设备来访问计算机可读存储介质。
通信介质通常体现为诸如调制数据信号的数据信号例如载波或其他传输机制中的计算机可读指令、数据结构、程序模块或其他结构化或非结构化数据,并且包括任何信息传送或传输介质。术语“调制数据信号”或信号指具有以对一个或更多个信号中的信息进行编码的方式进行设置或改变的一个或更多个特征的信号。作为示例而非限制,通信介质包括有线介质,例如有线网络或直接有线连接,以及无线介质,例如声学、RF、红外以及其他无线介质。
参照图14,用于实现本文描述的各方面的各种实施方式的示例环境1400包括计算机1402,计算机1402包括:处理单元1404、系统存储器1406以及系统总线1408。系统总线1408将系统部件耦接至处理单元1404,该系统部件包括但不限于系统存储器1406。处理单元1404可以是各种市场上可买到的处理器中的任一种。双微处理器以及其他多处理器架构也可以用作处理单元1404。
系统总线1408可以是若干类型的总线结构中的任何总线结构,其还可以使用各种市场上可买到的总线架构中的任何总线架构互连到存储器总线(具有或不具有存储器控制器)、外围总线和本地总线。系统存储器1406包括ROM 1410和RAM 1412。基本输入/输出系统(BIOS)可以存储在非易失性存储器中,例如ROM、可擦除可编程只读存储器(EPROM)、EEPROM中,其中,BIOS包含有助于在例如启动期间在计算机1402内的元件之间传输信息的基本例程。RAM 1412还可以包括诸如用于缓存数据的静态RAM的高速RAM。
计算机1402还包括:内部硬盘驱动器(HDD)1414(例如,EIDE、SATA)、一个或更多个外部存储设备1416(例如,磁性软盘驱动器(FDD)1416、记忆棒或闪存驱动器读取器、存储卡读取器等)以及光驱动器1420(例如,可以从CD-ROM盘、DVD、BD等读取或写入)。虽然内部HDD1414被示为位于计算机1402内,但是内部HDD 1414也可以被配置成在合适的架构(未示出)中供外部使用。附加地,虽然在环境1400中未示出,但是除了HDD 1414之外可以使用固态驱动器(SSD),或者可以使用固态驱动器(SSD)代替HDD。HDD 1414、外部存储设备1416以及光驱动器1420可以分别通过HDD接口1424、外部存储接口1426和光驱动器接口1428连接至系统总线1408。用于外部驱动器实现方式的接口1424可以包括通用串行总线(USB)和电气与电子工程师协会(IEEE)1394接口技术中的至少一者或两者。其他外部驱动连接技术在本文描述的实施方式的构思之内。
驱动器及其相关联的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机1402,驱动器和存储介质以合适的数字格式适应任何数据的存储。尽管以上对计算机可读存储介质的描述是指各种类型的存储设备,但是本领域技术人员应当理解,计算机可读的其他类型的存储介质——无论是当前存在的还是将来开发的——也可以在示例操作环境中使用,并且此外,任何这样的存储介质可以包含用于执行本文描述的方法的计算机可执行指令。
驱动器和RAM 1412中可以存储多个程序模块,包括操作系统1430、一个或更多个应用程序1432、其他程序模块1434以及程序数据1436。操作系统、应用、模块和/或数据的全部或部分也可以缓存在RAM 1412中。可以利用各种市场上可买到的操作系统或操作系统的组合来实现本文描述的系统和方法。
计算机1402可以可选地包括仿真技术。例如,管理程序(未示出)或其他媒介可以对用于操作系统1430的硬件环境进行仿真,并且所仿真的硬件可以可选地不同于图14中所示的硬件。在这样的实施方式中,操作系统1430可以包括在计算机1402上托管的多个虚拟机(VM)中的一个VM。此外,操作系统1430可以为应用程序1432提供诸如Java运行时环境或.NET框架的运行时环境。运行时环境是一致的执行环境,其使得应用程序1432能够在包括运行时环境的任何操作系统上运行。类似地,操作系统1430可以支持容器,并且应用程序1432可以具有容器的形式,容器是轻量、独立、可执行的软件包,软件包包括例如代码、运行时间、系统工具、系统库以及应用的设置。
此外,可以利用诸如可信处理模块(TPM)的安全模块来启用计算机1402。例如,利用TPM,启动部件会及时散列(hash)下一启动部件,并且在加载下一启动部件之前,等待结果与安全值的匹配。该过程可以在计算机1402的代码执行栈中的任何层处发生,例如在应用执行级或在操作系统(OS)内核级处应用,从而在代码执行的任何级处实现安全性。
用户可以通过一个或更多个有线/无线输入设备将命令和信息输入至计算机1402中,输入设备例如键盘1438、触摸屏1440以及诸如鼠标1442的定点设备。其他输入设备(未示出)可以包括麦克风、红外(IR)远程控制、射频(RF)远程控制或其他远程控制、操纵杆、虚拟现实控制器和/或虚拟现实耳机、游戏手柄、触控笔、诸如摄像装置的图像输入设备、姿势传感器输入设备、视觉运动传感器输入设备、情绪或面部检测设备、诸如指纹或虹膜扫描仪的生物特征输入设备等。这些输入设备和其他输入设备通常通过可以耦接至系统总线1408的输入设备接口1444连接至处理单元1404,但也可以通过其他接口进行连接,其他接口例如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口、接口等。
监视器1444或其他类型的显示设备也可以经由诸如视频适配器1448的接口连接至系统总线1408。除了监视器1444之外,计算机通常还包括其他外围输出设备(未示出),例如扬声器、打印机等。
计算机1402可以使用逻辑连接经由与一个或更多个远程计算机例如远程计算机1448的有线和/或无线通信在联网环境中操作。远程计算机1448可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括关于计算机1402描述的许多或所有元件,但是为了简洁起见,仅示出了存储器/存储设备1450。所描绘的逻辑连接包括与局域网(LAN)1452和/或较大网络例如广域网(WAN)1454的有线/无线连接。这样的LAN和WAN联网环境在办公室和公司中很常见,并且促进企业范围的计算机网络例如内联网,所有这些都可以连接至全球通信网络,例如因特网。
当在LAN联网环境中使用时,计算机1402可以通过有线和/或无线通信网络接口或适配器1456连接至局部网络1452。适配器1456可以促进与LAN 1452的有线或无线通信,LAN1452还可以包括布置在其上用于以无线模式与适配器1456进行通信的无线接入点(AP)。
当在WAN联网环境中使用时,计算机1402可以包括调制解调器1458,或者可以经由用于通过WAN 1454建立通信的其他手段例如通过因特网连接至WAN 1454上的通信服务器。调制解调器1458可以经由输入设备接口1442连接至系统总线1408,调制解调器1458可以在内部或外部并且可以是有线或无线设备。在联网环境中,关于计算机1402或其部分描绘的程序模块可以被存储在远程存储器/存储设备1450中。将理解的是,所示的网络连接是示例,并且可以使用在计算机之间建立通信链路的其他手段。
当在LAN或WAN联网环境中使用时,计算机1402可以访问云存储系统或者除了上述外部存储设备1416之外的其他基于网络的存储系统或代替上述外部存储设备1416的其他基于网络的存储系统。通常,可以例如分别通过适配器1456或调制解调器1458来通过LAN1452或WAN 1454建立计算机1402与云存储系统之间的连接。在将计算机1402连接至相关联的云存储系统时,外部存储接口1426可以在适配器1456和/或调制解调器1458的帮助下如在其他类型的外部存储的情况下一样管理由云存储系统提供的存储。例如,外部存储接口1426可以被配置成提供对云存储源的访问,就好像这些源物理上连接至计算机1402。
计算机1402可以可操作的与在操作上以无线通信布置的任何无线设备或实体进行通信,所述无线设备或实体例如打印机、扫描仪、台式计算机和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测标签相关联的任何装备或位置(例如,信息亭、报摊、商品陈列架等)、以及电话。这可以包括无线保真(Wi-Fi)和无线技术。因此,与常规网络一样,通信可以是预定义的结构,或者仅是至少两个设备之间的自组织通信(ad hoccommunication)。
图15是所公开的主题可以与之交互的样本计算环境1500的示意性框图。样本计算环境1500包括一个或更多个客户端1502。客户端1502可以是硬件和/或软件(例如,线程、进程、计算设备)。样本计算环境1500还包括一个或更多个服务器1504。服务器1504也可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器1504可以容纳线程以通过采用例如本文描述的一个或更多个实施方式来执行变换。客户端1502与服务器1504之间的一种可能的通信可以是适于在两个或更多个计算机进程之间传输的数据包形式。样本计算环境1500包括可以用于促进客户端1502与服务器1504之间的通信的通信框架1506。客户端1502可操作地连接至可以用来存储客户端1502本地的信息的一个或更多个客户端数据存储1508。类似地,服务器1504可操作地连接至可以用来存储服务器1504本地的信息的一个或更多个服务器数据存储1510。
以上所描述的内容包括本主题创新的示例。出于描述所公开的主题的目的,当然不可能描述每个可想到的部件或方法的组合,但是本领域普通技术人员可以认识到,本主题创新的许多另外的组合和排列也是可以的。因此,所公开的主题旨在涵盖落入所附权利要求的精神和范围内的所有这样的更改、修改和变化。
特别地,关于由上述部件、设备、电路、系统等执行的各种功能,除非另有说明,否则用于描述这样的部件的术语(包括对“手段”的引用)旨在对应于执行所描述的部件的指定功能的任何部件(例如,功能等同物),即使在结构上不等同于所公开的执行所公开的主题的本文示出的示例性方面中的功能的结构。在这点上,还将认识到,所公开的主题包括具有用于执行所公开的主题的各种方法的动作和/或事件的计算机可执行指令的计算机可读介质以及系统。
另外,虽然所公开的主题的特定特征可能仅关于若干实现方式中的一种被公开,但是这样的特征可以如对于任何给定的或特定的应用可以期望并且有利的那样与其他实现方式的一个或更多个其他特征组合。此外,在具体实施方式或权利要求书中使用术语“包括(includes)”和“包括(including)”及其变型的程度,这些术语旨在以与术语“包含(comprising)”类似的方式为包含性的。
在本申请中,词语“示例性”用于意指用作示例、实例或说明。在本文中被描述为“示例性”的任何方面或设计未必被解释为比其他方面或设计优选或有利。相反,词语示例性的使用旨在以具体的方式来呈现构思。
本文描述的各个方面或特征可以使用标准编程和/或工程技术实现为方法、装置或制品。本文使用的术语“制品”旨在包含能够从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储设备(例如,硬盘、软盘、磁带……)、光盘(例如,致密盘(CD)、数字通用盘(DVD……)、智能卡以及闪存设备(例如,卡、棒、键驱动器……)。

Claims (16)

1.一种用于模拟自动化系统的系统,包括:
存储器,其存储可执行部件;以及
处理器,其可操作地耦接至所述存储器,所述处理器执行所述可执行部件,所述可执行部件包括:
模拟部件,其被配置成基于工业自动化系统的三维虚拟模型来执行所述工业自动化系统的模拟,所述三维虚拟模型包括虚拟机器人模型,所述虚拟机器人模型表示要被包括在所述工业自动化系统中的工业机器人;以及
用户接口部件,其被配置成在客户端设备上呈现所述模拟,
其中,所述模拟部件被配置成与供应商特定的模拟平台的实例交换数据,要由所述工业机器人执行的机器人程序在所述供应商特定的模拟平台内被开发,并且所述模拟部件被配置成基于通过与所述供应商特定的模拟平台交换所述数据而促进的所述机器人程序的执行,在所述机器人程序的控制下模拟所述工业机器人的操作,
其中,所述机器人程序在所述供应商特定的模拟平台上执行,
所述模拟部件被配置成将所述工业自动化系统的模拟状态发送至所述供应商特定的模拟平台的实例,并且从所述供应商特定的模拟平台的实例接收所述机器人程序的变量的值,并且
其中,所述用于模拟自动化系统的系统还包括模型导入部件,所述模型导入部件被配置成从所述供应商特定的模拟平台导入所述虚拟机器人模型。
2.根据权利要求1所述的系统,其中:
所述机器人程序通过所述模拟部件在所述系统上本地执行,并且
所述模拟部件被配置成访问与执行所述机器人程序有关的在所述供应商特定的模拟平台上可用的供应商特定的执行资源。
3.根据权利要求1所述的系统,还包括控制器仿真部件,所述控制器仿真部件被配置成通过虚拟化工业控制器对工业控制程序的执行进行仿真,
其中,所述模拟部件被配置成在所述工业控制程序的控制下模拟所述工业自动化系统的操作。
4.根据权利要求1所述的系统,还包括方面元数据部件,所述方面元数据部件被配置成根据方面说明输入数据将方面元数据分配给所述虚拟模型的选定元件,所述方面元数据定义要由所述模拟部件模拟的所述选定元件的模拟行为。
5.根据权利要求4所述的系统,其中:
所述选定元件中的至少一个是所述虚拟机器人模型的末端执行器,并且
被分配给所述末端执行器的所述方面元数据的子集指定所述末端执行器的类型以及与所述末端执行器的类型相关联的物理属性。
6.根据权利要求5所述的系统,其中,所述末端执行器的类型是吸式夹持器或机械夹持器之一。
7.根据权利要求4所述的系统,其中:
所述用户接口部件被配置成经由与由所述用户接口部件呈现的图形接口显示的交互来接收所述方面说明输入数据,
所述图形接口显示包括工具栏,所述工具栏呈现可用于选择并向所述选定元件分配的方面的集合,并且
所述方面说明输入数据从所述方面的集合中选择方面,并且指示所述选定元件中的要向其分配所述方面的元件。
8.根据权利要求7所述的系统,其中,可用方面包括滑动接头、旋转接头、机器人臂接头、铰链、输送机、吸式夹持器、机械夹持器、传感器、气动致动器、液压致动器、推动臂、止动器或滚轴中的至少一个。
9.一种用于模拟工业自动化系统的方法,包括:
通过包括处理器的模拟系统基于工业自动化系统的三维虚拟模型来执行所述工业自动化系统的模拟,其中,所述三维虚拟模型包括工业机器人的虚拟机器人模型,并且其中,所述执行包括:
在所述模拟系统与供应商特定的模拟平台的实例之间建立通信链路,要由所述工业机器人执行的机器人程序在所述供应商特定的模拟平台内被编写,以及
基于通过在所述模拟系统与所述供应商特定的模拟平台之间交换数据而促进的所述机器人程序的执行,在所述机器人程序的控制下模拟所述工业机器人的操作;以及
通过所述模拟系统在客户端设备上呈现所述模拟,
其中,模拟所述工业机器人的操作包括:
在所述供应商特定的模拟平台上执行所述机器人程序,
通过所述模拟系统将所述工业自动化系统的模拟状态发送至所述供应商特定的模拟平台的实例,以及
通过所述模拟系统从所述供应商特定的模拟平台的实例接收所述机器人程序的变量的值,并且
其中,所述方法还包括通过所述模拟系统从所述供应商特定的模拟平台导入所述虚拟机器人模型。
10.根据权利要求9所述的方法,其中,模拟所述工业机器人的操作包括访问与在所述模拟系统上本地执行所述机器人程序有关的在所述供应商特定的模拟平台上可用的供应商特定的资源。
11.根据权利要求9所述的方法,还包括通过所述模拟系统在虚拟工业控制器上对工业控制程序的执行进行仿真,其中,执行所述模拟包括在所述工业控制程序的控制下模拟所述工业自动化系统的操作。
12.根据权利要求9所述的方法,还包括:
通过所述模拟系统接收方面说明输入数据,所述方面说明输入数据将所述虚拟模型的选定部件标记为所述工业自动化系统的指定方面;以及
通过所述模拟系统基于所述方面说明输入数据将方面元数据分配给所述选定部件,所述方面元数据定义所述选定部件的模拟行为。
13.根据权利要求12所述的方法,其中,分配所述方面元数据包括将所述方面元数据的子集分配给所述虚拟机器人模型的末端执行器,所述方面元数据的所述子集指定所述末端执行器的类型以及与所述末端执行器的类型相关联的物理属性。
14.根据权利要求13所述的方法,其中,所述末端执行器的类型是吸式夹持器或机械夹持器之一。
15.一种非暂态计算机可读介质,其上存储有指令,所述指令响应于执行而使包括处理器的系统执行操作,所述操作包括:
模拟由三维虚拟模型建模的工业自动化系统的操作,其中,所述三维虚拟模型包括工业机器人的数字机器人模型,并且其中,所述模拟包括:
将所述包括处理器的系统通信地连接至供应商特定的模拟平台的实例,能够在所述工业机器人上执行的机器人程序在所述供应商特定的模拟平台内被生成,
在所述包括处理器的系统与所述供应商特定的模拟平台之间交换数据以促进所述机器人程序的执行,以及
基于所述机器人程序的执行,在所述机器人程序的控制下模拟所述工业机器人的操作,
其中,模拟所述工业机器人的操作包括:
在所述供应商特定的模拟平台上执行所述机器人程序,
通过所述包括处理器的系统将所述工业自动化系统的模拟状态发送至所述供应商特定的模拟平台的实例,以及
通过所述包括处理器的系统从所述供应商特定的模拟平台的实例接收所述机器人程序的变量的值,并且
其中,由所述包括处理器的系统执行的操作还包括通过所述包括处理器的系统从所述供应商特定的模拟平台导入所述数字机器人模型。
16.根据权利要求15所述的非暂态计算机可读介质,其中,模拟所述工业机器人的操作包括访问与执行所述机器人程序有关的在所述供应商特定的模拟平台上的供应商特定的资源。
CN202011239743.6A 2019-11-11 2020-11-09 工业环境模拟下的机器人数字孪生控制 Active CN112783018B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/679,522 2019-11-11
US16/679,522 US11318616B2 (en) 2019-11-11 2019-11-11 Robotic digital twin control with industrial context simulation

Publications (2)

Publication Number Publication Date
CN112783018A CN112783018A (zh) 2021-05-11
CN112783018B true CN112783018B (zh) 2024-02-13

Family

ID=73037885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011239743.6A Active CN112783018B (zh) 2019-11-11 2020-11-09 工业环境模拟下的机器人数字孪生控制

Country Status (3)

Country Link
US (2) US11318616B2 (zh)
EP (1) EP3819091A1 (zh)
CN (1) CN112783018B (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10696493B1 (en) * 2019-05-31 2020-06-30 Mujin, Inc. Robotic system with packing mechanism
MX2022005751A (es) * 2019-11-12 2022-08-22 Bright Machines Inc Un sistema de fabricación/ensamblaje definido por software.
EP3838500A1 (de) * 2019-12-17 2021-06-23 Bystronic Laser AG Konstruieren von greifwerkzeugen für eine laserschneidmaschine zum absortieren von teilen
US11393175B2 (en) 2020-02-06 2022-07-19 Network Documentation & Implementation Inc. Methods and systems for digital twin augmented reality replication of non-homogeneous elements in integrated environments
US11067970B1 (en) * 2020-02-27 2021-07-20 Guangdong University Of Technology Method for designing production line based on digital twin
US11789430B2 (en) * 2020-06-23 2023-10-17 Ford Global Technologies, Llc Method of storing, processing, and transmitting digital twins for flexible module platforms and vehicles
DE102020116791A1 (de) * 2020-06-25 2021-12-30 Technische Universität Dresden Vorrichtung und Verfahren zum computergestützten Verarbeiten von Daten
US11554482B2 (en) * 2020-07-16 2023-01-17 Hitachi, Ltd. Self-learning industrial robotic system
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
US20220100181A1 (en) * 2020-09-28 2022-03-31 Rockwell Automation Technologies, Inc. Wiring diagram manager and emulator
US20220152816A1 (en) * 2020-11-13 2022-05-19 Intrinsic Innovation Llc Decentralized robotic operating environment optimization
CN113378475B (zh) * 2021-06-28 2023-06-16 清华大学深圳国际研究生院 一种基于Vrep的四足机器人控制方法、系统及装置
US20230017237A1 (en) * 2021-07-13 2023-01-19 Rockwell Automation Technologies, Inc. Digital engineering virtual machine infrastructure
KR20230029333A (ko) * 2021-08-24 2023-03-03 주식회사 아이온커뮤니케이션즈 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법
US11868122B2 (en) 2021-09-10 2024-01-09 Rockwell Automation Technologies, Inc. Digital twin outcome-driven orchestration
CN113967910B (zh) * 2021-09-22 2023-03-24 香港理工大学深圳研究院 一种基于增强现实和数字孪生的人机协同控制方法及系统
CN114131597A (zh) * 2021-11-24 2022-03-04 山东哈博特机器人有限公司 一种基于数字孪生技术的工业机器人仿真联动方法和系统
CN114102590B (zh) * 2021-11-24 2023-12-01 华中科技大学 一种工业机器人仿真方法、系统及应用
CN114416608A (zh) * 2021-12-06 2022-04-29 埃夫特智能装备股份有限公司 基于虚拟机器人控制器总线结构的外部设备模拟平台及其模拟方法
CN114347072A (zh) * 2021-12-06 2022-04-15 埃夫特智能装备股份有限公司 一种机器人控制器模拟化平台及其虚拟方法
CN114385002B (zh) * 2021-12-07 2023-05-12 达闼机器人股份有限公司 智能设备控制方法、装置、服务器和存储介质
CN114488846A (zh) * 2021-12-28 2022-05-13 杭州电子科技大学 一种可编程控制器与虚拟工业机器人连接的开放式运动控制仿真实验方法
WO2023123257A1 (zh) * 2021-12-30 2023-07-06 西门子(中国)有限公司 一种机器人的控制方法及装置
CN114301949A (zh) * 2021-12-31 2022-04-08 中冶赛迪技术研究中心有限公司 一种机器人仿真通信集成系统、方法、介质及电子终端
WO2023198282A1 (en) 2022-04-12 2023-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Generative emulator for controllable physical systems
WO2023214910A1 (en) 2022-05-03 2023-11-09 Telefonaktiebolaget Lm Ericsson (Publ) Machine for device verification and anomaly checking
US20240078442A1 (en) * 2022-09-07 2024-03-07 International Business Machines Corporation Self-development of resources in multi-machine environment
CN116243623B (zh) * 2023-05-10 2023-08-04 深圳墨影科技有限公司 应用于数字化机器人产业链的机器人场景仿真方法
CN116619394B (zh) * 2023-07-26 2023-09-26 佛山智能装备技术研究院 工业机器人仿真方法、装置、设备及存储介质
CN117103281B (zh) * 2023-10-20 2024-01-26 深圳墨影科技有限公司 一种机器人全融合仿真系统及方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101920233A (zh) * 2010-07-09 2010-12-22 广东工业大学 一种基于虚拟现实技术的喷涂工业机器人综合控制系统及控制方法
CN104142629A (zh) * 2013-05-09 2014-11-12 洛克威尔自动控制技术股份有限公司 使用基于云的数据对工业机器环境进行虚拟化
CN104142630A (zh) * 2013-05-09 2014-11-12 洛克威尔自动控制技术股份有限公司 用信息叠加把基于云的数据用于工业自动化环境的虚拟化
CN104144204A (zh) * 2013-05-09 2014-11-12 洛克威尔自动控制技术股份有限公司 针对工业模拟使用基于云的数据
EP3002649A2 (en) * 2014-10-01 2016-04-06 Rockwell Automation Technologies, Inc. Industrial simulation using redirected i/o module configurations
CN105988367A (zh) * 2015-03-16 2016-10-05 洛克威尔自动控制技术股份有限公司 云中的工业自动化环境的建模
CN107272608A (zh) * 2013-05-09 2017-10-20 洛克威尔自动控制技术股份有限公司 云平台中的工业设备和系统证明
CN107577159A (zh) * 2017-10-31 2018-01-12 塔普翊海(上海)智能科技有限公司 扩增实境仿真系统
CN108073277A (zh) * 2016-11-08 2018-05-25 罗克韦尔自动化技术公司 用于工业自动化的虚拟现实和增强现实
CN108089696A (zh) * 2016-11-08 2018-05-29 罗克韦尔自动化技术公司 用于工业自动化的虚拟现实和增强现实

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8069021B2 (en) * 2007-09-28 2011-11-29 Rockwell Automation Technologies, Inc. Distributed simulation and synchronization
US20090089031A1 (en) 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Integrated simulation of controllers and devices
WO2009155483A1 (en) 2008-06-20 2009-12-23 Invensys Systems, Inc. Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control
US20130275091A1 (en) * 2010-07-22 2013-10-17 Cogmation Robotics Inc. Non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention
US10037443B2 (en) * 2011-03-07 2018-07-31 Rockwell Automation Technologies, Inc. Industrial simulation using redirected I/O module configurations
US9052703B2 (en) 2012-02-02 2015-06-09 Emerson Process Management Power & Water Solutions, Inc. Enhanced sequential method for solving pressure/flow network parameters in a real-time distributed industrial process simulation system
US10360316B2 (en) 2012-12-21 2019-07-23 Rockwell Automation Technologies, Inc. Integration of simulation of a machine for industrial automation
US20150134317A1 (en) * 2013-11-08 2015-05-14 Rockwell Automation Technologies, Inc. Interface for data exchange between industrial controllers and simulation applications for simulating a machine
US10755003B2 (en) 2013-11-08 2020-08-25 Rockwell Automation Technologies, Inc. Time synchronization of signal transmission intervals for simulating a machine in industrial automation
US9530250B2 (en) 2013-12-10 2016-12-27 Dassault Systemes Augmented reality updating of 3D CAD models
US10095202B2 (en) * 2014-03-26 2018-10-09 Rockwell Automation Technologies, Inc. Multiple controllers configuration management interface for system connectivity
US11256224B2 (en) * 2014-10-01 2022-02-22 Rockwell Automation Technologies, Inc. Virtual design engineering
WO2016053337A1 (en) 2014-10-02 2016-04-07 Siemens Aktiengesellschaft Programming automation in a 3d graphical editor with tightly coupled logic and physical simulation
US20160182309A1 (en) * 2014-12-22 2016-06-23 Rockwell Automation Technologies, Inc. Cloud-based emulation and modeling for automation systems
US11243505B2 (en) * 2015-03-16 2022-02-08 Rockwell Automation Technologies, Inc. Cloud-based analytics for industrial automation
US11513477B2 (en) * 2015-03-16 2022-11-29 Rockwell Automation Technologies, Inc. Cloud-based industrial controller
US11222551B2 (en) * 2015-07-23 2022-01-11 Rockwell Automation Technologies, Inc. Snapshot management architecture for process control operator training system lifecycle
US10747915B2 (en) 2015-08-18 2020-08-18 Siemens Aktiengesellschaft Programming automation sensor applications using simulation
US20170323239A1 (en) 2016-05-06 2017-11-09 General Electric Company Constrained time computing control system to simulate and optimize aircraft operations with dynamic thermodynamic state and asset utilization attainment
US20180052451A1 (en) * 2016-08-19 2018-02-22 Rockwell Automation Technologies, Inc. Remote industrial automation site operation in a cloud platform
US10740502B2 (en) 2017-02-22 2020-08-11 Middle Chart, LLC Method and apparatus for position based query with augmented reality headgear
US10678233B2 (en) 2017-08-02 2020-06-09 Strong Force Iot Portfolio 2016, Llc Systems and methods for data collection and data sharing in an industrial environment
CN110300967B (zh) 2017-08-29 2023-10-03 西门子股份公司 一种数据读取周期的确定方法和装置
CN107832497B (zh) * 2017-10-17 2018-08-28 广东工业大学 一种智能车间快速定制设计方法及系统
JP7146402B2 (ja) * 2018-01-18 2022-10-04 キヤノン株式会社 情報処理装置、および情報処理方法
US10832548B2 (en) * 2018-05-02 2020-11-10 Rockwell Automation Technologies, Inc. Advanced industrial safety notification systems
US11528582B2 (en) 2018-05-29 2022-12-13 Apprentice FS, Inc. Assisting execution of manual protocols at production equipment
US11144042B2 (en) 2018-07-09 2021-10-12 Rockwell Automation Technologies, Inc. Industrial automation information contextualization method and system
US10596704B1 (en) * 2018-09-27 2020-03-24 Rapyuta Robotics Co., Ltd Generate, simulate, and execute a reusable robotics solution recipe to execute a robotic solution
US11392112B2 (en) 2019-09-26 2022-07-19 Rockwell Automation Technologies, Inc. Virtual design environment

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101920233A (zh) * 2010-07-09 2010-12-22 广东工业大学 一种基于虚拟现实技术的喷涂工业机器人综合控制系统及控制方法
CN104142629A (zh) * 2013-05-09 2014-11-12 洛克威尔自动控制技术股份有限公司 使用基于云的数据对工业机器环境进行虚拟化
CN104142630A (zh) * 2013-05-09 2014-11-12 洛克威尔自动控制技术股份有限公司 用信息叠加把基于云的数据用于工业自动化环境的虚拟化
CN104144204A (zh) * 2013-05-09 2014-11-12 洛克威尔自动控制技术股份有限公司 针对工业模拟使用基于云的数据
CN107272608A (zh) * 2013-05-09 2017-10-20 洛克威尔自动控制技术股份有限公司 云平台中的工业设备和系统证明
CN108491626A (zh) * 2013-05-09 2018-09-04 罗克韦尔自动化技术公司 进行工业自动化系统的模拟的系统、方法和存储介质
EP3002649A2 (en) * 2014-10-01 2016-04-06 Rockwell Automation Technologies, Inc. Industrial simulation using redirected i/o module configurations
CN105988367A (zh) * 2015-03-16 2016-10-05 洛克威尔自动控制技术股份有限公司 云中的工业自动化环境的建模
CN108073277A (zh) * 2016-11-08 2018-05-25 罗克韦尔自动化技术公司 用于工业自动化的虚拟现实和增强现实
CN108089696A (zh) * 2016-11-08 2018-05-29 罗克韦尔自动化技术公司 用于工业自动化的虚拟现实和增强现实
CN107577159A (zh) * 2017-10-31 2018-01-12 塔普翊海(上海)智能科技有限公司 扩增实境仿真系统

Also Published As

Publication number Publication date
US11318616B2 (en) 2022-05-03
US20220241972A1 (en) 2022-08-04
US11638994B2 (en) 2023-05-02
US20210138651A1 (en) 2021-05-13
CN112783018A (zh) 2021-05-11
EP3819091A1 (en) 2021-05-12

Similar Documents

Publication Publication Date Title
CN112783018B (zh) 工业环境模拟下的机器人数字孪生控制
EP3819733A1 (en) Creation of a digital twin from a mechanical model
US20220156433A1 (en) Industrial network communication emulation
EP3002646B1 (en) Virtual design engineering
EP3865961B1 (en) Augmented reality human machine interface testing
US11947884B2 (en) Industrial automation process simulation for fluid flow
EP3974920A1 (en) Unifying multiple simulation models
WO2020106706A1 (en) Object marking to support tasks by autonomous machines
WO2018176025A1 (en) System and method for engineering autonomous systems
EP3971758A1 (en) Industrial network emulation
CN112784328B (zh) 用于开发自动化系统模型的系统和方法
EP3974928B1 (en) Wiring diagram manager and emulator
Cadena et al. Hardware in the loop simulation for soda can palletizing process applying ethernet TCP/IP communication protocols based on unity 3D
Pellicciari et al. Hardware-in-the-Loop Mechatronic Virtual Prototyping of a high-speed capsule filling machine
EP4336358A1 (en) Parallel emulation for controls testing
Gotlih et al. Design of a Digital Twin of a Robotic Cell for Product Quality Control

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant