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

2.1 准备工作

本节将介绍开发前的准备工作,在大疆开发者网站上注册PSDK开发者、申请负载许可,认识并准备PSDK开发所需的软硬件,以便于运行和调试PSDK应用程序。

2.1.1 申请负载许可

运行PSDK程序时,需要填写负载应用的名称、标识符、密钥和许可等信息。自2021年11月以来,负载的申请和开发不再需要人工审核,也不再需要授权费用。本小节将介绍如何创建并申请负载许可。

(1)在DJI开发者网站中注册或登录DJI开发者账号;DJI开发者账号可以使用DJI账号,两者是通用的。

(2)进入DJI开发者网站的用户中心,单击左侧的【成为Payload SDK开发者】按钮,进入Payload SDK开发者申请页面,如图2-1所示。

图2-1 申请Payload SDK

(3)单击【下一步】按钮,并同意最终用户许可协议,如图2-2所示。

图2-2 Payload SDK最终用户许可协议

(4)输入开发者信息[开发者类型(企业、机构组织)、机构名称、国家或地区、城市和所属行业],如图2-3所示。

图2-3 开发者信息

(5)单击【提交】按钮后,进入创建负载页面,如图2-4所示。在该页面中,需要输入负载名称、负载描述、针对行业、主要用途、主要功能等信息。如已经准备好负载样机,还可以上传负载设计图。

图2-4 创建负载页面

注意: 负载名称仅可由英文字符、数字、空格、+、-、_组成。

(6)单击【提交】按钮后,会向注册邮箱中发送验证邮件;随后,打开验证邮件中的链接即可确认信息。返回用户中心,在左侧导航栏中单击【应用】按钮,即可在右侧的应用列表中出现刚刚创建的Payload SDK应用列表项WEATHER STATION,如图2-5所示。

图2-5 列表项WEATHER STATION

注意: 图2-5中的批量生成模式表示已获得负载量产许可。当前,负载量产许可已可免费取得,无须额外的申请和费用。

(7)单击Payload SDK应用列表项WEATHER STATION,即可查看应用的详细信息,如图2-6所示。

图2-6 Payload SDK应用列表项WEATHER STATION的详细信息

这些信息可以记录在计算机中,在后文的开发环境配置中需要使用到App类型、App名称、App ID、App Key、App License和申请状态等信息。

❑ App类型:应用所采用的SDK的类型。

❑ App名称:应用名称。

❑ App ID:应用标识符。

❑ App Key:应用密钥。

❑ App License:应用许可。

❑ 申请状态:accepted表示可以正常使用该应用许可。

另外,单击【管理挂载】按钮可以查看当前负载的运行情况;单击【详细信息】按钮可以查询详细的负载申请信息。

2.1.2 硬件准备

硬件准备包括选择飞行平台、选择负载连接方式、选择开发套件、选择量产配件、选择开发板等,如图2-7所示。

1.选择飞行平台

常见的大疆行业无人机包括M3D/M3TD、FlyCart30、M350 RTK、M300 RTK、M30/M30T和M3E/M3T等,可以参考1.2.1小节的相关介绍。 表1-3对比了以上无人机的参数,不同行业无人机的负载能力、接口设计、支持的负载形态、重量和连接方式都有所不同;开发者可以根据实际情况做出选择。

2.选择负载连接方式和选择开发套件

负载连接方式和开发套件的选择是密切相关的。 负载需要通过E-Port接口、X-Port标准云台或SkyPort V2转接环对接无人机和负载:如果选择了E-Port接口,就需要使用E-Port开发套件; 如果选择了X-Port标准云台或SkyPort V2转接环,就需要使用Payload SDK开发套件2.0。

图2-7 硬件准备流程

各类负载连接方式和相应开发套件的主要特性如下。

1)E-Port接口

E-Port接口通常连接不需要云台的机载设备,如机载计算机或可以容纳一定抖动范围的负载(如搭载温湿度传感器等设备)。由于E-Port接口的前身是OSDK接口,因此多用于连接具有一定计算能力或控制能力的机载设备。 另外,E-Port接口的支持性很强,支持M3D/M3TD、M350 RTK、M300 RTK、M30/M30T和M3E/M3T等行业无人机设备。

在开发过程中,E-Port开发套件可以将E-Port接口转换为常用的接口。E-Port开发套件包括了E-Port转接板、E-Port同轴线、XT30转USB-C电源线和XT30转DC5.5电源线等配件。通过E-Port同轴线可以连接无人机和E-Port转接板。

