传统的机械手结构末端执行器与基座之间只有一条运动链,我们称为串联机械手,而并联机械手末端执行器至少有两条运动链与基座相连。根据运动链的条数n不同,把并联机械手称为n轴并联机械手,常见的一般为3轴机械手或4轴机械手。
与串联机械手相比,并联机械手具备以下几个优势:
1. 刚度大,多条运动链可以分享载荷。
2. 精度高,误差由多条运动链均分,不会像串联结构那样误差累计。
3. 运动平稳,主要部件都连接在基座,质心靠近不同的基座,所以运动惯量低。
4. 成本低,结构基本都是标准件。
图 3并联机械手基本参数
R: 大臂旋转中心到基座中心的距离。
L1:大臂长度,两端旋转中心距离。
L2:小臂长度,两端旋转中心距离。
r:小臂末端连接中心到底座中心的距离。
LX: 末端工作点相对于底座中心的X偏移,(负向为负数)。
LY: 末端工作点相对于底座中心的Y偏移,(负向为负数)。
LZ: 末端工作点相对于底座中心的Z偏移,(负向为负数)。
正运动技术致力于做更好的运动控制器,非总线的ZMC运动控制器采用华为 IPD-CMM 软件开发流程开发,使得产品具备电信级的稳定性;结合了最新的控制理论及网络控制技术; 以太网,RS232,RS485, USB,CAN 等多种接口;单控制器最多可以控制多达 32 个轴。同时结合了传统PLC和运动控制卡,即可进行逻辑控制,又可进行运动控制,精简了工业现场的控制设备。
而在发现了市场上对于EtherCAT总线控制器的需求后,正运动技术更进一步,潜心开发出了EtherCAT总线运动控制器、总线IO扩展和总线轴扩展等一系列产品。本次就采用ZMC464总线控制器对3轴并联机械手进行控制,外观如下图。
图 4 ZMC464总线运动控制器
ZMC464在非总线运动控制器的基础上,优化了以下几点。
最多达 64 轴运动控制(3 脉冲轴+64ECAT 轴);
支持最多达 16 轴同时直线插补、任意空间圆弧插补、螺旋插补 ;
支持多机台同时联动;
ECAT 最快 100μs 的刷新周期;
每轴最大输出脉冲频率 8MHz;
EtherCAT总线控制器的出现,使得运动控制的响应速度更快,精度更高。现场接线更加简洁、简单,驱动器不再需要一一与控制器上的轴接口一一对应,只需要用网线串接驱动器即可,现场控制电箱体积更小。
本方案使用的3轴并联机械手如下图5,基本参数如图6。
对于并联机械手的控制而言,最为关键的是如何将关节轴坐标系转换为笛卡尔坐标系,操作末端执行器在笛卡尔坐标系中运动,关节轴要能够自动解算出响应的关节轴坐标,这个过程就是逆解,需要编写相应的算法。
为了更方便的使用,正运动已经将不同的机械结构算法进行了封装,使用的时候只需要设置好然机械结构的参数,然后使用CONNFRAME指令调用3轴并联机械手结构即可。建立连接后,我们就可以通过操作3个虚拟轴使末端执行器移动到笛卡尔坐标系中的指定位置,此时3个关节轴会自动解算需要旋转的角度。
本方案主要实现直线运动和圆弧运动。
使用网线通过EtheaCAT接口将ZMC464与伺服驱动器连接,驱动器要支持EtherCAT总线驱动,这里使用的是迈信EP3驱动器。连接好第一个驱动器后,用网线依次串接剩余驱动器即可,如下图。
图 7 ZMC464总线运动控制器接线
ZMC总线控制器通过axis_address指令可以设置驱动器绑定的轴号。通过atype()指令可以设置轴的控制类型。本方案采用atype=65位置闭环模式控制机械手。
可以通过DRIVER类型指令直接对驱动器设置,比如drive_mode可以设置驱动器的控制模式(对应驱动器数据字典)。DRIVE_CONTROLWORD设置驱动功能。
也可以通过SDO_READ和SDO_WRITE直接对驱动器进行读写。
过程控制的程序可以通过Zdevelop编写,使用了Zbasic编程环境。根据需要的功能,可以自定义编写相应功能的SUB,使程序结构更清晰易读。本方案包含的功能主要有机械手结构正解逆解的切换、相对绝对模式的切换、G代码操作、手动操作等。
运动时的实时参数也可通过zdevelop的轴参数查看。
图 8轴参数列表
正运动开发了自己的HMI人机界面和手持盒,并加入到ZDevelop编程软件中,与Basic联合编程,使得在Basic编程的同时也可以进行HMI界面设计,程序将一同下载到控制器。通过网线连接控制器与手持盒,会自动显示出HMI界面。
图 9 HMI界面
程序中建立了与标准G代码功能相同的自定义G代码,如下图。
图 10 G代码
操作者可以直接使用G代码来编写运动程序,控制3轴机械手的运动轨迹,实现了脱离PC端编程。本方案中主要使用了G01直线运动和G02顺圆指令,在笛卡尔坐标系中运动轨迹为,原点位置(0,0,-294)->(0,0,-450)->(180,0,-450)->(180,0,-450)->顺时针画整圆->回原点(0,0,-294)。
总线控制器连接好驱动器后,要通过写指令使驱动器使能并绑定轴号,如果编写轴指令数量与连接的驱动器数量不一致时,驱动器不会使能,预防因漏接多接可能引起的事故。同时,在运行过程中,如果断开某一驱动器,运动会立即停止并报警;如果连接新的驱动器,不会对新连接的驱动器操作,直到断电重启并修改程序。
可以在命令行输入?*ethercat,来查看驱动器状态。
图 11 驱动器状态
通过一段时间的测试,使机械手在不同的速度下运行时都能保持平稳准确。综上所述,ZMC总线控制器通过basic编写过程程序,通过HMI组态环境编写人机界面,二者结合,更加方便了多轴运动控制的实现,而且总线控制器响应速度快,接线简单方便,在多轴联动控制方面更具优势。