EC机器人坐标偏移

2025-07-02

1.  简介

在实际应用中【yīng yòng zhōng】⛺有很多【yǒu hěn duō】地方🌎,需要很【xū yào hěn】多偏移🌝位置【zhì】,如:相机发过来的相对位🎮置【zhì】,进行位置【zhì】相加等【děng】🍣

2.  操作流程

JBI程序方法一

指令介绍

程序介绍

①沿着直角坐标【jiǎo zuò biāo】📙系偏移🐣,P变量存【biàn liàng cún】🚃储的是关节坐【guān jiē zuò】📽标,如果我们想进行【háng】XYZ方向进【fāng xiàng jìn】🆓行【háng】加减,则🖼需要指【xū yào zhǐ】定直角坐标【jiǎo zuò biāo】📙系,则🖼

P002(0),P002(1),P002(2),P003(3),P004(4),P005(5)分别表【fèn bié biǎo】⏰示机器人的【rén de】X,Y,Z,RX,RY,RZ。下面是【xià miàn shì】以♉P1为基准,Z方向偏🎰移5mm。

SET P002 P001

// 将 P002 设为【shè wéi】 P001 的值🐡

SET D001 5

// 将 D001 设为 5

CCOOD CART

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

ADD P002(2) D001

// 将 D001 的值加【de zhí jiā】📗到【dào】 P002 的第二个元素上🕣

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

// 以 100 mm/s 的速度🥠和【hé】 0.000 mm 的拐角半径直💨线移动到【dào】 P002 的位置【de wèi zhì】🌬

②关节进行偏移,则P002(0),P002(1),P002(2),P003(3),P004(4),P005(5)分别表【fèn bié biǎo】㊗示机器人的🍐J1,J2,J3,J4,J5,J6。下图是【xià tú shì】以【yǐ】P1为基准😯,3轴偏移5度【dù】🥞。

SET P002 P001

// 将 P002 设为 P001 的值【de zhí】🗿

SET D001 5

// 将 D001 设为 5

CCOOD JOINT

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

ADD P002(2) D001

// 将 D001 的值加【de zhí jiā】🗂到【dào】 P002 的第二个元素上🌫

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

// 以 100 mm/s 的速度【de sù dù】🗨和 0.000 mm 的拐角半径直⛅线移动【xiàn yí dòng】到【dào】 P002 的位置🐢

③沿着工具【gōng jù】🖐坐标系进行📸偏移,则【zé】P002(0),P002(1),P002(2),P003(3),P004(4),P005(5)分别表示机器【shì jī qì】🖌人沿着【rén yán zhe】⤴工具【gōng jù】🖐坐标方【zuò biāo fāng】向的【xiàng de】🐩X,Y,Z,RX,RY,RZ。下图是🔁以P1为基准,Z沿着工具【gōng jù】🖐1的🐩Z方向偏移5mm。

SET P002 P001

// 将 P002 设为 P001 的值【de zhí】🖍

SET D001 5

// 将 D001 设为 5

CCOOD TOOL#(0)

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

ADD P002(2) D001

// 将【jiāng】 D001 的值加【de zhí jiā】🕘到 P002 的第二个元素上⏱

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

// 以【yǐ】 100 mm/s 的速度📍和 0.000 mm 的拐角半径直⛩线移动【xiàn yí dòng】到 P002 的位置【de wèi zhì】📙

④沿着用户坐【hù zuò】🍽标系进【biāo xì jìn】行【háng】🔥偏移🛀,则P002(0),P002(1),P002(2),P003(3),P004(4),P005(5)分别表🏣示机器【shì jī qì】人沿着用户坐【hù zuò】🍽标方向的【de】🕡X,Y,Z,RX,RY,RZ。下图是以P1为基准,Z沿着用户【hù】1的【de】🕡Z方向偏🕊移5mm。

SET P002 P001

// 将 P002 设为【shè wéi】 P001 的值🚼

SET D001 5

// 将 D001 设为 5

CCOOD USER#(0)

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

ADD P002(2) D001

// 将 D001 的值加🕊到【dào】 P002 的第二【de dì èr】个元素上🎒

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

// 以 100 mm/s 的速度👌和【hé】 0.000 mm 的拐角半径直【bàn jìng zhí】🕤线移动到【dào】 P002 的位置🚤

注【zhù】:CCOOD目前只🦕能配【pèi】🈴合P变量使【biàn liàng shǐ】🌋用,无法搭配【pèi】🈴V变量,如CCOOD USER#(1) ADD V002(2) 5,这个指【zhè gè zhǐ】🐮令无法沿着用户坐标【hù zuò biāo】系进行🚛偏移。

JBI程序方法二

指令介绍

程序介绍

①沿着工🥃具坐标【jù zuò biāo】系偏移【yí】,利用右乘⛺。新姿态在原有的【de】🛂姿态的【de】基础💠上右乘⛺,相当于【xiàng dāng yú】绕当前TCP的【de】🛂坐标系【zuò biāo xì】旋转。下图先设定了当前运【dāng qián yùn】行的【háng de】🛂工具号🏰1,所以计算出来的【de】🛂新V1是以👣V1为基准🏊绕着工具1的【de】🛂TCP的【de】🛂Z方向偏【fāng xiàng piān】💢移【yí】5mm。

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

