设为首页|加入收藏
用户名:   密码:   立即注册

台达高端PC-Based 工业控制器 (PAC) 产品DDA功能实现SCARA机器人运动控制

日期:2017/10/15   来源:机电商报   
  摘要:台达高端PC-Based工业控制器 (PAC) 具有强大的运动控制功能,其中DDA功能是台达运动控制卡提供的一种特殊运动指令,可以满足各种轨迹运动的需求。本文以SCARA机器人控制为例,详细讲解如何透過DDA功能的应用实现SCARA机器人直线、圆弧等插补运动。

【摘要】台达高端PC-Based工业控制器 (PAC) 具有强大的运动控制功能,其中DDA功能是台达运动控制卡提供的一种特殊运动指令,可以满足各种轨迹运动的需求。本文以SCARA机器人控制为例,详细讲解如何透過DDA功能的应用实现SCARA机器人直线、圆弧等插补运动。

[Abstract] Delta Programmable Automation Controller (PAC) is equipped with powerful motion control functions including DDA function (via Delta motion control card) which provides specific  l motion commands to achieve all kinds of track movement. By taking SCARA robot motion control as an example, this paper explains  the application of DDA function and control over SCARA motion interpolation such as straight-line or arc movement.    .

【关键字】Programmable Automation Controller (PAC)产品, DDA功能,SCARA机器人,插补运动

[Keywords] PAC product, DDA function, SCARA robot, motion interpolation 

前言

台达高端PC-Based工业控制器(PAC)产品具备非常强大的DDA功能,虽然与该功能相关的API指令很少,但想要正確、应用存在一定的难度,主要困难点包括:一、运动模型的建立问题,以SCARA机器人为例,必须根据SCARA的机构原理搭建合理的机器人运动模型,实现机器人的正运动学控制与逆运动学控制。二、路径规划问题,良好的路径规划演算法可建立更加平滑的运动效果。本文针对以上两个难点,详细讲解SCARA机器人的模型推导,及运动路径规划,最终通过DDA功能实现SCARA机器人平滑运动控制。

一、 DDA功能简介

DDA功能是台达运动控制卡提供的一种特殊指令,可以同时针对12个轴进行运动控制。当DDA功能开启后,运动控制卡可以每毫秒执行一笔DDA Table中的资料,其中DDA Table最大Buffer为1000笔数据,值得注意的是在Buffer执行完毕之前,不接受其他指令(如:Sd_Stop等)。

与DDA功能相关的API指令主要有四个,包括开启DDA填表功能 (enable_dda_mode)、向DDA Table中填写资料(set_dda_data)、以及取得资料(get_dda_cnt)和清除资料(clear_dda_data)的辅助指令。

1.开启DDA填表功能

_DMC_01_enable_dda_mode(U16 CardNo,U16 enable)

其中enable参数是unit16类型,每一个bit位代表一个从站,其中0表示DDA功能关闭,1表示DDA功能开启,如图1 所示,现需开启从站1、2、3、4号四个轴DDA功能,只需让Enable=15就可以了。


2.向DDA Table中填写资料

_DMC_01_set_dda_data(U16 CardNo,U32* abs_pos)

开启DDA功能后,DDA Table中暂无资料,从站无动作。当向DDA Table中写入资料数据后,从站按资料信息进行动作。其中abs_pos是一个12轴的资料阵列。例如:现要对从站1、2、3、4 DDA Table发送数据,发送数据格式如图2所示。

3.辅助指令

_DMC_01_get_dda_cnt(U16 CardNo,U16* dda_cnt)

该指令可以取得目前DDA Table尚存的资料笔数。

_DMC_01_clear_dda_data(U16 CardNo)

该指令用来将DDA Table中尚存的资料清除,及清空DDA Table中的资料。当DDA Table中的资料执行结束前,其他的停止API是无效的,只有通过clear_dda_data指令清空DDA Table中的资料才能使伺服电机停止下来。

二、SCARA机器人

