From 12f30a09bce1c61b2ae90129124cdc467a59b074 Mon Sep 17 00:00:00 2001
From: jianghaiyue <jianghaiyue@zkyt.com>
Date: 星期三, 05 十一月 2025 15:03:17 +0800
Subject: [PATCH] 优化更新
---
algo-zkd/src/main/java/com/algo/service/AStarPathPlanner.java | 18 +++++++++++-------
1 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/algo-zkd/src/main/java/com/algo/service/AStarPathPlanner.java b/algo-zkd/src/main/java/com/algo/service/AStarPathPlanner.java
index cdc4431..894f28e 100644
--- a/algo-zkd/src/main/java/com/algo/service/AStarPathPlanner.java
+++ b/algo-zkd/src/main/java/com/algo/service/AStarPathPlanner.java
@@ -44,7 +44,7 @@
/**
* 鏈�澶ф悳绱㈡繁搴�
*/
- private final int maxSearchDepth = 15000;
+ private final int maxSearchDepth = 50000;
/**
* 璺濈缂撳瓨
@@ -158,7 +158,8 @@
if (fastPath != null) {
return fastPath;
}
- return planSpaceTimePath(startCode, endCode, constraints, null, null);
+ long defaultStartTime = System.currentTimeMillis();
+ return planSpaceTimePath(startCode, endCode, constraints, null, null, defaultStartTime);
}
@Override
@@ -174,12 +175,14 @@
* @param constraints 闈欐�佺害鏉熸潯浠�
* @param spaceTimeOccupancyMap 鏃剁┖鍗犵敤琛�
* @param physicalConfig CTU鐗╃悊閰嶇疆
+ * @param startTimeMs 璧峰鏃堕棿锛堟绉掞級
* @return 瑙勫垝鐨勮矾寰�
*/
public PlannedPath planSpaceTimePath(String startCode, String endCode,
List<double[]> constraints,
Map<String, String> spaceTimeOccupancyMap,
- CTUPhysicalConfig physicalConfig) {
+ CTUPhysicalConfig physicalConfig,
+ long startTimeMs) {
// 楠岃瘉杈撳叆
if (!isValidPathPoint(startCode) || !isValidPathPoint(endCode)) {
System.out.println("鏃犳晥鐨勮矾寰勭偣: " + startCode + " 鎴� " + endCode);
@@ -212,7 +215,7 @@
// 鏃剁┖A*绠楁硶瀹炵幇
PlannedPath result = spaceTimeAStarSearch(
startCode, endCode, startCoord, endCoord,
- constraints, spaceTimeOccupancyMap, physicalConfig
+ constraints, spaceTimeOccupancyMap, physicalConfig, startTimeMs
);
if (result != null) {
@@ -234,13 +237,15 @@
* @param constraints 绾︽潫鏉′欢
* @param occupancyMap 鏃剁┖鍗犵敤琛�
* @param physicalConfig 鐗╃悊閰嶇疆
+ * @param startTimeMs 璧峰鏃堕棿锛堟绉掞級
* @return 瑙勫垝鐨勮矾寰�
*/
private PlannedPath spaceTimeAStarSearch(String startCode, String endCode,
int[] startCoord, int[] endCoord,
List<double[]> constraints,
Map<String, String> occupancyMap,
- CTUPhysicalConfig physicalConfig) {
+ CTUPhysicalConfig physicalConfig,
+ long startTimeMs) {
// 浣跨敤浼樺厛闃熷垪瀹炵幇寮�鏀惧垪琛�
PriorityQueue<SpaceTimeAStarNode> openSet = new PriorityQueue<>(
@@ -250,8 +255,7 @@
Map<String, Double> gScores = new HashMap<>();
Map<String, SpaceTimeAStarNode> cameFrom = new HashMap<>();
- // 璧峰鏃堕棿
- long startTime = System.currentTimeMillis();
+ long startTime = startTimeMs;
// 鍒濆鍖栬捣濮嬭妭鐐�
SpaceTimeAStarNode startNode = new SpaceTimeAStarNode(
--
Gitblit v1.9.1