跳到主要内容

指令飞行

功能概述

指令飞行功能的开放目的是解决无人机与机巢在远程控制过程中,无法即时性操作的限制。在实际应用场景中,无人机可以从空闲状态响应或暂停正在执行的航线任务。开发者通过手动方式继续控制设备或负载。通过指令飞行功能,开发者可以获得安全可靠的无人机控制、高实时性的指令下发与直播画面传输、osd 信息上报以及对负载的控制能力。

指令飞行 API 可以划分为:飞行控制类(DRC)、负载控制类、flyto 指令与一键起飞指令。

  • 飞行控制类指令(DRC)

    DRC(drone remote control)使用 MQTT 协议,并新增两个 Topic 表示上行与下行。[MQTT Topic 定义]中对新增 drc Topic 结构体提供了介绍与示例。云端与设备成功建立 MQTT 连接以后,可以分配一个 EMQX Broker 专门用于云端到设备端的 DRC 通信链路,使得传输与响应更快。DRC 指令需要提前开启指令飞行控制模式才能使用。DRC 指令一般不受飞行控制权的限制,但 DRC-飞行控制 Method: drone_control的使用必须有飞行控制权。

DRC-link

  • 负载控制类指令:负载控制类指令都需要负载控制权。当前负载控制类指令控制相机与云台的动作,实现相机的拍照录像、相机变焦、云台重置等负载操作,从而获取目标的信息。

  • flyto 指令与一键起飞指令:flyto 指令与一键起飞都用于让无人机飞向目标点并悬停,可以在无人机停桨或者空中悬停时执行。

指令飞行时序图

接口详细说明

说明:

  • 指令飞行 API 章节按照 Topic 类型的顺序做介绍,阅读时需要注意理解。
  • 必须是无人机在航点任务时,通过负载控制指令拍摄的媒体文件才会被媒体管理功能上传。

指令飞行]

  • 飞行控制类指令(DRC 指令)
  • 负载控制类指令
  • flyto 指令
  • 一键起飞指令