圆弧运动指令
MoveC:圆弧运动指令,示教位置点的数据类型为robtarget。将机器人的TCP点沿圆弧运动至给定目标点。圆弧运动时的圆周角不能超过240°,所以一个完整的圆至少需要使用两条圆弧指令来完成。并且在运动过程中可能存在奇异点。如:机器人通过中间点以圆弧移动方式运动至目标点,当前点、中间点与目标点3点决定一段圆弧,机器人运动状态可控制,运动路径保持唯一。MoveC指令常用于机器人在工作状态移动。
如下图所示,机器人的TCP点从P10(起点)运行到圆弧的中间点P20,接着再运行到终点P30,这一段运动过程就是圆弧运动,代码示例如下所示:
MODULE MainModule
CONST robtarget p10:=[[100,200,300],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget p20:=[[400,500,600],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
CONST robtarget p30:=[[700,800,900],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
PROC main()
MoveJ p10,v1000,fine,tool0\WObj:=wobj0;
MoveC p20,p30,v1000,fine,tool0\WObj:=wobj0;
ENDPROC
ENDMODULE
总结
a:运动路径为圆弧;b:运动速度较慢;c:一般为小范围运动;d:运动路径可控;e:一条圆弧运动指令需要指定三个点;f:运动路径唯一;g:运动过程中可能存在奇异点;h:画一个圆需要两个MoveC;i:圆弧运动时的圆周角不能超过240°;
参数 | 说明 |
---|---|
MoveC | 指令名称:圆弧运动 |
p10 | 位置点:数据类型为 robtarget ,机器人和外部轴的目标点 |
p20 | 位置点:数据类型为 robtarget ,机器人和外部轴的目标点 |
v1000 | 速度:数据类型为speeddata,适用于运动的速度数据。速度数据规定了关于工具中心点、工具方位调整和外轴的速率 |
z50 | 转弯半径:数据类型为 zonedata ,相关移动的转弯半径。转弯半径描述了所生成拐角路径的大小 |
tool0 | 工具坐标系:数据类型为tooldata,移动机械臂时正在使用的工具。工具中心点是指移动至指定目的点的点 |
wobj | 工件坐标系:数据类型为 wobjdata ,指令中机器人位置关联的工件坐标系。省略该参数,则位置坐标以机器人基坐标为准 |
将工具中心点(TCP)沿圆弧移动至目标点。
格式 | MoveC [\Conc] ToPoint [\ID] Speed [\V] [\T] Zone [\Z] [\Inpos] Tool [\Wobj] [\TLoad] | |
参数 | [\Conc] | 当前机器人正在运动时,执行后续指令 |
ToPoint | robtarget型目标点位置 | |
[\ID] | 在MultiMove系统中用于运动同步或协调同步,其他情况下禁止使用 | |
Speed | Speeddata型运动速度 | |
[\V] | num型数据,指定指令中的TCP速度,于mm/s为单位 | |
[\T] | num型数据,指定机器人运动的总时间,以s为单位 | |
Zone | zonedata型转弯半径 | |
[\Z] | num型数据,指定机器人TCP的位置精度 | |
[\Inpos] | stoppointdata型数据,指定停止点中机器人TCP位置对的收敛准则,停止点数据取代Zone参数的指定区域 | |
Tool | tooldata型数据,指定运行时的工具 | |
[\Wobj] | wobjdata型数据,指定运行时的工件 | |
[\TLoad] | loaddata型数据,指定运行时的负载 | |
示例 | MoveC p10,p20,v1000,z50,tool0\WObj:=wobj0; | |
说明 | 以圆弧形式过p10移动至p20点 |
希望对你们有所帮助,如有不足之处,欢迎大家留言探讨,本文已经首发在个人微信公众号:龙猫YOU ,欢迎关注!