From 5ebf967d3438669d6cd66fd8b07dc9c0bd48e678 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 14 十月 2025 16:13:41 +0800
Subject: [PATCH] 1
---
algo-zkd/src/main/java/com/algo/service/PathPlanningService.java | 21 ++++++++++++++++++---
1 files changed, 18 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..026b64b 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,8 @@
import com.algo.config.EnvDataConfig;
import com.algo.model.*;
import com.algo.util.JsonUtils;
+import com.algo.util.PathTimeCalculator;
+import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -43,6 +45,11 @@
* 鍓╀綑璺緞澶勭悊
*/
private RemainingPathProcessor remainingPathProcessor;
+
+ /**
+ * 璺緞鏃堕棿璁$畻鍣�
+ */
+ private PathTimeCalculator timeCalculator;
/**
@@ -73,6 +80,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 +334,7 @@
List<double[]> constraints,
Map<String, String> occupancyMap,
AGVStatus agvStatus) {
- // 棣栧厛灏濊瘯鍩烘湰璺緞瑙勫垝
+ // 灏濊瘯鍩烘湰璺緞瑙勫垝
PlannedPath basicPath = pathPlanner.planPath(startPos, endPos, constraints);
if (basicPath == null) {
return null;
@@ -331,8 +345,8 @@
basicPath, occupancyMap, agvStatus.getPhysicalConfig()
);
- // 璁剧疆璺緞鐨勬椂闂翠俊鎭�
- enhancePathWithTimeInfo(basicPath, safeStartTime, agvStatus.getPhysicalConfig());
+ // 浣跨敤缁熶竴鐨勬椂闂磋绠楀櫒璁剧疆绮剧‘鐨勬椂闂翠俊鎭�
+ timeCalculator.calculatePathTiming(basicPath, safeStartTime, agvStatus.getPhysicalConfig(), 0.0);
return basicPath;
}
@@ -599,6 +613,7 @@
/**
* 璺緞瑙勫垝缁撴灉绫�
*/
+ @Data
public static class PathPlanningResult {
private int totalAgvs;
private int executingTasksCount;
--
Gitblit v1.9.1