Skip to content

标定

四点标定

说明:机器人末梢移动到并标定四个点,计算后可得杆长度和轴零点偏移,若认可计算结果,可将计算结果填入DH参数。

上位机四点标定计算请求

命令字: 0x3700

参数名类型范围/说明
ParamOf4Pointsdouble[]长度为2,L1和L2长度。两参数分别为机器人末梢从标记点A移动到标记点C时X的移动距离和Y的移动距离
json
{
  "ParamOf4Points": [85.0, 70.0]
}

上位机N号点标定请求

命令字: 0x3701

参数名类型范围/说明
pointNumint范围[0,3],标定点编号
statusint范围[0,1],标定状态。0表示取消标定,1表示标定
json
{
  "pointNum": 0,
  "status": 1
}

控制器回复上位机N号点标定位置信息

命令字: 0x3702

参数名类型范围/说明
pointNumint范围[0,3],标定点编号
posdouble[]长度为4,位置信息列表
json
{
  "pointNum": 0,
  "pos": [0.0, 0.0, 0.0, 0.0]
}

控制器回复上位机标定计算结果

命令字: 0x3703

参数名类型范围/说明
dthetadouble[]长度为2,轴零点偏移列表。值全为-1表示计算失败
lengthdouble[]长度为2,杆长度列表。值全为-1表示计算失败
resultbool是否计算成功
json
{
  "dtheta": [-1.0, -1.0],
  "length": [-1.0, -1.0],
  "result": false
}

上位机请求将计算结果填入DH参数

命令字: 0x3704

json
{}

控制器回复上位机填入DH参数结果

命令字: 0x3705

参数名类型范围/说明
applybool计算结果填入是否成功
json
{
  "apply": true
}

上位机查询标定信息

命令字: 0x3706

参数名类型范围/说明
dthetadouble[]长度为2,轴零点偏移列表。null表示没有计算结果
lengthdouble[]长度为2,杆长度列表。null表示没有计算结果
resultbool是否计算成功
statusint[]点位标定状态列表。0表示未标定,1表示已标定
json
{
  "dtheta": [null, null],
  "length": [null, null],
  "result": false,
  "status": [0, 1, 0, 1]
}

20点标定

说明:一种用于校准机器人的方法,通过在特定的20个点上进行标定,以确保机器人的准确性和稳定性。

上位机标定计算请求

命令字: 0x3710

参数名类型范围/说明
calibrationTypeint标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点
noCalZerobool是否为校准零点
robotint范围[1,4],当前机器人号
toolint范围[1,999],当前工具手编号
json
{
  "calibrationType": 20,
  "noCalZero": false,
  "robot": 1,
  "tool": 1
}

上位机标定N号点请求

命令字: 0x3711

参数名类型范围/说明
calibrationTypeint标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点
pointint标定点编号。2点法时范围[0,1],12点法时范围[0,11],15点法时范围[0,14],20点法时范围[0,19]
robotint范围[1,4],当前机器人号
toolint范围[1,999],当前工具手编号
json
{
  "calibrationType": 20,
  "point": 1,
  "robot": 1,
  "tool": 1
}

控制器回复上位机N号点标定信息

命令字: 0x3712

参数名类型范围/说明
calibrationTypeint标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点
pointint标定点编号。2点法时范围[0,1],12点法时范围[0,11],15点法时范围[0,14],20点法时范围[0,19]
positiondouble[]标定点关节坐标信息列表,长度为6
robotint范围[1,4],当前机器人号
json
{
  "calibrationType": 20,
  "point": 1,
  "position": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
  "robot": 1
}

控制器回复上位机标定计算完成结果

命令字: 0x3713

参数名类型范围/说明
distancedouble标定计算结果。结果为-1表示计算失败,结果>10则请重新标定
resultbool标定计算是否成功
robotint范围[1,4],当前机器人号
json
{
  "distance": 464.473876425245,
  "result": true,
  "robot": 1
}

上位机发送设置标定结果为零点

命令字: 0x3714

参数名类型范围/说明
calibrationTypeint标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点
robotint范围[1,4],当前机器人号
toolint范围[1,999],当前工具手编号
json
{
  "calibrationType": 12,
  "robot": 1,
  "tool": 1
}

控制器回复上位机标定结果为零点设置结果

命令字: 0x3715

参数名类型范围/说明
applybool设置为零点是否成功
robotint范围[1,4],当前机器人号
json
{
  "apply": true,
  "robot": 1
}

上位机查询全部点标定状态

命令字: 0x3716

参数名类型范围/说明
calibrationTypeint标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点
robotint范围[1,4],当前机器人号
toolint范围[1,999],当前工具手号
json
{
  "calibrationType": 20,
  "robot": 1,
  "tool": 1
}

