Skip to content

动力学

负载使能

  • 说明
  • 力矩拖拽时需要打开负载使能并修改实际力矩转换比
  • 实际力矩转换比为从Nm单位的值转换为伺服0x6077的值的比例关系,该比例关系通常由伺服厂家提供
  • 传感器参数由传感器厂家提供,质心X和质心Y通常为0,质心Z为传感器高度的一半
  • 上位机设置负载使能参数 命令字: 0x4000
  • "axis1_actual_torq_conversion_ratio":8.5470
  • 一轴实际力矩转换比;double类型
  • "axis2_actual_torq_conversion_ratio":8.6960
  • 二轴实际力矩转换比;double类型
  • "axis3_actual_torq_conversion_ratio":10.0
  • 三轴实际力矩转换比;double类型
  • "axis4_actual_torq_conversion_ratio":10.0
  • 四轴实际力矩转换比;double类型
  • "axis5_actual_torq_conversion_ratio":10.0
  • 五轴实际力矩转换比;double类型
  • "axis6_actual_torq_conversion_ratio":10.0
  • 六轴实际力矩转换比;double类型
  • "payload_enable":false
json
{
  "axis1_actual_torq_conversion_ratio":8.5470,
  "axis2_actual_torq_conversion_ratio":8.6960,
  "axis3_actual_torq_conversion_ratio":10.0,
  "axis4_actual_torq_conversion_ratio":10.0,
  "axis5_actual_torq_conversion_ratio":10.0,
  "axis6_actual_torq_conversion_ratio":10.0,
  "payload_enable":false
}
  • 负载使能;bool类型
  • 上位机查询负载使能参数
json
{}

命令字: 0x4001

  • 控制器回复上位机负载使能参数

查询负载使能参数(实际力矩转换比)

命令字: 0x4002

控制器回复

字段类型说明
axis1_actual_torq_conversion_ratiodouble一轴实际力矩转换比
axis2_actual_torq_conversion_ratiodouble二轴实际力矩转换比
axis3_actual_torq_conversion_ratiodouble三轴实际力矩转换比
axis4_actual_torq_conversion_ratiodouble四轴实际力矩转换比
axis5_actual_torq_conversion_ratiodouble五轴实际力矩转换比
axis6_actual_torq_conversion_ratiodouble六轴实际力矩转换比
payload_enablebool负载使能
json
{
  "axis1_actual_torq_conversion_ratio": 8.5470,
  "axis2_actual_torq_conversion_ratio": 8.6960,
  "axis3_actual_torq_conversion_ratio": 10.0,
  "axis4_actual_torq_conversion_ratio": 10.0,
  "axis5_actual_torq_conversion_ratio": 10.0,
  "axis6_actual_torq_conversion_ratio": 10.0,
  "payload_enable": false
}
  • 负载使能;bool类型
  • 上位机设置负载使能工艺号 命令字: 0x4003
  • "payload_num":1
json
{
  "payload_num":1
}
  • 负载使能工艺号;int类型
  • 控制器回复上位机负载使能工艺号 命令字: 0x4004
  • "payload_num":1
json
{
  "payload_num":1
}

外部按键

  • 负载使能工艺号;int类型
  • 说明
  • 可通过IO触发相应的功能,按队列顺序分别为拖拽模式、点动模式、开始轨迹采集、结束轨迹采集、开始轨迹回放、停止轨迹回放、上使能、下使能、夹爪开、夹爪关、保存轨迹、快捷指令1、快捷指令2、快捷指令3、快捷指令4、快捷指令5
  • 快捷指令范围[0,9],0表示未选择,1表示点到点指令,2表示直线指令,3表示圆弧指令,4表示整圆指令,5表示曲线指令,6表示焊接开始指令,7表示焊接结束指令,8表示摆焊开始指令,9表示摆焊结束指令
  • 上位机查询功能控制参数
json
{}

