Skip to content

寻位跟踪

跟踪

跟踪传感器类型

设置跟踪传感器类型

  • 命令字: 0x8740
  • 方向: 上位机发送
参数名类型取值范围描述
fileNumint[1,99]跟踪文件号
robotint[1,4]机器人号
sensorTypeint[0,2]跟踪类型:0-线激光,1-电弧,2-弧压

请求示例:

json
{
  "fileNum": 1,
  "robot": 1,
  "sensorType": 0
}

查询跟踪传感器类型

  • 命令字: 0x8741
  • 方向: 上位机发送
参数名类型取值范围描述
fileNumint[1,99]跟踪文件号
robotint[1,4]机器人号

请求示例:

json
{
  "fileNum": 1,
  "robot": 1
}

返回跟踪传感器类型

  • 命令字: 0x8742
  • 方向: 上位机接收
  • data: 同0x8740

电弧通讯参数

设置电弧通讯参数

  • 命令字: 0x874d
  • 方向: 上位机发送
参数名类型取值范围描述
craftidint[1,99]跟踪文件号
robotint[1,4]机器人号
dataTypeint[0,1]采样数据类型:0-电流,1-电压
periodint[0,1000]ms采样周期
std_low_weight_thresholddouble[3,20]噪声阈值,噪声超限后偏差权重降低

请求示例:

json
{
  "craftid": 1,
  "robot": 1,
  "sampling":
  {
    "dataType": 0,
    "period": 20,
    "std_low_weight_threshold": 3.0
  }
}

查询电弧通讯参数

  • 命令字: 0x874e
  • 方向: 上位机发送
参数名类型取值范围描述
craftidint[1,99]跟踪文件号
robotint[1,4]机器人号

请求示例:

json
{
  "craftid": 1,
  "robot": 1
}

返回电弧通讯参数

  • 命令字: 0x874f
  • 方向: 上位机接收
  • data: 同0x874d

电弧补偿参数

设置电弧跟踪左右补偿参数

  • 命令字: 0x8750
  • 方向: 上位机发送
参数名类型取值范围描述
craftidint[1,99]跟踪文件号
robotint[1,4]机器人号
accFactordouble[0.1,10]补偿加速度倍数,对应当前运动指令加速度
algorithmTypeint[0,1]偏差提取类型:0-均值,1-手填值
beginCycleNumint[1,100]开始采样周期数
differentialdouble[0,1]微分系数
integraldouble[0,1]积分系数
maxSingleLendouble[0,10]每次最大补偿量
scaledouble[0,1]比例系数
switchonbooltrue/false补偿开关:true-打开,false-关闭

请求示例:

json
{
  "craftid": 1,
  "lateralCompensation":
  {
    "accFactor": 1.0,
    "algorithmType": 0,
    "beginCycleNum": 4,
    "differential": 0.0,
    "integral": 0.00050,
    "maxSingleLen": 2.0,
    "scale": 0.050,
    "switchon": true
  },
  "robot": 1
}

查询电弧跟踪左右补偿参数

  • 命令字: 0x8751
  • 方向: 上位机发送
参数名类型取值范围描述
craftidint[1,99]跟踪文件号
robotint[1,4]机器人号

请求示例:

json
{
  "craftid": 1,
  "robot": 1
}

返回电弧跟踪左右补偿参数

  • 命令字: 0x8752
  • 方向: 上位机接收(控制器返回)
  • data: 同0x8750

设置电弧跟踪高低补偿参数

  • 命令字: 0x8753
  • 方向: 上位机发送
参数名类型取值范围描述
craftidint[1,99]跟踪文件号
robotint[1,4]机器人号
accFactordouble[0.1,10]补偿加速度倍数,对应当前运动指令加速度
algorithmTypeint[0,1]偏差提取类型:0-均值,1-手填值
beginCycleNumint[1,100]开始采样周期数
custom_valuedouble[0,1000]A偏差提取类型手填值
differentialdouble[0,1]微分系数
integraldouble[0,1]积分系数
maxSingleLendouble[0,10]每次最大补偿量
scaledouble[0,1]比例系数
switchonbooltrue/false补偿开关:true-打开,false-关闭

请求示例:

json
{
  "craftid": 1,
  "robot": 1,
  "verticalCompensation":
  {
    "accFactor": 1.0,
    "algorithmType": 0,
    "beginCycleNum": 4,
    "custom_value": 0.0,
    "differential": 0.0,
    "integral": 0.00050,
    "maxSingleLen": 0.50,
    "scale": 0.050,
    "switchon": true
  }
}

查询电弧跟踪高低补偿参数

  • 命令字: 0x8754
  • 方向: 上位机发送
参数名类型取值范围描述
craftidint[1,99]跟踪文件号
robotint[1,4]机器人号

请求示例:

json
{
  "craftid": 1,
  "robot": 1
}

