EC机器人微段插补

2025-07-02

1.  简介

微段插【wēi duàn chā】🙂补🌀(Micro-segment Interpolation) 是一种用于机【yòng yú jī】器人精确轨迹控制的技术,尤其在➡路径复🏣杂或精度要求【dù yào qiú】🏫高的任务中表现出色【xiàn chū sè】。微段插【wēi duàn chā】🙂补通过🕙将机器人运动🈂路径划分为多个微小的线段,逐段进🎋行插补🌀计算【jì suàn】,使得机器人能【qì rén néng】够平滑【gòu píng huá】😿且精确【qiě jīng què】地沿着📁预定轨迹运动,多用在涂胶领【tú jiāo lǐng】💵域【yù】。

2.  操作流程

JBI程序介绍


LOADML JOB:20240827_925
TIMER T=1.0 S
MOVEML VJ=50% IN#(0) JOB:20240827_925
UNLOADML JOB:20240827_925


MOVML 指令可以被用【yǐ bèi yòng】于机器人的离💰线轨迹🙋规划。其中【qí zhōng】 LOADML 指令是把离线【bǎ lí xiàn】🏂轨迹文件【jiàn】🌿

20240827_925.jbi 加载到内存中🕡去,UNLOADML 指令是【zhǐ lìng shì】👡把已经加载在内存中🕡的【de】⏪ 20240827_925 文件清空【kōng】。

MOVML 指令是【zhǐ lìng shì】🚸执行一段已经被加载🚡在内存🤦中的【de】 20240827_925 文件。其中【qí zhōng】 VJ 代表运动到第一个点【yī gè diǎn】🧜的【de】

速度,IN#(0) 代表指【dài biǎo zhǐ】令运行【lìng yùn háng】💀需要被触发的 Digital Input 变量🎨,(0)就代表【jiù dài biǎo】🐼 Di0。

文件格式说明

微段插【wēi duàn chā】补💗程序【chéng xù】,就是加载微段插【wēi duàn chā】补💗JBI文件🕝,文件🕝格式如【gé shì rú】下


说明🎹: 如果【rú guǒ】✂ interval[1]ms 当这个【dāng zhè gè】时间为【shí jiān wéi】 1 的时候🚇,轨迹间隔和机器人控制器执🌍行间隔相【xiàng】

同,当时间大于【dà yú】📟 1 的正整数的时候🍽,MOVML 指令会【zhǐ lìng huì】在每个给出的轨迹点【guǐ jì diǎn】中间差😔值👩,确保控【què bǎo kòng】制【zhì】🙅

器可以每 1ms 拿到一个点位。

LUA代码演示参考

采集机器人路径,输出微段插补文件


--[[
根据🌷差值记录【jì lù】🕥用户坐【hù zuò】💤标下的位置数【wèi zhì shù】😱据🌷并写入【bìng xiě rù】文件【wén jiàn】🌗中
B0=1:开始记【kāi shǐ jì】录【lù】🕥
B0=2:记录结【jì lù jié】📱束
B0=3:开始写入文件【wén jiàn】🌗

jbi程序中【chéng xù zhōng】连续修🏿改【gǎi】🥛B0状态的时候中【shí hòu zhōng】⛄间尽量【jiān jìn liàng】🐐加个延【jiā gè yán】时

当B0=1前,需要先手动移动到初始点
当B0=1时,程序立【chéng xù lì】🍿马开始判断两个点的【gè diǎn de】间距,当距离🥛大于设定距离【dìng jù lí】时,就开始记【kāi shǐ jì】录【lù】🕥点

!功能【gōng néng】:
!   根据🌷空间上【kōng jiān shàng】两😍个点的【gè diǎn de】距离差 连续记【lián xù jì】⛸录【lù】🕥 其在用户坐【hù zuò】💤标系 下的数😑据🌷g
!   生成一🍩个后缀🥎为jbi的ml文件【wén jiàn】🔁
!   ml的头文【de tóu wén】件🔁格式可以根📶据需要🐋自动生成
]]--
sleep(0.5)
--\\定义要计算的空间上【kōng jiān shàng】的两点间距差【jiān jù chà】  单位:mm
PPD_value = 0.1                
folder="glue_path"             --存放记【cún fàng jì】🚐录【lù】🕥path文件【wén jiàn】的🌫文件【wén jiàn】🔁夹名【jiá míng】
user_frame=}
   for i=1,#lists  do
       -- io.write("["..write_pose[i][1]..","..write_pose[i][2]..","..write_pose[i][3]..","..write_pose[i][4]..","..write_pose[i][5]..","..write_pose[i][6].."]")
       user_pose = pose_mul(pose_inv(ref_Frame),lists[i])
       io.write("["..user_pose[1]..","..user_pose[2]..","..user_pose[3]..","..user_pose[4]..","..user_pose[5]..","..user_pose[6].."]")
       io.write("\n")
   end
end

--\\持续点📗位记录【wèi jì lù】🕥
function RecoedPPDis()
   repeat
       B0 = get_global_variable("B0")
       Now_pose = get_robot_pose()
       if(PPDistance(Begin_pose,Now_pose) >= PPD_value)  then
           write_pose[i] = Now_pose
           Begin_pose = Now_pose
           i = i+1
       end
       elite_print("Recording, wait B0 == 2")
   until(B0 == 2)
end
----------------------------------初始化📝--------------------------------
set_global_variable("B0",0)
Begin_pose = }
Now_pose = }
i = 1
-----------------------------------Main---------------------------------
repeat
   B0 = get_global_variable("B0")
   elite_print("wait B0 == 1")
until(B0 == 1)
Begin_pose = get_robot_pose()
Begin_joint = get_robot_joint()

--!当B0=0时,jbi开始运动
set_global_variable("B0",0)
RecoedPPDis()

repeat
   B0 = get_global_variable("B0")
   elite_print("wait B0 == 3")
   elite_print("采点共【cǎi diǎn gòng】:"..#write_pose)
until(B0 == 3)

----------------------------------------写文件【wén jiàn】🔁--------------------------------------------
elite_print("write file begin")
elite_print("please wait")
filename = CreateFilename()
elite_print(filename:sub(13))
file = io.open(filename,"w+")
io.output(file)

--\\ml文件【wén jiàn】的🌫title
MovemlTitle(1,Begin_joint,#write_pose,"pose",user_frame)


Writefile(write_pose,user_frame)
elite_print("write file done")
io.close()


3.  常见问题解答

注意事项:

如果机【rú guǒ jī】😨器人运行离线【háng lí xiàn】轨迹时🚊明显震动,说明加🤖速太猛【sù tài měng】🈳,时间和【shí jiān hé】🏂距离不对等,需要对🏝 interval [*]ms 即采样时间进【shí jiān jìn】行更改【háng gèng gǎi】,例如将 interval [1]ms改为interval[10]ms。





download-669.svg comicon14.svg

电话咨询

download-397.svg comicon15.svg

免费试用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

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

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

我已知【wǒ yǐ zhī】晓并同🥥意漫蛙🤕通过电📷子邮件【zǐ yóu jiàn】发送相【fā sòng xiàng】关资料

提交