命令字: 0x4020

  • 控制器回复上位机功能控制参数 命令字: 0x4021
  • "IoInPortArr":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
  • 各功能触发端口列表;int类型
  • 范围为当前IO端口数,无IO时为0
  • "fastCommand":[0,0,0,0,0]
  • 快捷指令功能选择列表;int类型,范围[0,9]
  • "hardwareTypeArr":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
  • 触发硬件类型列表;int类型
  • 默认是IO触发
  • "isClearTrack":0
  • 保存后清除轨迹;int类型,范围[0,1]
  • 0表示清除,1表示不清除
  • "modeArr":[0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0]
  • 端口触发参数列表;int类型,范围[0,1]
  • "parameterArr":[0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0]
  • 端口触发方式列表;int类型,范围[0,2]
  • 0表示长按,1表示短按,2表示置位
  • "craft":{
  • "weldBeadSize":2
  • 多层多道焊当前焊道数;int类型;取值范围:1-99
  • "dragTeachSelectCraft":0
json
{
  "IoInPortArr":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
  "fastCommand":[0,0,0,0,0],
  "hardwareTypeArr":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
  "isClearTrack":0,
  "modeArr":[0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],
  "parameterArr":[0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],
  "craft":
  {
    "weldBeadSize":2
  },
  "dragTeachSelectCraft":0
}
  • 拖拽示教工艺选择;int类型;取值范围[0,1]
  • 上位机查询状态提示参数
json
{}

命令字: 0x4022

  • 控制器回复上位机状态提示参数 命令字: 0x4023
  • "IoDoutPortArr":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
  • 各功能触发端口列表;int类型
  • 范围为当前IO端口数,无IO时为0
  • "hardwareTypeArr":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
  • 触发硬件类型列表;int类型
  • 默认是IO触发
  • "parameterArr":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
json
{
  "IoDoutPortArr":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
  "hardwareTypeArr":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
  "parameterArr":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
}
  • 端口触发参数列表;int类型,范围[0,2]
  • 0表示0,1表示1,2表示闪烁
  • 上位机设置功能控制或状态提示参数 命令字: 0x4024
  • "_isFunctionalControl":true
  • 是否为功能控制参数;bool类型
  • true表示设置功能控制参数,false表示设置状态提示参数
  • "fastCommand":[0,0,0,0,0]
  • 快捷指令功能选择列表;int类型,范围[0,9]
  • "hardwareTypeArr":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
  • 触发硬件类型列表;int类型
  • 默认是IO触发
  • "isClearTrack":0
  • 保存后清除轨迹;int类型,范围[0,1]
  • 0表示清除,1表示不清除
  • "modeArr":[0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0]
  • 端口触发方式列表;int类型,范围[0,2]
  • 分别表示"长按""短按""置位"
  • "parameterArr":[0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0]
  • 端口触发参数列表;int类型
  • 功能控制时范围[0,1]
  • 状态提示参数时范围[0,2],2表示"闪烁"
  • "portArr":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
  • 各功能触发端口列表;int类型
  • 范围为当前IO端口数,无IO时为0
  • "dragTeachSelectCraft":0
json
{
  "_isFunctionalControl":true,
  "fastCommand":[0,0,0,0,0],
  "hardwareTypeArr":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
  "isClearTrack":0,
  "modeArr":[0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],
  "parameterArr":[0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],
  "portArr":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
  "dragTeachSelectCraft":0
}
  • 拖拽示教工艺选择;int类型;取值范围[0,1]
  • 控制器发送快捷插入指令 命令字: 0x4025
  • "fastCommandSelectd":1
  • 已选择快捷功能;int类型,范围[0,9]
  • 取值在[1,5]时"pos"和"posture"节点存在
  • "name":11
  • 快捷功能号;int类型,范围[11,15]
  • 分别表示快捷功能1~5
  • "pos":[0.0,0.0,0.0,0.0,0.0,0.0,0.0]
  • 插入指令位置信息列表;double类型
  • 长度为7
  • "posture":8
json
{
  "fastCommandSelectd":1,
  "name":11,
  "pos":[0.0,0.0,0.0,0.0,0.0,0.0,0.0],
  "posture":8
}

动力学参数

  • 插入指令位置姿态;int类型,范围[0,9]
  • 说明
  • 需要进行力矩拖拽时必须先进行一次动力学辨识
  • 上位机设置动力学参数 命令字: 0x4030
  • "Dyna_Param":[0,0,0,0,0,0,0,0,0,0,0,0]
  • 动力学参数列表;double 类型
  • 第1位表示质量,第2位表示质心X,第3位表示质心Y,第4位表示质心Z,第5位表示惯性张量XX,第6位表示惯性张量XY,第7位表示惯性张量XZ,第8位表示惯性张量YY,第9位表示惯性张量YZ,第10位表示惯性张量ZZ,第11位表示动摩擦系数,第12位表示静摩擦系数
  • "joint_num":6
json
{
  "Dyna_Param":[0,0,0,0,0,0,0,0,0,0,0,0],
  "joint_num":6
}
  • 机器人轴数;int 类型
  • 上位机查询动力学参数
json
{}

命令字: 0x4031

  • 控制器回复上位机动力学参数 命令字: 0x4032
  • "Dyna_Param":[0,0,0,0,0,0,0,0,0,0,0,0]
  • 动力学参数列表;double 类型
  • 第1位表示质量,第2位表示质心X,第3位表示质心Y,第4位表示质心Z,第5位表示惯性张量XX,第6位表示惯性张量XY,第7位表示惯性张量XZ,第8位表示惯性张量YY,第9位表示惯性张量YZ,第10位表示惯性张量ZZ,第11位表示动摩擦系数,第12位表示静摩擦系数
  • "joint_num":6
json
{
  "Dyna_Param":[0,0,0,0,0,0,0,0,0,0,0,0],
  "joint_num":6
}
  • 机器人轴数;int 类型
  • 上位机请求参数辨识
json
{}

命令字: 0x4033

  • 控制器回复上位机参数辨识结果 命令字: 0x4034
  • "finish":false
json
{
  "finish":false
}
  • 辨识结束;bool类型
  • 上位机请求开始辨识
json
{}

命令字: 0x4035

  • 控制器回复上位机辨识误差值 命令字: 0x4036
  • "error":[0.0,0.0,0.0,0.0,0.0,0.0]
json
{
  "error":[0.0,0.0,0.0,0.0,0.0,0.0]
}
  • 转矩误差列表;double类型
  • 控制器回复上位机辨识结果 命令字: 0x4037
  • "finish":1
json
{
  "finish":1
}
  • 辨识结果;int类型
  • 控制器辨识过程中错误停止发送给上位机 命令字: 0x4038
  • "ErrorStop":1
json
{
  "ErrorStop":1
}

负载辨识

  • 错误停止;int类型
  • 上位机请求负载辨识数据 命令字: 0x4040
  • data:无
  • 上位机请求辨识计算负载质量和质心 命令字: 0x4041
  • data:无
  • 上位机请求辨识计算惯量 命令字: 0x4042
  • data:无
  • 控制器回复负载辨识结果(负载质量和质心 / 惯量) 或负载数据 命令字: 0x4043
  • "result":true
  • 负载辨识结果;bool类型;
  • true:负载辨识成功(显示数据);false:负载辨识失败
  • "mass":3.6
  • 质量;double类型;kg
  • "massCenterX":0.53
  • 质心X;double类型;m
  • "massCenterY":2.3
  • 质心Y;double类型;m
  • "massCenterZ":1.3
  • 质心Z;double类型;m
  • "Ixx":0.0
  • 惯量X;double类型;kg·m²
  • "Iyy":0.0
  • 惯量Y;double类型;kg·m²
  • "Izz":0.0
json
{
"result":true,
"mass":3.6,
"massCenterX":0.53,
"massCenterY":2.3,
"massCenterZ":1.3,
"Ixx":0.0,
"Iyy":0.0,
"Izz":0.0
}
  • 惯量Z;double类型;kg·m²
  • 上位机请求保存负载数据到对应工具手 命令字: 0x4044
  • "targetTool":1
json
{
"targetTool":1
}
  • 需要保存到工具手号;int类型;取值范围[1,999]
  • 控制器回复保存负载数据到对应工具手 命令字: 0x4045
  • "result":true
json
"result":true
  • 保存是否成功;bool类型
  • true:保存成功;false:保存失败
  • 上位机请求空载辨识 命令字: 0x4046
  • data:无
  • 控制器回复回应空载辨识 命令字: 0x4047
  • "result":true
json
{
"result":true
}
  • 空载辨识结果;bool类型;
  • true:空载辨识成功;false:空载辨识失败
  • 上位机请求下载空载配置文件数据 命令字: 0x4048
  • data:无
  • 控制器回复下载空载配置文件数据 命令字: 0x4049
  • "name":"config/identification_xxxxx.json"
json
{
"name":"config/identification_xxxxx.json"
}

软浮动参数

  • 配置文件在控制器的路径;string类型
  • xxxx为bios获取的时间
  • 上位机获取软浮动参数 命令字: 0x404A
  • "softfloat":{}
  • "num":0
json
{
  "softfloat":
  {
    "num":0
  }
}
  • 含义对应1-9个参数的工艺号;类型int;取值范围[0-8]
  • 控制器回复软浮动参数 命令字: 0x404B
  • "softfloat":{}
  • "num":0
  • 含义对应1-9个参数的工艺号;类型int;取值范围[0-8]
  • "percentage"[j][k]:[]
  • 含义对应 关节 直角 工具 用户;类型int;范围j(0-3) k(0-6)
  • 每种坐标系中分别的柔软度百分比(例:关节 j1 j2 j3 ...;直角 X Y Z A..)
  • "coord":0
  • 含义对应 工艺号选择的坐标系类型(关节 直角 工具 用户); 类型int;范围0-3
  • "note":"xxxx"
json
{
  "softfloat":
  {
    "num":0,
    "percentage":
    [
      [],[]......
    ]
    "coord":0,
    "note":"xxxx"
  }
}
  • 含义注释;类型string
  • 上位机发送设置软浮动参数
  • 0x404C
  • "softfloat":{}
  • "num":0
  • 含义对应1-9个参数的工艺号;类型int;取值范围[0-8]
  • "percentage"[j]:[]
  • 含义对应 关节 直角 工具 用户;类型int;范围j(0-3)
  • 每种坐标系中分别的柔软度百分比
  • "coord":0
  • 含义对应 工艺号选择的坐标系类型(关节 直角 工具 用户); 类型int;范围0-3
  • "note":"xxxx"
json
{
  "softfloat":
  {
    "num":0,
    "percentage":
    [
      ......
    ]
    "coord":0,
    "note":"xxxx"
  }
}

安全状态

  • 含义注释;类型string
  • 上位机查询安全状态(测试辨识轨迹是否安全)
json
{}

命令字: 0x407A

  • 控制器回复上位机安全状态 命令字: 0x407B
json
{
  "finish":1
}
  • "finish":1
  • 辨识结果;int类型
  • 上位机请求设置辨识轨迹参数 命令字: 0x4077
  • "traSize":10.0
  • 辨识轨迹范围;int类型,范围[1,100]
  • 第一次请填入较小数值
  • "traVel":100.0
json
{
  "traSize":10.0,
  "traVel":100.0
}
  • 辨识轨迹速度;int类型,范围[1,100]
  • 请先用低速测试安全,辨识用100
  • 上位机查询辨识轨迹参数
json
{}

命令字: 0x4078

  • 控制器回复上位机辨识轨迹参数 命令字: 0x4079
  • "alreadyIden":false
  • 是否已完成辨识;bool类型
  • "traSize":10.0
  • 辨识轨迹范围;int类型,范围[1,100]
  • "traVel":10.0
json
{
  "alreadyIden":false,
  "traSize":10.0,
  "traVel":10.0
}
  • 辨识轨迹速度;int类型,范围[1,100]
  • 控制器回复上位机当前轨迹Z最值 命令字: 0x407C
  • "zMax":636.712935786949
  • 当前轨迹Z最大值;double类型
  • "zMin":505.396403159378
json
{
  "zMax":636.712935786949,
  "zMin":505.396403159378
}

自适应加减速

  • 当前轨迹Z最小值;double类型
  • 说明
  • 上位机设置自适应加减速阈值参数 命令字: 0x4050
  • "Inertia_or_mass_or_both":[0,0,0,0,0,0]
  • 各轴限制条件列表;int类型,范围[0,2]
  • 0表示"惯量",1表示"质量",2表示"并行"
  • "Load_or_center":[0,0,0,0,0,0]
  • 各轴参考点列表;int类型,范围[0,1]
  • 0表示"负载",1表示"旋转中心"
  • "_inertiaAcc":[[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0]]
  • 各轴惯量加速度二维数组;double类型,范围(0,100]%
  • 一维表示各轴,二维表示速度-惯量-加速度-惯量列表中加速度的值
  • "_inertiaSpeed":[[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0]]
  • 各轴惯量速度二维数组;double类型,范围(0,100]%
  • 一维表示各轴,二维表示速度-惯量-加速度-惯量列表中速度的值
  • "_massAcc":[[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0]],
  • 各轴质量加速度二维数组;double类型,范围(0,100]%
  • 一维表示各轴,二维表示速度-质量-加速度-质量列表中加速度的值
  • "_massSpeed":[[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0]]
  • 各轴质量速度二维数组;double类型,范围(0,100]%
  • 一维表示各轴,二维表示速度-质量-加速度-质量列表中速度的值
  • "inertiaMap_1":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]]
  • 各轴惯量速度对应惯量二维数组;double类型,范围[0,100000]0.001kgm^2
  • 一维表示各轴,二维表示速度-惯量-加速度-惯量列表中速度对应惯量的值
  • "inertiaMap_2":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]]
  • 各轴惯量加速度对应惯量二维数组;double类型,范围[0,100000]0.001kgm^2
  • 一维表示各轴,二维表示速度-惯量-加速度-惯量列表中加速度对应惯量的值
  • "massMap_1":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]]
  • 各轴质量速度对应质量二维数组;double类型,范围[0,100000]kg
  • 一维表示各轴,二维表示速度-质量-加速度-质量列表中速度对应质量的值
  • "massMap_2":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]]
