From 125de0818505c4ff40495f55c6c4d27f6e79846f Mon Sep 17 00:00:00 2001
From: aix <vip_xiaobin810@163.com>
Date: Tue, 09 Jul 2024 11:36:20 +0800
Subject: [PATCH] 航线生成飞行器偏移

---
 src/main/java/com/dji/sample/patches/xml/mode/XMLTemplateModel.java               |   16 +++++++++++++---
 src/main/resources/template/template.xml                                          |    6 ++++++
 src/main/java/com/dji/sample/patches/xml/mode/share/action/utils/ActionUtils.java |   12 ++++++++----
 src/main/resources/template/waylines.xml                                          |    6 ++++++
 4 files changed, 33 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/dji/sample/patches/xml/mode/XMLTemplateModel.java b/src/main/java/com/dji/sample/patches/xml/mode/XMLTemplateModel.java
index d9a075a..6f2b986 100644
--- a/src/main/java/com/dji/sample/patches/xml/mode/XMLTemplateModel.java
+++ b/src/main/java/com/dji/sample/patches/xml/mode/XMLTemplateModel.java
@@ -69,6 +69,8 @@
                 actionGroup.setActionTrigger(at);
                 // 开始增加事件
                 List<ActionMode> list = new ArrayList<>();
+
+                //拍照事件
                 ActionMode actionMode = new ActionMode();
                 actionMode.setActionId(1);
                 actionMode.setActionActuatorFunc(CameraActionEnum.TAKE_PHOTO.getDescription());//拍照事件
@@ -78,15 +80,23 @@
                 actionMode.setActionActuatorFuncParam(ActionUtils.setTakePhoto(lotInfos.get(pointPO.getIndex()).getDkbh() + "~" + lotInfos.get(pointPO.getIndex()).getTaskId()));
 //                actionMode.setActionActuatorFuncParam(ActionUtils.setTakePhoto("测试"));
 
+                //云台旋转事件
                 ActionMode actionMode2 = new ActionMode();
                 actionMode2.setActionId(0);
                 actionMode2.setActionActuatorFunc(CameraActionEnum.GIMBAL_ROTATE.getDescription());//旋转云台
-
                 //设置转动角度
-                double bearing = GeoToolsUtil.bearing(pointPO.getCoordinate().x,pointPO.getCoordinate().y,pointPO.getCentro().x,pointPO.getCentro().y);
+                double bearing = GeoToolsUtil.bearing(pointPO.getCoordinate().y,pointPO.getCoordinate().x,pointPO.getCentro().y,pointPO.getCentro().x);
+//                System.out.println("角度:" + bearing);
                 actionMode2.setActionActuatorFuncParam(ActionUtils.setGimbalRotate(bearing));
 
-                list.add(actionMode2);//添加云台旋转
+                // 飞行器偏航事件
+                ActionMode actionModeFxqph = new ActionMode();
+                actionModeFxqph.setActionId(0);
+                actionModeFxqph.setActionActuatorFunc(CameraActionEnum.ROTATE_YAW.getDescription());//飞行器偏航
+                actionModeFxqph.setActionActuatorFuncParam(ActionUtils.setRotateYaw(bearing));
+
+//                list.add(actionMode2);//添加云台旋转
+                list.add(actionModeFxqph);//添加飞行器偏航
                 list.add(actionMode);//添加拍照
                 actionGroup.setActions(list);
 
diff --git a/src/main/java/com/dji/sample/patches/xml/mode/share/action/utils/ActionUtils.java b/src/main/java/com/dji/sample/patches/xml/mode/share/action/utils/ActionUtils.java
index ee3241e..92d2c12 100644
--- a/src/main/java/com/dji/sample/patches/xml/mode/share/action/utils/ActionUtils.java
+++ b/src/main/java/com/dji/sample/patches/xml/mode/share/action/utils/ActionUtils.java
@@ -1,9 +1,6 @@
 package com.dji.sample.patches.xml.mode.share.action.utils;
 
-import com.dji.sample.patches.xml.mode.share.action.param.GimbalRotateParam;
-import com.dji.sample.patches.xml.mode.share.action.param.StartRecordParam;
-import com.dji.sample.patches.xml.mode.share.action.param.StopRecordParam;
-import com.dji.sample.patches.xml.mode.share.action.param.TakePhotoParam;
+import com.dji.sample.patches.xml.mode.share.action.param.*;
 
 /**
  * @PROJECT_NAME: drone
@@ -69,4 +66,11 @@
         return gimbalRotateParam;
     }
 
+    public static RotateYawParam setRotateYaw(double bearing) {
+        RotateYawParam rotateYawParam = new RotateYawParam();
+        rotateYawParam.setAircraftHeading(bearing);
+        rotateYawParam.setAircraftPathMode("clockwise");
+        return rotateYawParam;
+    }
+
 }
diff --git a/src/main/resources/template/template.xml b/src/main/resources/template/template.xml
index f220453..ba51d90 100644
--- a/src/main/resources/template/template.xml
+++ b/src/main/resources/template/template.xml
@@ -148,6 +148,12 @@
                   <#if action.actionActuatorFuncParam.gimbalRotateTime??>
                     <wpml:gimbalRotateTime>${action.actionActuatorFuncParam.gimbalRotateTime!''}</wpml:gimbalRotateTime>
                   </#if>
+                  <#if action.actionActuatorFuncParam.aircraftHeading??>
+                    <wpml:aircraftHeading>${action.actionActuatorFuncParam.aircraftHeading!''}</wpml:aircraftHeading>
+                  </#if>
+                  <#if action.actionActuatorFuncParam.aircraftPathMode??>
+                    <wpml:aircraftPathMode>${action.actionActuatorFuncParam.aircraftPathMode!''}</wpml:aircraftPathMode>
+                  </#if>
                 </wpml:actionActuatorFuncParam>
               </wpml:action>
             <#assign idx = idx + 1>
diff --git a/src/main/resources/template/waylines.xml b/src/main/resources/template/waylines.xml
index bbd6dc3..eda1888 100644
--- a/src/main/resources/template/waylines.xml
+++ b/src/main/resources/template/waylines.xml
@@ -122,6 +122,12 @@
               <#if action.actionActuatorFuncParam.gimbalRotateTime??>
                 <wpml:gimbalRotateTime>${action.actionActuatorFuncParam.gimbalRotateTime!''}</wpml:gimbalRotateTime>
               </#if>
+              <#if action.actionActuatorFuncParam.aircraftHeading??>
+                <wpml:aircraftHeading>${action.actionActuatorFuncParam.aircraftHeading!''}</wpml:aircraftHeading>
+              </#if>
+              <#if action.actionActuatorFuncParam.aircraftPathMode??>
+                <wpml:aircraftPathMode>${action.actionActuatorFuncParam.aircraftPathMode!''}</wpml:aircraftPathMode>
+              </#if>
               </wpml:actionActuatorFuncParam>
             </wpml:action>
             <#assign idx = idx + 1>

--
Gitblit v1.9.3