如何使用JBI,使机器人末端绕着固定坐标系旋转

绕着固定点旋转(基于TCP方向或者base或者用户坐标系方向),需注意,V变量需跟随工具坐标变化而变化,如果想得到比较好的旋转效果,需正确的设置TCP位置,并更新当前TCP的记录点(V10).

附代码:

NOP
// 基于当前TCP记录开始点位置,基于BASE,改变TCP需更新此点
SETPOSE V010 -355.0688,-714.0648,-142.2637,-3.0294,-0.0435,2.5141
//设定绕rx的旋转角度deg,建议单次只旋转一个方向
SET D000 0
//设定绕ry的旋转角度deg,建议单次只旋转一个方向
SET D001 20
//设定绕rz的旋转角度deg,建议单次只旋转一个方向
SET D002 0

// 设置旋转参考坐标系,B000=1:绕当前TCP的方向,B000=2:绕BASE坐标系,B000=3:绕当前user坐标系
SET B000 1
// 设置当前用户坐标系No
GETUSERFRAME V013 USER#(0)
//用户修改以上部分!!


//**************************
//以下部分用户不需要修改
SETPOSE V011 0,0,0,0,0,0
SET V011(3) D000
SET V011(4) D001
SET V011(5) D002
SET V014 V013
// 角度转弧度
DIV V011(3) 180
MUL V011(3) 3.14159
DIV V011(4) 180
MUL V011(4) 3.14159
DIV V011(5) 180
MUL V011(5) 3.14159

MOVL V010 V=50.0MM/S CR=0.0MM
// 绕当前TCP
IF B000 = 1 THEN
POSEMUL V010 V011
MOVL V010 VR=20DEG/S CR=0.0MM
ENDIF
// 绕BASE
IF B000 = 2 THEN
SETPOSE V012 0,0,0,0,0,0
SET V012(3) V010(3)
SET V012(4) V010(4)
SET V012(5) V010(5)
POSEMUL V011 V012
SET V010(3) V011(3)
SET V010(4) V011(4)
SET V010(5) V011(5)
MOVL V010 VR=20DEG/S CR=0.0MM
ENDIF
// 绕指定用户坐标系
IF B000 = 3 THEN
POSEINV V013
POSEMUL V013 V010
// 得到开始点在用户坐标系下的值
SETPOSE V012 0,0,0,0,0,0
SET V012(3) V013(3)
SET V012(4) V013(4)
SET V012(5) V013(5)
POSEMUL V011 V012
SET V013(3) V011(3)
SET V013(4) V011(4)
SET V013(5) V011(5)
POSEMUL V014 V013
MOVL V014 VR=20DEG/S CR=0.0MM
ENDIF
END


点击显示全文
赞同0
发表评论
分享

手机扫码分享
0
451
收藏
举报
收起
登录
  • 密码登录
  • 验证码登录
还没有账号,立即注册
还没有账号,立即注册
注册
已有账号,立即登录
选择发帖板块
上传文件
举报
请选择举报理由
举报
举报说明