json
{
  "Inertia_or_mass_or_both":[0,0,0,0,0,0],
  "Load_or_center":[0,0,0,0,0,0],
  "_inertiaAcc":[[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0]],
  "_inertiaSpeed":[[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0]],
  "_massAcc":[[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0]],
  "_massSpeed":[[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0]],
  "inertiaMap_1":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]],
  "inertiaMap_2":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]],
  "massMap_1":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]],
  "massMap_2":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]]
}
  • 各轴质量加速度对应质量二维数组;double类型,范围[0,100000]kg
  • 一维表示各轴,二维表示速度-质量-加速度-质量列表中加速度对应质量的值
  • 上位机查询自适应加减速阈值参数
json
{}

命令字: 0x4051

  • 控制器回复上位机自适应加减速阈值参数 命令字: 0x4052
  • "Inertia_or_mass_or_both":[0,0,0,0,0,0]
  • 各轴限制条件列表;int类型,范围[0,2]
  • 0表示"惯量",1表示"质量",2表示"并行"
  • "Load_or_center":[0,0,0,0,0,0]
  • 各轴参考点列表;int类型,范围[0,1]
  • 0表示"负载",1表示"旋转中心"
  • "_inertiaAcc":[[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0]]
  • 各轴惯量加速度二维数组;double类型,范围(0,100]%
  • 一维表示各轴,二维表示速度-惯量-加速度-惯量列表中加速度的值
  • "_inertiaSpeed":[[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0]]
  • 各轴惯量速度二维数组;double类型,范围(0,100]%
  • 一维表示各轴,二维表示速度-惯量-加速度-惯量列表中速度的值
  • "_massAcc":[[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0]],
  • 各轴质量加速度二维数组;double类型,范围(0,100]%
  • 一维表示各轴,二维表示速度-质量-加速度-质量列表中加速度的值
  • "_massSpeed":[[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0]]
  • 各轴质量速度二维数组;double类型,范围(0,100]%
  • 一维表示各轴,二维表示速度-质量-加速度-质量列表中速度的值
  • "inertiaMap_1":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]]
  • 各轴惯量速度对应惯量二维数组;double类型,范围[0,100000]0.001kgm^2
  • 一维表示各轴,二维表示速度-惯量-加速度-惯量列表中速度对应惯量的值
  • "inertiaMap_2":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]]
  • 各轴惯量加速度对应惯量二维数组;double类型,范围[0,100000]0.001kgm^2
  • 一维表示各轴,二维表示速度-惯量-加速度-惯量列表中加速度对应惯量的值
  • "massMap_1":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]]
  • 各轴质量速度对应质量二维数组;double类型,范围[0,100000]kg
  • 一维表示各轴,二维表示速度-质量-加速度-质量列表中速度对应质量的值
  • "massMap_2":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]]
json
{
  "Inertia_or_mass_or_both":[0,0,0,0,0,0],
  "Load_or_center":[0,0,0,0,0,0],
  "_inertiaAcc":[[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0]],
  "_inertiaSpeed":[[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0]],
  "_massAcc":[[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0],[50.0,50.0,50.0]],
  "_massSpeed":[[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0],[10.0,20.0,30.0]],
  "inertiaMap_1":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]],
  "inertiaMap_2":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]],
  "massMap_1":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]],
  "massMap_2":[[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]]
}
  • 各轴质量加速度对应质量二维数组;double类型,范围[0,100000]kg
  • 一维表示各轴,二维表示速度-质量-加速度-质量列表中加速度对应质量的值
  • 上位机设置自适应加减速参数 命令字: 0x4053
  • "arm_inertia":[0.0,0.0,0.0]
  • 关节臂体惯量列表;double类型,范围[0,99999.9]0.001kgm^2
  • 分别表示为"关节1臂体惯量","关节2臂体惯量","关节3臂体惯量"
  • "auto_modify_acc_enable":false
  • 自适应加减速使能;bool类型
  • "joint1_mass":0.0
  • 关节1质量;double类型,范围[0,99999.9]kg
  • "joint1_mass_center_to_motor_distance":0.0
  • 关节1质心到电机距离;double类型,范围[0,99999.9]m
  • "joint2_mass":0.0
  • 关节2质量;double类型,范围[0,99999.9]kg
  • "joint2_mass_center_to_motor_distance":0.0
  • 关节2质心到电机距离;double类型,范围[0,99999.9]m
  • "joint4_mass":0.0
