CN111381815B - 离线编程后置代码转换方法和基于该方法的双机器人协同智造***、方法 - Google Patents

离线编程后置代码转换方法和基于该方法的双机器人协同智造***、方法 Download PDF

Info

Publication number
CN111381815B
CN111381815B CN202010093954.7A CN202010093954A CN111381815B CN 111381815 B CN111381815 B CN 111381815B CN 202010093954 A CN202010093954 A CN 202010093954A CN 111381815 B CN111381815 B CN 111381815B
Authority
CN
China
Prior art keywords
robot
simulation
robots
track
actual
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
Application number
CN202010093954.7A
Other languages
English (en)
Other versions
CN111381815A (zh
Inventor
吕红强
周小勇
韩九强
郑辑光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN202010093954.7A priority Critical patent/CN111381815B/zh
Publication of CN111381815A publication Critical patent/CN111381815A/zh
Application granted granted Critical
Publication of CN111381815B publication Critical patent/CN111381815B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

离线编程后置代码转换方法和基于该方法的双机器人协同智造***、方法,在仿真***中导入仿真机器人、加工工具及零件的实体模型,根据加工需求对***进行合理布局和标定,生成加工轨迹;仿真检验轨迹点是否可达,对不可达、轴超限等异常轨迹点进行调整;利用后置代码转换算法,将调整好的轨迹点转换为相应型号的实体机器人的运行代码,两台实体机器人在满足相互通信的条件下,通过运行代码,既可完成单机加工、双机同步独立加工,也可进行双机协同加工。整个***安全可靠,精度高,鲁棒性强,并且适应多种不同品牌型号的机器人与多种类型的加工需求,能够满足双机器人协同智造的应用。

Description

离线编程后置代码转换方法和基于该方法的双机器人协同智 造***、方法
技术领域
本发明属于智能制造与机器人技术领域,特别涉及一种离线编程后置代码转换方法和基于该方法的双机器人协同智造***、方法。
背景技术
随着工业的快速发展,工业机器人的应用更加普及,传统上机器人的动作都是通过反复地示教来设计,但是这种方式效率很低,并且对于一些复杂任务,通过示教很难达到要求。同时,单个机器人因为其自身的一些局限性,往往无法完成较为复杂的工作任务。双工业机器人具有适应性强、灵活性好的优点,是实现智能制造的有效途径。然而,双工业机器人的协同路径规划、***校准、轨迹误差补偿以及协同控制等问题是机器人在工业环境中应用与推广过程中急需解决的关键技术问题。现有的离线编程软件由于缺少双机器人仿真与协同控制功能,无法进行双机器人的协同轨迹规划与离线编程,也无法实现基于离线编程的高效协同智造。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提供一种离线编程后置代码转换方法和基于该方法的双机器人协同智造***、方法,通过***标定,保证了仿真与实际工作环境的一致性,引入神经网络训练误差补偿模型,提高机器人在实际应用中的精度;后置代码转换是将仿真环节验证通过的轨迹点信息转换成可以在工业机器人控制器上运行的程序,与工业机器人建立通信,控制机器人将仿真工作环境中完成的动作在实际工作环境中重现。此外,为增强灵活性,增加了后置代码编辑功能。机器人协同智造***是基于离线编程标定关键技术和后置代码转换方法的协同智造***,不仅可以实现双机器人的协同加工,还可以切换单机模式使用单机器人进行离线编程,在不同的加工任务下具有鲁棒性好、精度高、效率高的优点。可作为智能自动化***的模型***进行深入研究,充分体现了工业机器人协同作业的概念以及工业机器人代替人工作业的概念,可扩展性强,为进一步研究群工业机器人智能自动化***提供了基础。
为了实现上述目的,本发明采用的技术方案是:
一种离线编程后置代码转换方法,根据实际所使用的机器人品牌型号,将仿真机器人的轨迹进行相应的欧拉角变换,并转换为相应的指令集;然后进行后置代码编辑,即对后置代码进行指令编辑、修改操作、文件存取,并与多台实体机器人建立通信,以控制实体机器人完成加工,使仿真环境下的协同智造在实际工作环境中重现。
所述后置代码转换,采用轨迹姿态信息转化方法,首先将仿真中生成的仿真机器人的轨迹姿态信息,转换为使用三个欧拉角α、β、γ定义,再根据实体机器人的指令格式,翻译成相应的指令,具体操作包含如下步骤:
步骤1:根据实体机器人的零点定义,将仿真机器人轨迹的姿态信息转换为与实体机器人相适应的末端局部坐标系的姿态;
步骤2:根据实体机器人的欧拉角定义方式,将步骤1转换后的末端局部坐标系的姿态,转换为三个欧拉角α、β、γ定义;
步骤3:根据实际所使用的工业机器人的型号以及指令的模式,将步骤2得到的轨迹点信息翻译成相应的实体机器人可识别的指令。选择关节值运动指令模式,则将每个轨迹点对应的逆运动学求解的各个关节轴的值按照相应格式写入到实体机器人运行指令中,选择位姿值运动指令模式,则将轨迹点的位置和姿态信息按照相应格式写入到实体机器人运行指令中。同时,对需要控制实体工业机器人气泵开合的轨迹点,在其后添加控制实体机器人IO口电平输出的指令。
所述步骤2中,将变化后的轨迹姿态信息作为实际机器人末端局部坐标系与实际机器人基座标系之间的旋转矩阵,根据旋转矩阵和实际机器人的欧拉角定义方式,计算欧拉角,采用ZYX欧拉角定义方式,计算公式为:
Figure GDA0003288311860000031
式中:c是cos的简写,s是sin的简写;
已知从基坐标系CO变换为局部坐标系CO'的旋转矩阵
Figure GDA0003288311860000032
则根据转换矩阵得到实际机器人末端姿态矩阵对应的三个欧拉角;
Figure GDA0003288311860000033
Figure GDA0003288311860000034
Figure GDA0003288311860000035
其中α、β、γ表示实际机器人的三个欧拉角,r11~r33由上旋转矩阵RC求得。
所述后置代码编辑中,添加程序编辑器以显示后置转换后的代码,并且包含指令编辑、修改操作、文件存取的功能,其中指令编辑通过点击菜单栏中的指令,在弹出的对话框中填写参数值,完成指令的编辑;修改操作包含了双击修改、复制、粘贴、上移、下移;文件存取包含将已有程序保存到文件中以及将文件中的程序读取到程序编辑器中显示,通过文件存取,将经过仿真验证的程序直接导入到程序编辑器中,并且通过与实体机器人建立通信,将程序下载到实体机器人控制器中控制机器人运动。
在后置代码转换完成后,将转换后的指令下载到实体机器人控制器之前,进行关节值的误差补偿,基于BP神经网络训练关节值误差补偿模型,通过对关节值进行补偿,减少运动时的位姿误差,进一步提高机器人的位姿精度,具体包括如下步骤:
步骤1:获取机器人多组位姿对应的理论关节值与实际关节值;
步骤2:将步骤1获得的多组某一位姿对应的理论关节值和实际关节值的数据代入BP神经网络进行训练,其中理论关节值为网络的输入数据,实际关节值为网络的期望输出数据;
步骤3:在实体机器人控制器中写入训练好的神经网络补偿模型,将机器人逆运动学求解得到的理论关节值代入模型中,以输出的修正后的关节值控制机器人运动;若工业机器人厂商未开放控制器模型的补偿端口,则使用基于神经网络的实时误差补偿方法,或者在后置代码转换输出关节运动模式程序时直接通过训练好的误差补偿模型进行修正。
所述后置代码通信中,使用Socket进行基于TCP/IP协议的通信,将转换后的程序下载到实体机器人控制器中控制机器人运动,对于双机器人,通过设置两个通信线程,来分别与两台机器人进行通信;具体操作为,将仿真轨迹生成得到的通信点翻译为通信指令,当前线程在运行中,遇到通信指令则先启动兄弟线程,并停止当前线程,通过两个线程间的相互通信完成双机协同。建立通信程序的流程如下:
(a)搭建基于TCP的Socket通信的服务器端程序:
通过socket函数创建一个套接字;通过bind函数将刚才创建好的套接字与一个IP地址和端口号进行绑定;通过listen函数监听来自客户端一方的连接请求;通过accept函数接收来自客户端一方的连接请求;通过send函数和recv函数与客户端发送数据和接收数据来进行通信,等待其他客户的请求;关闭套接字;
(b)搭建基于TCP的Socket通信的客户端程序:
通过socket函数创建一个套接字;通过connect函数将套接字与服务器端的IP和端口号进行连接;通过send函数和recv函数与服务器端发送数据和接收数据来进行通信;关闭套接字;
(c)设置双线程通信,使计算机分别下载程序至两台实体机器人的控制器,通过线程之间的通信完成双机协同。
本发明还提供了基于所述离线编程后置代码转换方法的双机器人协同智造***,其特征在于,包括离线编程软件仿真区1、机器人控制区2与机器人加工工作区3、4、5,其中:
离线编程软件仿真区1包括计算机7与显示屏6,负责完成协同智造***布局,轨迹规划与仿真工作;
机器人控制区包括计算机7、机器人控制柜10、11以及通信路由模块8、9,其中通信路由模块8、9承担计算机7与机器人控制柜10、11之间的通信工作;
机器人加工工作区包括双机器人协同加工工作区3、单机器人加工工作区4、5;两台工业机器人末端分别安装有夹爪14和加工工具15;
其中,计算机7同时控制两台机器人12、13,完成双机协同加工或各自独立工作,通过标定在仿真环境中1:1还原实际加工环境,并在不使用实际机器人的情况下对轨迹规划结果的进行仿真验证,对异常轨迹点提前进行调整。
本发明进一步提供了基于所述双机器人协同智造***的智造方法,两台机器人12、13分别使用***标定方法进行标定,在仿真工作环境和实际工作环境中分别选取一组特征点,每组特征点各有三个且不共线,两组特征点一一对应,具体对应关系是仿真环境中的特征点与实际环境中的特征点处于同一相对应位置,分别计算仿真工作环境和实际工作环境中基坐标系到工件坐标系的位姿转换矩阵
Figure GDA0003288311860000051
Figure GDA0003288311860000052
根据
Figure GDA0003288311860000053
Figure GDA0003288311860000054
得到仿真工作环境中工件坐标系到实际工作环境中工件坐标系的位姿转换矩阵
Figure GDA0003288311860000055
根据
Figure GDA0003288311860000056
移动仿真工作环境中的工件到指定的位姿,保证仿真工作环境与实际工作环境中机器人与工件相对位置的一致性。
通过离线编程后置代码转换方法将轨迹信息传入实际机器人控制器中,控制实际环境中的双机器人完成双机协同智造工作,具体包括如下步骤:
步骤1:启动双机器人协同智造***;
步骤2:在计算机7中运行***标定方法,导入机器人、定义加工工具,导入工件,并综合考虑工件16加工需求、机器人运动范围与工件姿态三个重要因素,对加工***进行相应布局;
步骤3:使用***标定方法对各个模型进行校准,将工件的坐标信息和校准数据存储在计算机7中;
步骤4:规划出两台机器人12、13各自的运动轨迹,根据双机协同的加工需求,确定两机器人各自每一段轨迹的先后执行顺序与通信点,之后进行仿真验证;
步骤5:针对仿真检验出的不可达点、轴超限点以及跳变点,通过改变加工位置、调整布局或者利用轨迹编辑功能进行调整;
步骤6:通过关节值误差补偿模型,对轨迹进行修正;
步骤7:通过离线编程后置代码转换方法,将仿真环境中生成的轨迹转换成可执行代码;
步骤8:设置两台机器人12、13处于在线模式,启动通信路由模块8、9连接两机器人12、13,运行步骤7生成的可执行代码;
步骤9:待协同智造工作完毕,将机器人12、13恢复零位状态,关闭双机器人协同智造***。
与现有技术相比,本发明的有益效果是:
本发明的双机器人协同智造***充分体现了工业机器人协同作业的概念。相比现有的离线编程软件技术,本发明提供了双机器人协同智造的轨迹规划、仿真与双机器人协同控制技术,工作效率高,可扩展性强。在此软件技术与硬件装置的基础上,可以进一步对群工业机器人智能作业的模式进行研究,为企业和高校的相关研究与实践提供强有力的基础。
本发明中提出的离线编程后置代码转换方法,提升了机器人的工作精度与编程效率。相比现有离线编程软件技术,加入了基于神经网络的误差补偿和双机器人协同控制技术,适应性高,可移植性强。
附图说明
图1为本发明机器人后置代码转换流程图。
图2为本发明双机器人协同智造***的架构图。
图3为本发明离线编程中标定算法的实现流程图。
图4为本发明离线编程中标定算法示意图。
图5为本发明双机器人协同智造***的操作流程。
具体实施方式
下面结合附图和实施例详细说明本发明的实施方式。
参考图1,离线编程后置代码转换,就是根据实际所使用的机器人品牌型号,将仿真机器人的轨迹进行相应的欧拉角变换并转换为相应的指令集,以控制实体机器人完成加工;然后进行后置代码编辑与通信,即对后置代码进行指令编辑、修改操作、文件存取,并与多台机器人建立通信,以使仿真环境下的协同智造在实际工作环境中重现。
如图1所示,结合工件加工的实例,本发明后置代码转换采用轨迹姿态信息转换方法,首先将轨迹姿态信息转换为使用三个欧拉角α、β、γ定义,再根据实际机器人指令格式翻译成相应的指令,其具体步骤如下:
步骤1:根据实际机器人的零点定义,根据实际机器人与仿真机器人姿态一致时实际机器人末端局部坐标系的姿态变化关系,将所有轨迹均按此关系进行变化,将轨迹姿态信息转换为实际机器人末端局部坐标系姿态;
步骤2:将变化后的轨迹姿态信息作为实际机器人末端局部坐标系与实际机器人基座标系之间的旋转矩阵,根据旋转矩阵和实际机器人的欧拉角定义方式,将对应的机器人末端局部坐标系姿态转换为三个欧拉角α、β、γ定义。
以ZYX欧拉角定义方式为例,计算方式为:
Figure GDA0003288311860000071
式中:c是cos的简写,s是sin的简写;
已知从基坐标系CO变换为局部坐标系CO'的旋转矩阵
Figure GDA0003288311860000081
则根据转换矩阵得到机器人末端姿态矩阵对应的三个欧拉角;
Figure GDA0003288311860000082
Figure GDA0003288311860000083
Figure GDA0003288311860000084
其中α、β、γ表示实际机器人的三个欧拉角,r11~r33由上旋转矩阵RC求得。
步骤3:将轨迹位置信息与变换后的姿态信息,按照指定格式转换为实际机器人的控制指令。根据实际所使用的工业机器人的型号以及指令的模式,将轨迹点的信息翻译并填写到相应的指令当中,选择关节值运动指令模式,则将每个轨迹点对应逆运动学求解的各个关节值按照相应格式写入到指令中,选择位姿值运动指令模式,则将轨迹点的位置和姿态信息按照相应格式写入到指令中;同时对需要控制工业机器人气泵开合的轨迹点,在其后添加控制IO口电平输出的指令。
其中后置代码编辑,就是添加了程序编辑器用以显示后置代码转换后的程序,并且包含指令编辑、修改操作、文件存取等功能,其中指令编辑通过点击菜单栏中的指令,在弹出的对话框中填写参数值,完成指令的编辑。修改操作包含了双击修改、复制、粘贴、上移、下移等操作。文件存取包含了将已有程序保存到文件中以及将文件中的程序读取到程序编辑器中显示,通过文件存取,可以方便地将经过仿真验证的程序直接导入到程序编辑器,并且通过与机器人建立通信,将程序下载到机器人控制器中控制机器人运动,而不需要再次进行轨迹生成和仿真,节省了时间。
进一步地,可基于BP神经网络训练关节值误差补偿模型,即基于神经网络的机器人逆运动学标定法,通过对关节值进行补偿,减少运动时的位姿误差,进一步提高机器人的位姿精度,具体流程如下:
(a)获取机器人多组位姿对应的理论关节值与实际关节值;
(b)将步骤1获得的多组某一位姿对应的理论关节值和实际关节值的数据代入BP神经网络进行训练,其中理论关节值为网络的输入数据,实际关节值为网络的期望输出数据;
(c)在实体机器人控制器中写入训练好的神经网络补偿模型,将机器人逆运动学求解得到的理论关节值代入模型中,以输出的修正后的关节值控制机器人运动;若工业机器人厂商未开放控制器模型的补偿端口,也可使用基于神经网络的实时误差补偿方法,或者在后置代码转换输出关节运动模式程序时直接通过训练好的误差补偿模型进行修正。
步骤4:建立与工业机器人的通信连接,通信的方式基于TCP/IP的有线局域网通信,就是使用Socket进行基于TCP/IP协议的通信,将程序下载到机器人控制器中控制机器人运动。对于双机器人,通过设置两个通信线程,来分别与两台机器人进行通信;具体操作为,将轨迹生成得到的通信点翻译为通信指令,当前线程在运行中,遇到通信指令则先启动兄弟线程,并停止当前线程,通过两个线程间的相互通信完成双机协同。
建立通信程序的流程如下:
(a)搭建基于TCP的Socket通信的服务器端程序,流程如下:
通过socket函数创建一个套接字;通过bind函数将刚才创建好的套接字与一个IP地址和端口号进行绑定;通过listen函数监听来自客户端一方的连接请求;通过accept函数接收来自客户端一方的连接请求;通过send函数和recv函数与客户端发送数据和接收数据来进行通信,等待其他客户的请求;关闭套接字。
(b)搭建基于TCP的Socket通信的客户端程序,流程如下:
通过socket函数创建一个套接字;通过connect函数将套接字与服务器端的IP和端口号进行连接;通过send函数和recv函数与服务器端发送数据和接收数据来进行通信;关闭套接字。
(c)设置双线程通信,使计算机分别下载程序至两台机器人控制器,通过线程之间的通信完成双机协同。
如图2所示,本发明基于所述离线编程后置代码转换方法的双机器人协同智造***,包括离线编程软件仿真区1、机器人控制区2与机器人加工工作区3、4、5。
离线编程软件仿真区1包括计算机7与显示屏6,负责完成协同智造***布局,轨迹规划与仿真工作;机器人控制区包括计算机7、机器人控制柜10、11以及通信路由模块8、9,其中通信路由模块8、9承担计算机7与机器人控制柜10、11之间的通信工作;机器人加工工作区包括双机器人协同加工工作区3、单机器人加工工作区4、5;两台工业机器人末端分别安装有夹爪14和加工工具15;从机器人末端的夹爪用来负责夹持工件到预先规划好的加工位置,主机器人携带工具进行加工。
在正常通信的基础上,两台机器人能够以一方夹持工件,一方加工的方式进行协同加工,在相互配合的方式下,最终两台机器人可以一起完成一个完整工件加工任务。特别的,当两台机器人不需要互相协同时,两台机器人均可以切换到单机模式或双机同时独立运动模式,在独立工件加工区进行单独智能加工。
该双机器人协同智造***,可通过标定关键技术,在仿真环境中1:1还原实际加工环境,在仿真中可使用多种不同的机器人、工具和零件进行仿真和规划,满足多种实际加工需求;对于一些复杂的加工需求,相对于传统示教编程,使用离线编程能大幅提高轨迹规划效率和编程过程;同时在不使用实际机器人的情况下即可对轨迹规划结果的运行仿真验证,对一些异常轨迹点可提前进行调整,提升整体协同智造的效率。
该***既可以使用一台计算机7同时控制两台机器人12、13,完成双机协同加工,也可以控制两台机器人各自独立工作,互不干扰;同时也能够切换到单机模式,使用单机器人独立工作,可满足多种工业使用需求。
基于所述离线编程后置代码转换方法的双机器人协同智造***的制造方法,两台机器人(12、13)分别先使用***标定方法进行标定,再进行轨迹规划和仿真。
本发明提供离线编程***标定方法,如图3所示,结合工件加工的实例,其标定算法流程具体步骤如下:
步骤1:在实际工作环境中的工件上选取不共线的一组三个特征点,记录其坐标,如图4所示,在真实工作环境中一组特征点分别是PR1(xs1,ys1,zs1)、PR2(xs2,ys2,zs2)、PR3(xs3,ys3,zs3);
步骤2:在仿真工作环境中与实际工作环境对应的选取不共线的一组三个特征点,记录其坐标,如图4所示,在仿真工作环境中一组特征点分别是Ps1(xs1,ys1,zs1)、Ps2(xs2,ys2,zs2)、Ps3(xs3,ys3,zs3)。两组特征点一一对应,具体对应关系参考图4,仿真环境中的特征点与实际环境中的特征点处于同一相对应位置;
步骤3:在实际工作环境中的工件上选取不共线的一组三个特征点PR1(xs1,ys1,zs1)、PR2(xs2,ys2,zs2)、PR3(xs3,ys3,zs3)中,任意选取其中一个点作为工件坐标系的原点,然后可以得到实际工作环境中基坐标系到工件坐标系的位姿转换矩阵
Figure GDA0003288311860000111
步骤4:同理按步骤3的方法可以得到仿真工作环境中基坐标系到工件坐标的位姿转换矩阵
Figure GDA0003288311860000112
步骤5:根据
Figure GDA0003288311860000113
Figure GDA0003288311860000114
可以得到仿真工作环境中工件坐标到实际工作环境中工件坐标系的位姿转换矩阵
Figure GDA0003288311860000121
步骤6:根据
Figure GDA0003288311860000122
可以移动仿真工作环境中的工件到指定的位姿,从而保证了仿真工作环境与实际工作环境中的一致性。
如图5所示,双机器人协同智造***的操作流程如下所示:
(a)启动双机器人协同智造***;
(b)在计算机7中运行离线编程软件,导入机器人、定义加工工具,导入工件,并综合考虑工件16加工需求、机器人运动范围与工件姿态三个重要因素,对加工***进行合理布局,确保加工过程中的工件位置始终处于两台机器人12、13的工作范围内;
(c)使用所述的标定关键技术的相关模型并对各个模型进行校准,将工件的坐标信息和校准数据存储在计算机7中;
(d)根据双机协同的加工需求,规划两台机器人12、13各自的运动轨迹,确定两机器人各自每一段轨迹的先后执行顺序与通信点,在轨迹中***通信点以进行协同,之后进行仿真验证;
(e)针对仿真检验出的不可达点、轴超限点以及跳变点,通过合理改变加工位置、调整布局或者轨迹旋转来进行调整;对部分加工区域相邻轨迹点位姿变化较大的区域,可使用轨迹拆分、z轴固定等轨迹编辑功能来进行调整;
(f)对所有异常点进行调整后,再对仿真工程进行多次仿真验证,仿真无报错则说明轨迹规划工作完成;
(g)通过离线编程软件中的关节值误差补偿模型,对轨迹进行修正;
(h)运行离线编程软件中的后置代码转换,将仿真环境中生成的轨迹转换成可执行代码;
(i)设置两台机器人处于在线模式,建立TCP/IP通信,启动通信路由模块8、9连接两机器人,运行步骤7生成的可执行代码,控制两机器人12、13运动;
(j)待协同智造工作完毕,将机器人12、13恢复零位状态,关闭***。
值得注意的是,上述的具体实施方式用于解释说明本发明,仅为本发明的优选实施方案,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改、等同替换、改进等,都属于本发明的保护范围。
综上,本发明基于离线编程,在仿真***中导入机器人、加工工具及零件的实体模型,根据加工需求对***进行合理布局和标定,生成加工轨迹;仿真检验轨迹点是否可达,对不可达、轴超限等异常轨迹点进行调整;利用后置代码转换算法,将调整好的轨迹点转换为相应型号的实体机器人运行代码,两台实体机器人在满足相互通信的条件下,通过运行代码,既可完成单机加工、双机同步独立加工,也可进行双机协同加工。整个***安全可靠,精度高,鲁棒性强,并且适应多种不同品牌型号的机器人与多种类型的加工需求,能够满足双机器人协同智造的应用。

Claims (4)

1.一种离线编程后置代码转换方法,其特征在于,根据实际所使用的机器人品牌型号,将仿真机器人的轨迹进行相应的欧拉角变换,并转换为相应的指令集;然后进行后置代码编辑,即对后置代码进行指令编辑、修改操作、文件存取,并与多台实体机器人建立通信,以控制实体机器人完成加工,使仿真环境下的协同智造在实际工作环境中重现;
所述后置代码转换采用轨迹姿态信息转化方法,首先将仿真中生成的仿真机器人的轨迹姿态信息,转换为使用三个欧拉角α、β、γ定义,再根据实体机器人的指令格式,翻译成相应的指令,具体操作包含如下步骤:
步骤11:根据实体机器人的零点定义,将仿真机器人轨迹的姿态信息转换为与实体机器人相适应的末端局部坐标系的姿态;
步骤12:根据实体机器人的欧拉角定义方式,将步骤11转换后的末端局部坐标系的姿态,转换为使用三个欧拉角α、β、γ定义;
步骤13:根据实际所使用的工业机器人的型号以及指令的模式,将步骤12得到的轨迹点信息翻译成相应的实体机器人可识别的指令;若选择关节值运动指令模式,则将每个轨迹点对应的逆运动学求解的各个关节轴的值按照相应格式写入到实体机器人运行指令中;若选择位姿值运动指令模式,则将轨迹点的位置和姿态信息按照相应格式写入到实体机器人运行指令中;同时,对需要控制实体工业机器人气泵开合的轨迹点,在其后添加控制实体机器人IO口电平输出的指令;
其中,添加程序编辑器以显示后置转换后的代码,并且包含指令编辑、修改操作、文件存取的功能,其中指令编辑通过点击菜单栏中的指令,在弹出的对话框中填写参数值,完成指令的编辑;修改操作包含了双击修改、复制、粘贴、上移、下移;文件存取包含将已有程序保存到文件中以及将文件中的程序读取到程序编辑器中显示,通过文件存取,将经过仿真验证的程序直接导入到程序编辑器中,并且通过与实体机器人建立通信,将程序下载到实体机器人控制器中控制机器人运动;
在后置代码转换完成后,将转换后的指令下载到实体机器人控制器之前,进行关节值的误差补偿,基于BP神经网络训练关节值误差补偿模型,通过对关节值进行补偿,减少运动时的位姿误差,进一步提高机器人的位姿精度,具体包括如下步骤:
步骤21:获取机器人多组位姿对应的理论关节值与实际关节值;
步骤22:将步骤21获得的多组某一位姿对应的理论关节值和实际关节值的数据代入BP神经网络进行训练,其中理论关节值为网络的输入数据,实际关节值为网络的期望输出数据;
步骤23:在实体机器人控制器中写入训练好的神经网络补偿模型,将机器人逆运动学求解得到的理论关节值代入模型中,以输出的修正后的关节值控制机器人运动;若工业机器人厂商未开放控制器模型的补偿端口,则使用基于神经网络的实时误差补偿方法,或者在后置代码转换输出关节运动模式程序时直接通过训练好的误差补偿模型进行修正。
2.根据权利要求1所述离线编程后置代码转换方法,其特征在于,所述步骤12中,将变化后的轨迹姿态信息作为实际机器人末端局部坐标系与实际机器人基座标系之间的旋转矩阵,根据旋转矩阵和实际机器人的欧拉角定义方式,计算欧拉角,采用ZYX欧拉角定义方式,计算公式为:
Figure FDA0003288311850000021
式中:c是cos的简写,s是sin的简写;
已知从基坐标系CO变换为局部坐标系CO'的旋转矩阵
Figure FDA0003288311850000022
则根据转换矩阵得到实际机器人末端姿态矩阵对应的三个欧拉角;
Figure FDA0003288311850000031
Figure FDA0003288311850000032
Figure FDA0003288311850000033
其中α、β、γ表示实际机器人的三个欧拉角,r11~r33由旋转矩阵RC求得。
3.根据权利要求1所述离线编程后置代码转换方法,其特征在于,使用Socket进行基于TCP/IP协议的通信,将转换后的程序下载到实体机器人控制器中控制机器人运动,对于双机器人,通过设置两个通信线程,来分别与两台机器人进行通信;具体操作为,将仿真轨迹生成得到的通信点翻译为通信指令,当前线程在运行中,遇到通信指令则先启动兄弟线程,并停止当前线程,通过两个线程间的相互通信完成双机协同,建立通信程序的流程如下:
(a)搭建基于TCP的Socket通信的服务器端程序:
通过socket函数创建一个套接字;通过bind函数将刚才创建好的套接字与一个IP地址和端口号进行绑定;通过listen函数监听来自客户端一方的连接请求;通过accept函数接收来自客户端一方的连接请求;通过send函数和recv函数与客户端发送数据和接收数据来进行通信,等待其他客户的请求;关闭套接字;
(b)搭建基于TCP的Socket通信的客户端程序:
通过socket函数创建一个套接字;通过connect函数将套接字与服务器端的IP和端口号进行连接;通过send函数和recv函数与服务器端发送数据和接收数据来进行通信;关闭套接字;
(c)设置双线程通信,使计算机分别下载程序至两台实体机器人的控制器,通过线程之间的通信完成双机协同。
4.基于权利要求1所述基于离线编程后置代码转换方法的双机器人协同智造***,其特征在于,包括离线编程软件仿真区(1)、机器人控制区(2)与机器人加工工作区(3、4、5),其中:
离线编程软件仿真区(1)包括计算机(7)与显示屏(6),负责完成协同智造***布局,轨迹规划与仿真工作;
机器人控制区包括计算机(7)、机器人控制柜(10、11)以及通信路由模块(8、9),其中通信路由模块(8、9)承担计算机(7)与机器人控制柜(10、11)之间的通信工作;
机器人加工工作区包括双机器人协同加工工作区(3)、单机器人加工工作区(4、5);两台工业机器人末端分别安装有夹爪(14)和加工工具(15);
其中,计算机(7)同时控制两台机器人(12、13),完成双机协同加工或各自独立工作,通过标定在仿真环境中1:1还原实际加工环境,并在不使用实际机器人的情况下对轨迹规划结果的进行仿真验证,对异常轨迹点提前进行调整;
两台机器人(12、13)分别使用***标定方法进行标定,在仿真工作环境和实际工作环境中分别选取一组特征点,每组特征点各有三个且不共线,两组特征点一一对应,具体对应关系是仿真环境中的特征点与实际环境中的特征点处于同一相对应位置,分别计算仿真工作环境和实际工作环境中基坐标系到工件坐标系的位姿转换矩阵
Figure FDA0003288311850000041
Figure FDA0003288311850000042
根据
Figure FDA0003288311850000043
Figure FDA0003288311850000044
得到仿真工作环境中工件坐标系到实际工作环境中工件坐标系的位姿转换矩阵
Figure FDA0003288311850000045
根据
Figure FDA0003288311850000046
移动仿真工作环境中的工件到指定的位姿,保证仿真工作环境与实际工作环境中机器人与工件相对位置的一致性;
两台机器人(12、13)分别使用所述***标定方法进行***标定,再进行轨迹规划和仿真,并通过离线编程后置代码转换方法将轨迹信息传入实际机器人控制器中,控制实际环境中的双机器人完成双机协同智造工作,具体包括如下步骤:
步骤1:启动双机器人协同智造***;
步骤2:在计算机(7)中运行***标定方法,导入机器人、定义加工工具,导入工件,并综合考虑工件(16)加工需求、机器人运动范围与工件姿态三个重要因素,对加工***进行相应布局;
步骤3:使用***标定方法对各个模型进行校准,将工件的坐标信息和校准数据存储在计算机(7)中;
步骤4:规划出两台机器人(12、13)各自的运动轨迹,根据双机协同的加工需求,确定两机器人各自每一段轨迹的先后执行顺序与通信点,之后进行仿真验证;
步骤5:针对仿真检验出的不可达点、轴超限点以及跳变点,通过改变加工位置、调整布局或者利用轨迹编辑功能进行调整;
步骤6:通过关节值误差补偿模型,对轨迹进行修正;
步骤7:通过离线编程后置代码转换方法,将仿真环境中生成的轨迹转换成可执行代码;
步骤8:设置两台机器人(12、13)处于在线模式,启动通信路由模块(8、9)连接两机器人(12、13),运行步骤7生成的可执行代码;
步骤9:待协同智造工作完毕,将机器人(12、13)恢复零位状态,关闭双机器人协同智造***。
CN202010093954.7A 2020-02-14 2020-02-14 离线编程后置代码转换方法和基于该方法的双机器人协同智造***、方法 Active CN111381815B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010093954.7A CN111381815B (zh) 2020-02-14 2020-02-14 离线编程后置代码转换方法和基于该方法的双机器人协同智造***、方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010093954.7A CN111381815B (zh) 2020-02-14 2020-02-14 离线编程后置代码转换方法和基于该方法的双机器人协同智造***、方法

Publications (2)

Publication Number Publication Date
CN111381815A CN111381815A (zh) 2020-07-07
CN111381815B true CN111381815B (zh) 2022-01-11

Family

ID=71219699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010093954.7A Active CN111381815B (zh) 2020-02-14 2020-02-14 离线编程后置代码转换方法和基于该方法的双机器人协同智造***、方法

Country Status (1)

Country Link
CN (1) CN111381815B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111993419B (zh) * 2020-08-10 2022-04-19 广州瑞松北斗汽车装备有限公司 基于pdps的机器人离线制作方法及其装置、计算机终端设备
CN113021348B (zh) * 2021-03-23 2021-10-15 深圳群宾精密工业有限公司 一种应用于不同机器人之间点位高精度转换的方法
CN113001523A (zh) * 2021-04-09 2021-06-22 山东大学 一种四足双臂机器人及其运行模式
CN113110544A (zh) * 2021-04-19 2021-07-13 乐聚(深圳)机器人技术有限公司 机器人的控制方法、装置、设备及存储介质
CN114089644A (zh) * 2021-11-12 2022-02-25 中冶赛迪技术研究中心有限公司 基于openvpn的远程仿真校准和在线编程的方法、***、设备及介质
CN114347038A (zh) * 2022-02-17 2022-04-15 西安建筑科技大学 一种交汇管道双臂协作焊接机器人及控制***
CN114505869A (zh) * 2022-02-17 2022-05-17 西安建筑科技大学 一种化学试剂智配机控制***
CN116294987B (zh) * 2022-11-25 2023-12-08 无锡中车时代智能装备研究院有限公司 一种双机器人自动测量打磨***中的坐标转换方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101092031A (zh) * 2007-07-12 2007-12-26 上海交通大学 工业机器人离线编程***
CN109760045A (zh) * 2018-12-27 2019-05-17 西安交通大学 一种离线编程轨迹生成方法及基于该方法的双机器人协同装配***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9390203B2 (en) * 2004-06-15 2016-07-12 Abb Ab Method and system for off-line programming of multiple interacting robots
CN105171745B (zh) * 2015-08-31 2017-07-07 上海发那科机器人有限公司 一种机器人离线编程***
CN105945942A (zh) * 2016-04-05 2016-09-21 广东工业大学 一种机器人离线编程***及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101092031A (zh) * 2007-07-12 2007-12-26 上海交通大学 工业机器人离线编程***
CN109760045A (zh) * 2018-12-27 2019-05-17 西安交通大学 一种离线编程轨迹生成方法及基于该方法的双机器人协同装配***

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
6 自由度机器人位姿误差建模与补偿方法研究;覃志奎;《中国优秀硕士学位论文全文数据库信息科技辑》;20190615;第I140-173页 *
冗余双臂机器人在工业缝制过程中的应用研究;丁磊;《中国优秀硕士学位论文全文数据库信息科技辑》;20180115;第I140-325页,附图5-4 *
机器人离线编程***的开发及其应用;邓华健;《中国优秀硕士学位论文全文数据库信息科技辑》;20180215;第I140-856页,附图4-13 *

Also Published As

Publication number Publication date
CN111381815A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
CN111381815B (zh) 离线编程后置代码转换方法和基于该方法的双机器人协同智造***、方法
CN107363812B (zh) 无线控制的六自由度机械臂示教***
Safeea et al. Kuka sunrise toolbox: Interfacing collaborative robots with matlab
CN107932504B (zh) 基于PyQt的机械臂运行控制***
CN106502095B (zh) 一种多工业机器人的协同控制方法
CN107901039B (zh) 基于Python的桌面级机器人离线编程仿真***
CN107544299B (zh) 用于六自由度机械臂示教控制的pc端app***
JP2017094406A (ja) シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
CN107838922B (zh) 一种机器人免重复示教的方法
CN112684717A (zh) 一种虚实结合数字孪生仿真实验平台构建方法
CN106583974A (zh) 一种无需编程结构件激光快速寻位焊接***及焊接方法
CN107309884A (zh) 机器人标定***及方法
CN108262742A (zh) 一种模块化结构的机器人及其控制方法
CN107363835A (zh) 运动控制部件的配置方法、装置、介质和机器人***
CN112338903A (zh) 一种基于模型设计的机械臂控制方法
Wittenberg Developments in offline programming: an overview
JP5291727B2 (ja) 多軸同期動作機械のプログラム変換モジュール及びプログラム変換方法
Øvern Industry 4.0-Digital twins and OPC UA
CN114473324A (zh) 基于示教学习的多机械臂协同拼接焊接控制方法及***
Liu et al. An augmented reality-assisted interaction approach using deep reinforcement learning and cloud-edge orchestration for user-friendly robot teaching
TWI594858B (zh) 機械手臂教導控制系統
CN114845843A (zh) 程序生成装置、程序生成方法以及生成程序
Juan et al. Analysis and simulation of a 6R robot in virtual reality
Chang et al. Cyber-physical-robotic System (CPRS)-based Modeling and Execution of Assembly Tasks.
Mo et al. A Framework for Online and Offline Programming of Multi-Robot Cooperative Motion Planning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant