DJI Mobile SDK为开发者提供了丰富的API接口,可以供用户按自身需求开发出不同的移动应用软件。根据移动设备平台的不同,Mobile SDK又主要分为IOS SDK与Android SDK,此文主要就Android SDK进行讨论,内容来源于DJI官网。
一:SDK架构
官方给出架构图如下所示:

图 DJI Mobile SDK 架构图
由上述架构图可以看出,Mobile SDK 主要包含5部分,其主要功能概述依据大疆官网给出的如下:
SDK Manager: Manages registration of the SDK, product connection and provides access to the product itself.
Product: The aircraft or handheld product, this class holds basic product properties and contains the main product components.
Component: Component classes describe the gimbal, camera, flight controller, remote controller and wireless link. The classes provide component control, state information and contain subcomponents.
Mission: Classes that describe different missions such as Waypoint and ActiveTrack missions and hold their setup properties and status.
Mission Control: Mission Control handles execution of missions. Either single missions can be run through dedicated mission operators, or a series of missions and actions can be run serially using the Timeline.
更为具体的SDK类描述如下:

图 组件详细描述

图 任务详细描述
二:SDK 任务介绍
2.1 Waypoint Mission
官方概述如下:A waypoint mission is a series of pre-defined locations (waypoints) the aircraft will fly to. A location is a latitude, longitude and altitude. Aircraft heading and altitude between waypoints can change either gradually or at the waypoint itself. A series of actions (such as take photo) can be executed at each waypoint.
依据官方介绍,waypoint mission可直接编辑航点使无人机按规划路线从一个航点向另一个航点进行飞行,在飞行过程中可以进行拍照,视频录制等工作。但最多航点数不超过99个。官方给出示意图如下图所示:

图 waypoint mission 示意图
2.2 Hot Point Mission
官方概述如下:In a Hot Point Mission, the aircraft will repeatedly fly circles of a constant radius around a specified point called a Hot Point. Altitude, velocity, the Hot Point location, aircraft heading and flight direction can all be defined as part of the mission.Altitude, heading and radius can also be adjusted manually using the remote controller control sticks during the mission.
依据官方介绍,Hot Point Mission功能让无人机按照提前设置好的环绕半径绕 “热点”进行飞行。在任务进行中可以控制其环绕的高度和飞机朝向等的设置。其示意图如下:

图 Hot Point Mission
2.3 Follow Me Mission
官方概述如下:In a Follow Me Mission, the aircraft will follow GPS coordinates continually sent to the aircraft maintaining separation and a constant altitude.The aircraft will hover in place if it hasn’t received a new GPS coordinate for more than 6 seconds.
依据官方介绍,该任务模式下无人机将按物体分享的GPS信息实时的对物体进行跟踪。任务示意图如下:

图 Follow Me Mission 示意图

2.4 ActiveTrack Mission
官方概述如下:The ActiveTrack Mission allows an aircraft to track a moving subject using the vision system and without a GPS tracker on the subject.
依据官方介绍,该任务模式可以利用无人机自身的视觉系统对指定物体进行跟踪拍摄。该任务模式示意图如下:

图 ActiveTrack Mission 示意图
2.5 TapFly Mission
官方概述如下:The TapFly mission flies the aircraft in the direction of a point on the live video stream that the user chooses. The mission is initialized with a position target from the live video stream. The 3D direction of the coordinate is calculated, and the aircraft proceeds to fly in that direction.
该模式下,用户在给出一个具体位置的经纬度,以及高度信息后,无人机便可以自动飞行前往。带有自主避障系统的无人机将在飞行途中自动躲避障碍物。

