JSON 协议:
状态查询指令集 机械臂状态
查询机械臂状态get_current_arm_state
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_current_arm_state | string | 查询机械臂状态。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
current_arm_state | string | 反馈机械臂状态。 |
joint | int | 关节角度 |
pose | int | 末端位姿 |
arm_err | int | 机械臂错误代码 |
sys_err | int | 系统错误代码 |
- 代码示例
输入
实现:查询机械臂状态。
{ "command": "get_current_arm_state" }
输出
反馈机械臂状态,信息如下:
六自由度机械臂关节1~6角度依次为:0.1°,0.2°,0.3°。0.4°,0.5°,0.6°,精度:0.001°;
七自由度机械臂关节1~7角度依次为:0.1°,0.2°,0.3°。0.4°,0.5°,0.6°,0.7°,精度:0.001°;
位置:x:0.1m,y:0.2m,z:0.03m,位置精度:0.001mm;
姿态:rx:0.4rad,ry:0.5rad,rz:0.6rsd,姿态精度:0.001rad;
arm_err:机械臂错误代码,指机械臂运行规划中的软件错误:0;
sys_err:系统错误代码,指系统运行过程中的硬件错误:0。
六自由度:
{
"state": "current_arm_state",
"arm_state": {
"joint": [
100,
200,
300,
400,
500,
600
],
"pose": [
100000,
200000,
30000,
400,
500,
600
],
"arm_err": 0,
"sys_err": 0
}
}
七自由度:
{
"state": "current_arm_state",
"arm_state": {
"joint": [
100,
200,
300,
400,
500,
600,
700
],
"pose": [
100000,
200000,
30000,
400,
500,
600
],
"arm_err": 0,
"sys_err": 0
}
}
查询控制器状态get_controller_state
- 输入参数
功能描述 | 类型 | 说明 |
---|---|---|
get_controller_state | string | 查询控制器状态。 |
- 输出参数
功能描述 | 类型 | 说明 |
---|---|---|
controller_state | string | 反馈控制器状态。 |
- 代码示例
输入
实现:查询控制器状态。
{ "command": "get_controller_state" }
输出
电压、电流和温度的精度均为 0.001。
{
"state": "controller_state", //反馈控制器状态
"voltage": 24000, //电压:24v,
"current": 1500, //电流:1.5A
"temperature": 42000, //温度:42℃
"err_flag": 0 //错误标志 0,
}
清除系统错误clear_system_err
- 输入参数
功能描述 | 类型 | 说明 |
---|---|---|
clear_system_err | string | 清除系统错误。 |
- 代码示例
输入
用于手动清除系统错误,如果不手动清除,错误将一直保留,直到新的运动指令下发则会自动清除
{"command":"clear_system_err"}
输出
清除系统错误成功。
{
"command": "clear_system_err",
"clear_state": true
}
清除系统错误失败。
{
"command": "clear_system_err",
"clear_state": false
}
查询关节温度get_current_joint_temperature
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_current_joint_temperature | string | 查询关节温度。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
current_joint_temperature | int | 反馈关节温度单位:℃,精度:0.001℃ |
- 代码示例
输入
实现:查询关节温度。
{ "command": "get_current_joint_temperature" }
输出
反馈关节温度,参数如下:
六自由度机械臂关节温度[27.5,28.0,26.8,26.8,28.9,30.1];
七自由度机械臂关节温度[27.5,28.0,26.8,26.8,28.9,30.1,31.1];单位:℃,精度:0.001℃。
六自由度:
{
"state": "current_joint_temperature",
"joint_temperature": [
27500,
28000,
26800,
26800,
28900,
30100
]
}
七自由度:
{
"state": "current_joint_temperature",
"joint_temperature": [
27500,
28000,
26800,
26800,
28900,
30100,
31100
]
}
查询关节当前电流get_current_joint_current
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_current_joint_current | string | 查询关节当前电流。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
current_joint_current | int | 反馈关节当前电流单位:mA,精度:0.001mA。 |
- 代码示例
输入
实现:查询关节当前电流。
{ "command": "get_current_joint_current" }
输出
反馈关节当前电流,参数如下:
六自由度机械臂关节1~6电流依次为: 0.065mA,-0.2mA,0.17mA,0.2mA,-0.3mA,0.168mA。
七自由度机械臂关节1~7电流依次为: 0.065mA,-0.2mA,0.17mA,0.2mA,-0.3mA,0.168mA,0.178mA。
六自由度:
{
"state": "current_joint_current",
"joint_current": [
65,
-200,
170,
200,
-300,
168
]
}
七自由度:
{
"state": "current_joint_current",
"joint_current": [
65,
-200,
170,
200,
-300,
168,
178
]
}
查询关节当前电压get_current_joint_voltage
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_current_joint_voltage | string | 查询关节当前电压。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
current_joint_voltage | int | 反馈关节当前电压单位:V,精度:0.001V。 |
- 代码示例
输入
实现:查询关节当前电压。
{ "command": "get_current_joint_voltage" }
输出
反馈关节当前电压,参数如下:
六自由度机械臂关节1~6电压依次为27.5V,28.0V,26.8V,26.8V,28.9V,30.1V。
七自由度机械臂关节1~7电压依次为27.5V,28.0V,26.8V,26.8V,28.9V,30.1V,31.1V。
六自由度:
{
"state": "current_joint_voltage",
"joint_voltage": [
27500,
28000,
26800,
26800,
28900,
30100
]
}
七自由度:
{
"state": "current_joint_voltage",
"joint_voltage": [
27500,
28000,
26800,
26800,
28900,
30100,
31100
]
}
查询机械臂关节角度get_joint_degree
- 输入参数
功能描述 | 类型 | 说明 |
---|---|---|
get_joint_degree | string | 获取机械臂角度信息。 |
- 代码示例
输入
说明:查询机械臂关节角度。
{"command":"get_joint_degree"}
输出
反馈六自由度机械臂关节角度,关节精度:0.001°。
{
"state": "joint_degree",
"joint": [
10,
20,
30,
40,
50,
60
]
}
反馈七自由度机械臂关节角度,关节精度:0.001°。
{
"state": "joint_degree",
"joint": [
10,
20,
30,
40,
50,
60,
70
]
}
查询机械臂所有状态信息get_arm_all_state
- 输入参数
功能描述 | 类型 | 说明 |
---|---|---|
get_arm_all_state | string | 获取机械臂所有信息。 |
- 输出参数
功能描述 | 类型 | 说明 |
---|---|---|
temperature | int | 反馈机械臂温度,单位:℃,精度:0.001℃。 |
current | int | 反馈机械臂当前电流,单位:mA,精度:0.001mA。 |
voltage | int | 反馈机械臂当前电压,单位:V,精度:0.001V。 |
err_flag | int | 关节错误代码。 |
sys_err | int | 系统错误代码。 |
- 代码示例
输入
说明:一次性查询机械臂所有信息。
{"command":"get_arm_all_state"}
输出
反馈六自由度机械臂所有信息。
{
"state": "arm_all_state",
"all_state": {
"temperature": [
21,
22,
23,
24,
25,
26
],
"current": [
11,
12,
13,
14,
15,
16
],
"voltage": [
31,
32,
33,
34,
35,
36
],
"err_flag": [
1,
2,
3,
4,
5,
6
],
"en_flag": [
1,
1,
1,
1,
1,
1
],
"sys_err": 0
}
}
反馈七自由度机械臂所有信息。
{
"state": "arm_all_state",
"all_state": {
"temperature": [
21,
22,
23,
24,
25,
26,
27
],
"current": [
11,
12,
13,
14,
15,
16,
17
],
"voltage": [
31,
32,
33,
34,
35,
36,
37
],
"err_flag": [
1,
2,
3,
4,
5,
6,
7
],
"en_flag": [
1,
1,
1,
1,
1,
1
],
"sys_err": 0
}
}
查询规划计数get_arm_plan_num
- 输入参数
功能描述 | 类型 | 说明 |
---|---|---|
get_arm_plan_num | string | 获取机械臂轨迹规划计数。 |
- 输出参数
功能描述 | 类型 | 说明 |
---|---|---|
plan_num | int | 机械臂轨迹规计数。 |
loop_num | int | 存在循环指令的行数,没有循环指令则返回空。 |
loop_cont | int | 循环指令行数对应的运行次数,没有循环指令则返回空。 |
- 代码示例
输入
反馈机械臂所有信息
{"command":"get_arm_plan_num"}
输出
规划完成第三段轨迹,轨迹规划中不包含循环指令
{
"loop_cont": [
],
"loop_num": [
],
"plan_num": 3,
"state": "arm_plan_num"
}
初始姿态
设置初始状态set_init_pose
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
set_init_pose | string | 设置初始状态。 |
init_pose | int | 初始状态位置,精度 0.001° |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
init_pose | bool | ture :设置成功;false :设置失败。 |
- 代码示例
输入
实现:设置初始状态,参数如下:
六自由度系机械臂初始状态位置[10°,0°,20°,30°,0°,20°]。
七自由度系机械臂初始状态位置[10°,0°,20°,30°,0°,20°,20°]。
六自由度:
{ "command": "set_init_pose", "init_pose": [10000, 0, 20000, 30000, 0, 20000] }
七自由度:
{"command":"set_init_pose","init_pose":[10000,0,20000,30000,0,20000,20000]}
输出
{
"command": "set_init_pose",
"init_pose": true
}
查询初始位置get_init_pose
- 输入参数
参数 | 类型 | 说明 |
---|---|---|
get_init_pose | string | 查询初始位置。 |
- 输出参数
参数 | 类型 | 说明 |
---|---|---|
arm_init_pose | string | 反馈初始位置。 |
init_pose | int | 精度 0.001° |
- 代码示例
输入
实现:查询初始位置。
{ "command": "get_init_pose" }
输出
六自由度:
{
"state": "arm_init_pose",
"init_pose": [
10000,
0,
20000,
30000,
0,
20000
]
}
七自由度:
{
"state": "arm_init_pose",
"init_pose": [
10000,
0,
20000,
30000,
0,
20000,
20000
]
}
安装方式
睿尔曼机械臂可支持不同形式的安装方式,但是安装方式不同,机器人的动力学模型参数和坐标系的方向也有所差别。
设置安装方式参数set_install_pose
- 输入参数
功能描述 | 类型 | 说明 |
---|---|---|
set_install_pose | string | 设置机械臂基座安装方式。 |
pose | int | 基座相对水平面的旋转角、俯仰角和方位角,精度:1度,如上所示,即旋转角为0度,俯仰角为90度,方位角为45度。 |
- 代码示例
输入
{"command":"set_install_pose","pose":[0,90,45]}
输出 设置成功。
{
"command": "set_install_pose",
"set_state": true
}
设置失败。
{
"command": "set_install_pose",
"set_state": false
}
查询安装方式参数set_install_pose
- 输入参数
功能描述 | 类型 | 说明 |
---|---|---|
get_install_pose | string | 设置机械臂基座安装方式。 |
- 代码示例
输入
{"command":"get_install_pose"}
输出 基座相对水平面的旋转角、俯仰角和方位角,精度:1度,如上所示,即旋转角为0度,俯仰角为90度,方位角为45度。
{
"state": "install_pose",
"pose": [
0,
90,
45
]
}