EC机器人坐标偏移

2025-07-07

1.  简介

在实际【zài shí jì】应用中🍩有很多【yǒu hěn duō】地方😓,需要很🐜多偏移位置【zhì】🛥,如:相机发过来的相对位【xiàng duì wèi】置【zhì】🛥,进行位【jìn háng wèi】置【zhì】🛥相加等

2.  操作流程

JBI程序方法一

指令介绍

程序介绍

①沿着直角坐标【jiǎo zuò biāo】👸系偏移🐦,P变量存🐘储的是关节坐标,如果我【rú guǒ wǒ】们想进行【háng】🔌XYZ方向进【fāng xiàng jìn】行【háng】🔌加减,则【zé】需要指定直【zhǐ dìng zhí】🏚角坐标【jiǎo zuò biāo】👸系😼,则【zé】

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。下面是🤣以P1为基准【wéi jī zhǔn】,Z方向偏移🚨5mm。

SET P002 P001

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

SET D001 5

// 将 D001 设为 5

CCOOD CART

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

ADD P002(2) D001

// 将 D001 的值加到【dào】 P002 的第二🀄个元素【gè yuán sù】🐐上

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

// 以 100 mm/s 的速度和【hé】 0.000 mm 的拐角【de guǎi jiǎo】半径直【bàn jìng zhí】💪线移动到🈶 P002 的位置📻

②关节进🚥行偏移💤,则P002(0),P002(1),P002(2),P003(3),P004(4),P005(5)分别表示机器🍫人的【rén de】🍐J1,J2,J3,J4,J5,J6。下图是【xià tú shì】以【yǐ】P1为基准,3轴偏移【zhóu piān yí】5度。

SET P002 P001

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

SET D001 5

// 将 D001 设为 5

CCOOD JOINT

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

ADD P002(2) D001

// 将 D001 的值加到【dào】 P002 的第二🖨个元素【gè yuán sù】😷上

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

// 以【yǐ】 100 mm/s 的速度和 0.000 mm 的拐角半径直👑线移动到【dào】🔦 P002 的位置【de wèi zhì】🍊

③沿着工【yán zhe gōng】🚉具坐标系进行偏移【piān yí】🐊,则P002(0),P002(1),P002(2),P003(3),P004(4),P005(5)分别表示机器人沿着【rén yán zhe】📣工具坐标方向🌘的X,Y,Z,RX,RY,RZ。下图是🧥以P1为基准【wéi jī zhǔn】,Z沿着工【yán zhe gōng】🚉具1的Z方向偏【fāng xiàng piān】移🐊5mm。

SET P002 P001

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

SET D001 5

// 将 D001 设为 5

CCOOD TOOL#(0)

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

ADD P002(2) D001

// 将【jiāng】 D001 的值加到 P002 的第二🚸个元素【gè yuán sù】⭕上

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

// 以 100 mm/s 的速度和【hé】 0.000 mm 的拐角【de guǎi jiǎo】半径直🔟线移动到🚭 P002 的位置【de wèi zhì】👅

④沿着用户【hù】坐🔵标系进行🌎偏移【piān yí】😖,则P002(0),P002(1),P002(2),P003(3),P004(4),P005(5)分别表示机器人沿着用户【hù】坐🔵标方向的【de】👗X,Y,Z,RX,RY,RZ。下图是以【yǐ】P1为基准【wéi jī zhǔn】,Z沿着用户【hù】🏛1的【de】👗Z方向偏移【piān yí】😖5mm。

SET P002 P001

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

SET D001 5

// 将 D001 设为 5

CCOOD USER#(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 的速度和【hé】 0.000 mm 的拐角半径直🔛线移动到🤮 P002 的位置【de wèi zhì】🏗

注🔄:CCOOD目前只【mù qián zhī】能配合【néng pèi hé】P变量【biàn liàng】使用,无法搭配V变量【biàn liàng】,如CCOOD USER#(1) ADD V002(2) 5,这个指【zhè gè zhǐ】⏰令无法💾沿着用🥙户坐标系进行【xì jìn háng】偏移⏳。

JBI程序方法二

指令介绍

程序介绍

①沿着工♓具坐标系偏移,利用右乘。新姿态【xīn zī tài】🏘在原有的【de】🦓姿态的【de】基础🦈上右乘,相当于【xiàng dāng yú】绕当前【rào dāng qián】TCP的【de】🦓坐标系旋转【xuán zhuǎn】。下图先设定了🧠当前运行的【de】🦓工具号【gōng jù hào】1,所以计【suǒ yǐ jì】🈶算出来的【de】新🚽V1是以【shì yǐ】V1为基准👟绕着工【rào zhe gōng】具1的【de】🦓TCP的【de】🦓Z方向偏💽移5mm。

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

