索引
OPSDK配件简介
OSDK运行的环境我们称之为机载计算机,结合OSDK功能介绍,机载计算机可以看做是一个挂载在无人机上的小电脑,它可以通过开发实现自己的控制逻辑或算法。在这个小电脑上使用OSDK开发的应用,就可以用来与DJI无人机进行交互。机载计算机是OSDK开发的必要的硬件环境,因为OSDK开发包提供的方式有包含闭源库,闭源库也就限制了其使用平台。OSDK支持的机载计算机平台有X86、ARM、STM32。
根据版本我们再列出推荐的机载计算机平台:
OSDK 3.9版本,完全开源(除advance sensing),原则上可以自行适配各种平台。推荐使用ARMv7/ARMv8/X86/STM32(contex-m4)
OSDK 4.1版本,linker闭源库,提供ARMv7/ARMv8/X86_64/STM32(contex-m4)的闭源库,所以适配的平台限定ARMv7/ARMv8/X86_64/STM32(contex-m4)
PSDK 3.0版本,libpayloadsdk闭源库,完善了平台的适配,与OSDK4.1基本一样适配ARMv7/ARMv8/X86_64/STM32(contex-m4),但基于各个平台的编译工具提供,相比4.1版本的平台适配性会更好。开发包结构篇中将介绍PSDK 3.0提供的lib。
因为OSDK的通信是通过串口和USB实现,上述满足OSDK lib的平台还需要支持串口和USB通信,无人机端的串口是TTL引脚(3.3v)。
说明:
USB通信支持的机型为M210/M300,M210机型上是通过USB RNDIS虚拟成网口通信,M300上是通过USB BULK,M300机型默认作为USB从设备,机载计算机USB做主设备。
运行OSDK的环境已经完备,实际使用时还要考虑机载计算机在飞机上的安装,安装不稳也会影响硬件连接,连接断开会影响OSDK的功能,甚至可能影响到飞行安全。安装没有统一的规范,可以根据需要选择合适的器材对设备进行固定。需要注意,如果机载计算机有开发的功能影响到飞行器的传感器,比如GPS搜星等,实际安装时一定要确保飞机可正常工作不受安装设备的干扰。如果有干扰,可以变更安装位置来调整。
综上,开发OSDK需要的硬件环境或配件可以整理出如下
-
支持OSDK lib的CPU/MCU,支持USB(主)、串口的硬件平台。
-
串口连接线(飞机端为TTL、机载端根据机载计算机串口接口而定)、双A USB线。
-
机载计算机固定支架或配件。
OSDK拓展转接板
M300上的OSDK接口是type C,与M210,M600等机型OSDK接口不一样,没有直接提供串口、USB的连接端口。M300上需要将OSDK type C拓展成串口TTL引脚,USB标准端口,电源接口及其他引脚接口。OSDK拓展转接板就是DJI官方提供的可用于将M300 type C端口拓展成上述接口的一个配件,可以直接通过市面上标准连接线进行连接。
M300 OSDK type C端口
串口端口(TTL),其他引脚M300上不再支持。
USB端口(USB 2.0)
电源端口(XT30)
妙算2(DJI Manifold2)
DJI manifold 2(妙算2)是官方推出的机载计算机,当前已经停止生产。DJI manifold2分为两个版本manifold 2C和manifold 2G。2C是CPU版本,X86_64架构,2G是GPU版本,ARMv8架构,也就是英伟达TX2。均预装Ubuntu1604版本,提供了串口和USB接口。其中2C仅提供了一个UART0,预留做调试端口,固定波特率为115200。使用2C开发时不要使用UART0做为OSDK与无人机通信的端口,可以使用USB-TTL模块接入到妙算2C上的USB端口。2G提供了UART0和UART1,可以使用UART1作为OSDK与无人机通信的串口端口,UART1的设备名为ttyTHS2。
具体差异可以前往官网下载。
说明:
-
OSDK拓展转接板和妙算2并非OSDK开发的必须配件。
-
妙算2可以用作机载计算机开发OSDK,OSDK功能本质上与妙算2没有必然关系,与其他机载计算机一样,是OSDK使得妙算2有了与飞机交互的功能。
-
妙算2是一款预装Ubuntu 1604系统的开发环境,其第三方软件或固件受限于官方固件或镜像资源。若需要对妙算固件升级,建议联系产品售后support@dji.com。
-
妙算2尺寸与OSDK拓展转接板固定架尺寸匹配,使用妙算2可以直接通过OSDK拓展转接板进行安装和固定。若使用OSDK拓展转接板且使用其他机载计算机,也可以按照OSDK拓展转接板的尺寸进行设计,方便后续的安装和固定。
PSDK端口配件
PSDK在飞机上的接口,是DJI标准云台接口。M300上负载云台接口也是接到type C接口,但是DJI PSDK type C接口与OSDK不一样,引脚线序定义不对开发者开放,所以DJI负载设备必须连接到官方的云台接口上。skyport或X-PORT是接入DJI云台接口的标准接口,是PSDK负载必须的配件。与OSDK运行环境一样,PSDK负载需要有自己的CPU/MCU,且可以支持PSDK lib。PSDK 3.0中PSDK的lib与OSDK的lib支持是一致的,具体将在开发包结构篇中介绍。与OSDK不同,PSDK与飞机通信是基于串口和网口(Linux),PSDK负载平台还需要支持串口和网络socket通信。不支持网络的平台,将不支持部分用到网络通信的功能,比如MOP、高速数据传输。
综上,PSDK开发阶段需要的配件:
-
无人机负载云台支架(无人机自带)。
-
skyport或X-PORT。
-
支持PSDK lib的机载平台,且支持串口和网络通信。
以上是PSDK必须硬件环境,以下先基于开发环境详细介绍用到的硬件配件。
skyport
skyport是用于连接到DJI云台接口的标准转接环,分为skyport v1和skyport v2
SkyPort V2 提供了排线接口和同轴线接口,使用排线通过Port 1 接口可将SkyPort V2 连接至接口拓展板或第三方开发板;使用同轴线通过Port 2 接口可将SkyPort V2 连接至SkyPort 负载设备开发板;SkyPort V2 的引脚如 图3.SkyPort V2 引脚接口 所示。
port 1和port 2都是将飞机接口定义拓展出来供负载对应接入,可以看做M300 OSDK type C的引脚定义一样。PSDK type C定义不对外,通过转接环将飞机接口开放出来。引脚的连接与自制硬件部分相关,详见自制硬件部分。
X-PORT
X-PORT是DJI提供的标准云台,通过实物图可以看到X-PORT自带转接环可以直接挂载到飞机云台接口上。所以在使用PSDK开发时,skyport和X-PORT只需用一个即可。X-PORT接入飞机后,提供给负载接入的接口也是排线接口,定义与skyport v2的排线接口一致。
拓展转接板
skyport/X-PORT连接负载的接口也是引脚定义,与OSDK type C定义一样,为方便开发也需要将引脚定义拓展成标准的接口。官方提供的接口拓展板就是用于将排线引脚或同轴线引脚拓展成串口TTL引脚,RJ45网口,以及通过转压将无人机提供的电源转压并提供9V/2A,5V/2A,以及引脚自身相关的电压13.6V/17V的接口。
使用skyport v2时,可以用同轴线或者排线,同时只能用一根连接线。使用X-PORT用排线连接到拓展板即可。
说明:
-
PSDK同轴线端子型号:
DF56C-40S-0.3V
排线型号:
S-50420-020HKH0-001
-
官方提供的已经包含skyport v2、拓展板、同轴线、排线。使用X-PORT时也可以使用该套件中的同轴线和转接板
-
此拓展板仅对skyport/X-PORT引脚拓展和转接,没有CPU/MCU,不能直接作为第三方负载设备开发PSDK程序。
-
skyport v1是STM32平台,可以开发PSDK 2.2.1版本并通过串口或同轴线连接到此转接拓展板中。此时,skyport v1开发板可以看做是一个普通的PSDK开发板。
评论
0 条评论
请登录写评论。