From 62dbd7e739a4ee3ab954445352a93a29b2face8c Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 16 十二月 2024 15:33:15 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/resources/agv.py |  126 +++++++++++++-----------------------------
 1 files changed, 39 insertions(+), 87 deletions(-)

diff --git a/zy-acs-manager/src/main/resources/agv.py b/zy-acs-manager/src/main/resources/agv.py
index 2425f67..a366634 100644
--- a/zy-acs-manager/src/main/resources/agv.py
+++ b/zy-acs-manager/src/main/resources/agv.py
@@ -1,14 +1,13 @@
 import ast
 import sys
+
 import numpy as np
 import json
 import time
 import redis
 
 radiusLen = None
-codeMatrix = None  # 鍏ㄥ眬鍙橀噺
-cdaMatrix = None   # 鍏ㄥ眬鍙橀噺
-waveMatrix = None  # 鍏ㄥ眬鍙橀噺
+
 
 # 灏嗗瓧绗︿覆杞崲涓烘诞鐐瑰瀷鏁扮粍
 def convert_to_float_array(str_array):
@@ -59,7 +58,6 @@
     return list(zip(indices[0], indices[1]))
 
 def initWaveMatrix():
-    global codeMatrix, waveMatrix  # 澹版槑浣跨敤鍏ㄥ眬鍙橀噺
     lev = 1
     waveMatrix = np.empty_like(codeMatrix, dtype=object)
 
@@ -75,10 +73,7 @@
 # 浼樺寲鐗堟湰锛氫娇鐢ㄩ泦鍚堟潵鎻愰珮鎬ц兘
 def mergeWave(originWave, vehicle):
     # 灏嗗瓧绗︿覆瑙f瀽涓洪泦鍚�
-    try:
-        set_data = set(ast.literal_eval(originWave))
-    except (ValueError, SyntaxError):
-        set_data = set()
+    set_data = set(ast.literal_eval(originWave))
     # 濡傛灉 vehicle 涓嶅湪闆嗗悎涓紝鍒欐坊鍔�
     set_data.add(vehicle)
     # 杩斿洖搴忓垪鍖栧悗鐨勫瓧绗︿覆
@@ -95,7 +90,6 @@
 
 # 浣跨敤 numpy 鍔犻�熺殑浠g爜
 def process_dynamic_matrix(dynamicMatrix, codeMatrix):
-    global waveMatrix  # 澹版槑浣跨敤鍏ㄥ眬鍙橀噺
     # 灏� dynamicMatrix 杞崲涓虹粨鏋勫寲鏁扮粍
     dynamicMatrix = convert_to_structured_array(dynamicMatrix)
 
@@ -111,98 +105,56 @@
     # 閬嶅巻婊¤冻鏉′欢鐨勫潗鏍�
     for x, y in zip(x_indices, y_indices):
         # print(code)
-        vehicle = dynamicMatrix[x][y]['vehicle']
-        includeList = getWaveScopeByCode(x, y)
+        data = dynamicMatrix[x][y]
+        vehicle = data['vehicle']
+        includeList = getWaveScopeByCode(x,y)
         for include in includeList:
             originWave = waveMatrix[include['x']][include['y']]
             waveMatrix[include['x']][include['y']] = mergeWave(originWave, vehicle)
 
-def main():
-    global radiusLen, codeMatrix, cdaMatrix, waveMatrix  # 澹版槑浣跨敤鍏ㄥ眬鍙橀噺
+radiusLenStr = sys.argv[1]
+radiusLen = float(radiusLenStr)
 
-    if len(sys.argv) != 6:
-        print("鐢ㄦ硶: python agv.py <radiusLen> <redisHost> <redisPwd> <redisPort> <redisIdx>")
-        sys.exit(1)
+redisHost = sys.argv[2]
+redisPwd = sys.argv[3]
+redisPort = sys.argv[4]
+redisIdx = sys.argv[5]
 
-    radiusLenStr = sys.argv[1]
-    try:
-        radiusLen = float(radiusLenStr)
-    except ValueError:
-        print("radiusLen 蹇呴』鏄竴涓诞鐐规暟")
-        sys.exit(1)
+startTime = time.perf_counter()
 
-    redisHost = sys.argv[2]
-    redisPwd = sys.argv[3]
-    redisPort = sys.argv[4]
-    redisIdx = sys.argv[5]
+# 鍒涘缓涓�涓繛鎺ユ睜
+pool = redis.ConnectionPool(host=redisHost, port=int(redisPort), password=redisPwd, db=int(redisIdx))
+r = redis.Redis(connection_pool=pool)
 
-    startTime = time.perf_counter()
+codeMatrixStr = r.get('KV.AGV_MAP_ASTAR_CODE_FLAG.1')
+codeMatrix = np.array(json.loads(codeMatrixStr))
 