控制器回复上位机全部点标定状态

命令字: 0x3717

参数名类型范围/说明
calibrationTypeint标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点
robotint范围[1,4],当前机器人号
statusint[]点位标定状态列表。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

参数名类型范围/说明
calibrationTypeint标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点
pointint范围[0,20],标定点编号。20表示清除所有点
robotint范围[1,4],当前机器人号
toolint范围[1,999],当前工具手编号
json
{
  "calibrationType": 20,
  "point": 20,
  "robot": 1,
  "tool": 1
}

上位机查询N号点位置信息

命令字: 0x3719

参数名类型范围/说明
calibrationTypeint标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点
pointint标定点编号。2点法时范围[0,1],12点法时范围[0,11],15点法时范围[0,14],20点法时范围[0,19]
robotint范围[1,4],当前机器人号
toolint范围[1,999],当前工具手编号
json
{
  "calibrationType": 20,
  "point": 1,
  "robot": 1,
  "tool": 1
}

控制器回复上位机N号点位置信息

命令字: 0x371A

参数名类型范围/说明
calibrationTypeint标定点方法。2表示2点法,12表示12点法,15表示15点法,20表示20点法有校准零点,21表示21点法无校准零点
pointint标定点编号。2点法时范围[0,1],12点法时范围[0,11],15点法时范围[0,14],20点法时范围[0,19]
positiondouble[]标定点关节坐标信息列表,长度为6
robotint范围[1,4],当前机器人号
json
{
  "calibrationType": 20,
  "point": 1,
  "position": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
  "robot": 1
}

上位机请求移动到计算结果位置

命令字: 0x371B

参数名类型范围/说明
robotint范围[1,4],当前机器人号
json
{
  "robot": 1
}

上位机查询是否可以打开标定页面

命令字: 0x371C

json
{}

控制器回复上位机是否可以打开标定页面

命令字: 0x371D

参数名类型范围/说明
canCalibrationbool上位机是否可以打开标定页面
json
{
  "canCalibration": true
}

外部轴标定

说明:包含有旋转轴标定和直线轴(地轨)协同参数。

上位机外部旋转轴标定计算请求

命令字: 0x3730

参数名类型范围/说明
calibrateNumint范围[1,3],当前轴组号
robotint范围[1,4],当前机器人号
json
{
  "calibrateNum": 1,
  "robot": 1
}

上位机外部轴标定N号点请求

命令字: 0x3731

参数名类型范围/说明
externalGroupNumint范围[1,3],当前轴组号
pointNumint范围[0,4],标记点编号。旋转双周范围[0,4];旋转单轴范围[0,2]
robotint范围[1,4],当前机器人号
json
{
  "externalGroupNum": 1,
  "pointNum": 0,
  "robot": 1
}

控制器回复上位机外部轴N号点标定信息

命令字: 0x3732

参数名类型范围/说明
externalGroupNumint范围[1,3],当前轴组号
pointNumint范围[0,4],标记点编号。旋转双周范围[0,4];旋转单轴范围[0,2]
posdouble[]标定点直角坐标信息列表,长度为6
robotint范围[1,4],当前机器人号
json
{
  "externalGroupNum": 1,
  "pointNum": 0,
  "pos": [470.746, 0.0, 817.334, 3.14159265359, 0.0, 0.0],
  "robot": 1
}

控制器回复上位机外部轴标定计算结果

命令字: 0x3733

参数名类型范围/说明
resultbool外部轴标定计算是否成功
robotint范围[1,4],当前机器人号
json
{
  "result": true,
  "robot": 1
}

上位机查询机器人绑定外部轴标定状态

命令字: 0x3734

参数名类型范围/说明
robotint范围[1,4],当前机器人编号
json
{
  "robot": 1
}

控制器回复上位机机器人绑定外部轴标定状态

命令字: 0x3735

参数名类型范围/说明
calibrateResultbool[]长度为3,机器人绑定外部轴标定状态。true表示已标定,false表示未标定
robotint范围[1,4],当前机器人号
json
{
  "calibrateResult": [false, false, false],
  "robot": 1
}

上位机设置当前协作外部轴组号

命令字: 0x3736

参数名类型范围/说明
externalGroupNumint范围[0,2],协作外部轴组号
robotint范围[1,4],当前机器人号
json
{
  "externalGroupNum": 0,
  "robot": 1
}

上位机查询当前协作外部轴组号

命令字: 0x3737

参数名类型范围/说明
robotint范围[1,4],当前机器人编号
json
{
  "robot": 1
}

控制器回复上位机当前协作外部轴组号

命令字: 0x3738

参数名类型范围/说明
externalGroupNumint范围[0,2],协作外部轴组号
robotint范围[1,4],当前机器人号
json
{
  "externalGroupNum": 0,
  "robot": 1
}

上位机设置地轨协同参数

命令字: 0x3739

参数名类型范围/说明
calibrateResultbool地轨是否协同。协同:当启用地址是确定
conversionRatiodouble[]长度为3,轴转换比列表,范围[-9998,9998]。超过当前轴数的部分默认为1.0
trackMapint[]长度为3,地轨各轴方向。0表示未选择方向,1表示X方向,2表示Y轴方向,3表示Z轴方向。超过当前轴数的部分默认为0
json
{
  "calibrateResult": true,
  "conversionRatio": [58.0, 1.0, 1.0],
  "trackMap": [1, 0, 0]
}

上位机查询当前机器人地轨协同参数

命令字: 0x373A

参数名类型范围/说明
robotint范围[1,4],当前机器人编号
json
{
  "robot": 1
}

控制器回复当前机器人地轨协同参数

命令字: 0x373B

参数名类型范围/说明
calibrateResultbool地轨是否协同
conversionRatiodouble[]长度为3,轴转换比列表,范围[-9998,9998]。初始化为9999
robotint当前机器人号
trackMapint[]长度为3,地轨各轴方向。0表示未选择方向,1表示X方向,2表示Y轴方向,3表示Z轴方向。初始化为0
json
{
  "calibrateResult": false,
  "conversionRatio": [9999, 9999, 9999],
  "robot": 1,
  "trackMap": [0, 0, 0]
}

上位机发送设置外部轴标定结果

命令字: 0x373C

参数名类型范围/说明
syncPositionerNumint范围[1,3],当前轴组号
resultArraydouble[][]各轴标定结果列表。一维长度为当前外部轴总轴数,二维长度为6
json
{
  "syncPositionerNum": 1,
  "resultArray": [
    [0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0]
  ]
}

上位机查询外部轴标定结果

命令字: 0x373D

参数名类型范围/说明
syncPositionerNumint范围[1,3],当前轴组号
json
{
  "syncPositionerNum": 1
}

控制器回复上位机外部轴标定结果

命令字: 0x373E

参数名类型范围/说明
syncPositionerNumint范围[1,3],当前轴组号
calibrateResultbool外部轴标定计算结果
resultArraydouble[][]各轴标定结果列表。一维长度为当前外部轴总轴数,二维长度为6
json
{
  "syncPositionerNum": 1,
  "calibrateResult": false,
  "resultArray": [
    [0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0]
  ]
}

上位机发送设置地轨方向校准系数

命令字: 0x373F

参数名类型范围/说明
axis_numint范围[1,3],地轨轴号
direction_ratiodouble[]方向校准系数,范围[-100,100]。参数分别为X方向系数、Y方向系数、Z方向系数
json
{
  "axis_num": 1,
  "direction_ratio": [1.0, 0.0, 0.0]
}

上位机查询地轨方向校准系数

命令字: 0x3740

参数名类型范围/说明
axis_numint范围[1,3],地轨轴号
json
{
  "axis_num": 1
}

控制器回复地轨方向校准系数

命令字: 0x3741

参数名类型范围/说明
axis_numint范围[1,3],地轨轴号
direction_ratiodouble[]方向校准系数,范围[-100,100]。参数分别为X方向系数、Y方向系数、Z方向系数
json
{
  "axis_num": 1,
  "direction_ratio": [1.0, 0.0, 0.0]
}

上位机标定轴N号点请求

命令字: 0x3742

参数名类型范围/说明
axis_numint范围[1,3],当前标定的轴号
point_numint范围[1,2],当前标定点编号
json
{
  "axis_num": 1,
  "point_num": 1
}

上位机请求地轨移动到标记点

命令字: 0x3743

参数名类型范围/说明
axis_numint范围[1,3],当前标定的轴号
point_numint范围[1,2],当前标定点编号
json
{
  "axis_num": 1,
  "point_num": 1
}

上位机地轨标定点计算请求

命令字: 0x3744

参数名类型范围/说明
axis_numint范围[1,3],当前标定的轴号
json
{
  "axis_num": 1
}

控制器回复上位机标定计算结果

命令字: 0x3745

参数名类型范围/说明
axis_numint范围[1,3],地轨轴号
direction_ratiodouble[]方向校准系数。参数分别为X方向系数、Y方向系数、Z方向系数
json
{
  "axis_num": 1,
  "direction_ratio": [1.0, 0.0, 0.0]
}