EC机器人坐标偏移

2024-11-06

1.  简介

在实际应用中有很多地方,需要很多偏移位置,如:相机发过来的相对位置,进行位置相加等

2.  操作流程

JBI程序方法一

指令介绍

程序介绍

①沿着直角坐标系偏移,P变量存储的是关节坐标,如果我们想进行XYZ方向进行加减,则需要指定直角坐标系,则

P002(0),P002(1),P002(2),P003(3),P004(4),P005(5)分别表示机器人的X,Y,Z,RX,RY,RZ。下面是以P1为基准,Z方向偏移5mm。

SET P002 P001

// 将 P002 设为 P001 的值

SET D001 5

// 将 D001 设为 5

CCOOD CART

// 设置坐标系为笛卡尔坐标系

ADD P002(2) D001

// 将 D001 的值加到 P002 的第二个元素上

MOVL P002 V=100MM/S CR=0.000MM  

// 以 100 mm/s 的速度和 0.000 mm 的拐角半径直线移动到 P002 的位置

②关节进行偏移,则P002(0),P002(1),P002(2),P003(3),P004(4),P005(5)分别表示机器人的J1,J2,J3,J4,J5,J6。下图是以P1为基准,3轴偏移5度。

SET P002 P001

// 将 P002 设为 P001 的值

SET D001 5

// 将 D001 设为 5

CCOOD JOINT

// 设置坐标系为关节坐标系

ADD P002(2) D001

// 将 D001 的值加到 P002 的第二个元素上

MOVL P002 V=100MM/S CR=0.000MM

// 以 100 mm/s 的速度和 0.000 mm 的拐角半径直线移动到 P002 的位置

③沿着工具坐标系进行偏移,则P002(0),P002(1),P002(2),P003(3),P004(4),P005(5)分别表示机器人沿着工具坐标方向的X,Y,Z,RX,RY,RZ。下图是以P1为基准,Z沿着工具1的Z方向偏移5mm。

SET P002 P001

// 将 P002 设为 P001 的值

SET D001 5

// 将 D001 设为 5

CCOOD TOOL#(0)

// 设置坐标系为工具坐标系0

ADD P002(2) D001

// 将 D001 的值加到 P002 的第二个元素上

MOVL P002 V=100MM/S CR=0.000MM

// 以 100 mm/s 的速度和 0.000 mm 的拐角半径直线移动到 P002 的位置

④沿着用户坐标系进行偏移,则P002(0),P002(1),P002(2),P003(3),P004(4),P005(5)分别表示机器人沿着用户坐标方向的X,Y,Z,RX,RY,RZ。下图是以P1为基准,Z沿着用户1的Z方向偏移5mm。

SET P002 P001

// 将 P002 设为 P001 的值

SET D001 5

// 将 D001 设为 5

CCOOD USER#(0)

// 设置坐标系为用户坐标系0

ADD P002(2) D001

// 将 D001 的值加到 P002 的第二个元素上

MOVL P002 V=100MM/S CR=0.000MM

// 以 100 mm/s 的速度和 0.000 mm 的拐角半径直线移动到 P002 的位置

注:CCOOD目前只能配合P变量使用,无法搭配V变量,如CCOOD USER#(1) ADD V002(2) 5,这个指令无法沿着用户坐标系进行偏移。

JBI程序方法二

指令介绍

程序介绍

①沿着工具坐标系偏移,利用右乘。新姿态在原有的姿态的基础上右乘,相当于绕当前TCP的坐标系旋转。下图先设定了当前运行的工具号1,所以计算出来的新V1是以V1为基准绕着工具1的TCP的Z方向偏移5mm。

// 设置当前运行工具号1

SETTOOLNUMBER TF=1

// 设置当前使用的工具号为1

SETPOSE V002 0,0,5,0,0,0

// 设置变量 V002 的姿态,其中平移量为 (0,0,5) 和旋转量为 (0,0,0)

POSEMUL V001 V002

// 将姿态 V002 作为偏移量应用到 V001 上,结果存储在 V001 中

MOVL V001 V=200MM/S CR=0.000MM

// 以 200 mm/s 的速度和 0.000 mm 的拐角半径直线移动到 V001 的位置

②沿着基坐标偏移,利用左乘。新姿态在原有的姿态的基础上左乘,相当于绕固定坐标系(基座标)旋转。

SETPOSE V002 0,0,5,0,0,0

// 设置变量 V002 的姿态,其中平移量为 (0,0,5) 和旋转量为 (0,0,0)

