news 2026/6/12 3:25:52

一键起飞条件分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一键起飞条件分析

一键起飞条件分析

根据代码分析,一键起飞功能涉及前端检查后端校验用户确认三个层面的条件约束:


一、前端条件检查

1. 电量限制

文件:[droneCommon.ts](file:///d:/java/Dji/dji-cloud-main/wvp-ui/src/views/auth/system/air/components/droneCommon.ts#L45-49)

exportconstTAKEOFF_MIN_BATTERY_PERCENT=30exportfunctionisTakeoffBlockedByBattery(osd:any):boolean{constbattery=osd?.battery?.capacityPercentreturnNumber(battery)<=TAKEOFF_MIN_BATTERY_PERCENT}

条件:电池电量 ≤ 30% 时禁止起飞


2. 信号质量检查

文件:[droneCommon.ts](file:///d:/java/Dji/dji-cloud-main/wvp-ui/src/views/auth/system/air/components/droneCommon.ts#L52-71)

检查项阈值处理方式
电量警告30% < 电量 < 60%警告提示
搜星质量RTK/GPS 数量 < 10警告提示

3. 多机高度冲突检测

文件:[droneCommon.ts](file:///d:/java/Dji/dji-cloud-main/wvp-ui/src/views/auth/system/air/components/droneCommon.ts#L80-100)

条件:多架次无人机之间的安全起飞高度返航高度需间隔10米,否则冲突检测失败。


二、后端核心校验

1. 起飞条件校验(核心)

文件:[ControlServiceImpl.java](file:///d:/java/Dji/dji-cloud-main/dji-cloud/wvp-server/src/main/java/com/gbcom/wvp/dji/control/service/impl/ControlServiceImpl.java#L162-173)

privatevoidcheckTakeoffCondition(StringdockSn){Optional<DeviceDTO>dockOpt=deviceRedisService.getDeviceOnline(dockSn);// 条件1:设备必须在线 且 状态必须是 IDLEif(!dockOpt.isPresent()||DockModeCodeEnum.IDLE!=deviceService.getDockMode(dockSn)){thrownewRuntimeException("The current state does not support takeoff.");}// 条件2:必须获取飞行控制权HttpResultResponseresult=seizeAuthority(dockSn,DroneAuthorityEnum.FLIGHT,null);if(HttpResultResponse.CODE_SUCCESS!=result.getCode()){thrownewIllegalArgumentException(result.getMessage());}}

后端起飞条件

条件说明失败时异常信息
设备在线无人机/基站必须处于在线状态“The current state does not support takeoff.”
设备空闲基站状态必须为IDLE“The current state does not support takeoff.”
飞行权限平台必须获取飞行控制权权限获取失败信息

2. 飞行配置限高检查

文件:[ControlServiceImpl.java](file:///d:/java/Dji/dji-cloud-main/dji-cloud/wvp-server/src/main/java/com/gbcom/wvp/dji/control/service/impl/ControlServiceImpl.java#L189-238)

配置项检查规则失败时异常信息
安全起飞高度≤ 系统限高配置“安全起飞点高度超过限高”
返航高度≤ 系统限高配置“返航高度超过限高”
目标高度≤ 系统限高配置(默认20米)“目标高度超过限高”

三、用户确认(UI层)

起飞前检查弹窗

文件:[takeoff-check-modal.vue](file:///d:/java/Dji/dji-cloud-main/wvp-ui/src/views/auth/system/air/components/takeoff-check-modal.vue#L1-152)

必须确认的信息

项目说明
安全起飞高度(ALT)默认为50米
返航高度(ALT)默认为100米
目标点高度可选显示
失联动作非M300/M350机型显示

强制要求:必须勾选“已确认周边环境安全”复选框才能点击"立即执行"。


完整起飞条件流程图

用户点击"一键起飞" ↓ ┌─────────────────────────────────────┐ │ 前端检查层 │ │ ├─ 电量 ≤ 30% ? → 禁止起飞 │ │ ├─ 搜星质量 < 10 ? → 警告 │ │ └─ 多机高度冲突检测 → 冲突则提示 │ └─────────────────────────────────────┘ ↓ 通过 ┌─────────────────────────────────────┐ │ UI确认层 │ │ ├─ 显示起飞配置信息 │ │ └─ 必须勾选"周边环境安全"确认 │ └─────────────────────────────────────┘ ↓ 确认 ┌─────────────────────────────────────┐ │ 后端校验层 │ │ ├─ 设备在线 + 状态IDLE ? │ │ ├─ 飞行权限获取成功 ? │ │ └─ 配置高度 ≤ 系统限高 ? │ └─────────────────────────────────────┘ ↓ 通过 ┌─────────────────────────────────────┐ │ 发送起飞命令到无人机 │ └─────────────────────────────────────┘

总结

一键起飞需同时满足以下全部条件

层级条件严格程度
前端硬限制电池电量 > 30%必须满足
前端警告搜星质量 ≥ 10建议满足
前端冲突检测高度间隔 ≥ 10米(多机场景)必须满足
用户确认勾选环境安全确认必须满足
后端状态校验设备在线 + 状态IDLE必须满足
后端权限校验获取飞行控制权必须满足
后端配置校验各高度值 ≤ 系统限高必须满足
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 3:17:51

YimMenu完整指南:GTA5终极辅助工具的安全使用教程

YimMenu完整指南&#xff1a;GTA5终极辅助工具的安全使用教程 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu …

作者头像 李华
网站建设 2026/6/12 3:10:29

深入MAX30102心率血氧算法:手把手教你读懂并优化官方C代码

深入MAX30102心率血氧算法&#xff1a;从信号处理到嵌入式优化实战 当手指轻轻触碰MAX30102传感器时&#xff0c;这颗仅5.6mm3.3mm的芯片便开始捕捉生命体征的微妙波动。作为生物信号处理领域的明星器件&#xff0c;其背后的算法逻辑远比硬件本身更值得玩味。本文将带您深入 a…

作者头像 李华
网站建设 2026/6/12 3:09:53

钢结构焊缝缺陷及焊缝质量检验要点有哪些?

钢结构焊缝缺陷及焊缝质量检验要点有哪些? 1、焊缝缺陷 焊缝缺陷指焊接过程中产生于焊缝金属或附近热影响区钢材表面或内部的缺陷。常见的缺陷有裂纹、焊瘤、烧穿、弧坑、气孔、夹渣、咬边、未熔合、未焊透(图3.9)等;以及焊缝尺寸不符合要求、焊缝成形不良等。裂纹是焊缝连…

作者头像 李华
网站建设 2026/6/12 3:08:55

【电脑端 AI 智能体】 OpenClaw 从下载安装到实操全过程(含安装包)

告别手动配环境&#xff01;OpenClaw Windows 一键部署全流程&#xff0c;3 分钟安装上手指南 前言 如今各类开源 AI 工具层出不穷&#xff0c;OpenClaw 也被大家亲切称作小龙虾&#xff0c;依托本地运行与自动化操控的特性&#xff0c;成为不少办公人员、技术爱好者青睐的效…

作者头像 李华