1、阿罗斯机库蛙跳
This commit is contained in:
parent
762fdf1d7b
commit
6d9bd5a7ca
|
|
@ -1,6 +1,8 @@
|
|||
package com.multictrl.modules.business.dto.flight;
|
||||
|
||||
import com.multictrl.modules.business.dto.multi.PrivateMultiFlightBindDockInfo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
|
@ -19,6 +21,7 @@ import lombok.NoArgsConstructor;
|
|||
*/
|
||||
@Data
|
||||
public class FlightTaskPrepare {
|
||||
|
||||
//计划 ID
|
||||
private String flight_id;
|
||||
//开始执行时间
|
||||
|
|
@ -53,10 +56,7 @@ public class FlightTaskPrepare {
|
|||
private int rth_altitude;
|
||||
//返航高度模式
|
||||
//{"0":"智能高度","1":"设定高度"}
|
||||
/// 智能返航模式下,飞行器将自动规划最佳返航高度。
|
||||
/// 大疆机场当前不支持设置返航高度模式,只能选择'设定高度'模式。
|
||||
/// 当环境,光线不满足视觉系统要求时(譬如傍晚阳光直射、夜间弱光无光),
|
||||
/// 飞行器将使用您设定的返航高度进行直线返航
|
||||
/// 智能返航模式下,飞行器将自动规划最佳返航高度。 大疆机场当前不支持设置返航高度模式,只能选择'设定高度'模式。 当环境,光线不满足视觉系统要求时(譬如傍晚阳光直射、夜间弱光无光), 飞行器将使用您设定的返航高度进行直线返航
|
||||
private int rth_mode;
|
||||
//遥控器失控动作
|
||||
//{"0":"返航","1":"悬停","2":"降落"}
|
||||
|
|
@ -86,10 +86,14 @@ public class FlightTaskPrepare {
|
|||
// 如果不一致则拉取文件更新,如果一致则不处理
|
||||
private int flight_safety_advance_check;
|
||||
|
||||
|
||||
private List<PrivateMultiFlightBindDockInfo> private_multi_flight_bind_dock_info;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class BreakPoint {
|
||||
|
||||
//断点序号
|
||||
@Schema(description = "断点序号")
|
||||
private int index;
|
||||
|
|
@ -110,6 +114,7 @@ public class FlightTaskPrepare {
|
|||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class ExecutableConditions {
|
||||
|
||||
//存储容量
|
||||
//可执行任务的机场或飞行器最低存储容量,机场或飞行器存储容量不满足 storage_capacity 时,任务执行失败。
|
||||
private int storage_capacity;
|
||||
|
|
@ -119,6 +124,7 @@ public class FlightTaskPrepare {
|
|||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class FileInfo {
|
||||
|
||||
//文件 URL
|
||||
private String url;
|
||||
//文件签名 文件内容 MD5 签名
|
||||
|
|
@ -130,6 +136,7 @@ public class FlightTaskPrepare {
|
|||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class ReadyConditions {
|
||||
|
||||
//电池容量
|
||||
//可执行任务的飞行器电池电量百分比阈值,任务开始执行时的飞行器电量必须大于 battery_capacity。
|
||||
private int battery_capacity;
|
||||
|
|
@ -145,6 +152,7 @@ public class FlightTaskPrepare {
|
|||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SimulateMission {
|
||||
|
||||
//是否开启模拟器任务
|
||||
//{"0":"不开启","1":"开启"}
|
||||
//当次任务打开或关闭模拟器
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@ public class MultiServiceImpl implements MultiService {
|
|||
flightExecute.setPrivateMultiFlightBindDockInfos(privateMultiFlightBindDockInfos);
|
||||
|
||||
log.info("privateMultiDockFlightTaskOutbound-> 下发航线给妙算 flightExecute:{}", flightExecute);
|
||||
return routeFlightService.flightExecute(multiTaskDTO.getMiaoSuan().getDockSn(), flightExecute);
|
||||
return routeFlightService.flightExecute(multiTaskDTO.getMiaoSuan().getDockSn(), flightExecute, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public class RouteFlightServiceImpl implements RouteFlightService {
|
|||
* multiFlightBindDockInfos aros机场蛙跳模式参数,把N个参与到蛙跳的的机场信息给到妙算,返航时,自动计算离哪个机库位置近,就降落到哪个机库
|
||||
*/
|
||||
@Override
|
||||
public String flightExecute(String dockSn, FlightExecute flightExecute) {
|
||||
public String flightExecute(String dockSn, FlightExecute flightExecute, Boolean isRecord) {
|
||||
ReentrantLock lock = cacheLock.computeIfAbsent(dockSn, k -> new ReentrantLock());
|
||||
lock.lock();
|
||||
try {
|
||||
|
|
@ -129,7 +129,9 @@ public class RouteFlightServiceImpl implements RouteFlightService {
|
|||
Utils.sleep(1000);
|
||||
String resultMsg = djiBaseService.executeAndReturnResult(dockSn, "flighttask_execute",
|
||||
new JSONObject().set("flight_id", taskId));
|
||||
flightTaskService.addRouteTask(taskId, dockSn, route.getId());
|
||||
if (isRecord) {
|
||||
flightTaskService.addRouteTask(taskId, dockSn, route.getId());
|
||||
}
|
||||
return resultMsg;
|
||||
} finally {
|
||||
Utils.sleep(2000);
|
||||
|
|
|
|||
|
|
@ -2144,3 +2144,76 @@ INSERT INTO "public"."sys_dict_data" ("id", "dict_type_id", "dict_label", "dict_
|
|||
VALUES (2060253516358848514, 2060253239434121218, 'Ars550', 'Ars550', '', 0, 1067246875800000001,
|
||||
'2026-05-29 14:54:50.617', 1067246875800000001, '2026-05-29 14:54:50.617', 'source-material/Ars550.png');
|
||||
|
||||
|
||||
|
||||
-- 20260605 aros 蛙跳 by zhangchuang
|
||||
ALTER TABLE public.bus_dock
|
||||
ADD scenario varchar(128) NULL;
|
||||
COMMENT
|
||||
ON COLUMN public.bus_dock.scenario IS '使用场景';
|
||||
|
||||
|
||||
CREATE TABLE public.bus_multi_group
|
||||
(
|
||||
id int8 NOT NULL,
|
||||
group_name varchar(128) NOT NULL,
|
||||
group_mark varchar(256) NULL,
|
||||
dept_id int8 NULL,
|
||||
creator int8 NULL,
|
||||
create_date timestamp NULL,
|
||||
updater int8 NULL,
|
||||
update_date timestamp NULL
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE public.bus_multi_group IS '跳飞设备组信息';
|
||||
|
||||
-- Column comments
|
||||
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group.id IS '组id';
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group.group_name IS '组名称';
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group.group_mark IS '组描述';
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group.dept_id IS '所属组织';
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group.creator IS '创建人';
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group.create_date IS '创建时间';
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group.updater IS '更新人';
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group.update_date IS '更新时间';
|
||||
|
||||
|
||||
|
||||
CREATE TABLE public.bus_multi_group_device
|
||||
(
|
||||
id int8 NOT NULL,
|
||||
groud_id int8 NOT NULL,
|
||||
gateway_sn varchar(64) NOT NULL,
|
||||
creator int8 NULL,
|
||||
create_date timestamp NULL,
|
||||
updater int8 NULL,
|
||||
update_date timestamp NULL
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE public.bus_multi_group_device IS '蛙跳任务组绑定的设备编号';
|
||||
|
||||
-- Column comments
|
||||
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group_device.id IS '编号';
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group_device.groud_id IS '蛙跳组';
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group_device.gateway_sn IS '设备编号sn';
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group_device.creator IS '创建人';
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group_device.create_date IS '创建时间';
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group_device.updater IS '更新人';
|
||||
COMMENT
|
||||
ON COLUMN public.bus_multi_group_device.update_date IS '更新时间';
|
||||
Loading…
Reference in New Issue