2)E-Port Lite接口

E-Port Lite接口是符合标准USB Type-C标准的接口,支持M3D/M3TD和FlyCart30无人机。在无负载连接时,E-Port Lite接口可作为USB调参接口使用,具有很强的通用性。相对于E-Port接口,E-Port Lite接口具有以下几个特点。

❑ E-Port Lite接口是USB Type-C接口的扩展,兼容USB设备。

❑ E-Port Lite接口提供5V 2A的电源输出,功率输出能力弱于E-Port接口。

❑ E-Port Lite接口是全功能的,同时支持串口(UART)、网口、USB和PPS通信协议,而E-Port Lite接口仅支持串口通信。

❑ E-Port Lite接口目前支持M3D/M3TD和FlyCart30无人机,而E-Port接口的支持性更强,适用于绝大多数主流的无人机。

3)X-Port标准云台

使用X-Port标准云台开发的负载,通常对稳定性具有较高需求(如相机等成像设备等);或者需要控制负载的方向(如探照灯、定向扬声器等)。X-Port标准云台[见图2-8(a)]具有云台控制基本功能,可以帮助开发者关注负载本身,提高开发效率。

图2-8 X-Port标准云台和SkyPort V2转接环

在开发过程中,Payload SDK开发套件2.0可以帮助X-Port标准云台的负载开发。Payload SDK开发套件2.0包括SkyPort V2转接环、Payload SDK转接板(接口扩展板)、排线、同轴线、保护盖、排线座和同轴线座等。通过排线可以连接Payload SDK转接板和X-Port标准云台。

4)SkyPort V2转接环

与X-Port标准云台类似,SkyPort V2转接环也连接到无人机的DGC 2.0接口上,既可以用于设计无须云台的负载设备,也可以由开发者自行设计云台。SkyPort V2转接环和负载之间通过排线或同轴线连接。

无论是以上哪种负载连接方式,引出的接线引脚都比较多。E-Port开发套件中的E-Port转接板或Payload SDK开发套件2.0的接口拓展板的作用就是将这些接线引脚转换为标准的电源接口、串口、网口或USB接口,方便开发者设计和调试程序。以上几种负载连接方式的对比如表2-1所示。在设计产品和量产时,可以按照需求沿用E-Port转接板或PSDK接口拓展板开展硬件设计。

表2-1 负载连接方式的对比

续表

3.选择量产配件

在负载开发完成之后,需要购买相应的量产配件,包括X-Port标准云台、SkyPort V2转接环、连接线(同轴线、排线)以及PSDK快拆支架等。

注意: PSDK支架仅支持M30/M30T无人机。

量产负载设备时,需要尽可能适配这些量产配件,以便于用户的安装和卸载。

4.选择开发板

在设计具体的负载硬件前,通常需要使用开发板设计程序,因此需要先选择合适的开发板。根据PSDK的运行环境不同,可供选择的开发板不同。

1)选择Linux开发板

使用Linux运行环境,可以选择包含USB接口或以太网网口的便携计算机,包括Jetson Nano、树莓派、香橙派、NanoPi、香蕉派、悟空派、荔枝派或其他ARM、x86等架构的主机(或虚拟机)。当然,开发者也可以选择大疆官方的机载计算机Manifold 2-C和Manifold 2-G等。

注意: 大疆官方的机载计算机妙算(Manifold)共推出2代产品,分别是Manifold、Manifold 2-C(酷睿i7-8550U处理器)和Manifold 2-G(酷睿i7-8550U)。虽然目前已经停产,但其仍然支持最新的PSDK,可以应用在M350 RTK和M300 RTK等飞行平台上。

本书选用树莓派4B(Raspberry PI 4 Model B)为例作为PSDK应用载体,介绍PSDK在Linux上的基本用法。树莓派4B采用4核64位1.5GHz主频的博通BCM2711作为主控,为Cortex-A72(ARM v8)架构,使用LPDDR4内存颗粒,可选容量大小为1GB、2GB、4GB和8GB。建议开发者选择使用内存容量为4GB或8GB的树莓派4B设备作为PSDK开发设备。

注意: 如果开发者没有树莓派4B等Linux设备,也可以使用Linux虚拟机开发PSDK应用。此时,所有的连接都需要通过主机连接到虚拟机上。这种开发方式的配置相对复杂,不建议开发者使用。

