From 85ecc4d9a9af134cdf447a2c27e65f1a75f265db Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@gmail.com> Date: 星期二, 18 三月 2025 13:30:43 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/constants.js | 6 ++++-- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 12 +++++++++--- zy-acs-flow/src/map/tool.js | 4 ++-- zy-acs-manager/src/main/java/com/zy/acs/manager/core/DemoController.java | 11 ++++++----- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/zy-acs-flow/src/map/constants.js b/zy-acs-flow/src/map/constants.js index feeac8a..c38044d 100644 --- a/zy-acs-flow/src/map/constants.js +++ b/zy-acs-flow/src/map/constants.js @@ -1,8 +1,10 @@ -export const ANIMATE_DURING_TIME = 300; - export const MAP_DEFAULT_ROTATION = 180; +export const AGV_ANGLE_OFFSET_VAL = 0; + +export const ANIMATE_DURING_TIME = 300; + export const MAP_MODE = Object.freeze({ OBSERVER_MODE: "1", MOVABLE_MODE: "2", diff --git a/zy-acs-flow/src/map/tool.js b/zy-acs-flow/src/map/tool.js index 740fff6..134a407 100644 --- a/zy-acs-flow/src/map/tool.js +++ b/zy-acs-flow/src/map/tool.js @@ -11,6 +11,7 @@ DEVICE_SELECTED_EFFECT_COLOR, POINT_ROUTE_DIRECTION, ANIMATE_DURING_TIME, + AGV_ANGLE_OFFSET_VAL, } from './constants'; import { getRouteList } from './http'; import PointRoute from "./PointRoute"; @@ -712,8 +713,7 @@ } } -const agvRotationOffsetDegrees = 90; -const agvRotationOffset = rotationParseNum(agvRotationOffsetDegrees); +const agvRotationOffset = rotationParseNum(AGV_ANGLE_OFFSET_VAL); const showAgvSprite = (curZone, agvVo, setCurSprite) => { const { agvNo, code, direction, battery, jobType, backpack: backpackCount, slots, error } = agvVo; diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DemoController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DemoController.java index 09533ab..096cba8 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DemoController.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DemoController.java @@ -7,10 +7,7 @@ import com.zy.acs.manager.core.service.*; import com.zy.acs.manager.core.service.astart.MapDataDispatcher; import com.zy.acs.manager.core.utils.RouteGenerator; -import com.zy.acs.manager.manager.entity.Agv; -import com.zy.acs.manager.manager.entity.AgvDetail; -import com.zy.acs.manager.manager.entity.Code; -import com.zy.acs.manager.manager.entity.FuncSta; +import com.zy.acs.manager.manager.entity.*; import com.zy.acs.manager.manager.enums.FuncStaType; import com.zy.acs.manager.manager.enums.StatusType; import com.zy.acs.manager.manager.service.*; @@ -63,6 +60,8 @@ private RouteGenerator routeGenerator; @Autowired private FuncStaService funcStaService; + @Autowired + private AgvModelService agvModelService; @RequestMapping(value = "/system/info", method = {RequestMethod.GET, RequestMethod.POST}) public R systemInfo() { @@ -149,11 +148,13 @@ Agv agv = agvList.get(i); AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId()); + AgvModel agvModel = agvModelService.getByAgvId(agv.getId()); + Double workDirection = agvModel.getWorkDirection(); agvDetail.setPos(1); agvDetail.setCode(code.getId()); agvDetail.setStatus(AgvStatusType.IDLE.val); - agvDetail.setAgvAngle(90D); + agvDetail.setAgvAngle(workDirection); agvDetail.setVol(5000); agvDetailService.updateById(agvDetail); diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java index efc79ab..7cf12fb 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java @@ -696,27 +696,33 @@ Code nextCode = codeService.getCacheByData(next); Double nextDirection = mapService.calculateDirection(lastCode, nextCode, angleOffsetVal); - // 濡傛灉鍘讳笅涓妭鐐圭殑鏂瑰悜涓庡綋鍓嶆柟鍚戝樊180搴︼紝鍒欎笉闇�瑕佹棆杞紝鏀逛负鍙嶆柟鍚戣璧帮紝nextDirection缁х画璧嬪�兼槸涓轰簡閬垮厤 鈥樼涓�涓姩浣滀竴瀹氭槸 turn鈥� 鐨勫垽鏂� + // 绗竴姝ワ細濡傛灉涓嬩竴涓柟鍚戞濂芥槸浣滀笟鏂瑰悜鐨勭浉鍙嶆柟鍚戯紝鍒欓噸缃笅涓�涓柟鍚戜负浣滀笟鏂瑰悜锛屾爣璁皉everse boolean reverse = false; if (nextDirection.equals((workDirection + 180) % 360)) { nextDirection = workDirection; reverse = true; } + // 绗簩姝ワ細鍒ゆ柇褰撳墠鑺傜偣鏄惁鍙互鏃嬭浆 if (!lastCode.getCornerBool()) { + // 濡傛灉鏄綔涓氭柟鍚戯紝浣嗘槸灏忚溅鍦ㄥ贩閬撳唴鏂瑰悜閿欒锛屽垯鍋滄 + if (reverse && !lastDirection.equals(nextDirection)) { + throw new CoolException(agvNo + "鍙峰皬杞︽柟鍚戦敊璇紝璇锋帹鑷宠浆寮偣鎵嬪姩璋冩暣"); + } + // 濡傛灉涓嶆槸浣滀笟鏂瑰悜锛屽垽鏂槸鍚︾浉鍙嶆柟鍚戯紝濡傛灉鍙嶆柟鍚戝垯鍊掗��琛岃蛋 if (nextDirection.equals((lastDirection + 180) % 360)) { nextDirection = lastDirection; reverse = true; } } else { if (!lastDirection.equals(nextDirection)) { - if (lastDirection.equals((nextDirection + 180) % 360)) { + if (nextDirection.equals((lastDirection + 180) % 360)) { nextDirection = lastDirection; reverse = true; } else { // turn actionList.add(new Action( - null, // 缂栧彿 + null, // 缂栧彿s task.getBusId(), // 鎬荤嚎 task.getId(), // 浠诲姟 null, // 鍔ㄤ綔鍙� -- Gitblit v1.9.1