JSON 协议:
关节参数指令集 对机械臂的关节参数进行设置,如果关节发生错误,则无法修改关节参数,必须先清除关节错误代码。另外设置关节之前,必须先将关节掉使能,否则会设置不成功。
注意
关节所有参数在修改完成后,会自动保存到关节Flash,立即生效,之后关节处于掉使能状态,修改完参数后必须发送指令控制关节上使能。
睿尔曼机械臂在出厂前所有参数都已经配置到最佳状态,一般不建议用户修改关节的底层参数。若用户确需修改,首先应使机械臂处于非使能状态,然后再发送修改参数指令,参数设置成功后,发送关节恢复使能指令。需要注意的是,关节恢复使能时,用户需要保证关节处于静止状态,以免上使能过程中关节发生报错。关节正常上使能后,用户方可控制关节运动。
设置关节配置
设置关节最大转速set_joint_max_speed
设置机械臂指定关节的最大转速,从机械臂底座到末端关节序号排布为:
六自由度为 1~6
七自由度为 1~7
输入参数
参数 | 类型 | 说明 |
---|---|---|
set_joint_max_speed | string | 设置关节最大转速指令。 |
joint_max_speed | [int,int] | 关节序号和最大转速,单位:RPM。 |
注意
建议使用默认最大转速,如需更改,设置的关节最大加速度与最大转速的比值需要≥1.5,否则可能出现运动异常
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_max_speed | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:设置关节2,最大转速30RPM,对应转速分辨率0.001RPM。
{"command":"set_joint_max_speed","joint_max_speed":[2,30000]}
输出
{
"command": "set_joint_max_speed",
"joint_max_speed": true
}
设置关节最大加速度set_joint_max_acc
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_joint_max_acc | string | 设置关节最大加速度,参数不超过500RPM/s。 |
joint_max_acc | [int,int] | 关节序号和最大加速度,单位:RPM/s。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_max_acc | bool | ture :设置成功;false :设置失败。 |
注意
建议使用默认关节最大加速度,如需更改,设置的关节最大加速度与最大转速的比值需要≥1.5,否则可能出现运动异常
- 代码示例
输入
实现:设置关节2,最大加速度100RPM/s,加速度分辨率0.001RPM/s
{"command":"set_joint_max_acc","joint_max_acc":[2,100000]}
输出
{
"command": "set_joint_max_acc",
"joint_max_acc": true
}
设置关节最小限位set_joint_min_pos
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_joint_min_pos | string | 设置关节最小限位。 |
joint_min_pos | [int,int] | 关节序号和最小限位度数,单位:度。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_min_pos | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:设置关节1,最小限位度数-170°,分辨率0.001°。
{"command":"set_joint_min_pos","joint_min_pos":[1,-170000]}
输出
{
"command": "set_joint_min_pos",
"joint_min_pos": true
}
设置关节最大限位set_joint_max_pos
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_joint_max_pos | string | 设置关节最大限位。 |
joint_max_pos | [int,int] | 关节序号和最大限位度数,单位:度。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_max_pos | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:设置关节1,最大限位度数170°,分辨率0.001°。
{"command":"set_joint_max_pos","joint_max_pos":[1,170000]}
输出
{
"command": "set_joint_max_pos",
"joint_max_pos": true
}
设置关节最大转速(驱动器)set_joint_drive_max_speed
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_joint_drive_max_speed | string | 设置关节最大转速指令。 |
joint_max_speed | [int,int] | 关节序号和最大转速,单位:RPM。 |
注意
建议使用默认最大转速,如需更改,设置的关节最大加速度与最大转速的比值需要≥1.5,否则可能出现运动异常
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_max_speed | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:设置关节2,最大转速30RPM,转速分辨率0.001RPM。
{"command":"set_joint_drive_max_speed","joint_max_speed":[2,30000]}
输出
{
"command": "set_joint_drive_max_speed",
"joint_max_speed": true
}
设置关节最大加速度(驱动器)set_joint_drive_max_acc
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_joint_drive_max_acc | string | 设置关节最大加速度。 |
joint_max_acc | [int,int] | 关节序号和最大加速度,单位:RPM/s。 |
注意
建议使用默认关节最大加速度,如需更改,设置的关节最大加速度与最大转速的比值需要≥1.5,否则可能出现运动异常
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_max_acc | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:设置关节2,最大加速度500RPM/s,加速度分辨率0.001RPM/s。
{"command":"set_joint_drive_max_acc","joint_max_acc":[2,500000]}
输出
{
"command": "set_joint_drive_max_acc",
"joint_max_acc": true
}
设置关节最小限位(驱动器)set_joint_drive_min_pos
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_joint_drive_min_pos | string | 设置关节最小限位。 |
joint_min_pos | [int,int] | 关节序号和最小限位度数,单位:度。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_min_pos | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:设置关节1,最小限位度数-170°,分辨率0.001°。
{"command":"set_joint_drive_min_pos","joint_min_pos":[1,-170000]}
输出
{
"command": "set_joint_drive_min_pos",
"joint_min_pos": true
}
设置关节最大限位(驱动器)set_joint_drive_max_pos
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_joint_drive_max_pos | string | 设置关节最大限位。 |
joint_max_pos | [int,int] | 关节序号和最大限位度数,单位:度。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_max_pos | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:设置关节1,最大限位度数170°,分辨率0.001°。
{"command":"set_joint_drive_max_pos","joint_max_pos":[1,170000]}
输出
{
"command": "set_joint_drive_max_pos",
"joint_max_pos": true
}
设置关节使能状态set_joint_en_state
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_joint_en_state | string | 设置关节使能状态。 |
joint_en_state | [int,int] | 关节序号和使能状态,1:上使能0:掉使能。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_en_state | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:设置关节6上使能°。
{"command":"set_joint_en_state","joint_en_state":[6,1]}
输出
{
"command": "set_joint_en_state",
"joint_en_state": true
}
设置关节零位set_joint_zero_pos
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_joint_zero_pos | string | 设置关节零位。 |
joint_zero_pos | int | 关节序号。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_zero_pos | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:设置关节3位置为零位。
{"command":"set_joint_zero_pos","joint_zero_pos":3}
输出
{
"command": "set_joint_zero_pos",
"joint_zero_pos": true
}
清除关节错误代码set_joint_clear_err
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_joint_clear_err | string | 清除关节错误代码。 |
joint_clear_err | int | 关节序号。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_clear_err | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:清除关节2错误代码。
{"command":"set_joint_clear_err","joint_clear_err":2}
输出
{
"command": "set_joint_clear_err",
"joint_clear_err": true
}
一键设置关节限位auto_set_joint_limit
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
auto_set_joint_limit | string | 一键设置关节限位。 |
limit_mode | int | 限位设置的模式。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
limit_mode | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:1-正式模式,各关节限位为规格参数中的软限位和硬件限位。
{"command":"auto_set_joint_limit","limit_mode":1}
输出
{
"command": "auto_set_joint_limit",
"limit_mode": true
}
查询关节配置
查询关节的速度、加速度、限位及错误等信息。
查询关节最大速度get_joint_max_speed
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_joint_max_speed | string | 查询关节最大速度。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_max_speed | int | 反馈关节最大速度。 |
- 代码示例
输入
实现:查询关节最大速度。
{"command":"get_joint_max_speed"}
输出
依次反馈关节最大转速均为0.03RPM,单位RPM,分辨率:0。
六自由度:
{
"state": "joint_max_speed",
"joint_speed": [
30,
30,
30,
30,
30,
30
]
}
七自由度:
{
"state": "joint_max_speed",
"joint_speed": [
30,
30,
30,
30,
30,
30,
30
]
}
查询关节最大加速度get_joint_max_acc
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_joint_max_acc | string | 查询关节最大加速度。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_max_acc | int | 反馈关节最大加速度。 |
- 代码示例
输入
实现:查询关节最大加速度。
{"command":"get_joint_max_acc"}
输出
依次反馈关节最大加速度均为0.5RPM/s,单位RPM/s,分辨率:0.001RPM/s。
六自由度:
{
"state": "joint_max_acc",
"joint_acc": [
500,
500,
500,
500,
500,
500
]
}
七自由度:
{
"state": "joint_max_acc",
"joint_acc": [
500,
500,
500,
500,
500,
500,
500
]
}
查询关节最小限位get_joint_min_pos
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_joint_min_pos | string | 查询关节最小限位。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_min_pos | int | 反馈关节最小限位。 |
- 代码示例
输入
实现:查询关节最小限位。
{"command":"get_joint_min_pos"}
输出
反馈关节最小限位:
六自由度的关节1、3、5最小位置-170°,关节2、4、6最小位置-110°
七自由度的关节1、3、4、6最小位置-170°,关节2、5、7最位置-110°
关节单位:度,分辨率:0.001°。
六自由度:
{
"state": "joint_min_pos",
"min_pos": [
-170000,
-110000,
-170000,
-110000,
-170000,
-110000
]
}
七自由度:
{
"state": "joint_min_pos",
"min_pos": [
-170000,
-110000,
-170000,
-170000,
-110000,
-170000,
-110000
]
}
查询关节最大限位get_joint_max_pos
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_joint_max_pos | string | 查询关节最大限位。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_max_pos | int | 反馈关节最大限位。 |
- 代码示例
输入
实现:查询关节最大限位。
{"command":"get_joint_max_pos"}
输出
反馈关节最大限位:
六自由度的关节1、3、5最小位置170°,关节2、4、6最小位置110°
七自由度的关节1、3、4、6最小位置170°,关节2、5、7最小位置110°
关节单位:度,分辨率:0.001°。
六自由度:
{
"state": "joint_max_pos",
"max_pos": [
170000,
110000,
170000,
110000,
170000,
110000
]
}
七自由度:
{
"state": "joint_max_pos",
"max_pos": [
170000,
110000,
170000,
170000,
110000,
170000,
110000
]
}
查询关节最大速度(驱动器)get_joint_min_pos
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_joint_min_pos | string | 查询关节最大速度。 |
- 代码示例
输入
实现:查询关节最大速度。
{"command":"get_joint_drive_max_speed"}
输出
依次反馈关节最大转速均为0.03RPM,单位RPM,分辨率:0.001RPM。
六自由度:
{
"command": "get_joint_drive_max_speed",
"joint_speed": [
30,
30,
30,
30,
30,
30
]
}
七自由度:
{
"command": "get_joint_drive_max_speed",
"joint_speed": [
30,
30,
30,
30,
30,
30,
30
]
}
查询关节最大加速度(驱动器)get_joint_drive_max_acc
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_joint_drive_max_acc | string | 查询关节最大加速度。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
get_joint_drive_max_acc | int | 反馈关节最大加速度(驱动器)。 |
- 代码示例
输入
实现:查询关节最大加速度
{"command":"get_joint_drive_max_acc"}
输出
依次反馈关节最大加速度均为0.5RPM/s,单位RPM/s,分辨率:0.001RPM/s。
六自由度:
{
"command": "get_joint_drive_max_acc",
"joint_acc": [
500,
500,
500,
500,
500,
500
]
}
七自由度:
{
"command": "get_joint_drive_max_acc",
"joint_acc": [
500,
500,
500,
500,
500,
500,
500
]
}
查询关节最小限位(驱动器)get_joint_drive_min_pos
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_joint_drive_min_pos | string | 查询关节最小限位。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
get_joint_drive_min_pos | int | 反馈关节最小限位(驱动器)。 |
- 代码示例
输入
实现:查询关节最小限位(驱动器)。
{"command":"get_joint_drive_min_pos"}
输出
反馈关节最小限位:
- 六自由度的关节1、3、5最小位置-170°,关节2、4、6最小位置-110°
- 七自由度的关节1、3、4、6最小位置-170°,关节2、5、7最小位置-110°
- 关节单位:度,分辨率:0.001°。
六自由度:
{
"command": "get_joint_drive_min_pos",
"min_pos": [
-170000,
-110000,
-170000,
-110000,
-170000,
-110000
]
}
七自由度:
{
"command": "get_joint_drive_min_pos",
"min_pos": [
-170000,
-110000,
-170000,
-170000,
-110000,
-170000,
-110000
]
}
查询关节最大限位(驱动器)get_joint_drive_max_pos
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_joint_drive_max_pos | string | 查询关节最大限位。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
get_joint_drive_max_pos | int | 反馈关节最大限位(驱动器)。 |
- 代码示例
输入
实现:查询关节最大限位。
{"command":"get_joint_drive_max_pos"}
输出
反馈关节最大限位:
六自由度的关节1、3、5最小位置170°,关节2、4、6最小位置110°
七自由度的关节1、3、4、6最小位置170°,关节2、5、7最小位置110°
关节单位:度,分辨率:0.001°。
六自由度:
{
"command": "get_joint_drive_max_pos",
"max_pos": [
170000,
110000,
170000,
110000,
170000,
110000
]
}
七自由度:
{
"command": "get_joint_drive_max_pos",
"max_pos": [
170000,
110000,
170000,
170000,
110000,
170000,
110000
]
}
查询关节使能状态get_joint_en_state
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_joint_en_state | string | 查询关节使能状态。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_en_state | int | 反馈关节使能状态。 |
- 代码示例
输入
实现:查询关节使能状态。
{"command":"get_joint_en_state"}
输出
反馈关节使能状态,1-上使能状态,0-掉使能状态。
六自由度:
{
"state": "joint_en_state",
"en_state": [
1,
1,
1,
1,
1,
0
]
}
七自由度:
{
"state": "joint_en_state",
"en_state": [
1,
1,
1,
1,
1,
1,
0
]
}
查询关节错误代码get_joint_err_flag
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_joint_err_flag | 查询关节错误代码。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
joint_err_flag | int | 反馈关节使能状态。 |
- 代码示例
输入
实现:查询关节错误代码。
{"command":"get_joint_err_flag"}
输出
err_flag:反馈关节错误代码,错误代码为整型;
brake_state:反馈关节抱闸状态,1代表抱闸未打开,0代表抱闸已打开。
六自由度:
{
"state": "joint_err_flag",
"err_flag": [
0,
0,
0,
0,
0,
1
],
"brake_state": [
0,
0,
0,
0,
0,
1
]
}
七自由度:
{
"state": "joint_err_flag",
"err_flag": [
0,
0,
0,
0,
0,
0,
1
],
"brake_state": [
0,
0,
0,
0,
0,
0,
1
]
}