From dcdab76c45f4a562ede19571781f51a0de464620 Mon Sep 17 00:00:00 2001 From: luoyifan Date: Sat, 28 Jun 2025 22:28:51 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=20PTR=20=E7=9A=84=E5=B0=8F?= =?UTF-8?q?=E8=BD=A6=E5=AE=9E=E4=BD=93=E3=80=81=E6=8A=A5=E6=96=87=E6=94=B6?= =?UTF-8?q?=E5=8F=91=E3=80=81=E5=8D=8F=E8=AE=AE=E3=80=81=E5=85=A8=E6=94=BE?= =?UTF-8?q?=E5=9C=A8=E4=B8=80=E8=B5=B7=EF=BC=9B=E5=A2=9E=E5=8A=A0=20agvLoa?= =?UTF-8?q?d/agvUnload/cancelTasks/waitTaskFinish=20=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/script/RCSScript.ts | 51 ++++++++++++++++++++++++++++++++++++++++---- src/types/RCS.d.ts | 42 +++++++++++++++++++++++++++++++----- 2 files changed, 84 insertions(+), 9 deletions(-) diff --git a/src/core/script/RCSScript.ts b/src/core/script/RCSScript.ts index 252d52d..51dd497 100644 --- a/src/core/script/RCSScript.ts +++ b/src/core/script/RCSScript.ts @@ -9,18 +9,29 @@ export default class RCSScript implements RCS { this.viewport = viewport } - agvMove(agvId: string, targetWayPointId: string, option: AgvMoveOption = {}): Promise> { + agvMove(agvId: string, targetWayPointId: string, targetDirection: '' | LLCDirection = '', option: AgvOptions = {}): Promise> { return Request.request.post('/api/workbench/RcsController@agvMove', { projectUUID: worldModel.state.project_uuid, catalogCode: worldModel.state.catalogCode, envId: 1, agvId, targetWayPointId, + targetDirection, option }) } - agvCarry(agvId: string, fromStoreLoc: string, targetStoreLoc: string, option?: any): Promise> { + waitTaskFinish(agvId: string, option: AgvOptions = {}): Promise> { + return Request.request.post('/api/workbench/RcsController@waitTaskFinish', { + projectUUID: worldModel.state.project_uuid, + catalogCode: worldModel.state.catalogCode, + envId: 1, + agvId, + option + }) + } + + agvCarry(agvId: string, fromStoreLoc: string, targetStoreLoc: string, option: AgvOptions = {}): Promise> { return Request.request.post('/api/workbench/RcsController@agvCarry', { projectUUID: worldModel.state.project_uuid, catalogCode: worldModel.state.catalogCode, @@ -32,15 +43,47 @@ export default class RCSScript implements RCS { }) } - agvInfo(agvId: string): Promise> { + agvLoad(agvId: string, targetStoreLoc: string, option: AgvOptions = {}): Promise> { + return Request.request.post('/api/workbench/RcsController@agvLoad', { + projectUUID: worldModel.state.project_uuid, + catalogCode: worldModel.state.catalogCode, + envId: 1, + agvId, + targetStoreLoc, + option + }) + } + + agvUnload(agvId: string, targetStoreLoc: string, option: AgvOptions = {}): Promise> { + return Request.request.post('/api/workbench/RcsController@agvUnload', { + projectUUID: worldModel.state.project_uuid, + catalogCode: worldModel.state.catalogCode, + envId: 1, + agvId, + targetStoreLoc, + option + }) + } + + agvInfo(agvId: string, option: AgvOptions = {}): Promise> { return Request.request.post('/api/workbench/RcsController@agvInfo', { projectUUID: worldModel.state.project_uuid, catalogCode: worldModel.state.catalogCode, envId: 1, - agvId: agvId + agvId: agvId, + option }) } + cancelTasks(agvId: string, option: AgvOptions = {}): Promise> { + return Request.request.post('/api/workbench/RcsController@cancelTasks', { + projectUUID: worldModel.state.project_uuid, + catalogCode: worldModel.state.catalogCode, + envId: 1, + agvId: agvId, + option + }) + } agvToCharger(agvId: string, chargerId: string, option?: any): Promise> { return Request.request.post('/api/workbench/RcsController@agvToCharger', { diff --git a/src/types/RCS.d.ts b/src/types/RCS.d.ts index 343b55a..8330d59 100644 --- a/src/types/RCS.d.ts +++ b/src/types/RCS.d.ts @@ -5,16 +5,18 @@ declare interface RCS { /** * 获取机器人信息 * @param agvId + * @param option 其他选项 */ - agvInfo(agvId: string): Promise> + agvInfo(agvId: string, option: AgvOptions = {}): Promise> /** * 后台机器人移动 * @param agvId 机器人ID * @param targetWayPointId 目标路径点ID + * @param targetDirection 目标方向, 不给值的情况下表示不改变方向 * @param option 选项 */ - agvMove(agvId: string, targetWayPointId: string, option: AgvMoveOption = {}): Promise> + agvMove(agvId: string, targetWayPointId: string, targetDirection: '' | LLCDirection = '', option: AgvOptions = {}): Promise> /** * 后台机器人搬运(库存点 -> 库存点) @@ -23,7 +25,30 @@ declare interface RCS { * @param targetStoreLoc 目标库存点ID * @param option 其他选项 */ - agvCarry(agvId: string, fromStoreLoc: string, targetStoreLoc: string, option: any = {}): Promise> + agvCarry(agvId: string, fromStoreLoc: string, targetStoreLoc: string, option: AgvOptions = {}): Promise> + + /** + * 后台机器人取货(库存点 -> 库存点) + * @param agvId 机器人ID + * @param targetStoreLoc 目标库存点ID + * @param option 其他选项 + */ + agvLoad(agvId: string, targetStoreLoc: string, option: AgvOptions = {}): Promise> + + /** + * 后台机器人卸货(库存点 -> 库存点) + * @param agvId 机器人ID + * @param targetStoreLoc 目标库存点ID + * @param option 其他选项 + */ + agvUnload(agvId: string, targetStoreLoc: string, option: AgvOptions = {}): Promise> + + /** + * 取消机器人任务 + * @param agvId 机器人ID + * @param option 其他选项 + */ + cancelTasks(agvId: string, option: AgvOptions = {}): Promise> /** * 机器人充电 @@ -31,10 +56,17 @@ declare interface RCS { * @param chargerId 充电桩ID * @param option 其他选项 */ - agvToCharger(agvId: string, chargerId: string, option: any = {}): Promise> + agvToCharger(agvId: string, chargerId: string, option: AgvOptions = {}): Promise> + + /** + * 等待机器人任务完成 + * @param agvId 机器人ID + * @param option 其他选项 + */ + waitTaskFinish(agvId: string, option: AgvOptions = {}): Promise> } -declare interface AgvMoveOption { +declare interface AgvOptions { /** * 任务优先级 */