SCARA(Selective Compliance Assembly Robot Arm) 中文译名是选择顺应性装配机器手臂 ,这是一种圆柱坐标型的特殊类型的工业机器人。SCARA系统在X、Y方向上具有顺从性,而在Z轴方向具有良好的刚度,特别适合于装配工作。同时,SCARA串接的两杆结构,类似人的手臂,可以伸进有限空间中作业然后收回,适合于搬动和取放物件。

1.SCARA机器人运动学模型

SCARA机器人具有四个轴和四个运动自由度,(包括X、Y、Z方向的平动自由度和绕Z轴的转动自由度)。如图3为SCARA机器人运动学模型。其中为第一关节角度,为第二关节角度,为第三关节伸缩长度,为第四关节角度。

根据SCARA机器人运动学模型,在卡迪尔坐标系下就可以建立SCARA机器人数学模型:



其中:

、、为SCARA末端点位坐标

为第一关节臂长

为第二关节臂长

该模型下,当时,SCARA机器人工作在右手系;当时,SCARA机器人工作在左手系。

以台达SCARA机器人DRS40L机械结构为例,第一关节与第二关节伺服电机带有减速机,第三关机伺服电机带动螺纹丝杆,进而可以得到伺服电机编码器反馈位置与各关节角度或长度关系:

其中:

为关节角度

为关节长度

为编码器反馈位置

为电子齿轮比分子

为电子齿轮比分母

为减速器减速比

为丝杆螺纹间距

通过以上推导,就可以将伺服电机编码器位置量与SCARA机器人末端空间位置坐标一一对应起来。

2.SCARA机器人逆运动学模型

根据上节给出的SCARA机器人运动模型,反推逆运动学模型为:

计算出各关节量后就能反推出各关节伺服电机编码器位置量:



只需要将计算得到的各关节伺服位置、、、写入DDA Table中,SCARA机器人末端就可以到达指定坐标点位。

如果想用DDA功能实现对SCARA机器人的运动控制,需要知道SCARA机器人运动过程中每毫秒各关节伺服位置应是多少,将连续的伺服位置量写入DDATable中,就可以实现想要的SCARA机器人运动控制。

三、PC-Based工业控制器 (PAC) 产品控制SCARA机器人运动控制

在生产制造过程中,机器人可以取代工人实现物品的搬运、设备的组装、质量检测等。在实际应用中,经常会要求机器人安装规定的路径、额定的速度等来适应复杂的现场需求,如:直线运动、圆弧运动、P to P等;

1.控制系统架构

在此采用台达SCARA机器人DRS40L、主机型PC-Based 工业控制器MH1-S30D、伺服驱动器&马达ASDA-A2,搭建测试平台,并设计MovL、MovP、MovArc、V_Move、Emg_Stop、Sd_Stop、HandType_Change等运动控制指令,Get_Position、Get_Joint_Ang、Get_Real_Speed、Get_Servo_Spd等状态监控指令。控制系统架构如图4所示:

由于SCARA运动控制指令较多,但实现方法相同,在此我们以MovL指令为例,详细说明DDA功能如何实现SCARA机器人MovL运动。为了方便说明DDA功能的使用,在设计运动控制指令时以T型加减速设计。

2.SCARA机器人直线插补指令

Scara_MovL(P,StartVel,MaxVel,EndVel,AccL,DecL)

其中:P为空间点位坐标。

MovL程序流程图如图5,该指令会触发Timer_Event事件,Timer_Event事件主要负责完成运动过程中的插补运算,并将计算得到的各关节放入DDATable中,如图6。


3.直线插补运动整机测试

完成直线插补程序后进行整机测试,如图7所示,为SCARA机器人从移动至时与关节的回授位置曲线和速度曲线:

结束语

依据上述程序流程设计,采用DDA功能实现SCARA机器人直线插补指令、圆弧插补指令、减速停止指令、单轴运动指令等,并整机测试通过。PAC产品具备的DDA功能可以作为一种解决特殊路径、奇异运动模型的方法,大幅提升PAC产品的功能属性,使PAC产品的应用领域更加广泛。


文件阅读
    相关思考