什么是线性追踪 Line Tracking
单轴线性追踪 Single axis line tracking 笛卡尔直线或圆环追踪 Cartesian line or circular tracking 单轴线性追踪 Single axis line tracking
主要是针对机器人附加轴的,保证机器人附加轴的运行速度和输送机相同,使用单 轴线性追踪的前提必须保证输送机输送方向和机器人附加轴方向相同。 比如机器人地轨,使用单轴线性追踪后,机器人地轨的运动速度就可以和输送机相同。 笛卡尔直线或圆环追踪 Cartesian line or circular tracking
笛卡尔追踪指的是机器人工具中心点TCP(Tool Center Point)自动追踪输送线,笛卡尔追踪只能使用直线运动和圆运动踪两种,不能使用关节运动。 直线追踪
笛卡尔直线追踪系统,一般由机器人、直线输送机组成,当工件从机器人前方经过时,机器人可以准确抓取工件。 圆弧追踪
笛卡尔圆弧追踪系统,一般由机器人、圆弧形输送机或旋转工作台组成,直接可以直接从上面取放件。圆弧追踪不支持边界设定。
硬件和软件
Palletizing Coordinated Motion
Space Check
Remote TCP
Singularity Avoidance (Unavailable for tracking motion. Only available for normal motion)
Finishing Function Package
Servo Gun Change function
Robot Link Function
Basic/Intelligent Interference Check
Arc Sensor (TAST)
AVC
RPM
Touch Sensor
Restart Position check function
线性追踪设置
编码器设置
编码器用来追踪输送线速度,通过编码器给机器人提供脉冲信号,通过设置编码器脉冲数量和实际输送距离的比值,来确定输送速度。
冷启动 COLD START
跟踪参数设置
在示教器中提前设置好下表参数:
线性追踪上下边界设定,只有在边界内,机器人才会追踪工件,具体见下图
编程实例
主程序 job:
/PROG MO250020
/MN
1: ! Turn on Encoder ;
2: LINE[1] ON ;
3: !
4: ! Move to rest pos (non-tracking)
5: LBL[1] ;
6: CALL MO250021 ;
7: !
8: !
9: ! Wait for a part detect trigger
10: LBL[2] ;
11: WAIT DI[32]=ON ;
12: !
13: ! Read the line count and rate
14: LINECOUNT[1] R[1] ;
15: LINERATE[1] R[2] ;
16: !
17: ! Make sure the conveyor moves fwd
18: IF R[2]<0, JMP LBL[2] ;
19: !
20: ! Store the trigger value
21: SETTRIG LNSCH[1] R[1] ;
22: !
23: ! Select a boundary set
24: SELBOUND LNSCH[1] BOUND[1] ;
25: !
26: ! Move to track the conveyor
27: CALL MO250022 ;
28: !
29: ! Loop back for a next part
30: JMP LBL[1]
/POS
/END
主程序中,与线性追踪相关的指令有LINECOUNT、LINERATE、SETTRIG、SELBOUND,LINECOUNT代表编码器数值,LINERATE代表输送机速度,SETTRIG设置线性追踪进度模式编号,SELBOUND设置边界。
M0250022 线性追踪程序
/PROG MO250022
/MN
1:L P[1] 800mm/sec FINE ;
2: WAIT .50(sec) ;
3:L P[2] 800mm/sec FINE ;
4:L P[3] 800mm/sec CNT100 ;
5:L P[4] 800mm/sec CNT100 ;
6:L P[5] 800mm/sec FINE ;
7:C P[6]
: P[7] 800mm/sec FINE ;
8:C P[8]
: P[9] 800mm/sec CNT100 ;
9:C P[10]
: P[11] 800mm/sec FINE ;
/POS
/END
线性追踪指令详解
DEFENC[x] SNRSCH[x]
设置线性追踪编码器编号,复制$LNSNRSCH变量中的内容,填入$ENC_STAT变量中,完成编码器参数设置。
GONE_TIME[x] LNSCH[y] PR[z] TRIG[u]
返回PR[z]点离开LNSCH[y]边界后的时间,并将其存储在R[x]中GONE_TIME指令可以用来监视抓取工件时,工件是否已经离开线性追踪的边界,具体可参加下面的例子,R[12]存储了“PICK_PART”程序执行的平均时间。
1 GONE_TIME[10] LNSCH[1] PR[1] TRIG[20]
2 IF R[10]<R[12] JUMP LBL[2]
3 CALL PICK_PART4 LBL[2]
LINE[x] [value]
打开线性追踪编码器。
LINESIM[x] [value] R[x]
打开编码器仿真模拟。
LINECOUNT[x] output
输出编码器数值,当检测到零件后必须立即打开。
LINERATE [x] output
输出编码器速率。
LINESTOP[x] output
输出编码器停止状态。
SETTRIG LNSCH[x] R[y]
设置线性追踪进度编号触发值。
SETBOUND LNSCH[w] BOUND[x] PR[y] PR[z]
设置线性追踪边界。
SELBOUND LNSCH[x] BOUND[y]
选择线性追踪边界。
STOP_TRACKING
STOP_TRACKING 只能在跟踪程序中使用,用来暂时停止追踪动作。
ACCUTRIG LNSCH[x]
当I/O信号触发后,会激活一个程序中断,用来设置一个系统刻度,然后LINECOUNT指令使用这个系统刻度来接受编码器数值。
1:ACCUTRIG LNSCH[1]
2:WAIT DI[1]=OFF
3:WAIT DI[1]=ON
4:LINECOUNT[1] R[1]5:SETTRIG LNSCH[1] R[1]
TRKUFRAME LNSCH[x] PR[y]
在位置寄存器PR[y]中设置线性追踪用户坐标系。
VISUFRAME
为了使用跟踪用户框架功能,您必须了解线跟踪框架及其关系。
典型的机器人-输送机设置和框架关系见图