CN113710430A - 方法、系统和非易失性存储介质 - Google Patents

方法、系统和非易失性存储介质 Download PDF

Info

Publication number
CN113710430A
CN113710430A CN202080025472.6A CN202080025472A CN113710430A CN 113710430 A CN113710430 A CN 113710430A CN 202080025472 A CN202080025472 A CN 202080025472A CN 113710430 A CN113710430 A CN 113710430A
Authority
CN
China
Prior art keywords
machine
model
sub
sensor
mapping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080025472.6A
Other languages
English (en)
Inventor
C·皮耶尼克
K·瓦格纳
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.)
Wandeboz Co ltd
Original Assignee
Wandeboz Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wandeboz Co ltd filed Critical Wandeboz Co ltd
Publication of CN113710430A publication Critical patent/CN113710430A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/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
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • 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
    • G05B19/427Teaching successive positions by tracking the position of a joystick or handle to control the positioning servo of the tool head, master-slave control
    • 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/36436Arm follows movement of handheld device, camera detects, analyses motion
    • 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/36479Record position on trigger of touch probe
    • 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/40116Learn by operator observation, symbiosis, show, watch
    • 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/40391Human to robot skill transfer

Abstract

方法、系统以及非易失性存储介质。根据不同的实施方式,一种方法可以包括:基于数据确定(103)机器无关的进程模型(104m),其中数据表示工作设备(104)在执行(101)进程流期间的操作,其中进程流具有多个子进程,其中进程模型(104m)对于多个子进程中的每个子进程将进程活动与子进程的空间信息相关联;利用机器(114)的模型(114m)将机器无关的进程模型(104m)映射(105)到机器(114)的机器特定的控制模型(116m),其中机器特定的控制模型(116m)为多个子进程中的每个子进程定义机器(114)的工作点,工作点对应于进程活动和子进程的空间信息。

Description