json
{
  "arm_inertia":[0.0,0.0,0.0],
  "auto_modify_acc_enable":false,
  "joint1_mass":0.0,
  "joint1_mass_center_to_motor_distance":0.0,
  "joint2_mass":0.0,
  "joint2_mass_center_to_motor_distance":0.0,
  "joint4_mass":0.0
}
  • 关节4质量;double类型,范围[0,99999.9]kg
  • 上位机查询自适应加减速参数
json
{}

命令字: 0x4054

  • 控制器回复上位机自适应加减速参数 命令字: 0x4055
  • "arm_inertia":[0.0,0.0,0.0]
  • 关节臂体惯量列表;double类型,范围[0,99999.9]0.001kgm^2
  • 分别表示为"关节1臂体惯量","关节2臂体惯量","关节3臂体惯量"
  • "auto_modify_acc_enable":false
  • 自适应加减速使能;bool类型
  • "joint1_mass":0.0
  • 关节1质量;double类型,范围[0,99999.9]kg
  • "joint1_mass_center_to_motor_distance":0.0
  • 关节1质心到电机距离;double类型,范围[0,99999.9]m
  • "joint2_mass":0.0
  • 关节2质量;double类型,范围[0,99999.9]kg
  • "joint2_mass_center_to_motor_distance":0.0
  • 关节2质心到电机距离;double类型,范围[0,99999.9]m
  • "joint4_mass":0.0
