Appearance
标定
四点标定
说明:机器人末梢移动到并标定四个点,计算后可得杆长度和轴零点偏移,若认可计算结果,可将计算结果填入DH参数。
上位机四点标定计算请求
命令字: 0x3700
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| ParamOf4Points | double[] | 长度为2,L1和L2长度。两参数分别为机器人末梢从标记点A移动到标记点C时X的移动距离和Y的移动距离 |
json
{
"ParamOf4Points": [85.0, 70.0]
}上位机N号点标定请求
命令字: 0x3701
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| pointNum | int | 范围[0,3],标定点编号 |
| status | int | 范围[0,1],标定状态。0表示取消标定,1表示标定 |
json
{
"pointNum": 0,
"status": 1
}控制器回复上位机N号点标定位置信息
命令字: 0x3702
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| pointNum | int | 范围[0,3],标定点编号 |
| pos | double[] | 长度为4,位置信息列表 |
json
{
"pointNum": 0,
"pos": [0.0, 0.0, 0.0, 0.0]
}控制器回复上位机标定计算结果
命令字: 0x3703
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| dtheta | double[] | 长度为2,轴零点偏移列表。值全为-1表示计算失败 |
| length | double[] | 长度为2,杆长度列表。值全为-1表示计算失败 |
| result | bool | 是否计算成功 |
json
{
"dtheta": [-1.0, -1.0],
"length": [-1.0, -1.0],
"result": false
}上位机请求将计算结果填入DH参数
命令字: 0x3704
json
{}控制器回复上位机填入DH参数结果
命令字: 0x3705
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| apply | bool | 计算结果填入是否成功 |
json
{
"apply": true
}上位机查询标定信息
命令字: 0x3706
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| dtheta | double[] | 长度为2,轴零点偏移列表。null表示没有计算结果 |
| length | double[] | 长度为2,杆长度列表。null表示没有计算结果 |
| result | bool | 是否计算成功 |
| status | int[] | 点位标定状态列表。0表示未标定,1表示已标定 |
json
{
"dtheta": [null, null],
"length": [null, null],
"result": false,
"status": [0, 1, 0, 1]
}20点标定
说明:一种用于校准机器人的方法,通过在特定的20个点上进行标定,以确保机器人的准确性和稳定性。
上位机标定计算请求
命令字: 0x3710
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| calibrationType | int | 标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点 |
| noCalZero | bool | 是否为校准零点 |
| robot | int | 范围[1,4],当前机器人号 |
| tool | int | 范围[1,999],当前工具手编号 |
json
{
"calibrationType": 20,
"noCalZero": false,
"robot": 1,
"tool": 1
}上位机标定N号点请求
命令字: 0x3711
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| calibrationType | int | 标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点 |
| point | int | 标定点编号。2点法时范围[0,1],12点法时范围[0,11],15点法时范围[0,14],20点法时范围[0,19] |
| robot | int | 范围[1,4],当前机器人号 |
| tool | int | 范围[1,999],当前工具手编号 |
json
{
"calibrationType": 20,
"point": 1,
"robot": 1,
"tool": 1
}控制器回复上位机N号点标定信息
命令字: 0x3712
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| calibrationType | int | 标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点 |
| point | int | 标定点编号。2点法时范围[0,1],12点法时范围[0,11],15点法时范围[0,14],20点法时范围[0,19] |
| position | double[] | 标定点关节坐标信息列表,长度为6 |
| robot | int | 范围[1,4],当前机器人号 |
json
{
"calibrationType": 20,
"point": 1,
"position": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"robot": 1
}控制器回复上位机标定计算完成结果
命令字: 0x3713
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| distance | double | 标定计算结果。结果为-1表示计算失败,结果>10则请重新标定 |
| result | bool | 标定计算是否成功 |
| robot | int | 范围[1,4],当前机器人号 |
json
{
"distance": 464.473876425245,
"result": true,
"robot": 1
}上位机发送设置标定结果为零点
命令字: 0x3714
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| calibrationType | int | 标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点 |
| robot | int | 范围[1,4],当前机器人号 |
| tool | int | 范围[1,999],当前工具手编号 |
json
{
"calibrationType": 12,
"robot": 1,
"tool": 1
}控制器回复上位机标定结果为零点设置结果
命令字: 0x3715
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| apply | bool | 设置为零点是否成功 |
| robot | int | 范围[1,4],当前机器人号 |
json
{
"apply": true,
"robot": 1
}上位机查询全部点标定状态
命令字: 0x3716
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| calibrationType | int | 标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点 |
| robot | int | 范围[1,4],当前机器人号 |
| tool | int | 范围[1,999],当前工具手号 |
json
{
"calibrationType": 20,
"robot": 1,
"tool": 1
}控制器回复上位机全部点标定状态
命令字: 0x3717
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| calibrationType | int | 标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点 |
| robot | int | 范围[1,4],当前机器人号 |
| status | int[] | 点位标定状态列表。1表示已标定,0表示未标定。长度为当前使用标点法 |
json
{
"calibrationType": 20,
"robot": 1,
"status": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
}上位机请求清除N号点标定状态
命令字: 0x3718
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| calibrationType | int | 标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点 |
| point | int | 范围[0,20],标定点编号。20表示清除所有点 |
| robot | int | 范围[1,4],当前机器人号 |
| tool | int | 范围[1,999],当前工具手编号 |
json
{
"calibrationType": 20,
"point": 20,
"robot": 1,
"tool": 1
}上位机查询N号点位置信息
命令字: 0x3719
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| calibrationType | int | 标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点 |
| point | int | 标定点编号。2点法时范围[0,1],12点法时范围[0,11],15点法时范围[0,14],20点法时范围[0,19] |
| robot | int | 范围[1,4],当前机器人号 |
| tool | int | 范围[1,999],当前工具手编号 |
json
{
"calibrationType": 20,
"point": 1,
"robot": 1,
"tool": 1
}控制器回复上位机N号点位置信息
命令字: 0x371A
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| calibrationType | int | 标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点 |
| point | int | 标定点编号。2点法时范围[0,1],12点法时范围[0,11],15点法时范围[0,14],20点法时范围[0,19] |
| position | double[] | 标定点关节坐标信息列表,长度为6 |
| robot | int | 范围[1,4],当前机器人号 |
json
{
"calibrationType": 20,
"point": 1,
"position": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"robot": 1
}上位机请求移动到计算结果位置
命令字: 0x371B
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| robot | int | 范围[1,4],当前机器人号 |
json
{
"robot": 1
}上位机查询是否可以打开标定页面
命令字: 0x371C
json
{}控制器回复上位机是否可以打开标定页面
命令字: 0x371D
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| canCalibration | bool | 上位机是否可以打开标定页面 |
json
{
"canCalibration": true
}外部轴标定
说明:包含有旋转轴标定和直线轴(地轨)协同参数。
上位机外部旋转轴标定计算请求
命令字: 0x3730
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| calibrateNum | int | 范围[1,3],当前轴组号 |
| robot | int | 范围[1,4],当前机器人号 |
json
{
"calibrateNum": 1,
"robot": 1
}上位机外部轴标定N号点请求
命令字: 0x3731
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| externalGroupNum | int | 范围[1,3],当前轴组号 |
| pointNum | int | 范围[0,4],标记点编号。旋转双周范围[0,4];旋转单轴范围[0,2] |
| robot | int | 范围[1,4],当前机器人号 |
json
{
"externalGroupNum": 1,
"pointNum": 0,
"robot": 1
}控制器回复上位机外部轴N号点标定信息
命令字: 0x3732
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| externalGroupNum | int | 范围[1,3],当前轴组号 |
| pointNum | int | 范围[0,4],标记点编号。旋转双周范围[0,4];旋转单轴范围[0,2] |
| pos | double[] | 标定点直角坐标信息列表,长度为6 |
| robot | int | 范围[1,4],当前机器人号 |
json
{
"externalGroupNum": 1,
"pointNum": 0,
"pos": [470.746, 0.0, 817.334, 3.14159265359, 0.0, 0.0],
"robot": 1
}控制器回复上位机外部轴标定计算结果
命令字: 0x3733
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| result | bool | 外部轴标定计算是否成功 |
| robot | int | 范围[1,4],当前机器人号 |
json
{
"result": true,
"robot": 1
}上位机查询机器人绑定外部轴标定状态
命令字: 0x3734
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| robot | int | 范围[1,4],当前机器人编号 |
json
{
"robot": 1
}控制器回复上位机机器人绑定外部轴标定状态
命令字: 0x3735
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| calibrateResult | bool[] | 长度为3,机器人绑定外部轴标定状态。true表示已标定,false表示未标定 |
| robot | int | 范围[1,4],当前机器人号 |
json
{
"calibrateResult": [false, false, false],
"robot": 1
}上位机设置当前协作外部轴组号
命令字: 0x3736
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| externalGroupNum | int | 范围[0,2],协作外部轴组号 |
| robot | int | 范围[1,4],当前机器人号 |
json
{
"externalGroupNum": 0,
"robot": 1
}上位机查询当前协作外部轴组号
命令字: 0x3737
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| robot | int | 范围[1,4],当前机器人编号 |
json
{
"robot": 1
}控制器回复上位机当前协作外部轴组号
命令字: 0x3738
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| externalGroupNum | int | 范围[0,2],协作外部轴组号 |
| robot | int | 范围[1,4],当前机器人号 |
json
{
"externalGroupNum": 0,
"robot": 1
}上位机设置地轨协同参数
命令字: 0x3739
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| calibrateResult | bool | 地轨是否协同。协同:当启用地址是确定 |
| conversionRatio | double[] | 长度为3,轴转换比列表,范围[-9998,9998]。超过当前轴数的部分默认为1.0 |
| trackMap | int[] | 长度为3,地轨各轴方向。0表示未选择方向,1表示X方向,2表示Y轴方向,3表示Z轴方向。超过当前轴数的部分默认为0 |
json
{
"calibrateResult": true,
"conversionRatio": [58.0, 1.0, 1.0],
"trackMap": [1, 0, 0]
}上位机查询当前机器人地轨协同参数
命令字: 0x373A
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| robot | int | 范围[1,4],当前机器人编号 |
json
{
"robot": 1
}控制器回复当前机器人地轨协同参数
命令字: 0x373B
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| calibrateResult | bool | 地轨是否协同 |
| conversionRatio | double[] | 长度为3,轴转换比列表,范围[-9998,9998]。初始化为9999 |
| robot | int | 当前机器人号 |
| trackMap | int[] | 长度为3,地轨各轴方向。0表示未选择方向,1表示X方向,2表示Y轴方向,3表示Z轴方向。初始化为0 |
json
{
"calibrateResult": false,
"conversionRatio": [9999, 9999, 9999],
"robot": 1,
"trackMap": [0, 0, 0]
}上位机发送设置外部轴标定结果
命令字: 0x373C
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| syncPositionerNum | int | 范围[1,3],当前轴组号 |
| resultArray | double[][] | 各轴标定结果列表。一维长度为当前外部轴总轴数,二维长度为6 |
json
{
"syncPositionerNum": 1,
"resultArray": [
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]
]
}上位机查询外部轴标定结果
命令字: 0x373D
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| syncPositionerNum | int | 范围[1,3],当前轴组号 |
json
{
"syncPositionerNum": 1
}控制器回复上位机外部轴标定结果
命令字: 0x373E
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| syncPositionerNum | int | 范围[1,3],当前轴组号 |
| calibrateResult | bool | 外部轴标定计算结果 |
| resultArray | double[][] | 各轴标定结果列表。一维长度为当前外部轴总轴数,二维长度为6 |
json
{
"syncPositionerNum": 1,
"calibrateResult": false,
"resultArray": [
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]
]
}上位机发送设置地轨方向校准系数
命令字: 0x373F
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| axis_num | int | 范围[1,3],地轨轴号 |
| direction_ratio | double[] | 方向校准系数,范围[-100,100]。参数分别为X方向系数、Y方向系数、Z方向系数 |
json
{
"axis_num": 1,
"direction_ratio": [1.0, 0.0, 0.0]
}上位机查询地轨方向校准系数
命令字: 0x3740
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| axis_num | int | 范围[1,3],地轨轴号 |
json
{
"axis_num": 1
}控制器回复地轨方向校准系数
命令字: 0x3741
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| axis_num | int | 范围[1,3],地轨轴号 |
| direction_ratio | double[] | 方向校准系数,范围[-100,100]。参数分别为X方向系数、Y方向系数、Z方向系数 |
json
{
"axis_num": 1,
"direction_ratio": [1.0, 0.0, 0.0]
}上位机标定轴N号点请求
命令字: 0x3742
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| axis_num | int | 范围[1,3],当前标定的轴号 |
| point_num | int | 范围[1,2],当前标定点编号 |
json
{
"axis_num": 1,
"point_num": 1
}上位机请求地轨移动到标记点
命令字: 0x3743
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| axis_num | int | 范围[1,3],当前标定的轴号 |
| point_num | int | 范围[1,2],当前标定点编号 |
json
{
"axis_num": 1,
"point_num": 1
}上位机地轨标定点计算请求
命令字: 0x3744
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| axis_num | int | 范围[1,3],当前标定的轴号 |
json
{
"axis_num": 1
}控制器回复上位机标定计算结果
命令字: 0x3745
| 参数名 | 类型 | 范围/说明 |
|---|---|---|
| axis_num | int | 范围[1,3],地轨轴号 |
| direction_ratio | double[] | 方向校准系数。参数分别为X方向系数、Y方向系数、Z方向系数 |
json
{
"axis_num": 1,
"direction_ratio": [1.0, 0.0, 0.0]
}