- 广州子锐机器人技术有限公司
- 服务热线:020-82000787(8:30-17:30)
- 联系手机:15889988091(非工作时间)
- 座机:020-82000787
- 传真:020-32887675
- 邮箱:gz@zr-robot.com
- 广州市番禺区东环街金山谷创意八街1号109
- 当前位置:首页 > 机器人资讯 > 基于G代码的双工业机器人协调作业的网络控制
基于G代码的双工业机器人协调作业的网络控制
基于G代码的双工业机器人协调作业的网络控制
0引言
在现代工业生产中,通常采用双工业机器人进行协调作业。双工业机器人能够有效地提高机器人系统的负载能力、作业空间、速度及可靠性。在实际应用中,双机甚至多机的协调大多采用示教再现等在线编程方式,柔性差、效率低。这与我国当前制造业所追求的敏捷、快速和精度制造不相适应,且无法满足只提供电子纸而没有实物或模型的情况。因此,基于CAD/CAM系统的形交互式离线编程成为双工业机器人控制的一个发展趋势。同时,双工业机器人协调作业也对系统联网通信能力提出了较高的要求。由于以太网支持的网络协议范围较为广泛,具有高速、低耗、易于安装和兼容性好等优点,故设想在通用的计算机上进行双工业机器人协调作业的规划。工业机器人控制器负责底层的运动控制,通过网络将计算机与两台工业机器人连接起来,并采用绝大多数CAD/CAM软件支持的G代码作为控制语言实现双工业机器人的协调作业。该系统能够大大提高双工业机器人协调作业控制的柔性与效率。
1双工业机器人网络控制方案
受工业机器人控制器底层不开放的影响,机器人控制器无法在物理层上对控制系统通信进行改动。除两台工业机器人控制器之外,系统还增设一台计算机作为服务器,将两台工业机器人控制器作为客户端,形成客户机/服务器模式(client/ser"r)。控制系统通过将任务合理分配到client端和server端来实现协调作业,大大增强了协调作业的模块化。双工业机器人网络模式如1所示。
1双工业机器人的网络模式
在进行网络通信时,有两种通信协议可供选择,分别是传输控制协议(transInissioncontrolpmtocol,TCP)与用户数据报协议(userdatagramprotcol,UDP),两者都是TCP/IP参考模型中传输层的协议。TcP协议是一种可靠的面向连接的协议,而uDP协议是一种不可靠的无连接协议。使用代P/UDP协议进行网络通信示意如2所示。
2网络通信示意
在TCP进行通信时,首先通过三步握手建立通信双方的连接,然后进行通信。TCP协议提供了数据确认和数据重传的机制,以保证数据的正确传输。
双工业机器人系统中数据的不同传输方式如表1所示。
对于UDP协议,控制系统使用该协议进行通信时不需要建立连接,而是直接向一个IP地址发送数据。由于没有数据确认与重传机制,所以不能保证数据的正确传输,但是其实时性较高。
实际上,工业领域的应用一般都会为双工业机器人系统组建独立的局域网,所以在该网络中通信负载状况良好。在网络协议的选择上,对于必须保证发向机器人控制器的数据被接收到的情况,如:程序的执行、停止与继续等,服务器采用TCP协议进行传输。对于数据发送与接收的实时性要求较高的情况,采用UDP协议进行传输。这样既保证了数据的完整性,又能够保证整个网络系统数据的实时性。
2基于G代码的编程语言
2.1G代码的优势
对于现有的绝大多数工业机器人而言,机器人编程分为在线编程法和离线示教法两大方式。在线编程法以直接示教再现为主。这种方式简单易懂,不需要环境模型,通过对机器人示教,可以修正机械结构的误差。该方法也存在编辑工作和利用传感器困难、表达条件分支复杂以及资源积累性差等缺点。尤其值得关注的是,以数值形式连续记录机器人动作的顺序和条件的示教方式仅适合特定场合执行特定任务的动作命令组合。
离线示教法不必实际驱动机器人,所生成的示教数据不是以运动路径的顺序输入机器人,而是先在计算机上建立机器人作业环境的模型,再在此模型的基础上生成示教数据。大多数机器人都有各自的一套协议规范,然而在双工业机器人领域还没有形成相应的行业规范与标准,尤其是使用两种不同品牌的机器人。在笛卡儿空间(C空间)中,数控加工广泛采用G代码进行轨迹类编程,其通用性较好,也容易被工程人员接受。G代码不仅能够描述空间上的运动轨迹,还能对速度进行约束,其最大的优势在于世界上绝大多数的CAD/CAM软件都支持G代码的输出,这在一定程度上为以后通过CAD/CAM软件实现机器人的离线编程提供了可行性。本文通过对标准G代码的重定义,为双工业机器人协调的网络控制提供一种新的语法。
2.2G代码处理
G代码早在20世纪70年代就已经作为lsO标准的编程语言而被广泛应用于各种数控类机床上。它将工件的点、线、面信息提取为加工工具的运动路径,作为数控机床编程语言G代码,这与机器人的运动控制极为相似,但还是存在一定的差别。因此,需对现有的G代码进行一定的转换和重定义。
2.2.1坐标定义指令
对于脚3N工业机器人,坐标系模式有各轴坐标系、基础坐标系和工具坐标系三种模式。其中各轴坐标系模式与工具坐标系模式是G代码所不支持的。对于地板安装方式的Fs03N机器人来说,考虑将第一轴作为参考主轴的情况,子锐机器人,其遵循右手规则的坐标系定义与立式数控加工中心的坐标系定义完全一致。在这种情况下,根据不同的安装方式,通过一定的齐次坐标变换即可实现坐标转换。通常情况下,考虑机器人在C空间的安装情况,有四种面安装方式.分别用G54一G59来表示。而在同一个面中,考虑到实际安装情况,一般有六种安装方式,KUKA机器人维修,分别用G5X1~G5X4来表示。
双工业机器人安装坐标如3所示。
2.2.2直线插补指令
G代码中分别使用G0和G1来表示快速直线插补与带进给的直线插补。在工业机器人的控制中,可以用G0来表示当机器人由一点移至另一点的整个过程中所有轴都保持同一进程的操作模式,即各轴(关节)插补运动;使用G1来表示控制器对机器人运动的速度方向进行连续控制,使其沿特定直线运动,实现直线插补。
2.2.3圆弧插补指令
在数控机床中,G代码描述圆弧插补的方式比较多。使用G2与G3区分顺时针与逆时针的方向,可以采用以下五种方式:①起点、圆心和终点;②起点、圆弧半径和终点;③起点、张角和圆心;④起点、张角和终点;⑤起点、极坐标和以极点为圆心的圆弧。在JII崎机器人系统中,使用C1M0vE、C2MOvE指令沿空间中三点画圆弧。为此,定义G代码G38与G39分别对应ClMOVE与C2MOvE.完成三点定义圆弧。对于第三点的求解问题,可以参照文献[2]中的方法。
2.2.4螺旋线插补指令
根据等螺距螺旋副的形成特点,在螺旋线上的点A(x,y,z)可以描述为:
G语言中使用G2/G3与TuRN指令来实现螺旋线的插补,并在螺旋线插补时叠加了两种运动,即平面的圆弧运行与垂直于平面的轴的直线运行。在双工业机器人系统中进行螺旋线插补的方式同数控机床中保持一致,其中一个机器人(从机器人)使用指令圆弧插补(G38或G39)完成,另一个机器人(主机器人)使用直线插补指令(co或G1)完成,双工业机器人合作即可完成螺旋线的插补。所以,在插补的过程中,应根据式(1)来协调双工业机器人插补的轨迹。
2.2.5速度控制指令