JSON 协议:
运动参数指令集 设置运动参数
本命令集用于配置机械臂末端的线速度、线加速度、角速度、角加速度、碰撞等级的设置与查询、初始化机械臂参数、设置、恢复和查询机械臂 DH 参数、重设机关节零位补偿等。 机械臂末端参数设置完毕后,第二代需要调用参数保存(第二代)手动保存到控制器 Flash,否则断电之后不会保存。
设置末端最大线速度set_arm_max_line_speed
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_arm_max_line_speed | string | 设置机械臂末端最大线速度。 |
arm_line_speed | int | 目标线速度单位:m/s。 |
注意
建议使用默认最大线速度,如需更改,设置的机械臂末端最大线加速度与最大线速度的比值需要 ≥3,否则可能出现运动异常
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
arm_line_speed | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:设置机械臂末端最大线速度 0.5m/s,分辨率 0.001m/s。
{"command":"set_arm_max_line_speed","arm_line_speed":500}
输出
{
"command": "set_arm_max_line_speed",
"arm_line_speed": true
}
设置末端最大线加速度set_arm_max_line_acc
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_arm_max_line_acc | string | 设置机械臂末端最大线加速度。 |
arm_line_acc | int | 目标线加速度单位:m/s²。 |
注意
建议使用默认最大线加速度,如需更改,设置的机械臂末端最大线加速度与最大线速度的比值需要 ≥3,否则可能出现运动异常
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
arm_line_acc | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:设置机械臂末端最大线加速度 2m/s²,分辨率 0.001m/s²。
{"command":"set_arm_max_line_acc","arm_line_acc":2000}
输出
{
"command": "set_arm_max_line_acc",
"arm_line_acc": true
}
设置末端最大角速度set_arm_max_angular_speed
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_arm_max_angular_speed | string | 设置机械臂末端最大角速度。 |
arm_angular_speed | int | 目标角速度单位:rad/s。 |
注意
建议使用默认最大角速度,如需更改,设置的机械臂末端最大角加速度与最大角速度的比值需要 ≥3,否则可能出现运动异常
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
arm_angular_speed | bool | ture :设置成功;false :设置失败。 |
输入
实现:设置机械臂末端最大角速度 0.2rad/s,分辨率 0.001rad/s。
{"command":"set_arm_max_angular_speed","arm_angular_speed":200}
输出
{
"command": "set_arm_max_angular_speed",
"arm_angular_speed": true
}
设置末端最大角加速度set_arm_max_angular_acc
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_arm_max_angular_acc | string | 设置机械臂末端最大角加速度。 |
arm_angular_acc | int | 目标角加速度单位:rad/s²。 |
注意
建议使用默认最大角加速度,如需更改,设置的机械臂末端最大角加速度与最大角速度的比值需要 ≥3,否则可能出现运动异常
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
arm_angular_acc | bool | ture :设置成功;false :设置失败。 |
输入
实现:设置机械臂末端最大角加速度 4rad/s²,分辨率 0.001rad/s²。
{"command":"set_arm_max_angular_acc","arm_angular_acc":4000}
输出
{
"command": "set_arm_max_angular_acc",
"arm_angular_acc": true
}
初始化机械臂参数set_arm_init
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_arm_init | string | 初始化机械臂参数。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
arm_init | bool | ture :设置成功;false :设置失败。 |
输入
实现:初始化机械臂参数,机械臂的末端参数恢复到默认值。
末端线速度:0.25m/s; 末端线加速度:1.6m/s²;
末端角速度:0.6rad/s; 末端角加速度:4rad/s²。
{ "command": "set_arm_init" }
输出
{
"command": "set_arm_init",
"arm_init": true
}
设置碰撞防护等级set_collision_stage
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_collision_stage | string | 设置机械臂碰撞防护等级。 |
collision_stage | int | 等级,范围:0~8。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
collision_state | bool | ture :设置成功;false :设置失败。 |
输入
实现:设置机械臂碰撞防护等级 1,等级越高,检测越灵敏。
{"command":"set_collision_stage","collision_stage":1}
输出
{
"command": "set_collision_state",
"collision_state": true
}
查询碰撞防护等级get_collision_stage
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_collision_stage | string | 查询碰撞防护等级。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
collision_stage | int | 等级,范围:0~8。 |
- 代码示例
输入
实现:查询碰撞防护等级。
{ "command": "get_collision_stage" }
输出
{
"state": "get_collision_stage",
"collision_stage": 5
}
设置自碰撞安全检测使能状态set_self_collision_enable
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_self_collision_enable | string | 设置自碰撞安全检测使能状态。 |
- 代码示例
输入
设置当前虚拟墙参数。
{"command":"set_self_collision_enable","set_enable":false}
输出
{
"command": "set_self_collision_enable",
"set_state": true
}
获取自碰撞安全检测使能状态get_self_collision_enable
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_self_collision_enable | string | 获取自碰撞安全检测使能状态 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
enable_state | bool | true 使能 false 禁使能。 |
- 代码示例
输入
设置当前虚拟墙参数。
{ "command": "get_self_collision_enable" }
输出
{
"command": "get_self_collision_enable",
"enable_state": false
}
重新设置 DH 参数(第三代控制器)set_DH_data
提示
- 第三代控制器适用
- 该指令用户不可自行使用,必须配合测量设备进行绝对精度补偿时方可使用,否则会导致机械臂参数错误!
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_DH_data | int | 重新设置机械臂 DH 参数。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
set_state | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:每个关节有四组数据,分别表示 alpha、a、d、offset
示例中表示 1°、0.002m、0.003m 和 4°。
6自由度机械臂:
{"command":"set_DH_data","joint_1":[1000,2000,3000,4000],"joint_2":[1000,2000,3000,4000],"joint_3":[1000,2000,3000,4000],"joint_4":[1000,2000,3000,4000],"joint_5":[1000,2000,3000,4000],"joint_6":[1000,2000,3000,4000]}
7 自由度机械臂:
{"command":"set_DH_data","joint_1":[1000,2000,3000,4000],"joint_2":[1000,2000,3000,4000],"joint_3":[1000,2000,3000,4000],"joint_4":[1000,2000,3000,4000],"joint_5":[1000,2000,3000,4000],"joint_6":[1000,2000,3000,4000],"joint_7":[1000,2000,3000,4000]}
输出
{
"command": "set_DH_data",
"set_state": true
}
查询 DH 参数(第三代控制器)get_DH_data
提示
第三代控制器适用
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_DH_data | string | 查询机械臂 DH 参数。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_1 | array | 每个关节有四组数据,分别表示 alpha、a、d、offset,示例中表示 1°、0.002m、0.003m 和 4°。 |
- 代码示例
输入
实现:查询机械臂 DH 参数。
{ "command": "get_DH_data" }
输出
6 自由度机械臂:
{
"command": "get_DH_data",
"joint_1": [1000, 2000, 3000, 4000],
"joint_2": [1000, 2000, 3000, 4000],
"joint_3": [1000, 2000, 3000, 4000],
"joint_4": [1000, 2000, 3000, 4000],
"joint_5": [1000, 2000, 3000, 4000],
"joint_6": [1000, 2000, 3000, 4000]
}
7 自由度机械臂:
{
"command":"get_DH_data",
"joint_1":[1000,2000,3000,4000],
"joint_2":[1000,2000,3000,4000],
"joint_3":[1000,2000,3000,4000],
"joint_4":[1000,2000,3000,4000],
"joint_5":[1000,2000,3000,4000],
"joint_6":[1000,2000,3000,4000],
"joint_7":[1000,2000,3000,4000]
}
恢复机械臂默认 DH 参数(第三代控制器)set_DH_data_default
提示
第三代控制器适用
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_DH_data_default | string | 恢复机械臂默认 DH 参数。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
set_state | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:恢复机械臂默认 DH 参数。
{ "command": "set_DH_data_default" }
输出
{
"command": "set_DH_data_default",
"set_state": true
}
重设关节零位补偿set_joint_zero_offset
重新设置关节零位补偿角度,用于校正绝对定位精度。
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_joint_zero_offset | int | 重新设置关节零位补偿角度。 |
注意
该指令用户不可自行使用,必须配合测量设备进行绝对精度补偿时方可使用,否则会导致机械臂参数错误!
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
set_state | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:设置关节零位偏移,精度:0.001° 关节 1~6 的零位补偿角度:1°,-2°,3°,-4°,5°,-6°。
{"command":"set_joint_zero_offset","offset":[1000,-2000,3000,-4000,5000,-6000]}
输出
{
"command": "set_joint_zero_offset",
"set_state": true
}
查询运动参数
本命令集用于查询机械臂末端的最大线速度、线加速度、角速度、角加速度。
查询末端最大线速度get_arm_max_line_speed
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_arm_max_line_speed | string | 查询机械臂末端最大线速度。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
arm_max_line_speed | int | 反馈机械臂末端最大线速度。 |
- 代码示例
输入
实现:查询机械臂末端最大线速度。
{ "command": "get_arm_max_line_speed" }
输出
反馈机械臂末端最大线速度,0.5m/s,分辨率:0.001m/s。
{
"state": "arm_max_line_speed",
"arm_line_speed": 500
}
查询末端最大线加速度get_arm_max_line_acc
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_arm_max_line_acc | string | 查询机械臂末端最大线加速度。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
arm_max_line_acc | int | 反馈机械臂末端最大线加速度。 |
- 代码示例
输入
实现:查询机械臂末端最大线加速度。
{ "command": "get_arm_max_line_acc" }
输出
反馈机械臂末端最大线加速度,0.2m/s²,分辨率:0.001m/s²。
{
"state": "arm_max_line_acc",
"arm_line_acc": 200
}
查询末端最大角速度get_arm_max_angular_speed
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_arm_max_angular_speed | string | 查询机械臂末端最大角速度。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
arm_max_angular_speed | int | 反馈机械臂末端最大角速度。 |
- 代码示例
输入
实现:查询机械臂末端最大角速度。
{ "command": "get_arm_max_angular_speed" }
输出
反馈机械臂末端最大角速度,1rad/s,分辨率:0.001rad/s。
{
"state": "arm_max_angular_speed",
"arm_angular_speed": 1000
}
查询末端最大角加速度get_arm_max_angular_acc
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_arm_max_angular_acc | string | 查询机械臂末端最大角加速度。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
arm_max_angular_acc | int | 反馈机械臂末端最大角加速度。 |
- 代码示例
输入
实现:查询机械臂末端最大角加速度。
{ "command": "get_arm_max_angular_acc" }
输出
反馈机械臂末端最大角加速度,10rad/s²,分辨率:0.001rad/s²。
{
"state": "arm_max_angular_acc",
"arm_angular_acc": 10000
}