Teleoperation
3D Mouse
Host Computer Sets 3D Mouse Parameters
Command: 0x4600
| Parameter Name | Type | Range | Description |
|---|---|---|---|
| ABC | int | [4,6] | Attitude control: 4 means A selected, 5 means B selected, 6 means C selected |
| mouseSen | double[4] | [0,300] | 3D mouse sensitivity list, including X direction sensitivity, Y direction sensitivity, Z direction sensitivity, attitude sensitivity |
Request Example:
{
"ABC": 4,
"mouseSen": [128.0, 128.0, 128.0, 128.0]
}Host Computer Queries 3D Mouse Parameters
Command: 0x4601
Request Example:
{}Controller Replies 3D Mouse Parameters to Host Computer
Command: 0x4602
| Parameter Name | Type | Range | Description |
|---|---|---|---|
| ABC | int | [4,6] | Attitude control: 4 means A selected, 5 means B selected, 6 means C selected |
| enable | bool | - | 3D mouse enable |
| mouseSen | double[4] | [0,300] | 3D mouse sensitivity list, including X/Y/Z direction sensitivity and attitude sensitivity |
Response Example:
{
"ABC": 4,
"enable": false,
"mouseSen": [128.0, 128.0, 128.0, 128.0]
}Host Computer Requests Marking 3D Mouse Zero Point
Command: 0x4603
Request Example:
{}Host Computer Queries 3D Mouse Zero Point Marking Status
Command: 0x4604
Request Example:
{}Controller Replies 3D Mouse Zero Point Marking Status to Host Computer
Command: 0x4605
| Parameter Name | Type | Range | Description |
|---|---|---|---|
| zeroTagged | int | [0,1] | 3D mouse zero point marking status: 0 means not marked, 1 means marked |
Response Example:
{
"zeroTagged": 0
}Host Computer Requests Marking 3D Mouse Positive Direction
Command: 0x4606
| Parameter Name | Type | Range | Description |
|---|---|---|---|
| axis | int | [1,3] | Direction to mark: 1 for X direction, 2 for Y direction, 3 for Z direction |
Request Example:
{
"axis": 1
}Host Computer Queries 3D Mouse Positive Direction Marking Status
Command: 0x4607
Request Example:
{}Controller Replies 3D Mouse Positive Direction Marking Status to Host Computer
Command: 0x4608
| Parameter Name | Type | Range | Description |
|---|---|---|---|
| xTagged | int | [0,2] | X positive direction marking status: 0 for uncalibrated, 1 for calibrated, 2 for communication failure |
| yTagged | int | [0,2] | Y positive direction marking status: 0 for uncalibrated, 1 for calibrated, 2 for communication failure |
| zTagged | int | [0,2] | Z positive direction marking status: 0 for uncalibrated, 1 for calibrated, 2 for communication failure |
Response Example:
{
"xTagged": 2,
"yTagged": 0,
"zTagged": 0
}Host Computer Sets 3D Mouse Parameter Page Return
Command: 0x4609
| Parameter Name | Type | Description |
|---|---|---|
| pageBack | int | Host computer page leaves 3D mouse parameter page |
Request Example:
{
"pageBack": 1
}Host Computer Sets 3D Mouse Port Number
Command: 0x460A
| Parameter Name | Type | Range | Description |
|---|---|---|---|
| port | int | [1,10] | 3D mouse port number |
Request Example:
{
"port": 1
}Host Computer Queries 3D Mouse Port Number
Command: 0x460B
Request Example:
{}Controller Replies 3D Mouse Port Number to Host Computer
Command: 0x460C
| Parameter Name | Type | Range | Description |
|---|---|---|---|
| port | int | [1,10] | 3D mouse port number |
Response Example:
{
"port": 1
}Six-Axis Force/Torque Sensor
Description
The six-axis force/torque sensor is installed at the robot end-effector, obtaining force variations through the sensor end sensing area.
The basic parameters of the six-axis force/torque sensor are set in 0x4000, including sensor mass and center of mass. They must be written before zero calibration calculation, otherwise the zero calibration calculation result will be incorrect.
When using the six-axis force/torque sensor for torque dragging and position dragging, no-load zero calibration must be performed after sensor installation. If additional drag handles need to be installed, payload calculation must be performed after zero calibration.
When using the six-axis force/torque sensor for torque dragging, friction compensation is performed when each axis torque conversion data exceeds the joint friction compensation threshold.
Host Computer Requests Calculation of Six-Axis Force/Torque Sensor Payload Parameters
Command: 0x4620
Request Example:
{}Host Computer Queries Six-Axis Force/Torque Sensor Payload Parameter Calculation Results
Command: 0x4621
Request Example:
{}Controller Replies Calculated Payload Parameters of Six-Axis Force/Torque Sensor to Host Computer
Command: 0x4622
| Parameter Name | Type | Unit | Description |
|---|---|---|---|
| isFinished | bool | - | Whether payload calculation trajectory has finished running (only exists when replying to 0x4620) |
| runSuccess | bool | - | Whether payload parameters are calculated successfully (only exists when replying to 0x4620) |
| payloadMass | double | kg | Calculated payload block mass (only exists when replying to 0x4621) |
| payloadMassCenterX | double | m | Calculated payload block center of mass X (only exists when replying to 0x4621) |
| payloadMassCenterY | double | m | Calculated payload block center of mass Y (only exists when replying to 0x4621) |
| payloadMassCenterZ | double | m | Calculated payload block center of mass Z (only exists when replying to 0x4621) |
Response Example:
{
"isFinished": true,
"runSuccess": true,
"payloadMass": 0.0,
"payloadMassCenterX": 0.0,
"payloadMassCenterY": 0.0,
"payloadMassCenterZ": 0.0
}Host Computer Queries Six-Axis Force/Torque Sensor Data
Command: 0x4623
Request Example:
{}Controller Replies Six-Axis Force/Torque Sensor Data to Host Computer
Command: 0x4624
| Parameter Name | Type | Unit | Description |
|---|---|---|---|
| fxData | double | N | Sensor X direction force raw data |
| fyData | double | N | Sensor Y direction force raw data |
| fzData | double | N | Sensor Z direction force raw data |
| mxData | double | Nm | Sensor X direction torque raw data |
| myData | double | Nm | Sensor Y direction torque raw data |
| mzData | double | Nm | Sensor Z direction torque raw data |
| peelOffValue | object | - | Sensor peel-off data, this node exists after sensor zero calibration |
| fxDataSubBase | double | N | Sensor X direction force peel-off data |
| fyDataSubBase | double | N | Sensor Y direction force peel-off data |
| fzDataSubBase | double | N | Sensor Z direction force peel-off data |
| mxDataSubBase | double | Nm | Sensor X direction torque peel-off data |
| myDataSubBase | double | Nm | Sensor Y direction torque peel-off data |
| mzDataSubBase | double | Nm | Sensor Z direction torque peel-off data |
| sensorConnect | bool | - | Sensor connection status: true for connected, false for not connected |
| torqueConvertData | object | - | Axis torque values caused by additional force on six-axis force/torque sensor, this node exists when robot enters torque dragging |
| axis1Data | double | permil | Axis 1 torque conversion data |
| axis2Data | double | permil | Axis 2 torque conversion data |
| axis3Data | double | permil | Axis 3 torque conversion data |
| axis4Data | double | permil | Axis 4 torque conversion data |
| axis5Data | double | permil | Axis 5 torque conversion data |
| axis6Data | double | permil | Axis 6 torque conversion data |
Response Example:
{
"fxData": -7.48328,
"fyData": 4.0964,
"fzData": 34.09224,
"mxData": 0.4361,
"myData": -0.01078,
"mzData": 0.1176,
"peelOffValue": {
"fxDataSubBase": 0.324231194364,
"fyDataSubBase": -0.550949927519,
"fzDataSubBase": 5.315393681562,
"mxDataSubBase": 0.254721004374,
"myDataSubBase": -0.23501051027,
"mzDataSubBase": 0.003892025499
},
"sensorConnect": true,
"torqueConvertData": {
"axis1Data": 4.350304342178,
"axis2Data": -31.252106163066,
"axis3Data": -67.928968119182,
"axis4Data": 8.274872052417,
"axis5Data": 15.919933464577,
"axis6Data": 0.318515582768
}
}Host Computer Requests Six-Axis Force/Torque Sensor Zero Calibration
Command: 0x4625
Request Example:
{}Controller Replies Six-Axis Force/Torque Sensor Zero Calibration Result to Host Computer
Command: 0x4626
| Parameter Name | Type | Description |
|---|---|---|
| isFinished | bool | Whether zero calibration trajectory has finished running |
| isSaved | bool | Whether zero calibration data is saved successfully |
Response Example:
{
"isFinished": true,
"isSaved": true
}Host Computer Requests Saving Six-Axis Force/Torque Sensor Payload Calculation Result to Tool Hand
Command: 0x4627
| Parameter Name | Type | Range | Description |
|---|---|---|---|
| targetTool | int | [1,999] | Tool hand number to save to |
Request Example:
{
"targetTool": 5
}Controller Replies Six-Axis Force/Torque Sensor Payload Calculation Result Saved to Tool Hand
Command: 0x4628
| Parameter Name | Type | Description |
|---|---|---|
| result | bool | Whether data is saved successfully |
Response Example:
{
"result": true
}Host Computer Sets Joint Friction Compensation Threshold
Command: 0x4629
| Parameter Name | Type | Range | Description |
|---|---|---|---|
| sensorJointThreshold1 | int | [1,999999] | Axis 1 joint friction compensation threshold |
| sensorJointThreshold2 | int | [1,999999] | Axis 2 joint friction compensation threshold |
| sensorJointThreshold3 | int | [1,999999] | Axis 3 joint friction compensation threshold |
| sensorJointThreshold4 | int | [1,999999] | Axis 4 joint friction compensation threshold |
| sensorJointThreshold5 | int | [1,999999] | Axis 5 joint friction compensation threshold |
| sensorJointThreshold6 | int | [1,999999] | Axis 6 joint friction compensation threshold |
Request Example:
{
"sensorJointThreshold1": 50,
"sensorJointThreshold2": 50,
"sensorJointThreshold3": 50,
"sensorJointThreshold4": 50,
"sensorJointThreshold5": 50,
"sensorJointThreshold6": 50
}Host Computer Queries Joint Friction Compensation Coefficient
Command: 0x462A
Request Example:
{}Controller Replies Joint Friction Compensation Coefficient to Host Computer
Command: 0x462B
| Parameter Name | Type | Range | Description |
|---|---|---|---|
| sensorJointThreshold1 | int | [1,999999] | Axis 1 joint friction compensation threshold |
| sensorJointThreshold2 | int | [1,999999] | Axis 2 joint friction compensation threshold |
| sensorJointThreshold3 | int | [1,999999] | Axis 3 joint friction compensation threshold |
| sensorJointThreshold4 | int | [1,999999] | Axis 4 joint friction compensation threshold |
| sensorJointThreshold5 | int | [1,999999] | Axis 5 joint friction compensation threshold |
| sensorJointThreshold6 | int | [1,999999] | Axis 6 joint friction compensation threshold |
Response Example:
{
"sensorJointThreshold1": 50,
"sensorJointThreshold2": 50,
"sensorJointThreshold3": 50,
"sensorJointThreshold4": 50,
"sensorJointThreshold5": 50,
"sensorJointThreshold6": 50
}Host Computer Sets Sensor Basic Parameters
Command: 0x4630
| Parameter Name | Type | Description |
|---|---|---|
| sensorMass | double | Sensor mass |
| sensorMassCenterX | double | Sensor center of mass X |
| sensorMassCenterY | double | Sensor center of mass Y |
| sensorMassCenterZ | double | Sensor center of mass Z |
Request Example:
{
"sensorMass": 0,
"sensorMassCenterX": 0,
"sensorMassCenterY": 0,
"sensorMassCenterZ": 0
}Host Computer Gets Sensor Basic Parameters
Command: 0x4631
Request Example:
{}Controller Replies Sensor Basic Parameters
Command: 0x4632
| Parameter Name | Type | Description |
|---|---|---|
| sensorMass | double | Sensor mass |
| sensorMassCenterX | double | Sensor center of mass X |
| sensorMassCenterY | double | Sensor center of mass Y |
| sensorMassCenterZ | double | Sensor center of mass Z |
Response Example:
{
"sensorMass": 0,
"sensorMassCenterX": 0,
"sensorMassCenterY": 0,
"sensorMassCenterZ": 0
}Sensor Peel-Off Data Clear
Command: 0x4633
Request Example:
{}Sensor Data Calibration
Command: 0x4634
Request Example:
{}Controller Replies Sensor Data Calibration Result
Command: 0x4635
| Parameter Name | Type | Description |
|---|---|---|
| runSuccess | bool | Trajectory execution result |
| isFinished | bool | Calibration finished |
Response Example:
{
"runSuccess": true,
"isFinished": true
}Host Computer Sets Six-Axis Force/Torque Sensor Communication Parameters
Command: 0x462C
| Parameter Name | Type | Range/Value | Description |
|---|---|---|---|
| etherCat.mapNum | int | - | Selected communication device number: 0 for not selected |
| modbus.RTU.endian | int | [0,3] | FLOAT endian: 0 for AB CD, 1 for CD AB, 2 for BA DC, 3 for DC BA |
| modbus.RTU.checkBit | string | 'N','E','O' | Check bit |
| modbus.RTU.dataBit | int | [5,8] | Data bits |
| modbus.RTU.stopBit | int | [1,2] | Stop bits |
| modbus.RTU.addressNum | int | [0,125] | Number of slave addresses |
| modbus.RTU.addressType | int | [0,1] | Address type: 0 for 3x, 1 for 4x |
| modbus.RTU.baudRate | int | - | Baud rate |
| modbus.RTU.firstAddress | int | (0,65535] | Register first address |
| modbus.RTU.port | int | (0,65535] | Port number |
| modbus.RTU.slaveID | int | (0,65535] | Slave ID |
| modbus.TCP.IP | string | - | IP address |
| modbus.TCP.port | int | (0,65535] | Port number |
| modbus.TCP.addressType | int | [0,1] | Address type: 0 for 3x, 1 for 4x |
| modbus.TCP.firstAddress | int | [0,65535] | Register first address |
| modbus.TCP.addressNum | int | [0,125] | Number of slave addresses |
| modbus.TCP.endian | int | [0,3] | FLOAT endian: 0 for AB CD, 1 for CD AB, 2 for BA DC, 3 for DC BA |
| YDirection | int | 1/-1 | Sensor Y direction: 1 for Y positive direction pointing left, -1 for Y positive direction pointing right |
| originDataInitialPara | int | [0,999] | Raw data starting variable: 0 for none, other values indicate storage to global variable position, sequentially storing six sensor raw data values |
| sensorCommunicationType | int | [0,1] | Sensor communication type: 0 for etherCat, 1 for Modbus RTU |
| sensorConnectStatus | bool | - | Sensor communication enable (this node can be set independently) |
| sensorDragEnable | bool | - | Sensor drag enable: false means sensor data does not participate in torque drag calculation |
| startupAutoConnectSensor | bool | - | Auto-connect sensor on startup |
Request Example:
{
"etherCat": {
"mapNum": 0
},
"modbus": {
"RTU": {
"endian": 1,
"checkBit": "N",
"dataBit": 5,
"stopBit": 1,
"addressNum": 1,
"addressType": 0,
"baudRate": 115200,
"firstAddress": 1,
"port": 1,
"slaveID": 1
},
"TCP": {
"IP": "192.168.1.14",
"port": 503,
"addressType": 0,
"firstAddress": 1,
"addressNum": 1,
"endian": 1
}
},
"YDirection": 1,
"originDataInitialPara": 0,
"sensorCommunicationType": 0,
"sensorConnectStatus": false,
"sensorDragEnable": true,
"startupAutoConnectSensor": true
}Host Computer Queries Six-Axis Force/Torque Sensor Communication Parameters
Command: 0x462D
Request Example:
{}Controller Replies Six-Axis Force/Torque Sensor Communication Parameters to Host Computer
Command: 0x462E
| Parameter Name | Type | Range/Value | Description |
|---|---|---|---|
| etherCat.mapNum | int | - | Selected communication device number: 0 for not selected |
| modbus.RTU.endian | int | [0,3] | FLOAT endian: 0 for AB CD, 1 for CD AB, 2 for BA DC, 3 for DC BA |
| modbus.RTU.checkBit | string | 'N','E','O' | Check bit |
| modbus.RTU.dataBit | int | [5,8] | Data bits |
| modbus.RTU.stopBit | int | [1,2] | Stop bits |
| modbus.RTU.addressNum | int | [0,125] | Number of slave addresses |
| modbus.RTU.addressType | int | [0,1] | Address type: 0 for 3x, 1 for 4x |
| modbus.RTU.baudRate | int | - | Baud rate |
| modbus.RTU.firstAddress | int | (0,65535] | Register first address |
| modbus.RTU.port | int | (0,65535] | Port number |
| modbus.RTU.slaveID | int | (0,65535] | Slave ID |
| modbus.TCP.IP | string | - | IP address |
| modbus.TCP.port | int | (0,65535] | Port number |
| modbus.TCP.addressType | int | [0,1] | Address type: 0 for 3x, 1 for 4x |
| modbus.TCP.firstAddress | int | [0,65535] | Register first address |
| modbus.TCP.addressNum | int | [0,125] | Number of slave addresses |
| modbus.TCP.endian | int | [0,3] | FLOAT endian: 0 for AB CD, 1 for CD AB, 2 for BA DC, 3 for DC BA |
| YDirection | int | 1/-1 | Sensor Y direction: 1 for Y positive direction pointing left, -1 for Y positive direction pointing right |
| originDataInitialPara | int | [0,999] | Raw data starting variable: 0 for none, other values indicate storage to global variable position, sequentially storing six sensor raw data values |
| sensorCommunicationType | int | [0,1] | Sensor communication type: 0 for etherCat, 1 for Modbus RTU |
| sensorConnectStatus | bool | - | Sensor communication enable (this node can be set independently) |
| sensorDragEnable | bool | - | Sensor drag enable: false means sensor data does not participate in torque drag calculation |
| startupAutoConnectSensor | bool | - | Auto-connect sensor on startup |
Response Example:
{
"etherCat": {
"mapNum": 0
},
"modbus": {
"RTU": {
"endian": 1,
"checkBit": "N",
"dataBit": 5,
"stopBit": 1,
"addressNum": 1,
"addressType": 0,
"baudRate": 115200,
"firstAddress": 1,
"port": 1,
"slaveID": 1
},
"TCP": {
"IP": "192.168.1.14",
"port": 503,
"addressType": 0,
"firstAddress": 1,
"addressNum": 1,
"endian": 1
}
},
"YDirection": 1,
"originDataInitialPara": 0,
"sensorCommunicationType": 0,
"sensorConnectStatus": false,
"sensorDragEnable": true,
"startupAutoConnectSensor": true
}Host Computer Sets Six-Axis Force/Torque Sensor Admittance Drag Parameters
Command: 0x408E
| Parameter Name | Type | Range | Description |
|---|---|---|---|
| dragDamper | double[6] | First 3 [0,100], last 3 [0,50] | Damping coefficient list, under Cartesian coordinate system XYZABC |
| dragInPosMaxAngleVel | double | (0,90] | Drag maximum angular velocity, unit: deg/s |
| dragInPosMaxVel | double | (0,2] | Drag maximum linear velocity, unit: m/s |
| dragInPosMode | int | [0,2] | Drag mode: 0 for free drag, 1 for position drag, 2 for pose drag |
| dragMass | double[6] | First 3 [5,100], last 3 [0.3,30] | Mass coefficient list |
| dragChangeRate | double[6] | - | Change rate threshold |
| dragTh.xyz | double | - | Position start threshold |
| dragTh.abc | double | - | Attitude start threshold |
Request Example:
{
"dragDamper": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"dragInPosMaxAngleVel": 5.0,
"dragInPosMaxVel": 2.0,
"dragInPosMode": 0,
"dragMass": [5.0, 5.0, 5.0, 0.30, 0.30, 0.30],
"dragChangeRate": [10, 10, 10, 5, 5, 5],
"dragTh": {
"xyz": 5,
"abc": 1
}
}Host Computer Queries Six-Axis Force/Torque Sensor Admittance Drag Parameters
Command: 0x408F
| Parameter Name | Type | Range | Description |
|---|---|---|---|
| dragInPosMode | int | [0,2] | Drag mode: 0 for free drag, 1 for position drag, 2 for pose drag |
Request Example:
{
"dragInPosMode": 0
}Controller Replies Six-Axis Force/Torque Sensor Admittance Drag Parameters to Host Computer
Command: 0x4090
| Parameter Name | Type | Range | Description |
|---|---|---|---|
| dragDamper | double[6] | First 3 [0,100], last 3 [0,50] | Damping coefficient list, under Cartesian coordinate system XYZABC |
| dragInPosMaxAngleVel | double | (0,90] | Drag maximum angular velocity, unit: deg/s |
| dragInPosMaxVel | double | (0,2] | Drag maximum linear velocity, unit: m/s |
| dragInPosMode | int | [0,2] | Drag mode: 0 for free drag, 1 for position drag, 2 for pose drag |
| dragMass | double[6] | First 3 [5,100], last 3 [0.3,30] | Mass coefficient list |
| dragChangeRate | double[6] | - | Change rate threshold |
| dragTh.xyz | double | - | Position start threshold |
| dragTh.abc | double | - | Attitude start threshold |
Response Example:
{
"dragDamper": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"dragInPosMaxAngleVel": 5.0,
"dragInPosMaxVel": 2.0,
"dragInPosMode": 0,
"dragMass": [5.0, 5.0, 5.0, 0.30, 0.30, 0.30],
"dragChangeRate": [10, 10, 10, 5, 5, 5],
"dragTh": {
"xyz": 5,
"abc": 1
}
}Joint Torque Sensor Drag
Set Joint Sensor Parameters
Command: 0x4636
| Parameter Name | Type | Description |
|---|---|---|
| jointSensorSwitch | bool | Enable sensor |
Request Example:
{
"jointSensorSwitch": true
}Get Sensor Parameters
Command: 0x4637
Request Example:
{}Return Sensor Parameters
Command: 0x4638
| Parameter Name | Type | Description |
|---|---|---|
| jointSensorSwitch | bool | Sensor enabled: true for enabled, false for not enabled |
Response Example:
{
"jointSensorSwitch": true
}Get Sensor Data
Command: 0x4639
Request Example:
{}Return Sensor Data
Command: 0x463A
| Parameter Name | Type | Description |
|---|---|---|
| jointSensorConnect | bool | Sensor connection status: true for connected, false for not connected |
| axis1Data | double | Axis 1 sensor data |
| axis2Data | double | Axis 2 sensor data |
| axis3Data | double | Axis 3 sensor data |
| axis4Data | double | Axis 4 sensor data |
| axis5Data | double | Axis 5 sensor data |
| axis6Data | double | Axis 6 sensor data |
Response Example:
{
"jointSensorConnect": true,
"axis1Data": 1,
"axis2Data": 1,
"axis3Data": 1,
"axis4Data": 1,
"axis5Data": 1,
"axis6Data": 1
}