Appearance
遥操作
3D鼠标
上位机设置3D鼠标参数
命令字: 0x4600
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| ABC | int | [4,6] | 姿态控制:4表示已选中A,5表示已选中B,6表示已选中C |
| mouseSen | double[4] | [0,300] | 3D鼠标灵敏度列表,分别为X方向灵敏度、Y方向灵敏度、Z方向灵敏度、姿态灵敏度 |
请求示例:
json
{
"ABC": 4,
"mouseSen": [128.0, 128.0, 128.0, 128.0]
}上位机查询3D鼠标参数
命令字: 0x4601
请求示例:
json
{}控制器回复上位机3D鼠标参数
命令字: 0x4602
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| ABC | int | [4,6] | 姿态控制:4表示已选中A,5表示已选中B,6表示已选中C |
| enable | bool | - | 3D鼠标使能 |
| mouseSen | double[4] | [0,300] | 3D鼠标灵敏度列表,分别为X/Y/Z方向灵敏度和姿态灵敏度 |
响应示例:
json
{
"ABC": 4,
"enable": false,
"mouseSen": [128.0, 128.0, 128.0, 128.0]
}上位机请求标记3D鼠标零点
命令字: 0x4603
请求示例:
json
{}上位机查询3D鼠标零点标记状态
命令字: 0x4604
请求示例:
json
{}控制器回复上位机3D鼠标零点标记状态
命令字: 0x4605
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| zeroTagged | int | [0,1] | 3D鼠标零点标记状态:0表示未标记,1表示已标记 |
响应示例:
json
{
"zeroTagged": 0
}上位机请求标记3D鼠标正方向
命令字: 0x4606
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| axis | int | [1,3] | 标记的方向:1表示X方向,2表示Y方向,3表示Z方向 |
请求示例:
json
{
"axis": 1
}上位机查询3D鼠标标记正方向状态
命令字: 0x4607
请求示例:
json
{}控制器回复上位机3D鼠标标记正方向状态
命令字: 0x4608
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| xTagged | int | [0,2] | X正方向标记状态:0表示未标定,1表示已标定,2表示通讯失败 |
| yTagged | int | [0,2] | Y正方向标记状态:0表示未标定,1表示已标定,2表示通讯失败 |
| zTagged | int | [0,2] | Z正方向标记状态:0表示未标定,1表示已标定,2表示通讯失败 |
响应示例:
json
{
"xTagged": 2,
"yTagged": 0,
"zTagged": 0
}上位机设置3D鼠标参数页面返回
命令字: 0x4609
| 参数名 | 类型 | 说明 |
|---|---|---|
| pageBack | int | 上位机页面离开3D鼠标参数页面 |
请求示例:
json
{
"pageBack": 1
}上位机设置3D鼠标端口号
命令字: 0x460A
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| port | int | [1,10] | 3D鼠标端口号 |
请求示例:
json
{
"port": 1
}上位机查询3D鼠标端口号
命令字: 0x460B
请求示例:
json
{}控制器回复上位机3D鼠标端口号
命令字: 0x460C
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| port | int | [1,10] | 3D鼠标端口号 |
响应示例:
json
{
"port": 1
}六维力传感器
说明
六维力传感器安装在机器人末端,通过传感器末端感应区获取受力的变化。
六维力传感器的基础参数在0x4000里设置,包括有传感器质量和质心,标零计算前需要提前写入,否则会导致标零计算结果错误。
使用六维力传感器进行力矩拖拽和位置拖拽需要在安装好传感器后进行空载标零,若需要安装额外拖把,则需要在标零后进行负载计算。
使用六维力传感器进行力矩拖拽,在各轴扭矩转换数据超出关节摩擦力补偿阈值时进行摩擦力补偿。
上位机请求计算六维力传感器负载参数
命令字: 0x4620
请求示例:
json
{}上位机查询六维力传感器负载参数的计算结果
命令字: 0x4621
请求示例:
json
{}控制器回复上位机六维力传感器计算的负载参数
命令字: 0x4622
| 参数名 | 类型 | 单位 | 说明 |
|---|---|---|---|
| isFinished | bool | - | 负载计算轨迹是否运行结束(仅回复0x4620时存在) |
| runSuccess | bool | - | 负载参数是否计算成功(仅回复0x4620时存在) |
| payloadMass | double | kg | 计算得到的负载块质量(仅回复0x4621时存在) |
| payloadMassCenterX | double | m | 计算得到的负载块质心X(仅回复0x4621时存在) |
| payloadMassCenterY | double | m | 计算得到的负载块质心Y(仅回复0x4621时存在) |
| payloadMassCenterZ | double | m | 计算得到的负载块质心Z(仅回复0x4621时存在) |
响应示例:
json
{
"isFinished": true,
"runSuccess": true,
"payloadMass": 0.0,
"payloadMassCenterX": 0.0,
"payloadMassCenterY": 0.0,
"payloadMassCenterZ": 0.0
}上位机查询六维力传感器数据
命令字: 0x4623
请求示例:
json
{}控制器回复上位机六维力传感器数据
命令字: 0x4624
| 参数名 | 类型 | 单位 | 说明 |
|---|---|---|---|
| fxData | double | N | 传感器X方向受力原始数据 |
| fyData | double | N | 传感器Y方向受力原始数据 |
| fzData | double | N | 传感器Z方向受力原始数据 |
| mxData | double | Nm | 传感器X方向力矩原始数据 |
| myData | double | Nm | 传感器Y方向力矩原始数据 |
| mzData | double | Nm | 传感器Z方向力矩原始数据 |
| peelOffValue | object | - | 传感器去皮数据,传感器标零后该节点存在 |
| fxDataSubBase | double | N | 传感器X方向受力去皮数据 |
| fyDataSubBase | double | N | 传感器Y方向受力去皮数据 |
| fzDataSubBase | double | N | 传感器Z方向受力去皮数据 |
| mxDataSubBase | double | Nm | 传感器X方向力矩去皮数据 |
| myDataSubBase | double | Nm | 传感器Y方向力矩去皮数据 |
| mzDataSubBase | double | Nm | 传感器Z方向力矩去皮数据 |
| sensorConnect | bool | - | 传感器连接状态:true表示已连接,false表示未连接 |
| torqueConvertData | object | - | 六维力传感器额外力导致的各轴扭矩值,机器人进入力矩拖拽时该节点存在 |
| axis1Data | double | ‰ | 1轴扭矩转换数据 |
| axis2Data | double | ‰ | 2轴扭矩转换数据 |
| axis3Data | double | ‰ | 3轴扭矩转换数据 |
| axis4Data | double | ‰ | 4轴扭矩转换数据 |
| axis5Data | double | ‰ | 5轴扭矩转换数据 |
| axis6Data | double | ‰ | 6轴扭矩转换数据 |
响应示例:
json
{
"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
}
}上位机请求六维力传感器标零
命令字: 0x4625
请求示例:
json
{}控制器回复上位机六维力传感器标零结果
命令字: 0x4626
| 参数名 | 类型 | 说明 |
|---|---|---|
| isFinished | bool | 标零轨迹是否运行结束 |
| isSaved | bool | 标零数据是否保存成功 |
响应示例:
json
{
"isFinished": true,
"isSaved": true
}上位机请求将六维力传感器负载计算结果存入到工具手
命令字: 0x4627
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| targetTool | int | [1,999] | 要存入到的工具手号 |
请求示例:
json
{
"targetTool": 5
}控制器回复上位机六维力传感器负载计算结果存入到工具手结果
命令字: 0x4628
| 参数名 | 类型 | 说明 |
|---|---|---|
| result | bool | 数据存入是否成功 |
响应示例:
json
{
"result": true
}上位机设置关节摩擦力补偿阈值
命令字: 0x4629
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| sensorJointThreshold1 | int | [1,999999] | 1轴关节摩擦力补偿阈值 |
| sensorJointThreshold2 | int | [1,999999] | 2轴关节摩擦力补偿阈值 |
| sensorJointThreshold3 | int | [1,999999] | 3轴关节摩擦力补偿阈值 |
| sensorJointThreshold4 | int | [1,999999] | 4轴关节摩擦力补偿阈值 |
| sensorJointThreshold5 | int | [1,999999] | 5轴关节摩擦力补偿阈值 |
| sensorJointThreshold6 | int | [1,999999] | 6轴关节摩擦力补偿阈值 |
请求示例:
json
{
"sensorJointThreshold1": 50,
"sensorJointThreshold2": 50,
"sensorJointThreshold3": 50,
"sensorJointThreshold4": 50,
"sensorJointThreshold5": 50,
"sensorJointThreshold6": 50
}上位机查询关节摩擦力补偿系数
命令字: 0x462A
请求示例:
json
{}控制器回复上位机关节摩擦力补偿系数
命令字: 0x462B
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| sensorJointThreshold1 | int | [1,999999] | 1轴关节摩擦力补偿阈值 |
| sensorJointThreshold2 | int | [1,999999] | 2轴关节摩擦力补偿阈值 |
| sensorJointThreshold3 | int | [1,999999] | 3轴关节摩擦力补偿阈值 |
| sensorJointThreshold4 | int | [1,999999] | 4轴关节摩擦力补偿阈值 |
| sensorJointThreshold5 | int | [1,999999] | 5轴关节摩擦力补偿阈值 |
| sensorJointThreshold6 | int | [1,999999] | 6轴关节摩擦力补偿阈值 |
响应示例:
json
{
"sensorJointThreshold1": 50,
"sensorJointThreshold2": 50,
"sensorJointThreshold3": 50,
"sensorJointThreshold4": 50,
"sensorJointThreshold5": 50,
"sensorJointThreshold6": 50
}上位机设置传感器基础参数
命令字: 0x4630
| 参数名 | 类型 | 说明 |
|---|---|---|
| sensorMass | double | 传感器质量 |
| sensorMassCenterX | double | 传感器质心X |
| sensorMassCenterY | double | 传感器质心Y |
| sensorMassCenterZ | double | 传感器质心Z |
请求示例:
json
{
"sensorMass": 0,
"sensorMassCenterX": 0,
"sensorMassCenterY": 0,
"sensorMassCenterZ": 0
}上位机获取传感器基础参数
命令字: 0x4631
请求示例:
json
{}控制器回复传感器基础参数
命令字: 0x4632
| 参数名 | 类型 | 说明 |
|---|---|---|
| sensorMass | double | 传感器质量 |
| sensorMassCenterX | double | 传感器质心X |
| sensorMassCenterY | double | 传感器质心Y |
| sensorMassCenterZ | double | 传感器质心Z |
响应示例:
json
{
"sensorMass": 0,
"sensorMassCenterX": 0,
"sensorMassCenterY": 0,
"sensorMassCenterZ": 0
}传感器去皮数据清零
命令字: 0x4633
请求示例:
json
{}传感器数据标定
命令字: 0x4634
请求示例:
json
{}控制器回复传感器数据标定结果
命令字: 0x4635
| 参数名 | 类型 | 说明 |
|---|---|---|
| runSuccess | bool | 轨迹运行结果 |
| isFinished | bool | 标定结束 |
响应示例:
json
{
"runSuccess": true,
"isFinished": true
}上位机设置六维力传感器通讯参数
命令字: 0x462C
| 参数名 | 类型 | 范围/取值 | 说明 |
|---|---|---|---|
| etherCat.mapNum | int | - | 已选择通讯设备号:0表示未选择 |
| modbus.RTU.endian | int | [0,3] | FLOAT大小端:0表示AB CD,1表示CD AB,2表示BA DC,3表示DC BA |
| modbus.RTU.checkBit | string | 'N','E','O' | 校验位 |
| modbus.RTU.dataBit | int | [5,8] | 数据位 |
| modbus.RTU.stopBit | int | [1,2] | 停止位 |
| modbus.RTU.addressNum | int | [0,125] | 从站地址个数 |
| modbus.RTU.addressType | int | [0,1] | 地址类型:0表示3x,1表示4x |
| modbus.RTU.baudRate | int | - | 波特率 |
| modbus.RTU.firstAddress | int | (0,65535] | 寄存器首地址 |
| modbus.RTU.port | int | (0,65535] | 端口号 |
| modbus.RTU.slaveID | int | (0,65535] | 从站ID |
| modbus.TCP.IP | string | - | IP地址 |
| modbus.TCP.port | int | (0,65535] | 端口号 |
| modbus.TCP.addressType | int | [0,1] | 地址类型:0表示3x,1表示4x |
| modbus.TCP.firstAddress | int | [0,65535] | 寄存器首地址 |
| modbus.TCP.addressNum | int | [0,125] | 从站地址个数 |
| modbus.TCP.endian | int | [0,3] | FLOAT大小端:0表示AB CD,1表示CD AB,2表示BA DC,3表示DC BA |
| YDirection | int | 1/-1 | 传感器Y方向:1表示Y正方向朝左,-1表示Y正方向朝右 |
| originDataInitialPara | int | [0,999] | 原始数据起始变量:0表示无,其他数值表示存放到全局变量位置,依次存放六个传感器原始数据 |
| sensorCommunicationType | int | [0,1] | 传感器通讯类型:0表示etherCat,1表示Modbus RTU |
| sensorConnectStatus | bool | - | 传感器通讯使能(该节点可单独进行设置) |
| sensorDragEnable | bool | - | 传感器拖拽使能:false表示传感器数据不参与力矩拖拽计算 |
| startupAutoConnectSensor | bool | - | 开机连接传感器 |
请求示例:
json
{
"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
}上位机查询六维力传感器通讯参数
命令字: 0x462D
请求示例:
json
{}控制器回复上位机六维力传感器通讯参数
命令字: 0x462E
| 参数名 | 类型 | 范围/取值 | 说明 |
|---|---|---|---|
| etherCat.mapNum | int | - | 已选择通讯设备号:0表示未选择 |
| modbus.RTU.endian | int | [0,3] | FLOAT大小端:0表示AB CD,1表示CD AB,2表示BA DC,3表示DC BA |
| modbus.RTU.checkBit | string | 'N','E','O' | 校验位 |
| modbus.RTU.dataBit | int | [5,8] | 数据位 |
| modbus.RTU.stopBit | int | [1,2] | 停止位 |
| modbus.RTU.addressNum | int | [0,125] | 从站地址个数 |
| modbus.RTU.addressType | int | [0,1] | 地址类型:0表示3x,1表示4x |
| modbus.RTU.baudRate | int | - | 波特率 |
| modbus.RTU.firstAddress | int | (0,65535] | 寄存器首地址 |
| modbus.RTU.port | int | (0,65535] | 端口号 |
| modbus.RTU.slaveID | int | (0,65535] | 从站ID |
| modbus.TCP.IP | string | - | IP地址 |
| modbus.TCP.port | int | (0,65535] | 端口号 |
| modbus.TCP.addressType | int | [0,1] | 地址类型:0表示3x,1表示4x |
| modbus.TCP.firstAddress | int | [0,65535] | 寄存器首地址 |
| modbus.TCP.addressNum | int | [0,125] | 从站地址个数 |
| modbus.TCP.endian | int | [0,3] | FLOAT大小端:0表示AB CD,1表示CD AB,2表示BA DC,3表示DC BA |
| YDirection | int | 1/-1 | 传感器Y方向:1表示Y正方向朝左,-1表示Y正方向朝右 |
| originDataInitialPara | int | [0,999] | 原始数据起始变量:0表示无,其他数值表示存放到全局变量位置,依次存放六个传感器原始数据 |
| sensorCommunicationType | int | [0,1] | 传感器通讯类型:0表示etherCat,1表示Modbus RTU |
| sensorConnectStatus | bool | - | 传感器通讯使能(该节点可单独进行设置) |
| sensorDragEnable | bool | - | 传感器拖拽使能:false表示传感器数据不参与力矩拖拽计算 |
| startupAutoConnectSensor | bool | - | 开机连接传感器 |
响应示例:
json
{
"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
}上位机设置六维力传感器导纳拖拽参数
命令字: 0x408E
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| dragDamper | double[6] | 前三位[0,100],后三位[0,50] | 阻尼系数列表,直角坐标系下XYZABC |
| dragInPosMaxAngleVel | double | (0,90] | 拖拽最大角速度,单位:°/s |
| dragInPosMaxVel | double | (0,2] | 拖拽最大线速度,单位:m/s |
| dragInPosMode | int | [0,2] | 拖动模式:0表示自由拖动,1表示位置拖动,2表示位姿拖动 |
| dragMass | double[6] | 前三位[5,100],后三位[0.3,30] | 质量系数列表 |
| dragChangeRate | double[6] | - | 变化率阈值 |
| dragTh.xyz | double | - | 位置启动阈值 |
| dragTh.abc | double | - | 姿态启动阈值 |
请求示例:
json
{
"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
}
}上位机查询六维力传感器导纳拖拽参数
命令字: 0x408F
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| dragInPosMode | int | [0,2] | 拖动模式:0表示自由拖动,1表示位置拖动,2表示位姿拖动 |
请求示例:
json
{
"dragInPosMode": 0
}控制器回复上位机六维力传感器导纳拖拽参数
命令字: 0x4090
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| dragDamper | double[6] | 前三位[0,100],后三位[0,50] | 阻尼系数列表,直角坐标系下XYZABC |
| dragInPosMaxAngleVel | double | (0,90] | 拖拽最大角速度,单位:°/s |
| dragInPosMaxVel | double | (0,2] | 拖拽最大线速度,单位:m/s |
| dragInPosMode | int | [0,2] | 拖动模式:0表示自由拖动,1表示位置拖动,2表示位姿拖动 |
| dragMass | double[6] | 前三位[5,100],后三位[0.3,30] | 质量系数列表 |
| dragChangeRate | double[6] | - | 变化率阈值 |
| dragTh.xyz | double | - | 位置启动阈值 |
| dragTh.abc | double | - | 姿态启动阈值 |
响应示例:
json
{
"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
}
}关节扭矩传感器拖拽
设置关节传感器参数
命令字: 0x4636
| 参数名 | 类型 | 说明 |
|---|---|---|
| jointSensorSwitch | bool | 开启传感器 |
请求示例:
json
{
"jointSensorSwitch": true
}获取传感器参数
命令字: 0x4637
请求示例:
json
{}返回传感器参数
命令字: 0x4638
| 参数名 | 类型 | 说明 |
|---|---|---|
| jointSensorSwitch | bool | 传感器已开启:true表示开启,false表示未开启 |
响应示例:
json
{
"jointSensorSwitch": true
}获取传感器数据
命令字: 0x4639
请求示例:
json
{}返回传感器数据
命令字: 0x463A
| 参数名 | 类型 | 说明 |
|---|---|---|
| jointSensorConnect | bool | 传感器连接状态:true表示连接,false表示未连接 |
| axis1Data | double | 一轴传感器数据 |
| axis2Data | double | 二轴传感器数据 |
| axis3Data | double | 三轴传感器数据 |
| axis4Data | double | 四轴传感器数据 |
| axis5Data | double | 五轴传感器数据 |
| axis6Data | double | 六轴传感器数据 |
响应示例:
json
{
"jointSensorConnect": true,
"axis1Data": 1,
"axis2Data": 1,
"axis3Data": 1,
"axis4Data": 1,
"axis5Data": 1,
"axis6Data": 1
}