158 lines
4.6 KiB
Markdown
158 lines
4.6 KiB
Markdown
# 手臂轨迹控制能力接口
|
||
|
||
## 接口列表
|
||
- [手臂轨迹控制任务启动](#手臂轨迹控制任务启动)
|
||
|
||
### task_type
|
||
| task_type | 任务说明 |
|
||
| ----------------- | ----------- |
|
||
| 0 | 手臂轨迹控制任务 |
|
||
|
||
|
||
## 手臂轨迹控制任务启动
|
||
|
||
### 请求地址
|
||
`POST /api/task/start_task`
|
||
|
||
### 请求参数
|
||
| 字段名 | 类型 | 必填 | 默认值 | 说明 | 示例值 |
|
||
| ----------------- | ----------- | ---- | ----- |------------ | ------------------- |
|
||
| task_type | int64 | 是 | | 任务类型id | 0 |
|
||
| payload | object | 是 | | 任务输入参数 | |
|
||
| ├─ label | string | 是 | |轨迹名称 | “track1” |
|
||
### label值说明
|
||
| 轨迹名称 | 描述 |
|
||
| ----------------- | ----------- |
|
||
| track1 | 起手式 |
|
||
| track2 | 去传送带抓 |
|
||
| track3 | 抓起检测 |
|
||
| track4 | 放成品框 |
|
||
| track5 | 回起手式 |
|
||
| track6 | 放废品框 |
|
||
| track7 | 回起手式 |
|
||
| track8 | 落手 |
|
||
### 响应参数
|
||
| 字段名 | 类型 | 说明 | 示例值 |
|
||
| -------------- | ------ | -------------- | --------------------------------------- |
|
||
| task_id | string | 任务id | "e5672a6e-0bc2-4646-a019-dd914034e3ed" |
|
||
|
||
### 示例请求
|
||
``` json
|
||
{
|
||
"task_type": 0,
|
||
"payload": {
|
||
"label": “track1”
|
||
}
|
||
}
|
||
```
|
||
### 示例返回
|
||
``` json
|
||
{
|
||
"task_id": "e5672a6e-0bc2-4646-a019-dd914034e3ed"
|
||
}
|
||
```
|
||
需要根据task_id向能力框架查询任务执行情况。
|
||
如果执行成功或执行中,在向能力框架查询到的任务执行情况payload字段如下,status字段为running或finished
|
||
``` json
|
||
// 执行成功payload
|
||
{
|
||
"end_time": "2025-09-16 21:41:46.834",
|
||
"executor_id": "12034fd5-86e0-402b-bb0d-30fad009d56a",
|
||
"executor_type": "ability",
|
||
"id": "61072e7b-5f2c-41f5-b7ba-65d7b7e264bc",
|
||
"start_time": "2025-09-16 21:41:46.808",
|
||
"state": "finished",
|
||
"timeout": 0
|
||
"payload": {
|
||
"result": [
|
||
{
|
||
"status": "success",
|
||
"full_path": "/control/PR2_ROBOT1/play",
|
||
"method": "POST",
|
||
"sent_payload": {
|
||
"action": "play",
|
||
"params": {
|
||
"goal_arm": "right",
|
||
"left_cur_pos": [
|
||
0.55,
|
||
0.167,
|
||
0.966
|
||
],
|
||
"right_cur_pos": [
|
||
0.55,
|
||
-0.167,
|
||
0.966
|
||
],
|
||
"left_angle": [
|
||
1.57,
|
||
0,
|
||
0
|
||
],
|
||
"right_angle": [
|
||
0,
|
||
0,
|
||
1.57
|
||
]
|
||
},
|
||
"robot_name": "PR2_ROBOT1"
|
||
}
|
||
}
|
||
|
||
]
|
||
},
|
||
"message": ""
|
||
}
|
||
|
||
```
|
||
如果执行失败,在向能力框架查询到的任务执行情况payload字段,status字段为error
|
||
``` json
|
||
// 执行失败
|
||
{
|
||
"end_time": "2025-09-16 21:41:46.834",
|
||
"executor_id": "12034fd5-86e0-402b-bb0d-30fad009d56a",
|
||
"executor_type": "ability",
|
||
"id": "61072e7b-5f2c-41f5-b7ba-65d7b7e264bc",
|
||
"start_time": "2025-09-16 21:41:46.808",
|
||
"state": "error",
|
||
"timeout": 0
|
||
"payload": {
|
||
"result": [
|
||
{
|
||
"status": "error",
|
||
"full_path": "/control/PR2_ROBOT1/play",
|
||
"method": "POST",
|
||
"sent_payload": {
|
||
"action": "play",
|
||
"params": {
|
||
"goal_arm": "right",
|
||
"left_cur_pos": [
|
||
0.55,
|
||
0.167,
|
||
0.966
|
||
],
|
||
"right_cur_pos": [
|
||
0.55,
|
||
-0.167,
|
||
0.966
|
||
],
|
||
"left_angle": [
|
||
1.57,
|
||
0,
|
||
0
|
||
],
|
||
"right_angle": [
|
||
0,
|
||
0,
|
||
1.57
|
||
]
|
||
},
|
||
"robot_name": "PR2_ROBOT1"
|
||
}
|
||
}
|
||
|
||
]
|
||
},
|
||
"message": "sendArmCrtlObjectCmd failed !!!"
|
||
}
|
||
```
|