# 手臂轨迹控制能力接口 ## 接口列表 - [手臂轨迹控制任务启动](#手臂轨迹控制任务启动) ### 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 !!!" } ```