diff --git a/Arm.md b/Arm.md new file mode 100644 index 0000000..01bdeda --- /dev/null +++ b/Arm.md @@ -0,0 +1,157 @@ +# 手臂轨迹控制能力接口 + +## 接口列表 +- [手臂轨迹控制任务启动](#手臂轨迹控制任务启动) + +### 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 !!!" +} +```