航线管理教程

2024-09-19
暂无评分

功能介绍

航线任务管理是用于无人机自主作业的重要功能,通过 MSDK 提供的接口可以实现对航线任务的上传、执行、暂停、恢复以及对航线任务执行状态与航线信息的监听等。航线文件可以定义航线、航点、以及航点任务等,该文件遵循 DJI 自定义的航线文件格式标准(DJI WPML)open in new window

DJI WPML

WPML 航线文件(后称 KMZ)均以 “.kmz” 后缀结尾,其实质是使用 ZIP 格式打包的归档文件。一个标准的 KMZ 解压后,其文件结构展示如下。template.kml 定义业务属性,方便用户进行快速调整编辑。waylines.wpml 定义执行细节。res 文件夹存储辅助资源文件。KMZ 压缩包的名称可以自定义,压缩包名即航线名,其内部的文件夹、kml 文件和 wpml 文件名称必须与以下展示一致。

waypoints_name.kmz
└── wpmz
  ├── res  // 资源文件
  ├── template.kml  // 模板文件
  └── waylines.wpml  // 执行文件

航线文件格式标准(DJI WPML)open in new window 对 KMZ 的字段的介绍逻辑为:

  • 仅在 template.kml 文件中使用
  • 仅在 waylines.wpml 文件中使用
  • 两份文件共用

航线编辑

通过独立库(WPMZ SDK)的形式,对外提供 KMZ 的编辑导入导出、KMZ 上传前的字段静态检查、KML 转换 KMZ 的功能。航线编辑相关接口IWPMZManageropen in new window的介绍请在 MSDK API Reference文件夹内查看。

与航线编辑相关接口介绍如下图。

  • KMZ 生成接口 generateKMZFile() 根据接口传参不同,生成的 KMZ 有些差异。传入经过编辑后的 template 对象,生成的 KMZ 中会包含有效的 template.kml 文件与有效的 waylines.wpml 文件。传入经过编辑后的 waylines 对象,生成的 KMZ 中会包含无效的 template.kml 文件与有效的 waylines.wpml 文件,并且该 KMZ 不支持 DJI Pilot 编辑。
  • KMZ 字段的静态检查不包含所有 wayline.kml 中的字段,我们将在接下来的版本中逐渐补充。
  • 通过 KML 转换 KMZ 接口 transKMLtoKMZ(),非 DJI 渠道生成的 KML 文件转换为 KMZ 时,需要提供高度模式。支持的高度模式有 WGS84、EGM96、RELATIVE,RELATIVE 模式仅用于 DJI Pilot 显示,开发者可以忽略。

接口调用流程

MSDK 航线管理 API 调用方式如下图。详细的使用方法请查看 Mobile SDK API 文档中的航线任务管理类 IWaypointMissionManageropen in new window

  • MSDK 支持从断点处开始、恢复航线任务。
  • 断点续飞在 Matrice 30/30T、Mavic 3E/3T/3M 机型上支持。
  • 只有调用暂停航线任务接口 pauseMission() 后才能查询到断点信息。
  • MSDK 支持查询断点信息,将查到的断点信息作为参数传给开始执行航线任务接口 startMission()与 恢复航线任务接口 resumeMission() 。开发者也可以不查询断点信息,自行创建断点信息对象 BreakPointInfo 指定断点用于传参。

Sample 获取

航线 Sampleopen in new window

若您对文档有意见或疑惑,点击可快速反馈,我们会与您联系。