From fcc24525fba4cbc27b0965bf18440efc38ad9150 Mon Sep 17 00:00:00 2001 From: 1 <1@123> Date: 星期一, 12 五月 2025 17:07:31 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/RgvThread.java | 38 +++++++++++++++++++++++++++++++++++++- 1 files changed, 37 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java index 1e6df7b..386207f 100644 --- a/src/main/java/com/zy/core/thread/RgvThread.java +++ b/src/main/java/com/zy/core/thread/RgvThread.java @@ -52,7 +52,7 @@ //# 杞ㄩ亾鍩哄噯鐐� private Long trackBenchmark = 1L; // # 閬胯璺濈 - private Long avoidDistance = 4000L; + private Long avoidDistance = 5000L; /** * 宸ヤ綅1澶嶄綅淇″彿 @@ -343,6 +343,10 @@ log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); return false; } + long avoidAbs = Math.abs(avoid - rgvProtocolOther.getRgvPos()); + if (avoidAbs<51){ + return true; + } rgvTaskProtocolOther.setAvoid(1); rgvTaskProtocolOther.setAvoidingTheDestination(avoid); RgvTaskCache.updateRgvStatus(rgvTaskProtocolOther); @@ -358,6 +362,10 @@ if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[0])) { log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); return false; + } + long avoidAbs = Math.abs(avoid - rgvProtocolOther.getRgvPos()); + if (avoidAbs<51){ + return true; } rgvTaskProtocolOther.setAvoid(1); rgvTaskProtocolOther.setAvoidingTheDestination(avoid); @@ -376,12 +384,22 @@ log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); return false; } + long avoidAbs = Math.abs(avoid - rgvProtocol.getRgvPos()); + if (avoidAbs<51){ + return false; + } rgvTaskProtocol.setAvoid(1); rgvTaskProtocol.setAvoidingTheDestination(avoid); RgvTaskCache.updateRgvStatus(rgvTaskProtocol); return false; } return false; + } + } else { + if ((rgvProtocolOther.getRgvPosDestinationOrPos(true) - rgvProtocolOther.getCarBodyJiaoMing()) + - (targetPosition + rgvProtocol.getCarBodyKunPeng()) + > avoidDistance) {//鏃犻渶閬胯 + return true; } } } else { @@ -395,6 +413,10 @@ if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[1])) { log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); return false; + } + long avoidAbs = Math.abs(avoid - rgvProtocolOther.getRgvPos()); + if (avoidAbs<51){ + return true; } rgvTaskProtocolOther.setAvoid(1); rgvTaskProtocolOther.setAvoidingTheDestination(avoid); @@ -411,6 +433,10 @@ if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[1])) { log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); return false; + } + long avoidAbs = Math.abs(avoid - rgvProtocolOther.getRgvPos()); + if (avoidAbs<51){ + return true; } rgvTaskProtocolOther.setAvoid(1); rgvTaskProtocolOther.setAvoidingTheDestination(avoid); @@ -430,6 +456,10 @@ log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); return false; } + long avoidAbs = Math.abs(avoid - rgvProtocol.getRgvPos()); + if (avoidAbs<51){ + return false; + } rgvTaskProtocol.setAvoid(1); rgvTaskProtocol.setAvoidingTheDestination(avoid); RgvTaskCache.updateRgvStatus(rgvTaskProtocol); @@ -437,6 +467,12 @@ } return false; } + } else { + if ((rgvProtocolOther.getRgvPosDestinationOrPos(false) - rgvProtocolOther.getCarBodyJiaoMing()) + - (targetPosition + rgvProtocol.getCarBodyKunPeng()) + > avoidDistance) {//鏃犻渶閬胯 + return true; + } } } return false; -- Gitblit v1.9.1