CN114096383B - 机器人系统中的运动分配 - Google Patents
机器人系统中的运动分配 Download PDFInfo
- Publication number
- CN114096383B CN114096383B CN202080013487.0A CN202080013487A CN114096383B CN 114096383 B CN114096383 B CN 114096383B CN 202080013487 A CN202080013487 A CN 202080013487A CN 114096383 B CN114096383 B CN 114096383B
- Authority
- CN
- China
- Prior art keywords
- manipulator
- manipulators
- motion
- computer
- tool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 226
- 238000000034 method Methods 0.000 claims abstract description 205
- 230000008569 process Effects 0.000 claims abstract description 111
- 230000009466 transformation Effects 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 40
- 238000004519 manufacturing process Methods 0.000 claims abstract description 24
- 239000013598 vector Substances 0.000 claims description 36
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000013519 translation Methods 0.000 claims description 18
- 238000009826 distribution Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 5
- 238000012800 visualization Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 35
- 230000014616 translation Effects 0.000 description 9
- 238000005520 cutting process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003801 milling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J15/00—Gripping heads and other end effectors
- B25J15/0052—Gripping heads and other end effectors multiple gripper units or multiple end effectors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/02—Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
- B25J9/023—Cartesian coordinate type
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
- B25J9/12—Programme-controlled manipulators characterised by positioning means for manipulator elements electric
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1607—Calculation of inertia, jacobian matrixes and inverses
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1669—Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39109—Dual arm, multiarm manipulation, object handled in cooperation
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
Abstract
本发明的特征在于一种用于在制造处理系统中在第一操纵器与第二操纵器之间可调整地分配协作运动的计算机实现的方法。该方法包括:由计算设备接收用于被配置成持有工具的第一操纵器的数据、用于被配置成持有工件的第二操纵器的数据、以及定义了将由工具在工件的至少一部分上实行的过程的过程数据。用于第一或第二操纵器中的至少一个的数据包括:可由用户调整的加权因子,以指定对应操纵器的运动的至少一定百分比。该方法还包括:生成用于定义过程路径的相对变换函数、以及基于至少一个加权因子在第一与第二操纵器之间分配运动以完成过程路径。
Description
相关申请的交叉引用
本申请要求保护2019年2月11日提交的美国临时专利申请No.62/803,714的权益和优先权,该申请的全部内容由本申请的受让人所拥有,并且通过引用以其全部内容并入本文中。
技术领域
本发明总体上涉及用于在制造处理系统中在机器人操纵器之间可调整地分配协作运动的计算机实现的系统和方法。
背景技术
机器人路径规划被用于各种行业中以提高工作量。例如,在制造处理设施中,机器人系统可以被用来使一个或多个热处理焊炬(例如,等离子弧焊炬)或切割工具对工件的处理(例如,加热、切割、刨削和标记)自动化。具体地,制造设施可以包括计算机数字控制器(CNC),操作者使用该控制器来输入指定了各种操作参数的信息。CNC可以与制造处理设施的一个或多个机器人或分离的轴(例如,轨道和旋转件(rotary))的组合进行电通信,该一个或多个机器人或分离的轴在下文中通常被称为操纵器。一般而言,机器人操纵器在移动方面具有六个自由度,而轨道或旋转件操纵器具有一个自由度。
在示例性设置中,一个操纵器可以经由CNC被编程,以对位于地面或夹具上的工件实行处理操作。在这种情况下,操纵器在其末端执行器上携带机床安装(tooling),其中工具被安装在该机床安装上。CNC可以以如下这样的方式致动操纵器的接合部,该方式使得工具遵循关于静止工件的规划路径。如果处理复杂,则持有工具的操纵器可能需要在工件周围工作,或者如果工件较大,则操纵器可能需要在其工作空间边界附近工作。因此,在制造处理环境中,具有多于一个操纵器的设置通常被用来实行复杂和/或大规模任务。在这样的大规模系统中,一个操纵器可以被配置成持有工件(下文中被称为持有者操纵器),并且另一个操纵器可以被配置成持有用于处理工件的工具(下文中被称为工作者操纵器)。CNC可以与持有者操纵器和工作者操纵器两者进行电通信,以使工具沿着规划路径对工件进行的处理自动化。然而,解决这两个操纵器之间的运动冗余是具有挑战性的,当一个操纵器具有的自由度比执行给定任务所需的自由度更多时,就会出现运动冗余。具体地,给定任务在空间中可以具有六个自由度,其包括三个线性自由度和三个旋转自由度。然而,当处理系统包括两个或更多个操纵器时,存在多于六个自由度。因此,在某些或所有任务的自由度中,存在多于一种方式来实行给定任务。例如,如果任务被安装在提供了线性自由度的轨道操纵器上,并且该任务由具有六个自由度的机器人操纵器来处理,则可以在轨道操纵器提供的自由度的方向上以多于一种的方式来完成该任务。这种额外的自由度被称为系统的冗余。作为另一个示例,该系统包括两个机器人操纵器,其中一个持有工件,并且另一个持有用于处理工件的工具。由于每个机器人操纵器向该系统提供了六个自由度,因此该系统在任务空间中具有十二个自由度和六个冗余度。
因此,引入除工作者操纵器之外的持有者操纵器会在任务空间的某些或所有自由度上生成运动冗余。作为示例,工件可以被安装在包括轨道的持有者操纵器上,其中持有者操纵器被配置成沿着用户框架的x轴移动,用户框架是相对于其进行任务空间中的所有测量的框架。工作者操纵器也可以沿着用户框架的x轴移动工具。因此,规划路径中的最初需要工作者操纵器在x方向上移动的任何部分现在也可以和/或取而代之地通过在x方向上移动持有者操纵器来完成,该移动方向与工作者操纵器的移动方向相反。因此,用于完成规划路径的沿着x轴的运动可以由持有者操纵器单独完成、由工作者操纵器单独完成、或者由工作者操纵器和持有者操纵器以共享方式完成。作为另一个示例,持有者操纵器是机器人,代替于持有者操纵器是导轨。这样的设置在任务空间的所有六个自由度中产生了冗余。这些冗余可以用于减少/优化一些标准,诸如操纵器接合部行程、机器人写入扭曲、碰撞风险等。
在解决处理机器人系统中的冗余自由度的问题方面已经进行了一些努力。然而,当前的途径和方法具有若干缺陷和低效性。当前,冗余自由度的运动通常是使用连续优化问题确定的,其中试图使成本函数(例如,接合部运动)最小化。通过在环境内包括碰撞约束并且求解出最小时间解,该方法可以是全面的。然而,这样的方法易于陷入局部最小值,并且是非确定性的多项式时间(NP)难题,对于这些难题,用于生成解的时间不可靠并且往往相当长。用于解决这些NP难题的处理器使用可能是集中的。此外,这些方法大多是学术性的,并且没有考虑实际的最终用户关注和/或真实制造环境中的期望。
发明内容
本发明的特征在于用于基于用户输入在两个操纵器之间分配处理操作(诸如等离子弧切割、喷漆、喷涂、铆接等)的系统和方法。具体地,本发明的系统和方法通过在一对操纵器之间分配运动、并且潜在地改进操纵器的接合部运动来解决它们之间的任务性能的冗余设置。
在一个方面,本发明的特征在于一种用于在制造处理系统中在第一操纵器与第二操纵器之间可调整地分配协作运动的计算机实现的方法。该计算机实现的方法包括:由计算设备接收用于被配置成持有工具的第一操纵器的数据、用于被配置成持有工件的第二操纵器的数据、以及定义了将由工具在工件的至少一部分上实行的过程的过程数据。用于第一或第二操纵器中的至少一个的数据包括:可由用户调整的加权因子,以指定对应操纵器的运动的至少一定百分比。该方法包括:由计算设备使用过程数据来计算工具在工件上的过程路径的第一点和下一点。该方法还包括:由计算设备生成用于定义从第一点到下一点的过程路径的相对变换函数。该方法进一步包括:由计算设备基于至少一个加权因子在第一与第二操纵器之间分配运动以完成过程路径。
在另一个方面,本发明的特征在于一种用于在制造处理系统中在第一操纵器与第二操纵器之间可调整地分配协作运动的计算机实现的方法。该计算机实现的方法包括:由计算设备接收用于被配置成持有工具的第一操纵器的数据、用于被配置成持有工件的第二操纵器的数据、以及定义了将由工具在工件的至少一部分上实行的过程的过程数据。用于第一或第二操纵器中的至少一个的数据包括:可由用户调整的加权因子,以指定将由对应操纵器实行的运动的至少一个百分比。该方法包括:由计算设备使用过程数据来计算工具在工件上的过程路径的第一点和下一点;以及由计算设备生成用于定义从第一点到下一点的过程路径的相对变换函数。该相对变换函数包括平移部分和旋转部分。该方法还包括:由计算设备基于加权因子在第一与第二操纵器之间分配相对变换函数的平移部分,以生成第一和第二操纵器的所分配的平移运动。该方法进一步包括:由计算设备基于加权因子在第一与第二操纵器之间分配相对变换函数的旋转部分,以生成第一和第二操纵器的所分配的旋转运动。
在又另一个方面,本发明的特征在于一种计算机系统,其被配置成允许用户在制造处理系统中在第一操纵器与第二操纵器之间可调整地分配协作运动。该计算机系统包括:数据连接和图形用户接口,其被配置成从用户接收(i)用于被配置成持有工具的第一操纵器的数据、(ii)用于被配置成持有工件的第二操纵器的数据、以及(iii)定义了将由工具在工件的至少一部分上实行的过程的过程数据。用于第一或第二操纵器中的至少一个的数据包括:可由用户根据接口调整的加权因子,以指定对应操纵器的运动的至少一定百分比。该计算机系统还包括:计算模块,其被配置成:(i)使用过程数据来计算工具在工件上的过程路径的第一点和下一点;(ii)生成用于定义从第一点到下一点的过程路径的相对变换函数;以及(iii)基于至少一个加权因子在第一与第二操纵器之间分配运动以完成过程路径。该计算机系统进一步包括:显示模块,其被配置成以图形方式图示第一操纵器和第二操纵器中的相应操纵器的所分配的运动,以用于可视化第一操纵器所持有的工具对第二操纵器所持有的工件的处理。
在又另一个方面,本发明的特征在于有形地体现在非暂时性计算机可读存储设备中的计算机程序产品,其用于在制造处理系统中在第一操纵器与第二操纵器之间可调整地分配协作运动。该计算机程序产品包括可操作以使计算设备执行以下操作的指令:接收用于被配置成持有工具的第一操纵器的数据、用于被配置成持有工件的第二操纵器的数据、以及定义了将由工具在工件的至少一部分上实行的过程的过程数据。用于第一或第二操纵器中的至少一个的数据包括可由用户调整的加权因子,以指定对应操纵器的运动的至少一定百分比。该计算机程序产品还包括可操作以使计算设备执行以下操作的指令:使用过程数据来计算工具在工件上的过程路径的第一点和下一点,以及生成用于定义从第一点到下一点的过程路径的相对变换函数。该计算机程序产品进一步包括可操作以使计算设备执行以下操作的指令:基于至少一个加权因子在第一与第二操纵器之间分配运动以完成过程路径。
上述方面中的任一个都可以包括以下特征中的一个或多个特征。在一些实施例中,根据针对相应操纵器而计算的运动来致动第一和第二操纵器。
在一些实施例中,相对变换函数包括:定义了过程路径的平移部分和旋转部分中的至少一个。在一些实施例中,在第一与第二操纵器之间分配运动包括:根据加权因子在第一与第二操纵器之间分配平移部分和旋转部分中的每一个。
在一些实施例中,在第一与第二操纵器之间分配平移部分包括:(i)基于加权因子来定义权重向量,其中权重向量表示对应于加权因子的操纵器在X、Y和Z方向中的每一个方向上的相对运动;(ii)将权重向量与平移部分逐元素地相乘,以生成对应操纵器的所分配的平移运动;以及(iii)基于对应操纵器的所分配的平移运动来生成另一个操纵器的所分配的平移运动。
在一些实施例中,加权因子包括:用于控制对应于加权因子的操纵器的完全旋转的单个权重。在一些实施例中,在第一与第二操纵器之间分配旋转部分包括:(i)基于单个权重来生成旋转矩阵;(ii)将旋转矩阵转换成由旋转向量和旋转角度表示的不变向量;以及(iii)基于单个权重在第一与第二操纵器之间分配旋转角度,以生成第一和第二操纵器的所分配的旋转运动。
在一些实施例中,加权因子包括:用于控制对应于加权因子的操纵器在多个轴上的旋转的多个权重。该多个轴可以包括用户选择的主轴、工具轴、以及垂直于主轴和工具轴两者的第三轴。在一些实施例中,在第一与第二操纵器之间分配旋转部分包括:(i)确定主轴、工具轴、以及垂直于主轴和工具轴两者的第三轴;以及(ii)针对主轴、工具轴和第三轴中的每一个,基于对应于相应轴的权重来计算第一与第二操纵器之间的所分配的旋转运动。
在一些实施例中,加权因子包括:用于控制沿着过程路径的平移和旋转的分配的多个用户选择的百分比。在一些实施例中,多个百分比包括:用于控制沿着x、y和z轴的对应平移分配的三个百分比。替代地,多个百分比包括:用于控制沿着x、y和z轴的平移分配的单个百分比。在一些实施例中,多个百分比包括:用于控制沿着用户选择的主轴、工具轴、以及垂直于主轴和工具轴两者的第三轴的对应旋转分配的三个百分比。替代地,多个百分比包括:用于控制沿着用户选择的主轴、工具轴、以及垂直于主轴和工具轴两者的第三轴中的全部三个轴的旋转分配的单个百分比。在一些实施例中,加权因子包括:用于控制沿着过程路径的平移和旋转两者的分配的单个用户选择的百分比。
在一些实施例中,第一和第二操纵器的所计算的运动确保了工具和工件在任务空间中的最小移动。在一些实施例中,显示第一和第二操纵器中的相应操纵器的所分配的平移和旋转运动,以可视化工具对工件的处理。
在一些实施例中,加权因子涉及第一或第二操纵器中的一个的运动的百分比,并且其中,计算机设备被适配成基于权重因子来计算另一个操纵器的运动的百分比。
附图说明
通过结合附图参考以下描述,可以更好地理解上述本发明的优点以及另外的优点。附图不一定按比例绘制,取而代之重点通常置于说明本发明的原理上。
图1示出了根据本发明的一些实施例的机器人制造处理系统的示例性虚拟环境,在该处理系统内,安装在工作者操纵器上的工具沿着过程路径来处理工件。
图2示出了根据本发明的一些实施例的示例性机器人制造处理系统的框图。
图3示出了根据本发明的一些实施例的用于计算图2的机器人制造处理系统的工作者与持有者操纵器之间的所分配的协作运动的示例性方法的流程图。
图4示出了根据本发明的一些实施例的图2的用户接口的示例,该用户接口允许用户针对持有者或工作者操纵器设置加权因子。
图5示出了根据本发明的一些实施例的图2的用户接口的另一个示例,该用户接口允许用户针对持有者或工作者操纵器设置加权因子。
图6示出了根据本发明的一些实施例的图2的用户接口的又另一个示例,该用户接口允许用户针对持有者或工作者操纵器设置加权因子。
图7以图形方式图示了根据本发明的一些实施例的图3的方法的示例性相对变换函数,该相对变换函数表示操纵器在第一点P0与下一点P1之间的运动。
图8以图形方式图示了根据本发明的一些实施例的图7的相对变换函数的平移部分在两个操纵器之间的示例性分配。
图9a-9c示出了根据本发明的一些实施例的捕获工作者操纵器围绕工件的示例性旋转移动以在工件上实行任务的一系列快照。
图10a-10c示出了根据本发明的一些实施例的捕获由持有者操纵器进行的旋转移动的一系列快照,该持有者操纵器使工件旋转以实行与图9a-9c相同的任务。
图11以图形方式图示了根据本发明的一些实施例的为了在两个操纵器之间分配相对变换函数的旋转部分而生成的旋转不变向量。
图12以图形方式图示了根据本发明的一些实施例的图7的相对变换函数的旋转部分基于分配的单个百分比在两个操纵器之间的示例性分配。
图13图示了根据本发明的一些实施例的用于在两个操纵器之间分配旋转的主轴、工具轴和法向轴的示例性集合。
图14以图形方式图示了根据本发明的一些实施例的由图13的轴定义的用于计算围绕主轴的旋转的示例性任务空间。
图15以图形方式图示了根据本发明的一些实施例的围绕图13的主轴的旋转。
图16以图形方式图示了根据本发明的一些实施例的由图13的轴定义的用于计算围绕法向轴的旋转的示例性任务空间。
图17以图形方式图示了根据本发明的一些实施例的由图13的轴定义的用于计算围绕工具轴的旋转的示例性任务空间。
图18示出了根据本发明的一些实施例的用于实现图3的运动分配方法的示例性系统设置。
图19-22示出了根据本发明的一些实施例的示例性接口,通过该接口,用户针对图18的系统设置的持有者操纵器来指定加权因子。
图23示出了根据本发明的一些实施例的用于实现图3的运动分配方法的另一个示例性系统设置。
图24和25示出了根据本发明的一些实施例的示例性接口,通过该接口,用户针对图23的系统设置的持有者操纵器来指定加权因子。
图26示出了根据本发明的一些实施例的用于实现上面关于图3描述的运动分配方法的又另一个示例性系统设置。
图27-29示出了根据本发明的一些实施例的示例性接口,通过该接口,用户针对图26的系统设置的持有者操纵器来指定加权因子。
具体实施方式
图1示出了根据本发明的一些实施例的机器人制造处理系统的示例性虚拟环境138,在该处理系统内,安装在工作者操纵器142上的工具140沿着过程路径146来处理工件144。工件144可以由向任务空间增加六个移动自由度/冗余的机器人持有者操纵器(图1中未示出,但是类似于图18的机器人持有者操纵器)或向任务空间增加一个移动自由度/冗余的轨道/旋转件(图1中未示出,但是类似于图10a-c的旋转件持有者操纵器)所持有。一般而言,如所图示的,为了沿着过程路径146——该过程路径146沿着工件144的侧面——来移动工具140,存在无限多种可能性。一种可能性是:工件144是静止的,并且工作者操纵器142沿着过程路径146移动工具140。另一种可能性是:如图18所示,工作者操纵器117(连同工具1406)是静止的,并且持有者操纵器115在与工具1406的方向相比而言相反的方向上移动工件1402。其他可能性包括:在持有者操纵器115与工作者操纵器117之间共享从过程路径1404的开始到结束的运动。例如,如果过程路径1404要覆盖的总距离是100 cm,工作者操纵器117可以使工具1406移动30 cm,并且持有者操纵器115可以使工件1402在相反方向上移动70 cm,由此实现100 cm的覆盖距离。因此,用于完成任务的工作者操纵器117的运动分配的百分比是30%,并且持有者操纵器115的运动分配的百分比是70%。该概念可以推广到工作者和持有者操纵器中的每一个的所有可能的自由度(旋转地和/或平移地)。一般而言,本发明基于用户输入来分析、控制和设计冗余运动系统中的所分配的运动。在一些实施例中,针对给定的处理任务,本发明允许用户针对工作者和持有者操纵器中的每一个设置沿着用于完成任务的一个或多个可能的运动程度的运动分配的(一个或多个)百分比。本发明能够确定工作者和持有者操纵器两者的所分配的运动,以完成处理任务,同时满足用户所设置的运动分配标准的(一个或多个)百分比。
图2示出了根据本发明的一些实施例的示例性机器人制造处理系统100的框图,该系统包括运动分配处理器105、用户接口110和一对机器人操纵器,该对机器人操纵器包括被配置成持有工件的持有者操纵器115和被配置成在用户定义的过程中处理工件的工作者操纵器117。用户接口110可以包括计算机键盘、鼠标、图形用户接口(例如,计算机化的显示器)、其他触觉接口、语音输入或其他输入/输出通道,以供用户与运动分配处理器105通信。在一些实施例中,用户接口110的图形用户接口被配置成在三维虚拟环境中可视化由处理器105针对操纵器115、117中的相应操纵器所计算的运动,以用于完成用户定义的过程。运动分配处理器105耦合到操纵器115、117,以使操纵器115、117自动化或以其他方式指导操纵器115、117遵循所计算的运动,以用于如下目的:使用安装在工作者操纵器117上的工具(例如,等离子弧焊炬)来处理(例如,切割)由持有者操纵器115持有的工件。
如图2中所示,处理器105通常包括:设置模块112、计算模块114、显示模块116和可选致动模块118。模块112-118可以仅在硬件中或者在硬件和软件的组合中实现,以执行下面描述的分配运动确定。特别地,设置模块112被配置成经由用户接口110接收和处理来自用户的数据,包括:(i)用于持有者操纵器115的数据;(ii)用于工作者操纵器117的数据;以及(iii)定义了将由安装在工作者操纵器117上的工具在由持有者操纵器115持有的工件的至少一部分上实行的过程的数据。在一些实施例中,用于持有者操纵器115的数据和/或用于工作者操纵器117的数据包括:可由用户经由接口110调整的加权因子,以指定对应操纵器的运动分配的至少一定百分比,处理器105使用该百分比来确定两个操纵器之间的所分配的运动,如下面详细描述的。一般而言,提供给用户接口110和/或由设置模块112处理的数据可以采用任何合适的数据结构的形式,诸如文本列表、XML文档、类对象(例如,C++或Java类的实例)、其他数据结构或其任何组合。
计算模块114被配置成基于由设置模块112接收到的参数来计算和指派持有者操纵器115与工作者操纵器117之间的所分配的运动,以完成处理任务,这将在下面详细描述。显示模块116被配置成与图形用户接口110交互,以在机器人制造处理系统110的虚拟仿真中可视化操纵器的所分配的运动(由计算模块114计算的运动)。显示模块116可以在视觉上图示安装在工作者操纵器117上的工具如何处理由持有者操纵器115持有的工件,同时遵守用户定义的参数和约束。这样的显示器鼓励用户与处理器105交互以改变和/或完善用于运动分配的参数。与计算模块114电通信的可选致动模块118可以致动操纵器115、117,以在完成它们相应的任务(例如,用于工作者操纵器117的切割和用于持有者操纵器115的工件持有)时遵循由计算模块114计算的运动。一般而言,可选致动模块118可以与模块112-116中的任何一个进行通信,以获得用于使操纵器115、117移动的相关信息。
系统100进一步包括:存储器160,其被配置成与处理器105的一个或多个模块112-118通信。例如,存储器160可以用于存储由设置模块112处理的数据、由计算模块114用于计算所分配的操纵器运动的一个或多个函数和值、和/或由可选致动模块118制定的用于指导操纵器115、117的移动的指令。
在一些实施例中,处理器105是与持有者操纵器115和工作者操纵器117分离的独立系统。例如,处理器105可以是供应商侧组件,其被配置成向客户端系统传输指令以控制客户端系统的持有者操纵器115和工作者操纵器117的移动。即使致动模块118被图示为处理器105的一部分,但是在一些实施例中,它不在处理器105中和/或远离处理器105,诸如在客户端系统上。
图3示出了根据本发明的一些实施例的用于计算图2的机器人制造处理系统100的工作者操纵器115与持有者操纵器117之间的所分配的协作运动的示例性方法200的流程图。如图3中所示,生成所分配的运动可以包括:接收与持有者操纵器115和工作者操纵器117相关的数据、连同定义了将由安装在工作者操纵器117上的工具在由持有者操纵器115持有的工件的至少一部分上实行的过程的数据,该过程数据包括工作者操纵器与持有者操纵器之间的用户定义的运动分配(步骤202);使用接收到的数据来计算过程路径的第一点和下一点(步骤204);生成定义了从第一点到下一点的过程路径的相对变换函数(步骤206);以及基于用户在步骤202处指定的参数/约束在一对操纵器115、117之间分配运动以完成过程路径(步骤208)。在一些实施例中,针对沿着过程路径的每对连续过程点重复步骤204、206和208,直到整个过程路径被分配为止。可选地,方法200可以进一步包括致动或使得致动操纵器115、117以基本上遵循在步骤208处计算的相应的所分配的运动(未示出)。
在步骤202处,处理器105的设置模块112被配置成处理计算持有者操纵器115与工作者操纵器117之间的所分配的运动所需的数据,其中经由用户接口110从用户接收数据的至少一部分(例如,总运动的分配百分比)。该数据可以包括与工作者操纵器117相关的信息、与持有者操纵器115相关的信息、以及定义了将由两个操纵器实行的过程/任务的信息。在一些实施例中,用于持有者或工作者操纵器中的至少一个的数据包括加权因子,该加权因子可由用户经由用户接口110来调整,以指定对应操纵器相对于协作运动的运动的一个或多个百分比。用于操纵器115、117中的每一个的其他操纵器数据包括操纵器的运动学信息,该运动学信息包括操纵器连杆的尺寸和操纵器的每个轴的接合部向量。操纵器在机器人单元中的放置也可以被包括在操纵器数据中。附加的操纵器数据可以包括操纵器的轴配置(例如,工具的第六个自由度)、操纵器的配置等。用于处理任务的数据可以包括路径点相对于工件的相对方位、每个路径点的操纵器的运动类型,诸如接合部运动、线性运动和/或圆周运动。一般而言,处理器105使用的数据可以由一个或多个源来提供,诸如由用户经由接口110、从另一个计算系统(例如,过程路径创建器软件)或两者的组合来提供。
图4示出了根据本发明的一些实施例的图2的用户接口110的示例300,用户接口110允许用户针对持有者操纵器115或工作者操纵器117来设置加权因子。一般而言,如果操纵器是机器人,则每个操纵器可以具有六个自由度;并且如果操纵器是轨道或旋转件,则每个操纵器可以具有一个自由度。两个或三个轨道或旋转件的集合也可以用来创建两个或三个自由度的操纵器。与机器人操纵器相关联的六个自由度包括:定义了平移运动的三个自由度和定义了旋转运动的三个自由度。因此,每个操纵器的加权因子可以包括一到六个用户可定义的权重(例如,运动分配的百分比),以用于控制操纵器沿着过程路径的平移和旋转运动,以便完成处理任务。
在一些实施例中,向用户呈现用于操纵器之一(例如,工作者操纵器117)的仅一个交互接口,以用于设置与该操纵器相关联的加权因子的分配的(一个或多个)百分比。计算模块114基于用户针对第一操纵器指定的百分比来计算另一个操纵器(例如,持有者操纵器115)的分配的(一个或多个)百分比,诸如通过从100%中减去关于一个维度的每个用户选择的分配百分比来确定另一个操纵器关于相同维度的分配百分比(两个操纵器用于实现100%以完成处理)。在一些实施例中,接口300用于由系统100预定义的默认操纵器。在一些实施例中,用户能够挑选持有者操纵器115或工作者操纵器117中的一个来定义加权因子。在一些实施例中,用户能够针对持有者操纵器115和工作者操纵器117两者来定义加权因子。
如图4中所示,交互式接口300包括:六个用户可选特征302、304、306、310、312、314,用于指定机器人操纵器的加权因子在六个自由度中的分配百分比。具体地,特征302、304和306是滑块和/或文本框,该滑块和/或文本框允许用户指定操纵器的平移运动分别相对于x轴、y轴和z轴中的每一个的分配百分比,以用于完成特定的处理任务。针对旋转运动,为了分配关于三个不同轴的旋转,交互式接口300包括:输入框308(例如,采用下拉框的形式),输入框308允许用户首先选择x轴、y轴或z轴之一作为旋转主轴。如图4中所示,用户挑选了x轴作为主旋转轴,其被标示为Rx。其他两个轴可以由计算模块114确定,这两个轴包括:(i)工具轴,其定义了安装在工作者操纵器117上的工具的方向(例如,安装在工作者操纵器117上的等离子弧焊炬的喷嘴的方向),下文中被称为T轴;以及(ii)第三轴,其垂直于主轴和工具轴两者,下文中被称为N轴。用户可以针对与接口300相关联的操纵器来定义旋转运动相对于Rx、T和N轴中的每一个的分配百分比。例如,特征310、312和314可以是滑块和/或文本框,该滑块和/或文本框允许用户针对操纵器的旋转运动来分别设置关于Rx轴、T轴和N轴的分配百分比。在一些实施例中,通过从100%中减去与接口300相关联的操纵器的对应分配百分比来计算其他操纵器的分配百分比。
图5示出了根据本发明的一些实施例的图2的用户接口110的另一个示例400,用户接口110允许用户针对持有者操纵器115或工作者操纵器117来设置加权因子。类似于图4的接口300,特征402、404和406可以是滑块和/或文本框,该滑块和/或文本框允许用户指定对应于接口400的操纵器的平移运动分别相对于三个x轴、y轴和z轴中的每一个的分配百分比,以用于完成特定的处理任务。针对旋转运动,特征408处的接口400允许用户指定控制对应操纵器的完全旋转分配的单个分配百分比,由此使得接口和参数选择过程对于可能不像图4的接口400的用户那样有经验/有知识的用户而言更加容易。
图6示出了根据本发明的一些实施例的图2的用户接口110的又另一个示例500,用户接口110允许用户针对持有者操纵器115或工作者操纵器117设置加权因子。如所示出的,接口500允许用户指定分配502的单个百分比,该单个百分比控制对应于接口500的操纵器在x轴、y轴和z轴的全部三个轴中的平移分配,以用于完成特定处理任务。因此,分配502的相同百分比被指派给所有三个x、y和z轴。类似于图5的接口400,用户还能够指定控制对应操纵器的完全旋转分配的分配504的单个百分比。因此,图6的用户接口提供了比接口300和400所提供的参数选择过程甚至更简单的参数选择过程。
在用户接口110的又另一个实施例中,接口(未示出)允许用户通过设置用于控制对应操纵器的平移和旋转分配两者的分配的单个百分比来选择用于持有者操纵器115或工作者操纵器117的加权因子。也就是说,将分配的相同百分比指派给该操纵器的所有六个自由度。因此,另一个操纵器的平移和旋转分配也由分配的单个百分比来控制。
往回参考图3的方法200,基于步骤202处的用户输入(包括描述期望处理任务的用户输入),计算模块114被配置成在步骤204处确定过程路径的第一点(P0)和下一点(P1),其中过程路径表示用于完成任务的总体集合运动。
在步骤206处,计算模块114被配置成捕获三维任务空间中的过程路径。过程路径由有限数量的过程点构成,其中用于每个点的数据包括该点相对于部分框架602的方位和取向数据(如图7中所示)。在该计算的每个步骤处,计算模块114确定从过程路径的开始而起始的两个连续点,其中第一点在下文中被称为P0,并且下一点在下文中被称为P1,并且在它们之间计算相对变换函数T。图7以图形方式图示了根据本发明的一些实施例的示例性相对变换函数T,该相对变换函数T表示操纵器在第一点P0与下一点P1之间的运动。在一些实施例中,这两个点之间的相对变换函数T是通过如下方式计算的:将下一点P1相对于用户框架604的逆变换函数与第一点P0相对于用户框架604的变换函数相乘。图7的实施例假定单个操纵器(例如,其上安装有工具的工作者操纵器117)被配置成沿着第一点与下一点之间的整个过程路径移动以实行任务,而另一个操纵器保持静止。这意味着,移动操纵器需要从第一点P0变换/移动以到达下一点P1,如图7中图示的。
在一些实施例中,假定由持有者操纵器115持有的工件相对于安装在工作者操纵器117上的工具的相对姿态沿着过程路径上的每个点保持相同,而不管两个操纵器115、117的分配运动。这意味着,如果在工作者操纵器117实行所有处理任务的情况下,则在过程路径的下一点(P1)处,持有工件的持有者操纵器115相对于工作者操纵器117的工具的相对变换是,并且在运动分配之后,该相对变换函数仍然为/>,而不管分配的百分比如何。计算模块114可以使用该约束来求解两个操纵器115、117之间的运动学回路。
在一些实施例中,描述用于完成处理任务的两个连续点之间的运动的相对变换函数被分解成两个分量,平移部分/>和旋转部分/>。因此,为了分配定义了持有者操纵器115与工作者操纵器117之间的过程路径的相对变换/>,需要分配平移部分/>和旋转部分/>。
在步骤208处,计算模块114被配置成在持有者操纵器115与工作者操纵器117之间分配运动,以完成由相对变换函数定义的点P0与P1之间的过程路径。这样的分配通常基于用户在步骤202处指定的加权因子。因为相对变换函数可以被划分成两个分量(即,平移和旋转),如上面关于步骤206所描述的,所以可以根据用户指定的加权因子(例如,由工作者操纵器完成的平移运动的95%,以及由持有者操纵器完成的旋转运动的85%、或者反之亦然,或一些其他组合)相对于两个分量中的每一个在操纵器115、117之间单独地分配运动。在一些实施例中,在两个操纵器115、117之间划分这些部分的次序并不重要,这是因为平移部分可以在划分旋转部分之前被划分,或者反之亦然。
图8以图形方式图示了根据本发明的一些实施例的图7的相对变换函数的平移部分/>在操纵器115、117之间的示例性分配。如所示出的,从第一点P0到下一点P1的过程路径的平移部分702(/>)需要在一对操纵器115、117之间完成,以便实行给定任务。如果工作者操纵器117正在完成所有运动,则它需要从第一点P0移动平移运动ΔP01以到达下一点P1。然而,用户可以指定要分配给工作者操纵器117(下文中通常被称为第一操纵器)的该运动的百分比,同时第二操纵器(即,持有者操纵器115)完成剩余的百分比。在其他实施例中,第一操纵器是持有者操纵器115,用户为其指定运动分配的百分比,同时假定第二操纵器(其是工作者操纵器117)完成剩余的百分比。这种劳动划分对应于沿着平移路径702的第一点P0与下一点P1之间的中间点/>,以用于在第一与第二操纵器之间划分运动。如上所描述的,针对第一或第二操纵器中的一个,分配的百分比可以由用户在步骤202处经由接口110(例如,经由接口300、400和500中的任一个)来指定。因此,如所示出的,第一操纵器需要从其初始位置(其是第一点P0)移动平移运动/>以到达中间点/>,并且第二操纵器需要从其初始位置移动平移运动/>以完成给定任务。平移运动/>和/>可以使用以下等式集合来计算:
(等式1);
(等式2);
(等式3);
(等式4)。
等式1针对整个过程路径计算从第一点P0到下一点P1的总体平移运动ΔP01,这是相对于用户框架来计算的。通常,针对值的符号“UF”标示该值是相对于用户框架来表达的。在等式2中,w表示指示了第一操纵器需要完成多少总体运动ΔP01的权重向量,将该权重向量逐元素乘以总体运动ΔP01,以生成第一操纵器的所分配的平移运动。权重向量w是基于第一操纵器的加权因子来确定的,该加权因子包括由用户经由接口110指定的分配的一个或多个百分比。例如,权重向量w可以基于由用户经由接口300上的特征302、304和306设置的百分比来确定,以用于控制第一操纵器在x、y和z方向中的相应方向上的平移运动。类似地,权重向量w可以基于由用户经由接口400上的特征402、404和406设置的百分比来确定,以用于控制第一操纵器在x、y和z方向中的相应方向上的平移运动。作为另一个示例,权重向量w可以基于由用户经由接口500上的特征502设置的单个百分比来确定,以用于控制第一操纵器在所有轴中的平移运动。要注意的是,图8的实施例对应于用户指定第一操纵器的加权因子,并且第二操纵器的加权因子由计算模块105基于第一操纵器的加权因子来计算。在其他实施例中,用户可以仅指定第二操纵器的加权因子。在等式3中,表示第一操纵器需要移动到的新点,以满足用户指定的分配的(一个或多个)百分比。等式4基于第一操纵器要移动到的新点/>来计算第二操纵器的所分配的平移运动/>。
在一些实施例中,计算模块114确定操纵器115、117之间的相对变换函数的旋转部分/>的分配。图9a-9c示出了根据本发明的一些实施例的捕获工作者操纵器117围绕工件902的示例性旋转移动900以在工件902上实行任务的一系列快照。在图9a-9c的实施例中,工作者操纵器117是持有用于处理工件902的工具904的机器人,工件902在该示例中保持静止。图10a-10c示出了根据本发明的一些实施例的捕获由持有者操纵器115进行的旋转移动1000的一系列快照,持有者操纵器115使工件902旋转以实行与图9a-9c相同的任务。在图10a-10c的实施例中,持有者操纵器115是围绕工具904来旋转工件902的旋转件,该工具由工作者操纵器117保持静止,而不是如图9a-9c所图示的那样工作者操纵器117围绕工件902来旋转工具904。
在一些实施例中,取决于用户在步骤202处经由接口110指定的旋转相关的加权因子,存在用于在两个操纵器115、117之间分配相对变换函数的旋转部分/>的两种不同方法。第一种方法针对如下情况:其中用户诸如经由图5的接口400上的特征408、或图6的接口500上的特征504来指定用于在两个操纵器之间相对于任务空间中的所有三个轴划分旋转部分/>的分配的单个百分比。在这种方法中,首先将旋转矩阵/>转换成旋转不变向量,它表示具有旋转向量(/>)和旋转角度(/>)的旋转运动。在数学上,旋转不变向量/>被表达为:
(等式5)。
图11以图形方式图示了根据本发明的一些实施例的为了在两个操纵器115、117之间分配相对变换函数的旋转部分/>而生成的旋转不变向量/>。当在两个操纵器115、117之间划分旋转部分时,两个操纵器的旋转向量/>保持相同。然而,需要基于用户针对操纵器之一所指定的加权因子、在两个操纵器之间划分旋转角度/>。例如,如果用户指定了工作者操纵器117的加权因子——该加权因子包括控制旋转部分的划分的分配的单个百分比,则通过将旋转角度/>乘以该百分比值来确定工作者旋转角度。假定剩余的旋转角度由持有者操纵器115在与工作者操纵器117的方向相反的方向上完成。因此,两个操纵器的新旋转矩阵可以表达为:
(等式6)
(等式7)
(等式8)
(等式9)
(等式10)/>
一般而言,表示在两个操纵器之间划分整个旋转运动的中间点,两个操纵器都需要到达该中间点处以完成给定任务。在等式7中,f1表示用于将旋转矩阵转换成其对应的旋转不变向量的函数。在等式8中,wr是用户指定的旋转分配权重。等式8计算由对应于权重的操纵器(例如,工作者操纵器117)完成的旋转百分比,其中将旋转角度乘以给定的分配权重。所得的新旋转不变向量将操纵器带到中间旋转点(/>)。等式9基于等式8的旋转不变向量计算了将第一点P0带到中间旋转点/>的旋转矩阵。具体地,在等式9中,f2表示用于将旋转不变向量转换成其对应的旋转矩阵的函数。等式10计算相对于用户框架的/>的旋转。图12以图形方式图示了根据本发明的一些实施例的图7的相对变换函数/>的旋转部分/>基于分配的单个百分比在两个操纵器115、117之间的示例性分配。
用于在两个操纵器之间划分相对变换函数的旋转部分的第二种方法涉及如下情况:其中用户指定旋转的主分配轴、以及用于相对于任务空间中的三个轴来划分旋转部分的分配的三个百分比。例如,分配的这些百分比可以由用户经由图4的接口300的特征310、312和314来指定。如果用户挑选零点(/>)处的x轴作为主分配轴,其他两个轴是工具轴(/>)和法向轴(/>)。工具轴/>表示安装在工作者操纵器117上的工具的方向,并且法向轴/>表示垂直于主轴和工具轴两者的轴。图13以图形方式图示了根据本发明的一些实施例的用于在两个操纵器之间分配旋转的主轴、工具轴和法向轴的示例性集合。如所示出的,用户选择主轴作为x轴/>,工具轴被标示为/>,并且法向轴被标示为/>。在图13中,YP0和ZP0是第一点P0的框架的Y轴和Z轴,并且YP1和ZP1是下一点P1的框架的Y轴和Z轴。在替代实施例中,用户可以挑选点零处的y轴作为主分配轴(/>),在这种情况下,工具轴被标示为/>,并且法向轴被标示为/>。在替代实施例中,用户可以挑选点零处的z轴作为主分配轴(/>),在这种情况下,工具轴被标示为/>,并且法向轴被标示为/>。
一旦确定了三个旋转轴,计算模块114就被配置成基于对应于由用户指定的相应轴的分配百分比来针对三个轴中的每一个计算两个操纵器之间的所分配的旋转运动。图14以图形方式图示了根据本发明的一些实施例的由图13的轴定义的用于计算围绕主轴的旋转的示例性任务空间。在图14中所图示的任务空间中,过程路径的第一点是/>,并且下一点是/>。为了确定围绕主轴/>的旋转(并且随后计算围绕主轴的所分配的旋转运动),与工具轴相关的/>和/>向量被投影到垂直于主轴/>的平面,这产生了向量/>和/>。这两个向量之间的角度/>(未示出)是围绕主轴/>的旋转。为了在两个操纵器115、117之间划分该角度,使用用于操纵器之一(例如,由用户指定的持有者操纵器115)的围绕主轴的分配百分比/>,这产生了旋转角度/>。因此,另一个操纵器(例如,工作者操纵器117)围绕主轴的旋转是/> 。图14还图示了工具轴(由/>和/>向量表示)在垂直于主轴/>的平面中的投影,以生成一组投影向量/>和/>。将该旋转应用于第一点P0处的框架会将框架带到新位置的新框架/>。通常,当发生围绕轴的旋转时,这样的旋转不会改变该轴,并且该轴在旋转之后保持相同。图15以图形方式图示了围绕主轴/>的旋转。
下一步骤涉及确定围绕法向轴——该法向轴是垂直于主轴/>和工具轴/>两者的轴——的旋转,并且随后计算两个操纵器115、117之间的围绕法向轴/>的所分配的旋转运动。再一次,当发生围绕轴的旋转时,这样的旋转不会改变该轴,并且该轴在旋转之后保持相同。图16以图形方式图示了根据本发明的一些实施例的由图13的轴定义的用于计算围绕法向轴/>的旋转的示例性任务空间。围绕法向轴/>的旋转角度等于角度/>(其是/>与/>之间的角度)与角度/>(其是/>与/>之间的角度)之间的差。因此,围绕法向轴/>的旋转角度是/>。旋转轴/>可以被计算为/>和/>向量的叉积。为了在两个操纵器115、117之间划分围绕法向轴的旋转角度,使用用于操纵器之一(例如,由用户指定的持有者操纵器115)的围绕法向轴的分配百分比/>,这产生了旋转角度/>。因此,另一个操纵器(例如,工作者操纵器117)围绕法向轴/>的旋转是/> 。将该旋转应用于框架/>会将该框架带到新的框架/>。图16也图示了向新的部分框架的旋转。
下一步骤涉及确定围绕工具轴的旋转,并且随后计算两个操纵器115、117之间的围绕工具轴/>的所分配的旋转运动。图17以图形方式图示了根据本发明的一些实施例的由图13的轴定义的用于计算围绕工具轴/>的旋转的示例性任务空间。在一些实施例中,由于旋转是围绕/>的,所以/>的/>框架保持与/>对准。因此,旋转角度/>是/>与/>之间的角度。为了在两个操纵器115、117之间划分该角度,使用用于操纵器之一(例如,由用户指定的持有者操纵器115)的围绕工具轴的分配百分比/>,这产生了旋转角度/>。因此,另一个操纵器(例如,工作者操纵器117)围绕工具轴/>的旋转是/> −/>。将该旋转应用于框架/>会将该框架带到新位置/>。图17也图示了向新的部分框架的旋转。
在一些实施例中,在过程路径的旋转部分在持有者操纵器115与工作者操纵器117之间被划分之后,在这些操纵器之间分配方位。然后,组合每个操纵器的所分配的平移和旋转部分,以得出被分配给该操纵器的过程路径。例如,上面关于图8描述了相对变换函数的平移部分的分配。关于图11和12描述了使用第一种方法的相对变换的旋转部分的分配。关于图13-17描述了使用第二种方法的相对变换的旋转部分的分配。一般而言,操纵器的所分配的平移和旋转部分的组合可以被计算如下:
(等式11)
(等式12)
(等式13)/>
在等式11中,表示方位分配权重向量。使用方位权重因子,等式11将工作者操纵器117的中间方位计算为/>。该值结合针对相同中间方位的旋转矩阵以同质形式/>而给出,如等式12中所示的。然后,使用等式13将持有者操纵器115的相对平移矩阵计算为。在一些实施例中,图3的方法200的步骤204、206和208针对沿着过程路径的每个连续的第一点和下一点而被重复,直到以平移方式和旋转方式两者分配了整个过程路径为止。
在一些实施例中,使用即时方法200以在机器人制造处理系统100中的一对工作者操纵器115与持有者操纵器117之间分配运动,以完成复杂的处理任务(例如,切割工件)。用户可以通过例如调整与操纵器之一相关联的运动分配的一个或多个百分比来容易地控制运动的这种分配。用户还可以通过如下方式来挑选他或她想要对分配过程进行的控制的水平:指定(i)用于控制沿着x、y和z轴的平移分配的单个百分比、(ii)用于独立地控制沿着x、y和z轴的平移分配的三个百分比、(iii)用于控制旋转分配的单个百分比、(iv)用于独立地控制沿着主轴、工具轴和法向轴的旋转分配的三个百分比、和/或(v)用于控制平移和旋转两者的单个百分比。这些不同的控制水平允许新手用户和老练的用户同样地操作机器人制造处理系统100。另外,通过将复杂的过程路径分解成一组解耦的运动,方法200使得用户更容易理解复杂的过程,并且由此能够容易地分配运动。
在一些实施例中,即时方法200确保了用户指定的分配值的最小机器人移动。具体地,即时方法200可以在持有者操纵器115与工作者操纵器117之间分配运动,以满足用户指定的分配标准,而不增加任务空间中的总体运动。在一些实施例中,操纵器115、117的所计算的运动确保工具和工件在任务空间中的减少的和/或最小的移动。
图18示出了根据本发明的一些实施例的用于实现上面关于图3所描述的运动分配方法200的示例性系统设置。如所示出的,持有者操纵器115被配置成持有板形工件1402,同时持有工具1406的工作者操纵器117被配置成在工件1402上实行铣削操作。任务是沿着相对于工件1402所图示的路径1404进行铣削。
图19示出了根据本发明的一些实施例的示例性接口1900,通过该接口,用户针对图18的系统设置的持有者操纵器115来指定加权因子。如所示出的,针对持有者操纵器115,用户将平移移动部分和旋转移动部分两者的分配百分比设置为零。因此,方法200不向持有者操纵器115分配运动,由此保持工件1402静止,同时将整个路径1404指派给工作者操纵器117以用于实行整个任务。
图20示出了根据本发明的一些实施例的另一个示例性接口2000,通过该接口,用户针对图18的系统设置的持有者操纵器115来指定加权因子。如所示出的,针对持有者操纵器115,用户将平移部分在x和y方向上的分配百分比设置成100。这意味着,方法200将沿着x和y方向的100%的平移运动指派给持有者操纵器115,同时将沿着z方向的100%的平移运动指派给工作者操纵器117。此外,工作者操纵器117还被指派了沿着所有旋转轴的针对路径1404的100%的旋转运动。
图21示出了根据本发明的一些实施例的又另一个示例性接口2100,通过该接口,用户针对图18的系统设置的持有者操纵器115来指定加权因子。如所示出的,用户通过将持有者操纵器115在x和y方向上的分配百分比设置成50,从而在持有者操纵器115与工作者操纵器117之间均匀地分配平移部分的x和y方向上的任务。针对平移部分的z方向上的运动,由于针对持有者操纵器115的百分比被设置为0,所以方法200将沿着平移部分的z方向的100%的运动指派给工作者操纵器117。再一次,工作者操纵器117被指派了沿着所有旋转轴的针对路径1404的100%的旋转运动。
图22示出了根据本发明的一些实施例的又另一个示例性接口2200,通过该接口,用户针对图18的系统设置的持有者操纵器115来指定加权因子。如所示出的,针对持有者操纵器115,用户将平移部分在x方向上的分配百分比设置成70,并且将平移部分在y方向上的分配百分比设置成30。这导致了持有者操纵器115与工作者操纵器117之间的平移运动分割,使得工作者操纵器117实行x方向上30%的平移运动和y方向上70%的平移运动。
一般而言,接口1900、2000、2100和2200具有与上面详细描述的图4的接口300基本相同的配置。例如,这些接口中的每一个都具有三个滑块和/或文本框,以用于指定与沿着用户框架的x、y和z轴的平移相关的分配百分比。每个接口还具有三个滑块和/或文本框,以用于指定与围绕用户框架的主轴(Rx、Ry或Rz)、工具轴(T)和法向轴(N)的旋转有关的分配百分比。另外,每个接口允许用户经由下拉框来选择主旋转轴(例如,Rx、Ry或Rz)。这些接口说明了,在x、y、z主维度、工具维度和法向维度中的任一个中的运动可以基于持有者操纵器11与工作者操纵器117之间的任何用户给定比率来分配。这些接口还说明了,可以基于用户设置来快速分配运动,以生成满足用户标准的可行解决方案。因此,在工业设置中,即时方法简单、快速且实用。另外,这些接口说明了,最终用户可以通过指示如何沿每个维度/方向共享任务来控制机器人移动,而不是关注每个操纵器如何移动。
图23示出了根据本发明的一些实施例的用于实现上面关于图3所描述的运动分配方法200的另一个示例性系统设置。如所示出的,持有者操纵器115被配置成持有圆顶形工件2302,同时工作者操纵器117被配置成在工件2302上实行处理操作。任务是沿着任务空间中所图示的路径2304进行处理。
图24示出了根据本发明的一些实施例的示例性接口2400,通过该接口,用户针对图23的系统设置的持有者操纵器115来指定加权因子。如所示出的,针对持有者操纵器115,用户将移动的所有维度中的分配百分比设置为零。因此,方法200不向持有者操纵器115分配运动,由此保持工件2302静止,同时将整个路径2304指派给工作者操纵器117以用于实行整个任务。因此,工作者操纵器117需要围绕工件2302来移动安装在其上的工具,这涉及由工作者操纵器117进行的较大接合部运动。
图25示出了根据本发明的一些实施例的另一个示例性接口2500,通过该接口,用户针对图23的系统设置的持有者操纵器115来指定加权因子。如所示出的,针对持有者操纵器115,用户选择z轴作为主轴,并且将围绕主轴的旋转部分的分配百分比设置成100。因此,方法200将围绕z轴的所有旋转运动分配给持有者操纵器115,而不将围绕相同轴的旋转运动指派给工作者操纵器117。通过允许用户将该旋转运动指派给持有者操纵器115,现在会在这些操纵器之间共享任务,因此对于工作者操纵器117而言简化了任务,包括与其中工作者操纵器117完成整个任务的图24的情况相比减少了工作者操纵器117的接合部运动。在图25的实施例中,工作者操纵器117仍然实行过程路径2304的所有平移部分、以及围绕工具和法向轴的旋转部分。
图26示出了根据本发明的一些实施例的用于实现上面关于图3所描述的运动分配方法200的又另一个示例性系统设置。在该设置中,将由操纵器115、117共享的任务是使工作者操纵器117所持有的回路2602通过持有者操纵器115所持有的线2604而传递。
图27示出了根据本发明的一些实施例的示例性接口2700,通过该接口,用户针对图26的系统设置的持有者操纵器115来指定加权因子。如所示出的,针对持有者操纵器115,用户将移动的所有维度中的分配百分比设置为零。因此,方法200不向持有者操纵器115分配运动,由此保持线2604静止,同时将所有运动指派给工作者操纵器117以使回路2602沿着线2604传递。这需要工作者操纵器117移动通过一系列突发的接合部运动,以便能够使回路2602沿着线2604传递。
替代地,图28示出了根据本发明的一些实施例的另一个示例性接口2800,通过该接口,用户针对图26的系统设置的持有者操纵器115来指定加权因子。如所示出的,针对持有者操纵器115,用户将所有维度中的平移和旋转的分配百分比设置成100。因此,方法200不向工作者操纵器117分配运动,由此保持回路2602静止,同时将所有运动指派给持有者操纵器115以使线2604通过回路2602传递。与对应于图27的情况相比,任务指派的这种逆转减少了总体接合部运动,并且使得任务能够更有效地完成。
替代地,图29示出了根据本发明的一些实施例的又另一个示例性接口2900,通过该接口,用户针对图26的系统设置的持有者操纵器115来指定加权因子。如所示出的,针对持有者操纵器115与工作者操纵器117之间的平移和旋转部分两者,用户能够在所有维度/方向上均匀地分配运动。与图28的情况相比,这创建了两个操纵器的接合部运动中的更好的平衡。
一般而言,本发明提供了一种与当今市场上的工具相比在计算上更快且更有效的用于冗余解决方案的机器人路径规划工具。用户可以与各种接口特征(例如,设置滑块)交互,以便以图形方式调整路径标准来驱动路径确定过程。因此,本发明可以经由用户友好的工作流程来快速解决两个操纵器之间的运动冗余。通过允许用户针对运动分配设置期望参数,本发明减少了编程工作量,同时增加了用户控制。
上面描述的技术可以在数字和/或模拟电子电路中实现,或者在计算机硬件、固件、软件或在它们的组合中实现。该实现方式可以作为计算机程序产品,即,有形地体现在机器可读存储设备中的计算机程序,以用于由数据处理装置(例如,可编程处理器、计算机和/或多个计算机)执行或控制其操作。计算机程序可以以任何形式的计算机或编程语言来编写,包括源代码、编译代码、解译代码和/或机器代码,并且计算机程序可以以任何形式来部署,包括作为独立程序或作为子例程、元件、或适用于计算环境中的其他单元。计算机程序可以被部署成在一个计算机上执行,或者在一个或多个站点处的多个计算机上执行。计算机程序可以被部署在云计算环境(例如,亚马逊®AWS、微软®Azure、IBM®)中。
方法步骤可以由执行计算机程序的一个或多个处理器实行,以通过对输入数据进行操作和/或生成输出数据来实行本发明的功能。方法步骤也可以由专用逻辑电路来实行,并且装置可以被实现为专用逻辑电路,例如FPGA(现场可编程门阵列)、FPAA(现场可编程模拟阵列)、CPLD(复杂可编程逻辑器件)、PSoC(可编程片上系统)、ASIP(专用指令集处理器)或ASIC(专用集成电路)等等。子例程可以指代所存储的计算机程序和/或处理器、和/或实现一个或多个功能的特殊电路的部分。
适合于执行计算机程序的处理器包括:作为示例,利用可执行指令具体编程以实行本文中描述的方法的专用微处理器、以及任何种类的数字或模拟计算机的任何一个或多个处理器。通常,处理器从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器,和用于存储指令和/或数据的一个或多个存储器设备。存储器设备(诸如高速缓存)可以用来临时存储数据。存储器设备也可以用于长期数据存储。通常,计算机还包括用于存储数据的一个或多个大容量存储设备、或可操作地耦合到一个或多个大容量存储设备以从其接收数据或向其传递数据、或其两者,该大容量存储设备例如是磁盘、磁光盘或光盘。计算机还可以可操作地耦合到通信网络,以便从该网络接收指令和/或数据、和/或将指令和/或数据传递到该网络。适合于体现计算机程序指令和数据的计算机可读存储介质包括所有形式的易失性和非易失性存储器,包括作为示例的半导体存储器设备,例如DRAM、SRAM、EPROM、EEPROM和闪速存储器设备;磁盘,例如,内部硬盘或可移除磁盘;磁光盘;以及光盘,例如,CD、DVD、HD-DVD和蓝光光盘。处理器和存储器可以由专用逻辑电路来补充和/或被并入在专用逻辑电路中。
为了提供与用户的交互,上面描述的技术可以在与如下各项通信的计算设备上实现:显示设备,例如,CRT(阴极射线管)、等离子体或LCD(液晶显示器)监视器、移动设备显示器或屏幕、全息设备和/或投影仪,以用于向用户显示信息;以及键盘和定点设备,例如,鼠标、轨迹球、触摸板或运动传感器,用户可以通过它们向计算机提供输入(例如,与用户接口元件交互)。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括听觉、语音和/或触觉输入。
上面描述的技术可以在包括后端组件的分布式计算系统中实现。例如,后端组件可以是数据服务器、中间件组件和/或应用服务器。上面描述的技术可以在包括前端组件的分布式计算系统中实现。例如,前端组件可以是具有图形用户接口的客户端计算机、用户可以通过其与示例实现方式交互的web浏览器、和/或用于传输设备的其他图形用户接口。上面描述的技术可以在包括这样的后端、中间件或前端组件的任何组合的分布式计算系统中实现。
计算系统的组件可以通过传输介质而互连,传输介质可以包括数字或模拟数据通信的任何形式或介质(例如,通信网络)。传输介质可以包括以任何配置的一个或多个基于分组的网络和/或一个或多个基于电路的网络。基于分组的网络可以包括:例如,互联网、运营商互联网协议(IP)网络(例如,局域网(LAN)、广域网(WAN)、校园区域网络(CAN)、城域网(MAN)、家庭区域网络(HAN))、专用IP网络、IP专用交换分机(IPBX)、无线网络(例如,无线接入网(RAN)、蓝牙、近场通信(NFC)网络、Wi-Fi、WiMAX、通用分组无线电服务(GPRS)网络、HiperLAN)和/或其他基于分组的网络。基于电路的网络可以包括:例如公共交换电话网络(PSTN)、旧有专用交换分机(PBX)、无线网络(例如,RAN、码分多址(CDMA)网络、时分多址(TDMA)网络、全球移动通信系统(GSM)网络)和/或其他基于电路的网络。
通过传输介质的信息传输可以基于一个或多个通信协议。通信协议可以包括:例如以太网协议、互联网协议(IP)、IP语音(VOIP)、对等(P2P)协议、超文本传输协议(HTTP)、会话发起协议(SIP)、H.323、媒体网关控制协议(MGCP)、7号信令系统(SS7)、全球移动通信系统(GSM)协议、一键通(PTT)协议、蜂窝PTT(POC)协议、通用移动电信系统(UMTS)、3GPP长期演进(LTE)和/或其他通信协议。
计算系统的设备可以包括:例如计算机、具有浏览器设备的计算机、电话、IP电话、移动设备(例如,蜂窝电话、个人数字助理(PDA)设备、智能电话、平板电脑、膝上型计算机、电子邮件设备)和/或其他通信设备。浏览器设备包括:例如具有万维网浏览器(例如,来自谷歌公司的Chrome™、可从微软公司获得的Microsoft® Internet Explorer®和/或可从Mozilla公司获得的Mozilla® Firefox)的计算机(例如,台式计算机和/或膝上型计算机)。例如,移动计算设备包括:来自Research in Motion的Blackberry®、来自苹果公司的iPhone®和/或基于Android™的设备。例如,IP电话包括:可从思科系统公司获得的思科®统一IP电话7985G和/或思科®统一无线电话7920。
应当理解的是,本发明的各个方面和实施例可以以各种方式组合。基于本说明书的教导,本领域普通技术人员可以容易地确定如何组合这些不同的实施例。本领域技术人员在阅读说明书后也可以想到修改。
Claims (35)
1.一种用于在制造处理系统中在第一操纵器与第二操纵器之间可调整地分配协作运动的计算机实现的方法,所述计算机实现的方法包括:
由计算设备接收用于被配置成持有工具的第一操纵器的数据、用于被配置成持有工件的第二操纵器的数据、以及定义了将由工具在工件的至少一部分上实行的过程的过程数据,其中,用于第一或第二操纵器中的至少一个的数据包括可由用户调整的加权因子,以指定对应操纵器的运动的至少一定百分比;
由计算设备使用过程数据来计算工具在工件上的过程路径中的第一点和下一点;
由计算设备生成用于定义从第一点到下一点的过程路径的平移部分或旋转部分中的至少一个的相对变换函数;以及
由计算设备基于所述至少一个加权因子在第一与第二操纵器之间分配运动以完成所述过程路径,其中分配所述运动包括根据由相应加权因子指定的对应于每个操纵器的运动的百分比在第一与第二操纵器之间分配至少一个平移或旋转部分。
2.根据权利要求1所述的计算机实现的方法,进一步包括:根据相应操纵器的所计算的运动来致动第一和第二操纵器。
3.根据权利要求1所述的计算机实现的方法,其中,在第一与第二操纵器之间分配所述运动包括:根据所述加权因子在第一与第二操纵器之间分配平移部分和旋转部分中的每一个。
4.根据权利要求3所述的计算机实现的方法,其中,在第一与第二操纵器之间分配平移部分包括:
基于所述加权因子来定义权重向量,所述权重向量表示对应于所述加权因子的操纵器在X、Y和Z方向中的每一个方向上的相对运动;
将权重向量与平移部分逐元素地相乘,以生成对应操纵器的所分配的平移运动;以及
基于对应操纵器的所分配的平移运动来生成另一个操纵器的所分配的平移运动。
5.根据权利要求3所述的计算机实现的方法,其中,所述加权因子包括:用于控制对应于所述加权因子的操纵器的完全旋转的单个权重。
6.根据权利要求5所述的计算机实现的方法,其中,在第一与第二操纵器之间分配旋转部分包括:
基于所述单个权重来生成旋转矩阵;
将所述旋转矩阵转换成由旋转向量和旋转角度表示的不变向量;以及
基于所述单个权重在第一与第二操纵器之间分配旋转角度,以生成第一和第二操纵器的所分配的旋转运动。
7.根据权利要求3所述的计算机实现的方法,其中,所述加权因子包括:用于控制对应于所述加权因子的操纵器在多个轴上的旋转的多个权重。
8.根据权利要求7所述的计算机实现的方法,其中,在第一与第二操纵器之间分配旋转部分包括:
确定主轴、工具轴、以及垂直于主轴和工具轴两者的第三轴;以及
针对主轴、工具轴和第三轴中的每一个,基于对应于相应轴的权重来计算第一与第二操纵器之间的所分配的旋转运动。
9.根据权利要求1所述的计算机实现的方法,其中,所述加权因子包括:用于控制沿着所述过程路径的平移和旋转的分配的多个用户选择的百分比。
10.根据权利要求9所述的计算机实现的方法,其中,所述多个百分比包括:用于控制沿着x、y和z轴的对应平移分配的三个百分比。
11.根据权利要求9所述的计算机实现的方法,其中,所述多个百分比包括:用于控制沿着x、y和z轴的平移分配的单个百分比。
12.根据权利要求9所述的计算机实现的方法,其中,所述多个百分比包括:用于控制沿着用户选择的主轴、工具轴、以及垂直于主轴和工具轴两者的第三轴的对应旋转分配的三个百分比。
13.根据权利要求9所述的计算机实现的方法,其中,所述多个百分比包括:用于控制沿着用户选择的主轴、工具轴、以及垂直于主轴和工具轴两者的第三轴中的全部三个轴的旋转分配的单个百分比。
14.根据权利要求1所述的计算机实现的方法,其中,所述加权因子包括:用于控制沿着所述过程路径的平移和旋转两者的分配的单个用户选择的百分比。
15.根据权利要求1所述的计算机实现的方法,其中,第一和第二操纵器的所计算的运动确保了工具和工件在任务空间中的最小移动。
16.根据权利要求1所述的计算机实现的方法,其中,所述加权因子涉及第一或第二操纵器中的一个的运动的百分比,并且其中,所述计算设备被适配成基于所述加权因子来计算另一个操纵器的运动的百分比。
17.一种被配置成允许用户在制造处理系统中在第一操纵器与第二操纵器之间可调整地分配协作运动的计算机系统,所述计算机系统包括:
数据连接和图形用户接口,其被配置成从用户接收(i)用于被配置成持有工具的第一操纵器的数据、(ii)用于被配置成持有工件的第二操纵器的数据、以及(iii)定义了将由工具在工件的至少一部分上实行的过程的过程数据,其中,用于第一或第二操纵器中的至少一个的数据包括可由用户根据所述接口调整的加权因子,以指定对应操纵器的运动的至少一定百分比;
计算模块,其被配置成:
使用过程数据计算工具在工件上的过程路径的第一点和下一点;
生成用于定义从第一点到下一点的过程路径的平移部分或旋转部分中的至少一个的相对变换函数;以及
基于所述至少一个加权因子在第一与第二操纵器之间分配运动以完成所述过程路径,其中分配所述运动包括根据由相应加权因子指定的对应于每个操纵器的运动的百分比在第一与第二操纵器之间分配至少一个平移或旋转部分;以及
显示模块,其被配置成以图形方式来图示第一操纵器和第二操纵器中的相应操纵器的所分配的运动,以用于可视化第一操纵器所持有的工具对第二操纵器所持有的工件的处理。
18.根据权利要求17所述的计算机系统,进一步包括:与所述计算模块电通信的致动模块,所述致动模块用于根据相应操纵器的所计算的运动来致动第一和第二操纵器。
19.根据权利要求17所述的计算机系统,其中,在第一与第二操纵器之间分配所述运动包括:根据所述加权因子在第一与第二操纵器之间分配运动的平移部分和旋转部分中的每一个。
20.根据权利要求19所述的计算机系统,其中,所述加权因子包括:用于控制对应操纵器在所有轴上的旋转的单个权重值。
21.根据权利要求19所述的计算机系统,其中,所述加权因子包括:用于控制对应操纵器在多个轴中的相应轴上的旋转的多个权重值,所述多个轴包括用户选择的主轴、工具轴、以及垂直于主轴和工具轴两者的第三轴。
22.根据权利要求19所述的计算机系统,其中,所述加权因子包括:用于控制对应操纵器在所有轴上的平移的单个权重值。
23.根据权利要求19所述的计算机系统,其中,所述加权因子包括:用于控制对应操纵器在多个轴中的相应轴上的平移的多个权重值,所述多个轴包括x轴、y轴和z轴。
24.根据权利要求19所述的计算机系统,其中,所述加权因子包括:用于控制对应操纵器在所有轴上的平移和旋转的单个权重值。
25.一种用于在制造处理系统中在第一操纵器与第二操纵器之间可调整地分配协作运动的计算机实现的方法,所述计算机实现的方法包括:
由计算设备接收用于被配置成持有工具的第一操纵器的数据、用于被配置成持有工件的第二操纵器的数据、以及定义了将由工具在工件的至少一部分上实行的过程的过程数据,其中,用于第一或第二操纵器中的至少一个的数据包括可由用户调整的加权因子,以指定将由对应操纵器实行的运动的至少一个百分比;
由计算设备使用过程数据来计算工具在工件上的过程路径的第一点和下一点;
由计算设备生成用于定义从第一点到下一点的过程路径的相对变换函数,所述相对变换函数包括平移部分和旋转部分;
由计算设备基于所述加权因子在第一与第二操纵器之间分配所述相对变换函数的平移部分,以生成第一和第二操纵器的所分配的平移运动;以及
由计算设备基于所述加权因子在第一与第二操纵器之间分配所述相对变换函数的旋转部分,以生成第一和第二操纵器的所分配的旋转运动。
26.根据权利要求25所述的计算机实现的方法,其中,所述加权因子包括:指定第一或第二操纵器中的一个的平移的运动的一个或多个百分比的第一集合。
27.根据权利要求26所述的计算机实现的方法,其中,在第一与第二操纵器之间分配所述相对变换函数的平移部分包括:
基于运动的一个或多个百分比的第一集合来定义权重向量,所述权重向量表示第一或第二操纵器中的一个在X、Y和Z方向中的每一个方向上的相对运动;
将权重向量与平移部分逐元素地相乘以生成第一或第二操纵器中的一个的所分配的平移运动;以及
基于一个操纵器的所分配的平移运动来生成另一个操纵器的所分配的平移运动。
28.根据权利要求26所述的计算机实现的方法,其中,所述加权因子进一步包括:用于控制第一或第二操纵器中的一个的旋转的运动的一个或多个百分比的第二集合。
29.根据权利要求28所述的计算机实现的方法,其中,运动的一个或多个百分比的第二集合包括:指定第一或第二操纵器中的一个在所有轴上的旋转程度的单个百分比。
30.根据权利要求29所述的计算机实现的方法,其中,在第一与第二操纵器之间分配所述相对变换函数的旋转部分包括:
基于所述单个百分比来生成旋转矩阵;
将所述旋转矩阵转换成由旋转向量和旋转角度表示的不变向量;以及
基于所述单个百分比在第一与第二操纵器之间分配旋转角度,以生成第一和第二操纵器的所分配的旋转运动。
31.根据权利要求28所述的计算机实现的方法,其中,运动的一个或多个百分比的第二集合包括:指定第一或第二操纵器中的一个在多个轴上的旋转程度的多个百分比。
32.根据权利要求31所述的计算机实现的方法,其中,在第一与第二操纵器之间分配所述相对变换函数的旋转部分包括:
确定主轴、工具轴、以及垂直于主轴和工具轴两者的第三轴;以及
针对主轴、工具轴和第三轴中的每一个,基于对应于相应轴的百分比来计算第一与第二操纵器之间的所分配的旋转运动。
33.根据权利要求25所述的计算机实现的方法,其中,所述加权因子包括:指定第一或第二操纵器中的一个的平移和旋转的运动的单个百分比。
34.根据权利要求25所述的计算机实现的方法,进一步包括:显示第一和第二操纵器中的相应操纵器的所分配的平移和旋转运动,以用于可视化工具对工件的处理。
35.一种有形地体现在非暂时性计算机可读存储设备中的计算机程序产品,其用于在制造处理系统中在第一操纵器与第二操纵器之间可调整地分配协作运动,所述计算机程序产品包括可操作以使计算设备执行以下操作的指令:
接收用于被配置成持有工具的第一操纵器的数据、用于被配置成持有工件的第二操纵器的数据、以及定义了将由工具在工件的至少一部分上实行的过程的过程数据,其中,用于第一或第二操纵器中的至少一个的数据包括可由用户调整的加权因子,以指定对应操纵器的运动的至少一定百分比;
使用过程数据来计算工具在工件上的过程路径的第一点和下一点;
生成用于定义从第一点到下一点的过程路径的平移部分或旋转部分中的至少一个的相对变换函数;以及
基于所述至少一个加权因子在第一与第二操纵器之间分配运动以完成所述过程路径,其中可操作以使计算设备分配所述运动的指令包括可操作以使计算设备根据由相应加权因子指定的对应于每个操纵器的运动的百分比在第一与第二操纵器之间分配至少一个平移或旋转部分的指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962803714P | 2019-02-11 | 2019-02-11 | |
US62/803714 | 2019-02-11 | ||
PCT/US2020/017628 WO2020167739A1 (en) | 2019-02-11 | 2020-02-11 | Motion distribution in robotic systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114096383A CN114096383A (zh) | 2022-02-25 |
CN114096383B true CN114096383B (zh) | 2024-05-14 |
Family
ID=69954102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080013487.0A Active CN114096383B (zh) | 2019-02-11 | 2020-02-11 | 机器人系统中的运动分配 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11413751B2 (zh) |
EP (1) | EP3924152A1 (zh) |
CN (1) | CN114096383B (zh) |
CA (1) | CA3123456A1 (zh) |
WO (1) | WO2020167739A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7396829B2 (ja) * | 2019-07-31 | 2023-12-12 | ファナック株式会社 | ロボット座標系を設定する装置、ロボット制御装置、ロボットシステム、及び方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2110727A2 (de) * | 2008-04-16 | 2009-10-21 | KUKA Roboter GmbH | Verfahren zur Steuerung eines Roboters |
WO2017050895A1 (de) * | 2015-09-23 | 2017-03-30 | Universität Bayreuth | Robotersteuerung |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2514490B2 (ja) * | 1991-07-05 | 1996-07-10 | 株式会社ダイヘン | 産業用ロボットの連動手動操作による教示制御方法 |
US5798627A (en) * | 1995-01-04 | 1998-08-25 | Gilliland; Malcolm T. | Method for simultaneous operation of robot welders |
US6004016A (en) | 1996-08-06 | 1999-12-21 | Trw Inc. | Motion planning and control for systems with multiple mobile objects |
JPH11134017A (ja) * | 1997-10-27 | 1999-05-21 | Honda Motor Co Ltd | オフラインティーチング方法 |
US6392190B1 (en) * | 1998-01-23 | 2002-05-21 | Smith International | Automated hardfacing system |
JPH11345009A (ja) * | 1998-06-02 | 1999-12-14 | Fanuc Ltd | 数値制御装置 |
US20030205984A1 (en) * | 2001-06-20 | 2003-11-06 | Jun Yoshida | Method of controlling numerically controlled machine tool and numerically controlled machine tool |
EP1710643B1 (en) * | 1999-10-20 | 2008-11-26 | Makino Milling Machine Co. Ltd. | NC machine tool and method of controlling NC machine tool |
US7607440B2 (en) * | 2001-06-07 | 2009-10-27 | Intuitive Surgical, Inc. | Methods and apparatus for surgical planning |
GB0113985D0 (en) | 2001-06-08 | 2001-08-01 | Quin Systems Ltd | Robotic devices |
JP3577028B2 (ja) * | 2001-11-07 | 2004-10-13 | 川崎重工業株式会社 | ロボットの協調制御システム |
US6757613B2 (en) | 2001-12-20 | 2004-06-29 | Schlumberger Technology Corporation | Graphical method for designing the trajectory of a well bore |
US6678582B2 (en) | 2002-05-30 | 2004-01-13 | Kuka Roboter Gmbh | Method and control device for avoiding collisions between cooperating robots |
GB2406028A (en) | 2003-09-11 | 2005-03-16 | Autodesk Canada Inc | Tangent handle adjustment for Bezier curves |
US7146242B2 (en) | 2003-09-30 | 2006-12-05 | Rockwell Automation Technologies, Inc. | Method and system for generating multi-dimensional motion profiles |
WO2005124486A2 (en) | 2004-06-15 | 2005-12-29 | Abb Ab | Method and system for off-line programming of multiple interacting robots |
US9390203B2 (en) * | 2004-06-15 | 2016-07-12 | Abb Ab | Method and system for off-line programming of multiple interacting robots |
JP4917252B2 (ja) * | 2004-07-23 | 2012-04-18 | ファナック株式会社 | アーク溶接用装置 |
JP2006099474A (ja) * | 2004-09-29 | 2006-04-13 | Fanuc Ltd | ロボットの軌跡制御方法 |
DE102005060967B4 (de) | 2005-12-20 | 2007-10-25 | Technische Universität München | Verfahren und Vorrichtung zum Einrichten einer Bahnkurve einer Robotervorrichtung |
US8620473B2 (en) * | 2007-06-13 | 2013-12-31 | Intuitive Surgical Operations, Inc. | Medical robotic system with coupled control modes |
DE102010007458A1 (de) | 2010-02-10 | 2011-08-11 | KUKA Laboratories GmbH, 86165 | Verfahren für eine kollisionsfreie Bahnplanung eines Industrieroboters |
US8706298B2 (en) * | 2010-03-17 | 2014-04-22 | Raytheon Company | Temporal tracking robot control system |
CN102169347A (zh) | 2011-03-08 | 2011-08-31 | 浙江工业大学 | 基于协作协进化和多种群遗传算法的多机器人路径规划系统 |
US8639364B2 (en) * | 2011-07-13 | 2014-01-28 | KUKA Robotics Corporation | Uniform synchronizing robot control and deadlock detection in uniform synchronization |
CN102721746A (zh) * | 2012-07-04 | 2012-10-10 | 北京理工大学 | 一种双机械手超声透射检测装置 |
US9536446B2 (en) * | 2012-12-03 | 2017-01-03 | Dynamic Motion Group Gmbh | Motion simulation system controller and associated methods |
WO2014148032A1 (ja) * | 2013-03-19 | 2014-09-25 | パナソニック株式会社 | ロボットシステムの制御方法およびロボットシステム |
US9221175B2 (en) | 2013-03-28 | 2015-12-29 | Denso Wave Incorporated | Method of generating path of multiaxial robot and control apparatus for the multiaxial robot |
WO2015073322A1 (en) * | 2013-11-13 | 2015-05-21 | Abb Technology Ag | System for robotic 3d printing |
US9387589B2 (en) | 2014-02-25 | 2016-07-12 | GM Global Technology Operations LLC | Visual debugging of robotic tasks |
US9457469B2 (en) | 2014-08-14 | 2016-10-04 | Siemens Industry Software Ltd. | Method and apparatus for automatic and efficient location generation for cooperative motion |
JP6700669B2 (ja) * | 2015-04-07 | 2020-05-27 | キヤノン株式会社 | 制御方法、ロボット装置、プログラム、記録媒体、及び物品の製造方法 |
JP6267156B2 (ja) | 2015-05-29 | 2018-01-24 | ファナック株式会社 | 微小ブロックのコーナ制御を行うワイヤカット放電加工機用数値制御装置 |
DE102015212151B4 (de) | 2015-06-30 | 2017-08-24 | Kuka Roboter Gmbh | Verfahren zum Positionieren eines Werkstücks |
WO2017163251A2 (en) * | 2016-03-24 | 2017-09-28 | Polygon T.R Ltd. | Systems and methods for human and robot collaboration |
WO2017201023A1 (en) * | 2016-05-20 | 2017-11-23 | Google Llc | Machine learning methods and apparatus related to predicting motion(s) of object(s) in a robot's environment based on image(s) capturing the object(s) and based on parameter(s) for future robot movement in the environment |
JP6469162B2 (ja) | 2017-04-17 | 2019-02-13 | ファナック株式会社 | ロボットのオフライン教示装置 |
US11458626B2 (en) | 2018-02-05 | 2022-10-04 | Canon Kabushiki Kaisha | Trajectory generating method, and trajectory generating apparatus |
US11292133B2 (en) * | 2018-09-28 | 2022-04-05 | Intel Corporation | Methods and apparatus to train interdependent autonomous machines |
CN109159127B (zh) | 2018-11-20 | 2021-11-30 | 广东工业大学 | 一种基于蚁群算法的双焊接机器人智能路径规划方法 |
CN109726853A (zh) | 2018-12-04 | 2019-05-07 | 东莞理工学院 | 基于机器视觉的工业协作机器人路径规划算法 |
-
2020
- 2020-02-11 CA CA3123456A patent/CA3123456A1/en active Pending
- 2020-02-11 WO PCT/US2020/017628 patent/WO2020167739A1/en unknown
- 2020-02-11 EP EP20713779.5A patent/EP3924152A1/en active Pending
- 2020-02-11 CN CN202080013487.0A patent/CN114096383B/zh active Active
- 2020-02-11 US US16/787,418 patent/US11413751B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2110727A2 (de) * | 2008-04-16 | 2009-10-21 | KUKA Roboter GmbH | Verfahren zur Steuerung eines Roboters |
WO2017050895A1 (de) * | 2015-09-23 | 2017-03-30 | Universität Bayreuth | Robotersteuerung |
Also Published As
Publication number | Publication date |
---|---|
WO2020167739A1 (en) | 2020-08-20 |
CA3123456A1 (en) | 2020-08-20 |
CN114096383A (zh) | 2022-02-25 |
EP3924152A1 (en) | 2021-12-22 |
US20200254612A1 (en) | 2020-08-13 |
US11413751B2 (en) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11331803B2 (en) | Mixed reality assisted spatial programming of robotic systems | |
JP5459255B2 (ja) | ロボットシステム | |
US20210339390A1 (en) | Trajectory planning for path-based applications | |
US8577499B2 (en) | Method and a device for optimizing a programmed movement path for an industrial robot | |
US20190232496A1 (en) | Method for collision-free motion planning | |
EP2993542A2 (en) | Teaching system, robot system, and teaching method | |
TW201430511A (zh) | 決定共同地追蹤參考軌跡之複聯致動器的軌跡之方法 | |
US11478930B2 (en) | Simulation assisted planning of motions to lift heavy objects | |
CN108139730B (zh) | 机器人离线编程方法以及使用其的装置 | |
CN114096383B (zh) | 机器人系统中的运动分配 | |
JP6560841B1 (ja) | 制御装置、作業ロボット、プログラム、及び、制御方法 | |
Dolgui et al. | Manipulator motion planning for high-speed robotic laser cutting | |
JP2018106542A (ja) | 作業計画装置 | |
US20220250240A1 (en) | Extensible underconstrained robotic motion planning | |
Müller et al. | The assist-by-X system: calibration and application of a modular production equipment for visual assistance | |
RU2814357C2 (ru) | Распределение движений в роботизированных системах | |
CN105415376A (zh) | 一种离线编程装置 | |
US20220342381A1 (en) | Managing a machine tool method, for example method of mapping toolpath data and machine code, a control device, and a machine tool | |
CN111283323B (zh) | 一种焊接方法、装置、终端设备及存储介质 | |
JP7303405B1 (ja) | 加工シミュレーション装置、工作機械、工作機械システム、加工シミュレーション方法、および、プログラム | |
JP2006072673A (ja) | 溶接ロボットのポジショナ設定方法 | |
EP4056332A1 (en) | Integration of plasma processing and robotic path planning | |
Bartelt et al. | Tool Oriented Robot Cooperation | |
EP4155035A1 (en) | Method for controlling multiple execution mechanisms, electronic device, and storage medium | |
Neto | A Guide for ABB Robot Studio |
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 |