发布时间: 2026-01-13
涂胶
1. 简介
本文将介绍如何使用脚本获取当前位置生成ml文件,使用插件进行微段插补运动。主要运用于对 轨迹要求顺滑的场景,例如涂胶。
2. 操作流程
1. 导入脚本
下载下方链接的脚本文件,使用U盘导入机器人。
getpoes.script
import math
flag = 0 #在配置里新建一个名为flag的变量。flag等于1开始采集点位,等于2结束采集点位
firstWrite = 0
mm_value = 4 #在这里修改采集的点位之间的间距(单位毫米)
ml_name = "a_pose.ml" #在这里面修改ml文本名称
def pose_distance(pose1, pose2):
x_value = math.pow((pose1[0] - pose2[0]),2)
y_value = math.pow((pose1[1] - pose2[1]),2)
z_value = math.pow((pose1[2] - pose2[2]),2)
pow_value = x_value + y_value + z_value
sqrt_value= math.sqrt(pow_value)
return sqrt_value
with open(get_task_path()+ml_name,"w+") as file:#写入点位,在program目录下
while 1 :
if flag == 1:
if firstWrite == 0:
firstWrite = 1
textmsg("开始采集点位数据")
old_pose = get_actual_tcp_pose()
file.write(str(old_pose) + "\n")
new_pose = get_actual_tcp_pose()
if (pose_distance(new_pose, old_pose) >= (mm_value / 1000)):
file.write(str(new_pose) + "\n")
old_pose = new_pose
if flag == 2:
break
with open(get_task_path()+ml_name,"r") as file:
lines = file.readlines()
lines = len(lines)
if lines == 0:
textmsg("ml文本行数为0,采集点位数据失败")
else:
textmsg("采集点位数据已完成-ml文本行数:" + str(lines))
flag = 3
while 1:
sleep(0.1)
2. 机器人程序
1. 在 配置-全局变量 里声明一个名为 flag 的变量。
2. 按图中的方式,在现有的程序里添加程序行。flag = 1 ; flag = 2 ; 等待 flag ?= 3 ,添加线程将getpoes脚本放到线程节点下。
flag = 1 是开始记录点位,flag = 2 是结束记录点位,flag ?= 3 是等脚本运行完成。
3. 脚本说明:可在红框处修改采集的点位间距和ml文件的名称。
4. 执行机器人程序,机器人的运行速度百分比可以调到20%以下。执行完成后,会在在如图片所示的目录下生成一个.ml后缀的文件。
5. 注意,如果需要生成多个ml文件,就需要在脚本文件里修改ml文件的名称。不修改的话,会覆盖原有的ml文件。
3. 使用插件
1. 插件文件:remotetcp-1.2.9.0.elico
2. 在红框处,点击选择添加.ml后缀的文件。时间间隔,ml文件中两个点位之间的时间间隔,间隔越短运行速度越快。
4. 在机器人程序中使用微段插补
1. 在插件目录下,找到工具路径移动,点击添加工具路径
2. 在运行离线文件处,可以修改ml文件一共要运行几行,从第几行开始运行。点击添加自动运行脚本移动至起始点位,运行程序时,会运动到ml文件中起始行的位置。
3. 以上操作完成后,就可以运行程序了。初次运行,速度百分比调低一点,插件参数设置的不对,运行过程中可能会有抖动。
3. 常见问题解答
1. 微段插补实际运行过程中有抖动
可以在插件里修改时间间隔,把时间间隔改大一些。
ml文件中两点之间,间隔越大运行速度越快。
插件中的时间间隔,间隔越大运行速度越慢。