json
{
  "arm_inertia":[0.0,0.0,0.0],
  "auto_modify_acc_enable":false,
  "joint1_mass":0.0,
  "joint1_mass_center_to_motor_distance":0.0,
  "joint2_mass":0.0,
  "joint2_mass_center_to_motor_distance":0.0,
  "joint4_mass":0.0
}
  • 关节4质量;double类型,范围[0,99999.9]kg
  • 上位机设置位置环比参数 命令字: 0x4056
  • "Dynamic_sendServoParam":false
  • 位置环比发送使能;bool类型
  • "PositionalComparison":
  • 位置环比参数列表
  • "inertiaMax":9999.0
  • 惯量最大值;double类型,范围(0,100000]0.001kgm^2
  • "inertiaMin":8.0
  • 惯量最小值;double类型,范围[0,100000)0.001kgm^2
  • 惯量最小值必须小于惯量最大值
  • "max":8.0
  • 位置环比例增益1最小值;double类型,范围[0,100000)
  • 位置环比例增益1最小值必须小于位置环比例增益1最大值
  • "min":9999.0
json
{
  "Dynamic_sendServoParam":false,
  "PositionalComparison":
  {
    "inertiaMax":9999.0,
    "inertiaMin":8.0,
    "max":8.0,
    "min":9999.0
  }
}
  • 位置环比例增益1最大值;double类型,范围(0,100000]
  • "max"与"min"参数在实现时写反了,后续进行修改
  • 上位机查询位置环比参数
json
{}

命令字: 0x4057

  • 控制器回复上位机位置环比参数 命令字: 0x4058
  • "Dynamic_sendServoParam":false
  • 位置环比发送使能;bool类型
  • "PositionalComparison":
  • 位置环比参数列表
  • "inertiaMax":9999.0
  • 惯量最大值;double类型,范围(0,100000]0.001kgm^2
  • "inertiaMin":8.0
  • 惯量最小值;double类型,范围[0,100000)0.001kgm^2
  • 惯量最小值必须小于惯量最大值
  • "max":8.0
  • 位置环比例增益1最小值;double类型,范围[0,100000)
  • 位置环比例增益1最小值必须小于位置环比例增益1最大值
  • "min":9999.0
json
{
  "Dynamic_sendServoParam":false,
  "PositionalComparison":
  {
    "inertiaMax":9999.0,
    "inertiaMin":8.0,
    "max":8.0,
    "min":9999.0
  }
}

拖动模式

  • 位置环比例增益1最大值;double类型,范围(0,100000]
  • "max"与"min"参数在实现时写反了,后续进行修改
  • 说明
  • 上位机设置拖拽模式参数 命令字: 0x4074
  • "mode":2
  • 拖动方式;int类型,范围[0,3]
  • 0表示无,1表示3D鼠标,2表示力矩,3表示位置
  • "port":0
  • 外部触发信号端口;int类型
  • 范围为当前绑定的IO端口数
  • "value":0
json
{
  "mode":2,
  "port":0,
  "value":0
}
  • 外部触发信号参数;int类型,范围[0,1]
  • 上位机查询拖拽模式参数
json
{}

命令字: 0x4075

  • 控制器回复上位机拖拽模式参数 命令字: 0x4076
  • "mode":2
  • 拖动方式;int类型,范围[0,3]
  • 0表示无,1表示3D鼠标,2表示力矩,3表示位置
  • "port":0
  • 外部触发信号端口;int类型
  • 范围为当前绑定的IO端口数
  • "value":0