图 TapFly mission 示意图
2.6 Panorama Mission
官方概述如下:The Panorama Mission rotates the camera 180 or 360 degrees while taking photos which can then be downloaded to render a panorama. In full circle mode, 8 photos are taken. In half circle mode, 5 photos are taken. Other commands cannot be sent to the camera until the mission is finished. The Panorama Mission does not support the image stitching feature, so the images must be stitched manually. All the images will be stored on the SD card.
该任务模式下,用户可以针对区域进行全景的拍摄。
三:SDK 详细介绍
3.1 SDK 类的分类
在Mobile Android SDK中包含有 Manager Class、Base Class、Product Class、Component Class、Mission Class、MSC Class等6个大类。其中每个大类下包含许多子类,分别进行相应的管理操作。
3.1.1 Manager Class
Manager Class类下设的子类包含如下:DJISDKManager、KeyManager、FlyZoneManager、AppActivationManager、UserAccountManager、DataProtectionManager、LDMManager、FlightHubManager。分别可以用于对SDK、App密匙以及用户账号等一系列的管理。
3.1.2 Base Class
Base Class类下包含BaseProduct、BaseComponent两个子类,分别是产品买描述类与组件类的基类。
3.1.3 product Class
产品类包含有Aircraft、HandHeld两个子类,分别用于描述无人机与手持云台设备。
3.1.4 Component Classes
组件类包含以下子类FlightController、Battery、Camera、Gimbal、AirLink、RemoteController、HandheldController、MobileRemoteController、Payload。
3.1.5 Mission Classes
Mission Classes主要包含以下类:MissionControl 、MissionAction 、TimelineMission 、Trigger 、WaypointMissionOperator 、FollowMeMissionOperator、
PanoramaMissionOperator、 HotpointMissionOperator 、TapFlyMissionOperator、 ActiveTrackOperator。用于对各个任务进行管理。
3.1.6 Misc Classes
Misc Classes 主要包含以下类:CommonCallbacks、 DJIParamCapability、DJIError 、DJIDiagnostics 、DJICodecManager。
3.2 Component Class 中的常用组件类介绍
加粗字体对应一级子类、不加粗字体为其二级子类(包含在对应一级子类中)
3.2.1 FlightController
FlightControllerState
Attitude
LocationCoordinate3D
GoHomeAssessment
Compass
RTK
RTKState
ReceiverInfo
LandingGear
Intelligent Flight Assistant
VisionDetectionState
Detection Sector
Detection State
Smart Capture State
Simulator
InitializationData
SimulatorState
IMUState
MultipleOrientationCalibrationHint
FlightControlData
LocationCoordinate2D
AirSenseSystemInformation
AirSenseAirplaneState
Limits
上述类及类中的方法可以供开发者获取当前飞机的飞行姿态,GPS信息等,还可以通过控制俯仰、偏航以及旋转角控制飞机的飞行等。详细参考官方API。地址如下:https://developer.dji.com/api-reference/android-api/Components/FlightController/DJIFlightController_DJIVirtualStickFlightControlData.html
3.2.3 Camera
SystemState
FocusState
StorageState
SSDState
MediaManager
MediaFile
VideoPlaybackState
FetchMediaTaskScheduler
FetchMediaTask
PlaybackManager
PlaybackState
Capabilities
SettingsDefinitions
ExposureSettings
OpticalZoomSpec
PhotoTimeIntervalSettings
ThermalProfile
ThermalAreaTemperatureAggregations
ThermalExternalSceneSettings
WhiteBalance
SSDClipFileName
FocusAssistantSettings
PhotoTimeLapseSettings
ResolutionAndFrameRate
PictureStylePreset
CameraLiveView
ColorWaveformSettings
StabilizationState
上述类及类中的方法可以供开发者获取以及设置相机的基本参数。
3.2.3 Gimbal
GimbalState
MovementSettings
Attitude
Rotation
Builder
上述类及类中的方法可以供开发者控制云台相对无人机的俯仰、偏航以及旋转角等,还可以设置云台转动速度等参数。

