DJI OSDK二次开发的套件

描述

一直是对无人机的二次开发具有浓厚的兴趣,现在正好是手边有着全套的无人机开发的套件,这种机会可不能浪费掉。

之前倒是写过较为全面的SDK文章,但是过了太久了,有些遗忘,那么这篇文章算复习,其次是现在OSDK已经到了5的时代,很多东西都变换了。我对Linux下的开发其实是不熟悉的,那么这里就以STM32 串口控制无人机为一个路,从代码层面对SDK来一个认识,等我写完这些我就开一门叫OSDK二次开发入门的课。

因为最近在研究SLAM系统,有一些SLAM是需要精确授时的,但是demo里面都是使用的RTK,太贵了,我后来发现其实飞控也控制发送这种硬件的信号,我这里和时间混为一谈了,其实就是多传感器之间的同步问题。但是我发现我的A3飞控其实是不支持这样输出的,但是无妨, 也不妨碍我写这个东西。

SDK

示意图

pps英文全称是 Pulse Per Second,中文解释为秒脉冲,脉冲数/秒,PPS即每秒脉冲数的缩写,一般出现在通信行业中。

获取时间的时间同步信息: 获取NMEA数据:获取无人机使用的定位系统的数据,如GPS、伽利略、北斗及GLONASS 等 获取PPS数据:获取无人机的硬件触发脉冲信号 获取UTC时间:获取统一的UTC时间

运动控制功能:

航点任务:控制DJI 的无人机按照预设的多个航点实现自主飞行 热点任务:控制无人机围绕设置的兴趣点环绕飞行 控制权限声明 DJI 无人机的飞行控制器能够根据实际的飞行状态和用户的需求,调整受控主体,无人机控制权限的等级由高至低依次为遥控器、基于MSDK 开发的移动端APP 和基于OSDK 开发的应用程序。在DJI 的控制体系中,DJI 遥控器的控制权限最高,可随时获取控制DJI 无人机的控制权。

偏航是飞机绕机体坐标系竖轴的短时旋转运动。竖轴通过飞机重心在飞机对称平面内并垂直于纵轴。偏航运动的主要参数有偏航角、偏航角速度、偏航角加速度。偏航运动通过踩脚蹬使方向舵偏转产生绕飞机重心的偏航力矩来实现。

SDK

这个是从上到下的看视角

在航点任务中,用户使用操纵杆能控制无人机的飞行速度和偏航角度; 热点任务:用户使用操纵杆能控制无人机执行任务的速度、飞行半径(执行热点任务)、飞行方向和偏航角度。 就是相当于旋转机身,然后就是一个油门。 在P 模式下,使用基于MSDK 开发的移动端APP 向无人机发送控制指令。 当使用基于MSDK 开发的移动端APP 向无人机不再发送控制指令时,遥控器会获得无人机控制权。嘿嘿,我又控制回来了。 基于OSDK 开发的应用程序在控制无人机执行指定的任务时,基于MSDK 开发的移动端APP 可抢占该应用程序对无人机的控制权,优先控制无人机执行指定的动作,确保无人机和用户的安全。  

SDK

这里使用的是妙算2G

方法1:使用Manifold 2 中的串口线连接无人机尾部的拓展接口和Manifold 2 的UART1 接口(Manifold 2 中的设备号为ttyTHS2); 方法2:使用USB转串口线连接飞机尾部的拓展接口和Manifold 2 的USB 接口(Manifold 2 中的设备号为ttyUSBn,n为0、1、2.....)。

为避免干扰无人机的正常工作,请确保机载计算机的电压在18V~26V 间,电流恒定为2A。

SDK明天去楼下偷一个

SDK

遥控器的摇杆

SDK

接收机

SDK

参数

SDK

SDK

PPM就可以加多协议的高频头了

SDK

对频

SDK

接收机的LED灯

SDK

在OSDK的4.0之前的STM32 都是裸机执行的程序,但是4.0以后就变成了这个RTOS,妈的,还是强制执行哪种的。

不过有个优点是,裸机的难度会更小,以及代码量也会变少。

SDK

其实还有一个版本是针对树莓派2B的,别问我为什么知道

SDK

这个是几个子项目之间的cmake文件

现在都11:30 了,这里给大家展示一个DJI的FPV天空端拆机:

SDK

摄像头开盖

 

CMOS后面的芯片

 

SDK

接口

SDK

镜头

 

SDK

CMOS的样子

SDK

也不知道是几层板

 

SDK

天空蜗牛

 

SDK

战损发射机

 

SDK

后面的接口和天线

 

SDK

开盖

SDK

 

 

 

  
      审核编辑:彭静
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分