在精灵3系列无人机发布之后,大疆公司逐步地开放了用于控制无人机飞行和获取飞行状态的软件开发工具包——大疆SDK。
大疆SDK主要包含Mobile SDK、UX SDK、Onboard SDK、Payload SDK、Windows SDK、Guidance SDK(已弃用)等,如图1-7所示为大疆SDK中的5个重要组成。
图1-7 大疆SDK中的5个重要组成
Mobile SDK可以开发运行在Android或者iOS操作系统上用于监测和控制无人机飞行、优化飞行业务流程的独立应用程序。Mobile SDK几乎支持精灵3系列及其之后发布的所有大疆无人机。
UX SDK为Android或iOS应用程序开发者提供各种用于监控无人机的UI元件。UX SDK通常与Mobile SDK配合使用,利用UX SDK布设无人机的基本常用功能,利用Mobile SDK实现独特的业务流程。UX SDK与Mobile SDK一样,几乎支持精灵3系列及其之后发布的所有大疆无人机。
Onboard SDK是在飞行控制器或机载计算器层面上用于监测和控制无人机飞行、优化飞行业务流程的独立应用程序。通过Onboard SDK可以实现自动化控制、通过监听自定义负载的状态实时自动控制飞行、视觉感知与导航、非预知环境的自主飞行、同步定位与建图(SLAM)等。Onboard SDK与Mobile SDK对无人机的监控功能都非常全面,其最主要的区别在于:Mobile SDK应用程序运行在移动终端,更加适合开发需要人机交互的应用;Onboard SDK应用程序运行在空中端,更加适合开发自动化能力较强的或需要负载硬件扩展的应用中。另外,Onboard SDK可以实现与Mobile SDK进行通信,配合使用。
Onboard SDK支持M300 RTK、M210等经纬系列无人机,A3、N3等飞行控制器,Manifold 2等高性能机载计算机,以及STM32等第三方计算平台;支持Linux、ROS(Robot Operating System)和FreeRTOS等操作系统。
Payload SDK可通过标准接口(SkyPort、SkyPort V2)或标准云台(X-Port)连接各种外部负载,从而实现使这些负载与飞行控制器、图传等模块连接并相互传递数据信息。这些负载可以是各类相机(多目相机、星光相机等)、机载监测设备(气体监测仪、辐射监测仪、水质监测仪等)、激光雷达等。另外,Payload SDK可以实现与Mobile SDK、Onboard SDK、Windows进行通信,将负载状态信息传递给移动终端、PC段或机载计算平台,也可以通过接口执行负载动作。
Onboard SDK支持M300 RTK、M210等经纬系列无人机,支持Linux、RTOS,以及支持UART或CAN接口的其他嵌入式系统。
与Mobile SDK类似,Windows SDK可以开发运行在Windows操作系统的专用于监测和控制无人机的独立应用程序,但目前仅支持御2、御2行业版、御Air、精灵4 Pro V2等少数无人机平台。
Guidance SDK用于开发视觉导航与视觉分析应用。但由于Guidance视觉传导导航系统硬件已经停止研发,因此Guidance SDK已被官方弃用,并停止支持。