购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 大疆SDK

大疆SDK是大疆创新(DJI)公司推出的软件开发工具包(Software Development Kit, SDK),旨在为开发人员提供无人机相关的API和工具,以便于开发者更加方便地开发无人机相关应用程序。

注意: SDK表示软件开发工具包(Software Development Kit),是针对某一平台某个具体环境下的一系列软件开发工具,可以包括开发接口、文档、构建脚本等各类工具。API表示应用程序接口(Application Programming Interface),通常表现为预先定义的类、结构体、函数等。从概念上看,SDK范畴要大于API,但是笔者认为这两者的概念是高度关联的,没有详细分析和比较的必要。

以前,大疆SDK会员分为基础用户和高级用户两个级别。2021年11月,大疆取消了SDK会员分级制度,所有开发者在技术支持、APP激活、Beta版SDK获取等方面享有和此前高级会员一样的权益。

1.3.1 大疆SDK体系

使用大疆SDK,开发者可以实现有趣的无人机应用程序。2014年,大疆推出了以Mobile SDK、Onboard SDK和Guidance SDK以来,经过近10年的发展,目前已经形成较为完备的SDK体系。2023年9月,大疆升级了SDK体系,加入了Edge SDK,并对Mobile SDK和Payload SDK的功能进行了升级,如增加了脱控飞行、4G私有化增强图传等能力。目前,大疆常用的SDK适用范围如图1-17所示。

❑ Mobile SDK适用于开发Android等平台的移动应用程序,运行在移动设备或遥控器中,可以实现飞行控制、图像传输、地图显示等功能。

❑ UX SDK在Mobile SDK的基础上,提供用户界面设计的主要功能。将不单独推出,而是融入MSDK的样例代码中。

❑ Payload SDK适用于无人机负载设备的开发,如相机、激光雷达等。

❑ Edge SDK适用于大疆机场,用于开发边缘计算应用,需要配合边缘计算设备(如Jetson Xavier NX、Atlas 200I DK A2)等使用。

❑ Windows SDK适用于开发Windows平台的桌面应用程序,可以运行在PC设备中。

❑ Onboard SDK适用于无人机上的嵌入式应用程序开发,可以访问无人机的传感器和控制器,并实现自定义的飞行控制算法。

图1-17 大疆SDK大家庭

除上述主要的SDK外,大疆还提供了用于处理热红外影像的Thermal SDK,以及已经弃用的视觉应用Guidance SDK。

那么,我们为什么选择大疆SDK呢?这主要是因为大疆SDK拥有以下几个方面的优势。

❑ 大疆具有稳定、高效、强大的无人机产品。大疆行业无人机产品非常稳定,且防水抗高温能力非常优秀。

❑ 大疆具有完善的行业应用生态。针对不同的行业需求,具有极高集成度的行业方案,具体可参见大疆行业应用官方网站。

❑ 大疆具有成套SDK体系。Mobile SDK和Payload SDK等SDK产品并不是相对独立的,而是可以通过MOP等方式相互配合,非常轻松地开发一整套应用系统。

大疆SDK还提供了丰富的开发文档和示例代码,以便于开发者更加方便地使用SDK进行开发,可参见大疆开发者网站。下面两小节将着重介绍大疆SDK中最为重要的2个组成部分:Payload SDK和Mobile SDK。

1.3.2 Payload SDK

无人机的行业应用越来越多且越来越细分,无人机的专业化趋势将会更加明显。通过Payload SDK(后文简称PSDK)设计各类不同功能的无人机负载,从而应对无人机专业化的挑战。PSDK于2018年3月首次发布,直到2021年10月大疆发布了PSDK 3.0.0版本,经过5年多的发展,PSDK已经是非常成熟的SDK产品,其基本功能如图1-18所示。

PSDK 3.x.x相对于之前的版本具有以下特点。

❑ 从平台上看,PSDK支持Linux和RTOS两大平台。不过,PSDK 3.x.x以MIT协议开源,因此开发者也可以根据实际需求移植PSDK。

