兼容G代码的机器人控制器
一 概述
目前市场上有众多机器人控制器,特别是四大家族,都有自己的指令体系,并且互不兼容。相对而言,数控机床在这个方面就做的好很多。因此,也诞生了许多开源数控体系。班特科技也有自己的机器人控制器,详细情况见上个系列博客--开放型机器人控制器。从这个系列开始,我们准备更进一步,介绍一种兼容G指令的机器人控制器。本篇是该类型控制器的第一篇文章,先给大家一个总体介绍。
二 硬件介绍
本控制器采用工业款EtherCAT主站卡,板卡上的外设资源如图1所示。
图1 工业款控制卡
板卡可以外接9-24V电源,也可以只由TTL串口来供电。板载丰富的总线,有CAN和485各两路,光耦隔离的数字量输入和输出共计48路,两个以太网口,可以工作在双EtherCAT模式,或者一个网口用来跟上位机完成TCP或者UDP通信。
本控制器默认采用EtherCAT总线电机,用232串口来跟上位机通信。
三 上位机软件
原则上来说,可以使用多款上位机软件,只要兼容G体系,甚至一个串口工具也可以作为上位机。本篇先用一个最简单的串口工具来测试基本指令交互。例如常见的xcom,界面如图2所示。
图2 串口工具
四 基本指令介绍
4.1 回零
每一个机器人都需要电机来驱动,有些伺服电机是多圈绝对式的,可以只做一次零位标定,后面就不需要了。然而更多的电机是相对编码器的,需要结合光电开关进行零位标定。因此,需要执行的第一条指令是$Find home。该指令会进行各个轴的找零位运动。完成后,会给出提示。
4.2 直线插补G01
例如G01 X10 Y20 Z30 F100
这条指令就是完成从当前位置到(10,20,30)的空间直线插补
4.3 圆弧插补G02和G03
该两条指令分别完成逆时针和顺时针圆弧插补,具体参数后面再详细介绍
其余指令,在本篇中就不逐个介绍了,最后放上一张用这个控制器绘制的图形。
图3 绘制图形