CN107486858A - 基于RoboDK的多机械臂协同离线编程方法 - Google Patents
基于RoboDK的多机械臂协同离线编程方法 Download PDFInfo
- Publication number
- CN107486858A CN107486858A CN201710668969.XA CN201710668969A CN107486858A CN 107486858 A CN107486858 A CN 107486858A CN 201710668969 A CN201710668969 A CN 201710668969A CN 107486858 A CN107486858 A CN 107486858A
- Authority
- CN
- China
- Prior art keywords
- mechanical arm
- mechanical
- robodk
- arm
- program
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000033001 locomotion Effects 0.000 claims abstract description 73
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000004458 analytical method Methods 0.000 claims abstract description 11
- 230000000694 effects Effects 0.000 claims abstract description 9
- 230000001360 synchronised effect Effects 0.000 claims description 31
- 239000012636 effector Substances 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 22
- 230000002195 synergetic effect Effects 0.000 claims description 22
- 238000004088 simulation Methods 0.000 claims description 20
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 230000008878 coupling Effects 0.000 claims description 10
- 238000010168 coupling process Methods 0.000 claims description 10
- 238000005859 coupling reaction Methods 0.000 claims description 10
- 238000012800 visualization Methods 0.000 claims description 10
- 230000009466 transformation Effects 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 5
- 230000009347 mechanical transmission Effects 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 5
- 230000008676 import Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 238000002474 experimental method Methods 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 abstract description 9
- 238000011161 development Methods 0.000 abstract description 3
- 238000012827 research and development Methods 0.000 abstract 1
- 230000000007 visual effect Effects 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 10
- 229910000831 Steel Inorganic materials 0.000 description 9
- 239000010959 steel Substances 0.000 description 9
- 238000003466 welding Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 235000008331 Pinus X rigitaeda Nutrition 0.000 description 1
- 235000011613 Pinus brutia Nutrition 0.000 description 1
- 241000018646 Pinus brutia Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000003028 elevating effect Effects 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 210000000323 shoulder joint Anatomy 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
一种基于RoboDK的多机械臂协同离线编程方法,在RoboDK可视化界面中搭建多机械臂协同加工工作环境,根据实际工件处理需要确定协同运动类型并分配主从机工作任务,完成机械臂运动学分析并对指定的协同运动类型规划运动路径,结合RoboDK‑API接口函数和规划好的运动路径编写协同工作程序,运行程序并检测碰撞与路径偏差情况输出相应数据,根据输出的数据处理碰撞和路径偏差从而调整规划的运动路径达到最优运行效果,最后编写后置处理器程序,生成多机械臂协同实际可执行代码。本发明大幅度拓展了RoboDK的功能,为机械臂离线编程领域的发展提供了新的技术方案,缩短了多机械臂协同加工的研发周期,极大提高了生产加工效率。
Description
技术领域
本发明涉及机械臂离线编程技术领域,尤其涉及一种基于RoboDK的多机械臂协同离线编程方法。
背景技术
伴随着工业现代化的快速发展,机器人技术作为体现工业自动化水平和智能化程度的重要标杆,得到了人们日益的关注。其中,机器人操作臂离线编程仿真技术结合计算机图形学、语言学和机器人技术,很好地解决了传统示教编程的不足,有效保证了生产的产品质量、提高劳动生产率和改善工作环境。
相对于传统的示教编程的方法,离线编程具有以下优势:(1)减少实体机器人的占用时间,可以并发处理多个任务作业,从而提高了生产率,易于实现柔性生产;(2)结合计算机图形学技术和机器人编程语言,对于复杂的运动进行描述和编程,并进行高精度的仿真,可以实现复杂运动轨迹和运动参数的优化;(3) 对机器人的轨迹规划等算法进行验证,并及早将运行过程中可能出现的问题通过仿真暴露出来,可以防止作业过程中实体机器人因为操作失误造成的损坏;(4) 相对于示教编程,机器人控制程序可以不需要改动或者少量的改动就可以从一个型号的机器人移植到另外一个机器人上,从而进行相同的作业任务,另外一方面采用文本的编程方法,也很方便地进行程序的修改或编辑;(5)离线仿真编程可以方便地与智能控制算法相结合,提高机器人作业的质量和稳定性;(6)通过编程仿真,生产者可以根据实际的作业环境和生产需求测试不同类型的机器人及其运行的效果,从而为机器人的选型提供了有效的依据。因此,离线编程技术相对于传统的示教编程有极大的优势,日趋成为机器人研究领域的研究热点。
目前,国内外对工业机器人离线编程与仿真已进行了若干研究,不少文献和专利都有相关介绍。金自立提出了一种工业机器人的离线编程和虚拟仿真技术 (金自立.工业机器人的离线编程和虚拟仿真技术[J].机器人技术与应用,2015,(06):44-46.[2017-08-02])其重点介绍了工业机器人离线编程和虚拟仿真技术的主要组成部分和技术难点并对该技术的未来发展方向提出了一些猜想;但只是对其进行概述和分模块说明,对该技术中离线编程与仿真平台搭建,具体轨迹规划方法,后置处理器编写方案都未涉及,也未提及多机械臂协同离线编程技术;郑松,吕冬冬等人提出了一种多工业机器人的协同控制方法(郑松, 吕冬冬,曾其鋆,何伟东,张望,李贝贝,陈智呈,孙云.一种多工业机器人的协同控制方法[P].福建:CN106502095A,2017-03-15),其具体解决了实际环境中多工业机器之间的协同控制方法,但主要是针对各机械臂之间通信技术和协同控制技术进行研究,并未涉及多机械臂协同离线编程方案,也没有实现执行程序的在线仿真。
综上所述,多机械臂协同离线编程方法可以填补机械臂离线编程领域的空白。为开发复杂的机械臂协同加工方案提供了研究平台和技术支持,使工程师在开发复杂加工任务时有更多的技术方案选择,同时极大的缩短了研发周期,大幅度提高加工生产效率。
发明内容
本发明要克服现有技术的上述缺陷,提供了一种基于RoboDK的多机械臂协同编程方法。
本发明针对多机械臂协同控制中离线编程的具体实现方法给出不同协同运动类型的路径规划和实现相应仿真的详细技术方案,并完成了生成实际机器人运行代码所需的后置处理器程序的编写。皆在解决多机械臂离线编程现有技术中存在协同控制方案缺失,运行效果不佳,工程转化效率明显等问题。
本发明为解决上述技术问题采用的工作流程如图1所示,具体步骤为:
步骤1:导入模型,建立坐标系,完成平台搭建;
在RoboDK可视化界面中导入机械臂,末端执行器,加工工件的3D模型,配置机械臂的DH参数来建立完整的机械臂仿真模型,对各模型建立基坐标系并搭建父/子坐标系树,完成多机械臂协同仿真工作站搭建;
步骤2:确定协同运动类型,规定主/从机数量,分配主/从机任务;
首先根据实际的加工处理需要分析任务需求,根据单个机械臂末端执行器的相对运动把多机械臂协同运动分为三种类型,并行协同,耦合同步协同和组合同步协同;规避机械臂关节空间中复杂的协同运动笛卡尔轨迹,从笛卡尔空间中机械臂之间的协作入手;并行协同类型不存在机械臂之间的位置或方向限制;耦合同步协同中,所有机械臂在同步点t0作为强制同步开始时间,所有机械臂同时执行相同的线或圆弧运动,且在主从末端执行器之间不存在相对运动,主要用于负载分担任务;在组合同步协同中,所有机械臂在同步运动周期Δt运行相同的时间,主机械臂执行基本的直线运动或圆弧运动,而从机械臂相对于主机械臂的末端执行器执行不同的运动块,在主机械臂的基本运动上产生一个叠加运动;根据以上协同运动定义,结合任务要求分配主机械臂(一个)和从机械臂(根据任务可以有多个)工作内容。
步骤3:完成机械臂运动学分析,根据协同运动类型规划运行路径;
根据机械臂固有参数,完成各机械臂运动学分析,依据机器人运动学的正解方程求出机械臂末端坐标系到基坐标系的变换关系;针对耦合同步协同,考虑两个机械臂(主/从机),每个具有n个关节,处理超过任何单个机械臂有效载荷能力的大体积刚体对象;为了移动物体,两个机械臂末端执行器在两个特殊点抓取物体;识别这样的运动为耦合同步运动,主从末端执行器之间的相对位置/方向为常量;mbPm(t)∈R4×4为在时间t时,主机械臂在主机械臂基坐标系下的位姿,sbPs(t)∈R4×4为在时间t时,从机械臂在从机械臂基坐标系下的位姿,可以获得
mbPs(t)=mbHsb·sbPs(t)
其中mbHsb∈R4×4是从机械臂基坐标系到主机械臂基坐标系的转移矩阵,为常量的齐次变换矩阵矩阵。t0为mbPm(t)和sbPs(t)的同步开始时间,mHs(t)∈R4×4为在时间t0从机械臂末端执行器到主机械臂基坐标系下的主末端执行器的转移矩阵,可以获得
mbPm(0)=mHs·mbPs(0)
当时间t=0时
mbPm(0)=mHs·mbHsb·sbPs(0)
由上式获得
mHs=mbPm(0)·(sbPs(0))-1·sbHmb
mHs在整个耦合同步协同中为常量,可以获得
mbPm(t)=mHs·mbPs(t)
=mHs·mbHsb·sbPs(t)
=mbPm(0)·(sbPs(0))-1·sbHmb·mbHsb·sbPs(t)
=mbPm(0)·(sbPs(0))-1·sbPs(t)
由上式获得
sbPs(t)=sbPs(0)·(mbPm(0))-1·mbPm(t)
通过此方程得,可以通过主机械臂运动轨迹mbPm(t)(位姿的离散点组成)和耦合同步协同运动开始时间的位姿mbPm(0)来唯一确定从机的运动轨迹sbPs(t)(位姿的离散点组成);
针对组合同步协同,预先设定主机械臂的运动轨迹,而从机械臂运动轨迹根据加工要求而定,主从机械臂之间的协同运动约束为时变约束;mbPm(t)是主机械臂在主机械臂基坐标系下的运动轨迹,mePs(t)为主机械臂末端执行器坐标系下的加工要求也是主机械臂末端执行器坐标系下的从机运动轨迹;由机器人逆运动学知识,把轨迹mbPm(t)转换到主关节空间来,从机轨迹mePs(t)从主机末端执行器坐标系转移到从机末端执行器坐标系,通过齐次变换获得
sbPs(t)=sbHmb·mbHme(t)·mePs(t)
sbHmb是从主机基坐标系转移到从机基坐标系的转移矩阵,mbHme(t)是从主末端执行器坐标系到主机器人基坐标系的转换矩阵;meHmb(t)的转置为mbHme(t),根据机器人正运动学的定义,机器人末端执行器的位置/方向在其基坐标系下获得
mbHme(t)=(meHmb(t))-1=(mbPm(t))-1
由以上两个公式获得,
sbPs(t)=sbHmb·(mbPm(t))-1·mePs(t)
得到组合协同运动中主机与从机位姿的完整约束,从而完成主机与从机的完整路径规划。
步骤4:如图2所示,利用步骤3的路径规划策略规划协同路径并结合 RoboDK-API函数编写协同控制程序,为各机械臂的运行程序开辟控制线程,实现同步协同控制;
首先调用RoboDK-API接口函数,获取各机械臂和工件的基坐标和末端执行器的姿态信息;完成机械臂相关运动学求解;设定各类协同任务开始执行的坐标点M;根据加工需要编写主机器人加工路径,并结合步骤3的协同路径规划策略编写从机器人的运行代码;完成多机械臂仿真程序运行多线程时各机械臂间通信数据的互锁函数和同一时间轴下各机械臂同步等待函数的编写;为每个机械臂运行程序开辟独立线程;编写协同任务完成后的退出程序;设置停止信号。
步骤5:如图3所示,运行机械臂协同控制程序,根据仿真界面检测碰撞和各机器人运行路径偏差情况;
在运行仿真程序时,通过RoboDK可视化界面显示机械臂协同运行时出现的碰撞区域,输出碰撞区域的位置信息;显示各机械臂仿真运行路径,输出各机械臂运行时的整条运行曲线。
步骤6:根据步骤5运行情况调整步骤3的规划路径并在步骤4中完成相应的代码修改,最终实现较好的运行效果;
根据步骤5中输出的碰撞区域位置信息和运行路径的位置信息,确定机械臂之间的碰撞程度;对碰撞程度较严重的区域重新规划该段路径;对碰撞程度较轻的区域通过在该段路径上的离散点加权方式略微修改运行路径。
步骤7:如图4所示编写并运行后置处理器脚本,把多机械臂协同控制的仿真程序转化为机械臂实际可执行代码并输出;
编写后置处理器程序,完成RoboDK与实际机器人的通讯程序;调用实际机器人运行命令库和RoboDK-API函数库,根据实际机械臂控制命令与仿真程序的控制命令之间的对应关系,结合实际机器人和RoboDK中仿真机器人之间的比例关系,把两者的控制命令整理成完整的对应关系;根据编写的后置处理器程序把完成步骤6后得到的仿真程序输出为实际机械臂可执行程序,通过此功能可以直接把仿真实验成果投入到实际机械臂操作中。
本发明与现有技术相比具有以下有益效果:
1、本发明相较于传统的机械臂离线编程软件,采用RoboDK离线编程平台,其扩展的3D可视化界面可以导入各厂家机械臂模型并配置对应参数。该平台直观的用户界面,便于搭建虚拟工作环境,可根据实际需要设置机械臂各坐标系和工件坐标系,并能直接在平台上设定机器人运动轨迹及目标,为多种工业应用预先进行离线编程。
2、根据实际生产加工需要,对多机械臂协同控制进行了相关分类。主要对协同控制中较难的耦合同步协同控制和组合同步协同控制完成相应的路径规划,并在RoboDK上实现了仿真程序。拓展了RoboDK在多机械臂协同控制离线编程方面的功能,其大大降低了多机械臂协同加工的研发周期,最终大幅度提高生产加工效率。
3、本发明方法能够实现机械臂在线编程、碰撞检测和路径优化,可以在不停机的状态下修改机器人运动算法和参数,并通过预先运行仿真程序来检验轨迹的质量和效率,不断完善运行路径,提高了机械臂对工序改变的适应性和通用性。
附图说明
图1是本发明方法的操作示意图。
图2是多机械臂协同控制代码实现流程图。
图3是多机械臂协同工作状态仿真示意图,其中图3a表示协同运行阶段,图3b表示协同运行结束阶段。
图4是后置处理器程序实现流程图。
具体实施方式
以下结合附图对本发明做进一步详述。
本发明针对目前多机械臂协同离线编程方法不完善和功能缺失问题,考虑制造业2025对工业机器人加工能力提升的迫切需要,基于RoboDK平台,结合其二次开发的API函数,提出了一种较完善的机械臂协同离线编程方法,提高了用于协同控制的离线编程开发效率,大幅度提升机械臂在生产加工领域的实力。本发明首先在RoboDK可视化界面中导入机械臂,末端执行器、加工工件的3D 模型,配置机械臂的DH参数建立完整机械臂仿真模型,完成协同仿真平台搭建;确定协同运动类型,规定主/从机数量和工作任务;对导入的机械臂模型进行运动学分析和求解,根据协同运动类型规划运行路径;根据规划的协同运动路径,结合RoboDK-API函数编写协同控制程序,为各机械臂的运行程序开辟控制线程,实现同步协同控制;运行编写的协同控制程序,根据仿真界面检测碰撞和各机器人运行路径偏差情况;重复执行前一步骤来完善路径运行代码,实现较优的运行效果;最后运行编写的后置处理器程序,把多机械臂协同控制的仿真程序转化为机械臂实际可执行代码并输出。
如图1所示,基于RoboDK的多机械臂协同离线编程方法对于焊接协同加工任务的具体操作步骤如下:
步骤1:导入模型,建立坐标系,完成平台搭建;
在RoboDK可视化界面中导入焊接需要的KUKA-KR-6-R900和 Fanuc-LR-Mate-200iD/7L-Base机械臂模型,加持焊接板和焊接枪末端执行器,导入规格为100x100x5cm的焊接钢板3D模型。根据KUKA和Fanuc官网上给的这两款机械臂DH参数建立与实际机械臂完整对应的机械臂仿真模型,对导入的各模型设置各自的基坐标系并在RoboDK可视化界面的左侧搭建以名为2 robots Cooperation V1世界坐标系为树根的坐标系树。把机械臂基坐标系设置为世界坐标系下的子坐标系,把末端执行器的坐标系设置为机械臂基坐标系下的子坐标系。以此类推,建立完整工作站坐标系树,最终完成多机械臂协同仿真工作站搭建。
步骤2:确定协同运动类型,规定主/从机数量,分配主/从机任务;
首先分析这次任务要完成的是对钢板的焊接加工任务,需要两个机械臂协同作业,一个机械臂夹持钢板,一个机械臂对钢板进行焊接操作。通过规避机械臂关节空间中复杂的协同运动笛卡尔轨迹,从笛卡尔空间中机械臂之间的协作入手,确定此类加工为组合同步协同任务,规定夹持工件的KUKA-KR-6-R900机械臂为主机,做基本的曲线运动,拥有焊枪的Fanuc-LR-Mate-200iD/7L-Base机械臂为从机,对钢板进行焊接加工运动,在同步运动周期Δt,主/从机根据组合协同运动特性开始执行协同运动任务,可以让焊点时刻保持最佳状态并顺利完成运动目标的焊接任务。根据实际焊接任务场景,结合两个机械臂的工作空间大小,以钢板位置为工作中心把主/从机械臂移动到各自工件加工的最佳位置,从而提高加工的可行性和效率。
步骤3:完成机械臂运动学分析,根据协同运动类型规划运行路径;
根据KUKA-KR-6-R900和Fanuc-LR-Mate-200iD/7L-Base机械臂固有参数,完成这两个机械臂的运动学分析,依据机器人运动学的正解方程可以得到工业机器人(以六轴为例)的变换关系为
其中表示关节n末端相对于关节n-1末端的变换矩阵,n表示关节数,θn表示关节旋转角度,是法兰盘相对于第六轴的变换矩阵,是末端执行器相对于法兰盘的变换矩阵,是机械臂原点相对于机器臂基座的变换矩阵,通过该方程可以求出机械臂末端执行器坐标系到基坐标系的对应关系。由步骤2已经认定,该焊接协同任务为组合同步协同,预先设定主机围绕协同开始点做圆弧运动,从机运动轨迹根据钢板上焊接任务需要做半径为40cm的圆周运动,主/从机之间的协同运动约束为时变约束。在这里,我们设定mbPm(t)∈R4×4为在时间t时,主机械臂在主机械臂基坐标系下的位姿,sbPs(t)∈R4×4为在时间t时,从机械臂在从机械臂基坐标系下的位姿,sbHmb是从主机的基坐标系转移到从机基坐标系的转移矩阵,mePs(t)为主机械臂末端执行器坐标系下的加工要求,也是主机械臂末端执行器坐标系下的从机运动轨迹。由方程
sbPs(t)=sbHmb·(mbPm(t))-1·mePs(t)
得到组合协同运动中主机和从机位姿的完整约束,从而完成主机与从机的完整路径规划。
步骤4:如图2所示,利用步骤3的路径规划策略规划协同路径并结合 RoboDK-API函数编写协同控制程序,为各机械臂的运行程序开辟控制线程,实现同步协同控制;
首先调用RoboDK-API接口函数,获取KUKA-KR-6-R900和 Fanuc-LR-Mate-200iD/7L-Base机械臂和钢板的基坐标和末端执行器喷枪的姿态信息;完成步骤2中涉及的机械臂相关运动学求解;设定各类协同任务开始执行的坐标点M;根据钢板焊接任务需要编写主机器人运动路径,并结合焊接任务对应的组合协同路径规划策略编写从机器人的焊接作业运行代码;完成焊接任务机械臂加工的仿真程序运行多线程时主机器人与从机器人之间通信数据的互锁函数和同一时间轴下主/从机械臂同步等待函数的编写;为主/从机械臂运行程序开辟独立线程;编写焊接任务完成后两个机械臂的退出程序;设置停止信号和位置,让主机械臂回到机械臂运行原点,从机械臂回到机械臂加工安全工位。
步骤5:如图3所示,运行机械臂协同控制程序,根据仿真界面检测碰撞和各机器人运行路径偏差情况;
在运行焊接任务仿真程序时,通过RoboDK可视化界面显示主/从机械臂协同运行时出现的碰撞区域,输出碰撞区域的位置信息;显示主/从机械臂仿真运行路径,通过RoboDK-API函数接口输出主/从机械臂的完整运行曲线。
步骤6:根据步骤5运行情况调整步骤3的规划路径并在步骤4中完成相应的代码修改,最终实现较好的运行效果;
根据步骤5中输出的碰撞区域位置信息和运行路径的位置信息,确定主/从机械臂之间的碰撞程度;对碰撞程度较严重的区域重新规划该段路径;对碰撞程度较轻的区域通过在该段路径上的离散点加权方式略微修改运行路径。再运行仿真程序,根据仿真效果相应修改路径执行代码,直到仿真效果优质时停止此步骤。
步骤7:如图4所示编写并运行后置处理器脚本,把多机械臂协同控制的仿真程序转化为机械臂实际可执行代码并输出;
根据KUKA-KR-6-R900和Fanuc-LR-Mate-200iD/7L-Base机械臂的数据手册和RoboDK-API函数库编写后置处理器程序,完成RoboDK与实际机器人的通讯程序;调用实际机器人运行命令库和RoboDK-API中控制机械臂运行的函数库,根据实际机械臂控制命令与仿真程序控制命令之间的对应关系,结合实际机器人和 RoboDK中仿真机器人之间的比例关系,两者整合使之具有完整的对应关系;根据编写的后置处理器程序,把完成步骤6后得到的焊接任务仿真程序输出为实际机械臂可执行代码,通过此功能可以直接把焊接任务仿真实验成果投入到实际机械臂的焊接任务操作中。
要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的类似的其它实施方式,同样属于本发明的保护范围。
Claims (4)
1.一种基于RoboDK的多机械臂协同离线编程方法,具体步骤如下:
步骤1:导入模型,建立坐标系,完成平台搭建;
在RoboDK可视化界面中导入机械臂,末端执行器,加工工件的3D模型,配置机械臂的DH参数来建立完整的机械臂仿真模型,对各模型建立基坐标系并搭建父/子坐标系树,完成多机械臂协同仿真工作站搭建;
步骤2:确定协同运动类型,规定主/从机数量,分配主/从机任务;
首先根据实际的加工处理需要分析任务需求,根据单个机械臂末端执行器的相对运动把多机械臂协同运动分为三种类型,并行协同,耦合同步协同和组合同步协同;根据以上协同运动定义,结合任务要求来分配主机械臂和从机械臂的相应工作任务;
步骤3:完成机械臂运动学分析,根据协同运动类型规划运行路径;
根据机械臂固有参数,完成各机械臂运动学分析,依据机器人运动学的正解方程求出机械臂末端坐标系到基坐标系的变换关系,对耦合同步协同和组合同步协同类型规划运动轨迹;
步骤4:利用步骤3的路径规划策略规划协同路径并结合RoboDK-API函数编写协同控制程序,为各机械臂的运行程序开辟控制线程,实现同步协同控制;
首先调用RoboDK-API接口函数,获取各机械臂和工件的基坐标和末端执行器的姿态信息;完成机械臂相关运动学求解;设定各类协同任务开始执行的坐标点M;根据加工需要编并结合步骤3的协同路径规划策略编写主/从机械臂的运行代码;完成多机械臂仿真程序运行多线程时各机械臂间通信数据的互锁函数和同一时间轴下各机械臂同步等待函数的编写;为每个机械臂运行程序开辟独立线程;编写协同任务完成后的退出程序,设置停止信号;
步骤5:运行机械臂协同控制程序,根据仿真界面检测碰撞和各机器人运行路径偏差情况;
在运行仿真程序时,通过RoboDK可视化界面显示机械臂协同运行时出现的碰撞区域,输出碰撞区域的位置信息;显示各机械臂仿真运行路径,输出各机械臂运行时的完整运行曲线段;
步骤6:根据步骤5运行情况调整步骤3的规划路径并在步骤4中完成相应的代码修改,最终实现较好的运行效果;
根据步骤5中输出的碰撞区域位置信息和运行路径的位置信息,确定机械臂之间的碰撞程度;对碰撞程度较严重的区域重新规划该段路径;对碰撞程度较轻的区域,通过对该段路径上的离散点加权的方式修改运行路径;
步骤7:编写并运行后置处理器脚本,把多机械臂协同控制的仿真程序转化为机械臂实际可执行代码并输出;
编写后置处理器程序,完成RoboDK与实际机器人的通讯程序;调用实际机器人运行命令库和RoboDK-API函数库,根据实际机械臂控制命令与仿真程序的控制命令之间的对应关系,结合实际机器人和RoboDK中仿真机器人之间的比例关系,把两者的控制命令整理成完整的对应关系;根据编写的后置处理器程序把完成步骤6后得到的仿真程序输出为实际机械臂可执行程序,通过此功能可以直接把仿真实验成果投入到实际机械臂操作中。
2.根据权利要求1所述的基于RoboDK的多机械臂协同离线编程方法,其特征在于,所述步骤1中坐标系树的建立步骤如下:首先对要导入到RoboDK可视化界面中的机械臂,末端执行器,加工工件进行坐标从属关系分析,建立一个世界坐标系作为该工程的基坐标系,在世界坐标系的子目录下为每个机械臂建立基坐标系,在机械臂子目录下建立末端执行器坐标系,最后在末端执行器子目录下建立待加工工件坐标系,最终完成加工平台搭建。
3.根据权利要求1所述的基于RoboDK的多机械臂协同离线编程方法,其特征在于,所述步骤2中对协同运动类型划分的具体方法如下:通过规避机械臂关节空间中复杂的协同运动笛卡尔轨迹,从笛卡尔空间中机械臂之间的协作入手;并行协同类型不存在机械臂之间的位置或方向限制;耦合同步协同中,所有机械臂在同步点t0作为强制同步开始时间,所有机械臂同时执行相同的线或圆弧运动,且在主从末端执行器之间不存在相对运动,主要用于负载分担任务;在组合同步协同中,所有机械臂在同步运动周期△t运行相同的时间,主机械臂执行基本的直线运动或圆弧运动,而从机械臂相对于主机械臂的末端执行器执行不同的运动块,在主机械臂的基本运动上产生一个叠加运动。
4.根据权利要求1所述的基于RoboDK的多机械臂协同离线编程方法,其特征在于,所述步骤3中对协同运动路径规划的具体方法如下:针对耦合同步协同,考虑两个机械臂(主/从机),每个具有n个关节,处理超过任何单个机械臂有效载荷能力的大体积刚体对象;为了移动物体,两个机械臂末端执行器在两个特殊点抓取物体;识别这样的运动为耦合同步运动,主从末端执行器之间的相对位置/方向为常量;mbPm(t)∈R4×4为在时间t时,主机械臂在主机械臂基坐标系下的位姿,sbPs(t)∈R4×4为在时间t时,从机械臂在从机械臂基坐标系下的位姿,mbPm(0)为在时间t=0时,主机械臂在主机械臂基坐标系下的位姿;sbPs(0)为在时间t=0时,从机械臂在从机械臂基坐标系下的位姿;由方程
sbPs(t)=sbPs(0)·(mbPm(0))-1·mbPm(t)
可以通过主机械臂运动轨迹mbPm(t)(位姿的离散点组成)和耦合同步协同运动开始时间的位姿mbPm(0)来唯一确定从机的运动轨迹sbPs(t)(位姿的离散点组成);
针对组合同步协同,预先设定主机械臂的运动轨迹,而从机械臂运动轨迹根据加工要求而定,主从机械臂之间的协同运动约束为时变约束;sbHmb是从主机的基坐标系转移到从机基坐标系的转移矩阵,mePs(t)为主机械臂末端执行器坐标系下的加工要求,也是主机械臂末端执行器坐标系下的从机运动轨迹;由方程
sbPs(t)=sbHmb·(mbPm(t))-1.mePs(t)
得到组合协同运动中主机与从机位姿的完整约束,从而完成主机与从机的完整路径规划。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710668969.XA CN107486858A (zh) | 2017-08-08 | 2017-08-08 | 基于RoboDK的多机械臂协同离线编程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710668969.XA CN107486858A (zh) | 2017-08-08 | 2017-08-08 | 基于RoboDK的多机械臂协同离线编程方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107486858A true CN107486858A (zh) | 2017-12-19 |
Family
ID=60643378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710668969.XA Pending CN107486858A (zh) | 2017-08-08 | 2017-08-08 | 基于RoboDK的多机械臂协同离线编程方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107486858A (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108527367A (zh) * | 2018-03-28 | 2018-09-14 | 华南理工大学 | 一种多机器人协同作业任务的描述方法 |
CN108656107A (zh) * | 2018-04-04 | 2018-10-16 | 北京航空航天大学 | 一种基于图像处理的机械臂抓取***及方法 |
CN109760045A (zh) * | 2018-12-27 | 2019-05-17 | 西安交通大学 | 一种离线编程轨迹生成方法及基于该方法的双机器人协同装配*** |
CN109831354A (zh) * | 2019-01-22 | 2019-05-31 | 浙江工业大学 | 基于opc ua工业通讯协议的虚拟调试*** |
CN110026820A (zh) * | 2018-01-12 | 2019-07-19 | 财团法人工业技术研究院 | 机床防碰撞方法及应用其的*** |
CN110292307A (zh) * | 2018-03-21 | 2019-10-01 | 北京猎户星空科技有限公司 | 一种任务执行*** |
CN110315534A (zh) * | 2019-05-11 | 2019-10-11 | 深圳市鲲鹏智能装备制造有限公司 | 船舶焊接机器人离线编程的处理方法和*** |
CN110695988A (zh) * | 2019-09-04 | 2020-01-17 | 南京理工大学 | 双机械臂协同运动方法及*** |
CN111673754A (zh) * | 2020-04-29 | 2020-09-18 | 杭州凯尔达机器人科技股份有限公司 | 基于主从协调的机器人控制方法及*** |
CN112207835A (zh) * | 2020-09-18 | 2021-01-12 | 浙江大学 | 一种基于示教学习实现双臂协同作业任务的方法 |
CN112496582A (zh) * | 2020-11-23 | 2021-03-16 | 博迈科海洋工程股份有限公司 | 一种海洋工程复杂节点多机器人焊接协同控制方法 |
CN113042858A (zh) * | 2021-04-02 | 2021-06-29 | 华东理工大学 | 一种自适应调参的电弧增材制造方法及*** |
CN113305845A (zh) * | 2021-06-03 | 2021-08-27 | 广东工业大学 | 一种多机械臂的协作方法 |
CN113905855A (zh) * | 2019-04-17 | 2022-01-07 | 实时机器人有限公司 | 运动规划图生成用户界面、***、方法和规则 |
CN115446851A (zh) * | 2022-11-11 | 2022-12-09 | 北京炎凌嘉业机电设备有限公司 | 双臂机器人控制***及用于自动喷涂的双臂机器人 |
CN116652968A (zh) * | 2023-07-24 | 2023-08-29 | 贵州翰凯斯智能技术有限公司 | 多机械臂协同在线仿真方法、装置、电子设备及存储介质 |
CN116901073A (zh) * | 2023-08-03 | 2023-10-20 | 南京云创大数据科技股份有限公司 | 多机械臂协同轨迹规划方法、装置、电子设备及存储介质 |
EP4155035A4 (en) * | 2020-06-24 | 2024-02-28 | Siemens Aktiengesellschaft | METHOD FOR CONTROLLING MULTIPLE EXECUTION MECHANISMS, ELECTRONIC DEVICE AND STORAGE MEDIUM |
US11964393B2 (en) | 2018-03-21 | 2024-04-23 | Realtime Robotics, Inc. | Motion planning of a robot for various environments and tasks and improved operation of same |
US11970161B2 (en) | 2018-01-12 | 2024-04-30 | Duke University | Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101434067A (zh) * | 2008-12-12 | 2009-05-20 | 四川成焊宝玛焊接装备工程有限公司 | 机器人离线编程与现场调试无缝衔接方法 |
CN102298330A (zh) * | 2011-03-10 | 2011-12-28 | 上海交通大学 | 面向码垛机器人的离线仿真控制*** |
CN102662350A (zh) * | 2012-05-31 | 2012-09-12 | 东南大学 | 主从式多机器人协作***的轨迹示教与规划方法 |
JP5803155B2 (ja) * | 2011-03-04 | 2015-11-04 | セイコーエプソン株式会社 | ロボット位置検出装置及びロボットシステム |
CN105034008A (zh) * | 2015-09-15 | 2015-11-11 | 南京航空航天大学 | 双机器人协同自动装配的智能化柔性生产线及其运行方法 |
CN105786483A (zh) * | 2016-01-05 | 2016-07-20 | 南京熊猫电子股份有限公司 | 基于平板电脑的焊接机器人离线编程***及其离线编程方法 |
CN105945942A (zh) * | 2016-04-05 | 2016-09-21 | 广东工业大学 | 一种机器人离线编程***及方法 |
CN106444739A (zh) * | 2016-07-15 | 2017-02-22 | 鹿龙 | 多工业机器人虚拟离线协同仿真***及方法 |
-
2017
- 2017-08-08 CN CN201710668969.XA patent/CN107486858A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101434067A (zh) * | 2008-12-12 | 2009-05-20 | 四川成焊宝玛焊接装备工程有限公司 | 机器人离线编程与现场调试无缝衔接方法 |
JP5803155B2 (ja) * | 2011-03-04 | 2015-11-04 | セイコーエプソン株式会社 | ロボット位置検出装置及びロボットシステム |
CN102298330A (zh) * | 2011-03-10 | 2011-12-28 | 上海交通大学 | 面向码垛机器人的离线仿真控制*** |
CN102662350A (zh) * | 2012-05-31 | 2012-09-12 | 东南大学 | 主从式多机器人协作***的轨迹示教与规划方法 |
CN105034008A (zh) * | 2015-09-15 | 2015-11-11 | 南京航空航天大学 | 双机器人协同自动装配的智能化柔性生产线及其运行方法 |
CN105786483A (zh) * | 2016-01-05 | 2016-07-20 | 南京熊猫电子股份有限公司 | 基于平板电脑的焊接机器人离线编程***及其离线编程方法 |
CN105945942A (zh) * | 2016-04-05 | 2016-09-21 | 广东工业大学 | 一种机器人离线编程***及方法 |
CN106444739A (zh) * | 2016-07-15 | 2017-02-22 | 鹿龙 | 多工业机器人虚拟离线协同仿真***及方法 |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11970161B2 (en) | 2018-01-12 | 2024-04-30 | Duke University | Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects |
CN110026820A (zh) * | 2018-01-12 | 2019-07-19 | 财团法人工业技术研究院 | 机床防碰撞方法及应用其的*** |
CN110292307A (zh) * | 2018-03-21 | 2019-10-01 | 北京猎户星空科技有限公司 | 一种任务执行*** |
US11964393B2 (en) | 2018-03-21 | 2024-04-23 | Realtime Robotics, Inc. | Motion planning of a robot for various environments and tasks and improved operation of same |
CN108527367A (zh) * | 2018-03-28 | 2018-09-14 | 华南理工大学 | 一种多机器人协同作业任务的描述方法 |
CN108527367B (zh) * | 2018-03-28 | 2021-11-19 | 华南理工大学 | 一种多机器人协同作业任务的描述方法 |
CN108656107A (zh) * | 2018-04-04 | 2018-10-16 | 北京航空航天大学 | 一种基于图像处理的机械臂抓取***及方法 |
CN108656107B (zh) * | 2018-04-04 | 2020-06-26 | 北京航空航天大学 | 一种基于图像处理的机械臂抓取***及方法 |
CN109760045A (zh) * | 2018-12-27 | 2019-05-17 | 西安交通大学 | 一种离线编程轨迹生成方法及基于该方法的双机器人协同装配*** |
CN109831354A (zh) * | 2019-01-22 | 2019-05-31 | 浙江工业大学 | 基于opc ua工业通讯协议的虚拟调试*** |
US12017364B2 (en) | 2019-04-17 | 2024-06-25 | Realtime Robotics, Inc. | Motion planning graph generation user interface, systems, methods and articles |
CN113905855B (zh) * | 2019-04-17 | 2023-08-25 | 实时机器人有限公司 | 运动规划图生成用户界面、***、方法和规则 |
CN113905855A (zh) * | 2019-04-17 | 2022-01-07 | 实时机器人有限公司 | 运动规划图生成用户界面、***、方法和规则 |
CN110315534A (zh) * | 2019-05-11 | 2019-10-11 | 深圳市鲲鹏智能装备制造有限公司 | 船舶焊接机器人离线编程的处理方法和*** |
CN110315534B (zh) * | 2019-05-11 | 2022-07-15 | 深圳市鲲鹏智能装备制造有限公司 | 船舶焊接机器人离线编程的处理方法和*** |
CN110695988A (zh) * | 2019-09-04 | 2020-01-17 | 南京理工大学 | 双机械臂协同运动方法及*** |
CN111673754A (zh) * | 2020-04-29 | 2020-09-18 | 杭州凯尔达机器人科技股份有限公司 | 基于主从协调的机器人控制方法及*** |
CN111673754B (zh) * | 2020-04-29 | 2021-10-15 | 杭州凯尔达机器人科技股份有限公司 | 基于主从协调的机器人控制方法及*** |
EP4155035A4 (en) * | 2020-06-24 | 2024-02-28 | Siemens Aktiengesellschaft | METHOD FOR CONTROLLING MULTIPLE EXECUTION MECHANISMS, ELECTRONIC DEVICE AND STORAGE MEDIUM |
CN112207835A (zh) * | 2020-09-18 | 2021-01-12 | 浙江大学 | 一种基于示教学习实现双臂协同作业任务的方法 |
CN112496582A (zh) * | 2020-11-23 | 2021-03-16 | 博迈科海洋工程股份有限公司 | 一种海洋工程复杂节点多机器人焊接协同控制方法 |
CN113042858B (zh) * | 2021-04-02 | 2022-02-22 | 华东理工大学 | 一种自适应调参的电弧增材制造方法及*** |
CN113042858A (zh) * | 2021-04-02 | 2021-06-29 | 华东理工大学 | 一种自适应调参的电弧增材制造方法及*** |
CN113305845B (zh) * | 2021-06-03 | 2022-11-04 | 广东工业大学 | 一种多机械臂的协作方法 |
CN113305845A (zh) * | 2021-06-03 | 2021-08-27 | 广东工业大学 | 一种多机械臂的协作方法 |
CN115446851A (zh) * | 2022-11-11 | 2022-12-09 | 北京炎凌嘉业机电设备有限公司 | 双臂机器人控制***及用于自动喷涂的双臂机器人 |
CN116652968A (zh) * | 2023-07-24 | 2023-08-29 | 贵州翰凯斯智能技术有限公司 | 多机械臂协同在线仿真方法、装置、电子设备及存储介质 |
CN116901073A (zh) * | 2023-08-03 | 2023-10-20 | 南京云创大数据科技股份有限公司 | 多机械臂协同轨迹规划方法、装置、电子设备及存储介质 |
CN116901073B (zh) * | 2023-08-03 | 2024-07-05 | 南京云创大数据科技股份有限公司 | 多机械臂协同轨迹规划方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107486858A (zh) | 基于RoboDK的多机械臂协同离线编程方法 | |
CN107932504A (zh) | 基于PyQt的机械臂运行控制*** | |
CN108393884B (zh) | 一种基于Petri网的多机械臂遥操作***协同任务规划方法 | |
CN110238831A (zh) | 基于rgb-d图像及示教器的机器人示教***及方法 | |
CN111267073B (zh) | 一种基于增强现实技术的工业机器人示教***及方法 | |
CN104942808A (zh) | 机器人运动路径离线编程方法及*** | |
CN106444739A (zh) | 多工业机器人虚拟离线协同仿真***及方法 | |
CN107901039A (zh) | 基于Python的桌面级机器人离线编程仿真*** | |
CN109262609A (zh) | 基于虚拟现实技术的机械臂远程控制***及方法 | |
GB2473129A (en) | Off-line robot teaching method | |
CN104457566A (zh) | 一种无须示教机器人***的空间定位方法 | |
CN105786483A (zh) | 基于平板电脑的焊接机器人离线编程***及其离线编程方法 | |
Rückert et al. | Augmented Reality for teaching collaborative robots based on a physical simulation | |
Ji et al. | A virtual training based programming-free automatic assembly approach for future industry | |
Gogouvitis et al. | Construction of a virtual reality environment for robotic manufacturing cells | |
CN114102590A (zh) | 一种工业机器人仿真方法、***及应用 | |
CN112958974A (zh) | 一种基于三维视觉的可交互自动化焊接*** | |
Gui | Simulation design of welding robot workstation based on RobotStudio | |
CN114347038A (zh) | 一种交汇管道双臂协作焊接机器人及控制*** | |
Castro et al. | AdaptPack studio: automatic offline robot programming framework for factory environments | |
CN115401696A (zh) | 一种数据/模型混合驱动的机器人远程驱动方法 | |
CN115423656A (zh) | 一种机器人协同作业可视化仿真示教***和方法 | |
Shen | Research on virtual simulation design of ABB robot welding operation based on Robotstudio | |
CN113681574A (zh) | 一种面向钣金折弯的机器人三维可视化仿真与离线编程*** | |
Erdős et al. | Visual servo guided cyber-physical robotic assembly cell |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171219 |