发布时间: 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文件中两点之间,间隔越大运行速度越快。

插件中的时间间隔,间隔越大运行速度越慢。

 

 

 

 

提交反馈