SETTOOLNUMBER TF=1

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

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

// 设置变🍞量🗿 V002 的姿态【de zī tài】,其中平移量为【liàng wéi】🤬 (0,0,5) 和旋转【hé xuán zhuǎn】量为【liàng wéi】🤬 (0,0,0)

POSEMUL V001 V002

// 将姿态 V002 作为偏移量应【yí liàng yīng】用到【yòng dào】⭐ V001 上,结果存🥟储在【chǔ zài】 V001 中💀

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

// 以【yǐ】 200 mm/s 的速度【de sù dù】📥和【hé】 0.000 mm 的拐角💆半径直🏛线移动到 V001 的位置

②沿着基坐标偏移🥝,利用左♓乘。新姿态在原有【zài yuán yǒu】👠的姿态【de zī tài】的基础上左乘🕋,相当于绕固定【rào gù dìng】坐标系(基座标【jī zuò biāo】)旋转【xuán zhuǎn】⬜。

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

// 设置变🛐量🌼 V002 的姿态【de zī tài】,其中平【qí zhōng píng】移量为【liàng wéi】🐊 (0,0,5) 和旋转量为【liàng wéi】🐊 (0,0,0)

// V2 是偏移📃量【liàng】,机器人【jī qì rén】🤑左乘✨,绕基坐标系进行旋转【háng xuán zhuǎn】偏移

POSEMUL V002 V001

// 将姿态 V001 作为偏【zuò wéi piān】💨移量应【yí liàng yīng】♐用到【yòng dào】 V002 上🛳,结果存储在 V002 中

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

// 以🦒 200 mm/s 的速度【de sù dù】🚿和 0.000 mm 的拐角【de guǎi jiǎo】半径直【bàn jìng zhí】线移动到🚗 V002 的位置

注:因为➕V变量只能保存基坐标【jī zuò biāo】系下的【xì xià de】🛐值,所以机⛳器人只🎋能沿着【néng yán zhe】基坐标【jī zuò biāo】系进行偏移.

JBI程序第三种方法

指令介绍

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

把机器人当前位姿基【wèi zī jī】于用户【yú yòng hù】坐标系⚡的空间坐标值的形式【de xíng shì】保存在🌊V0变量中【biàn liàng zhōng】(注意:需要选【xū yào xuǎn】💟中用户😍坐标系⚡,如不选【rú bú xuǎn】择默认基座标🔙)

ADD V000(0) 50

基于V0的X方向,加50mm

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

基于用【jī yú yòng】👣户坐标【hù zuò biāo】🎾系,运行到V0位置。注意:此点位需使用🍐MOVEL,并且选👉中对应的用户【de yòng hù】坐标【zuò biāo】🎾系

程序

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

//把机器【bǎ jī qì】🔞人当前💛位姿基【wèi zī jī】于用户🔍坐标系的空间【de kōng jiān】坐标值的形式🔡保存在V0变量中(注意【zhù yì】💮:需要选中用户【zhōng yòng hù】坐标系)

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")

-- 获取全【huò qǔ quán】局变量 "V1" 的值📢,并将其🈁赋值给【fù zhí gěi】 X, Y, Z, RX, RY, RZ

-- 设置变量至 V2

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

-- 将偏移数值的值设置【zhí shè zhì】为全局🤞变量【biàn liàng】📠 "V2"

基于工具坐标系偏移

脚本参考

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

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

-- 获取全【huò qǔ quán】局变量 "V1" 的值😕,并将其🈲赋值给【fù zhí gěi】 X, Y, Z, RX, RY, RZ

-- 计算出V1在工具【zài gōng jù】坐标系📒1偏移【piān yí】🍲 50,0,0,0,0,0} 的值

-- 计算出🕐 v1 在工具【zài gōng jù】坐标系中偏移 50,0,0,0,0,0} 后的值【hòu de zhí】,并将结📰果存储🚙在【zài】 v2_tool 中

-- 将笛卡尔坐标【ěr zuò biāo】🃏 X, Y, Z, RX, RY, RZ} 转换到【zhuǎn huàn dào】用户坐标系【biāo xì】 user1,结果存储在🗜 user1_v1 中🍷

-- 计算出【jì suàn chū】🔙 user1_v1 在用户坐标系🚅中🐷偏移 {50,0,0,0,0,0} 后的值,并将结【bìng jiāng jié】果存储【guǒ cún chǔ】在 user1_v2 中🐷

v2 = convert_pose_from_user_to_cart(user1_v2,user1)

-- 将【jiāng】👰 user1_v2 从用户🚺坐标系【zuò biāo xì】🏆转换回笛卡尔坐标系【zuò biāo xì】🏆,结果存储在 v2 中

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

-- 将【jiāng】🏟 v2 的值设置为全局变量【jú biàn liàng】♈ "V2"


download-669.svg comicon14.svg

电话咨询

download-397.svg comicon15.svg

免费试用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

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

我已阅读并同意漫蛙《隐私政策》《法律声明》

我已知晓并同意漫蛙【yì màn wā】😸通过电😱子邮件【zǐ yóu jiàn】发送相关资料【guān zī liào】🥐

提交