返回电弧跟踪高低补偿参数

  • 命令字: 0x8755
  • 方向: 控制器发送
  • data: 同0x8753

设置电弧跟踪路径数据记录

  • 命令字: 0x8756
  • 方向: 上位机发送
参数名类型取值范围描述
craftidint[1,99]跟踪文件号
robotint[1,4]机器人号
cycledouble[1,1000000000]mm跟踪路径数据记录周期
typeint[0,1]跟踪路径数据记录方式:0-距离,1-时间

请求示例:

json
{
  "craftid": 1,
  "robot": 1,
  "track_path_record":
  {
    "cycle": 30.0,
    "type": 0
  }
}

查询电弧跟踪路径数据记录

  • 命令字: 0x8757
  • 方向: 上位机发送
参数名类型取值范围描述
craftidint[1,99]跟踪文件号
robotint[1,4]机器人号

请求示例:

json
{
  "craftid": 1,
  "robot": 1
}

返回电弧跟踪路径数据记录

  • 命令字: 0x8758
  • 方向: 控制器发送
  • data: 同0x8756

寻位算法参数

寻位跟踪系统通过传感器实时采集焊缝位置偏差,结合 PID 控制算法对机器人轨迹进行动态补偿,确保焊枪始终对准焊缝中心。

寻位偏差计算原理

系统通过采样传感器数据(电流/电压/激光轮廓)提取焊缝左右偏差和高低偏差:

  1. 数据采集:按采样周期采集传感器原始数据
  2. 偏差提取:根据算法类型(均值/手填值)计算当前周期的偏差值
  3. PID 补偿:使用比例(P)、积分(I)、微分(D)控制算法计算补偿量
  4. 运动叠加:将补偿量叠加到当前运动指令上

PID 补偿算法参数详解

参数说明推荐范围调节建议
scale(比例系数 Kp)控制补偿响应速度0.01~0.5增大可加快响应但可能引起振荡
integral(积分系数 Ki)消除稳态误差0.0001~0.01增大可消除静差但可能引起超调
differential(微分系数 Kd)抑制振荡,预测趋势0.0~0.5增大可抑制振荡但可能引入噪声
maxSingleLen每次补偿量上限(mm)0.1~10防止单步补偿过大导致抖动
accFactor补偿加速度倍数0.1~10控制补偿运动的加速度
beginCycleNum起始采样周期数1~100起始阶段采集多少个周期后开始补偿

算法类型说明

类型值名称说明
0均值法取多个采样周期的偏差平均值作为当前偏差,平滑效果好
1手填值使用预设的固定偏差值 custom_value,适用于已知偏差量场景

跟踪模式详解

传感器类型与适用场景

传感器类型适用工艺优点缺点
线激光0焊接、切割精度高,可同时获取左右和高低偏差成本较高,对工件表面反光敏感
电弧1焊接成本低,不受弧光干扰精度中等,需电弧稳定
弧压2等离子切割适合高度跟踪仅能获取高低偏差

跟踪模式工作流程

1. 初始化阶段

  • 设置传感器类型(0x8740)
  • 配置电弧通讯参数(采样类型、周期、噪声阈值)
  • 设置左右/高低补偿参数(PID 参数、开关)

2. 运行阶段

  1. 传感器持续采集数据
  2. 系统按采样周期提取偏差
  3. 根据算法类型计算当前偏差值
  4. PID 控制器输出补偿量(受 maxSingleLen 限制)
  5. 补偿量叠加到当前运动轨迹

3. 数据记录(调试用)

  • 可通过 0x8756 设置路径数据记录
  • 支持按距离或按时间两种记录方式
  • 记录周期范围:1~1000000000 mm 或对应时间

补偿策略选择

场景建议参数说明
直线焊缝Kp=0.1, Ki=0.001, Kd=0平稳跟踪,避免过调
曲线焊缝Kp=0.2, Ki=0.005, Kd=0.05需要更快响应
薄板焊接Kp=0.05, Ki=0.0005, maxSingleLen=0.5防止过补偿导致焊穿
厚板多层焊Kp=0.3, Ki=0.01, maxSingleLen=3允许较大补偿量

补偿数据流

传感器信号 -> 采样滤波 -> 偏差提取(算法类型) -> PID 计算(Kp, Ki, Kd) -> 限幅(maxSingleLen) -> 加速度平滑(accFactor) -> 轨迹叠加 -> 机器人运动

故障排查

现象可能原因解决方案
跟踪振荡Kp过大减小比例系数
跟踪滞后Kp过小或Ki过小增大Kp或Ki
补偿超调Ki过大或maxSingleLen过大减小Ki或限制单次补偿量
噪声敏感噪声阈值设置不当增大噪声阈值或改用均值法
补偿方向错误传感器安装方向或编码器方向检查传感器安装和参数符号