CN104010774B - 用于自动生成机器人程序的***和方法 - Google Patents
用于自动生成机器人程序的***和方法 Download PDFInfo
- Publication number
- CN104010774B CN104010774B CN201280055001.5A CN201280055001A CN104010774B CN 104010774 B CN104010774 B CN 104010774B CN 201280055001 A CN201280055001 A CN 201280055001A CN 104010774 B CN104010774 B CN 104010774B
- Authority
- CN
- China
- Prior art keywords
- processing
- workpiece
- chart
- state
- path
- 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
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000012545 processing Methods 0.000 claims abstract description 125
- 238000004088 simulation Methods 0.000 claims abstract description 51
- 238000010586 diagram Methods 0.000 claims abstract description 5
- 230000007480 spreading Effects 0.000 claims abstract description 5
- 238000003892 spreading Methods 0.000 claims abstract description 5
- 230000033001 locomotion Effects 0.000 claims description 122
- 238000005457 optimization Methods 0.000 claims description 67
- 238000013439 planning Methods 0.000 claims description 58
- 238000012360 testing method Methods 0.000 claims description 46
- 230000008859 change Effects 0.000 claims description 36
- 238000004458 analytical method Methods 0.000 claims description 24
- 238000012986 modification Methods 0.000 claims description 21
- 230000004048 modification Effects 0.000 claims description 21
- 230000011218 segmentation Effects 0.000 claims description 10
- 238000006073 displacement reaction Methods 0.000 claims description 5
- 241000208340 Araliaceae Species 0.000 claims 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 2
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 2
- 235000008434 ginseng Nutrition 0.000 claims 2
- 239000003607 modifier Substances 0.000 claims 2
- 238000010230 functional analysis Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 17
- 238000011156 evaluation Methods 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 21
- 238000000576 coating method Methods 0.000 description 19
- 239000011248 coating agent Substances 0.000 description 18
- 230000004087 circulation Effects 0.000 description 17
- 239000000463 material Substances 0.000 description 14
- 238000005070 sampling Methods 0.000 description 12
- 238000005498 polishing Methods 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000005259 measurement Methods 0.000 description 9
- 238000004140 cleaning Methods 0.000 description 8
- 230000007547 defect Effects 0.000 description 7
- 230000002349 favourable effect Effects 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012432 intermediate storage Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 239000007921 spray Substances 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 208000000058 Anaplasia Diseases 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000001351 cycling effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000776474 Patescibacteria group Species 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000010181 polygamy Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 239000000700 radioactive tracer Substances 0.000 description 1
- 238000013102 re-test Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000007592 spray painting technique Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 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/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
- 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/41815—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 the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
- G05B19/4182—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 the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell manipulators and conveyor only
-
- 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
-
- 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/39102—Manipulator cooperating with conveyor
-
- 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/45—Nc applications
- G05B2219/45065—Sealing, painting robot
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
本发明涉及一种用于自动通过计算机支持生成用于由工业机器人使用工具处理或加工工件的工作流程图的方法。根据本发明的实施方案,所述方法包括:提供包括用于已定义的目标位置中的工件且用于影响处理和/或加工的已定义处理参数的多个工件路径的初始图表,其中工具路径确定所述工具沿所述工件的所希望移动;定义描述影响所述处理和/或加工的可变参数值的状态空间,其中所述空间中的每个点表示可能参数值的具体组合;将所述空间离散化成个别状态;使用所述初始图表针对一个或多个离散状态仿真所述工件的处理和/或加工且根据可预定义准则评估所仿真的处理和/或加工结果;和迭代地修改所述初始图表,随后使用已修改的图表针对至少一个离散状态仿真所述工件的处理和/或加工且评估对应于一可预定义成本函数的仿真处理和/或加工结果。
Description
技术领域
本发明涉及一种用于自动编程并优化用于具有机器人控制器的工业机器人的机器人工作流程的***和方法。
背景技术
工业机器人通常是使用机器人编程语言来编程。编程结果是尤其关于具体机器人的移动命令机器人控制器的程序。编程机器人是耗时的过程。用于机器人的常规编程方法“在线”工作,即,机器人在操作期间(通过记录)“学习”所希望运动(“在线示教”),这假设机器人已经造好。为了节省时间和加速生产的开始,已研发出用于“离线”编程机器人的方法。从传统意义上来说,这通过使用在外部计算机上运行的内含(或替代地外部)仿真工具进行离线编程(OLP)来完成。编程的输出或结果是在仿真的帮助下验证的机器人程序。一旦完成仿真和离线编程,将机器人程序传送到实际机器人的控制计算机(机器人控制器)。
离线编程和仿真工具包括其尝试仿真的机器人和机器人控制器的描述。然而,仍需要更精确的机器人仿真,其不但重现机器人的移动而且重现程序执行,甚至仿真实际机器人可能发生的***错误。如果可能的话在现场努力避免针对新安装机器人增加任何昂贵的设备,且在生产时避免出现任何停止。基于这种要求,用于机器人仿真的仿真软件中包括实际机器人控制器的越来越准确的模型,这造成在仿真期间使用所谓的“虚拟机器人控制器”。虚拟机器人控制器是实际机器人控制器的足够准确的表示,其不但仿真机器人的移动而且仿真实际机器人程序的执行。出版物WO 03/059582和DE 11 2008 003 963T5描述了用于(例如)在虚拟机器人控制器的帮助下编程工业机器人的方法。
因此,为了使工业机器人沿所希望路径移动其工具中心点(TCP),机器人控制器需要合适的机器人程序。从传统意义上来说,为了控制工业机器人,通过定义工业机器人的所有轴值和/或轴位置或通过定义笛卡尔TCP坐标值(位置坐标x、y、z和角度坐标α、β、γ)且视情况定义要使用的配置(手肘以上/以下等等)或中间位置的额外轴值明确指示所有自由度,使得可明确确认机器人的位置。例如在现场通过在线示教(出于上文提及的原因这常常并非所希望或不可行)直接或通过上文提及的离线编程(同样其是在由机器人加工的工件的CAD模型的帮助下在计算机上(手动或半自动)执行)间接确定不同位置。通常,这样做的目的不是定义许多点,而是如在多种现有应用程序中(例如)只定义TCP的个别路径的开始点和结束点。然后由工业机器人的控制机构规划、内插并遵循沿这个路径的移动。例如,以下出版物中描述了机器人的各种已知路径规划方法:DE 60205928T2和Weihua Sheng等人发表在关于IEEE/RSJ智能机器人和***国际会议期刊(IROS 2000)第3卷第1918页至第1923页的“Automated CAD-guided robot path planning for spray painting ofcompound surfaces”;和Tapio等人1997年9月26日发表在SPIE期刊第3208卷第551页至第561页的“Model Based Interactive Path Planning for Surface FollowingRobot Tasks”。已知方法未充分支持涉及以尤其在编程期间必须考虑的额外自由度或变动(容许度)的形式增加复杂性的应用程序,例如:
(A)在编程机器人时必须考虑的工件的主动移动,例如,必须考虑(例如)工件将在输送带上移动同时机器人保持牢固安装(或工件将由另一机器人或致动器(回转倾斜工作台)定位或移动)的事实的情况,或
(B)影响机器人加工工件的结果的瑕疵,且必须针对所述瑕疵制定预防措施,即,必须生成即使存在这样的缺陷(其值/范围在编程期间未知)仍将保持稳定的程序。例如,当可能发生瑕疵或偏差(例如工件的形状或定位变动或其它处理参数的变动)时情况便是这样。
所有这些情况的共同之处在于,引入只有在难度极大的情况下方可考虑的额外自由度或变量,如果确实引入额外自由度或变量,那么便使用机器人的离线编程的已知方法。
发明内容
因此本发明的目标是实现“稳定”机器人程序的离线生成,尽管工件或处理参数变动在编程时未知且尽管存在额外自由度(诸如叠加工件的移动),所述程序仍可靠且可预测地操作。
这个目标是由根据本发明第一方面所述的方法而达到。所述方法的实施方案的实例和进一步发展是本发明其它方面的主题。
本文公开了一种用于自动计算机辅助生成用于通过使用工业机器人的工具处理或加工工件的工作流程图的方法和***。根据本发明的一个实例,所述方法包括以下项:准备初始图表,其包括用于已定义的目标位置中的工件且用于将会影响所述处理和/或加工的已定义的处理参数的多个工具路径,其中工具路径确定所述工具沿所述工件的所希望移动;定义状态空间,其描述影响所述处理和/或加工的可变参数值,其中所述空间中的每个点表示可能参数值的具体组合;将所述空间离散化成个别状态;使用所述初始图表针对一个或多个离散状态仿真所述工件的处理和/或加工且基于可预定义准则评估所仿真的加工和/或处理结果;和迭代地修改所述初始图表,且然后使用已修改的图表针对至少一个离散状态仿真所述工件的处理和/或加工且根据可预定义成本函数评估所仿真的加工和/或处理结果。执行迭代直到所述成本函数达到最小值或下降到阈值以下为止,且因此直到发现所述各自状态的优化图表为止。
所述方法还可包括:将用于所述迭代的优化图表和状态指派给第一组;使用所述优化图表针对另一离散状态仿真所述工件的处理和/或加工,且基于所述可预定义成本函数评估仿真的加工和/或处理结果;如果用于所述仿真的额外状态的所述成本函数下降到另一阈值以下,那么将所述额外状态指派给所述第一组;和如果用于所述仿真的额外状态的所述成本函数未下降到所述另一阈值以下,那么将所述额外状态指派给另一组。
最后,可针对所述额外状态使用已修改的图表执行所述优化图表的迭代修改和所述工件的处理和/或加工的后续仿真,其中基于所述成本函数评估所仿真的加工和/或处理结果。执行迭代直到所述成本函数已达到最小值或下降到阈值以下为止,且因此直到已发现用于所述额外状态的另一优化图表为止。将用于所述迭代的优化图表和状态指派给第一组。
在针对具体状态迭代修改图表之前,可通过仿真来确认是否将针对所述具体状态使用已优化的图表实现使所述成本函数下降到预定义阈值以下的加工和/或处理结果。
根据本发明的另一实例,所述方法包括以下项:准备初始图表,其包括用于具体目标位置中的工件且用于描述所述处理和/或加工的具体处理参数的多个工具路径,其中一个工具路径定义所述工具沿所述工件的所希望移动;定义状态空间,其描述所述初始图表的工具路径的可能序列和开始时间,其中所述空间中的每个点描述具有具体开始时间的具体序列;将所述空间离散化成个别状态;使用所述初始图表针对不同的离散状态仿真所述工件的处理和/或加工且基于可预定义准则评估所仿真的加工和/或处理结果;和迭代地修改所述初始图表,且然后使用所述已修改的图表针对至少一个离散状态仿真所述工件的所述处理和/或加工(考虑叠加所述工件的移动)且基于可预定义成本函数评估所仿真的加工和/或处理结果。执行迭代直到所述成本函数达到最小值或下降到阈值以下为止,且因此直到已发现所述各自状态的优化图表为止。
在迭代修改之前,可丢弃使用所述初始图表仿真的所述加工和/或处理结果不符合可预定义准则的所有状态。
也可指定机器人底座的运动模式,且在仿真期间可考虑这个运动模式。
本发明的一个实例也涉及一种用于基于包括由路径点定义的多个机器人运动的图表控制机器人以通过使用工业机器人的工具处理或加工移动工件的***和方法,其中每个路径点被指派所述工件的目标位置;在机器人运动的执行期间,所述方法包括以下项:测量所述工件的实际位置且确定其速度;针对所述机器人的当前位置使用所述工件的例如通过内插指派给所述路径点的目标位置来计算所述工件的当前目标位置;计算所述工件的目标位置与实际位置之间的差;和通过根据所述图表选择路径点或通过根据所述图表在两个路径点之间内插来确定所述机器人要到达的下一个目标位置和应到达这个位置的时间,使得所述工件的目标位置与实际位置之间的所述差降低或最小化。
附图说明
下文将在附图组中示出的实例的背景内更详细说明本发明。然而,本发明不限于所示出的实例。重点反而是描述本发明所基于的原理。附图示出了:
图1是工业机器人和已由机器人加工的工件的图,其中工具路径是通过机器人延伸在工件的表面上/沿工件的表面延伸;
图2是n个参数变动(n=2和n=3)的状态空间的示意图;
图3是示出了机器人与工件之间的偏移的图,由于偏移可到达工具路径上的个别路径点;
图4是示出了根据本发明的程序流程的一个实例的流程图;
图5详述了图4的程序流程的步骤II;
图6针对(考虑工件的移动的)第一替代详述图5的程序流程;
图7针对(考虑参数变动)第二替代详述图5的程序流程;
图8详述了图4的程序流程的步骤III;
图9针对第一替代(所有状态的一个图表)详述图8的程序流程;
图10针对第一替代(所有状态的P个图表)详述图8的程序流程;
图11是示出了图4的方法的步骤V(考虑额外维度“工件移动”的程序的在线执行)的程序流程的流程图;
图12是示出了图4的方法的步骤V(考虑“参数变动”的额外维度的程序的在线执行)的程序流程的流程图;
图13详述了图8至图10的步骤III的程序流程,左:移动规划(左)和右:仿真。
具体实施方式
在附图中,相同的参考符号用来识别具有相同或类似意义的相同或类似组件。
如简介部分中提及,路径规划和离线机器人编程的已知方法并不充分支持涉及以在编程期间必须考虑的额外自由度(例如叠加工件的移动)或变动(例如工件位置和/或处理参数的容许度)的形式增加复杂性的应用程序。
作为实例,以下描述将参考其中在机器人的帮助下处理(例如,涂布、清洗、抛光等等)工件的表面的应用程序。所提及的额外自由度是由(例如)要处理的工件在由机器人处理期间以线性方式移动(例如在输送带的帮助下)的事实所致。所提及的变动和/或容许度是(例如)工件的形状和/或位置与机器人程序的创建期间假设的目标值的偏差或其它处理参数与各自目标值的偏差。在机器人辅助涂布的情况下,这种类型的处理参数将包括(例如)每单位时间内由喷枪释放的涂布材料的体积和/或所述材料对工件的表面的粘附(所需喷射角度可基于所述粘附),且在机器人辅助抛光的情况下包括(例如)抛光期间由机器人施加于正抛光的工件的表面上的压力或材料与抛光介质之间的相互作用。一般来说,处理参数被理解为显著影响机器人执行的工作的结果的所有参数(例如上漆或清洗、抛光等等的质量)。
在详细说明用于生成稳定机器人程序的方法之前,将再一次讨论与上文提及的额外自由度(叠加工件的移动)和/或参数变动(工件的形状和位置、其它处理参数)相关联的问题。
在生产期间,工件通常通过自动输送装置(例如,高架输送带、卧地式输送带等等)不断输送或在工作间之间输送。在这个方面,将希望要加工的工件无需停止和/或无需从输送装置转向以执行编程应用程序和/或加工且反而可以预设速度向前移动。然而,重要的应用程序的编程(其中工件移动同时机器人底座本身固定安装(例如(线追踪技术))涉及在编程期间必须处理的增加的复杂性。
运用已知用于极简单应用程序的解决方案,机器人控制器通过移位其目标坐标***(从机器人的视角来看,工件的坐标***)用输送带的向前运动信息补偿工件的移动。因为坐标***的纯粹移位不包括核对碰撞,所以这种途径要求已在工作间本身的构造期间保证的免于碰撞。例如,这可通过安装机器人而实现使得当机器人执行来自开放区(例如来自上方)的应用程序时,其向上移动到正在移动的工件。这种方法不适合于其中尤其当工具跨工件的表面移动或涉及复杂工件时要求机器人在工具与工件之间建立延长接触的应用程序,因为事先无法保证机器人(例如,机器人的肘)在一段延长时间段内和工件的延长移动内将不会与工件碰撞。
对于更复杂任务,加工移动工件的能力涉及将机器人(即,机器人底座)置于辅助轴上,辅助轴将会使机器人与工件在应用程序的宽或临界范围内同步移动。这个应用程序因此对应于静止工件的应用程序,其缺点是需要额外轴、成本、空间和维护。为加工移动工件,在许多情况下,能够使机器人沿工件的移动方向移动的额外轴可能是必要的。然而,如果机器人不一定与工件同步且以相同速度移动,那么通常可获得更好结果。然而,不能完成或只有在难度极大的情况下使用离线机器人编程的常规方法才可完成不同步情况。
除了工件的(已知本身)移动以外,通常必须考虑先验的(priori)未知参数变动。这意指在生产期间,相关参数(例如,工件形状和位置、额外处理参数和在移动式机器人的情况下,机器人本身的位置和运动)发生波动、变动和/或瑕疵和因此偏离理想状况(即,已知目标值),其中如果其超出可允许范围,那么其可损坏应用程序的可执行性或结果的质量。然而,自动生成的机器人程序应尽可能稳定,即,相关机器人程序的执行必须提供对应于个别或组合变动/波动/瑕疵的最广泛可能范围的质量准则的处理结果。涉及这些额外复杂性的应用程序的编程未得到离线编程的已知方法的充分支持,因为在编程期间必须考虑不可预见(确定性或统计)的波动。
通常,直到编程之后(即,在***的操作期间)通过测试或仿真成品程序,方才确定应用程序将取决于何种变动而提供所希望结果。然后必须符合这些容许度限制,且必须使用(例如)适当的传感器验证这些容许度限制。如果值落在容许度限制以外(例如,如果工件的位置不在预定义“允许”区域内),那么应用程序将不会开始。因为通过常规方法只可能编程较不稳定的程序且因为各种瑕疵的编程极为耗时,所以必须以高代价来保持低容许度限制或应用程序将必须中止的频率大于稳定程序所必需的中止。
简化预先规划
关于增加的复杂性(由于在机器人的编程期间要考虑机器人的编程时产生的参数变动和/或额外的自由度),以下提供用于生成机器人程序的自动方法。首先,以“经典方式”基于理想情况规划工具路径,即,假设所有参数变动为零且工件的形状和位置对应于各自目标值。还假设工件是静止的。对于这种情况,本领域一般技术人员可使用多种(自动和半自动)路径规划方法。当完成这种路径规划时,结果是“图表”,即,目标坐标***内的TCP(和因此工具)的目标轨迹的定义,在正常状况下所述定义可易于转换为机器人程序。图1中通过实例方式示出了这种情形。示出了在静止底座11上具有6个自由度的操纵器10。TCP 12固定工具(例如,用于涂布程序的喷枪)。在示意示出的工件20上,显示所规划的路径21,其是例如以蜿蜒模式相互连接。取决于应用程序,路径还可能必须总是在相同方向上行进。
所规划的路径整体表示用作以下步骤的开始点的图表。这些数据也可取自已存在的机器人程序,在这种情况下程序被转换为工件坐标中的工具路径21。如以下描述,然后自动考虑额外复杂性(工件的叠加移动、参数变动)。
图表的初步分析/快速测试
对于其中考虑工件的形状和位置的变动和其它参数变动的情况,对参数变动和/或瑕疵的各种组合仿真原始图表,以确定对于相关情况(即,路径在不碰撞情况下可行)是否可原则上实施图表且实施这些路径的程序的结果是否将符合预定义质量准则(例如,涂布材料的充分涂敷、抛光期间足够的压力等等)。为进行仿真,可使用(例如)具有虚拟机器人控制器(例如“真实机器人仿真”、RRS等等)的虚拟工具。选取所提及的不同参数变动组合使得覆盖可能参数变动的整个范围(尤其在“最坏的情况”下)。换句话来说,离散化参数变动的状态空间。状态空间中的每个离散点是由具有具体参数变动的n元组表示。在图2中,示出了两个参数(n=2,图2a)或三个参数(n=3,图2b)的变动。图2a示出了(例如)x方向和y方向上工件的位置与目标位置的偏差作为参数变动。状态空间中的原点将因此是工件的理想位置(目标位置)。图2b示出了对三个参数的相同情况。一般来说,参数变动的状态空间是n维。如果离散化状态空间使得除了目标位置以外只考虑最小值和最大值的组合,那么获得3n种不同状态(参数变动的状态空间中的点)。(替代地或此外)考虑平均偏差,这些离散状态的数量是2n。替代地(对于快速考虑)可绘制从原点到状态空间的个别轴的最大距离,这得到2n+1种状态(包括原点)。然而,其中离散化参数变动的状态空间的具体方式不相关;关键只在于:充分“采样”参数变动的状态空间的关注区域使得关注状态空间的“采样”在个别参数变动的所有可能组合中被考虑。对参数变动的每个离散状态执行原始图表的上文提及的验证(称作“快速测试”)。对于每种状态,确定在快速测试中是否可实施原始图表(可行且无碰撞)且确定在所规划路径和/或加工工件的哪些区域中,程序的结果将符合先前定义的质量准则(例如,抛光期间的接触压力是在定义范围内,材料涂敷是在目标厚度范围内等等)。
如果还必须考虑叠加工件的移动,那么将对各种不同“状态”仿真原始图表,以确定对于各自情况是否可原则上实施图表(即,路径可行且不碰撞)且沿路径的程序的结果是否将符合预定义质量准则(例如,涂敷充分的涂布材料、在抛光期间的足够压力等等)。在这种情况下,状态不是参数偏差的具体集合(n元组),反而是路径的具体序列和与其相关联的加工的开始时间和视情况机器人底座的具体预定义叠加移动(假设这样规划)。图3中示出了这种情形。直线示出了工件与机器人底座之间的线性升序偏移(在工件与机器人底座之间以恒定相对速度线性升序偏移)。此外,对于每个工具路径(图1中的参考符号21),绘制出对于何种偏差,机器人可在无碰撞的情况下到达各自路径的个别(循序)点(垂直线)。假设相对速度恒定,可调整直线的斜率(对应于速度)、直线的偏移(对应于初始偏移)和路径的序列和相关开始时间(如果程序允许,和实施方向)。“状态”对应于(例如)斜率、偏移和具有相关开始时间的路径序列的具体组合。其中所有垂直线与直线交叉的状态是令人满意的,因为在原则上所有路径是可行的。对于任何数量的状态这可通过快速测试加以验证。对于每种状态,还可确定在哪些区域中满足预定义质量准则且在哪些区域中不满足预定义质量准则。在其中可移动机器人底座逐渐与输送带同步移动的情况下,直线也可近似表示锯齿形曲线的形状。在自由选择机器人底座的(线性)移动的情况下,偏移与时间之间的关系(不是直线)可大部分是时间的随机函数(在基于速度和加速度限制的斜率和曲率方面受限制)。如果固定地安装机器人,那么将由输送带的移动确定直线的斜率,然而这被预定义为规则且不能更改。
因此所述方法的所描述实例的前两个步骤可总结如下。首先:准备关于工件的程序序列的图表。这个图表包括工具在(工件的)目标坐标***中的路径数据且可取自(例如)以常规方式规划的机器人程序,其中编程期间不考虑工件的参数变动或额外自由度。在这个步骤中,还规定额外轴是否且将如何移动机器人底座。其次:定义状态空间,其表示(在瑕疵/容许度限制的情况下)要考虑的参数变动或(如果工件正在移动)工具路径的序列和相关开始时间以及开始时间(或机器人底座与工件之间的开始偏移)。在离散化之后,个别状态经历快速测试,其中验证是否(对于各自状态)可原则上执行第一步骤中预定义的图表(即,可到达所有路径)且程序的结果是否(且在沿着工具的那些点上)将符合预定义质量准则。
具体数量或具体部分(表达为百分比)的路径不可行和/或不可执行(或只是非充分可行和/或非充分可执行)或程序的结果在足够大的工件区域内将不符合质量准则(预定义阈值)的状态由于这种评估而将会被丢弃且将不会在下一个步骤中进一步处理。如果无“可用状态”或(在其中要考虑参数变动的情况下)如果保留的可用状态的数量不足(大于最小值),那么可推断出第一步骤中准备的图表基本上不合适。剩余状态在状态空间中定义第一步骤中准备的图表原则上合适且可通过修改转换为可实践图表的区域。取决于所述方法的实施方案(如果此时必须丢弃状态),也可中止程序以在第一步骤中准备替代初始图表。在快速测试之后,(取决于所述方法的实施方案),可将(剩余、未丢弃)状态分组。通过将其中类似缺陷在工件的相同区域中发生的状态分类在同一组中来执行分组。工件的相同区域中的相同缺陷意指(例如在抛光工件表面的情况下)对于(例如)抛光期间的接触压力总是不足的状态来说,在工件的“左前侧”区域中。类似于涉及涂敷涂布材料的实例:在这种情况下可发生(例如):在某些状态的某些边缘区域中,涂布材料的涂敷太厚或太薄,因为(例如)TCP无法使路径延伸,不再能够使路径以正确角度延伸或不再能够使路径以正确速度相对于表面延伸。因此,也将这些状态分类到一组中。因此,上文描述的快速测试分析离散状态。取决于应用程序/目标,确定是否将具体状态的图表作为不可用而丢弃的准则(“准绳”)可大为不同。在其中要考虑参数变动的情况下,即使可以在实际上丢弃状态的图表之前接受相对更“差”的结果(在后续步骤中的强优化要求下),而在其中要考虑工件的移动的情况下,准绳可保持明显更高(即使最后只留下一种状态)。因此差值产生,因为:(1.)在其中要考虑参数变动的情况下,在不修改的情况下,图表将通常绝不会对所有状态“OK”,(2.)在后续步骤中,还可生成多个图表(例如,每个具体组具有一个图表),和(3.)在后续步骤中(在详细规划/优化/验证之后的步骤),目标一般是对尽可能多的状态(优选地对于所有状态)生成可用图表。更多地使用“中止”选项,因为(当太少状态可获得令人满意的结果时)通常更有利于再次重新开始并修改初始图表。在其中要考虑工件的移动的情况下,理论上一种可用状态(即,具有开始时间的路径的可用序列等等)足以生成图表。多种状态增加概率和/或在某些境况下可在比较之后提供更好的结果。
优化和验证
在上文未描述的第三步骤中,已使用快速测试进行测试且对各种状态进行分析的图表,用作另一优化步骤的“初始解决方案”。
在先前快速测试中实行分组时,通常可通过优化(即,使用优化图表)改善结果。这样做的目的可能是为了识别尽管存在瑕疵和/或参数变动和/或尽管工件移动仍令人满意地运行的优化图表。在其中必须考虑可能参数变动的情况下,目的也可能是为了对可能参数变动/瑕疵的不同子区域发现多个不同优化图表。例如,可对先前快速测试中定义的每个组生成一个图表。在图表的稍后实际实施期间,使用传感器(例如,照相机、激光扫描仪、光区段传感器等等)测量工件且识别参数变动的状态空间中的偏差“位置”。取决于其中实际上发生瑕疵和/或参数的子区域,使用对相关区域优化的图表(和/或基于相关区域的机器人程序)。
在上文提及的优化步骤中,快速测试中识别的“初始解决方案”中的整个程序(即,例如由机器人执行的涂布或抛光程序)完全是在虚拟机器人控制的帮助下而仿真,且在(例如)成本函数的帮助分析结果。这个成本函数中使用不同变量(视情况加以不同权重),例如无法延伸的路径的部分(以百分数形式)、其中超过或低于上文提及的质量准则的工件表面的百分比、超过加速度限制等等。这种优化的目地是为了最小化这个成本函数。为了实现这种最小化,可以各种方式适应初始图表。例如,可修改路径的序列和相关开始时间和图表的实施的开始时间(和/或机器人底座与工件之间的初始偏移),可调整工件沿路径的速度,可(在预定义限制内)调整路径在工件表面上的位置,可调整工件与工具(例如,喷枪)之间的距离和工具相对于表面的角度位置。通过迭代地适应且然后仿真图表,因此可最小化成本函数且可识别在这种意义上最优的图表。用于修改图表的提及的选项被理解为实例且并非详尽列举。此外,并不是所有列举的选项均是强制性的。还可以作出尝试以(例如)在不再次修改路径的序列(快速测试期间已确定)的情况下仅仅通过改变路径的开始时间和延伸速度来生成有效修改/优化图表。
转换为机器人程序
在第四步骤中,一旦识别足够令人满意的图表,即将这些图表(其所有或一些)转换为一个或多个可执行机器人程序(移动、切换点、信号、等待等等)且和关于要考虑的额外复杂性的信息(例如,每个路径开始和结束时或对于路径内的每个路径点来说输送带的所希望向前行进或各自图表整体有效且可被实施的瑕疵/参数变动的区域)存储在一起。
实例
用于机器人的优化工作流程(图表)和/或对应机器人程序的计算机辅助自动(计算机辅助)生成的上文描述的方法在研发阶段期间提供了以下优点:只有在简单情况下才需要考虑规划工程师或所使用的自动OLP或规划工具,且从针对简单情况研发的图表开始自动考虑额外复杂性(由叠加工件的移动或参数变动的考虑所致)。在下文中,将在可一般化实例的背景下更详细说明迄今为止只概括描述的程序。
实例1:第一实例解决其中(预定义)移动叠加工件的情况。一般来说,工件可以预定义方式移动N个自由度。同时,机器人底座可(同样以预定义方式)随时间移动。在以下实例中,通过直线输送带(例如,输送带,N=1)移动工件。
在第一步骤中,以已知方式(在目标坐标***中的工件坐标中)规划或指定机器人的所希望工作任务的工具路径使得工件(和机器人底座)好像静止一样。替代地,可读取常规生成的机器人程序并将机器人程序转换为工件坐标***中的工具路径。“常规生成”被理解为尤其意指编程是基于静止工件的上文提及的假设。在大部分情况下直线输送带的移动是由生产序列固定地预定义,且在大部分情况下不会受到影响。在任何情况下,这个步骤中(视情况根据预定义参数)定义输送带的移动。同时,建立用于处理这种额外复杂性(由工件的移动所致)的“策略”。实际上,所述策略本质上存在三个选项:首先,机器人安装在位置固定的机器人底座上,其次,机器人安装在具有固定预定义运动模式的(至少)一个辅助轴上,或第三,机器人安装在具有可自由规划的运动模式的一个或多个辅助轴上(视情况,还可建立优选行为,诸如(例如)最小加速度、最小路径或最小能量或与输送带移动同步的移动)。在第三种情况下,可首先预定义这种移动,且还可在后续优化步骤中修改这种移动。如果预定义工件的移动且定义机器人底座的移动,那么还定义机器人底座与工件之间的相对移动和因此机器人底座与工件之间的(时间相依的)偏移。
在这样做(第二步骤,快速测试)之后,如上文描述在快速分析中确定要考虑的额外复杂性(即,由工件叠加的移动)对应用程序(即,所提出的图表的执行)的影响。离散化状态空间,其中在本实例中,离散状态中的每个表示工具路径的具体序列和具体开始时间(开始偏移)。就其而言,每个个别工具路径(参见图1,参考符号21)由工具路径上的所谓路径点细分,这将个别路径细分为路径分段。这种细分加以固定预定义,但是必要时仍可在后续优化步骤中加以修改。因此路径是由其全体路径点定义。对于先前提出的图表的每个工具路径(参见图1,参考符号21),执行测试和/或仿真以确定对于哪些离散(开始)偏移值来说可实现各自工具路径上的个别路径点(或分段)。为了说明目的,在举例而言在图3中所示的图中,可将结果记录为(偏移)Y轴上的垂直实线或虚线。基于工具的目标速度和两个相邻路径点之间(各自工具路径的分段)的路径的长度(6维配置空间中),确定/估计就时间(图3的图中的水平方向)来说这些垂直线(表示可允许的位移)相隔的距离。在连续工具路径(参见图1,参考符号21)的最后一个路径点与第一路径点之间,将机器人在路径之间移动所需的估计或仿真时间考虑为(X-)时间轴上随时间变化的距离。这种随时间变化的距离表示一旦工具路径完成延伸机器人开始延伸下一个工具路径所需的时间。例如,两个工具路径的延伸之间的机器人的肘配置的再配置(从“肘部向上”到“肘部向下”)可能是必要的。如果必要,那么机器人还在两个路径之间等待直到下一个路径开始延伸的时间为止。输送带的目标速度(和/或运动模式)同样地得到图3的图中随时间变化的曲线。如上文已讨论,当以恒定速度相对移动时,这个曲线是在偏移轴和时间轴上方呈对角线延伸的直线(见图3)。
基于仿真值(即,基于路径点与个别工具路径之间的随时间变化的仿真距离),工具路径的一个或多个有利(即,基于已建立的质量准则而评定为合适)序列和相关开始时间定义如下:通过改变工具路径(=工具路径)的序列和开始时间和视情况其执行方向,寻找其中工件的运动曲线(图3中呈对角线延伸的直线)与所有路径的个别路径点(表示可允许的偏移)的垂直线交叉的配置(状态)。其中工件的运动曲线仍与路径的所有路径点的垂直线(理论上各自路径点的可能偏移值)交叉的最大偏移和最小偏移还定义各自路径的时隙(或变换窗)。在这个窗内,可由机器人(根据快速测试)延伸各自工具路径。
在建立个别工具路径的序列和开始时间时,(例如)可最大化输送带的运动曲线上的个别交叉点与工具路径的可允许偏移的结束点(绘制在Y方向上)(或与时隙边缘)的距离。替代地,还可最大化与最近可能结束时间的距离。在第二种情况下,工具路径还可结合滞后时间延伸,此时如果机器人需要更多时间来进行(后续)全动态仿真(详细规划/优化/验证)和实际执行,那么解决方案保持可执行。视情况还可最大化个别工具路径之间的(随时间变化的)距离(缓冲时间)。如果未发现任何可执行序列或如果所识别的序列的剩余时间缓冲(路径的执行时间与时隙之间随时间变化的距离)小于最小阈值,那么在后续详细规划/优化时极有可能将不会识别任何有效图表,或只识别随着涉及时间的瑕疵(例如,输送带的速度变动)已降低而不稳定的图表。在这些情况下,将中止所述程序,且将会发送消息返回到开发者(或自动OLP工具),所述消息是无法实施在不考虑额外复杂性的情况下事先定义的策略(例如,选择具有固定底座的机器人或机器人底座的已定义运动模式)和/或工具路径。此后,必须提出一种新的和/或修改的初始图表和/或必须调整机器人底座的移动,此时重启自动程序。在一个有利实施方案中,指示用于支持手动重新规划/修改的最佳可能序列,包括已被分析为临界/不可规划的所述路径。
在现在将描述的后续优化步骤(以循环方式陆续进行)中改善、优化和评估最初在第一步骤中规划的工具路径(“初始图表”)和其在第二步骤(快速测试)中识别的合适状态(序列和开始时间)。在这个步骤中,使用工作间中的动态机器人模型(考虑有限加速度、速度)在具有虚拟机器人控制器的虚拟机器人的帮助下仿真每个个别路径的精确机器人移动和这些移动之间的中间移动,所述动态机器人模型由于工具的同时移动而随时间变化。在优化期间,对应于工具路径(包括个别路径的延伸之间的时间)且在小的(可定义)范围对应于要延伸的路径的移动的开始时间和延伸速度(根据已知算法)自身加以修改,其目的是最大化仿真期间针对以下准则获得的(估计)值:可延伸工具路径的长度(以百分比表示)和/或其中(精确仿真的)延伸工具路径的程序仿真产生积极的处理结果(移除的材料不是太多和/或太少,也不超过参数,诸如(例如)接触压力……)的工件的表面的百分比。在这种情况下,在程序仿真期间,优化图表的各自结果(例如,清理的情况下的清理效果:已清理、未清理、不确定等等)和工件的表面的描述(例如,CAD数据)存储在一起。在所述方法的一个实施方案实例中,使用规划或优化算法调整工具的位置(和因此机器人关于表面的位置)使得最大化其中符合质量准则的相关工件表面的百分比。对“间隙”或“缺陷”(例如,涂布、抛光等等期间)加以更重权重,使得其将优选地被封闭且实现连续区域。可使用负值(其影响分析处理结果的测量)或仅仅使用其对处理结果的负面影响来评估丢弃的移动(例如,路径和/或个别路径分段)。作为另一优化准则,可规定循环时间(即,机器人在所述程序内所需的完整工作时间)将维持、保持低于最大时间或进一步最小化。非常一般地说,维持成本函数的任何最小化相同于与成本函数互补的效用函数的最大化。如果成本函数被最小化,那么互补效用函数自动被最大化。
从工具路径可知,使用逆向运动学对所有规划路径点计算目标时间点的每个机器人轴的目标位置和目标速度。运动规划是基于(例如)概率统计方法(例如,“快速搜索随机树”RRT或“概率路线图”PPM等等),其寻找状态空间中的开始位置与结束位置之间的连接(例如,其接合角和速度以及时间),其中路径点是连接路径分段的开始点和/或结束点。然而,在本文描述用来处理移动工件的方法中,必须考虑运行期性能和轴的速度和加速度的限制。此外,其中寻找(上述)已知方法的状态空间受限制,因为考虑对于每种状态仅位置和速度的有限的额外调整是可能的。因此,对于每个路径点i,针对远距路径点i的最大负和/或正加速度的限制情况预测每个轴的状态(位置和速度)直到下一个路径点i+1的时间为止。此外,在当前路径点i上的状态可知,规定至路径i-1上的状态的移动(最大加速度)的两种极端情况。每个轴的可允许状态可只落在两个极端路径之间—即,在最小值与最大值之间延伸的区域中。只有当跨两个路径点之间的整个分段存在重叠区域(对于所有轴)时,从路径点i向前和从路径点i+1向后的这些区域在就加速度和速度而言遵守轴的实际限制的状态中发生变化。因为状态空间中(根据已知方法)规划的后续路径可只寻找在这个重叠区域中的状态连接,所以这个规划之前是根据已知方法的优化,其a)最大化重叠区域且b)将负值(无效)附至状态空间的“收缩”。出于这个目的,作为规划的部分,就轴位置和轴速度以及达到轴位置和轴速度的时间修改状态,其中每次变化均被指派成本(成本可根据程序变化,且因此(例如)在基于接触的清理的情况下,工具的位置比速度更具决定性,且在涂布的情况下,通常维持表面上方的工具速度更重要)。
在以此方式限制的这种状态空间中,根据已知(例如,PRM、RRT)方法规划并仿真精确的无碰撞运动。当计算时间充足时,在本文描述的方法的一个实施方案实例中,仿真以此方式精确预测的机器人的运动过程。如参考表面描述般存储结果,且按需要(质量准则是在目标范围内)加工的区域的百分比用作最大化准则。
优化在序列的结果令人满意、收敛减缓或超过迭代次数时结束。取决于实施方式,可测试先前快速测试中识别的所有“状态”(具有路径的开始时间的序列),或当获得第一个令人满意的结果时,可中断循环。
如果快速测试(具有开始时间的序列)中预先规划的任何一种状态均未发现可用解决方案,那么所述程序将返回到第一步骤,且必须提出一种新的初始图表。根据本文描述的方法的一个实施方案实例,报告丢弃图表的原因(即,无法延伸的工具路径(的部分)或其中程序产生令人不满意的结果的工件上的区域)(和促成这种情况的工具路径)。
在详细规划/优化/验证之后的步骤中,生成机器人程序(可在实际机器人控制器上运行)且机器人程序具有关于增加复杂性“工件的移动”的额外信息。出于这个目的,(例如,在相等时间间隔或相等路径长度中)离散化机器人的规划移动且将其存储为路径点(“点对点”PTP、样条等等),包括速度和达到这些路径点的输送带的目标位置(或可经由输送带的路径编码器值测量的目标时间或工件位置)的指示。在静态环境中(工件是固定的),将足以定义路径,即,定义要跟从哪些路径点(视情况定义速度)。对于本文描述的情况,还定义必须何时到达各自路径点。例如,在输送带具有完整确定性性质的情况下,可定义将到达路径点的时间。例如,在输送带变动的情况下,定义其中到达路径点的输送带的位置。
有利的是,以两个部分输出程序:a)(机器人轴或TCP的)位置和速度以及(工件或)输送带的相关目标位置的列表,其中后者可能比机器人控制器用来执行所需的更紧密地离散化,和b)呈循环形式处理程序,其读取输送带的当前实际值(位置和速度)且基于此,从来自(a)的列表选择或内插机器人的下一个目标位置,且基于输送带的当前速度和机器人运动关于输送带移动的进展(领先、落后)根据已知控制原理(在最简单的情况下,PID控制器)增加、降低或维持速度。在这个实施方式的帮助下,(1.)补偿机器人运动的规划的不精确(尤其是机器人动力和控制的模型的错误)和(2.)使机器人的速度适应可能波动或交替的输送带速度(甚至适应传送带完全停止或转向点)。关联到(输送带或)工件的移动的程序载入到机器人控制器中或立即被存储且可用于在线执行。
上文描述的本发明的方面因此可一般总结为一种用于控制用于通过工具处理或加工移动工件的机器人的方法。在这个过程中,机器人根据由多个直通路径点定义的图表执行移动。如提及,每个路径点被指派工件的目标位置。在机器人移动的执行期间,测量工件的实际位置且确定其速度。基于机器人的当前位置使用工件被指派给路径点的目标位置计算工件的当前目标位置。这还可通过(例如)内插而实现。计算工件的目标位置与实际位置之间的差。基于所述差,确定机器人要到达的下一个目标位置(路径点)和到达这个位置的相关时间(这可通过定义工具的路径速度来完成,藉此确定到达路径点的时间)。出于这个目的,根据图表选择路径点或通过图表的两个路径点之间的内插来计算某个点,使得在下一个路径点处工件的目标位置与实际位置之间的当前差将降低或最小化。
对于程序的实际在线执行(和时间无关),传感器获取关于工件由于输送带的移动的信息(位置和速度)。基于在程序的执行期间所测量的输送带移动是领先或落后于所规划的移动,可增加或降低程序的(每个位置/工件的)速度值。在使用路径的紧密离散化将程序分为两个部分的所描述有利实施方式中,还可基于输送带的瞬时速度和输送带是领先或落后重新计算/内插下一批位置值直到当输送带静止时不会随时间变化的位置值的计算或来自先前时间(当输送带正向后移动时)的位置的计算为止。
实例2:在第二实例中,必须考虑在自动化期间,工件或机器人的位置或移动可能发生偏差或处理参数可能发生偏差/瑕疵/变动(涂布材料的数量或粘附、研磨介质效率、清理效率、灰尘的数量或粘附发生偏差)(下文称作参数变动)。在执行之前或期间可部分测量参数变动的实际值,但是在规划时不会已知所述实际值(只已知变动范围)。上文已进一步讨论涉及这种情况的问题和用于考虑参数变动以为机器人生成稳定图表的基本程序。
在第一步骤中(如在实例1中),工具路径(工件坐标***中)在不考虑参数变动的情况下(即,理想情况)被规划或指定或从现有程序读取并转换。此外,定义要考虑的参数变动(例如,每个维度的分布、最大变动范围、每个可变参数的置信区间等等)。视情况,还可考虑可变参数之间的相依性和相关性。在这个步骤中,还确定用于考虑自动规划期间的参数变动的策略。后者是(例如)(1.)将确切生成一个程序(如实例1中),其覆盖所有变动(例如,当无传感器可/将用于变动的测量时),或(2.)将确切生成一个程序,其覆盖参数变动的最大可能范围,或(3.)将生成几个优化程序(所定义的上限),其共同覆盖参数变动的整个范围且然后针对执行时间而测量。根据一个实施方案实例,提供关于哪些个别因素无法测量(即,哪些个别因素不能细分为不同“组”)的指示。上文还已进一步解决参数变动的空间中的不同状态的分组。
在第二步骤中(快速测试),以与先前实例1相同的方式,通过快速分析确定要考虑的增加的复杂性对应用程序的影响(先前是工件的移动,现在是参数变动)。因此,对于要分析的N个参数/维度来说(N是个别定义的变化参数的数量),通过组合N维状态空间来输入并定义其变动范围,然后离散化(“采样”)所述变动范围使得存在离散数量的组合瑕疵/变动(=状态)。
已参考图2讨论参数变动的状态空间的离散化的实例。可根据一个实施方案实例消除无法基于个别瑕疵的相关性或相互排斥而发生的状态。
对于每种离散状态,然后测试(在第一步骤中)最初定义的工具路径(即,原始图表)。这意指仿真程序和机器人运动,且基于以下项分析各自状态:(不)可执行运动的百分比和基于处理结果已被仿真为令人满意、不佳、碰撞(或度量等)的工件的表面的百分比。
初始图表的上述仿真提供令人满意的结果(所述仿真的基准达到如上文已进一步讨论预定义的质量准则)的所有状态被组合为组,且和这个图表存储在一起。将剩余状态同样地分组,其中机器人运动在工具路径的相同分段中发生的(唯一/主导)类似问题和/或发生在工件上的相同位置上的处理质量(存储并评估为工件的表面上的个别区域上方的处理结果)的(类似)问题同样地各组合在一个组中。例如,在其中由机器人涂布工件的应用程序中,例如其中涂敷到(程序仿真中仿真的)工件表面的相同区域的涂布材料的量不足的参数变动的所述状态。
根据本文描述的实施方案实例,用于对针对考虑参数变动选择的策略分析初始图表的合适性的程序如下所示。
变型1:初始图表对个别状态(参数变动的组合)仿真的个别结果叠加使得局部(意指工件表面上或工具路径上的位置)较差的结果将在每种情况下重写更好的结果。即,初始图表对所有状态的仿真形成最坏情况。这应用于其中被评估为较差的仿真处理结果(对于状态)重写所有更好的结果的工件的区域和其中当分段可在另一仿真中延伸时相同分段由于状态“占优势”而不能延伸的工具路径。
变型2:分析仿真预测无令人满意的结果的状态的百分比(可对个别问题的严重性加权重)。
作为用于中止程序且返回到步骤1(准备最简单情况下的初始图表)的准则,在“变型2”中可使用提供令人不满意的结果的仿真状态的百分比,且在“变型1”中可使用被评定为(一旦所有仿真结果已被覆盖)不可用的工件表面的百分比和/或不能延伸的工具路径的百分比。如果这个准则下降到下阈值以下,那么假设后续详细规划/优化在只使用单一或有限数量的图表(后者转换为机器人程序)考虑所有状态(可能稍微受限)方面将不会成功。如果百分比高于可选择阈值,将丢弃初始图表,且必须提出(如上文实例1中的)一种新的初始图表。阈值取决于所选择的策略,且对于“所有状态的一个图表”的策略,阈值高于“所有状态的P个图表”的策略。替代地,运用“P个图表”策略,其还可被测试来确定所识别的组数小于或等于所希望的图表的数量P。
在下一个步骤(步骤3,详细规划/优化/验证)中,对所识别的组更详细优化仿真初始图表的工具路径。根据一个实施方案实例,还决定策略是:“所有状态的一个图表”或“所有状态的P个图表”。
对于“所有状态的一个图表”的策略,基于已知方法修改并优化初始图表。预定义成本函数最小化的图表然后又被认为最优。以下项可包括在这个成本函数中:要加工使得仿真处理结果(和相关工件表面坐标存储在一起)落在可允许容许度以外(视情况用偏差度加权重)的工件的百分比、执行所需的时间等等。根据本文描述的方法的一个实例,同样对(瑕疵/参数变动的)所有或几种不同(数量随机且渐增的)状态总是仿真当前正优化的图表的版本,且覆盖结果使得(局部)不可用处理结果(例如,在具体表面区域内,涂布材料的涂敷不足)将重写其它状态的可用处理结果,以识别最坏情况。运用这个策略,出于实践目的将参数变动的空间的所有离散状态分类在单一组内。
对于“所有状态的P个图表”的策略,相继地处理快速测试期间形成的状态组,且针对每个组优化单一图表。这可以与“所有状态的一个图表”的策略(参见上文)相同的方式对某个组中的所有待测试状态实行。
替代地,对于当前组的每种状态,可仿真来确定先前优化的图表(对于相同组中的状态或对于针对另一组优化的图表)是否将提供充足的仿真结果(在可预定义容许度限制内)。出于这个目的,根据机器人仿真对可延伸的工具的所有路径仿真所述程序,且参考工件覆盖并存储所述程序(例如,在涂敷涂布材料的情况下,关于表面描述的层厚度(例如,网格、CAD数据等等)),其中出现的任何临界情形(碰撞、过多接触力等等)将重写积极结果(以此方式,如上文描述般识别最坏情况)。程序仿真的结果是(例如)所得层厚度或对工件表面的描述的清理效果。在涂敷涂布材料的情况下,存在(例如)以毫米为单位的值或诸如“OK”、“太厚”、“太薄”等等的注释。在清理的情况下,存在(例如)诸如“已清理”、“未清理”、“不确定”等等的注释。如果其中满足关于总表面的质量准则的相关工件表面的百分比高于所需限制(其中可在分析中不同地对不同区域(例如设计边缘)或超过的本质和严重性)或如果所丢弃的路径的百分比足够小,那么当前测试的状态将被指派给已测试图表而无需修改图表。取决于实施方式,可使用第一个合适的图表,或可使用接收所有图表的最好评估的图表。根据一个实施方案实例,对于每个组,只对所述组中的一种状态优化初始图表,且然后执行测试以确定这个图表是否也适用于所述组中的所有其它状态。将使图表不合适的所述状态置于新的组中。替代地,在对组中的状态优化图表之前,可检查已对另一组优化的图表是否合适。如果合适,那么可组合各自组。最后,为每组状态保留已修改的图表。
如果对于已产生的任何图表来说仿真结果并不充分,那么将会对当前测试的状态起始新的组,且将会对所述状态起始优化程序(类似于“所有状态的一个图表”的策略),其中在一个有利实施方式中,迄今为止(即使不充分)接收到的最好评估的图表(至此时为止生成的)将会用作优化/适应的开始点,或替代地,将会使用来自第一步骤的初始图表。根据现有技术的详细规划和/或优化算法(例如,“粒子群优化”)将会改变关于工件(尤其是关于工件表面,以相关工件表面的百分比这样的方式)的工具路径,其中最大化满足的质量准则。因此工具路径的路径分段将相对于工件表面稍微移位、倾斜、升高等等以改善处理结果。优选地,对“间隙”或“缺陷”加以更大权重,使得其将优选地被封闭和/或剔除,且将会实现满足质量准则的连续区域。此外(使用如实例1中的运动图表或根据现有技术),对于每个工具路径(和其连接),寻找/规划可执行机器人运动。还可使用负值来分析完全无法延伸或部分无法延伸的工具路径,或简单地说所述工具路径不会对仿真结果有所贡献。运动的持续时间(即,机器人执行加工所需的时间)可能是优化的另一准则。可将状态和优化图表存储作为新的组。随后检查且可由相同图表覆盖的状态被指派给所述组。
在替代实施方案中,基于来自快速测试的分组并未识别任何合适图表且因此定义新的组的所有状态或最近已被指派给标记进行例外处理的另一组(除了快速测试以外)的状态,其中一旦处理所有状态,将执行另一测试以确定是否可进一步组合这些最近形成的组。
继续循环直到每个组存在图表为止,即,参数变动的整个定义状态空间被覆盖,或在状态不能发现任何图表或在组的数量超过可允许的图表数量的情况下被终止。取决于规范,可终止循环,前提是状态未发现任何解决方案(返回到新的改善初始图表的识别)或当只中间存储未发现任何解决方案的所述状态(此后将会只对所述状态准备新的初始图表并同时保留所识别的解决方案)时方可终止循环。
理论上(假设仿真时间充足),在后续优化中,可以与针对策略1(“所有状态的一个图表”)描述的方式相同的方式再次对包括在组/群集中的所有变动优化图表。
图表或多个图表和额外信息存储在一起(在此覆盖的状态=各自图表有效的瑕疵/参数变动的区域)。
在下一步骤中,图表或多个图表每个通过“采样”(离散化)所规划的机器人运动转换为机器人程序(控制器中可执行=机器人所特有)(接合状态、样条、信号等等的列表),且和关于(在这种情况下,各自组的图表有效的可允许参数变动的区域)自动考虑的维度的额外信息存储在一起。
对于程序的(和时间无关的)在线执行,传感器获取涉及实际参数变动(或其至少部分)的信息,在本情况下,所述信息是个别(可测量)瑕疵(例如X、Y、Z的位置偏差等等)的实际值。然后选择包括这些具体瑕疵/参数变动的组,且将指派给这个组的程序上传到控制器中。视情况,可如上述优化步骤中描述般优化所测量的状态的存储图表。
在下文中,将再次总结且参考图4至图13更详细说明上文描述的程序。根据作为本发明的基础的方法(图4),首先规划(或编程)理想化应用程序。这个背景下的理想化意指(例如)(准)静止和/或无瑕疵。替代地,还可读取并转换现有程序(步骤I)。只有此时才由动态(工件移动)或瑕疵调节、自动考虑额外复杂性/维度,且生成可用于这些更复杂情况的图表和程序。
这完成如下:在预处理步骤中,仿真额外复杂性/维度(叠加工件的移动、参数变动)对原始图表和/或原始程序的影响,且分析处理结果(涂布、抛光等等的质量)且用于“粗略规划”的快速测试(步骤II)寻找“初始解决方案”或情况(上文还称作参数变动的状态空间和/或可能运动模式的状态空间中的状态)。这些在循环中加以处理,且优化及验证并且视情况组合所识别的解决方案(步骤III)。从所识别的图表,组合一个或多个程序。
图4具体示出了:
I.模块,用于规划/定义或用于读取机器人应用程序且无需考虑额外复杂性(I.1)。在为此外要考虑的复杂性/维度的后续处理做准备时,输入或读取关于复杂性/维度的(度量)信息(I.2.)且输入和/或读取用于在后续规划中处理所述信息的“策略”(机器人底座的运动模式或多个状态组的多个图表)(I.3.)。
I.1.一种模块,其用于规划工件坐标中的工具路径和/或用于读取现有程序并将这些转换为工件坐标中的工具路径。
I.2.一种界面,其用于读取/输入关于额外维度的信息(例如,描述工件随时间变化的移动(下文情况A))和/或个别变动/瑕疵的范围和分布(例如,坐标***的方向上的位置错误(下文情况B))。
I.3.一种界面,其用于确定将使用的策略。在其中将考虑工件移动的情况下:机器人底座的选择,固定vs.安装在辅助轴上(包括定义其相对于工件输送带的长度、动力和位置)。
II.快速测试和预先选择:一种模块,其用于快速(“随机”)仿真和分析要考虑的额外复杂性/维度对应用程序的影响。响应是在不考虑额外复杂性的情况下在I中建立的策略和/或“图表”无法实施,或快速(不精确)规划以确定如何在步骤III规划中处理这些情况。在情况A下(额外移动叠加工件),执行仿真/分析以确定工件与机器人底座(工具路径(根据快速测试)可在其上延伸(参见图3))之间的所述位移。从这些“时隙”/“通道”和基于工具(参见图1,参考符号21)的目标速度估计的工具路径的延伸时间,识别路径的一个或多个有利序列和开始时间,在此期间将详细测试并优化详细规划(步骤III)。在这个识别步骤期间,可同时确定是否未发现任何序列,或对于发现的序列,剩余时间缓冲(工具路径的执行时间与时隙之间的时间量)是否小于最小阈值,且因此在最好的情况下,可在详细规划(III)期间识别相对于涉及时间的已经存在的小瑕疵(例如,输送带的速度的变动)并不稳定的图表。在这种情况下,程序将返回到步骤I,以修改初始工具路径(初始图表)或策略。在情况B下(要考虑参数变动),对各种状态(具体瑕疵/参数变动的组合)仿真来自步骤I的图表。最初(I中)规划的图表的仿真提供令人满意的结果的所有(离散)瑕疵被组合(分组)为“情况”,且和这个初始图表存储在一起。将所有状态分组为在工具路径的相同分段中发生机器人运动中的(唯一/主导)类似“问题”(碰撞或不可行)和/或工件上的相同位置中发生(类似)程序质量问题(存储并分析为关于工件的表面上的个别区域或关于工件的形状、特征或子结构组的处理结果)的情况。同时,在个别“状态”的仿真中识别的所有程序问题被“覆盖”到工件上(在程序问题的情况下)且在路径的情况下运动问题被“覆盖”到工件上(所识别的问题较为普遍以获得最坏情况)。如果所识别的问题的百分比(作为整体的路径的长度的百分比和要加工的工件的百分比(表面、体积))下降到下阈值以下,那么可假设将可能只使用随后优化的单一图表和因此单一机器人程序考虑所有所述(类似)瑕疵(必要时稍微限制),且步骤III中的程序将相应反映这种情况。如果百分比较高,但是所提出的策略只是一个程序,那么程序将返回到步骤I。如果百分比超过可选择上阈值,那么同样地将丢弃初始图表且程序将返回到步骤I。
II.1识别要测试的离散状态,其将额外维度稀疏地离散化在其定义的“范围”中。情况A:自动识别要测试的工件与机器人底座之间的变换,这反映工件在机器人上的移动(具有或不具有7轴)。情况B:自动识别要测试的状态(例如,(2+1)N或(2)N或2*N+1,参见图2),其反映组合的N个个别瑕疵。
II.2针对可执行性对维度/瑕疵快速仿真初始图表。情况A:对每次偏移确定每个个别工具路径的可执行性(从II.1可知)。确定每个路径可个别执行的偏移“窗”。情况B:对一种状态各自仿真所有工具路径(的可执行性和处理结果)(来自II.1的瑕疵情况)。在一个实施方案实例中,对于不涉及工件的位置或机器人的精确度(反而涉及(例如)工具的不同功效程度)的变型,可免除机器人运动的重复规划/仿真且可对先前规划的机器人运动仿真所述程序。
II.3.更详细仿真和规划,情况A:对每次偏移确定每个个别路径的可执行性(从II.1可知)。确定每个路径可个别延伸的偏移“窗”。识别路径的序列和开始时间,使得所述序列和开始时间中的每个(以目标速度执行)完全落在其自身的“窗”内(即,在其自身的“窗”内执行)。评估是否必须返回到步骤I。情况B:将具有类似仿真结果的来自(II.1)的状态组合为多个组,对于所述组中的每个将会在步骤III中生成图表。评估是否必须返回到步骤I。
II.a.关于额外复杂性/维度的信息。在情况A下,关于输送带的运动轨迹(速度、波动等等),在情况B下,关于个别瑕疵/参数变动和其要考虑的波动范围。
II.b.关于如何测试、离散化(采样)额外复杂性/维度的处理信息。
II.c.图表和/或工件坐标中的工具路径,和视情况将实行加工(或全加工)的工件的区域的描述。
II.d.状态(II.b)的工具路径/图表(II.c)的仿真结果。情况A:可根据简单测试执行个别路径的路径和“窗”(采样位置的数量II.c)。
II.e.策略的选择,情况A:例如不具有辅助轴,具有辅助轴,视情况具有关于其维度的信息(长度、位置动态)。情况B:“所有可能参数变动的一个程序”、“P组参数变动的P个程序”。
II.g.如果评估表明初始图表(工具路径)适用于选定策略:传送初始工具路径(II.c)和(情况A)序列、开始时间等等或(情况B)根据结果分组状态。
II.f.否则返回。有利的是,包括仿真结果以进行可视化或新的规划。
III:自动详细规划,考虑额外维度。在情况A下,优化并分析II(路径的概图、序列和开始时间)中提出的状态使得使用动态机器人模型(结合受限制的加速度和速度)随时间规划且使用可随时间变化的工作间仿真每个个别路径和中间移动。在这种情况下,优化会改变运动执行的开始时间和速度且稍微改变所执行路径,其目的是最大化仍可实现的机器人-工件偏移的距离。在情况B下,根据一个实施方案实例,区分策略是“所有状态的一个图表”或“所有状态的P个图表”。对于“所有状态的一个图表”的策略,只使用已知方法迭代优化初始图表,其中通常最小化以下项:仿真结果(其然后存储在表面上)不在可允许容许度限制(或例如根据偏差度加权重)、执行时间等等内的要加工的工件的百分比(一般为要加工的表面的百分比的形式)。在“所有状态的一个图表”的情况下,总是同样对(瑕疵的)所有或多个不同(数量随机且渐增)状态仿真图表的当前优化版本,且“覆盖”结果,有利地覆盖所述结果使得瑕疵重写令人满意的执行。对于“所有状态的P个图表”的策略,按序列处理II中识别的组,且对每个组优化单独图表。这可以与“所有状态的一个图表”的策略相同的方式对组中的所有测试状态加以实行,或其可首先对当前组的每个测试状态加以仿真以确定先前优化的图表(来自相同组或对不同组优化的图表)是否将提供令人满意的仿真结果。如果是,其将被指派给所述组(而无需修改图表),且如果不是,那么对于当前测试的所述一种状态,将迭代地优化图表(即,将准备新的图表)使得只对所述状态最小化成本(仿真问题、时间等等)。状态和图表形成新的组。在一个有利实施方案中,所有最近(而不是最初)指派的状态和已“开创”新的组的状态被标记进行例外处理,其中在完成时将测试是否可进一步组合这些状态。有利的是,与非临界位置上相比,基于一个组中的测试状态的仿真结果选取所述组内的测试状态以允许在范围的边缘(组边界)上/附近和临界位置上更准确(更紧密)执行测试。在情况A和情况B下,图表或多个图表和额外信息存储在一起(A:时间,B:参数变动的覆盖范围)。在两种情况下,最终分析是有利的——视情况返回到I。
III.1.所有初始序列(情况A)或(情况B)情况/组进行循环。
III.2.规划/优化在路径的时间、速度、精确处理方面改变路径以最小化(III.3中)仿真的问题(例如,以表面百分比的形式)和/或最小化执行所需时间。
III.3.仿真随时间变化的机器人运动和所得程序成果(III.2中使用)。
III.a.改变程序路径;
III.b.仿真结果:(使用机器人模型)精确地仿真机器人运动(包括与理想目标路径的偏差)且针对这种情况仿真的处理结果(工件描述:例如工件表面的CAD模型),视情况当无法执行路径的部分或当计算时间或迭代超过相关阈值时中止消息;
III.c.返回直到已处理所有组或序列为止或直到实现令人满意的结果为止;
III.d.如果(对于某个百分比或足够大百分比的情况)未发现解决方案,那么返回到步骤I;
III.e.如果发现图表:转发图表,包括关于额外维度的相关信息。(在情况A下:对运动/图表的个别支持点指示输送带的时间或位置,在情况B下:要应用图表的瑕疵范围)。
IV.使用关于额外维度的额外信息生成程序。
情况A:通过采样所规划的移动(指示到达这个位置时输送带的速度和时间/组件位置/编码器值)将所规划的机器人运动(在轴坐标和时间中)转换为包括支持点(或样条等等)的机器人程序。可以两个部分输出程序:
i)位置和速度的列表,其比机器人控制器所必需的更紧密设置/采样;和
ii)呈循环的形式的处理程序,其读取输送带的当前实际值(位置和速度),且基于这个值从i)中选取或内插机器人的下一个目标位置或和基于输送带的当前速度和机器人运动相对于输送带移动的进展(领先、落后)使用简单的已知控制原理(P、PID、……)(线追踪技术)调整速度。运用这个有利实施方式,补偿规划机器人运动时出现的错误(尤其是机器人动力和控制的模型中的错误),且使机器人速度自动适应输送带速度直到完全停止或甚至反向运动为止。
情况B:对于每个组:通过采样所规划的运动将所规划的机器人运动转换为包括支持点(或样条等等)的机器人程序。和关于应用程序范围(=各自组的可测量参数变动)的额外信息存储在一起。
IV.1.用于将图表转换为具有额外信息的可执行机器人程序且存储所述图表的模块。
IV.a.具有用于参考额外复杂性/维度的额外信息的可执行机器人程序。
V:在线处理:
情况A:输送带移动的维度(位置和速度)的传感器检测和根据输送带的移动进展对程序进行的处理。有利情况如IV中描述。情况B:瑕疵的实际值的传感器检测和对应组的选择。处理被指派给这个组的程序。使用精确测量的瑕疵进行选用内插或优化。
V.1.传感器
V.2.将传感器数据解译为关于维度中自动考虑的值。
V.3.根据所解译的传感器数据选择或处理程序。
II.a.关于要考虑的额外维度/复杂性的信息。
II.c.工件坐标中的工具路径(包括工件信息,例如CAD)。
II.e.关于用于考虑额外维度/复杂性的策略的信息。
图5尤其示出了考虑额外复杂性/维度之前的输入/规划的更详细描述(概图:图4)。
I.规划/定义或考虑额外维度/复杂性;
I.1.输入关于工件的信息(例如,CAD数据和相关表面);
I.2.例如由先前程序步骤(例如Q.S)定义应用程序;
I.3.用于应用程序的交互式定义的GUI;
I.4.用于工具移动的面向程序规划的模块;
I.5.用于读取现有程序和图表的界面;
I.6.OLP模块;
I.7.用于将常规程序转换为工件坐标中的工具路径的模块;
I.8.存储工具路径;
I.9.用于输入关于工作间随时间变化的信息的界面。在“线追踪”的情况(情况A)下,这是输送带的测量移动速度,且因此是工件的测量移动速度和程序或可能变动的最早开始时间/最迟结束时间(情况B)(在程序保护的情况下,这是关于个别瑕疵的信息且视情况是其相依性或排斥性);
I.10.用于选择用于处理额外维度的策略的界面;
II.自动分析和预处理(这在图5中加以描述且在图6(情况A)和图7(情况B)中详细描述);
I.a.关于工件的信息(一般来说,例如标记要加工的工件表面的CAD和额外信息)
I.b.在线生成的关于应用程序的信息:例如来自传感器和/或QA的指令列表(面向工具+工件)(所识别的缺陷/标记点/标记路径……)
I.c.交互式定义工具路径(在工件坐标中)
I.d.机器人程序(现有,读取)
I.e.机器人程序(生成于OLP中)
I.f.工件坐标中的工具路径(包括工件信息,例如CAD)
I.g.工件坐标中的工具路径(包括工件信息,例如CAD)
II.a.关于要考虑的额外维度/复杂性的信息
II.c.工件坐标中的工具路径(包括工件信息,例如CAD)
II.e.关于用于考虑额外维度/复杂性的策略的信息
图6详细示出了:
I.图4中描述且图5中详细描述无需考虑额外维度/复杂性的规划/定义;
II.自动分析额外维度和预处理的影响;
II.1.确定/定义搜索区域和采样(=待测试状态);
II.2.开发“可行性图”,即,路径点/工具路径在无碰撞的情况下可行或可执行的工件的偏移;
II.3.仿真路径点(工具路径)的可行性/可执行性;
II.4.在辅助轴的情况下:例如通过最大化可用缓冲的范围识别这些轴随时间变化的有利配置;
II.5.序列优化:改变工具路径(总是工具路径上的所有路径点)的序列和分析。准则(参见图3):表示输送带的移动的线与表示每个路径点的可允许位移的所有(或尽可能多的)垂直线交叉。分析(最大化)交叉点与垂直线的(两个或最后一个)极值之间的距离。工具路径之间的移动时间可源自于标准设置、估计或确定(如II.6中);
II.6.优化工具路径的开始时间(且视情况优化其路径速度)。最大化与最迟可能时间的距离(即,建立将容忍机器人运行的延迟的缓冲)或与最早和最迟可能时间的距离(即,缓冲对称);
II.7.存储和分析解决方案;
II.a.关于工作间随时间变化的移动/调整的信息;
II.b.用于考虑这个额外维度/复杂性的策略;
II.c.工具路径(工件坐标中)、关于工件和工作间的信息,
II.d.待测试的状态(的数量)(变动)
II.e.工具路径(选用分段或整个工具路径)上的路径点和当前测试的状态,
II.f.对当前状态评估路径点的可行性/可执行性,
II.g.可行性图,
II.h.用于考虑这个额外维度/复杂性的策略,
II.i.工具路径、可行性图和辅助轴(随时间变化)的配置,
II.j.工具路径的所识别的优化序列,
II.k.如果未识别任何序列,那么返回,
II.l.识别工具路径的优化开始时间和运动速度,
II.m.如果未识别序列的开始时间,那么返回,
II.n.如果未发现针对任何序列的可行开始时间(但是结果简明的),那么返回,
II.o.具有开始时间和速度的工具路径(路径点作为时间点)。此外,允许延迟(max_delay)(在时间上或关于工件-输送带偏移),
II.p.在未充分评估的解决方案(序列/开始时间)的情况下返回。
图7详细示出了自动分析状态且将状态准备/分类为组以便在步骤III中进行规划。
I.图4中描述且图5中详细描述无需考虑额外维度/复杂性的规划/定义;
II.自动分析和预处理(情况B)
II.1.采样的定义。定义覆盖额外维度的范围(II.a中指定)和考虑相关性/相依性的减小(II.a中指定)的状态,
II.2.a.(循环)处理来自IIb的每种状态。对每种状态检索仿真/规划,
II.2.b.对当前测试的状态分析仿真结果。基于类似结果分组状态(“相同位置、运动分段上的相同问题”),
II.3.对当前测试的状态和(图表的)工具路径规划/仿真机器人运动,
II.4.仿真机器人运动的程序,
II.5.对选定策略评估结果II.i。具体地,比较组数以确定是否允许一个或多个图表(后续程序)。
II.5和II.2.b可合并以允许提前处理研磨加工。
II.a.关于额外维度的信息。个别变动的数量和其各自变动的范围(例如,最小值/最大值)。可能的相关性、排斥性等等。
II.b.要测试用来采样/分析新维度的空间的状态列表,
II.c.工具路径(和关于工件的信息,例如CAD和要加工的区域),
II.d.工具路径和状态,
II.e.如果未识别令人满意的机器人运动(其可能成功执行的概率为X%):那么中止,
II.f.所规划和仿真的机器人运动和当前状态,
II.g来自II.3=II.f的机器人运动的仿真结果,
II.h…直到所有状态已被处理为止
II.i所有状态和结果,
II.j策略,
II.k如果不足,那么中止,
II.l转发分组状态(和初始工具路径)。
II.2、II.3、II.4、II.5访问涉及工件的信息(即使在此未明确示出信息流)。
图8涉及针对要考虑工件移动的情况的步骤III,且涉及自动详细规划/优化/验证步骤,且尤其示出了:
III.1.a.和(III.1.b)所有所识别序列的循环和分析,最后中止,或视情况在第一个令人满意的序列(大于阈值)之后中止,
III.2.通过修改路径点使工具路径适应个别轴的受限制加速度和速度,
III.3.针对经修改路径的状态-x-时间规划,
III.4.对所规划的机器人路径(在不断变化的环境中)仿真机器人运动和处理结果,
III.a.工具移动,包括序列和时序,
III.b.经修改的机器人移动(在状态空间中),
III.c.工具路径的所规划机器人移动和中间移动,
III.d.仿真所规划机器人移动,
III.e.仿真机器人移动或无解决方案(例如,在超时等等的情况下),
III.f.返回到III.2,前提是所规划机器人运动无解决方案(无解决方案的问题/原因),
III.g.机器人运动(的详细程度的图表)被评估为状态空间中最佳,包括关于状态的信息(在规划机器人运动的同时发生的工作间变化)/关于时间/输送带的信息,
III.h.返回,前提是额外序列且不超时。
图9涉及针对要考虑参数变动的情况的步骤III,涉及自动详细规划/优化/验证步骤,且尤其针对“所有状态的一个规划”的策略示出了:
III.1.a和III.1.b:通过根据以下准则改变(a)和评估(b)优化工具路径:最大化具有可用处理结果的表面的百分比(或最小化不可用处理结果的表面的百分比),最小化执行时间或最大化碰撞之间的距离等等。针对工具路径规划精确机器人运动。(图13左侧详述)。
III.2.a:对各种(随机选择一些直到所有)状态进行循环。例如,在首次迭代中,只测试所有状态的部分(每次迭代时使用随机生成器选择且逐渐完成)。III.I.a中定义比例(以百分比形式)。
III.2.b.结果的总结,在关于工件的结果的最坏情况覆盖中是有利的。
III.3根据来自II的状态对来自III.1的所规划的机器人路径仿真机器人运动和处理结果。(图13右侧详述)。
III.a.机器人运动,
III.b.要仿真的机器人运动和选定状态,
III.c.仿真结果,
III.d.返回,前提是尚未处理所有状态
III.e.对所有仿真状态(例如,最坏情况)总结结果,
III.f.返回进行优化(前提是不超时,结果令人满意,收敛,…)。
图10涉及针对要考虑参数变动的情况的步骤III,且涉及自动详细规划/优化/验证步骤,且尤其针对“所有状态的一个规划”的策略示出了:
III.1.a对II中最初识别的所有组循环;
III.1.b循环结束,存储分组并进行评估:返回,前提是尚未处理所有组,否则继续循环。只要建立的组大于程序的可允许数量N(I中定义的策略),循环退出,返回到I);
III.2.a确定所述组内要测试的状态且循环处理。在一个有利实施方案中,采样是可变的:1)基于来自先前状态的结果(当存在问题、存在转变时采样更为紧密),2)在状态空间的边界上更紧密;
III.2.b循环结束。存储现有组的测试状态或形成新的组。如果令人满意地紧密采样,那么返回,或继续循环。如果已形成的组数大于程序的允许数量N:那么循环退出且返回到I)。评估以在此(或在IIa中)确定组是否足够完整;
III.3.a循环:针对要测试的状态调用先前每个组建立的所有图表且对其起始仿真。开始于当前组(此处图表不改变);
III.3.b循环结束。中间存储和评估测试图表的仿真结果(可执行、持续时间、处理结果、视情况碰撞的稳定性/间隔)。例如:如果属于所述组的图表的仿真结果令人满意,那么中止循环,否则测试所有图表并选取最佳图表;
III.4机器人运动和程序的仿真(图13右侧详述);
III.5.a(和III.5.b)通过根据以下准则改变(a)和评估(b)优化工具路径:最大化提供可用处理结果的表面的百分比,最小化执行所需时间或最大化碰撞间隔等等。针对工具路径规划精确机器人运动。(图13左侧详述)。循环结束,前提是超过阈值,超时,最大次数的迭代、收敛减缓等等。
III.6.最后评估(完整的程度、令人满意的程度)。和策略比较,视情况返回到I。
III.a.当前测试的组和当前测试的图表(工具路径的详细程度)
III.b.当前测试的状态和当前测试的图表(工具路径的详细程度)
III.c.当前测试的状态和当前测试的图表(工具路径的详细程度),初始或其它所识别的规划…。
III.d.评估
III.e.如果图表未被评估为令人满意,那么返回(或改变(如果初始图表不合适),直到所有状态已被测试为止)
III.f.识别状态和合适的组:如果识别合适图表,那么跳过进一步优化
III.g.状态(如果先前图表均不合适)
III.h.优化机器人运动(仅首次修改!)
III.i.运动仿真和程序仿真的结果
III.j.返回以进行优化(假设未超时,结果令人满意,收敛…)
III.k.状态和合适的组(具有图表)或无法生成用于这种状态的图表。
III.l.返回直到足够紧密地测试为止(此处还如在III.o、III.q中止。)
III.m.状态+组+图表
III.n.返回到循环开始直到所有组已被处理为止。
III.o.中止
III.p.组和图表
III.q中止
III.r所有形成的组,包括每个组的图表
根据一个实施方案实例,对于已在III.5中优化图表的组,在III.3中这个图表未提供令人满意的结果的所述状态可被中间存储,且只在测试所有(其它)状态(和视情况修改的图表)之后,方可在III中对所有组使用图表再测试所述状态,且视情况起始新的图表和组的生成。以此方式,针对已更优化的图表测试这些状态,且分配更加可信,因此组数可保持更低。
图11针对步骤V(程序的在线执行,考虑工件的移动)示出了图4的程序序列的细节。特定地说,图11示出了:
V.1传感器,其用于检测关于移动的额外维度的信息(例如,输送带的编码器);
V.2解译传感器数据,例如检索输送带的状态和速度;
V.3程序执行对程序进展和关于输送带的移动的所提取信息的适应/控制。使用过度紧密地采样的支持点(基于输送带位置和速度支持点)或还使用下一次运动的内插和速度(v变量)从程序中可变地选择下一批支持点,和/或选取下一个位置;
V.4机器人控制器和/或机器人运动控制;
V.a.关于额外维度的传感器数据,例如编码器值,
V.b.解译信息,例如工件的位置和运动速度,
V.c.适应程序/路径点(点对点,PTP)。
图12针对步骤V(程序的在线执行,考虑参数变动)示出了图4的程序序列的细节。特定地说,图12示出了:
V.1用于检测关于额外维度的信息的传感器。例如用于位置检测或流动测量/压力测量的照相机,
V.2解译传感器数据,例如工件的位置偏差或涂敷层的厚度/时间,
V.3选择合适的机器人程序(所测量的位置偏差是在所述组的值范围/状态空间内)。输入至机器人控制器中;
V.4机器人控制器和/或机器人运动控制。
V.a关于额外维度的传感器信息,例如照相机图像、点云,
V.b解译信息,例如工件的检测位置(或位置偏差),
V.c选定机器人程序(PTP)。
图13示出了如图8至图10中示出的优化步骤III的程序序列的细节。特定地说,图13示出了:
III.1.a工具路径(=工具路径);优化器:根据来自III.1.b的评估使用已知方法改变路径上的路径点(涉及工具至工件的移动)。
III.a.1.b.评估准则:最小化仿真报告不可用结果的工件的表面的百分比。视情况最小化无法使用机器人根据规划和仿真来执行的工具路径的分段的百分比。中间存储结果(具有程序和机器人运动按序列进行的百分比、执行所需时间的图表)。
III.a.2.工具路径的后续处理:工具的碰撞防止和光滑化。监控参数限制。变动小于阈值(否则,其将是新的且III.a.1重写/无效)。
III.a.3以状态-x-时间对机器人进行运动规划,包括考虑轴的加速度和速度。
III.b.1运动仿真(动态模型),
III.b.2可行性(无碰撞)、执行所需时间的分析,
III.b.3模型,包括工作间、机器人、工件、工具、程序的模型,
III.b.4程序仿真;
III.a.a工具路径改变;
III.a.b访问工具和工件的模型;
III.a.c如果未识别变化小于阈值的无碰撞工具运动,那么返回;
III.a.d光滑化工具路径而无工具碰撞;
III.a.e对工具路径和和中间移动规划机器人运动;
III.a.f未识别任何机器人运动;
III.b.a访问模型;
III.b.b仿真所规划的机器人运动;
III.b.c测试机器人运动
III.b.d.如果机器人运动不OK,那么返回。
III.b.e访问模型(程序、工具、工件)。
III.b.f.机器人运动和分析(程序的仿真结果)
Claims (11)
1.一种由计算机辅助自动生成用于通过使用工业机器人的工具来处理或加工工件的工作流程图的方法,所述方法包括:
准备初始图表,所述初始图表包括用于具体目标位置中的工件的且用于影响所述处理或加工的具体处理参数的多个工具路径,其中工具路径定义所述工具沿所述工件的目标移动;
定义状态空间,所述状态空间描述影响所述处理或加工的可变参数值,其中所述空间中的每个点表示可变参数值的具体组合;
将所述空间离散化成个别状态;
使用所述初始图表针对一个或多个离散状态仿真所述工件的所述处理或加工且基于可预定义准则分析所仿真的处理或加工结果;
迭代地修改所述初始图表,然后使用已修改的图表针对多个离散状态仿真所述工件的所述处理或加工且基于可预定义成本函数分析所仿真的处理或加工结果;
执行所述迭代直到所述成本函数达到最小值或下降到阈值以下为止,且因此直到相应离散状态的优化图表已被识别为止;
将用于所述迭代的所述优化图表和所述相应离散状态分配给第一组;
使用所述优化图表针对另一离散状态仿真所述工件的所述处理或加工,且基于所述可预定义成本函数分析所述仿真的处理或加工结果;
当用于所述仿真的额外状态的所述成本函数下降到另一阈值以下时将所述额外状态分配给所述第一组;
当用于所述仿真的额外状态的所述成本函数未下降到所述另一阈值以下时将所述额外状态分配给另一组;
迭代地修改所述优化图表,然后使用所述所修改的图表针对所述额外状态仿真所述工件的所述处理或加工,且基于所述成本函数分析所述仿真的处理或加工结果;
执行迭代直到所述成本函数达到最小值或下降到阈值以下为止,且因此直到用于所述额外状态的另一优化规划已被识别为止;
将用于迭代的所述优化图表和所述状态分配给第一组。
2.根据权利要求1所述的方法,其中在针对具体状态的图表进行所述迭代修改之前,通过仿真执行测试以确定用于所述具体状态的先前已优化图表是否将会造成所述成本函数下降到预定义阈值以下的处理或加工结果。
3.根据权利要求1所述的方法,其中在所述迭代修改之前,丢弃使用所述初始图表仿真的所述处理或加工结果不满足可预定义准则的所有状态。
4.根据权利要求1所述的方法,其中图表的所述修改包括以下步骤中的至少一个:
修改图表的所述工具路径的执行序列;
修改工具路径的执行速度或工具路径的分段的执行速度;
移位工具路径的位置或工具路径的个别分段的位置;
修改所述工具沿个别工具路径或路径分段相对于所述工件的位置和角位置;
针对个别工具路径或路径分段修改机器人配置;
修改由所述工具施加于所述工件上的力或涉及工件与工具之间的交互的某个其它参数。
5.一种由计算机辅助自动生成用于通过使用工业机器人的工具来处理或加工工件的工作流程图的方法,所述方法包括:
准备初始图表,所述初始图表包括用于具体目标位置中的工件的且用于描述所述处理或加工的具体处理参数的多个工具路径,其中工具路径定义所述工具沿所述工件的目标移动;
定义状态空间,所述状态空间描述所述初始图表的所述工具路径的可能序列和开始时间,其中所述空间中的每个点描述具有具体开始时间的具体序列;
将所述空间离散化成个别状态;
使用所述初始图表针对不同的离散状态仿真所述工件的所述处理或加工且根据可预定义准则分析所仿真的处理或加工结果;
迭代地修改所述初始图表,然后使用所述已修改的图表针对至少一个离散状态仿真所述工件的所述处理或加工,其中在仿真中考虑叠加所述工件的移动,以及根据可预定义成本函数分析所仿真的处理或加工结果;
执行所述迭代直到所述成本函数达到最小值或下降到阈值以下为止,且因此直到相应离散状态的优化图表已被识别为止;
将用于所述迭代的所述优化图表和所述相应离散状态分配给第一组;
使用所述优化图表针对另一离散状态仿真所述工件的所述处理或加工,且基于所述可预定义成本函数分析所述仿真的处理或加工结果;
当用于所述仿真的额外状态的所述成本函数下降到另一阈值以下时将所述额外状态分配给所述第一组;
当用于所述仿真的额外状态的所述成本函数未下降到所述另一阈值以下时将所述额外状态分配给另一组。
6.根据权利要求5所述的方法,其中在所述迭代修改之前,丢弃使用所述初始图表仿真的所述处理或加工结果不满足可预定义准则的所有状态。
7.根据权利要求5所述的方法,其中图表的所述修改包括以下步骤中的至少一个:
修改图表的所述工具路径的执行序列;
修改工具路径的执行速度或工具路径的分段的执行速度;
移位工具路径的位置或工具路径的个别分段的位置;
修改所述工具沿个别工具路径或路径分段相对于所述工件的位置和角位置;
针对个别工具路径或路径分段修改机器人配置;
修改由所述工具施加于所述工件上的力或涉及工件与工具之间的交互的某个其它参数。
8.根据权利要求5所述的方法,还包括:
为机器人底座指定运动模式且所述仿真中考虑这种运动模式。
9.根据权利要求5所述的方法,其中所述仿真包括:
相对于机器人底座与工件之间的位移计算时隙和/或窗,对于所述工件来说,可由所述工具实现工具路径的路径点。
10.根据权利要求9所述的方法,其中所述成本函数越大,所述工具越靠近工具路径的仿真执行时的所述时隙的边缘。
11.根据权利要求5所述的方法,还包括:
对于每个优化规划,将工件与机器人底座之间的目标相对位置指派给工具路径上的每个路径点。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102011082771.4 | 2011-09-15 | ||
DE102011082771 | 2011-09-15 | ||
DE102011082800.1A DE102011082800B4 (de) | 2011-09-15 | 2011-09-15 | System und Verfahren zur automatisierten Erstellung von Roboterprogrammen |
DE102011082800.1 | 2011-09-15 | ||
PCT/EP2012/067413 WO2013037693A2 (de) | 2011-09-15 | 2012-09-06 | System und verfahren zur automatisierten erstellung von roboterprogrammen |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104010774A CN104010774A (zh) | 2014-08-27 |
CN104010774B true CN104010774B (zh) | 2017-10-13 |
Family
ID=47080429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280055001.5A Active CN104010774B (zh) | 2011-09-15 | 2012-09-06 | 用于自动生成机器人程序的***和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9701019B2 (zh) |
KR (1) | KR102028770B1 (zh) |
CN (1) | CN104010774B (zh) |
WO (1) | WO2013037693A2 (zh) |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7645441B2 (en) | 2000-12-22 | 2010-01-12 | Sagres Discovery Inc. | Compositions and methods in cancer associated with altered expression of PRLR |
US7820447B2 (en) | 2000-12-22 | 2010-10-26 | Sagres Discovery Inc. | Compositions and methods for cancer |
US20030232334A1 (en) | 2000-12-22 | 2003-12-18 | Morris David W. | Novel compositions and methods for cancer |
US20030191073A1 (en) | 2001-11-07 | 2003-10-09 | Challita-Eid Pia M. | Nucleic acid and corresponding protein entitled 161P2F10B useful in treatment and detection of cancer |
AU2003243151A1 (en) | 2002-08-16 | 2004-03-03 | Agensys, Inc. | Nucleic acid and corresponding protein entitled 251p5g2 useful in treatment and detection of cancer |
AU2004210975B2 (en) | 2003-02-10 | 2008-04-10 | Agensys, Inc. | Nucleic acid and corresponding protein named 158P1D7 useful in the treatment and detection of bladder and other cancers |
US7709610B2 (en) | 2003-05-08 | 2010-05-04 | Facet Biotech Corporation | Therapeutic use of anti-CS1 antibodies |
US20050025763A1 (en) | 2003-05-08 | 2005-02-03 | Protein Design Laboratories, Inc. | Therapeutic use of anti-CS1 antibodies |
NZ572940A (en) | 2003-05-30 | 2010-04-30 | Agensys Inc | Prostate stem cell antigen (PSCA) variants and subsequences thereof |
EP1675871A2 (en) | 2003-10-10 | 2006-07-05 | Xencor Inc. | Protein based tnf-alpha variants for the treatment of tnf-alpha related disorders |
WO2005118864A2 (en) | 2004-05-28 | 2005-12-15 | Agensys, Inc. | Antibodies and related molecules that bind to psca proteins |
US20060024677A1 (en) | 2004-07-20 | 2006-02-02 | Morris David W | Novel therapeutic targets in cancer |
WO2006012416A2 (en) | 2004-07-20 | 2006-02-02 | Isogenis, Inc. | Specific inhibition of autoimmunity and diseases associated with autoantigens |
US7850960B2 (en) | 2004-12-30 | 2010-12-14 | University Of Washington | Methods for regulation of stem cells |
RU2413735C2 (ru) | 2005-03-31 | 2011-03-10 | Эдженсис, Инк. | Антитела и родственные молекулы, связывающиеся с белками 161p2f10b |
GB201204384D0 (en) | 2012-03-13 | 2012-04-25 | Univ Dundee | Anti-flammatory agents |
WO2014040076A1 (en) | 2012-09-10 | 2014-03-13 | Xencor | Methods of treating neurological diseases |
US9102055B1 (en) * | 2013-03-15 | 2015-08-11 | Industrial Perception, Inc. | Detection and reconstruction of an environment to facilitate robotic interaction with the environment |
JP5939213B2 (ja) * | 2013-08-09 | 2016-06-22 | 株式会社安川電機 | ロボット制御装置及びロボット制御方法 |
JP6364836B2 (ja) * | 2014-03-14 | 2018-08-01 | セイコーエプソン株式会社 | ロボット、ロボットシステム、及び制御装置 |
GB2526810B (en) * | 2014-06-03 | 2017-07-05 | Canon Kk | Method and apparatus for transmitting sensor data in a wireless network |
DE102014226789A1 (de) * | 2014-12-22 | 2016-07-07 | Kuka Roboter Gmbh | Verfahren und Manipulatoranordnung zum bedingten Anhalten zumindest eines Manipulators auf einer Bahn |
DE102015002994A1 (de) * | 2015-03-09 | 2016-09-15 | Kuka Roboter Gmbh | Verändern einer initial vorgegebenen Roboterbahn |
DE102015003543A1 (de) | 2015-03-19 | 2015-08-20 | Daimler Ag | Verfahren und System zum Betreiben eines Roboters |
JP6676286B2 (ja) * | 2015-05-12 | 2020-04-08 | キヤノン株式会社 | 情報処理方法、および情報処理装置 |
CA2988588A1 (en) | 2015-06-12 | 2016-12-15 | Georgia State University Research Foundation, Inc. | Compositions and methods for treating opioid tolerance |
CN107710082B (zh) * | 2015-09-29 | 2021-01-26 | 宝马股份公司 | 用于控制和/或调节机器人***的外部控制***的自动配置方法 |
DE112016004725B4 (de) * | 2015-10-14 | 2021-09-16 | Kawasaki Jukogyo Kabushiki Kaisha | Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung |
US10338564B2 (en) * | 2015-11-10 | 2019-07-02 | Gerber Technology Llc | Remote material yield optimization for leather and other heterogeneous material |
DE102015222942B4 (de) * | 2015-11-20 | 2024-05-08 | Robert Bosch Gmbh | Verfahren zum Bewegen eines Manipulators und Vorrichtung mit Manipulator |
US10296675B2 (en) * | 2015-12-30 | 2019-05-21 | Abb Schweiz Ag | System and method for determining dynamic motion data in robot trajectory |
US10401823B2 (en) | 2016-02-04 | 2019-09-03 | Makino Inc. | Real time machining process monitoring utilizing preprocess simulation |
JP6450727B2 (ja) * | 2016-10-28 | 2019-01-09 | ファナック株式会社 | ロボットが行う物品整列作業のシミュレーションのための装置、方法、プログラム及び記録媒体 |
JP6438450B2 (ja) * | 2016-11-29 | 2018-12-12 | ファナック株式会社 | レーザ加工ロボットの加工順序を学習する機械学習装置、ロボットシステムおよび機械学習方法 |
US10642244B2 (en) * | 2016-12-19 | 2020-05-05 | Autodesk, Inc. | Robotic augmentation of creative tasks |
AT519096B1 (de) * | 2016-12-23 | 2018-04-15 | Engel Austria Gmbh | Verfahren zum Einstellen einer Formgebungsmaschine |
EP3624997B1 (en) * | 2017-05-16 | 2022-12-28 | ABB Schweiz AG | Method and control system for controlling movement sequences of a robot |
EP3434424A1 (de) * | 2017-07-27 | 2019-01-30 | Convergent Information Technologies GmbH | Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten |
JP6756676B2 (ja) * | 2017-07-27 | 2020-09-16 | ファナック株式会社 | 製造システム |
KR101991364B1 (ko) | 2017-09-12 | 2019-06-24 | 한국기계연구원 | 모듈 기반 로봇의 기구학 소프트웨어를 자동으로 생성하는 장치 및 방법 |
EP3765246A1 (en) * | 2018-04-15 | 2021-01-20 | Siemens Industry Software Ltd. | Simulation signature keys for robotic simulations |
DE102018209870B3 (de) * | 2018-06-19 | 2019-07-04 | Kuka Deutschland Gmbh | Verfahren und System zum Überführen eines Endeffektors eines Roboters zwischen einer Endeffektorpose und einer weiteren Endeffektorpose |
EP3613545A1 (en) * | 2018-08-24 | 2020-02-26 | Siemens Aktiengesellschaft | Simulation assisted planning of motions to lift heavy objects |
WO2020055909A1 (en) * | 2018-09-10 | 2020-03-19 | Fanuc America Corporation | Zero teach for robotic continuous path |
CN109483234B (zh) * | 2018-11-02 | 2020-06-09 | 北京卫星制造厂有限公司 | 一种基于移动机器人的智能制造***及方法 |
US11836577B2 (en) | 2018-11-27 | 2023-12-05 | Amazon Technologies, Inc. | Reinforcement learning model training through simulation |
US11455234B2 (en) * | 2018-11-21 | 2022-09-27 | Amazon Technologies, Inc. | Robotics application development architecture |
US11429762B2 (en) | 2018-11-27 | 2022-08-30 | Amazon Technologies, Inc. | Simulation orchestration for training reinforcement learning models |
CN109683630B (zh) * | 2019-01-25 | 2021-11-09 | 南京邮电大学 | 基于粒子群和prm算法的无人机航迹规划方法 |
DE102019201045B4 (de) * | 2019-01-28 | 2020-11-26 | Robert Bosch Gmbh | Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters |
KR20200097896A (ko) | 2019-02-11 | 2020-08-20 | 경희대학교 산학협력단 | 매니퓰레이터 urdf파일 생성장치 및 방법 |
CN113508013A (zh) * | 2019-03-07 | 2021-10-15 | Abb瑞士股份有限公司 | 控制工业***的方法、控制***和工业*** |
US11014237B2 (en) * | 2019-07-11 | 2021-05-25 | Intelligrated Headquarters, Llc | Methods, systems, and apparatuses, for path planning and execution in a robotic system |
JP7384602B2 (ja) * | 2019-09-12 | 2023-11-21 | ファナック株式会社 | ロボット制御装置 |
CN114174009B (zh) * | 2019-09-30 | 2023-07-21 | 西门子(中国)有限公司 | 控制机器人的方法、装置、***、存储介质和终端 |
JP7493926B2 (ja) * | 2019-10-30 | 2024-06-03 | キヤノン株式会社 | 制御方法、制御装置、ロボットシステム、物品の製造方法、動作プログラム作成方法、動作プログラム作成装置、表示装置、表示装置の制御方法、プログラムおよび記録媒体 |
CN110815226B (zh) * | 2019-11-15 | 2022-03-01 | 四川长虹电器股份有限公司 | 一种机器人任意姿态任意位置下回初始位置的方法 |
CN111113426A (zh) * | 2019-12-31 | 2020-05-08 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于cad平台的机器人离线编程*** |
US11707843B2 (en) | 2020-04-03 | 2023-07-25 | Fanuc Corporation | Initial reference generation for robot optimization motion planning |
US11858141B2 (en) * | 2020-07-08 | 2024-01-02 | Ubtech Robotics Corp Ltd | Impedance control method, and controller and robot using the same |
US20220032461A1 (en) * | 2020-07-31 | 2022-02-03 | GrayMatter Robotics Inc. | Method to incorporate complex physical constraints in path-constrained trajectory planning for serial-link manipulator |
CN114603552B (zh) * | 2020-12-08 | 2024-05-10 | 北京配天技术有限公司 | 一种机器人仿真方法、电子设备和存储介质 |
JP6985566B1 (ja) * | 2021-04-06 | 2021-12-22 | ファナック株式会社 | 選択装置、通信制御装置、シミュレーション装置、及び記録媒体 |
CN113655717B (zh) * | 2021-08-16 | 2023-09-22 | 中冶东方工程技术有限公司 | 一种自动控制配矿料槽连续加料方法和*** |
CN113703461B (zh) * | 2021-08-31 | 2023-10-27 | 库卡机器人制造(上海)有限公司 | 路径确定方法、装置、机器人和可读存储介质 |
DE102021212542B3 (de) * | 2021-11-08 | 2022-12-22 | Volkswagen Aktiengesellschaft | Verfahren zum Betreiben eines mehrachsigen Roboters und Roboter |
KR20240109254A (ko) * | 2021-11-16 | 2024-07-10 | 쓰리엠 이노베이티브 프로퍼티즈 캄파니 | 테이프의 로봇 적용 |
CN116533236B (zh) * | 2023-05-09 | 2024-04-12 | 北京航空航天大学 | 一种基于离散工作空间的服务机器人操作评估策略 |
CN117253198B (zh) * | 2023-11-20 | 2024-01-26 | 山东大学 | 一种智能制造动态管理方法及*** |
CN117817673B (zh) * | 2024-03-05 | 2024-05-03 | 泓浒(苏州)半导体科技有限公司 | 晶圆搬运机械臂动态路径调整***及方法 |
CN117885115B (zh) * | 2024-03-07 | 2024-06-14 | 中建三局集团有限公司 | 焊接机器人多优化目标的轨迹优化方法及装置 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE59205627D1 (de) * | 1991-12-09 | 1996-04-11 | Siemens Ag | Verfahren zur optimierung von steuerparametern für ein system, das in abhängigkeit der steuerparameter ein ist-verhalten aufweist |
SE501867C2 (sv) * | 1993-11-15 | 1995-06-12 | Asea Brown Boveri | Förfarande och system för kalibrering av en industrirobot utnyttjande en sfärisk kalibreringskropp |
JP3002097B2 (ja) | 1994-08-25 | 2000-01-24 | ファナック株式会社 | ビジュアルトラッキング方法 |
US6167328A (en) * | 1995-09-19 | 2000-12-26 | Kabushiki Kaisha Yaskawa Denki | Robot language processing apparatus |
EP1040393A4 (en) * | 1997-09-04 | 2004-03-10 | Dynalog Inc | METHOD FOR CALIBRATING A ROBOTIZED CONTROL SYSTEM |
US6076030A (en) * | 1998-10-14 | 2000-06-13 | Carnegie Mellon University | Learning system and method for optimizing control of autonomous earthmoving machinery |
US6157873A (en) * | 1998-04-09 | 2000-12-05 | Motoman, Inc. | Robot programming system and method |
FR2818168B1 (fr) | 2000-12-19 | 2003-09-19 | Eisenmann France Sarl | Procede de controle d'une installation de revetement de surface par pistolage |
JP2002192486A (ja) | 2000-12-25 | 2002-07-10 | Seiko Epson Corp | ロボット制御方法及び該方法を適用したロボットコントローラ |
ATE303209T1 (de) | 2001-10-26 | 2005-09-15 | Inropa Aps | Verfahren zur automatischen flächenbehandlung |
GB0130986D0 (en) | 2001-12-27 | 2002-02-13 | Prophet Control Systems Ltd | Programming robots with offline design |
SE0303145D0 (sv) * | 2003-11-23 | 2003-11-23 | Abb Research Ltd | Method for optimising the performance of a robot |
US7236854B2 (en) * | 2004-01-05 | 2007-06-26 | Abb Research Ltd. | Method and a system for programming an industrial robot |
DE102004028565A1 (de) * | 2004-06-15 | 2006-01-05 | Abb Patent Gmbh | Verfahren und System zur Ermittlung eines Wartungsbedarfs |
JP2006048244A (ja) * | 2004-08-02 | 2006-02-16 | Fanuc Ltd | 加工プログラム作成装置 |
DE102004046351A1 (de) * | 2004-09-24 | 2006-03-30 | Daimlerchrysler Ag | Verfahren zur automatischen Konservierung der Hohlräume eines Kraftfahrzeugs |
JP2006247677A (ja) | 2005-03-09 | 2006-09-21 | Fanuc Ltd | レーザ溶接教示装置及び方法 |
JP4210270B2 (ja) * | 2005-06-07 | 2009-01-14 | ファナック株式会社 | ロボット制御装置及びロボット制御方法 |
JP4056542B2 (ja) | 2005-09-28 | 2008-03-05 | ファナック株式会社 | ロボットのオフライン教示装置 |
US7853356B2 (en) * | 2006-04-14 | 2010-12-14 | Fanuc Robotics America, Inc. | Method for optimizing a robot program and a robot system |
KR100898034B1 (ko) * | 2007-07-11 | 2009-05-19 | (주) 엔씨비 | 공구경로 수정 방법 |
KR100898035B1 (ko) * | 2007-07-11 | 2009-05-19 | (주) 엔씨비 | 공구경로 수정 방법 |
DE102008027475A1 (de) | 2008-06-09 | 2009-12-10 | Kuka Roboter Gmbh | Vorrichtung und Verfahren zur rechnergestützten Generierung einer Manipulatorbahn |
DE112008003963B4 (de) | 2008-08-12 | 2016-11-24 | Abb Technology Ltd. | System und Verfahren zur Off-line-Programmierung eines Industrieroboters |
EP2345512A1 (en) | 2010-01-14 | 2011-07-20 | Syddansk Universitet | Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (N>5) |
US8972056B2 (en) | 2010-01-14 | 2015-03-03 | Syddansk Universitet | Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (n>5) |
IT1397985B1 (it) * | 2010-02-08 | 2013-02-04 | Prima Ind Spa | Procedimento di monitoraggio della qualità di processi di lavorazione laser e relativo sistema |
US20120156362A1 (en) | 2010-12-21 | 2012-06-21 | Alexandr Sadovoy | Method and device for coating path generation |
-
2012
- 2012-09-06 CN CN201280055001.5A patent/CN104010774B/zh active Active
- 2012-09-06 US US14/345,313 patent/US9701019B2/en active Active
- 2012-09-06 KR KR1020147009832A patent/KR102028770B1/ko active IP Right Grant
- 2012-09-06 WO PCT/EP2012/067413 patent/WO2013037693A2/de active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US9701019B2 (en) | 2017-07-11 |
WO2013037693A3 (de) | 2013-06-06 |
CN104010774A (zh) | 2014-08-27 |
US20140371905A1 (en) | 2014-12-18 |
KR102028770B1 (ko) | 2019-10-04 |
WO2013037693A2 (de) | 2013-03-21 |
KR20140090601A (ko) | 2014-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104010774B (zh) | 用于自动生成机器人程序的***和方法 | |
US11537130B2 (en) | Robot plan online adjustment | |
EP3733355A1 (en) | Robot motion optimization system and method | |
US9108316B2 (en) | Method and system for in-production optimization of the parameters of a robot used for assembly | |
RU2549161C2 (ru) | Способ автономного программирования манипулятора с цифровым управлением | |
CN102317044A (zh) | 产业用机器人*** | |
WO2017168187A1 (en) | Method and system for determining optimal positioning of a plurality of robots in a simulated production environment | |
Godoy et al. | Adaptive learning for multi-agent navigation | |
JP6508691B1 (ja) | 制御装置、作業ロボット、プログラム、及び、制御方法 | |
CN101128828A (zh) | 自动路径学习的方法和设备 | |
CN111530671A (zh) | 一种基于喷涂***的智能机器人喷涂方法 | |
Sadeghzadeh et al. | Self-learning visual servoing of robot manipulator using explanation-based fuzzy neural networks and Q-learning | |
CN111596614B (zh) | 基于云边协同的运动控制误差补偿***及方法 | |
DE102011082800A1 (de) | System und Verfahren zur automatisierten Erstellung von Roboterprogrammen | |
CN107678842A (zh) | 一种用于移动机器人的定时任务的方法及*** | |
US20240009841A1 (en) | Dynamic target tracking method, robot and computer-readable storage medium | |
CN110948488A (zh) | 一种基于时间最优的机器人自适应轨迹规划算法 | |
Polden et al. | Adaptive partial shortcuts: Path optimization for industrial robotics | |
Cao et al. | A robot 3C assembly skill learning method by intuitive human assembly demonstration | |
Zahorán et al. | ProSeqqo: A generic solver for process planning and sequencing in industrial robotics | |
CN105415376B (zh) | 一种离线编程装置 | |
Bobkov et al. | Vision-based navigation method for a local maneuvering of the autonomous underwater vehicle | |
Solvang et al. | Robot programming in machining operations | |
CN114879701A (zh) | 一种机器人轨道避障方法及*** | |
Jia et al. | Dynamic grasping with a learned meta-controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |