Calibration
Four-Point Calibration
Description: The robot end moves to and calibrates four points. After calculation, the link length and axis zero point offset can be obtained. If the calculation result is accepted, the result can be filled into the DH parameters.
Host Four-Point Calibration Calculation Request
Command Word: 0x3700
| Parameter | Type | Range/Description |
|---|---|---|
| ParamOf4Points | double[] | Length 2, L1 and L2 lengths. The two parameters are the X movement distance and Y movement distance when the robot end moves from marker point A to marker point C |
{
"ParamOf4Points": [85.0, 70.0]
}Host Point N Calibration Request
Command Word: 0x3701
| Parameter | Type | Range/Description |
|---|---|---|
| pointNum | int | Range [0,3], calibration point number |
| status | int | Range [0,1], calibration status. 0 means cancel calibration, 1 means calibrate |
{
"pointNum": 0,
"status": 1
}Controller Replies Point N Calibration Position Information to Host
Command Word: 0x3702
| Parameter | Type | Range/Description |
|---|---|---|
| pointNum | int | Range [0,3], calibration point number |
| pos | double[] | Length 4, position information list |
{
"pointNum": 0,
"pos": [0.0, 0.0, 0.0, 0.0]
}Controller Replies Calibration Calculation Result to Host
Command Word: 0x3703
| Parameter | Type | Range/Description |
|---|---|---|
| dtheta | double[] | Length 2, axis zero point offset list. All values -1 means calculation failed |
| length | double[] | Length 2, link length list. All values -1 means calculation failed |
| result | bool | Whether calculation succeeded |
{
"dtheta": [-1.0, -1.0],
"length": [-1.0, -1.0],
"result": false
}Host Requests to Fill Calculation Result into DH Parameters
Command Word: 0x3704
{}Controller Replies DH Parameter Fill Result to Host
Command Word: 0x3705
| Parameter | Type | Range/Description |
|---|---|---|
| apply | bool | Whether filling calculation result succeeded |
{
"apply": true
}Host Queries Calibration Information
Command Word: 0x3706
| Parameter | Type | Range/Description |
|---|---|---|
| dtheta | double[] | Length 2, axis zero point offset list. null means no calculation result |
| length | double[] | Length 2, link length list. null means no calculation result |
| result | bool | Whether calculation succeeded |
| status | int[] | Point calibration status list. 0 means not calibrated, 1 means calibrated |
{
"dtheta": [null, null],
"length": [null, null],
"result": false,
"status": [0, 1, 0, 1]
}20-Point Calibration
Description: A method for calibrating the robot by calibrating at 20 specific points to ensure robot accuracy and stability.
Host Calibration Calculation Request
Command Word: 0x3710
| Parameter | Type | Range/Description |
|---|---|---|
| calibrationType | int | Calibration point method. 2 means 2-point method, 12 means 12-point method, 15 means 15-point method, 20 means 20-point method with zero calibration, 21 means 21-point method without zero calibration |
| noCalZero | bool | Whether to calibrate zero |
| robot | int | Range [1,4], current robot number |
| tool | int | Range [1,999], current tool number |
{
"calibrationType": 20,
"noCalZero": false,
"robot": 1,
"tool": 1
}Host Point N Calibration Request
Command Word: 0x3711
| Parameter | Type | Range/Description |
|---|---|---|
| calibrationType | int | Calibration point method. 2 means 2-point method, 12 means 12-point method, 15 means 15-point method, 20 means 20-point method with zero calibration, 21 means 21-point method without zero calibration |
| point | int | Calibration point number. 2-point method range [0,1], 12-point method range [0,11], 15-point method range [0,14], 20-point method range [0,19] |
| robot | int | Range [1,4], current robot number |
| tool | int | Range [1,999], current tool number |
{
"calibrationType": 20,
"point": 1,
"robot": 1,
"tool": 1
}Controller Replies Point N Calibration Information to Host
Command Word: 0x3712
| Parameter | Type | Range/Description |
|---|---|---|
| calibrationType | int | Calibration point method. 2 means 2-point method, 12 means 12-point method, 15 means 15-point method, 20 means 20-point method with zero calibration, 21 means 21-point method without zero calibration |
| point | int | Calibration point number. 2-point method range [0,1], 12-point method range [0,11], 15-point method range [0,14], 20-point method range [0,19] |
| position | double[] | Calibration point joint coordinate information list, length 6 |
| robot | int | Range [1,4], current robot number |
{
"calibrationType": 20,
"point": 1,
"position": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"robot": 1
}Controller Replies Calibration Calculation Result to Host
Command Word: 0x3713
| Parameter | Type | Range/Description |
|---|---|---|
| distance | double | Calibration calculation result. Result -1 means calculation failed, result >10 means please recalibrate |
| result | bool | Whether calibration calculation succeeded |
| robot | int | Range [1,4], current robot number |
{
"distance": 464.473876425245,
"result": true,
"robot": 1
}Host Sends Setting Calibration Result as Zero Point
Command Word: 0x3714
| Parameter | Type | Range/Description |
|---|---|---|
| calibrationType | int | Calibration point method. 2 means 2-point method, 12 means 12-point method, 15 means 15-point method, 20 means 20-point method with zero calibration, 21 means 21-point method without zero calibration |
| robot | int | Range [1,4], current robot number |
| tool | int | Range [1,999], current tool number |
{
"calibrationType": 12,
"robot": 1,
"tool": 1
}Controller Replies Calibration Result Zero Point Setting Result to Host
Command Word: 0x3715
| Parameter | Type | Range/Description |
|---|---|---|
| apply | bool | Whether setting as zero point succeeded |
| robot | int | Range [1,4], current robot number |
{
"apply": true,
"robot": 1
}Host Queries All Point Calibration Status
Command Word: 0x3716
| Parameter | Type | Range/Description |
|---|---|---|
| calibrationType | int | Calibration point method. 2 means 2-point method, 12 means 12-point method, 15 means 15-point method, 20 means 20-point method with zero calibration, 21 means 21-point method without zero calibration |
| robot | int | Range [1,4], current robot number |
| tool | int | Range [1,999], current tool number |
{
"calibrationType": 20,
"robot": 1,
"tool": 1
}Controller Replies All Point Calibration Status to Host
Command Word: 0x3717
| Parameter | Type | Range/Description |
|---|---|---|
| calibrationType | int | Calibration point method. 2 means 2-point method, 12 means 12-point method, 15 means 15-point method, 20 means 20-point method with zero calibration, 21 means 21-point method without zero calibration |
| robot | int | Range [1,4], current robot number |
| status | int[] | Point calibration status list. 1 means calibrated, 0 means not calibrated. Length depends on current calibration method |
{
"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]
}Host Requests to Clear Point N Calibration Status
Command Word: 0x3718
| Parameter | Type | Range/Description |
|---|---|---|
| calibrationType | int | Calibration point method. 2 means 2-point method, 12 means 12-point method, 15 means 15-point method, 20 means 20-point method with zero calibration, 21 means 21-point method without zero calibration |
| point | int | Range [0,20], calibration point number. 20 means clear all points |
| robot | int | Range [1,4], current robot number |
| tool | int | Range [1,999], current tool number |
{
"calibrationType": 20,
"point": 20,
"robot": 1,
"tool": 1
}Host Queries Point N Position Information
Command Word: 0x3719
| Parameter | Type | Range/Description |
|---|---|---|
| calibrationType | int | Calibration point method. 2 means 2-point method, 12 means 12-point method, 15 means 15-point method, 20 means 20-point method with zero calibration, 21 means 21-point method without zero calibration |
| point | int | Calibration point number. 2-point method range [0,1], 12-point method range [0,11], 15-point method range [0,14], 20-point method range [0,19] |
| robot | int | Range [1,4], current robot number |
| tool | int | Range [1,999], current tool number |
{
"calibrationType": 20,
"point": 1,
"robot": 1,
"tool": 1
}Controller Replies Point N Position Information to Host
Command Word: 0x371A
| Parameter | Type | Range/Description |
|---|---|---|
| calibrationType | int | Calibration point method. 2 means 2-point method, 12 means 12-point method, 15 means 15-point method, 20 means 20-point method with zero calibration, 21 means 21-point method without zero calibration |
| point | int | Calibration point number. 2-point method range [0,1], 12-point method range [0,11], 15-point method range [0,14], 20-point method range [0,19] |
| position | double[] | Calibration point joint coordinate information list, length 6 |
| robot | int | Range [1,4], current robot number |
{
"calibrationType": 20,
"point": 1,
"position": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"robot": 1
}Host Requests to Move to Calculation Result Position
Command Word: 0x371B
| Parameter | Type | Range/Description |
|---|---|---|
| robot | int | Range [1,4], current robot number |
{
"robot": 1
}Host Queries Whether Calibration Page Can Be Opened
Command Word: 0x371C
{}Controller Replies Whether Calibration Page Can Be Opened to Host
Command Word: 0x371D
| Parameter | Type | Range/Description |
|---|---|---|
| canCalibration | bool | Whether the host can open the calibration page |
{
"canCalibration": true
}External Axis Calibration
Description: Includes rotary axis calibration and linear axis (track) coordination parameters.
Host External Rotary Axis Calibration Calculation Request
Command Word: 0x3730
| Parameter | Type | Range/Description |
|---|---|---|
| calibrateNum | int | Range [1,3], current axis group number |
| robot | int | Range [1,4], current robot number |
{
"calibrateNum": 1,
"robot": 1
}Host External Axis Point N Calibration Request
Command Word: 0x3731
| Parameter | Type | Range/Description |
|---|---|---|
| externalGroupNum | int | Range [1,3], current axis group number |
| pointNum | int | Range [0,4], marker point number. Rotary dual-turn range [0,4]; rotary single-axis range [0,2] |
| robot | int | Range [1,4], current robot number |
{
"externalGroupNum": 1,
"pointNum": 0,
"robot": 1
}Controller Replies External Axis Point N Calibration Information to Host
Command Word: 0x3732
| Parameter | Type | Range/Description |
|---|---|---|
| externalGroupNum | int | Range [1,3], current axis group number |
| pointNum | int | Range [0,4], marker point number. Rotary dual-turn range [0,4]; rotary single-axis range [0,2] |
| pos | double[] | Calibration point Cartesian coordinate information list, length 6 |
| robot | int | Range [1,4], current robot number |
{
"externalGroupNum": 1,
"pointNum": 0,
"pos": [470.746, 0.0, 817.334, 3.14159265359, 0.0, 0.0],
"robot": 1
}Controller Replies External Axis Calibration Calculation Result to Host
Command Word: 0x3733
| Parameter | Type | Range/Description |
|---|---|---|
| result | bool | Whether external axis calibration calculation succeeded |
| robot | int | Range [1,4], current robot number |
{
"result": true,
"robot": 1
}Host Queries Robot Bound External Axis Calibration Status
Command Word: 0x3734
| Parameter | Type | Range/Description |
|---|---|---|
| robot | int | Range [1,4], current robot number |
{
"robot": 1
}Controller Replies Robot Bound External Axis Calibration Status to Host
Command Word: 0x3735
| Parameter | Type | Range/Description |
|---|---|---|
| calibrateResult | bool[] | Length 3, robot bound external axis calibration status. true means calibrated, false means not calibrated |
| robot | int | Range [1,4], current robot number |
{
"calibrateResult": [false, false, false],
"robot": 1
}Host Sets Current Cooperative External Axis Group Number
Command Word: 0x3736
| Parameter | Type | Range/Description |
|---|---|---|
| externalGroupNum | int | Range [0,2], cooperative external axis group number |
| robot | int | Range [1,4], current robot number |
{
"externalGroupNum": 0,
"robot": 1
}Host Queries Current Cooperative External Axis Group Number
Command Word: 0x3737
| Parameter | Type | Range/Description |
|---|---|---|
| robot | int | Range [1,4], current robot number |
{
"robot": 1
}Controller Replies Current Cooperative External Axis Group Number to Host
Command Word: 0x3738
| Parameter | Type | Range/Description |
|---|---|---|
| externalGroupNum | int | Range [0,2], cooperative external axis group number |
| robot | int | Range [1,4], current robot number |
{
"externalGroupNum": 0,
"robot": 1
}Host Sets Track Coordination Parameters
Command Word: 0x3739
| Parameter | Type | Range/Description |
|---|---|---|
| calibrateResult | bool | Whether track is coordinated. Coordinated: determined when enable address is set |
| conversionRatio | double[] | Length 3, axis conversion ratio list, range [-9998,9998]. Parts exceeding current axis count default to 1.0 |
| trackMap | int[] | Length 3, track axis directions. 0 means no direction selected, 1 means X direction, 2 means Y axis direction, 3 means Z axis direction. Parts exceeding current axis count default to 0 |
{
"calibrateResult": true,
"conversionRatio": [58.0, 1.0, 1.0],
"trackMap": [1, 0, 0]
}Host Queries Current Robot Track Coordination Parameters
Command Word: 0x373A
| Parameter | Type | Range/Description |
|---|---|---|
| robot | int | Range [1,4], current robot number |
{
"robot": 1
}Controller Replies Current Robot Track Coordination Parameters
Command Word: 0x373B
| Parameter | Type | Range/Description |
|---|---|---|
| calibrateResult | bool | Whether track is coordinated |
| conversionRatio | double[] | Length 3, axis conversion ratio list, range [-9998,9998]. Initialized to 9999 |
| robot | int | Current robot number |
| trackMap | int[] | Length 3, track axis directions. 0 means no direction selected, 1 means X direction, 2 means Y axis direction, 3 means Z axis direction. Initialized to 0 |
{
"calibrateResult": false,
"conversionRatio": [9999, 9999, 9999],
"robot": 1,
"trackMap": [0, 0, 0]
}Host Sends Setting External Axis Calibration Result
Command Word: 0x373C
| Parameter | Type | Range/Description |
|---|---|---|
| syncPositionerNum | int | Range [1,3], current axis group number |
| resultArray | double[][] | Axis calibration result list. First dimension length is current total external axis count, second dimension length is 6 |
{
"syncPositionerNum": 1,
"resultArray": [
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]
]
}Host Queries External Axis Calibration Result
Command Word: 0x373D
| Parameter | Type | Range/Description |
|---|---|---|
| syncPositionerNum | int | Range [1,3], current axis group number |
{
"syncPositionerNum": 1
}Controller Replies External Axis Calibration Result to Host
Command Word: 0x373E
| Parameter | Type | Range/Description |
|---|---|---|
| syncPositionerNum | int | Range [1,3], current axis group number |
| calibrateResult | bool | External axis calibration calculation result |
| resultArray | double[][] | Axis calibration result list. First dimension length is current total external axis count, second dimension length is 6 |
{
"syncPositionerNum": 1,
"calibrateResult": false,
"resultArray": [
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]
]
}Host Sends Setting Track Direction Calibration Coefficient
Command Word: 0x373F
| Parameter | Type | Range/Description |
|---|---|---|
| axis_num | int | Range [1,3], track axis number |
| direction_ratio | double[] | Direction calibration coefficient, range [-100,100]. Parameters are X direction coefficient, Y direction coefficient, Z direction coefficient |
{
"axis_num": 1,
"direction_ratio": [1.0, 0.0, 0.0]
}Host Queries Track Direction Calibration Coefficient
Command Word: 0x3740
| Parameter | Type | Range/Description |
|---|---|---|
| axis_num | int | Range [1,3], track axis number |
{
"axis_num": 1
}Controller Replies Track Direction Calibration Coefficient
Command Word: 0x3741
| Parameter | Type | Range/Description |
|---|---|---|
| axis_num | int | Range [1,3], track axis number |
| direction_ratio | double[] | Direction calibration coefficient, range [-100,100]. Parameters are X direction coefficient, Y direction coefficient, Z direction coefficient |
{
"axis_num": 1,
"direction_ratio": [1.0, 0.0, 0.0]
}Host Axis Point N Calibration Request
Command Word: 0x3742
| Parameter | Type | Range/Description |
|---|---|---|
| axis_num | int | Range [1,3], current axis number being calibrated |
| point_num | int | Range [1,2], current calibration point number |
{
"axis_num": 1,
"point_num": 1
}Host Requests Track to Move to Marker Point
Command Word: 0x3743
| Parameter | Type | Range/Description |
|---|---|---|
| axis_num | int | Range [1,3], current axis number being calibrated |
| point_num | int | Range [1,2], current calibration point number |
{
"axis_num": 1,
"point_num": 1
}Host Track Calibration Point Calculation Request
Command Word: 0x3744
| Parameter | Type | Range/Description |
|---|---|---|
| axis_num | int | Range [1,3], current axis number being calibrated |
{
"axis_num": 1
}Controller Replies Calibration Calculation Result to Host
Command Word: 0x3745
| Parameter | Type | Range/Description |
|---|---|---|
| axis_num | int | Range [1,3], track axis number |
| direction_ratio | double[] | Direction calibration coefficient. Parameters are X direction coefficient, Y direction coefficient, Z direction coefficient |
{
"axis_num": 1,
"direction_ratio": [1.0, 0.0, 0.0]
}