方法、系统和非易失性存储介质
技术领域
不同的实施例涉及一种方法、系统以及非易失性存储介质。
背景技术
工业机器人的编程和相关的设施控制装置的编程通常依赖于供应商和机器人。编程通常由一名或多名经专门培训的专家以程序代码的形式来进行。因此,尤其对于基于轨道的应用(例如焊接、粘贴、涂漆)而言,编程是耗费且昂贵的。
成本使得借助于工业机器人(也简称为机器人)进行自动化对于中小型企业而言在经济性方面不具备吸引力,这是因为这些企业在生产变异性低的情况下通常不支持可以抵消成本的大批量生产。相反,对于大型企业而言,编程的低灵活性可能是不具备吸引力的。程序的转换非常耗时,由此导致生产周期较短且不经济。
由于工业机器人与其种类繁多的组成部分,比如末端执行器(例如胶枪)、传感器系统(例如相机)和控制系统(例如可编程逻辑控制器-SPS)的集成,编程的复杂性增加。与之相关地,通常考虑和处理以下子方面:轨迹形式的移动规划和移动控制、附接至机器人处的工具的集成和激励、包括故障识别和处理的进程逻辑、进程参数和对变化的边界条件的可能的适应,以及将机器人的控制集成到整个设施的控制中。
工业机器人的编程可以例如由专家手动进行。目前,这仍然适用于96%以上的应用。在此,程序员手动编写程序代码,程序代码使机器人在执行时间自主地执行应用。
替代地或附加地,工业机器人的编程可以由专家借助于基于CAD的代码生成来进行。在此,创建现实的虚拟代表(也称为虚拟世界),并在虚拟世界中对机器人进行编程。除了模拟之外,这还实现更简单的可访问性。然而,这种基于CAD的代码生成无法容易地由技术外行人来实现。此外,虚拟世界往往与现实存在显着差异。即使小的差异也会导致机器人在现实中工作时的显著差异。出于该原因,借助于代码生成所生成的程序代码通常附加地需要由程序员进行适配。
通常,将示教方法(也称为Teach-In示教)用作对全手动编程的替代方案。
对于示教方法,可以例如手动控制机器人。例如,敏感机器人(也称为协作机器人)也可以被手动操作。轨迹(即机器人应在其上移动的轨道)可以用两种机制来显示。当然,超出机器人应执行的轨迹的活动仍然是复杂的,进而通常没有被教学方法考虑在内。例如,复杂性在于将机器人的多种组成部分,例如末端执行器、传感器和控制系统集成到待执行的进程中,因此必须进行手动编程。
替代地或附加地,经由交互式输入设备来执行示教方法。为此,通常使用制造商特定的输入设备,比如6d鼠标或交互笔。类似于手动控制或手动操作的控制,在这种情况下可以类似地仅教导轨迹。因此,机器人的不同组成部分的集成是经由编程来手动执行的。
替代地或附加地,示教方法可以借助于传感器数据处理来执行。为此,可以为为此配备的机器人的末端执行器设置不同的扩展装置,扩展装置将传感器系统(例如相机)直接集成到机器人控制装置中。由于技术限制,这迄今为止仅可用于装配应用(也称作为Pick-and-Place拾取和放置应用)。
一般而言,通常总是存在手动编程的部分。因此,这些常规方法的共同之处是:如果手动编程部分超出了技术外行的能力,那么就无法由该技术外行完全地执行实施。其中的原因在于:整个应用涉及多种问题的相互作用(比如,轨迹、末端执行器激励、传感器数据处理和到进程控制中的集成)。因此,简单的示教方法仅专注于轨迹的规范。具有传感器数据处理的示教方法基于直接安置在机器人处的传感器。然而,可见范围经常受末端执行器和机器人的限制。此外,不断变化的光线条件或空气颗粒(例如在涂漆时)损害机器人处的传感器。
发明内容
根据不同的实施方式,提供了简化进程流的自动化方法、系统和非易失性存储介质。
根据不同的实施方式,一种方法可以包括:基于数据确定机器无关的进程模型,其中数据表示工作设备在执行进程流期间的操作,其中进程流具有多个子进程,其中进程模型对于多个子进程中的每个子进程将进程活动与子进程的空间信息相关联;使用机器的模型将机器无关的进程模型映射到机器的机器特定的控制模型,其中机器特定的控制模型为多个子进程中的每个子进程定义机器的工作点,工作点对应于进程活动和子进程的空间信息。数据可以表示在通过工作设备执行进程流时工作设备的操作。
根据不同的实施方式示出了生成非机器特定的进程模型,该非机器特定的进程模型描述了待完成的进程任务的人工总进程。例如,可以通过跟踪人员如何完成进程任务来创建进程模型。
然后,将非机器特定的进程模型转换为机器特定的控制模型,该控制模型适合于旨在以自动化方式执行进程任务的硬件平台(通常也称为机器)。在此,将考虑所选的硬件平台的机器特定信息。
然后,可以从机器特定的控制模型形成控制程序,硬件平台——例如其可编程逻辑控制器(SPS)可以执行该控制程序。
附图说明
附图示出:
图1和图3分别示出根据不同的实施方式的方法的示意侧视图;
图2和图4A分别示出根据不同的实施方式的方法的示意流程图;
图4B示出用于执行根据不同实施方式的方法的系统的示意系统图;
图5示出根据不同的实施方式的方法的示意模型图;
图6示出根据不同实施方式的方法的示意流程图;和
图7示出根据不同实施方式的机器的示意结构图。
具体实施方式
在下面的详细描述中,参考了构成其一部分并且为了说明而示出具体的实施方式的附图,可以以这些实施方式实施本发明。在这方面,方向术语,即例如“上方”、“下方”、“前方”、“后方”、“前部”、“后部”等参考所描述的图的取向来使用。由于实施方式的部件可以以多种不同的取向定位,所以方向术语用于说明而非以任何方式限制。应理解的是:在不脱离本发明的保护范围的情况下,可以使用其他的实施方式并且可以执行结构或逻辑上的变化。应理解的是:除非具体另外说明,否则本文描述的不同的示例的实施方式的特征可以彼此组合。因此,以下详细描述不应被解释为限制性的,并且本发明的保护范围由所附权利要求限定。
在本说明书的范围中,术语“连接”、“联接”和“耦联”用于描述直接和间接连接、直接或间接联接以及直接或间接耦联,例如机械、流体静力、热力和/或电气的、例如直接或间接的连接和/或相互作用。在附图中,只要是适合的,相同或相似的元件设有相同的附图标记。接合器可设计用于传递机械的相互作用(例如力、扭矩等)。
术语“处理器”可以理解为允许处理数据或信号的任何类型的实体。例如可以根据由处理器执行的至少一个(即,一个或多于一个)特定功能来处理数据或信号。处理器可以具有模拟电路、数字电路、混合信号电路、逻辑电路、微处理器、中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、集成电路或具有它们的任意组合或者由它们形成。下面更详细描述的相应功能的任何类型的实现也可以理解为处理器或逻辑电路。应理解的是:在此详细描述的方法步骤中的一个或多个显然可以由处理器通过一个或多个特定功能来执行(例如实现),这些特定功能由处理器执行。
术语“系统”可以理解为代表一组交互实体。该组交互实体例如可以具有至少一个机械部件、至少一个机电变换器(或其他类型的致动器)、至少一个电部件、至少一个指令(例如,在存储介质中编码)和/或至少一个控制装置,或由其形成。
术语“致动器”(也称作为促动器或执行器)可以理解为设计用于响应于激励来影响机构或进程的部件。致动器可以将由控制装置输出的指令(所谓的激励)转换为机械移动或物理参数,例如压力或温度的变化。致动器,例如机电转换器可以设计用于:响应于激励将电能转换为机械能(例如通过移动)。
术语“控制设备”可以理解为任何类型的逻辑实现实体,该实体例如可以具有布线和/或处理器,其可以执行存储在存储介质中、固件中或其组合中的软件,并可以在此基础上输出指令。控制设备例如可以借助于代码段(例如软件)配置,以控制系统,例如机器或设施(例如其工作点)——例如其移动链的运行。
控制可以理解为有意地影响系统。在此,可以利用致动器根据预设来改变系统的状态。调节可以理解为控制,其中附加地抵消由于干扰引起的系统状态变化。控制可以清楚地具有前向定向的控制路径进而可以清楚地实施将输入参数转换为输出参数的流程控制。但是,控制路径也可以是调节回路的一部分,从而实现调节。与纯前向控制相反,调节具有通过调节回路引起的(反馈)对输入参数的持续影响。
可以将所有执行预先定义的进程任务的过程的总和(例如受控的结果的时间序列)理解为进程流。进程流的子进程可以执行每一个子任务(即进程任务的一部分)。根据进程流的类型,各个子进程可以互锁和/或相互建立,例如以严格的顺序进行,和/或可以是彼此独立的,例如可互换。有条件的子进程可以例如刚好当存在与其相关联的进程情况时,例如低于测量参数的阈值时或图案识别识别出待加工的工件时执行、开始或结束。
可以将进程活动和进程活动的至少一个向量与每个子进程相关联。向量可以定义进程活动的至少一个位置、其变化、空间分布和/或至少一个方向。简化地借助向量描述的、关于进程活动的空间说明也可以更复杂或更详细(在此更一般地称为空间信息)。可选地,可以将关于进程活动的时间说明与空间信息相关联,该时间说明定义了例如进程活动的持续时间、开始、结束和/或时钟。
如果进程流程由手动控制的工作设备来执行,则进程活动可以描述借助于工作设备执行的构成的总和,以便为实现对工件进行的进程任务提供相应的效果(即:执行子任务)。相应的空间信息可以描述:应当在哪里和/或以何种分布提供作用和/或工作设备为此处于哪个空间方位(即位置和/或定向)。工作设备的操作可以描述:工作设备在执行进程流时以何种方式被引导和/或致动,例如其是如何保持的,其被压紧的程度有多强和/或过程执行了多长时间。
可以将原型,例如物理对象(例如机器)或过程(例如控制过程或进程流)的基于数据的(例如数字和/或虚拟的)代表理解为模型。原型可以被抽象、参数化和/或简化以形成模型(所谓的模型形成,即原型到模型的映射)。该模型例如可以包括关于原型的物理信息(例如长度、间距、重量、体积、组分等)、移动相关信息(例如位置、定向、移动方向、加速度、移动速度等)、逻辑信息(链接、序列、耦联、相互作用、相关性等)、时间相关信息(例如时间、总持续时间、频率、周期持续时间等)和/或功能信息(例如电流强度、效果、特征曲线族或特征曲线、工作点空间、力、自由度等)。
控制模型可以与之相应地表示自动化激励的形式代表。控制模型可以具有多个用于激励(例如以将机器置于工作点)的指令并且还具有如下标准,这些标准的执行触发、结束或维持与其相关联的指令。此外,控制模型可以具有控制逻辑,控制逻辑将多个标准和/或多个指令逻辑地互连和/或控制逻辑实施流程(例如流程图),根据该流程进行激励。
以类似的方式,进程模型可以表示进程流的形式表示。进程模型可以具有在进程活动和相应的空间信息之间的多个链接,并且可以可选地将相应的进程情况分配给进程活动,这些进程情况例如在进程活动中发生、确定进程活动或使进程活动结束。进程模型还可以具有进程逻辑,进程逻辑将多个进程情况和/或多个进程活动在逻辑上相互关联和/或进程逻辑实施流程(例如,流程图),根据该流程执行进程过程。例如,进程情况可以根据空间信息决定与该进程情况相关联的进程活动(这代表有条件的子进程)。清楚地,根据存在何种进程情况可以例如在不同地点处发生相同的进程活动。
一般来说,流程图至少可以有分支、跳转和/或循环。进程情况的存在或不存在通常可以借助于至少一个标准来代表,该标准例如在进程情况的存在或不存在的情况下被满足。
映射可以包括将输出集合(也称为原图)的元素转换为目标集合,其中目标集合的元素则是原图的映像(映射)。映射可以将映射的至少一个元素与原图的每个元素相关联。映射可以包括:将例如运算符、变换和/或链接应用于输出集合的元素。元素一般可以包括:逻辑关联、链接、信息、特征、坐标或所属坐标系、数学对象(如公式或数字)、过程、活动等。
代码生成器可以理解为计算机程序,该计算机程序被配置为:将例如以建模语言存在的模型转换成编程语言,例如机器的控制设备的编程语言。但是,替代于或附加于建模语言——例如统一建模语言(UML),模型也可以以标记语言、结构图、决策表或其他形式的语言存在。代码生成器生成代码段(也称为代码生成),代码段可以与其他可选的程序部分连接成程序。
在此,可以将对象的定向和/或位置的空间信息理解为空间方位(也称为方位信息或简称为方位)。位置可以直观地描述空间中的地点(例如一个点),并且定向可以描述对象相对于空间的相应取向(例如方向)。可以将一系列依次由对象占据的空间方位信息理解为轨迹。方位信息根据速度或时钟可选地可以是时间相关的(即移动相关,随后也称作为移动),使得考虑沿着轨迹的移动。通常,三维空间中的空间的方位信息或其他空间信息可以借助于笛卡尔坐标来描述。但是,也可以使用其他的坐标系,例如圆柱坐标。
图1示出根据不同实施方式的方法100的示意侧视图。
此外,在图1中示出了待进行编程的机器114。待进行编程的机器114可以是用于操作、安装或加工工件的机器人,例如工业机器人。例如,方法100实现通过技术外行对完整的自动化应用(包括进程参数和集成)进行最终用户编程。
待进行编程的机器114通常可以具有操纵器114p、114e和框架114u,操纵器114p、114e支撑在该框架处。术语:操纵器114p、114e概括了机器114的可移动元件114v、114g、114e的整体,其激励使得可以与环境进行物理交互,以便例如执行进程流程。为了进行激励,机器114可以具有控制设备712,控制设备被配置为根据控制程序实施与环境的交互。操纵器114p、114e的最终元件114e(也称为末端执行器114e)可具有一个或多于一个工具,诸如焊炬、夹持仪器、涂漆装置等。
操纵器114p、114e可具有至少一个定位设备114p,例如机器人臂114p(也更一般地称为关节臂),末端执行器114e固定在该机器人臂处。机械人臂114p示出为提供机械臂,该机械臂可以提供与人类手臂类似的功能。
定位设备114p的元件例如可以是连接元件114v和铰链元件114g,其中连接元件114v借助于铰链元件114g相互连接。铰链元件114g可以具有例如一个或多个铰链,其中每个铰链可以为与其连接的连接元件114v相对于彼此提供旋转运动(即转动运动)和/或平移移动(即位移)。铰链元件114g的运动可以借助于由控制设备702控制的执行器来激发。
在101中,传感器装置102(具有至少一个跟踪器)可以是安装到工作设备104上的或是被安装在其上。人员106借助于工作设备104执行用于完成进程任务的活动(例如构件的涂漆、制造和/或安装),传感器装置102固定在该工作设备处。工作设备104例如可以是任何手动操作的工作设备104,人员106可以在其活动期间使用、移动、保持、提升和/或操作该工作设备(例如,手持螺丝刀、涂漆枪、电动螺丝刀或胶枪)。
在此期间,传感器装置102将数据传输到外部接收器,这些数据经由传感器装置102的集成的传感器系统来检测。数据例如可以表示传感器装置102在空间中方位和/或移动(例如加速度和/或速度)以及可选地至少一个致动传感器(例如按钮或开关,更一般地也称为触发器)的数据,该致动传感器检测在工作设备104处的致动(例如,何时和/或以何种强度对移除致动)。
外部接收器因此接收传感器装置102在空间701、703、705中的时间相关的方位。可以在此基础上求出工作设备104的时间相关的方位。可选地,可以由接收器获得附加外部传感机构112(也称为附加传感器装置112)的数据和/或SPS数据。附加传感器装置112通常可以被配置为是位置固定的,并且例如具有激光扫描仪、相机和/或距离传感器。
结果,借助于传感器装置102、112例如以高频率检测和记录描述完整进程流的基于时间的数据。
这些数据可以可选地具有活动特定的进程参数,如更下文更精确地描述的那样。活动特定的进程参数可以具有工作设备104的相应的功能和/或工作点的参数(例如,涂漆枪的体积流)。
在103中,可以基于数据和可选的活动特定的进程参数来确定进程任务的平台无关的模型104m(也称为进程模型104m)。该进程模型104m清楚地描述进程任务的整个人工进程。进程模型104m可以可选地由人员106检查和适配。
在一个示例中,输入的数据是由人员保持的工作设备104的基于时间的移动数据、一个/多个触发器的数据和其他外部传感器的数据,这些数据经由时间戳同步地关联。这些数据被预处理。在此,数据量减小,而数据有效性没有显著损失。然后,经由特定任务的分析算法将数据的时间序列拆分为子进程(例如采用起始位置、开始涂漆构成、涂漆、结束进程)。然后,产生平台无关的进程模型104m的实例,其例如呈元模型的形式。在此,元模型描述了模型实例的数据类型及其可能的关联。在这种情况下,模型是例如具有类型化节点的有向图。节点具有描述模型参数及其值范围的数据类型(元模型的节点)。基于输入数据生成模型实例是借助于例如人工神经网络来进行的。人工神经网络(kNN)可以用常规的训练方法来训练,例如所谓的反向传播方法。在训练中,根据各期望的输入参数(例如工作设备的部分对象的空间坐标、相关的时间说明、工作设备的工作点/控制点、工作设备的进程参数、工作设备的空间定向(方位信息)等)。应该注意的是:包含在kNN输入向量中的参数和包含在kNN输出向量中的参数都是与应用或进程高度相关的,并相应地被选择。
此外,可以选择具体的硬件平台114(也更一般地称为机器114)(例如特定的机器人类型或末端执行器等)。机器114的机器特性(例如构造)可以借助于机器114的模型116m来考虑。
在105中,软件可以基于机器114的模型114m和进程模型104m为机器人控制装置702生成平台特定的模型116m(也称为控制模型116m)。在此,例如可以确定机器特定的进程参数(例如,涂漆末端执行器处的体积流量和/或移动流程),该进程参数对应于活动特定的进程参数。
在一个示例中,输入的数据是平台无关的元模型(更一般地为平台无关的模型104m)的实例以及关于所使用的自动化设备(机器人、末端执行器等)的附加信息。平台无关模型104m经由模型到模型变换被变换为平台相关的模型116m。平台相关的模型116m类似地经由元模型来描述。与平台无关的模型104m类似,平台相关的模型116m描述了平台无关的模型104m的数据类型和关系。模型变换描述了映射函数:即,如何将平台无关的模型104m的节点或节点组映射到平台相关的模型116m的节点或节点组。此外,描述了这些所产生的节点如何关联。例如,在考虑相应使用的平台、例如机器的相应特性/特征的情况下来进行映射。
例如,机器模型可以包含并因此考虑以下内容:
-机器的物理信息(即物理架构),例如末端执行器的长度和/或定位设备的组成部分的长度;
-关于机器的特征曲线族或特性曲线的信息,例如末端执行器的最大夹持力和/或定位设备的自由度或移动范围;
-机器的逻辑架构,例如机器的各个组成部分(例如致动器)彼此间的相互作用和逻辑耦联;
-具体的或潜在可用的工具选择或其工具特性;
-控制路径或调节回路的参数,例如控制参数或调节参数、各个致动器的输入参数或各个传感器的输出参数;
-编程特定的信息,例如编程语言、编程接口等。
-机器的坐标系,例如在每种情况下机器的各个致动器或铰链元件的相互堆叠的局部坐标系、各个局部坐标系的原点、局部坐标系的最终位置;
-机器的允许运行参数,比如最高运行温度。
该映射清楚地描述了各具体使用的平台(例如机器)的特性对根据进程模型的抽象的进程流的影响。
在107中,可以借助于代码生成器412基于控制模型116m生成程序代码116(例如,源代码)。程序代码116可以是控制程序116被写入其中的相应代码。根据进程任务、信息技术基础设施和具体要求可以操作不同的目标平台,程序代码116旨在在这些目标平台上执行。在此,可以为进行通信的总系统(例如,机器人控制装置和SPS控制装置)生成程序代码116。程序代码116可以可选地具有预定义的部分,可以由开发人员将程序代码116适配于这些预定义的部分。
在一个示例中,代码生成以针对每种目标语言存在的模板的形式来进行。这些模板具有平台相关的模型的实例作为输入,并在元模型级上描述:如何从中生成文本片段。此外,除了纯文本输出外,这些模板还具有控制结构(例如分支)。模板引擎又具有模板和平台无关的模型的实例作为输入,并从中生成一个或多个文本文件。
图2示出根据不同实施方式的方法100的示意流程图200。
在101中,方法100可以包括:将移动传感器装置102附接201至旨在应由机器114(例如,工业机器人)承担的手动进程流的工作设备104处。例如,进程流是基于轨道的(比如用于粘合、焊接、涂漆或铣削)。
传感器装置102可以磁性地、借助夹紧螺钉、借助夹子或魔术贴固定在工作设备104处,并且可以可选地顺序地固定在手动进程流的多个工作设备104处。
传感器装置102可具有一个或多于一个传感器,例如多种不同传感器类型的传感器,例如分别针对不同的待测量的测量参数(例如对于方位、加速度等)的多种不同传感器类型的传感器。传感器装置102可以可选地具有一个或多于一个移动单元,其中每个移动单元具有传感器装置102的至少一个传感器,例如具有轨迹传感器(也称为跟踪器)的移动单元。这些移动单元或每个移动单元可以自主地配置,例如配置用于自身进行能源供应和/或无线通信。例如,多个传感器可以是共同安置在移动单元的壳体中的或是被安置在其中(也称为内部传感器)。
可以将如下转换器理解为传感器(也称为检测器),该转换器被配置用于:定性地检测其环境的对应于传感器类型的特性或定量地作为测量参数来检测,例如物理或化学特性和/或材料属性。测量参数是适用于借助于传感器进行测量的物理参数。
根据测量到的测量参数的上下文,例如特定传感器类型,传感器可以例如是工作点传感器、致动传感器或轨迹传感器。工作点传感器例如可以检测例如工作设备104的工作点。轨迹传感器可以检测例如移动和/或方位(即定向和/或位置)。
传感器装置102可以具有例如至少一个光电传感器(例如相机)、至少一个轨迹传感器和/或至少一个工作点传感器(例如流量传感器)。轨迹传感器可以具有例如移动传感器(例如具有加速度传感器和/或速度传感器)和/或方位传感器(例如具有定向传感器和/或位置传感器)。
传感器装置102和/或附加传感器装置112例如可以具有至少一个设计用于检测电动特性(例如电流、电压、磁场或功率)的传感器、至少一个设计用于检测方位相关的特性(例如定向和/或位置)的传感器、至少一个设计用于检测移动相关的特性(例如速度和/或加速度)的传感器、至少一个设计用于检测热学特性(例如温度或温差)的传感器、至少一个设计用于检测几何特性(例如间距、立体角、体积)的传感器、至少一个设计用于检测光度特性(例如光强度、亮度、颜色、能量或功率)的传感器,和/或至少一个设计用于检测机械特性(例如力、压力、质量、能量、功率、转矩、致动等的传感器。
传感器装置102的至少一个(即一个或多于一个)传感器可以可选地与移动单元分开地提供。至少一个传感器例如可以具有致动传感器和/或工作点传感器。至少一个传感器可以附接在手动工作设备104——例如手动的工作设备104的供应设备处(例如以测量体积流、温度或电流强度)。手动的工作设备104可以例如是由固定的供应设备供应例如流体和/或能量的手持设备。
工作点可以描述技术设备的特征曲线族中或特性曲线上的点,该点是根据系统特性和作用的外部影响和设备参数而采用的。工作点可以清楚地描述设备处于哪种工作状态。
在101中,方法100还可以可选地包括:校准203传感器装置102。校准可以包括:校准传感器装置102相对于工作设备104的坐标系、附加传感器装置112和/或全局坐标系的位置。例如,全局坐标系可以是位置固定的,即相对于地球表面具有不变的方位。
校准例如可以包括:检测传感器装置102相对于工作设备104的方位。校准可以替代地或附加地包括:检测传感器装置102在空间中的方位,例如相对于全局坐标系的方位。借助于在空间上相对地并且相对于工作设备104描述传感器装置102的两个方位信息,可以基于传感器装置102的轨迹来确定工作设备104的轨迹111(参见图1)。
在101中,方法100可以包括:手动执行205进程流。手动执行405可以理解为:用手(即,由人员)携带和/或致动工作设备104。工作设备104例如可以是由肌肉力量承载或至少由其移动的工作设备。
在进程流的执行205期间,至少一个传感器装置102、112可以将数据发送给外部接收器和/或外部接收器可以检测传感器装置102在空间中的位置和移动,例如借助于附加的传感器装置112检测。在此,例如,到外部接收器的信号传输可以通过无线电进行(例如蓝牙)。替代地或附加地,传感器装置102可以具有至少一个触发器,该触发器与工作设备104的用户界面耦联。触发器可以检测例如工作设备104在用户界面处的手动控制。
在进程流的执行205期间,替代地或附加地,传感器装置102的轨迹111(例如方位和/或移动)可以借助于至少一个相机112或其他传感器类型112来检测,例如,借助激光扫描仪112、间距传感器112、声纳传感器112和/或雷达传感器112来检测。
在103中,方法100还可以可选地包括:将在191中检测到的数据传输给处理单元302(参见图3)并且用进程流的存储的活动特定的进程参数来可选地补充数据以形成进程模型104m。此外,移动数据或轨迹111可以可选地被平滑(例如,使得沿着移动轴线尽可能是直线的)。
进程流的存储的参数可以可选地具有边界条件,比如表示最佳值和/或极限值。替代地或附加地,存储的参数可以进一步指定进程流,比如工作速度、保持时间、压力等。
所确定的进程模型104m可以被配置为是平台无关的,即,不涉及具体的机器人114。
在105中,方法100可以包括:将进程模型104m转换209为控制模型116m。为此,进程模型104m可以用存储的一个或多个不同机器114的机器特定信息114m进行处理,以便形成控制模型116m(也称为进程特定和机器特定模型116m),用于机器114。机器特定信息114m的总和也可以称为机器114或每个机器114的模型114m。
机器特定信息114m可包括机器特定参数,例如定位精度和重复精度、移动的最大范围、速度、加速度等。替代地或附加地,机器特定信息114m可代表机器的至少一个工具114e。机器114(也称为机器工具114e),其例如附接到机器114的定位装置114p。
在103中,方法100可以可选地包括:对进程模型104m进行后处理207。在105中,方法100可以可选地包括:后处理211所形成的控制模型116m。后处理207可以例如由用户在用户界面406和/或(应用)软件(例如在PC、平板电脑或智能手机上执行,参见图4A)的帮助下执行。在207或211中,该方法可以可选地包括:在虚拟环境中可视化和模拟控制模型116m或进程模型104m,和/或编辑轨迹111、113、进程逻辑、进程参数以及集成和控制工具由用户连接到机器。进程模型104m的空间子模型502的可选可视化可以例如利用相应工件的表示来执行(参见图5)。
在107中,方法100还可以包括:为一台或多于一台机器114生成代码,可选地具有不同类型,可选地考虑可能的不同PLX控制系统。可由相应的机器114执行的控制程序116可以通过代码生成107形成。
代码生成107例如以针对每种目标语言存在的模板的形式发生。这些模板将平台相关模型的实例作为输入,并描述如何在元模型级别从中生成文本片段。此外,除了纯文本输出外,这些模板还具有控制结构(例如分支)。模板引擎又具有模板和平台无关模型的实例作为输入,并由此生成一个或多个文本文件。
例如,可以为机器人控制702和/或PLC控制702执行代码生成107。代码生成107可以生成例如人类可读的代码段(即源代码)和/或机器可读的代码段(即机器代码)107。可以为不同的目标语言生成源代码,例如分别取决于适用于相应机器的目标语言。源代码可以可选地随后例如由开发者,例如通过用户界面406被改编和处理。
图3示出了根据不同实施方式的方法100的示意性侧视图300。
例如,传感器装置102可以启用软件支持的方法100来教授工业机器人,该方法也可由技术外行106访问。因此,例如非程序员106就可以因此以完全集成的方式教授工业机器人114。
至少一名任务专家106(例如机械师或焊工)可以通过方法1100的方式举例说明进程流的一种或多于一种活动。机器人114的必要控制软件,包括所有需要的软件组件,可以在此基础上以完全自动化的方式生成。借助于方法100提供的控制模型116m独立于特定机器类型并且因此也可以被重新用于例如来自不同供应商的任何机器类型。因此可以简化机器114的转换。
在101中,方法100可以包括:通过传感器装置102(这里是物理传感器组件)和/或附加(这里是外部)传感器装置112来检测数据。该移动单元或每个移动单元可以附接到工作设备104并且可以通过集成在其中的至少一个传感器来检测工作设备104的位置和/或加速度。在101中,传感器装置102的该移动单元或每个移动单元可通过附接装置(例如磁性地、通过夹子或钩环紧固件)附接到工作设备104。
还可以检测代表工作设备104的轨迹(例如位置和/或移动)的其他测量变量。
传感器装置102还可具有至少一个触发器102t(例如胶枪触发器),其检测工作设备104的手动控制。附加传感器装置112可检测传感器装置102在空间301中的位置。来自传感器装置102(例如其移动单元)的数据和来自外部传感器系统112的数据可以以时间同步的方式传输到具有外部接收器或与其通信连接的计算单元302(例如PC、膝上型电脑等)。
传感器装置102可以可选地在其相对于工作设备104的位置(即位置和/或取向)中被校准203。传感器装置102的位置和/或取向可以例如在工作设备104的坐标系中确定。校准还可以在全局坐标系中进行,该坐标系将传感器装置102的坐标系与机器114的坐标系联系起来,从而可以在这些系统之间进行转换。
图4A示出根据不同实施方式的方法100的示意流程图400a。
在101中,人员可以使用实际工作设备104例如一次或多次地执行205进程流。进程流可以包括例如用电动螺丝刀104拧紧螺钉。传感器装置102和/或附加传感器装置112可以检测至少一个测量变量,其代表工作设备104的空间位置(和/或其中的变化)。更一般地说,可以检测工作设备104的轨迹111。工作设备104的轨迹111可以包括例如与工作设备104的速度、位置、加速度和/或方向有关的信息。
类似地,可以以参数化的方式检测由工作设备104提供的功能(和/或其中的变化),例如,工作设备的轴的转速、工作设备的加热装置的温度、通过工作设备的焊嘴的电流等。替代地或附加地,一旦、只要和/或以一定强度使工作设备104致动,就可以借助于触发器102t以参数化的方式进行检测。更一般地说,触发器102t可以被配置用于:例如在工作设备104的用户界面处检测工作设备104的手动控制。
在101中收集的数据402可以被传送到计算单元302(或到不同的处理单元)并且可以在那里用活动特定的进程参数404(例如涂漆枪104的体积流量)来丰富403。可以例如自动或手动(例如通过用户输入)执行对活动特定进程参数的丰富404。
在一个示例中,用户可以为此目的从计算单元的图形界面中的一系列工作设备(例如涂漆枪)中选择选项。然后根据任务,通过输入表格查询特定进程的参数(例如体积流量)。
计算单元302可以基于检测的数据402创建103进程模型104m(也称为进程特定模型),该模型描述了进程任务而不参考特定自动化。处理单元302可以可选地被配置为用于:修改数据402,例如对数据402进行优化和/或抽象。修改可以包括例如细化和/或平滑轨迹111(例如移动数据)、识别和/或优化子进程以及进行逻辑连接。
进程模型104m可以可选地通过用户界面406(例如在PC、平板电脑或智能手机上提供)进行后处理。例如,可以调整和/或微调工作设备104的轨迹111(也称为工作设备路径111)的分量(例如,段或单个点)。替代地或附加地,可以跟踪、修改至少一个触发器102t的致动和/或将其与轨迹111相关联。
利用机器特定信息114m(例如来自特定机器人平台114或至少来自末端执行器114e),例如机器特定的工艺参数114m(例如涂装末端执行器上的体积流量)可以进一步丰富405进程模型104m。处理单元302可以根据进程模型104m和所提供的机器特定信息114m自动确定控制模型116m。控制模型116m表示用于特定硬件平台112和硬件配置的自动化脚本。
在一个示例中,输入数据是平台无关的元模型(更一般地为平台无关的模型104m)的实例以及与所使用的自动化设备(机器人、末端执行器等)相关的附加信息。平台无关模型104m通过模型到模型转换被转换为平台相关模型116m。平台相关模型116m类似地通过元模型进行描述。与平台无关模型104m类似,平台相关模型116m描述了平台无关模型104m的数据类型和关系。模型转换描述了映射函数,该映射函数指示来自平台无关模型104m的节点或节点组如何映射到平台相关模型116m的节点或节点组。额外描述了这些所生成的节点的相互关系。例如,考虑到相应使用的平台(例如机器)的相应特性/特征来执行映射。
例如,机器模型可以包含并因此考虑以下内容:
-机器的物理信息(即物理架构),例如末端执行器的长度和/或定位装置的部件的长度;
-关于机器的特征曲线族或特性曲线的信息,例如末端执行器的最大夹持力和/或定位装置的自由度或移动范围;
-机器的逻辑架构,例如机器各个组成部分(例如致动器)的相互作用和逻辑耦联;
-具体的或潜在可用的工具选择或其工具特性;
-控制路径或控制回路的参数,例如控制参数或调节参数、各个致动器的输入参数或各个传感器的输出参数;
-编程特定的信息,例如编程语言、编程接口等。
-机器的坐标系,例如在每种情况下,机器的各个致动器或铰链元件的相互堆叠的局部坐标系、各个局部坐标系的原点、局部坐标系的最终位置;
-机器的允许运行参数,比如最高运行温度。
该映射清楚地描述了各具体使用的平台(例如机器)的特征对根据进程模型的抽象进程流的影响。
机器特定控制模型116m可以可选地通过用户界面406(例如在PC、平板电脑或智能手机上提供)进行后处理211。例如,可以调整和/或修改机器114(例如末端执行器114e)的轨迹113。替代地或另外地,可以修改,例如指定不同锚点、行进速度、保持时间等之间的转换。可选地,错误补偿和/或通信路径可以与工厂控制一起被定义。
此外,可以从控制模型116m生成程序代码116,控制模型116m可以在机器114的控制装置702(也称为控制器702)上执行并且例如完全实施所教导的进程流。
在一个示例中,代码生成以针对每种目标语言存在的模板的形式进行。这些模板将平台相关模型的实例作为输入,并描述如何在元模型级别从中生成文本片段。此外,除了纯文本输出外,这些模板还具有控制结构(例如分支)。模板引擎又具有模板和平台无关模型的实例作为输入,并由此生成一个或多个文本文件。
外部系统,例如PC、PLC或类似物可以可选地用于控制末端执行器114e。在这种情况下,作为用于机器的内部控制装置116a的程序代码116(也称为机器人代码)的替代或补充,可以为此为外部系统116b和/或通信接口116b生成程序代码116。
更一般而言,机器114可具有内部116a和/或外部116p控制装置702,其设计用于:控制机器114的末端执行器114e和/或定位装置114p。程序代码116可由控制装置116a、116b来执行。
程序代码116可以是控制程序116被写入其中的相应代码。分别根据进程任务、信息技术基础设施和具体要求可以操作不同的目标平台,程序代码116旨在在这些目标平台上执行。可以为进行通信的总系统(例如机器人控制装置和SPS控制装置)生成程序代码116。程序代码116可以可选地具有预定义的部分,可以由开发人员将程序代码116适配于这些预定义的部分。
可选地,程序代码116可以例如通过用户界面406和/或由人员106来随后修改,例如被适配。
图4B示出用于执行根据不同实施方式的方法100的系统400b的示意系统图。
系统400b可以具有至少一个传感器装置452,例如,可附接到工作设备104的传感器装置102或位置固定的传感器装置112。系统400b还可具有至少一个计算单元302,该计算单元302具有一个或多于一个处理器,该处理器被配置为执行方法100。系统400b可以可选地具有代码生成器412,该代码生成器被配置用于:将机器特定的控制模型116m转换209为控制程序116。系统400b可以可选地具有机器114,其具有用控制程序116编程的控制装置702和编程接口702i,通过该接口可以将控制程序116提供给控制设备702。
图5示出了根据不同实施方式的方法100的示意模型图500。
进程模型104m(流程特定模型)在不参考底层自动化解决方案的情况下清楚地描述了进程任务。进程模型104m可以具有多个子模型502、504、506(例如,针对每个子进程)。
第一子模型502(也称为空间模型502)可以描述物理、几何、位置相关和/或移动相关的特性,例如对象,它们在笛卡尔空间701、703、705中的形状或位置和/或笛卡尔空间701、703、705中的至少一个轨迹111。进一步地,空间模型502可以描述笛卡尔注释的进程活动(例如,对对象的抓取)和/或活动相关的进程参数。笛卡尔空间可以由例如位置固定的方向701、703、705来定义。
可选地,第一子模型502可以描述轨迹111或其部分,这些轨迹是彼此的替代并且这些轨迹或其部分借助于第三模型506(也称为逻辑模型506)参考。空间模型502清楚地描述了如何在物理空间701、703、705中完成进程任务以及哪些特定于任务的进程活动(例如激活涂漆枪的喷涂功能)与其相关联。进程活动可以由至少一个与活动相关的进程参数来表示,例如通过至少一个位置相关和/或移动相关的进程参数(例如速度)和/或至少一个功能性进程参数(例如涂漆枪的体积流量)。
空间模型502描述了例如工具在三维空间中随时间变化的位置和旋转。
第二子模型504(也称为非机器特定适配模型)可以描述可能发生哪些不同的进程情况514(例如部件A或部件B的涂漆)和/或例如基于标准,这些进程情况514可能如何不同(例如,基于部件A的形状和/或部件B的形状)。例如,第二子模型504描述了用于检测进程情况514的标准(例如,通过用于检测部件形状的相机)。可选地,第二子模型504描述了用于例如在教导101期间记录的标准的参考数据(例如部件的示例图像)。
在一个示例中,为此目的定义了环境变量(例如,部件的形状、温度等)。根据环境变量(例如寒冷环境下的汽车门)为这些环境变量的特定值分配定义了多种情况。然后,可以在逻辑模型506中参考这些情况,以便执行自动化进程(例如,对替代轨迹的行进)或进程参数(例如,速度)的适配。
第三子模型506(也称为非机器特定逻辑模型)描述了底层进程逻辑516。进程逻辑516可以具有至少一个控制结构516s(例如,循环、分支、跳转、调用等),例如编程语言的控制结构,并且可以将控制结构与空间模型502和自适应模型504联系起来。复杂的流程图可以以这种方式来表示,例如,“如果检测到部件A,则跳转至带有在那里被标注的进程参数的路径111”。
控制模型116m可以表示用于特定硬件选择(定位设备114p、控制设备702和/或末端执行器114e)的完全集成的自动化脚本。控制模型116m可以具有多个子模型552、554、556、558。
类似于物理模型502,附加的第一子模型552(也称为物理模型552)清楚地描述了空间信息,但是与机器114相关。例如,进程特定信息可以被转移到机器114的坐标系705、713。在这种情况下,可以考虑机器114的末端执行器114e的附接和定向,以便例如在示教进程101期间对工作设备104(例如其工具114e)进行检测时,将坐标系701、703、705映射105a到坐标系705、713。可选地,第一子模型502的至少一个活动相关进程参数可以被映射105a到末端执行器114e的具体工具(即机器特定)。
附加的第二子模型554(也称为机器特定适配模型554)可以描述多种参数和情况。在此,参数可以具有名称和数据类型。例如,可以通过一个或多于一个标准来定义如何基于特定参数值(例如通过机器114的传感器)来检测进程情况。例如,可以指定相关性用于基于机器114的可用传感器114s来确定参数值(也称为测量值)。机器特定适配模型554可以通过映射105b从非机器特定适配模型504推导出来,并且可以可选地由用户进一步细化211。
附加的第三子模型556(也称为机器特定逻辑模型)可以具有程序编程语言的独立于编程语言的表示,该程序编程语言具有控制结构516s(例如,循环、条件等)。机器特定的逻辑模型556可以清楚地互连其他子模型,例如物理模型552、交互模型558和机器特定适配模型556。机器特定逻辑模型556可以通过来自非机器特定逻辑模型506的映射105c来确定。
第四子模型558(也称为交互模型)可以描述自动化脚本与可能的外部系统518的集成。外部系统518可以具有至少一个传感器(例如至少一个相机)、控制设备或企业资源规划系统(ERP系统)。
为此目的,可以定义至少一个特定于集成的协议,其将机器114可通信地520嵌入到系统环境中。交互模型558可以例如基于非机器特定逻辑模型504来确定,并且可以可选地由用户进一步细化211。
物理模型552可以结合末端执行器114e的活动清楚地定义移动进程和移动顺序。交互模型描述了机器114如何在系统环境中通信(例如,向和/或从外部系统518发送和/或接收数据)。机器特定适配模型556描述了在何种条件下需要何种程序。
图6示出了根据不同实施方式的方法100的示意流程图600。
控制模型116m的多个子模型(进程特定模型和机器特定模型)可以通过代码生成器412被转换成代码段。换言之,可以形成控制程序116,其可执行于机器114。
控制程序116可以具有以机器114的相应目标格式配置的源代码文件。每个机器114(例如机器人平台)可以以至少一种编程语言(例如,KRL、Rapid、VisualBasic等)来执行控制程序116的代码。可以使用模板将控制模型116m的多个子模型转换为文本(即,到代码段上)。模板可以用特定于进程的和机器特定的模型114m、104m来实例化并且可以生成相应的程序代码。
图7示出了根据不同实施方式的机器114的示意流程图700。
机器114在本文中可以是借助于控制程序116可编程的机器。一旦被编程,机器114可以被配置用于:自主地执行进程流并且可选地根据传感器信息在限制范围内改变进程流(即,任务的执行)。
机器114可具有控制装置702,其配置用于:根据控制程序116控制机器114的至少一个执行器704(也称为致动器)。控制装置702可具有例如一个或多于一个处理器和/或存储介质。机器114的操纵器114p、114e可具有移动链706,至少一个执行器704的作用沿该移动链706被传递,例如,沿着移动链706的链接的互连。控制装置702可以具有例如可编程逻辑控制(SPS)系统。
移动链706可具有定位装置114p和可通过定位装置114p定位的末端执行器114e。末端执行器114c可以被理解为机器114的移动链706中的最终铰链,其设计用于:直接作用在工件上,例如对工件进行处理(即,对其进行工艺处理)。更一般地,以下活动,诸如对工件的动作、对其的准备步骤或与进程流对应的对其的后处理步骤等可以称为处理活动。加工活动可以包括,例如,铸造、接合(例如,焊接、涂层、螺纹连接、插入、接触、胶合或其他形式的安装或组装)、分离(例如,研磨、铣削、锯切或其他形式的机加工、压制或拆卸)、重塑、加热、重新定位(例如,抓取、填充、转动或移动)或类似操作。进程流可以是基于轨迹的,即,可以通过末端执行器114e沿着轨迹113的移动来映射。
定位装置114p可以具有至少一个执行器704,其被配置用于将末端执行器114e移动到一个位置(也称为定位)。末端执行器114e可具有至少一个执行器704,其配置用于执行进程活动,例如,借助于末端执行器114e的工具执行进程活动。工具通常可以根据进程活动提供功能,借助于该功能可以对工件执行动作。该工具可包括例如铸造工具、接合工具(例如,螺丝刀、胶枪或焊接装置)、位移工具(例如,夹具)、分离工具或类似工具。接合工具可包括或可由例如涂覆工具(例如,涂漆枪、粉末涂覆枪)形成。
机器114可以可选地包括至少一个内部传感器114i,其配置用于检测移动链的工作点,例如以便实施调节。替代地或附加地,机器114可以包括至少一个外部传感器114s(例如照相机),其配置用于检测机器114的环境的特征。例如,可以通过外部传感器来检测114s是否存在预定义的进程情况(即,满足与情况相关的标准)。
例如,可以基于通过至少一个传感器114s、114i检测到的特征来确定是否满足标准。如果根据传感器类型对标准进行参数化(即,映射到传感器类型可检测的特性上),则可以将传感器检测到的特性与参数化标准进行比较,以确定是否满足标准。
如果进程流由可编程机器114模拟,则机器114作为一个整体可以根据空间信息移动到尽可能接近于进程活动的工作点。例如,工作点可以定义末端执行器114e待移动到的位置以及它要在那里提供的效果。工作点可以描述例如机器114的各个执行器704的状态总和。
存储介质可以作为控制设备702的一部分和/或与其分开提供。存储介质可以包括例如电子半导体存储介质,例如,只读存储器(ROM)或随机存取存储器(RAM)、存储卡、闪存、通用串行总线棒(USB棒)、固态驱动器(SSD)和/或硬盘驱动器(HDD)、存储盘(MD)、全息存储介质、光存储介质、压缩盘、数字多功能盘(DVD)或磁光盘。
上面已经参考机器描述了控制。以类比的方式,该描述可以适用于多个独立的机器,例如彼此通信的机器(例如工艺路线),也可适用于具有多个定位装置和/或末端执行器的机器。
下面描述了不同的示例,这些示例涉及在上面的描述中所陈述的和在图中所示出的细节。
示例1是一种方法,包括:基于数据确定机器无关的进程模型,其中数据表示工作设备在执行进程流期间的操作,其中进程流包括多个子进程,其中进程模型对于多个子进程中的每个子进程将进程活动与该子进程的空间信息相关联;使用机器的模型将与机器无关的进程模型映射到机器的机器特定的控制模型,其中机器特定的控制模型为多个子进程中的每个子进程定义机器的工作点,工作点对应于流程活动和子进程的空间信息。
示例2是根据示例1所述的方法,其中映射包括将空间信息映射到机器的定位设备的工作点;和/或其中映射包括将进程活动映射到机器的(例如可移动安装的)末端执行器(例如其工具)的工作点;其中末端执行器例如通过定位设备可移动地支承,其中定位设备包括例如机器人臂,其中末端执行器配置用于例如执行进程活动。
示例3是根据示例1或2的方法,其中机器包括与工作点相关的至少一个致动器,其中,例如,致动器是马达,其中,例如,致动器是定位装置和/或末端执行器的一部分。
示例4是根据示例1至3之一的方法,其中空间信息具有精确的三个位置坐标(例如,根据笛卡尔坐标系)和/或精确的三个方向坐标和/或其中空间信息与线性坐标系相关联。
实施方式5是根据实施方式1至4之一的方法,其中多个子进程中的一个或多于一个子进程是根据标准决定的(也称为条件子进程),其中机器的模型代表机器的传感器类型,其中映射包括根据传感器类型对标准进行参数化(例如将其映射到传感器检测空间),其中,例如,确定进程模型包括确定标准和/或有条件的子进程(例如基于数据)。
示例6是根据示例1至5之一的方法,其中映射包括将空间信息映射到机器的坐标系(其例如与机器的至少一个致动器相关)。
示例7是根据示例1至6之一的方法,其中确定进程模型包括确定(例如,基于数据)一个或多于一个进程逻辑(例如规则),机器独立进程根据该进程逻辑(例如规则)来运行,其中进程逻辑可选地配置用于确定是否满足标准,其中,例如,参数化标准可通过传感器检测,其中,例如,映射包括将进程逻辑映射到控制逻辑。
实施方式8是根据实施方式1至7之一的方法,其中机器无关的进程模型(例如其进程逻辑)对于多个子进程中的至少一个子进程包括进程活动和该子进程的空间信息的至少两个链接,其中两个链接是备选的,其中之一是基于标准(例如通过进程逻辑)来选择的。
示例9是根据示例1至8之一的方法,其中空间信息表示工作设备的位置和/或取向;和/或其中进程活动表示工作设备的致动和/或工作点。
示例10是根据示例1至9之一的方法,还包括:借助于用户界面呈现机器无关的进程模型和/或机器特定的控制模型,用户界面配置为基于用户输入改变机器无关的进程模型和/或机器特定的控制模型。
示例11是根据示例1至10之一的方法,还包括:至少部分地借助于附接至工作设备处的传感器装置检测数据,其中可选地,工作设备由人(例如他的手)处理和/或携带(直接和/或肌肉驱动),其中,例如,传感器装置可移除地(即,可逆地)附接到工作设备。
示例12是一种方法,包括:至少部分地借助于传感器装置检测数据,例如根据示例1至11之一的数据,该传感器装置可移除地固定至(例如手动移动的)工作设备,其中数据表示在借助于工作设备执行进程流期间工作设备的操作,其中工作设备由人来移动;基于数据确定机器无关的进程模型,该机器无关的进程模型表示进程流,例如还包括:使用机器模型将机器无关的进程模型映射到机器特定的控制模型。
示例13是根据示例11或12的方法,其中传感器装置包括附接装置,传感器装置通过该附接装置可移除地附接至工作设备。
示例14是根据示例11至13之一的方法,其中传感器装置(例如其附接装置)具有一个或多于一个磁体;和/或夹紧装置(例如具有夹子和/或夹紧螺钉);和/或具有钩环扣件。
示例15是根据示例11至14之一的方法,其中传感器装置与工作设备分开地被供应能量;和/或其中传感器装置与工作设备电流隔离。
示例16是根据示例11至15之一的方法,其中传感器装置具有一个或多于一个轨迹传感器(例如,位置传感器和/或移动传感器),通过该轨迹传感器检测数据。
示例17是根据示例11至16之一的方法,其中传感器装置具有工作点传感器,借助于该工作点传感器检测工作设备的工作点,其中,例如,工作点传感器具有流量传感器、温度传感器和/或电流传感器(例如,功率传感器)。
示例18是根据示例11至17之一的方法,还包括:将数据从传感器装置无线传输到基站,其中基站包括例如计算单元,其中机器无关的进程模型由计算单元来确定。
示例19是根据示例1至18之一的方法,其中数据,例如借助于传感器装置检测的数据表示工作设备的轨迹(例如,与方位相关和/或与移动相关的特性)和/或表示根据工作设备的工作点的特性(例如,体积流量,温度或电流强度)。
示例20是根据示例19的方法,其中确定机器无关的进程模型包括确定进程流的轨迹,例如,工作设备沿其被引导和/或子进程发生的进程流的轨迹,平滑该轨迹和/或丢弃该轨迹的一个或多个点。
示例21是根据示例1至20之一的方法,其中确定机器无关的进程模型还包括:考虑进程活动和/或空间信息的至少一个边界条件,其中,例如,确定机器无关的进程模型进一步包括:考虑多个子进程中的至少一个子进程的模型,该模型定义边界条件,其中边界条件例如被参数化(即,被定义为参数),其中边界条件例如是为整个进程流来定义的。
示例22是根据示例21的方法,其中至少一个边界条件与时间信息和/或机械信息相关,其中,例如,至少一个边界条件包括运行速度、保持时间、力和/或压力。
示例23是根据示例1至22之一的方法,其中以时间分辨的方式检测数据。
示例24是根据示例1至23之一的方法,其中机器的模型考虑机器的传感器类型、机器的末端执行器、机器的定位装置,以及/或者末端执行器和/或定位装置的物理架构,和/或其中机器的模型考虑末端执行器的功能特性。
示例25是根据示例1至24之一的方法,其中机器无关的进程模型进一步表示进程流的结果。
示例26是根据示例1至25之一的方法,还包括:将机器特定的控制模型映射到可由机器执行的控制程序,例如,控制程序的代码段是根据机器的编程接口配置的。
示例27是根据示例26的方法,其中将机器特定的控制模型映射到控制程序包括使用一个或多于一个模板。
示例28是根据示例27的方法,其中借助于机器的模型、进程模型和/或至少一个子进程的模型对模版进行实例化。
示例29是根据示例1至28之一的方法,还包括:至少部分地通过以位置固定方式设置的附加传感器装置来检测数据,其中,例如,对附加传感器装置和传感器装置的检测和/或数据的相应部分是同步的。
示例30是根据示例29的方法,其中附加传感器装置具有光电传感器、距离传感器、声纳传感器和/或雷达传感器;和/或其中通过附加传感器装置检测的数据表示工作设备的轨迹(例如,与位置相关和/或与移动相关的特性)。
示例31是一种系统,包括:一个或多于一个的处理器,其配置为执行根据示例1至30之一的方法,可选地进一步包括用于与传感器装置和/或附加传感器装置进行无线通信的无线通信设备。
示例32是根据示例31所述的系统,还包括:一个或多于一个非易失性存储器,其中存储有机器无关的进程模型、机器特定的控制模型和/或机器的模型;和/或用于检测数据的一个或多个传感器装置。
示例33是具有代码段的非易失性存储器,其配置为在由处理器执行时执行根据示例1至30之一的方法。
示例34是一种机器无关的进程模型,例如来自根据示例1至30之一的方法的进程模型,其中进程模型对于多个子进程中的每个子进程将进程活动与子进程的空间信息相关联,其中多个子进程是通过工作设备执行的进程流的多个部分,其中,例如,空间信息具有精确的三个位置坐标(例如,根据笛卡尔坐标系)和/或精确的三个方向坐标,和/或其中空间信息与线性坐标系相关。

Claims (15)

1.一种方法(100),包括:
·基于数据确定(103)机器无关的进程模型(104m),其中所述数据表示工作设备(104)在执行(101)进程流期间的操作,其中所述进程流包括多个子进程,其中所述进程模型(104m)对于所述多个子进程中的每个子进程将进程活动与所述子进程的空间信息相关联;
·使用所述机器(114)的模型(114m)将机器无关的所述进程模型(104m)映射(105)到所述机器(114)的机器特定的控制模型(116m),其中机器特定的所述控制模型(116m)为所述多个子进程中的每个子进程定义所述机器(114)的工作点,所述工作点对应于所述进程活动和所述子进程的所述空间信息。
2.根据权利要求1所述的方法(100),
其中所述映射(105)包括:将所述空间信息映射到所述机器(114)的定位设备(114p)的工作点。
3.根据权利要求2所述的方法(100),
其中所述映射(105)包括:将所述进程活动映射到所述机器(114)的末端执行器(114e)的工作点,所述末端执行器借助于所述定位设备(114p)能移动地支承。
4.根据权利要求1至3中任一项所述的方法(100),
·其中所述多个子进程中的至少一个子进程根据标准来决定,
·其中所述映射(105)包括:根据所述机器(114)的传感器类型对所述标准进行参数化。
5.根据权利要求1至4中任一项所述的方法(100),
其中所述空间信息表示所述工作设备(104)的位置和/或定向。
6.根据权利要求1至5中任一项所述的方法(100),
其中所述进程活动表示所述工作设备(104)的操作和/或工作点。
7.根据权利要求1至6中任一项所述的方法(100),还包括:
借助于用户界面呈现机器无关的所述进程模型(104m)和/或机器特定的所述控制模型(116m),所述用户界面配置为:基于用户输入改变机器无关的所述进程模型(104m)和/或机器特定的所述控制模型(116m)。
8.根据权利要求1至7中任一项所述的方法(100),还包括:
至少部分地借助于附接至所述工作设备(104)处的传感器装置(102)检测所述数据。
9.根据权利要求8所述的方法(100),还包括:
其中借助于所述传感器装置(102)检测的所述数据
·表示所述工作设备(104)的轨迹;和/或
·表示根据所述工作设备(104)的工作点的特性。
10.根据权利要求1至9中任一项所述的方法(100),还包括:
至少部分地借助于附加传感器装置(112)检测所述数据,所述附加传感器装置(112)位置固定地设置。
11.根据权利要求1至10中任一项所述的方法(100),还包括:
将机器特定的所述控制模型(116m)映射到能够由所述机器(114)执行的控制程序。
12.根据权利要求11所述的方法(100),还包括:
其中将机器特定的所述控制模型(116m)映射到所述控制程序包括:使用一个或多于一个模板。
13.根据权利要求12所述的方法(100),还包括:
其中借助于所述机器(114)的所述模型(114m)对所述模版进行实例化。
14.一种系统,包括:
一个或多于一个处理器,所述处理器配置为执行根据权利要求1至13中任一项所述的方法(100)。
15.一种非易失性存储介质,其具有代码段,所述代码段配置为当由处理器执行时,执行根据权利要求1至13中任一项所述的方法(100)。
CN202080025472.6A 2019-03-07 2020-03-06 方法、系统和非易失性存储介质 Pending CN113710430A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102019105820.1 2019-03-07
DE102019105820.1A DE102019105820A1 (de) 2019-03-07 2019-03-07 Verfahren, System sowie nichtflüchtiges Speichermedium
PCT/EP2020/056052 WO2020178435A1 (de) 2019-03-07 2020-03-06 Verfahren, system sowie nichtflüchtiges speichermedium

Publications (1)

Publication Number Publication Date
CN113710430A true CN113710430A (zh) 2021-11-26

Family

ID=69784434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080025472.6A Pending CN113710430A (zh) 2019-03-07 2020-03-06 方法、系统和非易失性存储介质

Country Status (7)

Country Link
US (1) US20220143830A1 (zh)
EP (1) EP3934858A1 (zh)
JP (1) JP2022524385A (zh)
KR (1) KR20220002279A (zh)
CN (1) CN113710430A (zh)
DE (1) DE102019105820A1 (zh)
WO (1) WO2020178435A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11654566B2 (en) * 2020-08-12 2023-05-23 General Electric Company Robotic activity decomposition

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09216183A (ja) * 1996-02-13 1997-08-19 Kawasaki Heavy Ind Ltd ロボット3次元位置姿勢教示システム
EP1435280A2 (en) * 2002-12-30 2004-07-07 Abb Research Ltd. A method and a system for programming an industrial robot
US20090132088A1 (en) * 2007-04-24 2009-05-21 Tairob Ltd. Transfer of knowledge from a human skilled worker to an expert machine - the learning process
WO2013033747A1 (de) * 2011-09-06 2013-03-14 Keba Ag Verfahren, steuerungssystem und bewegungsvorgabemittel zum programmieren oder vorgeben von bewegungen oder abläufen eines industrieroboters
CN103921265A (zh) * 2013-01-16 2014-07-16 株式会社安川电机 机器人示教系统和机器人示教方法
CN107738256A (zh) * 2017-10-17 2018-02-27 佛山市南方数据科学研究院 一种手把手仿人示教机器人编程系统
CN108161904A (zh) * 2018-01-09 2018-06-15 青岛理工大学 基于增强现实的机器人在线示教装置、系统、方法、设备
CN108214485A (zh) * 2016-12-13 2018-06-29 发那科株式会社 机器人控制装置、以及机器人控制方法
CN108284434A (zh) * 2017-01-10 2018-07-17 发那科株式会社 机器学习装置、示教装置的冲击抑制系统及机器学习方法
CN108883534A (zh) * 2016-04-12 2018-11-23 优傲机器人公司 通过演示对机器人进行编程

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602006003726D1 (de) * 2006-04-03 2009-01-02 Abb Research Ltd Vorrichtung und Verfahren zur Bahnerzeugung für einen Industrieroboter
US9186795B1 (en) * 2013-06-24 2015-11-17 Redwood Robotics, Inc. Programming and execution of force-based tasks with torque-controlled robot arms
JP2015111338A (ja) * 2013-12-06 2015-06-18 株式会社ツガミ 加工プログラム生成装置、加工システム、及び、加工プログラム生成用のプログラム
WO2018022718A1 (en) * 2016-07-26 2018-02-01 University Of Connecticut Skill transfer from a person to a robot
JP6514278B2 (ja) * 2017-07-04 2019-05-15 ファナック株式会社 レーザ加工ロボットシステム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09216183A (ja) * 1996-02-13 1997-08-19 Kawasaki Heavy Ind Ltd ロボット3次元位置姿勢教示システム
EP1435280A2 (en) * 2002-12-30 2004-07-07 Abb Research Ltd. A method and a system for programming an industrial robot
US20090132088A1 (en) * 2007-04-24 2009-05-21 Tairob Ltd. Transfer of knowledge from a human skilled worker to an expert machine - the learning process
WO2013033747A1 (de) * 2011-09-06 2013-03-14 Keba Ag Verfahren, steuerungssystem und bewegungsvorgabemittel zum programmieren oder vorgeben von bewegungen oder abläufen eines industrieroboters
CN103921265A (zh) * 2013-01-16 2014-07-16 株式会社安川电机 机器人示教系统和机器人示教方法
CN108883534A (zh) * 2016-04-12 2018-11-23 优傲机器人公司 通过演示对机器人进行编程
CN108214485A (zh) * 2016-12-13 2018-06-29 发那科株式会社 机器人控制装置、以及机器人控制方法
CN108284434A (zh) * 2017-01-10 2018-07-17 发那科株式会社 机器学习装置、示教装置的冲击抑制系统及机器学习方法
CN107738256A (zh) * 2017-10-17 2018-02-27 佛山市南方数据科学研究院 一种手把手仿人示教机器人编程系统
CN108161904A (zh) * 2018-01-09 2018-06-15 青岛理工大学 基于增强现实的机器人在线示教装置、系统、方法、设备

Also Published As

Publication number Publication date
EP3934858A1 (de) 2022-01-12
US20220143830A1 (en) 2022-05-12
JP2022524385A (ja) 2022-05-02
DE102019105820A1 (de) 2020-09-10
WO2020178435A1 (de) 2020-09-10
KR20220002279A (ko) 2022-01-06

Similar Documents

Publication Publication Date Title
Schou et al. Skill-based instruction of collaborative robots in industrial settings
CN110573308B (zh) 用于机器人设备的空间编程的基于计算机的方法及系统
Hägele et al. Industrial robotics
US10279476B2 (en) Method and system for programming a robot
US9731419B2 (en) System and method for programming robots
Tzimas et al. Machine tool setup instructions in the smart factory using augmented reality: a system construction perspective
Nagata et al. Development of CAM system based on industrial robotic servo controller without using robot language
Dean-Leon et al. User friendly Matlab-toolbox for symbolic robot dynamic modeling used for control design
Zolkiewski et al. Robot control and online programming by human gestures using a kinect motion sensor
Nilsson Industrial robot programming
Ferraguti et al. A methodology for comparative analysis of collaborative robots for industry 4.0
Wang et al. Augmented reality enabled human–robot collaboration
Rückert et al. Augmented Reality for teaching collaborative robots based on a physical simulation
US20230011979A1 (en) Handheld device for training at least one movement and at least one activity of a machine, system and method
Lippiello et al. An open architecture for sensory feedback control of a dual‐arm industrial robotic cell
CN113710430A (zh) 方法、系统和非易失性存储介质
Tirmizi et al. User-friendly programming of flexible assembly applications with collaborative robots
Huckaby et al. Modeling robot assembly tasks in manufacturing using sysml
Gallo et al. Designing an interface for trajectory programming in industrial robots using augmented reality
Wojtynek et al. InteractiveWorkspace Layout focusing on the reconfiguration with collaborative robots in modular production systems
Bedaka et al. Autonomous Cad Model–Based Industrial Robot Motion Planning Platform
Leahy et al. Unified telerobotic architecture project program overview
Kritskiy et al. Automation of the Manipulator
Secil et al. Design of an application programming interface (API) for commercial industrial robots
Cederberg On Sensor-Controlled Robotized One-off Manufacturing

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