// V2 是偏移量,机器人左乘,绕基坐标系进行旋转偏移

POSEMUL V002 V001

// 将姿态 V001 作为偏移量应用到 V002 上,结果存储在 V002 中

MOVL V002 V=200MM/S CR=0.000MM

// 以 200 mm/s 的速度和 0.000 mm 的拐角半径直线移动到 V002 的位置

注:因为V变量只能保存基坐标系下的值,所以机器人只能沿着基坐标系进行偏移.

JBI程序第三种方法

指令介绍

SETPOSE V000 110.2887407,348.4875831,302.4088640,3.1119136,0.0000069,-0.5935836 USER#(0)

把机器人当前位姿基于用户坐标系的空间坐标值的形式保存在V0变量中(注意:需要选中用户坐标系,如不选择默认基座标)

ADD V000(0) 50

基于V0的X方向,加50mm

MOVEL V=200.0MM/S CR=0.0MM A=100MM/S² D=100MM/S² USER#(0) V000

基于用户坐标系,运行到V0位置。注意:此点位需使用MOVEL,并且选中对应的用户坐标系

程序

SETPOSE V000 110.2887407,348.4875831,302.4088640,3.1119136,0.0000069,-0.5935836 USER#(0)

//把机器人当前位姿基于用户坐标系的空间坐标值的形式保存在V0变量中(注意:需要选中用户坐标系)

ADD V000(0) 50

//基于V0的X方向,加50mm

MOVEL V=200.0MM/S CR=0.0MM A=100MM/S² D=100MM/S² USER#(0) V000

//基于用户坐标系,运行到V0位置。

lua程序方法

指令介绍

①变量基于基座标偏移

(1)获取全局变量


(2)计算位姿偏移

(3)获取用户坐标系位姿


程序介绍

基于基座坐标系偏移

脚本参考

-- 首先将当前位姿保存到V变量里面

X,Y,Z,RX,RY,RZ=get_global_variable("V1")

-- 获取全局变量 "V1" 的值,并将其赋值给 X, Y, Z, RX, RY, RZ

-- 设置变量至 V2

set_global_variable("V2",X+10,Y,Z+10,RX,RY,RZ)

-- 将偏移数值的值设置为全局变量 "V2"

基于工具坐标系偏移

脚本参考

-- 首先将当前位姿保存到V变量里面

X,Y,Z,RX,RY,RZ=get_global_variable("V1")

-- 获取全局变量 "V1" 的值,并将其赋值给 X, Y, Z, RX, RY, RZ

-- 计算出V1在工具坐标系1偏移 {50,0,0,0,0,0} 的值

v2_tool=pose_mul(v1,{50,0,0,0,0,0})

-- 计算出 v1 在工具坐标系中偏移 {50,0,0,0,0,0} 后的值,并将结果存储在 v2_tool 中

-- 设置变量至 p2

set_global_variable("V2",X,Y,Z,RX,RY,RZ)

-- 将偏移数值的值设置为全局变量 "V2"

基于用户坐标系偏移

脚本参考

-- 首先将当前位姿保存到V变量里面

X,Y,Z,RX,RY,RZ=get_global_variable("V1")

-- 获取全局变量 "V1" 的值,并将其赋值给 X, Y, Z, RX, RY, RZ

user1=get_user_frame(1)

-- 获取用户坐标系1的值并赋值给 user1

user1_v1 = convert_pose_from_cart_to_user({X,Y,Z,RX,RY,RZ},user1)

-- 将笛卡尔坐标 {X, Y, Z, RX, RY, RZ} 转换到用户坐标系 user1,结果存储在 user1_v1 中

user1_v2 = pose_mul({50,0,0,0,0,0},user1_v1)

-- 计算出 user1_v1 在用户坐标系中偏移 {50,0,0,0,0,0} 后的值,并将结果存储在 user1_v2 中

v2 = convert_pose_from_user_to_cart(user1_v2,user1)

-- 将 user1_v2 从用户坐标系转换回笛卡尔坐标系,结果存储在 v2 中

set_global_variable("V2",v2[1],v2[2],v2[3],v2[4],v2[5],v2[6])

-- 将 v2 的值设置为全局变量 "V2"


download-669.svg comicon14.svg

电话咨询

download-397.svg comicon15.svg

免费试用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

准备好突破增长瓶颈,开启智能制造了吗?
了解我们的机器人如何帮助您的业务增长
欢迎下载艾利特机器人资料

我已阅读并同意艾利特《隐私政策》《法律声明》

我已知晓并同意艾利特通过电子邮件发送相关资料

提交