From 344082256c5bef2e92c03725fa97ef0b36c45163 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期二, 14 一月 2025 13:44:28 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AvoidWaveCalculator.java | 48 ++++++------------------------------------------
1 files changed, 6 insertions(+), 42 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AvoidWaveCalculator.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AvoidWaveCalculator.java
index b87f448..58a941b 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AvoidWaveCalculator.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AvoidWaveCalculator.java
@@ -115,8 +115,10 @@
}
stopWatch.stop();
- if (stopWatch.getTime() > 100) {
- log.info("婊ゆ尝鍑芥暟鑺辫垂鏃堕棿涓猴細{}姣......", stopWatch.getTime());
+ if (stopWatch.getTime() > 0) {
+ if (stopWatch.getTime() > 50) {
+ log.info("婊ゆ尝鍑芥暟鑺辫垂鏃堕棿涓猴細{}姣......", stopWatch.getTime());
+ }
}
}
}
@@ -177,6 +179,7 @@
}
private boolean calcWaveScopeByJava(Integer lev) throws Exception {
+
AgvModel agvModel = agvModelService.selectByType(AgvModelType.CTU_BOX_TRANSPORT_AGV.toString()); // can be optimized
Double avoidDistance = MapDataUtils.getVehicleWaveSafeDistance(agvModel.getDiameter(), MapDataConstant.MAX_DISTANCE_BETWEEN_ADJACENT_AGV_FACTOR);
@@ -226,45 +229,6 @@
return scriptFile;
}
- public void syncWaveBySingleVeh(String agvNo, String codeData) {
- if (Cools.isEmpty(agvNo, codeData)) {
- return;
- }
-
- boolean lockAcquired = false;
- Integer lev = MapDataDispatcher.MAP_DEFAULT_LEV;
-
- try {
- if (!(lockAcquired = lock.tryLock(LOCK_TIMEOUT, TimeUnit.SECONDS))) {
- log.warn("AvoidWaveCalculator syncWaveBySingleVeh fail, cause can not acquire lock ...");
- return;
- }
-
- Agv agv = agvService.selectByUuid(agvNo);
- AgvModel agvModel = agvModelService.getById(agv.getAgvModel());
- Double avoidDistance = MapDataUtils.getVehicleWaveSafeDistance(agvModel.getDiameter(), MapDataConstant.MAX_DISTANCE_BETWEEN_ADJACENT_AGV_FACTOR);
-
- String[][] waveMatrix = mapDataDispatcher.getWaveMatrix(lev);
-
- List<NavigateNode> includeList = mapService.getWaveScopeByCode(lev, codeData, avoidDistance);
-
- for (NavigateNode navigateNode : includeList) {
- String waveNode = waveMatrix[navigateNode.getX()][navigateNode.getY()];
- waveMatrix[navigateNode.getX()][navigateNode.getY()] = MapDataUtils.generateWaveNode(waveNode, agv.getUuid());
- }
-
- mapDataDispatcher.setWaveMatrix(lev, waveMatrix);
-
- } catch (Exception e) {
- log.error("AvoidWaveCalculator.syncWaveBySingleVeh fail", e);
- } finally {
-
- if (lockAcquired) {
- lock.unlock();
- }
- }
- }
-
public void calcDynamicNodeWhenBoot() {
List<Agv> agvList = agvService.list(new LambdaQueryWrapper<>());
DynamicNode[][] dynamicMatrix = mapDataDispatcher.getDynamicMatrix(null);
@@ -297,7 +261,7 @@
DynamicNode dynamicNode = dynamicMatrix[codeMatrixIdx[0]][codeMatrixIdx[1]];
String vehicle = dynamicNode.getVehicle();
if (vehicle.equals(DynamicNodeType.ACCESS.val)) {
- mapDataDispatcher.modifyDynamicMatrix(null, Utils.singletonList(code.getData()), agv.getUuid());
+ mapDataDispatcher.modifyDynamicMatrix(null, Utils.singletonList(codeMatrixIdx), agv.getUuid());
}
}
--
Gitblit v1.9.1