树莓派(Raspberry Pi, RasPi)是一种非常受欢迎的单板机,虽然其尺寸很小,但是其具有完整通用的硬件结构,可以理解为一台迷你的小电脑。树莓派为ARM架构,不仅可以使用官方支持的Raspberry Pi OS操作系统,还可以运行Ubuntu、Apertis、OpenELEC、Arch、Kali,以及Windows 10 IoT等各类通用或专用操作系统。树莓派由树莓派基金会(raspberrypi.org)研发和维护,并且拥有强大的社区支持。因此,树莓派应用非常广泛,在互联网上存在众多应用项目和案例可供学习参考,如服务器、物联网、软路由、3D打印等各类应用。

树莓派诞生于2012年,至今已经迭代了B、A、B+、A+、2B、Zero、3B、Zero W、3B+、4B和5等众多版本。版本中包含B的表示Model B,通常拥有更加全面的外设接口;Model A与Model B的主控(CPU)相同,但外设更加简化。Zero版本主打轻量化,外设很少,价格也更加便宜。目前最新的版本是树莓派5。树莓派5除Cortex-A72处理器外,还提供了800MHz的图形芯片,支持LPDDR4X SDRAM和PCIe 2.0连接器,使树莓派5在处理复杂任务、运行大型软件和多任务处理等方面更加出色。开发者也可以使用树莓派5作为开发平台,不过本书为了与PSDK官方样例保持一致,仍然选用被广泛应用的树莓派4B作为开发平台。

树莓派4B拥有丰富的外设,不仅拥有USB 3.0、Wi-Fi、蓝牙、MicroHDMI等接口,还拥有千兆网网口,如图2-9所示。

图2-9 树莓派4B板载资源

值得注意的是,树莓派本身没有存储功能,操作系统和软件资源可以存储在SD卡(或者U盘)中,因此不存在“变砖”的情况。如果系统崩溃了,那么直接在SD卡中重新写入新的系统即可。

2)选择RTOS开发板

对于RTOS运行环境,可以选择STM32系列等可以运行RTOS的开发板,方便环境搭建和调试,如STM3240G-EVAL(STM32F407IG)开发板等。

STM32是意法半导体推出的32位微处理器,其中ST表示意法半导体公司,M表示微电子(Microelectronics),32表示32位处理器。STM32采用ARM公司的Cortex-M内核,根据具体的内核不同,STM32分成了STM32-F0、STM32-F1、STM32-F4和STM32-F7等系列,分别采用了Cortex的M0、M3、M4和M7内核,性能上依次越来越强。

注意: Cortex是ARM公司推出的处理器内核系列,包括Cortex-A高性能应用处理器系列、Cortext-R实时处理器系列、Cortex-M微处理器系列以及Cortex-X高性能计算处理器系列。另外,ARM公司作为知识产权(IP)公司本身并不生产处理器,而是授权诸如ST等厂商生产相应内核的处理器。

对PSDK开发来说,建议选择使用Cortex-M4的STM32F4xx系列的开发板,对于其他型号的STM32芯片,需要开展移植工作。在本书中,将采用STM32F407ZGT6芯片,其中F表示基础型;407表示采用包含浮点运算单元FPU和DSP指令的Cortex-M4高性能内核;Z表示144个引脚;G表示Flash存储大小为1MB;T表示封装类型为QFP封装;6表示其温度等级范围为-40~85℃。STM32的芯片命名规则如图2-10所示。

图2-10 STM32的芯片命名规则

从芯片外观上看,丝印上显示了ST公司名称LOGO、芯片型号、内核类型等信息。对于LQFP封装的STM32芯片,左下角的圆点为1号引脚,逆时针旋转即可数出相应的引脚编号,如图2-11所示。

图2-11 STM32F407ZGT6芯片

STM32作为微处理器,几乎难以支撑类似Linux的大型操作系统。在实时性要求较高的领域中,可以使用实时操作系统(Real Time Operating System, RTOS)。RTOS可以保证程序运行的实时性能,通常用于汽车电子、自动化控制、航空航天等需要高实时性和高可靠性的领域。PSDK的样例程序中使用了FreeRTOS操作系统调度应用程序。

另外,PSDK已经适配了AARCH64、X86_64、Cortex M4/M4F、ESP32、海思Hi3516、海思Hi3519等硬件平台,具体可参考官方文档的“选择开发平台”章节查询。另外,开发者也可以根据实际情况自行移植PSDK,使其运行在符合需求的硬件上。

2.1.3 软件准备

