发布时间: 2026-01-13

传送带跟踪使用


1. 简介

本文介绍cs机器人用写脚本去实现传送带功能(增量式),单台机器人最多支持2个传送带跟踪。

2.前期准备

2.1机器人版本要求:2.12.0及以上

2.2硬件连接

机器人连接控制柜B4高速io

本文以西克编码器示列

选择编码器类型:增量式

模式:正交式,升降式,上升,下降

A输入:高速输入

B输入:高速输入

注意:正交式,需要接入两个输入及AB,其他的模式,只需要接A输入即可。

使用正交式模式

+US---24V

GND---0V

A---DI16-19(A,B分两个io段子接)

B---DI16-19

其他模式

+US---24V

GND---0V

A---DI16-19

 

3.脚本指令介绍

1:初始化设置:encoder_enable_pulse_decode()

encoder_enable_pulse_decode(0, 1, 16, 17)

第一个参数:0 表示传送带0 ,1表示传送带1

第二个参数:1 正交,2 升降,3 上升,4 下降

第三个参数:高速IO ,16 表示高速IO 16, 17 表示 高速IO 17

第四个参数:高速IO. 除了 正交模式是 需要配置,其他模式是不需要配置,可以直接设置成0.

停止传送带跟踪: stop_conveyor_tracking()

功能: 该指令用于停止由追踪线性或追踪圆形触发的传送带跟踪功能

追踪圆形传送带:track_conveyor_circular(center, ticks_per_revolution, rotate_tool=False, encoder_index =0)

参数:

center:姿态矢量,用于确定机器人基座坐标系中传送带的中心位置,list型数据;

ticks_per_revolution:传送带移动一圈时编码器变化的刻度数,foat型数据;rotate_tool:工具应当与传送带一起旋转,或者停留在轨迹(movel()等)规定的方位。不指定布尔值时,使用默认布尔值为False,boolean型数据(可选参数);encoder_index:与传送带跟踪相联系的编码器序号,序号值必须为0或者1。不指定序号值时,使用默认序号值为0,integer型数据(可选参数)。

功能: 该指令用于使机器人运动(movej() 等)追踪圆形传送带

2:追踪线性传送带: track_conveyor_linear(direction, ticks_per_meter, encoder_index=0)

参数:

direction:姿态矢量,用于确定机器人基座坐标系中传送带的方向,list型数据;ticks_per_meter:传送带移动一米时编码器变化的刻度数,foat型数据;encoder_index:与传送带跟踪相联系的编码器序号,序号值必须为0或者1。不指定序号值时,使用默认序号值为0,integer型数据(可选参数)。

功能: 该指令用于使机器人运动(movej() 等)追踪线性传送带。

**前3个数组是不是代表着xyz。+1代表正方向,-1代表反方向,后三位是补零,都是0就行。

3:获取编码器滴答计数:encoder_get_tick_count(encoder_index)

参数:

该指令用于返回选定编码器的嘀嗒计数。

encoder_index:被访问的编码器序号,序号值必须是0或者1,integer型数据。foat型数据,传送带编码器的嘀嗒计数。

功能: 该指令用于返回选定编码器的嘀嗒计数。

4.示列

#增量式
def unnamed():
  encoder_enable_pulse_decode(0, 1, 16, 17)
  def start_conveyor_tracking0():
    #线性
    track_conveyor_linear([1.0,0.0,0.0,0.0,0.0,0.0],2000, 0)
    #圆形
    #track_conveyor_circular([0.0, 0.0, 0.0, 0.0, 0.0, 0.0], 222, False, 0)
  end
  # 跟踪: 传送带 0
  start_conveyor_tracking0()
  movej(xxxx)
  
 # movej(xxxx)
  stop_conveyor_tracking()
end

提交反馈