Skip to content

遥操作

3D鼠标

上位机设置3D鼠标参数

命令字: 0x4600

参数名类型范围说明
ABCint[4,6]姿态控制:4表示已选中A,5表示已选中B,6表示已选中C
mouseSendouble[4][0,300]3D鼠标灵敏度列表,分别为X方向灵敏度、Y方向灵敏度、Z方向灵敏度、姿态灵敏度

请求示例:

json
{
  "ABC": 4,
  "mouseSen": [128.0, 128.0, 128.0, 128.0]
}

上位机查询3D鼠标参数

命令字: 0x4601

请求示例:

json
{}

控制器回复上位机3D鼠标参数

命令字: 0x4602

参数名类型范围说明
ABCint[4,6]姿态控制:4表示已选中A,5表示已选中B,6表示已选中C
enablebool-3D鼠标使能
mouseSendouble[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

参数名类型范围说明
zeroTaggedint[0,1]3D鼠标零点标记状态:0表示未标记,1表示已标记

响应示例:

json
{
  "zeroTagged": 0
}

上位机请求标记3D鼠标正方向

命令字: 0x4606

参数名类型范围说明
axisint[1,3]标记的方向:1表示X方向,2表示Y方向,3表示Z方向

请求示例:

json
{
  "axis": 1
}

上位机查询3D鼠标标记正方向状态

命令字: 0x4607

请求示例:

json
{}

控制器回复上位机3D鼠标标记正方向状态

命令字: 0x4608

参数名类型范围说明
xTaggedint[0,2]X正方向标记状态:0表示未标定,1表示已标定,2表示通讯失败
yTaggedint[0,2]Y正方向标记状态:0表示未标定,1表示已标定,2表示通讯失败
zTaggedint[0,2]Z正方向标记状态:0表示未标定,1表示已标定,2表示通讯失败

响应示例:

json
{
  "xTagged": 2,
  "yTagged": 0,
  "zTagged": 0
}

上位机设置3D鼠标参数页面返回

命令字: 0x4609

参数名类型说明
pageBackint上位机页面离开3D鼠标参数页面

请求示例:

json
{
  "pageBack": 1
}

上位机设置3D鼠标端口号

命令字: 0x460A

参数名类型范围说明
portint[1,10]3D鼠标端口号

请求示例:

json
{
  "port": 1
}

上位机查询3D鼠标端口号

命令字: 0x460B

请求示例:

json
{}

控制器回复上位机3D鼠标端口号

命令字: 0x460C

参数名类型范围说明
portint[1,10]3D鼠标端口号

响应示例:

json
{
  "port": 1
}

六维力传感器

说明

六维力传感器安装在机器人末端,通过传感器末端感应区获取受力的变化。

六维力传感器的基础参数在0x4000里设置,包括有传感器质量和质心,标零计算前需要提前写入,否则会导致标零计算结果错误。

使用六维力传感器进行力矩拖拽和位置拖拽需要在安装好传感器后进行空载标零,若需要安装额外拖把,则需要在标零后进行负载计算。

使用六维力传感器进行力矩拖拽,在各轴扭矩转换数据超出关节摩擦力补偿阈值时进行摩擦力补偿。

上位机请求计算六维力传感器负载参数

命令字: 0x4620

请求示例:

json
{}

上位机查询六维力传感器负载参数的计算结果

命令字: 0x4621

请求示例:

json
{}

控制器回复上位机六维力传感器计算的负载参数

命令字: 0x4622

参数名类型单位说明
isFinishedbool-负载计算轨迹是否运行结束(仅回复0x4620时存在)
runSuccessbool-负载参数是否计算成功(仅回复0x4620时存在)
payloadMassdoublekg计算得到的负载块质量(仅回复0x4621时存在)
payloadMassCenterXdoublem计算得到的负载块质心X(仅回复0x4621时存在)
payloadMassCenterYdoublem计算得到的负载块质心Y(仅回复0x4621时存在)
payloadMassCenterZdoublem计算得到的负载块质心Z(仅回复0x4621时存在)

响应示例:

json
{
  "isFinished": true,
  "runSuccess": true,
  "payloadMass": 0.0,
  "payloadMassCenterX": 0.0,
  "payloadMassCenterY": 0.0,
  "payloadMassCenterZ": 0.0
}

上位机查询六维力传感器数据

命令字: 0x4623

请求示例:

json
{}

控制器回复上位机六维力传感器数据

命令字: 0x4624

参数名类型单位说明
fxDatadoubleN传感器X方向受力原始数据
fyDatadoubleN传感器Y方向受力原始数据
fzDatadoubleN传感器Z方向受力原始数据
mxDatadoubleNm传感器X方向力矩原始数据
myDatadoubleNm传感器Y方向力矩原始数据
mzDatadoubleNm传感器Z方向力矩原始数据
peelOffValueobject-传感器去皮数据,传感器标零后该节点存在
fxDataSubBasedoubleN传感器X方向受力去皮数据
fyDataSubBasedoubleN传感器Y方向受力去皮数据
fzDataSubBasedoubleN传感器Z方向受力去皮数据
mxDataSubBasedoubleNm传感器X方向力矩去皮数据
myDataSubBasedoubleNm传感器Y方向力矩去皮数据
mzDataSubBasedoubleNm传感器Z方向力矩去皮数据
sensorConnectbool-传感器连接状态:true表示已连接,false表示未连接
torqueConvertDataobject-六维力传感器额外力导致的各轴扭矩值,机器人进入力矩拖拽时该节点存在
axis1Datadouble1轴扭矩转换数据
axis2Datadouble2轴扭矩转换数据
axis3Datadouble3轴扭矩转换数据
axis4Datadouble4轴扭矩转换数据
axis5Datadouble5轴扭矩转换数据
axis6Datadouble6轴扭矩转换数据

响应示例:

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

参数名类型说明
isFinishedbool标零轨迹是否运行结束
isSavedbool标零数据是否保存成功

响应示例:

json
{
  "isFinished": true,
  "isSaved": true
}

上位机请求将六维力传感器负载计算结果存入到工具手

命令字: 0x4627

参数名类型范围说明
targetToolint[1,999]要存入到的工具手号

请求示例:

json
{
  "targetTool": 5
}

控制器回复上位机六维力传感器负载计算结果存入到工具手结果

命令字: 0x4628

参数名类型说明
resultbool数据存入是否成功

响应示例:

json
{
  "result": true
}

上位机设置关节摩擦力补偿阈值

命令字: 0x4629

参数名类型范围说明
sensorJointThreshold1int[1,999999]1轴关节摩擦力补偿阈值
sensorJointThreshold2int[1,999999]2轴关节摩擦力补偿阈值
sensorJointThreshold3int[1,999999]3轴关节摩擦力补偿阈值
sensorJointThreshold4int[1,999999]4轴关节摩擦力补偿阈值
sensorJointThreshold5int[1,999999]5轴关节摩擦力补偿阈值
sensorJointThreshold6int[1,999999]6轴关节摩擦力补偿阈值

请求示例:

json
{
  "sensorJointThreshold1": 50,
  "sensorJointThreshold2": 50,
  "sensorJointThreshold3": 50,
  "sensorJointThreshold4": 50,
  "sensorJointThreshold5": 50,
  "sensorJointThreshold6": 50
}

上位机查询关节摩擦力补偿系数

命令字: 0x462A

请求示例:

json
{}

控制器回复上位机关节摩擦力补偿系数

命令字: 0x462B

参数名类型范围说明
sensorJointThreshold1int[1,999999]1轴关节摩擦力补偿阈值
sensorJointThreshold2int[1,999999]2轴关节摩擦力补偿阈值
sensorJointThreshold3int[1,999999]3轴关节摩擦力补偿阈值
sensorJointThreshold4int[1,999999]4轴关节摩擦力补偿阈值
sensorJointThreshold5int[1,999999]5轴关节摩擦力补偿阈值
sensorJointThreshold6int[1,999999]6轴关节摩擦力补偿阈值

响应示例:

json
{
  "sensorJointThreshold1": 50,
  "sensorJointThreshold2": 50,
  "sensorJointThreshold3": 50,
  "sensorJointThreshold4": 50,
  "sensorJointThreshold5": 50,
  "sensorJointThreshold6": 50
}

上位机设置传感器基础参数

命令字: 0x4630

参数名类型说明
sensorMassdouble传感器质量
sensorMassCenterXdouble传感器质心X
sensorMassCenterYdouble传感器质心Y
sensorMassCenterZdouble传感器质心Z

请求示例:

json
{
  "sensorMass": 0,
  "sensorMassCenterX": 0,
  "sensorMassCenterY": 0,
  "sensorMassCenterZ": 0
}

上位机获取传感器基础参数

命令字: 0x4631

请求示例:

json
{}

控制器回复传感器基础参数

命令字: 0x4632

参数名类型说明
sensorMassdouble传感器质量
sensorMassCenterXdouble传感器质心X
sensorMassCenterYdouble传感器质心Y
sensorMassCenterZdouble传感器质心Z

响应示例:

json
{
  "sensorMass": 0,
  "sensorMassCenterX": 0,
  "sensorMassCenterY": 0,
  "sensorMassCenterZ": 0
}

传感器去皮数据清零

命令字: 0x4633

请求示例:

json
{}

传感器数据标定

命令字: 0x4634

请求示例:

json
{}

控制器回复传感器数据标定结果

命令字: 0x4635

参数名类型说明
runSuccessbool轨迹运行结果
isFinishedbool标定结束

响应示例:

json
{
  "runSuccess": true,
  "isFinished": true
}

上位机设置六维力传感器通讯参数

命令字: 0x462C

参数名类型范围/取值说明
etherCat.mapNumint-已选择通讯设备号:0表示未选择
modbus.RTU.endianint[0,3]FLOAT大小端:0表示AB CD,1表示CD AB,2表示BA DC,3表示DC BA
modbus.RTU.checkBitstring'N','E','O'校验位
modbus.RTU.dataBitint[5,8]数据位
modbus.RTU.stopBitint[1,2]停止位
modbus.RTU.addressNumint[0,125]从站地址个数
modbus.RTU.addressTypeint[0,1]地址类型:0表示3x,1表示4x
modbus.RTU.baudRateint-波特率
modbus.RTU.firstAddressint(0,65535]寄存器首地址
modbus.RTU.portint(0,65535]端口号
modbus.RTU.slaveIDint(0,65535]从站ID
modbus.TCP.IPstring-IP地址
modbus.TCP.portint(0,65535]端口号
modbus.TCP.addressTypeint[0,1]地址类型:0表示3x,1表示4x
modbus.TCP.firstAddressint[0,65535]寄存器首地址
modbus.TCP.addressNumint[0,125]从站地址个数
modbus.TCP.endianint[0,3]FLOAT大小端:0表示AB CD,1表示CD AB,2表示BA DC,3表示DC BA
YDirectionint1/-1传感器Y方向:1表示Y正方向朝左,-1表示Y正方向朝右
originDataInitialParaint[0,999]原始数据起始变量:0表示无,其他数值表示存放到全局变量位置,依次存放六个传感器原始数据
sensorCommunicationTypeint[0,1]传感器通讯类型:0表示etherCat,1表示Modbus RTU
sensorConnectStatusbool-传感器通讯使能(该节点可单独进行设置)
sensorDragEnablebool-传感器拖拽使能:false表示传感器数据不参与力矩拖拽计算
startupAutoConnectSensorbool-开机连接传感器

请求示例:

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.mapNumint-已选择通讯设备号:0表示未选择
modbus.RTU.endianint[0,3]FLOAT大小端:0表示AB CD,1表示CD AB,2表示BA DC,3表示DC BA
modbus.RTU.checkBitstring'N','E','O'校验位
modbus.RTU.dataBitint[5,8]数据位
modbus.RTU.stopBitint[1,2]停止位
modbus.RTU.addressNumint[0,125]从站地址个数
modbus.RTU.addressTypeint[0,1]地址类型:0表示3x,1表示4x
modbus.RTU.baudRateint-波特率
modbus.RTU.firstAddressint(0,65535]寄存器首地址
modbus.RTU.portint(0,65535]端口号
modbus.RTU.slaveIDint(0,65535]从站ID
modbus.TCP.IPstring-IP地址
modbus.TCP.portint(0,65535]端口号
modbus.TCP.addressTypeint[0,1]地址类型:0表示3x,1表示4x
modbus.TCP.firstAddressint[0,65535]寄存器首地址
modbus.TCP.addressNumint[0,125]从站地址个数
modbus.TCP.endianint[0,3]FLOAT大小端:0表示AB CD,1表示CD AB,2表示BA DC,3表示DC BA
YDirectionint1/-1传感器Y方向:1表示Y正方向朝左,-1表示Y正方向朝右
originDataInitialParaint[0,999]原始数据起始变量:0表示无,其他数值表示存放到全局变量位置,依次存放六个传感器原始数据
sensorCommunicationTypeint[0,1]传感器通讯类型:0表示etherCat,1表示Modbus RTU
sensorConnectStatusbool-传感器通讯使能(该节点可单独进行设置)
sensorDragEnablebool-传感器拖拽使能:false表示传感器数据不参与力矩拖拽计算
startupAutoConnectSensorbool-开机连接传感器

响应示例:

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

参数名类型范围说明
dragDamperdouble[6]前三位[0,100],后三位[0,50]阻尼系数列表,直角坐标系下XYZABC
dragInPosMaxAngleVeldouble(0,90]拖拽最大角速度,单位:°/s
dragInPosMaxVeldouble(0,2]拖拽最大线速度,单位:m/s
dragInPosModeint[0,2]拖动模式:0表示自由拖动,1表示位置拖动,2表示位姿拖动
dragMassdouble[6]前三位[5,100],后三位[0.3,30]质量系数列表
dragChangeRatedouble[6]-变化率阈值
dragTh.xyzdouble-位置启动阈值
dragTh.abcdouble-姿态启动阈值

请求示例:

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

参数名类型范围说明
dragInPosModeint[0,2]拖动模式:0表示自由拖动,1表示位置拖动,2表示位姿拖动

请求示例:

json
{
  "dragInPosMode": 0
}

控制器回复上位机六维力传感器导纳拖拽参数

命令字: 0x4090

参数名类型范围说明
dragDamperdouble[6]前三位[0,100],后三位[0,50]阻尼系数列表,直角坐标系下XYZABC
dragInPosMaxAngleVeldouble(0,90]拖拽最大角速度,单位:°/s
dragInPosMaxVeldouble(0,2]拖拽最大线速度,单位:m/s
dragInPosModeint[0,2]拖动模式:0表示自由拖动,1表示位置拖动,2表示位姿拖动
dragMassdouble[6]前三位[5,100],后三位[0.3,30]质量系数列表
dragChangeRatedouble[6]-变化率阈值
dragTh.xyzdouble-位置启动阈值
dragTh.abcdouble-姿态启动阈值

响应示例:

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

参数名类型说明
jointSensorSwitchbool开启传感器

请求示例:

json
{
  "jointSensorSwitch": true
}

获取传感器参数

命令字: 0x4637

请求示例:

json
{}

返回传感器参数

命令字: 0x4638

参数名类型说明
jointSensorSwitchbool传感器已开启:true表示开启,false表示未开启

响应示例:

json
{
  "jointSensorSwitch": true
}

获取传感器数据

命令字: 0x4639

请求示例:

json
{}

返回传感器数据

命令字: 0x463A

参数名类型说明
jointSensorConnectbool传感器连接状态:true表示连接,false表示未连接
axis1Datadouble一轴传感器数据
axis2Datadouble二轴传感器数据
axis3Datadouble三轴传感器数据
axis4Datadouble四轴传感器数据
axis5Datadouble五轴传感器数据
axis6Datadouble六轴传感器数据

响应示例:

json
{
  "jointSensorConnect": true,
  "axis1Data": 1,
  "axis2Data": 1,
  "axis3Data": 1,
  "axis4Data": 1,
  "axis5Data": 1,
  "axis6Data": 1
}