json
{
  "mode":2,
  "port":0,
  "value":0
}
  • 外部触发信号参数;int类型,范围[0,1]
  • 上位机设置力矩参数 命令字: 0x4085
  • "DecareLimit":2.50
  • 笛卡尔空间线速度限制;double类型,范围[0,∞)m/s
  • "JointVelLimit":1.0
  • 关节空间速度限制;double类型,范围[0,∞)°/s
  • "dragCoefficient":[5.0,5.0,5.0,5.0,5.0,5.0]
  • 超限阻力系数;double类型,范围[1,100]
  • "drag_mode":0
  • 拖动模式;int类型,范围[0,2]
  • 0表示自由拖动,1表示位置拖动,2表示姿态拖动
  • "frictionOffset":[0.0,0.0,0.0,0.0,0.0,0.0]
  • 关节摩擦力补偿矫正系数;double类型,范围[0,0.99]
  • "targetTorqCoefficient":[1.0,1.0,1.0,1.0,1.0,1.0]
  • 关节目标扭矩矫正系数;double类型,范围[0,1]
  • "waitCycle":5.0
json
{
  "DecareLimit":2.50,
  "JointVelLimit":1.0,
  "dragCoefficient":[5.0,5.0,5.0,5.0,5.0,5.0],
  "drag_mode":0,
  "frictionOffset":[0.0,0.0,0.0,0.0,0.0,0.0],
  "targetTorqCoefficient":[1.0,1.0,1.0,1.0,1.0,1.0],
  "waitCycle":5.0
}
  • 下发给伺服力矩参数等待周期;double类型,范围[1,10]
  • 上位机查询力矩参数
json
{}

命令字: 0x4086

  • 控制器回复上位机力矩参数 命令字: 0x4087
  • "DecareLimit":2.50
  • 笛卡尔空间线速度限制;double类型,范围[0,∞)m/s
  • "JointVelLimit":1.0
  • 关节空间速度限制;double类型,范围[0,∞)°/s
  • "dragCoefficient":[5.0,5.0,5.0,5.0,5.0,5.0]
  • 超限阻力系数;double类型,范围[1,100]
  • "drag_mode":0
  • 拖动模式;int类型,范围[0,2]
  • 0表示自由拖动,1表示位置拖动,2表示姿态拖动
  • "frictionOffset":[0.0,0.0,0.0,0.0,0.0,0.0]
  • 关节摩擦力补偿矫正系数;double类型,范围[0,0.99]
  • "targetTorqCoefficient":[1.0,1.0,1.0,1.0,1.0,1.0]
  • 关节目标扭矩矫正系数;double类型,范围[0,1]
  • "waitCycle":5.0
json
{
  "DecareLimit":2.50,
  "JointVelLimit":1.0,
  "dragCoefficient":[5.0,5.0,5.0,5.0,5.0,5.0],
  "drag_mode":0,
  "frictionOffset":[0.0,0.0,0.0,0.0,0.0,0.0],
  "targetTorqCoefficient":[1.0,1.0,1.0,1.0,1.0,1.0],
  "waitCycle":5.0
}

力学功能

  • 下发给伺服力矩参数等待周期;double类型,范围[1,10]
  • 说明
  • 设置碰撞检测开关需要先进行动力学辨识
  • 上位机设置碰撞检测开关 命令字: 0x407D
  • "switch":true
json
{
  "switch":true
}
  • 碰撞检测开关;bool类型
  • 上位机查询碰撞检测开关
json
{}

命令字: 0x407E

  • 控制器回复上位机碰撞检测开关 命令字: 0x407F
  • "is_identification":false
  • 机器人是否已动力学辨识;bool类型
  • true表示已动力学辨识,1表示未进行动力学辨识
  • "restrart_switch":false
  • 机器人碰撞后重启开关;bool类型
  • "switch":true
json
{
  "is_identification":false,
  "restrart_switch":false,
  "switch":false
}
  • 碰撞检测开关;bool类型
  • 上位机设置碰撞检测参数 命令字: 0x4080
  • "Co_De_para":[50.0,50.0,50.0,50.0,50.0,50.0]
  • 碰撞检测阈值(点动);double类型,范围[1,10000]‰
  • "Colli_Detec_jog":[50.0,50.0,50.0,50.0,50.0,50.0]
  • 碰撞检测阈值(点动);double类型,范围[1,10000]‰
  • "error_enable_time":1.0
  • 误差允许时间;double类型,范围[0,99]ms
  • "pos_delay_time":1.0
json
{
  "Co_De_para":[50.0,50.0,50.0,50.0,50.0,50.0],
  "Colli_Detec_jog":[50.0,50.0,50.0,50.0,50.0,50.0],
  "error_enable_time":1.0,
  "pos_delay_time":1.0
}
  • 指令位置响应时间;double类型,范围(0,99]ms
  • 上位机查询碰撞检测参数