-    # 鍒涘缓涓�涓繛鎺ユ睜
-    try:
-        pool = redis.ConnectionPool(host=redisHost, port=int(redisPort), password=redisPwd, db=int(redisIdx))
-        r = redis.Redis(connection_pool=pool, decode_responses=True)
-    except Exception as e:
-        print(f"鏃犳硶杩炴帴鍒� Redis: {e}")
-        sys.exit(1)
+cdaMatrixStr = r.get('KV.AGV_MAP_ASTAR_CDA_FLAG.1')
+cdaMatrix = np.array(json.loads(cdaMatrixStr))
 
-    try:
-        codeMatrixStr = r.get('KV.AGV_MAP_ASTAR_CODE_FLAG.1')
-        if codeMatrixStr is None:
-            raise ValueError("Redis 涓湭鎵惧埌閿�: KV.AGV_MAP_ASTAR_CODE_FLAG.1")
-        codeMatrix = np.array(json.loads(codeMatrixStr))
-    except Exception as e:
-        print(f"鑾峰彇 codeMatrix 澶辫触: {e}")
-        sys.exit(1)
+dynamicMatrixStr = r.get('KV.AGV_MAP_ASTAR_DYNAMIC_FLAG.1')
+dynamicMatrix = np.array(json.loads(dynamicMatrixStr))
 
-    try:
-        cdaMatrixStr = r.get('KV.AGV_MAP_ASTAR_CDA_FLAG.1')
-        if cdaMatrixStr is None:
-            raise ValueError("Redis 涓湭鎵惧埌閿�: KV.AGV_MAP_ASTAR_CDA_FLAG.1")
-        cdaMatrix = np.array(json.loads(cdaMatrixStr))
-    except Exception as e:
-        print(f"鑾峰彇 cdaMatrix 澶辫触: {e}")
-        sys.exit(1)
+waveMatrix = initWaveMatrix()
 
-    try:
-        dynamicMatrixStr = r.get('KV.AGV_MAP_ASTAR_DYNAMIC_FLAG.1')
-        if dynamicMatrixStr is None:
-            raise ValueError("Redis 涓湭鎵惧埌閿�: KV.AGV_MAP_ASTAR_DYNAMIC_FLAG.1")
-        dynamicMatrix = np.array(json.loads(dynamicMatrixStr))
-    except Exception as e:
-        print(f"鑾峰彇 dynamicMatrix 澶辫触: {e}")
-        sys.exit(1)
+# # 浣跨敤 numpy 鍔犻�熺殑浠g爜
+process_dynamic_matrix(dynamicMatrix, codeMatrix)
 
-    # 鍒濆鍖� waveMatrix
-    try:
-        waveMatrix = initWaveMatrix()
-    except Exception as e:
-        print(f"鍒濆鍖� waveMatrix 澶辫触: {e}")
-        sys.exit(1)
+# for x in range(dynamicMatrix.shape[0]):
+#     for y in range(dynamicMatrix.shape[1]):
+#         data = dynamicMatrix[x, y]
+#         vehicle = data['vehicle']
+#         if vehicle != '0' and vehicle != '-1':
+#             getWaveScopeByCode(x, y)
 
-    # 澶勭悊 dynamicMatrix
-    try:
-        process_dynamic_matrix(dynamicMatrix, codeMatrix)
-    except Exception as e:
-        print(f"澶勭悊 dynamicMatrix 澶辫触: {e}")
-        sys.exit(1)
+# 灏� numpy.ndarray 杞崲涓哄祵濂楀垪琛�
+waveMatrixList = waveMatrix.tolist()
+# 灏嗗祵濂楀垪琛ㄨ浆鎹负 JSON 瀛楃涓�
+waveMatrixJsonStr = json.dumps(waveMatrixList)
 
-    # 灏� numpy.ndarray 杞崲涓哄祵濂楀垪琛�
-    waveMatrixList = waveMatrix.tolist()
-    # 灏嗗祵濂楀垪琛ㄨ浆鎹负 JSON 瀛楃涓�
-    waveMatrixJsonStr = json.dumps(waveMatrixList)
+r.set("KV.AGV_MAP_ASTAR_WAVE_FLAG.1",waveMatrixJsonStr)
 
-    try:
-        r.set("KV.AGV_MAP_ASTAR_WAVE_FLAG.1", waveMatrixJsonStr)
-    except Exception as e:
-        print(f"灏� waveMatrix 鍐欏叆 Redis 澶辫触: {e}")
-        sys.exit(1)
+end = time.perf_counter()
+# print('绋嬪簭杩愯鏃堕棿涓�: %s Seconds' % (end - startTime))
+print("1")
 
-    end = time.perf_counter()
-    # print('绋嬪簭杩愯鏃堕棿涓�: %s Seconds' % (end - startTime))
-    print("1")
-    # 濡傛灉闇�瑕侊紝鍙互鎵撳嵃杩愯鏃堕棿
-    # print(f"绋嬪簭杩愯鏃堕棿涓�: {end - startTime:.2f} 绉�")
-
-if __name__ == "__main__":
-    main()

--
Gitblit v1.9.1