From d808837cd368c3772962be591aa6532bcc0cf3e4 Mon Sep 17 00:00:00 2001 From: jianghaiyue <jianghaiyue@zkyt.com> Date: 星期一, 22 九月 2025 12:11:37 +0800 Subject: [PATCH] 更新版本 --- algo-zkd/src/main/java/com/algo/service/PathPlanningService.java | 19 ++++++++++++++++--- 1 files changed, 16 insertions(+), 3 deletions(-) diff --git a/algo-zkd/src/main/java/com/algo/service/PathPlanningService.java b/algo-zkd/src/main/java/com/algo/service/PathPlanningService.java index 833510e..eaafc68 100644 --- a/algo-zkd/src/main/java/com/algo/service/PathPlanningService.java +++ b/algo-zkd/src/main/java/com/algo/service/PathPlanningService.java @@ -3,6 +3,7 @@ import com.algo.config.EnvDataConfig; import com.algo.model.*; import com.algo.util.JsonUtils; +import com.algo.util.PathTimeCalculator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -43,6 +44,11 @@ * 鍓╀綑璺緞澶勭悊 */ private RemainingPathProcessor remainingPathProcessor; + + /** + * 璺緞鏃堕棿璁$畻鍣� + */ + private PathTimeCalculator timeCalculator; /** @@ -73,6 +79,13 @@ // 鍒濆鍖栧墿浣欒矾寰勫鐞嗗櫒 this.remainingPathProcessor = new RemainingPathProcessor(envDataConfig.getPathMapping()); + + // 鍒濆鍖栨椂闂磋绠楀櫒 + Map<String, double[]> realCoordinateMapping = JsonUtils.loadRealCoordinateMapping("man_code.json"); + this.timeCalculator = new PathTimeCalculator(envDataConfig.getPathMapping(), realCoordinateMapping); + + // 涓虹鎾炶В鍐冲櫒璁剧疆鏃堕棿璁$畻鍣� + this.collisionResolver.setTimeCalculator(timeCalculator); } /** @@ -320,7 +333,7 @@ List<double[]> constraints, Map<String, String> occupancyMap, AGVStatus agvStatus) { - // 棣栧厛灏濊瘯鍩烘湰璺緞瑙勫垝 + // 灏濊瘯鍩烘湰璺緞瑙勫垝 PlannedPath basicPath = pathPlanner.planPath(startPos, endPos, constraints); if (basicPath == null) { return null; @@ -331,8 +344,8 @@ basicPath, occupancyMap, agvStatus.getPhysicalConfig() ); - // 璁剧疆璺緞鐨勬椂闂翠俊鎭� - enhancePathWithTimeInfo(basicPath, safeStartTime, agvStatus.getPhysicalConfig()); + // 浣跨敤缁熶竴鐨勬椂闂磋绠楀櫒璁剧疆绮剧‘鐨勬椂闂翠俊鎭� + timeCalculator.calculatePathTiming(basicPath, safeStartTime, agvStatus.getPhysicalConfig(), 0.0); return basicPath; } -- Gitblit v1.9.1