json
{}

命令字: 0x4081

  • 控制器回复上位机碰撞检测参数 命令字: 0x4082
  • "Co_De_para":[50.0,50.0,50.0,50.0,50.0,50.0]
  • 碰撞检测阈值列表(点动);double类型,范围[1,10000]‰
  • "Colli_Detec_jog":[50.0,50.0,50.0,50.0,50.0,50.0]
  • 碰撞检测阈值列表(点动);double类型,范围[1,10000]‰
  • "error_enable_time":1.0
  • 误差允许时间;double类型,范围[0,99]ms
  • "pos_delay_time":1.0
json
{
  "Co_De_para":[50.0,50.0,50.0,50.0,50.0,50.0],
  "Colli_Detec_jog":[50.0,50.0,50.0,50.0,50.0,50.0],
  "error_enable_time":1.0,
  "pos_delay_time":1.0
}
  • 指令位置响应时间;double类型,范围(0,99]ms
  • 上位机设置机器人力矩前馈 命令字: 0x4010
  • "torqFeedback":false
json
{
  "torqFeedback":false
}
  • 力矩前馈开关;bool类型
  • 上位机查询机器人力矩前馈
json
{}

命令字: 0x4011

  • 控制器回复上位机机器人力矩前馈 命令字: 0x4012
json
{
  "torqFeedback":false
}

轨迹管理

  • "torqFeedback":false
  • 力矩前馈开关;bool类型
  • 说明
  • 轨迹保存结果通过0x4070返回
  • 上位机查询拖拽轨迹是否被记录
json
{}

命令字: 0x408B

  • 控制器回复上位机拖拽轨迹记录结果 命令字: 0x4070
  • "record":false
json
{
  "record":false
}
  • 轨迹是否被记录;bool类型
  • 上位机请求轨迹回放 命令字: 0x4071
  • "trajName":"AAA"
  • 需要回放的轨迹名称;string类型
  • "vel":100
json
{
  "trajName":"AAA",
  "vel":100
}
  • 轨迹回放运行速度;int类型,范围[1,100]
  • 上位机请求保存拖拽轨迹 命令字: 0x4072
  • "TrajName":"AAA"
json
{
  "TrajName":"AAA"
}
  • 需要保存的轨迹名称;string类型
  • 若为空则保存失败
  • 上位机请求删除拖拽轨迹 命令字: 0x4073
  • "TrajName":"AAA"
json
{
  "TrajName":"AAA"
}
  • 需要删除的轨迹名称;string类型
  • 上位机查询拖拽轨迹列表
json
{}

命令字: 0x4083

  • 控制器回复上位机拖拽轨迹列表 命令字: 0x4084
  • "TrajName":["AAA"]
json
{
  "TrajName":["AAA"]
}
  • 已保存轨迹列表;string类型
  • 长度为当前已保存轨迹数量,若无轨迹,则该节点不存在
  • 上位机设置轨迹记录参数 命令字: 0x4088
  • "MaxSamplingNum":300.0
  • 最大采样点数;double类型,范围(200,1200)
  • "SamplingInterval":0.030
  • 采样间隔;double类型,范围[0.03,1]
  • "Start":true
json
{
  "MaxSamplingNum":300.0,
  "SamplingInterval":0.030,
  "Start":true
}
  • 开始/停止记录;bool类型
  • true表示开始记录,false表示停止记录
  • false时"MaxSamplingNum"和"SamplingInterval"可以不存在
  • 上位机查询轨迹记录参数
json
{}

命令字: 0x4089

  • 控制器回复上位机轨迹记录参数
  • 0x408A
  • "MaxSamplingNum":300.0
  • 最大采样点数;double类型,范围(200,1200)
  • "SamplingInterval":0.030
  • 采样间隔;double类型,范围[0.03,1]
  • "Start":false
json
{
  "MaxSamplingNum":300.0,
  "SamplingInterval":0.030,
  "Start":false
}
  • 开始/停止记录;bool类型
  • true表示开始记录,false表示停止记录
  • 上位机查询拖拽轨迹文件列表
json
{}

命令字: 0x408C

  • 控制器回复上位机拖拽轨迹文件列表 命令字: 0x408D
  • "absolutepath":"dragPos/"
  • 控制器中拖拽轨迹文件存放地址;string类型
  • "trajectory_filelist":["AAA","JJ","drag_traj_details.json"]
json
{
  "absolutepath":"dragPos/",
  "trajectory_filelist":["AAA","JJ","drag_traj_details.json"]
}
  • 拖拽轨迹文件列表;string类型
  • "drag_traj_details.json"为轨迹记录信息文件