传送带
0x8200 上位机发送,轨道传送位置设置
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| conveyorID | int | 传送带工艺号 | [1,9] |
| position | object | 位置参数对象 | - |
| robot | int | 机器人号 | [1,4] |
position 子参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| receLatestPos | double | 最迟接收 X 值 |
| trackRangeXMax | double | 跟踪最大范围 |
| trackStartXPoint | double | 跟踪开始 X 点 |
请求示例
json
{
"conveyorID": 1,
"position": {
"receLatestPos": 0.0,
"trackRangeXMax": 0.0,
"trackStartXPoint": 0.0
},
"robot": 1
}0x8201 上位机发送,轨道传送位置查询
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,9] |
请求示例
json
{
"robot": 1,
"conveyorID": 1
}0x8202 控制器回复,轨道传送位置
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| conveyorID | int | 传送带工艺号 | [1,9] |
| position | object | 位置参数对象 | - |
| robot | int | 机器人号 | [1,4] |
position 子参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| calibrationFlag | array | 标定标志,前三个分别表示"最迟接收坐标"、"跟踪最大范围坐标"、"跟踪开始坐标"是否被标定 |
| posToMove | array | 前三个数组分别是最迟接收坐标、跟踪最大范围坐标、跟踪开始坐标 |
| receLatestPos | double | 最迟接收 X 值 |
| trackRangeXMax | double | 跟踪最大范围 |
| trackStartXPoint | double | 跟踪开始 X 点 |
响应示例
json
{
"conveyorID": 1,
"position": {
"calibrationFlag": [0, 0, 0, 0, 0, 0, 0],
"posToMove": [
[3, 1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[3, 1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[3, 1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[3, 1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[3, 1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[3, 1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[3, 1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
],
"receLatestPos": 0.0,
"trackRangeXMax": 0.0,
"trackStartXPoint": 0.0
},
"robot": 1
}0x8210 上位机发送,传送带传送参数设置
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| conveyor | object | 传送带参数对象 | - |
| conveyorID | int | 传送带工艺号 | [1,9] |
| robot | int | 机器人号 | [1,4] |
| track | object | 轨道参数对象 | - |
conveyor 子参数
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| encoderDirection | int | 编码器方向:1正向,-1负向 | - |
| encoderResolution | double | 分辨率(线/mm) | [0,10000] |
| encoderValue | string | 编码器值 | - |
| encoder_num | int | 编码器编号 | - |
| encoder_sum | int | 编码器总数 | - |
| maxEncoderVal | string | 编码器最大值 | - |
| minEncoderVal | string | 编码器最小值 | - |
| posRecordMode | int | 位置模式:0编码器,1恒速设置 | [0,1] |
| speed | double | 编码器速度(mm/s) | - |
track 子参数
| 参数名 | 类型 | 描述 | 单位 |
|---|---|---|---|
| arch_height | int | 门型高度 | mm |
| arch_straight_len | int | 门型直线距离 | mm |
请求示例
json
{
"conveyor": {
"encoderDirection": 1,
"encoderResolution": 44.33,
"encoderValue": "0",
"encoder_num": 1,
"encoder_sum": 0,
"maxEncoderVal": "2147483647",
"minEncoderVal": "-2147483648",
"posRecordMode": 0,
"speed": 0.0
},
"conveyorID": 1,
"robot": 1,
"track": {
"arch_height": 30,
"arch_straight_len": 10
}
}0x8211 上位机发送,查询传送带传送参数
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,9] |
请求示例
json
{
"robot": 1,
"conveyorID": 1
}0x8212 控制器返回,传送带传送参数
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| conveyor | object | 传送带参数对象 | - |
| conveyorID | int | 传送带工艺号 | [1,9] |
| robot | int | 机器人号 | [1,4] |
| track | object | 轨道参数对象 | - |
conveyor 子参数
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| encoderDirection | int | 编码器方向:1正向,-1负向 | - |
| encoderResolution | double | 分辨率(线/mm) | [0,10000] |
| encoderValue | string | 编码器值 | - |
| encoder_num | int | 编码器编号 | - |
| encoder_sum | int | 编码器总数 | - |
| maxEncoderVal | string | 编码器最大值 | - |
| minEncoderVal | string | 编码器最小值 | - |
| posRecordMode | int | 位置模式:0编码器,1恒速设置 | [0,1] |
| speed | double | 编码器速度(mm/s) | - |
track 子参数
| 参数名 | 类型 | 描述 | 单位 |
|---|---|---|---|
| arch_height | int | 门型高度 | mm |
| arch_straight_len | int | 门型直线距离 | mm |
响应示例
json
{
"conveyor": {
"encoderDirection": 1,
"encoderResolution": 44.33,
"encoderValue": "0",
"encoder_num": 1,
"encoder_sum": 0,
"maxEncoderVal": "2147483647",
"minEncoderVal": "-2147483648",
"posRecordMode": 0,
"speed": 0.0
},
"conveyorID": 1,
"robot": 1,
"track": {
"arch_height": 30,
"arch_straight_len": 10
}
}0x8213 传送带传送位置检查参数设置
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| conveyorID | int | 传送带工艺号 | [1,9] |
| detectSrc | object | 检测源参数对象 | - |
| robot | int | 机器人号 | [1,4] |
detectSrc 子参数
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| DI_capturePos | int | 绑定触发信号 IO | 与当前 IO 数量有关 |
| filter_data_missing_triggered_latch_data_ | bool | 是否过滤未触发锁存的信号 | - |
| sensorTrg | int | 传感器触发方式:0下降沿触发,1上升沿触发 | [0,1] |
| type | int | 检测和识别类型:0传感器,1视觉,2传感器+视觉,3全局变量+modbus,4全局变量+视觉 | [0,4] |
| visionID | int | 视觉工艺号 | [1,9] |
| vision_io_filter_type | int | 视觉过滤类型:0信号触发过滤,1信号触发过滤,2无过滤 | [0,2] |
| vision_latch_encoder_value_type | int | 视觉锁存编码器值类型:0视觉触发锁存,1收到数据锁存 | [0,1] |
请求示例
json
{
"conveyorID": 1,
"detectSrc": {
"DI_capturePos": 0,
"filter_data_missing_triggered_latch_data_": true,
"sensorTrg": 0,
"sensor_safe_trigger_interval": 1.0,
"type": 2,
"visionID": 1,
"vision_io_filter_type": 0,
"vision_latch_encoder_value_type": 1
},
"robot": 1
}0x8214 上位机发送,传送带传送位置检查参数查询
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,9] |
请求示例
json
{
"robot": 1,
"conveyorID": 1
}0x8215 控制器回复,传送带传送位置检查参数接收
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| conveyorID | int | 传送带工艺号 | [1,9] |
| detectSrc | object | 检测源参数对象 | - |
| robot | int | 机器人号 | [1,4] |
detectSrc 子参数
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| DI_capturePos | int | 绑定触发信号 IO | 与当前 IO 数量有关 |
| filter_data_missing_triggered_latch_data_ | bool | 是否过滤未触发锁存的信号 | - |
| sensorTrg | int | 传感器触发方式:0下降沿触发,1上升沿触发 | [0,1] |
| type | int | 检测和识别类型:0传感器,1视觉,2传感器+视觉,3全局变量+modbus,4全局变量+视觉 | [0,4] |
| visionID | int | 视觉工艺号 | [1,9] |
| vision_io_filter_type | int | 视觉过滤类型:0信号触发过滤,1信号触发过滤,2无过滤 | [0,2] |
| vision_latch_encoder_value_type | int | 视觉锁存编码器值类型:0视觉触发锁存,1收到数据锁存 | [0,1] |
响应示例
json
{
"conveyorID": 1,
"detectSrc": {
"DI_capturePos": 0,
"filter_data_missing_triggered_latch_data_": true,
"sensorTrg": 0,
"sensor_safe_trigger_interval": 1.0,
"type": 2,
"visionID": 1,
"vision_io_filter_type": 0,
"vision_latch_encoder_value_type": 1
},
"robot": 1
}0x8218 上位机发送,传送带用户坐标设置
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| conveyorID | int | 传送带工艺号 | [1,9] |
| robot | int | 机器人号 | [1,4] |
| sensorPos | object | 传感器位置 | - |
| userCoord | int | 用户坐标系号 | [1,999] |
| userFrame | array | 用户坐标系 | double 类型数组 |
sensorPos 子参数
| 参数名 | 类型 |
|---|---|
| X | double |
| Y | double |
| Z | double |
| A | double |
| B | double |
| C | double |
请求示例
json
{
"conveyorID": 1,
"robot": 1,
"sensorPos": {
"A": 0.0,
"B": 0.0,
"C": 0.0,
"X": 0.0,
"Y": 0.0,
"Z": 0.0
},
"userCoord": 1,
"userFrame": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
}0x8219 上位机发送,传送带用户坐标查询
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,9] |
请求示例
json
{
"robot": 1,
"conveyorID": 1
}0x821A 控制器回复,传送带用户坐标接收
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| conveyorID | int | 传送带工艺号 | [1,9] |
| robot | int | 机器人号 | [1,4] |
| sensorPos | object | 传感器位置(弧度) | - |
| sensorPosDeg | object | 传感器位置(角度) | - |
| userCoord | int | 用户坐标系号 | [1,999] |
| userFrame | array | 用户坐标系(弧度) | double 类型数组 |
| userFrameDeg | array | 用户坐标系(角度) | double 类型数组 |
sensorPos / sensorPosDeg 子参数
| 参数名 | 类型 |
|---|---|
| X | double |
| Y | double |
| Z | double |
| A | double |
| B | double |
| C | double |
响应示例
json
{
"conveyorID": 1,
"robot": 1,
"sensorPos": {
"A": 0.0,
"B": 0.0,
"C": 0.0,
"X": 0.0,
"Y": 0.0,
"Z": 0.0
},
"sensorPosDeg": {
"A": 0.0,
"B": 0.0,
"C": 0.0,
"X": 0.0,
"Y": 0.0,
"Z": 0.0
},
"userCoord": 1,
"userFrame": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"userFrameDeg": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
}0x821B 设置传送带过滤参数
命令字:0x821B
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
| threshold_pos | array | 对应 xyzabc 的阈值 | - |
| angle_filter_enable | bool | 视觉过滤的角度过滤使能 | - |
请求示例
json
{
"robot": 1,
"conveyorID": 1,
"threshold_pos": [10, 10, 10, 10, 10, 10],
"angle_filter_enable": true
}0x821C 查询传送带过滤参数
命令字:0x821C
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
请求示例
json
{
"robot": 1,
"conveyorID": 1
}0x821D 回复传送带过滤参数
命令字:0x821D
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
| vision_filter_shreshold | object | 过滤阈值参数对象 | - |
vision_filter_shreshold 子参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| angle_filter_enable | bool | 视觉过滤的角度过滤使能 |
| threshold_pos | array | xyz 的过滤阈值(double 类型数组) |
响应示例
json
{
"robot": 1,
"conveyorID": 1,
"vision_filter_shreshold": {
"angle_filter_enable": false,
"threshold_pos": [10, 5, 5, 0.1, 0.1, 0.1]
}
}0x8226 传送带传感器标定
命令字:0x8226
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
| posNum | int | 标定步骤的第几点 | [1,4] |
请求示例
json
{
"robot": 1,
"conveyorID": 1,
"posNum": 1
}0x8227 取消传送带传感器标定
命令字:0x8227
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
请求示例
json
{
"robot": 1,
"conveyorID": 1
}0x8229 查询传送带数据源和识别类型
命令字:0x8229
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
请求示例
json
{
"robot": 1,
"conveyorID": 1
}0x8230 回复传送带数据源和识别类型
命令字:0x8230
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
| detectSrc | object | 检测源参数对象 | - |
| identification | object | 识别参数对象 | - |
detectSrc 子参数
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| type | int | 数据源类型:0视觉,1IO,2全局变量 | [0,2] |
identification 子参数
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| type | int | 识别类型:0视觉,1传感器 | [0,1] |
响应示例
json
{
"robot": 1,
"conveyorID": 1,
"detectSrc": {
"type": 0
},
"identification": {
"type": 0
}
}0x8231 传感器传送带标定计算结果
命令字:0x8231
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
请求示例
json
{
"robot": 1,
"conveyorID": 1
}0x8232 传送带视觉标定
命令字:0x8232
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
| step | int | 对应视觉标定的六步 | [1,6] |
请求示例
json
{
"robot": 1,
"conveyorID": 1,
"step": 1
}0x8233 查询传送带视觉标定数据
命令字:0x8233
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
| step | int | 对应视觉标定的六步 | [1,6] |
请求示例
json
{
"robot": 1,
"conveyorID": 1,
"step": 1
}0x8234 清除传送带标定数据
命令字:0x8234
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
| step | int | 对应视觉标定的六步 | [1,6] |
请求示例
json
{
"robot": 1,
"conveyorID": 1,
"step": 1
}0x8235 回复传送带标定数据
命令字:0x8235
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
| step | int | 对应视觉标定的六步 | [1,6] |
| U1 | double | 第一步像素坐标的 X 坐标 | |
| V1 | double | 第一步像素坐标的 Y 坐标 | |
| encodorValue | string | 第一步的编码器值 | |
| X2 | double | 第二步的 X 坐标 | |
| Y2 | double | 第二步的 Y 坐标 | |
| Z2 | double | 第二步的 Z 坐标 | |
| X3 | double | 第三步的 X 坐标 | |
| Y3 | double | 第三步的 Y 坐标 | |
| Z3 | double | 第三步的 Z 坐标 | |
| encoder_resolution | double | 第三步的编码器分辨率 | |
| U4 | double | 第四步的像素坐标的 X 坐标 | |
| V4 | double | 第四步的像素坐标的 Y 坐标 | |
| X5 | double | 第五步的 X 坐标 | |
| Y5 | double | 第五步的 Y 坐标 | |
| Z5 | double | 第五步的 Z 坐标 | |
| X6 | double | 第六步的 X 坐标 | |
| Y6 | double | 第六步的 Y 坐标 | |
| Z6 | double | 第六步的 Z 坐标 |
各步骤请求示例
第一步:
json
{
"robot": 1,
"conveyorID": 1,
"step": 1,
"U1": 0,
"V1": 0,
"encodorValue": "0"
}第二步:
json
{
"robot": 1,
"conveyorID": 1,
"step": 2,
"X2": 0,
"Y2": 0,
"Z2": 0,
"encodorValue": "0"
}第三步:
json
{
"robot": 1,
"conveyorID": 1,
"step": 3,
"X3": 0,
"Y3": 0,
"Z3": 0,
"encodorValue": "0",
"encoder_resolution": 0.0
}第四步:
json
{
"robot": 1,
"conveyorID": 1,
"step": 4,
"U4": 0,
"V4": 0,
"encodorValue": "0"
}第五步:
json
{
"robot": 1,
"conveyorID": 1,
"step": 5,
"X5": 0,
"Y5": 0,
"Z5": 0,
"encodorValue": "0"
}第六步:
json
{
"robot": 1,
"conveyorID": 1,
"step": 6,
"X6": 0,
"Y6": 0,
"Z6": 0
}0x8236 视觉传送带标定计算结果
命令字:0x8236
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
请求示例
json
{
"robot": 1,
"conveyorID": 1
}0x8237 设置传送带进阶参数
命令字:0x8237
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| compensation | object | 补偿参数对象 | - |
| compensation_acc_multiple | double | 偏差开始段加速度倍数 | - |
| compensation_max_len | double | 单次补偿最大距离 | - |
| conveyorID | int | 传送带工艺号 | [1,9] |
| exception | object | 异常参数对象 | - |
| is_start_smoothly | bool | 平滑跟踪是否启动 | - |
| obj_distribute_proportion | int | 多机:下一台机对象分配比例 | - |
| robot | int | 机器人号 | [1,4] |
| start_acc_multiple | double | 同步开始段加速度倍数 | - |
| stop_acc_multiple | double | 同步结束段加速度倍数 | - |
| sync_param | object | 同步 PID 参数对象 | - |
compensation 子参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| distance | double | 编码器补偿距离 |
| encoderVal | string | 编码器补偿编码器值 |
| time | double | 编码器补偿时间 |
exception 子参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| multiple_of_axis_max_vel | double | 警告并放弃同步的速度阈值倍数 |
sync_param 子参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| kd | double | 同步 PID 比例系数 |
| ki | double | 同步 PID 积分系数 |
| kp | double | 同步 PID 微分系数 |
| limit_acc_multiple | double | 同步 PID 限输出加速度倍率 |
| max_out | double | 同步 PID 限幅 |
请求示例
json
{
"compensation": {
"distance": 0.0,
"encoderVal": "0",
"time": 10.0
},
"compensation_acc_multiple": 20.0,
"compensation_max_len": 8.0,
"conveyorID": 1,
"exception": {
"multiple_of_axis_max_vel": 0.950
},
"is_start_smoothly": false,
"obj_distribute_proportion": 100,
"robot": 1,
"start_acc_multiple": 20.0,
"stop_acc_multiple": 20.0,
"sync_param": {
"kd": 0.050,
"ki": 0.050,
"kp": 0.40,
"limit_acc_multiple": 0.40,
"max_out": 0.60
}
}0x8238 查询传送带进阶参数
命令字:0x8238
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
请求示例
json
{
"robot": 1,
"conveyorID": 1
}0x8239 回复传送带进阶参数
命令字:0x8239
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| compensation | object | 补偿参数对象 | - |
| compensation_acc_multiple | double | 偏差开始段加速度倍数 | - |
| compensation_max_len | double | 单次补偿最大距离 | - |
| conveyorID | int | 传送带工艺号 | [1,9] |
| exception | object | 异常参数对象 | - |
| is_start_smoothly | bool | 平滑跟踪是否启动 | - |
| obj_distribute_proportion | int | 多机:下一台机对象分配比例 | - |
| robot | int | 机器人号 | [1,4] |
| start_acc_multiple | double | 同步开始段加速度倍数 | - |
| stop_acc_multiple | double | 同步结束段加速度倍数 | - |
| sync_param | object | 同步 PID 参数对象 | - |
compensation 子参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| distance | double | 编码器补偿距离 |
| encoderVal | string | 编码器补偿编码器值 |
| time | double | 编码器补偿时间 |
exception 子参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| multiple_of_axis_max_vel | double | 警告并放弃同步的速度阈值倍数 |
sync_param 子参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| kd | double | 同步 PID 比例系数 |
| ki | double | 同步 PID 积分系数 |
| kp | double | 同步 PID 微分系数 |
| limit_acc_multiple | double | 同步 PID 限输出加速度倍率 |
| max_out | double | 同步 PID 限幅 |
响应示例
json
{
"compensation": {
"distance": 0.0,
"encoderVal": "0",
"time": 10.0
},
"compensation_acc_multiple": 20.0,
"compensation_max_len": 8.0,
"conveyorID": 1,
"exception": {
"multiple_of_axis_max_vel": 0.950
},
"is_start_smoothly": false,
"obj_distribute_proportion": 100,
"robot": 1,
"start_acc_multiple": 20.0,
"stop_acc_multiple": 20.0,
"sync_param": {
"kd": 0.050,
"ki": 0.050,
"kp": 0.40,
"limit_acc_multiple": 0.40,
"max_out": 0.60
}
}0x823A 多机通讯测试
命令字:0x823A
参数说明
| 参数名 | 类型 | 描述 | 取值范围 |
|---|---|---|---|
| robot | int | 机器人号 | [1,4] |
| conveyorID | int | 传送带工艺号 | [1,99] |
请求示例
json
{
"robot": 1,
"conveyorID": 1
}0x823B 多机通讯测试数据回复
命令字:0x823B
参数说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| recvTargetData | string | 和相机设置的数据格式一致 |
响应示例
json
{
"recvTargetData": "xxx,xxx,xxx"
}注意: 0x821E、0x821F 已删除(这两个命令字不再使用)。
传送带同步原理
同步跟踪基本流程
传送带同步跟踪系统通过编码器实时获取传送带位置,动态调整机器人轨迹,使机器人与移动中的工件保持同步。
同步阶段
- 检测与识别阶段:传感器或视觉检测到工件,记录当前编码器值
- 跟踪等待阶段:工件进入跟踪范围内,机器人准备抓取
- 同步运动阶段:机器人与传送带同步运动,末端执行器与工件保持相对静止
- 抓取/操作阶段:在同步过程中完成抓取、放置等操作
- 返回阶段:操作完成后机器人返回初始位置
同步位置关系
传送带跟踪中的关键位置参数:
| 参数 | 说明 | 单位 |
|---|---|---|
| trackStartXPoint | 跟踪开始 X 点(工件进入跟踪范围的位置) | mm |
| trackRangeXMax | 跟踪最大范围 X 值(工件超出此范围则放弃) | mm |
| receLatestPos | 最迟接收 X 值(工件最晚被接收的位置) | mm |
跟踪窗口示意
在跟踪开始点和跟踪最大范围之间,机器人与传送带同步运动。超过跟踪最大范围或未在最迟接收位置前收到数据,则放弃该工件。
PID同步控制参数
同步过程中使用 PID 控制器实现平稳的传送带跟踪:
| 参数 | 说明 | 典型值 | 调节 |
|---|---|---|---|
| kp | 同步 PID 比例系数 | 0.2~0.8 | 增大可加快同步响应 |
| ki | 同步 PID 积分系数 | 0.01~0.1 | 消除同步稳态误差 |
| kd | 同步 PID 微分系数 | 0.01~0.1 | 减小同步超调 |
| max_out | 同步 PID 限幅 | 0.3~1.0 | 限制最大同步速度 |
| limit_acc_multiple | 同步 PID 限输出加速度倍率 | 0.2~0.8 | 防止加速度过大 |
位置补偿
编码器位置补偿
编码器位置补偿用于修正由于编码器误差或机械传动导致的传送带位置偏差。
补偿参数
| 参数 | 说明 | 单位 |
|---|---|---|
| compensation.distance | 编码器补偿距离 | mm |
| compensation.encoderVal | 编码器补偿编码器值 | 脉冲数 |
| compensation.time | 编码器补偿时间 | s |
| compensation_acc_multiple | 偏差开始段加速度倍数 | - |
| compensation_max_len | 单次补偿最大距离 | mm |
补偿公式
实际传送带位置 = 编码器原始值 / 编码器分辨率 + 补偿偏移量
其中补偿偏移量 = compensation.distance * (经过时间 / compensation.time)
同步开始/结束段加速度控制
| 参数 | 说明 | 典型值 |
|---|---|---|
| start_acc_multiple | 同步开始段加速度倍数 | 10~50 |
| stop_acc_multiple | 同步结束段加速度倍数 | 10~50 |
| is_start_smoothly | 平滑跟踪是否启动 | true/false |
当 is_start_smoothly=true 时,机器人进入和退出同步的运动更加平滑,减少机械冲击。
异常处理
| 参数 | 说明 | 典型值 |
|---|---|---|
| exception.multiple_of_axis_max_vel | 警告并放弃同步的速度阈值倍数 | 0.8~0.95 |
当同步所需速度超过 轴最大速度 * multiple_of_axis_max_vel 时,系统发出警告并放弃对该工件的同步跟踪。
多机协同对象分配
| 参数 | 说明 |
|---|---|
| obj_distribute_proportion | 多机场景下分配给下一台机器人的对象比例(百分比) |
当多台机器人共享一条传送带时,通过此参数控制工件分配的负载均衡。
视觉过滤参数
用于传送带跟踪中视觉数据的过滤:
| 参数 | 说明 |
|---|---|
| threshold_pos | xyzabc 各轴的过滤阈值 |
| angle_filter_enable | 角度过滤使能 |
当视觉返回的位置数据与上一次数据在各轴上的偏差超过阈值时,该数据被过滤丢弃。
位置补偿调试
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 抓取位置偏前 | 编码器补偿过大 | 减小 compensation.distance |
| 抓取位置偏后 | 编码器补偿不足或延迟 | 增大 compensation.distance 或 compensation.time |
| 同步过程中抖动 | PID参数不当 | 降低 kp,增大 kd |
| 同步启动冲击大 | start_acc_multiple 过大 | 降低加速度倍数或启用平滑跟踪 |
| 频繁放弃工件 | 传送带速度太快 | 降低传送带速度或增大 trackRangeXMax |