从设备上看,PSDK 3.x.x支持最新的M3D/M3TD、FlyCart30、M350 RTK、M300 RTK、M30/M30T和M3E/M3T等后续机型。 PSDK版本及其支持设备如表1-7所示。

❑ PSDK 3.x.x版本整合了Onboard SDK(后文简称OSDK)功能。至此,大疆SDK体系形成了2大主要板块,即Mobile SDK和Payload SDK。

图1-18 PSDK基本能力

表1-7 PSDK版本及其支持设备

PSDK开发需要使用E-Port接口、E-Port Lite接口或者X-Port、SkyPort V2等标准负载工具。 X-Port和SkyPort V2是标准的负载工具,需要使用无人机的DGC(DJI Gimbal Connector)2.0接口,用于对接无人机和负载设备。

❑ E-Port接口采用Type-C接口的硬件标准,用于直连第三方负载。通常,采用E-Port接口的负载可以容纳一些设备抖动(不需要云台增稳)。

❑ E-Port Lite接口是M3D/M3TD和FlyCart30最新接口,同样采用Type-C接口的硬件标准,同时支持PSDK负载连接、调参以及USB转串口(USB-TTL)功能。

❑ X-Port是标准云台,具有3轴向的负载稳定能力,具有云台上置和云台下置两种模式,方便于开发者关注负载本身的研发。

❑ SkyPort V2转接环,用于对接无人机的DGC 2.0接口和第三方负载。

注意: E-Port接口的前身是OSDK扩展接口,可以使用早期的PSDK和OSDK版本,通过SDK同轴线或OSDK拓展组件开发PSDK负载或OSDK机载程序。DGC 2.0接口的前身为PSDK接口。另外,在M3E/M3T和M30/M30T无人机的用户手册中,E-Port接口称为PSDK接口。

各行业无人机对E-Port、E-Port Lite接口和DGC 2.0接口的支持性可参见表1-3,读者也可参考无人机的用户手册。

负载开发有其特殊性,涉及飞行安全和飞行体验。开发者可在大疆允许的范围内使用PSDK开发负载设备。开发PSDK负载前需要在大疆开发者网站中申请注册。如需开发9个以上的负载设备,则需要向DJI申请量产权限。不过,自从2021年11月大疆取消了会员分级制度后,申请PSDK应用无须通过人工审核,并且量产时无须缴纳量产授权费,仅需提供简单的材料即可免费申请开通量产模式。使用PSDK开发的负载设备如图1-19所示。

图1-19 Payload SDK产品

1.3.3 Mobile SDK

Mobile SDK(后文简称MSDK)是最早且用途最为广泛的SDK,拥有众多开发者群体,用于设计移动应用程序,实现在遥控端设计并执行飞行任务、控制云台相机等负载等功能。MSDK于2022年3月迎来变革,发布了MSDK V5版本。MSDK V5相较于之前的MSDK,具有以下几点特性。

❑ 从平台上看,MSDK V5支持Android设备,可以使用Kotlin或Java语言开发;不再支持iOS设备。需要注意的是,虽然旧版本的MSDK支持iOS设备,但是MSDK应用可能无法上架App Store。

❑ 从设备上看,MSDK V5优先适配行业无人机,其次是新推出的消费机无人机;旧机型只能使用旧版本的MSDK。MSDK V5目前支持M350 RTK、M300 RTK、M30T/M30E、M3E/M3T、Mavic 3M、Mini 3和Mini 3 Pro。

❑ 从用户界面设计上看,MSDK V5以开源框架的形式融合了UX SDK,并存在于官方的样例中;不再单独退出UX SDK。

使用Mobile MSDK开发的应用程序如图1-20所示。

图1-20 Mobile SDK应用程序 zt4LctpaiVIpgU69wcUhIAH/BjbyZCvRs9tTWu1GG3GoZ/P2KrsZdIh1ZOlKw1LT

点击中间区域
呼出菜单
上一章
目录
下一章
×