aix
2024-07-09 125de0818505c4ff40495f55c6c4d27f6e79846f
航线生成飞行器偏移
4 files modified
40 ■■■■ changed files
src/main/java/com/dji/sample/patches/xml/mode/XMLTemplateModel.java 16 ●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/patches/xml/mode/share/action/utils/ActionUtils.java 12 ●●●●● patch | view | raw | blame | history
src/main/resources/template/template.xml 6 ●●●●● patch | view | raw | blame | history
src/main/resources/template/waylines.xml 6 ●●●●● patch | view | raw | blame | history
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);
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;
    }
}
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>
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>