From 1027b845bde5f9419b49d8db49cd452ab5081976 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期二, 07 四月 2026 13:53:18 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/HkAgvDataService.java |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/HkAgvDataService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/HkAgvDataService.java
index 0dd1bda..b4fae9e 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/HkAgvDataService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/HkAgvDataService.java
@@ -15,8 +15,10 @@
 import com.zy.acs.manager.core.service.astart.MapDataDispatcher;
 import com.zy.acs.manager.core.utils.AgvAngleUtils;
 import com.zy.acs.manager.manager.entity.AgvDetail;
+import com.zy.acs.manager.manager.entity.AgvModel;
 import com.zy.acs.manager.manager.entity.Code;
 import com.zy.acs.manager.manager.service.AgvDetailService;
+import com.zy.acs.manager.manager.service.AgvModelService;
 import com.zy.acs.manager.manager.service.AgvService;
 import com.zy.acs.manager.manager.service.CodeService;
 import com.zy.acs.manager.manager.service.JamService;
@@ -43,6 +45,8 @@
     private AgvService agvService;
     @Autowired
     private AgvDetailService agvDetailService;
+    @Autowired
+    private AgvModelService agvModelService;
     @Autowired
     private CodeService codeService;
     @Autowired
@@ -131,9 +135,14 @@
     private void syncPose(AgvDetail detail, HkState state) {
         HkStateAgvPosition agvPosition = state.getAgvPosition();
         HkStateVelocity velocity = state.getVelocity();
+        AgvModel agvModel = agvModelService.getByAgvId(detail.getAgvId());
 
         if (agvPosition != null && agvPosition.getTheta() != null) {
-            double angle = normalizeAngle(AgvAngleUtils.fromRadians(agvPosition.getTheta()));
+            Double rcsAngle = AgvAngleUtils.fromProtocolRadians(agvPosition.getTheta(), agvModel);
+            if (rcsAngle == null) {
+                return;
+            }
+            double angle = normalizeAngle(rcsAngle);
             detail.setAgvAngle(angle);
             detail.setGyroAngle(angle);
             detail.setEncoderAngle(angle);

--
Gitblit v1.9.1