CN101438240B - 把图形程序和机器人程序进行同步的方法和设备 - Google Patents
把图形程序和机器人程序进行同步的方法和设备 Download PDFInfo
- Publication number
- CN101438240B CN101438240B CN200780016542.6A CN200780016542A CN101438240B CN 101438240 B CN101438240 B CN 101438240B CN 200780016542 A CN200780016542 A CN 200780016542A CN 101438240 B CN101438240 B CN 101438240B
- Authority
- CN
- China
- Prior art keywords
- program
- robot
- sequence
- mark sequence
- mark
- 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
Links
- 230000000052 comparative effect Effects 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 15
- 238000004088 simulation Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 235000013615 non-nutritive sweetener Nutrition 0.000 claims 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000001360 synchronised Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006011 modification reaction Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000003466 welding Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000000386 athletic Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000875 corresponding Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 235000009808 lpulo Nutrition 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000001172 regenerating Effects 0.000 description 1
- 230000000717 retained Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 235000015170 shellfish Nutrition 0.000 description 1
Abstract
用于把图形程序和机器人程序进行同步的设备和方法。该设备包括:第一转换器(1),用于把图形程序转换成代表该图形程序中所包含的用于运动和动作的数据的第一标识序列,第二转换器(2),用于把机器人程序转换成代表该机器人程序中所包含的用于运动和动作的数据的第二标识序列,以及修改命令生成器(3),用于把第一和第二标识序列进行比较,并根据比较结果生成修改命令,其中,该第一转换器用于接收该修改命令以及基于该修改命令对图形程序进行编辑,以使得该图形程序的标识序列与机器人程序的标识序列相匹配,以及该第二换器用于接收该修改命令以及基于该修改命令对机器人程序进行编辑,以使得该机器人程序的标识序列与图形程序的标识序列相匹配。
Description
技术领域
本发明涉及用于把机器人程序和图形程序进行同步的设备和方法。
本发明在工业机器人的离线编程和仿真方面是有用的,特别是当该仿真包含机器人将如何执行其任务的图形描述以及机器人控制器包含用于描述机器人将如何执行其任务的文本语言时。
背景技术
工业机器人是被用于许多不同的工业应用中的多种操作的高度灵活的设备。通常,通过与传统机器人编程语言非常类似的机器人编程语言对工业机器人进行编程。机器人编程语言包括指令序列,其中,每个指令告知机器人控制器要做什么以及如何做。典型的机器人编程语言包括用于机器人运动、对输入信号和输出信号进行处理、程序注释、对程序流程(循环和条件)进行处理的指令。每个工业机器人制造商有其自己的机器人编程语言。
传统的机器人控制器提供与机器人控制器相连的编辑设备,用于对机器人进行指示,以及用于对机器人程序的指令序列进行记录和编辑。指令序列通常被保存在用于离线存储以及用于离线编辑的计算机文件中。在离线形式中,机器人程序包括一个或更多个包含指令的文件,这些指令具有对每个步骤要进行的操作进行细化的每个指令的实参。除指令以外,还可以有与每个指令相关联的数据,例如,机器人所要移动到的点在某些情形下可以被存储在指令中,或者在其它情形下被存储在程序的数据段中并由具体的指令予以引用。
机器人的编程是费时的过程,在编程和教授过程中使用机器人的传统的方法占用生产装备,延迟生产开始。为了节省时间以及加快生产开始,非常期望对机器人进行离线编程。通常,这是通过离线图形仿真来完成的。仿真包含机器人及其环境的图形3D表示以及教授和记录机器人的操作和移动的图形装置。图形仿真提供用于对工业机器人进行编程以及使该工业机器人形象化的更加自然和容易的方法,不对实际的装备形成妨碍。另外,图形环境允许独立于机器人制造商所使用的机器人编程语言。然而,图形3D仿真没有对实际的机器人编程语言中所有可用的特征进行表示的能力。例如,3D仿真既不显示程序流程、循环和条件,也不显示程序中的注释。许多输入-输出处理也不在3D仿真中显示。
从具有图形仿真的工作的输出是图形程序,该图形程序包括机器人在操作期间应当做什么的图形表示。例如,图形程序包括3D点和序列,还可以包括运动的属性,如有关机器人将如何对待拐角以及机器人的工具相对于零件(part)将移动多快的描述,以及用于诸如电弧焊、点焊等过程的过程信息。当仿真和离线编程完成时,图形程序必须被转换成或翻译成实际的机器人程序。通常,从图形程序到机器人程序的翻译是由单向翻译器来完成的,该单向翻译器把3D点和序列以及沿3D对象的其它信息转换成用于具体的机器人编程语言的运动指令序列。机器人程序随后被传送到实际的机器人控制器。
该机器人程序几乎从来不是完全正确的或完整的。必须增加程序流程以保证正确的循环以及条件的处理。还要增加输入-输出信号和处理。真实世界和3D仿真之间的标定中的误差意味着必须对许多指令和位置进行修改以使得机器人运行中没有碰撞。另外,对装备晚进行的修改意味着必须增加新的指令。在提高机器人的生产能力的压力下,指令被修改以提高机器人的速度,降低了机器人在拐角中和在大的移动中运动的精度。最后,对控制器上的程序进行注释,使得将来的编程员能够理解程序的逻辑以及修改背后的原因。对整个程序都增加注释,以提高机器人程序的可读性和可维护性。
以上所有的修改,意味着实际的机器人程序常常与3D离线仿真中的描述非常不同。通常,在此工作完成后,可以不再使用3D图形仿真。如果编程员要使用在3D仿真期间生成的图形程序来进行修改,则以上所有的改变必须重新进行。这意味着,如果不能用来自真实的机器人程序的实际的程序数据对3D仿真进行更新,则3D仿真不再是有效的编程工具,离线编程的好处也失去了。
通常,机器人制造商和3D仿真制造商试图通过另一单向翻译器从机器人程序对3D仿真进行更新,该单向翻译器获取机器人程序并把它转换成机器人运动的3D表示的图形程序。从而,程序流程和条件、许多输入-输出处理、以及程序中的注释都被丢弃。
试图解决此限制的传统解决方案是把机器人程序分成段、子例程、和/或模块,其中,能够无损失地被加载回3D仿真中的涉及移动的机器人指令被放在与对程序流程、条件、输入-输出处理和注释进行处理的指令分开的段、例程或模块中。此方法的缺点在于:仿真系统不能对整个程序进行处理,必须有手工工作在对来自3D仿真系统的段、例程或模块进行修改后对整个程序重新进行汇编。因此,传统的3D仿真和离线编程工具提供‘下载’翻译器和‘上载’翻译器。
然而,期望使用3D图形仿真来生成机器人程序、修改实际的机器人上的程序、以及把程序无缝地无损失地加载回3D仿真并再次对其进行修改而不用人工地分割程序。
发明内容
本发明的目的是找出避免上述问题的、有吸引力的解决方案。
按照本发明的一个方面,此目的是通过如权利要求1中所限定的用于机器人程序和图形程序的同步的方法来达到的。
这种方法包括以下步骤:接收有关哪个程序作为用于同步的领导者程序在同步期间将保持不变、以及哪个程序作为跟随者程序将根据被选择为所述领导者程序的程序进行修改的信息,把图形程序转换成第一标识(token)序列,所述第一标识序列代表所述图形程序中所包含的用于运动和动作的数据,把机器人程序转换成第二标识序列,所述第二标识序列代表所述机器人程序中所包含的用于运动和动作的数据,把第一标识序列和第二标识序列进行比较,并根据比较结果根据哪个程序是领导者和哪个程序是跟随者来生成修改命令,以及基于所生成的修改命令对跟随者程序进行编辑,以使得跟随者的标识序列与领导者的序列相匹配。跟随者的序列应当等于领导者的序列,即跟随者的序列的每个标识应当以相同的次序与领导者的序列中的标识相匹配。
本发明提供一种解决方案,通过该解决方案,离线仿真环境中的图形程序中的运动内容和机器人控制器中的本地语言程序中的运动内容可以被更新并相互保持一致。相应地,本发明提供一种方法,能够把仿真期间生成的图形程序和机器人控制器中的机器人程序进行同步而没有程序流程、输入-输出处理、或注释和其它非运动指令的损失。图形程序或机器人程序的运动内容的修改可以从图形表示转变回机器人语言表示且反之亦然,而不必重新生成或者丢失程序或图形上下文的其余部分。这在所有的离线编程实施中都具有关键的重要性。
图形程序和本地语言机器人程序的运动内容被表示为一系列标识。标识的概念形成图形程序和本地语言程序中的序列和数据的中间表示,这使得对这些程序进行比较是可能的。
按照本发明的实施例,编辑步骤包括对跟随者的标识序列进行编辑以使得所述标识序列与领导者的序列相匹配,以及把所编辑的跟随者的标识序列转换回初始的程序形式,即:根据图形程序或机器人程序中的哪个被选择为跟随者,转换回该图形程序或该机器人程序。虽然,生成用于直接编辑初始的程序(即图形程序或机器人程序)的修改命令是可能的,但生成用于标识序列的修改命令并对该序列进行编辑更加容易。
按照本发明的实施例,所述程序被转换成由所述标识构建的语句序列,所述修改命令包括插入语句、删除语句和编辑标识。分解成语句和标识提供了用全部指令(即语句)以及指令的参数(即标识)进行工作的能力。例如,简单的运动指令可以包括单个的指令“Linear p1,1000”,指示机器人以1000mm/s的速度直线地移动到点“p1”。序列化把该指令转换成有3个标识(“直线”,“p1”,和“1000”)的单个的语句。当把图形表示与文本程序表示进行同步时,语句和标识的使用允许修改命令生成器的用于找出使一个表示同步到另一个表示所必需的最少的改变的最大可能的自由度。
按照本发明的实施例,第一标识序列和第二标识序列之间的区别通过最长公共子序列(LCS)算法来计算。最长公共子序列算法一般被用来找出最长的序列,该最长的序列是序列集合(常常只是两个)中所有序列的子序列。这个实施例是特别有益的,因为两个表示之间的最长的公共子序列提供用于语句和标识的最公共的集合的指示。因此,最长的公共子集合是不必被改变的语句和标识的集合。这意味着该算法自动找出使一个表示同步到另一个表示所必需的最少的改变。找出最少改变是有益的,因为所有的有关注释、逻辑、程序流程都得以保持原样而不会出现不想要的修改的风险。
如上所述,机器人编程语言也可以包含被指令使用的数据段。在以上的实例中,“p1”是对数据段的标记,其中,目标的实际的坐标(结合点或线)被维持。在本发明的实施例中,程序的数据段也和图形表示同步。当要对数据段进行同步时,首先完成这些,然后再对指令进行同步。这是通过与以下方法相同的方法来完成的,该方法生成语句和标识以及找出最长公共子序列以指导对图形表示或文本表示进行的修改。
按照本发明的进一步的方面,本发明的目的是通过可直接加载在计算机或处理器的内部存储器中的计算机程序产品来达到的,该计算机程序产品包括当程序在计算机上运行时用于执行按照所附方法权利要求的方法的步骤的软件代码部分。计算机程序在计算机可读介质上或通过网络提供。
容易发现,如所附方法权利要求中所限定的按照本发明的方法适用于由计算机程序当其在处理单元上运行时来执行,该计算机程序具有本发明方法中的步骤所对应的指令。
按照本发明的另一方面,本发明的目的是通过计算机可读介质来达到的,该计算机可读介质上记录有程序,该程序使得计算机执行按照所附方法权利要求的方法的步骤,该程序在计算机上运行。
按照本发明的另一方面,此目的是通过如权利要求7所限定的用于机器人程序和图形程序的同步的设备来达到的。
该设备包括:第一转换器,用于把图形程序转换成第一标识序列,所述第一标识序列代表所述图形程序中所包含的用于运动和动作的数据;第二转换器,用于把机器人程序转换成第二标识序列,所述第二标识序列代表所述机器人程序中所包含的用于运动和动作的数据;以及修改命令生成器,用于把第一标识序列和第二标识序列进行比较,并根据比较结果生成修改命令,其中,所述第一转换器用于接收所述修改命令以及基于所述修改命令对图形程序进行编辑,以使得所述图形程序的标识序列与机器人程序的标识序列相匹配,以及,所述第二转换器用于接收所述修改命令以及基于所述修改命令对机器人程序进行编辑,以使得所述机器人程序的标识序列与图形程序的标识序列相匹配。
本发明采用与两个转换器一同工作的修改命令生成器。一个转换器针对图形程序工作,而另一个转换器针对机器人程序工作。这些转换器负责把图形程序和机器人程序转换成标识序列。按照本发明的实施例,图形程序和机器人程序被转换成语句序列。每个语句由标识来构建,其中,每个标识代表不可分的信息。修改命令生成器计算两个语句序列之间的区别,例如,通过最长公共子序列方法。该区别被转换成编辑指令(被称为修改命令),并被发送回用于修改图形程序或机器人程序的一个转换器或另一个转换器。
按照本发明的实施例,该设备用于接收有关哪个程序将是用于同步的领导者以及哪个程序将是跟随者的信息,以及,修改命令生成器用于根据哪个程序是领导者和哪个程序是跟随者来生成以及向第一转换器或第二转换器发送所述修改命令。跟随者根据领导者被进行同步。此实施例使得用户选择这些程序的哪个程序(即图形程序或机器人程序)将按照另一个程序进行同步是可能的。
按照本发明的另一方面,修改命令生成器使用任何其它形式的差分算法来产生一组改变,这些改变使得一个语句序列与另一个语句序列相一致。
按照本发明的另一方面,图形表示不是基于3D的,而是基于图标,其中,每个图标代表用于机器人的指令或动作。这些图标被排列成序列以表示用于机器人的任务。
附图说明
现在通过对本发明的不同的实施例的描述以及参考附图,更进一步地对本发明进行阐述。
图1示出了按照本发明的同步设备的方框图。
图2至图11示出了本发明如何工作的详细的实例。
图12示出了按照本发明实施例的方法的流程图。
具体实施方式
图1示出了按照本发明的同步设备的方框图。该设备包含三个对象;第一转换器1,该第一转换器把图形程序转换成一系列语句(sentence)以及接收修改命令,第二转换器2,该第二转换器把机器人程序转换成一系列语句以及接收修改命令,以及修改命令生成器3,该修改命令生成器找出两个系列语句之间的区别以及把修改命令发送给转换器。修改命令生成器找出使得跟随者的序列与领导者的序列相匹配所必需的改变。图形程序被存储在用于对机器人进行离线编程的计算机上的存储区域中。机器人程序被存储在机器人控制器5上的存储区域中。三个对象都通过软件来实施。
机器人程序被存储在机器人控制器上的存储区域中或者离线计算机上的虚拟控制器中。另外,本发明包括如下情况:机器人程序被存储在文件中,以及提供有分析器,该分析器能够读取机器人程序中的数据段和指令,以及响应于同步向转换器给出必要的响应以生成语句序列和标识序列并对该程序进行改变。
在本发明的一个实施例中,图形程序在3D仿真系统中实施,机器人程序在虚拟控制器中实施,该虚拟控制器精确地对实际的控制器的对程序进行存储和修改的能力进行仿真。修改命令生成器在3D仿真系统中实施,并与图形表示和虚拟控制器进行通信。
图形程序包括一个或更多个移动路径,这些移动路径包含按顺序给出的并在图形显示器上进行显示的目标(target)和动作。每个目标包含用于运动、线(linear)、结合点(joint)、速度(speed)、区域(zone)等的属性。动作包含诸如I/O的事件和/或将会沿路径出现的程序事件。路径、目标、属性和动作对于图形编程和图形机器人程序的分析是必需的。
把路径提供给第一转换器1,该第一转换器把目标和动作的图形序列转换成由标识组成的语句序列。每个语句代表完整的运动或单独的动作。完整的运动包含用于位置、工具和对象框架的所有标识,这些标识描述在目标位置的机器人的几何情况。每个标识代表用于运动的数据,即用于工具框架的数据、用于对象框架的数据、用于速度的数据等。第一转换器1将只考虑具有用于序列化的等同的程序表示的那些运动和动作。转换器1不必考虑对于具体的机器人可用的所有可能的指令。只需要考虑与同步有关的或具有同步的能力的指令。例如,在没有图形表示的情形中,例如FOR-NEXT循环,则转换器不需要转换FOR-NEXT循环且同步仍会进行。
在同步期间,当第一转换器1是跟随者时,它必须接受来自修改命令生成器的修改命令,以及插入语句、删除语句和编辑标识;并在沿路径的它们的正确的位置处把它们转换回图形表示。
本地语言机器人程序包括程序流程单元,如子例程、函数、if-then-else、while、I/O指令、过程指令、运动指令、以及用于保持具体的目标、速度、工具等数据的数据单元。
把程序、子例程或运动的阵列提供给第二转换器2,这取决于机器人语言。第二转换器2随后构建语句序列,每个语句只包含完整的运动和动作,但具有与在机器人程序中所找出的序列相同的序列。每个语句包含代表用于运动和动作的数据的标识。
在同步期间,当第二转换器2是跟随者时,它必须接收来自修改命令生成器的修改命令,以及插入语句、删除语句和编辑标识,并把它们转换回机器人程序表示。
对象修改命令生成器的功能是对语句和标识的序列进行比较,把修改命令发送给第一转换器1或第二转换器2,这取决于哪个是领导者以及哪个是跟随者。该比较可以基于许多已知的用于对数据进行比较的方法,例如最长公共子序列方法,该方法使得对于跟随者的修改最小化。修改命令用以下形式发送给任一转换器:插入语句、删除语句、编辑标识。
下面将参考图2至图11对本发明的实例进行详细地阐述。该实例从图形程序(如图2所示)和文本程序(如图3所示)开始。图2中的图形程序示出了被仿真的机器人8以及在空间中的路径9,或同样可应用的是,被附于几何对象的路径。在此实例中,路径具有有若干属性的三个点p1,p2和p3,这些属性描述仿真应当如何移动到这些点(直线地(linear))、要使用的速度(800mm/s)、用于点的精确度的区域的尺寸(100mm)以及要使用的工具(工具(tool)10),以及可选的工作对象(wobj0),该工作对象中对点表示。图3所示的文本程序包含图形程序的等同的机器人程序表示。两个表示可以被称为是互相‘同步’。
在此实例中,我们将示出的情形是:图形程序是主导,文本程序是拷贝。因此,在该实例中,仿真和离线编程工具的用户可以对图形程序进行修改。典型的情形是增加新的点以及对用于p1的工作对象进行修改。图4示出了修改的图形程序。此时在该实例中,目标是把修改的图形程序与初始的文本程序进行同步以产生包含新的单元和修改的新的文本程序。
现在将参考图5至图8对语句和标识的生成进行描述。虽然同步通过数据进行工作与通过程序中的指令进行工作同样不错,但已经发现最好首先把数据进行同步。用于图形表示的转换器1产生序列化的数据,如图5所示。图1示出了图形修改后的序列化的数据。转换器1还产生序列化的指令,如图6所示。图2示出了图形修改后的序列化的指令。相应地,与文本程序相连的转换器2也产生其自身的文本程序的序列化的数据和指令。这些如图7和图8所示。图3示出了来自文本程序的序列化的数据。图4示出了来自文本程序的序列化的指令。
下一步骤是使用修改命令生成器3来把序列化的数据和序列化的指令进行比较以及生成使得文本版本(拷贝)与图形版本(主导)相同的修改命令。注意,图形版本或文本版本都可以是用于同步的目的的主导版本。修改命令生成器获取上述的序列化的数据和指令流,产生使得拷贝与主导一致的编辑命令。
图9和图10示出了使用最长公共子集合算法从修改命令生成器生成的通用的编辑命令。图5示出了用于数据的编辑命令,图6示出了用于指令的编辑命令。这些编辑命令从修改命令生成器被发送给转换器2。转换器2把编辑命令应用到文本程序。所得到的修改的文本程序示于图11中,所得到的修改以斜体字显示。
关键要注意的是,编辑命令是把文本程序同步到图形程序所必需的编辑命令的最小的集合。此方法不触及其余的文本,因此允许空白处和注释得以保留。另外,该方法允许图形程序或文本程序是主导而没有任何附加限制。
图12是按照本发明实施例的方法和计算机程序产品的流程图的示意。将会理解的是,流程图的每个方框都可以由计算机程序指令来实施。
图形程序和本地语言程序通过以下顺序被保持同步:
方框11:接收有关哪个程序将是用于同步的领导者以及哪个程序将是跟随者的信息。用户对哪个程序(图形,或机器人)将是用于同步的领导者以及哪个将是跟随者进行选择。被选择为跟随者的程序将按照被选择为领导者的程序进行修改,即跟随者程序被改变以及领导者程序维持不变。
方框12:把图形程序转换成第一标识序列,该第一标识序列代表该图形程序中所包含的用于运动和动作的数据。转换器1把图形程序转换成语句序列和标识序列。
方框14:把机器人程序转换成第二标识序列,该第二标识序列代表该机器人程序中所包含的用于运动和动作的数据。转换器把机器人程序转换成语句序列和标识序列,如图2所示。图形程序和机器人程序的转换以什么次序来执行是无关的,即机器人程序可以在图形程序之前进行转换或者转换可以并行地执行。
标识所代表的数据从转换器1被交换到转换器2,这取决于哪个是领导者。
方框16:把第一标识序列和第二标识序列进行比较。语句序列和标识序列被发送给修改命令生成器。修改命令生成器对序列进行比较。
方框18:基于第一表示序列和第二标识序列之间的比较,根据哪个程序是领导者以及哪个程序是跟随者来生成修改命令。修改命令生成器把修改命令发送给转换器1或转换器2,这取决于哪个是跟随者。
方框20:基于所生成的修改命令对跟随者的标识序列进行编辑,以使得跟随者的标识序列与领导者的序列相匹配。随后的转换器接收修改命令并相应地编辑其程序,以使得其语句和标识序列与领导者精确地匹配。
方框22:把所编辑的跟随者的标识序列转换回初始的程序形式,即转换回图形程序或机器人程序。
例如,用于实施按照本发明的方法的软件在机器人控制器上或在被用于离线编程和仿真的计算机上进行存储和执行。然而,在任何其它外部计算机上来存储和执行该软件也是可能的。
Claims (10)
1.一种用于把图形程序和机器人程序进行同步的方法,所述图形程序在离线仿真环境中生成、定义用于机器人的并包括按顺序给出的目标和动作的路径的移动路径以及沿所述移动路径的机器人运动的属性,所述机器人程序包括用机器人编程语言编写的用于机器人控制器的程序代码,其中,所述方法包括:
把图形程序的运动内容转换成第一标识序列,所述第一标识序列代表用于运动的数据,
把机器人程序的运动内容转换成第二标识序列,所述第二标识序列代表用于运动的数据,
把第一标识序列和第二标识序列进行比较,并根据比较结果来生成修改命令,以及
基于所述修改命令对图形程序进行编辑,以使得编辑后的图形程序的标识序列与机器人程序的所述第二标识序列相匹配,或者基于所述修改命令对机器人程序进行编辑,以使得编辑后的机器人程序的标识序列与图形程序的所述第一标识序列相匹配。
2.根据权利要求1的方法,在所述把图形程序的运动内容转换成第一标识序列之前,所述方法还包括:接收有关哪个程序作为用于同步的领导者程序在同步期间将保持不变、以及哪个程序作为跟随者程序将根据被选择为所述领导者程序的程序进行修改的信息;
所述生成修改命令的步骤包括:根据哪个程序是领导者和哪个程序是跟随者来生成修改命令。
3.按照权利要求2的方法,其中,编辑步骤包括对跟随者的标识序列进行编辑以使得所述跟随者的标识序列与领导者的序列相匹配,以及把所编辑的跟随者的标识序列转换回初始的程序形式。
4.按照权利要求1、2或3的方法,其中,所述图形程序的运动内容和所述机器人程序的运动内容被转换成由所述标识构建的语句序列,所述修改命令包括插入语句、删除语句和编辑标识。
5.按照权利要求1、2或3的方法,其中,第一标识序列和第二标识序列之间的区别通过最长公共子序列LCS算法来计算。
6.按照权利要求4的方法,其中,第一标识序列和第二标识序列之间的区别通过最长公共子序列LCS算法来计算。
7.一种用于把图形程序和机器人程序进行同步的设备,所述图形程序在离线仿真环境中生成、定义用于机器人的并包括按顺序给出的目标和动作的路径的移动路径以及沿所述移动路径的机器人运动的属性,所述机器人程序包括用机器人编程语言编写的用于机器人控制器的程序代码,其特征在于,所述设备包括:
第一转换器(1),用于把图形程序的运动内容转换成第一标识序列,所述第一标识序列代表用于运动的数据,
第二转换器(2),用于把机器人程序的运动内容转换成第二标识序列,所述第二标识序列代表用于运动的数据,以及
修改命令生成器(3),用于把第一标识序列和第二标识序列进行比较,并根据比较结果生成修改命令,其中,所述第一转换器还包括用于接收所述修改命令以及基于所述修改命令对图形程序进行编辑以使得编辑后的图形程序的标识序列与机器人程序的所述第二标识序列相匹配的装置,以及,所述第二转换器还包括用于接收所述修改命令以及基于所述修改命令对机器人程序进行编辑以使得编辑后的机器人程序的标识序列与图形程序的所述第一标识序列相匹配的装置。
8.按照权利要求7的设备,其中,所述设备还包括用于接收有关哪个程序作为用于同步的领导者程序在同步期间将保持不变、以及哪个程序作为跟随者程序将根据被选择为所述领导者程序的程序进行修改的信息的装置,以及,修改命令生成器(3)还包括用于根据哪个程序是领导者和哪个程序是跟随者来生成以及向第一转换器或第二转换器发送所述修改命令的装置。
9.按照权利要求8的设备,其中,所述第一转换器(1)和所述第二转换器(2)中的每个还包括用于对跟随者的标识序列进行编辑以使得所述标识序列与领导者的序列相匹配以及把所编辑的跟随者的标识序列转换回初始的程序形式的装置。
10.按照权利要求1至6的任一项权利要求的方法的应用方法,用于对工业机器人进行离线编程。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06113817.8A EP1855194B1 (en) | 2006-05-11 | 2006-05-11 | Synchronization of a graphical program and a robot program |
EP06113817.8 | 2006-05-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101438240A CN101438240A (zh) | 2009-05-20 |
CN101438240B true CN101438240B (zh) | 2016-11-30 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10481885B2 (en) | Synchronization of a graphical program and a robot program | |
Suh et al. | Architecture and implementation of a shop-floor programming system for STEP-compliant CNC | |
Cutkosky et al. | A methodology and computational framework for concurrent product and process design | |
EP1842631B1 (en) | Apparatus and method for automatic path generation for an industrial robot | |
Zivanovic et al. | An approach for applying STEP-NC in robot machining | |
Minhat et al. | A novel open CNC architecture based on STEP-NC data model and IEC 61499 function blocks | |
JP3673749B2 (ja) | シミュレーション装置 | |
JP2019036014A (ja) | 情報処理装置、情報処理方法およびプログラム | |
GB2473129A (en) | Off-line robot teaching method | |
CN109986559A (zh) | 参数编辑方法和系统、控制设备及存储介质 | |
Peng et al. | Application and evaluation of VR-based CAPP system | |
EP3673334B1 (en) | Method for engineering autonomous system with reusable skills | |
CN113836702A (zh) | 机器人示教编程方法及机器人示教编程装置 | |
CN110000753B (zh) | 用户交互方法、控制设备及存储介质 | |
CN109807898B (zh) | 运动控制方法、控制设备及存储介质 | |
CN109910004B (zh) | 用户交互方法、控制设备及存储介质 | |
Sulaiman et al. | File and PC-Based CNC Controller using Integrated Interface System (I2S) | |
CN109807896A (zh) | 运动控制方法和系统、控制设备及存储介质 | |
CN109605378A (zh) | 运动参数的处理方法、装置和系统及存储介质 | |
CN110000775B (zh) | 设备管理方法、控制设备及存储介质 | |
JP2011238041A (ja) | プログラム作成装置及びプログラム作成方法 | |
CN101438240B (zh) | 把图形程序和机器人程序进行同步的方法和设备 | |
Mohamed et al. | A review on intelligence STEP-NC data model and function blocks CNC machining protocol | |
CN111113426A (zh) | 一种基于cad平台的机器人离线编程系统 | |
JPH0944219A (ja) | ロボットシミュレータ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180528 Address after: Baden, Switzerland Patentee after: ABB TECHNOLOGY LTD. Address before: Sweden Westrm J Patentee before: ABB AB |