SETTOOLNUMBER TF=1

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

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

// 设置变【shè zhì biàn】量 V002 的姿态👴,其中平🕹移量为【liàng wéi】 (0,0,5) 和旋转【hé xuán zhuǎn】🍃量为【liàng wéi】 (0,0,0)

POSEMUL V001 V002

// 将姿态 V002 作为偏【zuò wéi piān】📲移量应【yí liàng yīng】用到📭 V001 上,结果存【jié guǒ cún】储在 V001 中🍠

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

// 以 200 mm/s 的速度【de sù dù】和 0.000 mm 的拐角🕘半径直【bàn jìng zhí】😱线移动🤪到【dào】 V001 的位置

②沿着基坐标偏移🌧,利用左乘📀。新姿态【xīn zī tài】在原有【zài yuán yǒu】🍴的姿态【de zī tài】的基础【de jī chǔ】上左乘📀,相当于绕固定🎻坐标系【zuò biāo xì】(基座标🙈)旋转。

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

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

// V2 是偏移【shì piān yí】量🚬,机器人左乘【zuǒ chéng】,绕基坐标系进🍿行旋转【háng xuán zhuǎn】⏬偏移

POSEMUL V002 V001

// 将姿态【jiāng zī tài】 V001 作为偏♟移量应用到 V002 上💻,结果存【jié guǒ cún】👢储在【chǔ zài】 V002 中

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

// 以🐿 200 mm/s 的速度和【hé】 0.000 mm 的拐角🏵半径直【bàn jìng zhí】线移动到 V002 的位置【de wèi zhì】🦀

注:因为【yīn wéi】V变量只能保存🏠基坐标【jī zuò biāo】系下的值【zhí】🚵,所以机器人只能沿着基坐标【jī zuò biāo】系进行【xì jìn háng】🍣偏移🚩.

JBI程序第三种方法

指令介绍

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

把机器人当前💚位姿基于用户坐标系【zuò biāo xì】💡的空间【de kōng jiān】坐标值🕘的形式📏保存在【bǎo cún zài】V0变量中(注意【zhù yì】🔂:需要选【xū yào xuǎn】中用户坐标系【zuò biāo xì】💡,如不选🥘择默认基座标【jī zuò biāo】)

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位置【wèi zhì】🅰。注意:此点位🌵需使用MOVEL,并且选🚕中对应的用户【de yòng hù】坐标系💗

程序

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

//把机器【bǎ jī qì】人当前位姿基【wèi zī jī】于用户【yú yòng hù】坐标系🛣的空间坐标值🥈的形式保存在😘V0变量中【biàn liàng zhōng】(注意【zhù yì】:需要选📋中用户💆坐标系🛣)

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" 的值【de zhí】,并将其【bìng jiāng qí】赋值给🐞 X, Y, Z, RX, RY, RZ

-- 设置变量至 V2

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

-- 将偏移📡数值的👬值设置【zhí shè zhì】为全局【wéi quán jú】变量 "V2"

基于工具坐标系偏移

脚本参考

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

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

-- 获取全局变量【jú biàn liàng】✊ "V1" 的值,并将其赋值给【fù zhí gěi】🗣 X, Y, Z, RX, RY, RZ

-- 计算出V1在工具【zài gōng jù】🗝坐标系【zuò biāo xì】🌽1偏移 50,0,0,0,0,0} 的值

-- 计算出【jì suàn chū】 v1 在【zài】工具坐标系😭中偏移【zhōng piān yí】💹 50,0,0,0,0,0} 后的值,并将结果存储😉在【zài】 v2_tool 中

-- 将笛卡尔坐标⭐ X, Y, Z, RX, RY, RZ} 转换到【zhuǎn huàn dào】用户坐【yòng hù zuò】标系🎄 user1,结果存储在【chǔ zài】🕝 user1_v1 中

-- 计算出 user1_v1 在用户【zài yòng hù】坐标系中【zhōng】💏偏移【piān yí】 {50,0,0,0,0,0} 后的值♈,并将结果存储😔在 user1_v2 中【zhōng】💏

v2 = convert_pose_from_user_to_cart(user1_v2,user1)

-- 将 user1_v2 从用户坐标系💅转换回【zhuǎn huàn huí】笛卡尔坐标系💅,结果存【jié guǒ cún】🌒储在🍙 v2 中【zhōng】

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

-- 将【jiāng】🤗 v2 的值设【de zhí shè】🦏置为全局变量 "V2"


download-669.svg comicon14.svg

电话咨询

download-397.svg comicon15.svg

免费试用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

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

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

我已知😺晓并同意漫蛙通过电【tōng guò diàn】🚿子邮件【zǐ yóu jiàn】⚪发送相关资料【guān zī liào】

提交