DJI mobile SDK学习相关推荐

  1. 大疆无人机DJI Mobile SDK入门(一)

    目录: 大疆无人机DJI Mobile SDK(Android)入门(一) 大道无疆,创新无限! 将您的想法变为现实! 未来,无所不能! 小Z码农有幸能接触到这么高逼格的玩具.就将这段爱恨往事作为笔记 ...

  2. 大疆 DJI mobile SDK系列详细教程——运行实例代码(跑通大疆官方提供Mobile SDK里的sample code)

    大疆 DJI mobile SDK系列详细教程--运行实例代码(跑通大疆官方提供Mobile SDK里的sample code) 文章目录 一.官方文献与资源地址 二.操作步骤 提示:昨天在尝试跑通大 ...

  3. 大疆 DJI Mobile SDK 开发:模拟器调试

    目录 创建飞行控制器界面 1.新建Activiity 2.MainActivity activity_main.xml MainActivity.java 3.FlightActivity activ ...

  4. DJI Mobile SDK初步开发

    大疆Mobile SDK初步开发 1. 从MSDK示例代码开始 配置代码运行环境 (1)下载Moblie SDK:DJI MSDK下载. (2)准备Android开发环境,推荐使用Android St ...

  5. 大疆无人机二次开发简介-引入DJI mobile SDK 4.8

    基于android studio 3.5 1.引入DJI mobile SDK 4.8和DJI UX SDK 4.8 部分build.gradle如下 apply plugin: 'com.andro ...

  6. 大疆无人机二次开发进阶-DJI mobile SDK和DJI onboard SDK联合开发行业应用项目

    PS:最近又涉及该项目,增加部分没写内容,记录下详细步骤. 上一篇文章讲到了怎么使用DJI mobile SDK,这次主要讲解DJI mobile SDK和DJI onboard SDK联合开发. a ...

  7. 【DJI Mobile SDK】RTMP 推流卡顿问题

    /** * 只对作者个人理解的功能进行描述说明,参考官方说明文档 * 需要其他功能教程或说明请留言或私信 * 需要其他合作请留言或私信 * auth by antman-s */ 项目场景: 使用大疆 ...

  8. DJI Mobile SDK(2):多自由度控制飞行(Virtual Stick)

      由于项目开发需要用电脑控制Mavic进行飞行.最终选择的方案是用手机做一个中转,即"电脑->手机app->遥控器->飞行器",电脑和手机之间采用TCPSock ...

  9. 开发自己的DJI四旋翼无人机(A3飞控Onboard SDK和Mobile SDK介绍)

    大疆作为无人机行业的佼佼者,其应用范围从户外旅行.拍照到影视拍摄,以及工业运用都有着极高的地位.那么,我们如何仅仅使用大疆的飞控来开发出我们自己的无人机呢? 首先,你需要如下的东西: 以及相应的机架, ...

最新文章

  1. 单片机彩灯移动实验_用S7-1200 PLC实现循环彩灯的控制,含源程序
  2. Linux运维宝典:最常用的150个命令汇总
  3. 【小白学习keras教程】十一、Keras中文本处理Text preprocessing
  4. CF886E Maximum Element(dp、组合数学)
  5. Linux 定时器设置
  6. shell调用python权限不足_使用权限从python运行shell脚本
  7. python-基础回顾
  8. 谷歌地球最新host_听说《流浪地球》被豆瓣鄙视了,我们用数据看一把真相(上)...
  9. java让日志生成日期文件夹_SpringBoot按日期和文件大小生成日志文件到对应日期文件夹...
  10. git commit之后后面的操作步骤
  11. swift 自定义TabBarItem
  12. 甘肃省智慧教育云平台实名认证_“好分数”甘肃行,人工智能助力教育均衡
  13. hwui opengl VS skia opengl VS skia vulkan?
  14. 最全面SpringBoot教程-转自方志朋
  15. 光纤交换机巡检配置常用命令
  16. mysql实验报告4_数据库实验四实验报告
  17. uniapp 自定义头部 支持微信、百度、头条小程序
  18. Python 格式化输出详解
  19. ROS2机器人资料21-11-02(全面升级)
  20. WPS格式文件转图片格式如何进行操作

热门文章

  1. 如何把ppt文档翻译成英文?教你几种ppt翻译方法
  2. 低代码平台选型(三)国产化
  3. Java绘制海螺_FreeHand怎样绘制海螺?FreeHand绘制海螺教程
  4. AFC中央计算机系统图,轨道交通AFC 系统的架构
  5. CentOS7 安装Redis7.0
  6. 中睿微课堂 | 伪装成简历的攻击样本,各位HR小伙伴需要注意啦
  7. apollo 路面检测分析
  8. 网页设计常用的12种颜色
  9. 热身:go语言windows gui界面开发之walk 改错
  10. IGS官方产品及数据下载地址汇总——亲验可用(2022.08.05持续更新)