From e6c977aadbd6fdfa9c0d4be5d16dd83cf4677a79 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 15 十一月 2024 15:12:48 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AvoidWaveCalculator.java | 31 ++++++++++++++++--------------- 1 files changed, 16 insertions(+), 15 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 89e82f6..853b7c2 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 @@ -57,20 +57,21 @@ private MapService mapService; @PostConstruct + @SuppressWarnings("all") public void execute() { this.singleThreadExecutor = Executors.newSingleThreadExecutor(); this.singleThreadExecutor.execute(() -> { + try { Thread.sleep(200); } catch (InterruptedException ignore) {} + this.calcDynamicNodeWhenBoot(); - while (!Thread.currentThread().isInterrupted()) { - - this.calcWaveScope(); - - try { - Thread.sleep(500); - } catch (InterruptedException ignore) {} - } +// while (!Thread.currentThread().isInterrupted()) { +// +// this.calcWaveScope(); +// +// try { Thread.sleep(500); } catch (InterruptedException ignore) {} +// } }); } @@ -97,7 +98,7 @@ // AgvModel agvModel = agvModelService.getById(agv.getAgvModel()); // Code code = codeService.getById(agvDetail.getRecentCode()); // -// Double avoidDistance = MapDataUtils.getVehicleWaveSafeDistance(agvModel.getDiameter(), MapDataConstant.IDLE_DISTANCE_COE); +// Double avoidDistance = MapDataUtils.getVehicleWaveSafeDistance(agvModel.getDiameter(), MapDataConstant.MAX_DISTANCE_BETWEEN_ADJACENT_AGV_FACTOR); // List<NavigateNode> includeList = mapService.getWaveScopeByCode(lev, code.getData(), avoidDistance); // // for (NavigateNode navigateNode : includeList) { @@ -114,13 +115,13 @@ DynamicNode dynamicNode = dynamicMatrix[i][j]; String vehicle = dynamicNode.getVehicle(); if (!DynamicNodeType.ACCESS.val.equals(vehicle) && !DynamicNodeType.BLOCK.val.equals(vehicle)) { - AgvModel agvModel = agvModelService.getById(agvService.selectByUuid(vehicle).getAgvModel()); + AgvModel agvModel = agvModelService.getById(agvService.selectByUuid(vehicle).getAgvModel()); // can be optimized - Double avoidDistance = MapDataUtils.getVehicleWaveSafeDistance(agvModel.getDiameter(), MapDataConstant.IDLE_DISTANCE_COE); + Double avoidDistance = MapDataUtils.getVehicleWaveSafeDistance(agvModel.getDiameter(), MapDataConstant.MAX_DISTANCE_BETWEEN_ADJACENT_AGV_FACTOR); List<NavigateNode> includeList = mapService.getWaveScopeByCode(lev, codeMatrix[i][j], avoidDistance); for (NavigateNode navigateNode : includeList) { - String waveNode = waveMatrix[navigateNode.getX()][navigateNode.getY()]; + String waveNode = waveMatrix[navigateNode.getX()][navigateNode.getY()]; // overlay waveMatrix[navigateNode.getX()][navigateNode.getY()] = MapDataUtils.generateWaveNode(waveNode, vehicle); } } @@ -140,7 +141,7 @@ } stopWatch.stop(); - if (stopWatch.getTime() > 50) { + if (stopWatch.getTime() > 100) { log.info("婊ゆ尝鍑芥暟鑺辫垂鏃堕棿涓猴細{}姣......", stopWatch.getTime()); } @@ -163,7 +164,7 @@ Agv agv = agvService.selectByUuid(agvNo); AgvModel agvModel = agvModelService.getById(agv.getAgvModel()); - Double avoidDistance = MapDataUtils.getVehicleWaveSafeDistance(agvModel.getDiameter(), MapDataConstant.IDLE_DISTANCE_COE); + Double avoidDistance = MapDataUtils.getVehicleWaveSafeDistance(agvModel.getDiameter(), MapDataConstant.MAX_DISTANCE_BETWEEN_ADJACENT_AGV_FACTOR); String[][] waveMatrix = mapDataDispatcher.getWaveMatrix(lev); @@ -203,7 +204,7 @@ if (null == agvDetail) { return; } - if (agvDetail.getPos() == null || agvDetail.getPos() != 1) { + if (agvDetail.getPos() == null) { return; } Long recentCode = agvDetail.getRecentCode(); -- Gitblit v1.9.1