在软件方面,需要开发者准备好PSDK软件开发包(源代码)、大疆Assistant调参工具和地面站软件。如果需要和MSDK交互,还需要配置好MSDK开发环境。

1.PSDK软件开发包

在PSDK官方的仓库中可下载PSDK最新版本和历史版本的软件开发包。开发者也可以在本书所附带的资源中找到PSDK 3.8软件开发包。PSDK软件开发包包括以下内容。

❑ doc:文档,包括PSDK编码样式(dji_sdk_code_style)、硬件参考设计图纸(reference_designs)和无人机3D模型(simple_model)。

❑ psdk_lib:PSDK源代码,包括头文件(include)和库文件(lib)。

❑ samples:PSDK样例代码,包括C样例代码(sample_c)和C++样例代码(sample_c++)。

❑ tools:包括file2c(用于在自定义控件的实现中将图标转换为c文件)等常用工具软件。

❑ CMakeLists.txt:描述编译链接的规则文件,用于通过cmake命令生成Makefile。

❑ EULA.txt:最终用户许可协议(End-User License Agreements)文件。

❑ LICENCE.txt:MIT协议声明文件。

❑ README.md:PSDK简介说明文件。

2.调参工具

DJI Assistant是大疆无人机的调参工具,目前的最新版本是DJI Assistant 2。不过,DJI Assistant 2并不是独立的软件,而是一系列软件:大疆针对不同的无人机型号发布了不同的DJI Assistant 2版本,包括DJI Assistant 2 for Phantom、DJI Assistant 2 for Mavic、DJI Assistant 2(Inspire系列)、DJI Assistant 2(FPV系列)、DJI Assistant 2(消费机系列)等。

对于行业无人机来说,需要使用DJI Assistant 2(行业系列)。DJI Assistant 2(行业系列)支持M200、M210、M600、M300 RTK、M350 RTK、御2行业进阶版、御3行业版、御3多光谱版、御3红外版、M30系列、大疆机场、DJI RC PLUS等无人机和相关设备。

DJI Assistant 2(行业系列)是基于Electron开发的跨平台软件,支持Windows、macOS等操作系统。不过,macOS版本暂不支持M300 RTK、M350RTK和H20系列设备。DJI Assistant 2(行业系列)运行界面如图2-12所示。

图2-12 DJI Assistant 2(行业系列)运行界面

在DJI Assistant 2中可以进行飞行模拟操作。当无人机通过USB线连接无人机时,打开DJI Assistant 2,即可看到相应的无人机列表项。单击该列表项即可进入无人机的管理调参界面,如图2-13所示。

图2-13 无人机的管理调参界面

单击图2-13中的【模拟器】图标后,在弹出的界面中单击【打开】按钮即可打开模拟器界面,如图2-14所示。

图2-14 模拟器界面

此时,在模拟器界面中可以进行模拟器设置和风速设置,设置完成后单击【开始仿真】按钮即可打开如图2-15所示的飞行仿真界面。

图2-15 飞行仿真界面

注意: 在使用飞行仿真时,请注意安全。确保无人机和计算机连接正确后再进行操作,必要时建议拆掉无人机桨叶,防止意外发生。

在飞行仿真界面的左下角显示了当前无人机的位置和姿态信息,各类参数的含义如表2-2所示。

表2-2 各类参数的含义

续表

其中,加速度单位g表示单位重力加速度,约为9.8m/s 2

此时,无论是用户对无人机的操作,还是负载对无人机的操作,都会反映到这个飞行仿真界面中,是无人机开发和调试的好帮手。

3.地面站软件

常见的地面站软件包括DJI Fly和DJI Polit 2等。

❑ DJI Fly为无人机航拍应用设计,用于最新的消费级无人机产品,支持Mavic 3系列、Air 2系列、Mini全系列、DJI Avata和DJI FPV等无人机产品。

❑ DJI Pilot 2为航测等行业应用设计,用于最新的行业无人机产品,支持M350 RTK、M300 RTK、M30/M30T和M3E/M3T等无人机产品。

对于行业无人机来说,需要使用DJI Pilot 2软件(后文简称Pilot 2)。Pilot 2集成在大疆行业无人机的遥控器中,无须单独安装,其运行界面如图2-16所示。

图2-16 Pilot 2的运行界面

关于Pilot 2的用法,可以参考相应无人机的用户手册。 +snzfu3QpsX1CSifux4ejxx3d9yTBmQSJV9hy/B7j2Nnnc/IvoQEHW+lUXkkFX27

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