CN116257946A - 机器人工作单元设计技术 - Google Patents
机器人工作单元设计技术 Download PDFInfo
- Publication number
- CN116257946A CN116257946A CN202211558455.6A CN202211558455A CN116257946A CN 116257946 A CN116257946 A CN 116257946A CN 202211558455 A CN202211558455 A CN 202211558455A CN 116257946 A CN116257946 A CN 116257946A
- Authority
- CN
- China
- Prior art keywords
- robot
- location
- component
- value
- locations
- 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
Links
- 238000013461 design Methods 0.000 title abstract description 123
- 238000005516 engineering process Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 71
- 230000036461 convulsion Effects 0.000 claims description 12
- 230000001133 acceleration Effects 0.000 claims description 9
- 238000005265 energy consumption Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 description 36
- 238000010586 diagram Methods 0.000 description 20
- 239000012636 effector Substances 0.000 description 16
- 238000005457 optimization Methods 0.000 description 16
- 238000011156 evaluation Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000009434 installation Methods 0.000 description 4
- 239000011248 coating agent Substances 0.000 description 3
- 238000000576 coating method Methods 0.000 description 3
- 238000010422 painting Methods 0.000 description 3
- 238000003466 welding Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- -1 etc.) Substances 0.000 description 1
- 238000000227 grinding Methods 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- 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/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- 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
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4188—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by CIM planning or realisation
-
- 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/1671—Programme 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- 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
-
- 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/32—Operator till task planning
- G05B2219/32085—Layout of factory, facility, cell, production system planning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Automation & Control Theory (AREA)
- Quality & Reliability (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Manufacturing & Machinery (AREA)
- Manipulator (AREA)
Abstract
公开了机器人工作单元设计技术。一种用于生成和评估机器人工作单元解决方案的计算机实现方法包括:确定工作单元体积内的多个位置,其中每个位置对应于可能的工作单元解决方案;对于包括在多个位置中的每个位置,基于与该位置相关联的位置信息和与第一机器人的部件相关联的轨迹,确定第一机器人的第一机器人运动属性的值;并且,对于包括在多个位置中的每个位置,基于第一机器人运动属性的值计算第一性能度量的第一值。
Description
发明背景
技术领域
各种实施方案总体涉及计算机科学和机器人技术,并且更具体地涉及机器人工作单元设计技术。
相关技术说明
机器人通常用于需要高重复性的任务、对或可能对人类构成危险的任务和/或需要高精度的任务。例如,机器人经常用于制造应用中和对人类有害的环境中。一般来说,机器人是自动化或半自动化、可编程且能够进行复杂平面或三维运动的机器。在制造应用中,机器人通常是静止的,并且被定位为在机器人工作单元中执行指定的任务。
将制造机器人正确放置在机器人工作单元中对于防止可达性问题、避免机器人的一个或多个关节出现奇异点以及提高机器人在操作过程中的整体性能非常重要。因此,将制造机器人的底座定位在机器人工作单元内是设计机器人工作单元的关键方面。已经广泛研究了在机器人工作单元内确定机器人的理想底座位置以执行定义的任务的问题,并且已经开发了各种优化过程来解决这个问题。然而,这些优化过程具有某些缺点。
一个缺点是常规的优化过程在计算上可能很复杂,因此设置和运行起来很耗时。因此,这样的过程通常不适用于设计迭代的过程。在制造应用中通常会出现许多可能产生这种计算复杂性的情况,诸如当要覆盖的区域大于机器人臂的到达距离时,当机器人臂的目标数量很大时,当机器人臂的工具路径是固定的时,以及当任务涉及机器人末端执行器上的复杂运动时。在这些实例中的每一个中,常规的优化过程对于为特定任务寻找最佳机器人位置的用户没有帮助,因为与编程和运行这样的优化过程相关联的工作量非常大。相反,用户通常依赖以前的经验、反复试验和/或部落知识来选择机器人底座的位置,并且无法量化比较机器人在不同环境下的性能。
另一个缺点是常规的优化过程限于生成涉及单个优化目标或一小组优化目标的解决方案。然而,定位制造机器人的优化目标可以有很大的不同,这取决于任务的性质和用户的具体目标。此类不同且有时相互冲突的优化目标的示例包括但不限于所有目标的可达性、运动的平滑度和能量效率等。因此,为了帮助用户定位机器人,必须设计常规的优化过程来解决用户在定位机器人时可能感兴趣的每个优化目标或一组优化目标的不同成本函数或组合成本函数。由于基于数学的优化方法不容易扩展到此类问题,因此用户通常无法使用针对给定机器人安装实例的特定目标优化解决方案的优化过程。因此,除非碰巧根据特定机器人安装实例的目标设计优化过程,否则用户必须依靠个人经验和/或反复试验以选择机器人位置。
如前述内容所说明,本领域中需要用于确定机器人工作单元内的机器人放置的更有效的技术。
发明内容
一种用于生成和评估机器人工作单元解决方案的计算机实现方法包括:确定工作单元体积内的多个位置,其中每个位置对应于可能的工作单元解决方案;对于包括在多个位置中的每个位置,基于与该位置相关联的位置信息和与第一机器人的部件相关联的轨迹,确定第一机器人的第一机器人运动属性的值;并且,对于包括在多个位置中的每个位置,基于第一机器人运动属性的值计算第一性能度量的第一值。
所公开的技术相对于现有技术的至少一个技术优势在于,利用所公开的技术,用户可以基于一个或多个用户定义的性能度量来评估针对机器人工作单元内的各种机器人或工件位置的机器人性能。例如,基于用户定义的性能度量的加权分数使用户能够客观地比较针对工作单元内每个有效机器人或工件位置的机器人性能。另一个优势在于所公开的技术可用于快速生成针对整个工作单元中的位置的解决方案。因此,用户可以迭代测试不同性能度量和/或性能度量的加权组合的显著性,并修改用于选择机器人或工件位置的性能度量。这些技术优势提供优于现有技术方法的一个或多个技术进步。
附图说明
通过参考各种实施方案,可具有可详细地在对以上简述的本发明概念的更具体的描述中理解各种实施方案的上述特征的方式,所述各种实施方案中的一些在附图中示出。然而,应注意,附图仅示出了本发明构思的典型实施方案,并且因此决不应被认为是对范围的限制,并且存在其他同等有效的实施方案。
图1示出被配置为实现各种实施方案的一个或多个方面的机器人设置评估系统。
图2是根据各种实施方案的机器人工作单元的概念图。
图3是根据各种实施方案的用于显示与机器人工作单元内的多个设计位置相关联的信息的图形用户界面的示意图。
图4是根据各种其他实施方案的用于显示与机器人工作单元内的多个设计位置相关联的信息的图形用户界面的示意图。
图5A是根据各种实施方案的用于显示机器人工作单元内的有效设计位置的图形用户界面的示意图。
图5B是根据各种实施方案在用户已经选择特定有效设计位置之后图5A的图形用户界面的示意图。
图6阐述了根据各种实施方案的用于生成和评估机器人工作单元解决方案的性能的方法步骤的流程图。
图7是被配置来实现各种实施方案的一个或多个方面的计算装置的框图。
为清楚起见,已在适用情况下使用相同的附图标记来指定附图中通用的相同元件。可以设想,一个实施方案的特征可以结合到其他实施方案中而无需进一步叙述。
具体实施方式
在以下描述中,阐述了众多具体细节以提供对各种实施方案的更透彻的理解。然而,对本领域的技术人员将显而易见的是,可在没有这些具体细节中的一者或多者的情况下实践本发明构思。
用于设计位置的机器人运动属性和性能度量
图1示出被配置为实现各种实施方案的一个或多个方面的机器人设置评估系统100。机器人设置评估系统100是计算机实现的系统,其被配置为确定针对特定机器人工作单元的有效设置解决方案并基于一个或多个用户定义的性能度量量化每个有效设置解决方案的性能。机器人设置评估系统100还被配置为便于用户评估有效设置解决方案的性能以及用户修改用于量化有效设置解决方案的性能的性能度量。在图1所示的实施方案中,机器人设置评估系统100包括设置模块110、计算引擎120、以及用户界面(UI)和结果搜索模块130。
设置模块110被配置为使用户(未示出)能够提供设计输入101以定义特定的机器人设置问题。这种机器人设置问题的一个示例是确定机器人工作单元内的机器人底座位置,该位置使指定机器人能够相对于一个或多个用户定义的性能度量获得高、峰值或理想的性能。另一个这种示例是确定机器人工作单元内的工件位置,该位置使指定机器人能够相对于一个或多个用户定义的性能度量获得高、峰值或理想的性能。根据以下更详细描述的各种实施方案,用户定义的性能度量可以量化指定机器人关于应用特定因素的性能,而不仅仅是碰撞避免、奇异点避免和可达性。
在一些实施方案中,设置模块110经由由UI和结果搜索模块130生成的UI接收设计输入101。用户输入101可以包括定义要解决的设计问题的各种输入,诸如机器人工作单元内的特定机器人设置问题。下面结合图2描述了机器人工作单元的一个实施方案。
图2是根据各种实施方案的机器人工作单元200的概念图。机器人工作单元200是被配置为执行特定任务的机器人210的操作环境。在一些实施方案中,任务包括对布置在机器人工作单元200内的工件220执行一项或多项操作,诸如制造相关操作、构造相关操作和娱乐相关操作等。可以由机器人210对工件220执行的制造相关操作的示例包括焊接、粘合剂施用、涂漆、涂层、去涂层、磨损、减材制造工艺、增材制造工艺等。可以由机器人210对工件220执行的构造相关操作的示例包括大规模组装过程、材料切割(诸如干墙、木材等)、涂层、喷漆、渲染等。可以由机器人210对工件220执行的娱乐相关操作的示例包括电影摄影、用于视觉效果产生的受控运动、用于现场娱乐的编程运动、用于乘客乘坐的受控运动等。
机器人工作单元200包括合法体积230,其中可以定位潜在的机器人底座位置或工件位置(本文称为“设计位置”)。在图2所示的实施方案中,合法体积230指示机器人工作单元200内的可以定位工件220的区域。因此,图2中的合法体积230被配置用于机器人设置问题,其中确定的工件位置在执行与工件220相关联的指定任务期间实现机器人210的高、峰值或理想的性能。在其他实施方案中,合法体积230可被配置用于机器人设置问题,其中确定的机器人底座位置在执行与工件220相关联的指定任务期间实现机器人210的高、峰值或理想的性能。
机器人210可以是包括固定底座213的任何技术上可行的机器人,诸如笛卡尔机器人、选择顺应性关节机器人臂(SCARA)机器人、关节机器人、三角式机器人或圆柱机器人等。在图2所示的实施方案中,固定底座213设置在面向上的水平表面上,诸如地板202。在其他实施方案中,固定底座213设置在与机器人工作单元200相关联的和/或与图2所示不同的高度上的另一个表面上。此外,在一些实施方案中,与机器人工作单元200相关联的特定机器人设置问题包括确定机器人210在地板202上或与机器人工作单元200相关联的某一其他表面上的最佳或高性能位置。
通常,机器人210包括两个或更多个关节211,每个关节211都能够运动,该运动包括一个或多个自由度,诸如绕轴旋转、沿轴延伸、和/或类似。在图2所示的实施方案中,机器人210还包括末端执行器212,其根据机器人工作单元200中机器人210要执行的一个或多个特定操作进行配置。例如,在一些实施方案中,末端执行器212包括焊接附件、工件操纵器、喷漆头、液体涂抹器等。
工件220可以是机器人210可以在其上执行一个或多个操作的任何物体。在一些实施方案中,工件220设置在机器人工作单元200中的预定位置215,在这种情况下,与机器人工作单元200相关联的特定机器人设置问题包括确定机器人210的最佳或高性能位置。也就是说,在这样的实施方案中,预定位置215被包括在机器人设置问题定义中。在其他实施方案中,与机器人工作单元200相关联的特定机器人设置问题包括确定工件220的最佳或高性能位置。因此,在这样的实施方案中,工件220不具有预定位置,并且机器人210的预定位置包括在机器人设置问题定义中。
在一些实施方案中,轨迹240设置在机器人工作单元200内并与机器人210相关联。例如,在实施方案中,轨迹240与机器人210的末端执行器212相关联。在一些实施方案中,轨迹240包括三维空间中的路径241(虚线),该路径定义了机器人工作单元内机器人210的部件(诸如末端执行器212)的运动。在一些实施方案中,轨迹240还包括速度分布图(未示出),其定义机器人210的部件在沿路径241的不同点处的速度。因此,轨迹240定义了机器人210的特定部件在对工件220执行一个或多个操作时的运动。例如,在一些实施方案中,轨迹240定义了末端执行器212的路径和速度,用于在工件220设置在预定位置215时执行的涂漆、焊接、研磨、涂层或其他操作。替代地,在一些实施方案中,当将工件220从机器人工作单元200中的初始位置216重新定位到预定位置215时,轨迹240定义了末端执行器212的路径和速度。
在图2所示的实施方案中,单个轨迹240与机器人210相关联。在其他实施方案中,多个轨迹(未示出)设置在机器人工作单元200内并与机器人210相关联。例如,在一个这样的实施方案中,机器人210对工件220执行多个操作,并且对于每个操作,不同的轨迹240与机器人210的末端执行器212相关联。替代地或附加地,在一个这样的实施方案中,不同的轨迹240与机器人210的关节211中的一个或多个相关联。
返回图1,如上所述,设置模块110经由UI接收设计输入101,其中设计输入101定义了要为机器人工作单元200解决的特定机器人设置问题。在一些实施方案中,设计输入101包括定义图2中的合法体积230的尺寸的输入,其定义了设计问题的外部物理边界。在这样的实施方案中,定义合法体积230的尺寸的输入可以基于一个或多个几何图元(例如,立方体、金字塔等)和/或特定的尺寸值。在一些实施方案中,设计输入101包括碰撞体的位置或合法体积内的其他禁止区域。在一些实施方案中,设计输入101包括一个或多个轨迹240的信息。在一些实施方案中,设计输入101包括一个或多个限制或阈值,例如用于机器人运动属性和/或用户定义的性能参数。在一些实施方案中,设计输入101包括用于基于多个用户定义的性能参数生成质量分数的一个或多个加权因子。
在一些实施方案中,设计输入101包括一个或多个模拟参数。在这样的实施方案中,模拟参数可以包括用于定义合法体积内的设计位置的离散值。在这样的实施方案中,更高度离散的合法体积对应于由机器人设置评估系统100在特定研究中评估的更紧密间隔的设计位置。在一些实施方案中,模拟参数包括用于定义模拟末端执行器轨迹的粒度的离散值。在这样的实施方案中,离散值可以指示沿着轨迹240的被用来模拟末端执行器轨迹的多个离散点。值得注意的是,较高的离散值会导致执行更多的计算以生成每个设计位置的机器人运动属性(如下所述),而较低的离散值会增加未能检测到奇异点、碰撞、和/或最佳设计位置的可能性。
在一些实施方案中,模拟参数包括用于计算引擎120中包括的逆运动学求解器121的一个或多个参数。在这样的实施方案中,参数可以包括要由逆运动学求解器121实施的特定关节约束、要用于末端执行器212的一个或多个指定姿势的特定关节配置等。
在一些实施方案中,用户输入101包括一个或多个用户定义的性能度量,其用于可量化地评估每个设计位置的性能。在这样的实施方案中,每个用户定义的性能度量基于为合法体积230中的每个设计位置计算的一个或多个机器人运动属性。如下所述,这样的计算可以由计算引擎120执行。
每个机器人运动属性是可以为合法体积230中的每个设计位置计算的关注量。在一些实施方案中,机器人运动属性是基于当机器人的末端执行器(或其他部件)遵循指定轨迹(例如,图2中的轨迹240)执行指定的操作时机器人(例如,图2中的机器人210)的一个或多个部件的运动的运动学和/或动力学的量。也就是说,在一些实施方案中,每个机器人运动属性可以是机器人210的特定部件的运动的运动学条件或机器人210的特定部件的运动的动力学条件之一。因此,在一些实施方案中,为合法体积230中的每个设计位置确定的机器人运动属性包括位置或位移、速度、加速度和加加速度中的一个或多个。例如,在机器人设置问题包括机器人工作单元内机器人底座位置的确
定的实施方案中,为每个设计位置确定的机器人运动属性包括当末端5执行器遵循指定轨迹时发生的机器人末端执行器的最大速度、最大加
速度和最大加加速度。附加地或替代地,在这样的实施方案中,可以为机器人的一个或多个其他部件(诸如机器人的一个或多个关节)确定类似的机器人运动属性。附加地或替代地,在这样的实施方案中,可
以为每个设计位置确定每个机器人运动属性的多个值。例如,在一些0实施方案中,对于机器人的一个特定部件(或多个部件),可以针对沿
指定轨迹的多个点确定位移、速度、加速度和加加速度。因此,在这样的实施方案中,对于机器人的一个、一些或所有可移动部件,可以沿着指定轨迹的全部或一部分跟踪一个或多个机器人运动属性。在这
样的实施方案中,对于每个设计位置,可以沿着指定轨迹跟踪特定机5器人运动属性的多个值,例如通过沿着指定轨迹绘制这样的值。在这
样的实施方案中,在评估机器人运动属性时向用户提供了另一维度的粒度。例如,在实施方案中,特定性能度量可以是机器人运动属性的平均值(例如,与特定旋转轴相关联的加加速度)。在该实施方案中,
沿着指定轨迹跟踪机器人运动属性的值使用户能够区分两个设计位0置的性能,其对于该特定性能度量具有相同平均值:一个设计位置可
能具有机器人运动属性在整个轨迹上的相对较低值,除了一个大尖峰,而另一个具有相同机器人运动属性平均值的设计位置可能在整个轨迹上始终具有较高的值,但没有这种有害的值尖峰。
根据各种实施方案,还为合法体积中的每个设计位置确定用户定5义的性能度量,并且用户定义的性能度量基于设计位置处的一个或多
个机器人运动属性的值。通常,选择用户定义的性能度量以使用户能够客观地比较工作单元内每个有效设计位置相对于用户感兴趣的一个或多个应用特定因素的性能。例如,在一个实例中,在工厂中设置将执行相同的操作十年的机器人的用户可能对最大限度地减少机器人的能量消耗和/或影响机器人寿命的因素感兴趣。因此,在这种实例中,各种实施方案使用户能够生成一个或多个性能度量,这些度量量化这种因素,诸如施加在机器人的一个或多个关节上的扭矩、施加在机器人的一个或多个关节上的最大力等。在另一个实例中,设置机器人以单次执行特定操作的用户可能对最小化末端执行器处的振动以实现指定准确度感兴趣。在这种实例中,各种实施方案使用户能够生成一个或多个性能度量,其量化机器人的一些或所有关节处的加加速度或类似因素。
在一些实施方案中,用户可以生成一个或多个性能度量,其量化特定工作单元设置的更复杂方面,诸如机器人调试成本、寿命操作成本、末端执行器运动的平滑度等。在这样的实施方案中,性能度量可以基于除了针对每个设计位置计算的机器人运动属性之外的附加信息。例如,在一些实施方案中,机器人调试成本度量可以包括与以下相关联的信息:将定位在工作单元中的机器人的特定型号;将定位在工作单元中的机器人的特定配置(例如,包括定制底座高度的配置与具有标准高度底座的配置);机器人的安装取向(例如,落地式底座与壁挂式底座与吊顶式底座);可能基于设计位置、机器人配置、机器人安装取向、机器人型号而异的不同的安装成本和/或操作成本;和/或类似。在另一个示例中,在一些实施方案中,寿命操作成本度量可以包括与以下相关联的信息:机器人的各个关节的不同更换成本、机器人的各个关节的不同磨损率、可以为每个设计位置完成一项或多项特定操作的速度、和/或类似。根据各种实施方案,设置模块110使这样的性能度量能够由用户实施,例如经由UI和搜索结果模块130生成的UI。因此,在一些实施方案中,一个或多个用户定义的性能度量经由设计输入101定义。
计算引擎120被配置为执行计算以生成用于合法体积(例如,合法体积230)中的每个设计位置的机器人运动属性以及用于每个设计位置的一个或多个用户定义的性能度量。通常,机器人运动属性和用户定义的性能度量基于设计输入101,诸如模拟参数、逆运动学求解器121的参数、一个或多个轨迹(用于机器人的部件和/或用于工件)和/或其他信息。例如,在一些实施方案中,与机器人工作单元相关联的特定机器人设置问题包括确定机器人的最佳或高性能位置。在这样的实施方案中,计算引擎120针对机器人工作单元中的每个设计位置模拟机器人部件和/或工件通过指定轨迹或在沿该轨迹的指定点的运动。在这样的实施方案中,机器人的运动可以通过逆运动学求解器121来模拟。在另一个示例中,在一些实施方案中,特定机器人设置问题包括确定工件相对于固定机器人位置的最佳或高性能位置。在这样的实施方案中,计算引擎120针对机器人工作单元中的每个设计位置模拟机器人部件通过指定轨迹或在沿该轨迹的指定点的运动。在这样的实施方案中,机器人的运动可以通过逆运动学求解器121来模拟。
在一些实施方案中,计算引擎120还被配置为确定机器人工作单元中的一些或所有设计位置的质量分数。在这样的实施方案中,计算引擎120基于多个用户定义的性能度量来确定质量分数。在一些实施方案中,质量分数基于多个用户定义的性能度量的加权组合。此外,在一些实施方案中,多个用户定义的性能度量中的每一个的值被归一化,例如到0和1之间的值。在这样的实施方案中,特定用户定义的性能度量的值被归一化在从所有设计位置确定的“最佳”值和从所有设计位置确定的“最差”值之间。例如,当以这种方式进行归一化时,可以将最佳值设置为1,将最差值设置为0,和将中间值设置为0和1之间的适当值。因此,在这样的实施方案中,尽管每个用户定义的性能度量通常可以具有显著不同的值范围,但各种用户定义的性能度量的归一化值允许公平比较和/或加权异种用户定义的性能度量。
在一些实施方案中,计算引擎120还被配置为确定有效和无效的设计位置。在一些实施方案中,不能满足可达性要求和/或与一个或多个奇异点相关联的设计位置被确定为无效设计位置,并且因此通常不被认为是用于解决机器人设置评估系统100正在分析的机器人显示问题的合格位置。附加地或替代地,在一些实施方案中,超过一个或多个限制的设计位置被确定为无效设计位置。在一些实施方案中,这样的限制与一个或多个机器人运动属性相关联,诸如机器人的某个部件的最大加速度限制、机器人的某个部件的最大加加速度限制、和/或类似。附加地或替代地,在一些实施方案中,限制与一个或多个用户定义的性能度量相关联,诸如最大能量消耗值、机器人特定部件的最小运动平滑度值、最大调试成本值、和/或类似。在一些实施方案中,这样的限制可以由用户在设计输入101中定义。
UI和结果搜索
UI和结果搜索模块130被配置为生成使用户能够输入设计输入101的UI。例如,在一些实施方案中,UI和结果搜索模块130配置有对话窗口、插件、下拉菜单、和/或使用户能够输入合法体积的尺寸、离散值和/或其他模拟参数、逆运动学求解器121的参数、用户定义的性能度量和/或类似的其他特征。
UI和结果搜索模块130还被配置为生成使用户能够评估机器人工作单元中每个设计位置的性能的UI。例如,在一些实施方案中,UI和结果搜索模块130被配置为显示机器人运动属性、用户定义的性能度量、和/或合法体积中的每个设计位置的质量分数。下面结合图3描述了一个此类UI的实施方案。
图3是根据各种实施方案的用于显示与机器人工作单元内的多个设计位置相关联的信息的图形用户界面(GUI)300的示意图。GUI300针对机器人工作单元中的每个有效设计位置301显示用户定义的性能度量的计算值302。在图3所示的实施方案中,没有为无效设计位置303显示计算值302。GUI 300使用户能够相对于特定的用户生成的性能度量容易地评估机器人工作单元的所有有效设计位置的性能。
在一些实施方案中,UI和结果搜索模块130还被配置为生成使用户能够相对于多个用户生成的性能度量来评估机器人工作单元中的每个设计位置的性能的UI。下面结合图4描述了一个此类UI的实施方案。
图4是根据各种其他实施方案的用于显示与机器人工作单元内的多个设计位置相关联的信息的图形用户界面(GUI)400的示意图。GUI 400针对机器人工作单元中的每个有效设计位置301显示第一用户定义的性能度量的计算值302和第二用户定义的性能度量的计算值402。因此,在图4所示的实施方案中,可以为每个有效设计位置301显示针对多个不同的性能度量确定的值,诸如调试成本与运动的平滑度,或机器人操作成本与机器人寿命。类似地,在一些实施方案中,GUI 400还可以被配置为显示与针对机器人单元中每个有效设计位置301的多个机器人运动属性相关联的信息。例如,在图4所示的实施方案中,GUI 400包括每个有效设计位置301的质量分数值403,其中质量分数值403基于有效设计位置301的计算值302和计算值402的组合。
返回图1,在一些实施方案中,UI和结果搜索模块130被配置为使用户能够细化由机器人设置评估系统100执行的特定研究的结果。在这样的实施方案中,由UI和结果搜索模块130生成的GUI显示机器人工作单元中的有效设计位置。此外,当用户在GUI中选择特定的有效设计位置102时,计算引擎120将包括和/或包围选定的设计位置的区域离散化成额外的更高粒度的设计位置,并确定针对机器人运动属性和用户定义的性能度量的与每个额外设计位置相关联的值。下面结合图5A和5B描述了一个此类UI的实施方案。
图5A是根据各种实施方案的用于显示机器人工作单元内的有效设计位置的GUI500的示意图。在图5A所示的实施方案中,GUI 500显示机器人工作单元550、合法区域530和工件位置515的平面图。在合法区域530内,GUI 500还显示机器人底座(未示出)的有效设计位置501、机器人底座的无效设计位置502和机器人底座的与机器人的至少一个关节的奇异点相关联的设计位置503。在一些实施方案中,设计位置503是无效设计位置502的子集。在图5A所示的实施方案中,合法区域530被描绘为地板或其他支撑表面的二维区域。在其他实施方案中,合法区域530包括三维区域,并且GUI 500可以以三维格式显示有效设计位置501、无效设计位置502和设计位置503。
图5B是根据各种实施方案在用户已经选择特定有效设计位置之后GUI 500的示意图。如图所示,响应于用户选择的特定设计位置521,计算引擎120在合法区域530内生成多个更高粒度的设计位置522。此外,计算引擎120执行计算以确定针对每个更高粒度设计位置522的机器人运动属性的以及一个或多个用户定义的性能度量的值。在图5B所示的实施方案中,特定设计位置521被更高粒度的设计位置522代替。附加地或替代地,在一些实施方案中,计算引擎120在与特定设计位置521相邻的有效设计位置501中生成更高粒度的设计位置522。在任一情况下,向合法区域530添加更高粒度的设计位置522提供了关于合法区域530的选定部分中的机器人运动属性和用户定义的性能度量的值的更详细信息。因此,在这样的实施方案中,即使合法区域530最初可以是粗略离散的解空间,但是用户也可以经由更紧密间隔的设计位置来评估合法区域530的某些部分。在这样的实施方案中,使用更高粒度的设计位置522来评估合法区域530的某些部分,用户可以降低遗漏可能无法经由更粗略间隔的有效设计位置501检测到的奇异点、无效位置和更高性能设计位置的可能性。
示例性实施方式
图6阐述了根据各种实施方案的用于生成和评估机器人工作单元解决方案的性能的方法步骤的流程图。例如,在一些实施方案中,机器人工作单元解决方案包括机器人的特定底座位置,或机器人的特定底座位置与特定机器人型号或设计的组合。在其他实施方案中,机器人工作单元解决方案包括工件的特定位置。
尽管结合图1至图5B的系统描述了方法步骤,但本领域技术人员将理解,被配置为按任何次序执行方法步骤的任何系统都在实施方案的范围内。
如图所示,计算机实现方法600开始于步骤601,其中机器人设置评估系统100接收定义机器人工作单元设置问题的信息,诸如设计输入101。通常,机器人工作单元问题包括确定机器人工作单元内的机器人底座位置或工件位置。在步骤602中,计算引擎120基于包括在设计输入101中的信息离散化机器人工作单元设置问题的合法体积(例如,合法体积230)。在步骤603,计算引擎120从离散的合法体积中选择特定的设计位置。
在步骤604中,计算引擎120确定是否存在与所选设计位置相关联的可达性问题,例如使用逆运动学求解器121。例如,当设计位置代表工件220的潜在位置时,计算引擎120确定机器人210是否可以到达潜在位置。在另一示例中,当设计位置代表机器人210的潜在机器人底座位置时,计算引擎120确定当机器人210被设置在潜在位置时机器人210是否可以到达工件220。当计算引擎120确定存在与所选设计位置相关联的可达性问题时,方法600进行到步骤610。当计算引擎120确定不存在与所选设计位置相关联的可达性问题时,方法600进行到步骤605。
在步骤605,计算引擎120确定所选设计位置的机器人运动属性的值,诸如与机器人210的一个或多个部件相关联的位置信息、速度信息、加速度信息、和/或加加速度信息。这样的信息可以由逆运动学求解器121生成。在步骤606中,计算引擎120确定在所选设计位置处是否超过任何机器人运动属性限制。例如,在一些实施方案中,最大允许加速度或加加速度值可以与机器人210的一个或多个部件相关联。当计算引擎120确定超过一个或多个机器人运动属性限制时,方法600进行到步骤610。当计算引擎120确定在所选设计位置处没有超过机器人运动属性限制时,方法600进行到步骤607。
在步骤607中,计算引擎120确定所选设计位置的一个或多个用户定义的性能度量的值,诸如调试成本、运动准确度、操作成本等。在步骤609中,计算引擎120确定在所选设计位置处是否超过任何性能度量限制。例如,在一些实施方案中,最大允许调试成本或最小允许运动准确度可以与机器人210的一个或多个部件相关联。当计算引擎120确定超过一个或多个这样的性能度量限制时,方法600进行到步骤610。当计算引擎120确定在所选设计位置处没有超过性能度量限制时,方法600进行到步骤609。在步骤609,计算引擎120确定所选设计位置的质量分数。在一些实施方案中,质量分数基于两个或更多个用户定义的性能度量。
在步骤610,计算引擎120使所选设计位置无效,例如由于与所选设计位置相关联的可达性问题、在所选设计位置处超过机器人运动属性限制、或在所选设计位置处超过性能度量限制。
在步骤620,计算引擎120确定是否有任何剩余的设计位置要评估。如果是,则方法600返回到步骤603;如果否,方法600进行到步骤630并终止。
在方法600完成后,用户可以查看、搜索和以其他方式访问用于特定研究的合法体积230中包括的每个设计位置的机器人限制属性、用户定义的性能度量和质量分数的值。然后可以重复方法600以进行额外的研究,例如通过量化不同机器人的性能或同一机器人工作单元中的机器人配置。因此,用户可以使用广泛不同的、用户定义的性能度量来量化和评估不同机器人在多个设计位置的性能。此外,如以上结合图5A和5B所述,用户还可以通过选择特定设计位置以增加离散化来细化特定研究的粒度。
示例性计算装置
图7是被配置来实现各种实施方案的一个或多个方面的计算装置700的框图。计算装置700可以是台式计算机、膝上型计算机、平板计算机或被配置为接收输入、处理数据、生成控制信号和显示图像的任何其他类型的计算装置。计算装置700被配置为运行机器人设置评估系统100、设置模块110、计算引擎120、UI和结果搜索模块130、计算机实现方法600和/或可以驻留在存储器710中的其他合适的软件应用。应注意,本文描述的计算装置是说明性的,并且任何其他技术上可行的配置都落入本公开的范围内。
如图所示,计算装置700包括但不限于连接处理单元750、耦接到输入/输出(I/O)装置780的输入/输出(I/O)装置接口760、存储器710、存储装置730和网络接口770的互连(总线)740。处理单元750可以是实现为以下的任何合适的处理器:中央处理单元(CPU)、图形处理单元(GPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、任何其他类型的处理单元或不同处理单元的组合,诸如被配置来结合GPU操作的CPU。一般而言,处理单元750可以是能够处理数据和/或执行软件应用(包括运行机器人设置评估系统100、设置模块110、计算引擎120、UI和结果搜索模块130和/或计算机实现方法600)的任何技术上可行的硬件单元。此外,在本公开的上下文中,计算装置700中所示的计算元件可对应于物理计算系统(例如,数据中心中的系统)或者可以是在计算云内执行的虚拟计算实例。
I/O装置780可包括能够提供输入的装置,诸如键盘、鼠标、触敏屏幕等等,以及能够提供输出的装置,诸如显示装置781。此外,I/O装置780可包括能够接收输入和提供输出两者的装置,诸如触摸屏、通用串行总线(USB)端口等等。I/O装置780可被配置来从计算装置700的终端用户接收各种类型的输入,并且还向计算装置700的终端用户提供各种类型的输出,诸如一个或多个图形用户界面(GUI)、所显示的数字图像和/或数字视频。在一些实施方案中,I/O装置780中的一个或多个被配置来将计算装置700耦接到网络705。
存储器710可包括随机存取存储器(RAM)模块、闪存存储器单元或任何其他类型的存储器单元或其组合。处理单元750、I/O装置接口760和网络接口770被配置来从存储器710读取数据和向存储器710写入数据。存储器710包括可由处理器750执行的各种软件程序和与所述软件程序相关联的应用数据,包括运行机器人设置评估系统100、设置模块110、计算引擎120、UI和结果搜索模块130和/或计算机实现方法600。
总之,本文描述的各种实施方案提供了用于量化和评估机器人工作单元的有效机器人设置解决方案的性能的技术。每个机器人设置解决方案的性能使用基于机器人运动属性的一个或多个用户定义的性能度量进行量化。机器人运动属性的值是通过为每个有效的机器人设置解决方案模拟机器人工作单元内的指定轨迹来确定的。
所公开的技术相对于现有技术的至少一个技术优势在于,利用所公开的技术,用户可以基于一个或多个用户定义的性能度量来评估针对机器人工作单元内的各种机器人或工件位置的机器人性能。例如,基于用户定义的性能度量的加权分数使用户能够客观地比较针对工作单元内每个有效机器人或工件位置的机器人性能。另一个优势在于所公开的技术可用于快速生成针对整个工作单元中的位置的解决方案。因此,用户可以迭代测试不同性能度量和/或性能度量的加权组合的显著性,并修改用于选择机器人或工件位置的性能度量。这些技术优势提供优于现有技术方法的一个或多个技术进步。
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.在一些实施方案中,一种非暂时性计算机可读介质存储有指令,所述指令在由处理器执行时使所述处理器执行以下步骤:确定工作单元体积内的多个位置,其中每个位置对应于可能的工作单元解决方案;对于包括在所述多个位置中的每个位置,基于与所述位置相关联的位置信息和与第一机器人的部件相关联的轨迹,确定所述第一机器人的第一机器人运动属性的值;对于包括在所述多个位置中的每个位置,基于所述第一机器人运动属性的所述值计算第一性能度量的第一值。
12.根据条款11所述的非暂时性计算机可读介质,所述步骤还包括,对于包括在所述多个位置中的每个位置,基于与所述位置相关联的所述位置信息和与所述第一机器人的所述部件相关联的所述轨迹确定第二机器人运动属性的值。
13.根据条款11或12所述的非暂时性计算机可读介质,其中所述第一机器人运动属性包括以下项之一:与所述第一机器人的所述部件相关联的扭矩、与所述第一机器人的所述部件相关联的位置、与所述第一机器人的所述部件相关联的速度、与所述第一机器人的所述部件相关联的加速度、与所述第一机器人的所述部件相关联的加加速度、与所述第一机器人相关联的碰撞指示器、与所述第一机器人相关联的到达指示器、与所述第一机器人相关联的奇异点指示器、或与所述第一机器人相关联的能耗。
14.根据条款11-13中任一项所述的非暂时性计算机可读介质,其中与在所述工作单元体积内的第一位置处的所述第一机器人的所述部件相关联的所述轨迹与和在所述工作单元体积内的第二位置处的所述第一机器人的所述部件相关联的所述轨迹相同。
15.根据条款11-14中任一项所述的非暂时性计算机可读介质,其中与在所述工作单元体积内的第一位置处的所述第一机器人的所述部件相关联的所述轨迹与和在所述工作单元体积内的第二位置处的所述第一机器人的所述部件相关联的所述轨迹不同。
16.根据条款11-15中任一项所述的非暂时性计算机可读介质,所述步骤还包括,在确定所述第一机器人运动属性的所述值之前,生成与在所述第一位置处的所述第一机器人的所述部件相关联的所述轨迹,并且生成与在所述第二位置处的所述第一机器人的所述部件相关联的所述轨迹。
17.根据条款11-16中任一项所述的非暂时性计算机可读介质,其中确定所述工作单元体积内的所述多个位置包括基于一个或多个用户输入值离散化所述工作单元体积。
18.根据条款11-17中任一项所述的非暂时性计算机可读介质,其中与所述位置相关联的所述位置信息包括指示所述第一机器人的底座相对于所述轨迹的位置的信息或指示工件相对于所述第一机器人的所述底座的位置的信息。
19.根据条款11-18中任一项所述的非暂时性计算机可读介质,其中所述第一机器人运动属性包括与所述第一机器人的所述部件的运动相关联的运动学条件或与所述第一机器人的所述部件的运动相关联的动力学条件。
20.在一些实施方案中,一种系统包括:存储有指令的存储器;和处理器,其通信耦接到所述存储器并被配置为在执行所述指令时执行以下步骤:确定工作单元体积内的多个位置,其中每个位置对应于可能的工作单元解决方案;对于包括在所述多个位置中的每个位置,基于与所述位置相关联的位置信息和与第一机器人的部件相关联的轨迹,确定所述第一机器人的第一机器人运动属性的值;和对于包括在所述多个位置中的每个位置,基于所述第一机器人运动属性的所述值计算第一性能度量的第一值。
任何权利要求中阐述的任何权利要求要素和/或本申请中描述的任何要素以任何方式进行的任何和所有组合都落在本发明和保护的设想范围内。
已经出于说明目的呈现了对各种实施方案的描述,但是这些描述并不意图是详尽的或限于所公开的实施方案。在不脱离所描述的实施方案的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。
本发明实施方案的方面可体现为系统、方法或计算机程序产品。因此,本公开的各方面可采用全硬件实施方案、全软件实施方案(包括固件、常驻软件、微代码等)或结合软件和硬件方面的实施方案的形式,所述软件和硬件方面在本文中可全部概括地称为“模块”、“系统”或“计算机”。另外,本公开中描述的任何硬件和/或软件技术、过程、功能、部件、引擎、模块或系统都可被实现为电路或一组电路。此外,本公开的方面可采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,所述一个或多个计算机可读介质具有在其上体现的计算机可读程序代码。
可利用一个或多个计算机可读介质的任何组合。计算机可读介质可为计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或装置,或者前述项的任何合适的组合。计算机可读存储介质的更具体实例(非详尽列表)将包括以下介质:具有一根或多根导线的电
气连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存5储器(ROM)、可擦可编程序只读存储器(EPROM或闪存)、光纤、便
携式光盘只读存储器(CD-ROM)、光存储装置、磁存储装置或前述介质的任何合适组合。在本文档的语境中,计算机可读存储介质可以是可含有或存储供指令执行系统、设备或装置使用或与其联用的程序的任何有形介质。
0以上参考根据本公开的实施方案的方法、设备(系统)和计算机程
序产品的流程图图解和/或框图描述了本公开的方面。应理解,流程图图解和/或方框图的每一个方框以及流程图图解和/或方框图的方框组合可以通过计算机程序指令来实施。这些计算机程序指令可提供给
通用计算机、专用计算机或其他可编程数据处理设备的处理器。指令5在经由计算机或其他可编程数据处理设备的处理器执行时使得实现
流程图和/或框图的一个或多个框中指定的功能/动作。这样的处理器可以是但不限于通用处理器、专用处理器、应用特定处理器或现场可编程门阵列。
附图中的流程图和框图示出了根据本公开的各种实施方案的系0统、方法和计算机程序产品的可能的实施方式的架构、功能和操作。
在这个方面,流程图或方框图中的每个方框可以表示代码的模块、区段或部分,所述代码包括用于实施所指定的一个或多个逻辑功能的一个或多个可执行指令。还应当指出的是,在一些替代实施方式中,方
框中提到的功能可以不按附图中提到的顺序出现。举例来说,连续展5示的两个方框实际上可以大体上同时执行,或者这些方框有时可以按
相反的顺序执行,这取决于所涉及的功能性。还应当指出的是,方框图和/或流程图图解的每个方框以及方框图和/或流程图图解中的方框的组合可以由执行规定的功能或操作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实施。
虽然前述内容涉及本公开的实施方案,但在不脱离本公开的基本范围的情况下可想出本公开的其他和另外的实施方案,并且本公开的范围由随附权利要求书确定。
Claims (20)
1.一种用于生成和评估机器人工作单元解决方案的计算机实现方法,所述方法包括:
确定工作单元体积内的多个位置,其中每个位置对应于可能的工作单元解决方案;
对于包括在所述多个位置中的每个位置,基于与所述位置相关联的位置信息和与第一机器人的部件相关联的轨迹,确定所述第一机器人的第一机器人运动属性的值;
对于包括在所述多个位置中的每个位置,基于所述第一机器人运动属性的所述值计算第一性能度量的第一值。
2.根据权利要求1所述的计算机实现方法,其还包括,对于包括在所述多个位置中的每个位置,基于与所述位置相关联的所述位置信息和与所述第一机器人的所述部件相关联的所述轨迹确定第二机器人运动属性的值。
3.根据权利要求1所述的计算机实现方法,其中所述第一机器人运动属性包括以下项之一:与所述第一机器人的所述部件相关联的扭矩、与所述第一机器人的所述部件相关联的位置、与所述第一机器人的所述部件相关联的速度、与所述第一机器人的所述部件相关联的加速度、与所述第一机器人的所述部件相关联的加加速度、与所述第一机器人相关联的碰撞指示器、与所述第一机器人相关联的到达指示器、与所述第一机器人相关联的奇异点指示器、或与所述第一机器人相关联的能耗。
4.根据权利要求1所述的计算机实现方法,其中所述第一机器人运动属性包括与所述第一机器人的所述部件的运动相关联的运动学条件或与所述第一机器人的所述部件的运动相关联的动力学条件。
5.根据权利要求1所述的计算机实现方法,其中所述第一性能度量基于所述第一机器人运动属性和第二机器人运动属性。
6.根据权利要求1所述的计算机实现方法,其中所述第一性能5度量基于所述第一机器人运动属性和第二机器人运动属性的组合,其中所述第二机器人运动属性是经由用户输入定义的。
7.根据权利要求1所述的计算机实现方法,其还包括,对于包括在所述多个位置中的每个位置,确定第二性能度量的第二值。
8.根据权利要求7所述的计算机实现方法,其还包括,对于包0括在所述多个位置中的每个位置,基于所述第一性能度量的所述第一值和所述第二性能度量的所述第二值的加权组合来确定质量分数。
9.根据权利要求1所述的计算机实现方法,其还包括:
对于包括在所述多个位置中的每个位置,基于所述位置的所述位置信息和与第二机器人的部件相关联的轨迹,确定所述第二机器人的5所述第一机器人运动属性的值;和
对于包括在所述多个位置中的每个位置,至少基于所述第二机器人的所述第一机器人运动属性的所述值确定所述第一性能度量的第二值。
10.根据权利要求9所述的计算机实现方法,其还包括:0对于包括在所述多个位置中的每个位置,基于所述第一性能度量的所述第一值确定第一质量分数;和
对于包括在所述多个位置中的每个位置,基于所述第二性能度量的所述第二值确定第二质量分数。
11.一种非暂时性计算机可读介质,其存储指令,所述指令在由处理器执行时致使所述处理器执行以下步骤:
确定工作单元体积内的多个位置,其中每个位置对应于可能的工作单元解决方案;
对于包括在所述多个位置中的每个位置,基于与所述位置相关联的位置信息和与第一机器人的部件相关联的轨迹,确定所述第一机器人的第一机器人运动属性的值;
对于包括在所述多个位置中的每个位置,基于所述第一机器人运动属性的所述值计算第一性能度量的第一值。
12.根据权利要求11所述的非暂时性计算机可读介质,所述步骤还包括,对于包括在所述多个位置中的每个位置,基于与所述位置相关联的所述位置信息和与所述第一机器人的所述部件相关联的所述轨迹确定第二机器人运动属性的值。
13.根据权利要求11所述的非暂时性计算机可读介质,其中所述第一机器人运动属性包括以下项之一:与所述第一机器人的所述部件相关联的扭矩、与所述第一机器人的所述部件相关联的位置、与所述第一机器人的所述部件相关联的速度、与所述第一机器人的所述部件相关联的加速度、与所述第一机器人的所述部件相关联的加加速度、与所述第一机器人相关联的碰撞指示器、与所述第一机器人相关联的到达指示器、与所述第一机器人相关联的奇异点指示器、或与所述第一机器人相关联的能耗。
14.根据权利要求11所述的非暂时性计算机可读介质,其中与在所述工作单元体积内的第一位置处的所述第一机器人的所述部件相关联的所述轨迹与和在所述工作单元体积内的第二位置处的所述第一机器人的所述部件相关联的所述轨迹相同。
15.根据权利要求12所述的非暂时性计算机可读介质,其中与在所述工作单元体积内的第一位置处的所述第一机器人的所述部件相关联的所述轨迹与和在所述工作单元体积内的第二位置处的所述第一机器人的所述部件相关联的所述轨迹不同。
16.根据权利要求15所述的非暂时性计算机可读介质,所述步骤还包括,在确定所述第一机器人运动属性的所述值之前,生成与在所述第一位置处的所述第一机器人的所述部件相关联的所述轨迹,并且生成与在所述第二位置处的所述第一机器人的所述部件相关联的所述轨迹。
17.根据权利要求11所述的非暂时性计算机可读介质,其中确定所述工作单元体积内的所述多个位置包括基于一个或多个用户输入值离散化所述工作单元体积。
18.根据权利要求11所述的非暂时性计算机可读介质,其中与所述位置相关联的所述位置信息包括指示所述第一机器人的底座相对于所述轨迹的位置的信息或指示工件相对于所述第一机器人的所述底座的位置的信息。
19.根据权利要求11所述的非暂时性计算机可读介质,其中所述第一机器人运动属性包括与所述第一机器人的所述部件的运动相关联的运动学条件或与所述第一机器人的所述部件的运动相关联的动力学条件。
20.一种系统,其包括:
存储器,所述存储器存储指令;以及
处理器,所述处理器通信地耦接到所述存储器,并被配置来在执行所述指令时进行以下步骤:
确定工作单元体积内的多个位置,其中每个位置对应于可能的工作单元解决方案;
对于包括在所述多个位置中的每个位置,基于与所述位置相关联的位置信息和与第一机器人的部件相关联的轨迹,确定所述第一机器人的第一机器人运动属性的值;和
对于包括在所述多个位置中的每个位置,基于所述第一机器人运动属性的所述值计算第一性能度量的第一值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/548,355 | 2021-12-10 | ||
US17/548,355 US20230182302A1 (en) | 2021-12-10 | 2021-12-10 | Techniques for robotic workcell design |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116257946A true CN116257946A (zh) | 2023-06-13 |
Family
ID=84462431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211558455.6A Pending CN116257946A (zh) | 2021-12-10 | 2022-12-06 | 机器人工作单元设计技术 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230182302A1 (zh) |
EP (1) | EP4194155A1 (zh) |
CN (1) | CN116257946A (zh) |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6526373B1 (en) * | 1999-10-08 | 2003-02-25 | Dassault Systemes | Optimization tool for robot placement |
US6470301B1 (en) * | 1999-10-08 | 2002-10-22 | Dassault Systemes | Optimization tool for assembly workcell layout |
US6847922B1 (en) * | 2000-01-06 | 2005-01-25 | General Motors Corporation | Method for computer-aided layout of manufacturing cells |
JP3797986B2 (ja) * | 2003-07-03 | 2006-07-19 | ファナック株式会社 | ロボットオフラインシミュレーション装置 |
SE0303145D0 (sv) * | 2003-11-23 | 2003-11-23 | Abb Research Ltd | Method for optimising the performance of a robot |
EP2212064B1 (en) * | 2007-10-01 | 2011-03-16 | ABB Technology AB | A method for controlling a plurality of axes in an industrial robot system and an industrial robot system |
EP2244866B1 (en) * | 2008-02-20 | 2015-09-16 | ABB Research Ltd. | Method and system for optimizing the layout of a robot work cell |
US9417625B2 (en) * | 2012-11-29 | 2016-08-16 | Fanuc America Corporation | Robot system calibration method |
US9672184B1 (en) * | 2013-06-24 | 2017-06-06 | Redwood Robotics, Inc. | Methods and systems for rapid configuration, calibration, and deployment of a modular robot workcell |
EP3100124B1 (en) * | 2014-01-28 | 2023-03-01 | ABB Schweiz AG | Method and apparatus for optimizing performance of robotic cell |
US9922144B2 (en) * | 2014-03-26 | 2018-03-20 | Siemens Industry Software Ltd. | Energy and cycle time efficiency based method for robot positioning |
US11501035B2 (en) * | 2018-09-06 | 2022-11-15 | The Boeing Company | Verification of robotic assets utilized in a production work cell |
TW202146189A (zh) * | 2020-01-22 | 2021-12-16 | 美商即時機器人股份有限公司 | 於多機器人操作環境中之機器人之建置 |
-
2021
- 2021-12-10 US US17/548,355 patent/US20230182302A1/en active Pending
-
2022
- 2022-12-06 CN CN202211558455.6A patent/CN116257946A/zh active Pending
- 2022-12-08 EP EP22212335.8A patent/EP4194155A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230182302A1 (en) | 2023-06-15 |
EP4194155A1 (en) | 2023-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9811074B1 (en) | Optimization of robot control programs in physics-based simulated environment | |
US9671777B1 (en) | Training robots to execute actions in physics-based virtual environment | |
US11325256B2 (en) | Trajectory planning for path-based applications | |
US10414047B2 (en) | Method and a data processing system for simulating and handling of anti-collision management for an area of a production plant | |
US20180036882A1 (en) | Layout setting method and layout setting apparatus | |
US20150277398A1 (en) | Object manipulation driven robot offline programming for multiple robot system | |
US11000950B2 (en) | Robotic motion planning | |
Chen et al. | Posture optimization in robotic machining based on comprehensive deformation index considering spindle weight and cutting force | |
JP2021534010A (ja) | 安全重視用途に関する産業ロボット動力学のシステム識別 | |
CN107238468A (zh) | 机械臂末端工具质心的辨识方法、装置、设备及存储介质 | |
CN104626205A (zh) | 机器人机械臂的检测方法和装置 | |
JP7222898B2 (ja) | ロボット製造での所定のターゲットへの到達をロボットにティーチングするための方法およびシステム | |
Talli et al. | Forward Kinematic Analysis, Simulation & Workspace Tracing of Anthropomorphic Robot Manipulator By Using MSC. ADAMS | |
Wong et al. | A novel clustering-based algorithm for solving spatially constrained robotic task sequencing problems | |
EP3753683A1 (en) | Method and system for generating a robotic program for industrial coating | |
US11886174B2 (en) | Virtualized cable modeling for manufacturing resource simulation | |
US20240066705A1 (en) | Interference Evaluation Device, Method, and Program | |
CN111890364B (zh) | 机器人的运动控制方法、装置、电子设备及存储介质 | |
Huckaby et al. | Modeling robot assembly tasks in manufacturing using sysml | |
CN116257946A (zh) | 机器人工作单元设计技术 | |
CN110948489B (zh) | 一种带电作业机器人安全工作空间限定方法及系统 | |
EP3978209B1 (en) | Generative design techniques for soft robot manipulators | |
CN117444991B (zh) | 动态路径规划方法、多机械臂平台结构及相关装置 | |
CN114750153B (zh) | 机器人机械臂的运动控制系统、协作机器人及存储介质 | |
CN114603552B (zh) | 一种机器人仿真方法、电子设备和存储介质 |
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 |