0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DJI OSDK二次开发的套件

云深之无迹 来源:云深之无迹 作者:云深之无迹 2022-10-21 09:54 次阅读

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

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

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

b1f88742-5092-11ed-a3b6-dac502259ad0.png

示意图

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

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

运动控制功能:

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

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

b23b8df8-5092-11ed-a3b6-dac502259ad0.png

这个是从上到下的看视角

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

b2527fe0-5092-11ed-a3b6-dac502259ad0.png

这里使用的是妙算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。

b270b906-5092-11ed-a3b6-dac502259ad0.png明天去楼下偷一个

b2969f18-5092-11ed-a3b6-dac502259ad0.png

遥控器的摇杆

b2b309be-5092-11ed-a3b6-dac502259ad0.png

接收机

b2e98f70-5092-11ed-a3b6-dac502259ad0.png

参数

b309dfa0-5092-11ed-a3b6-dac502259ad0.png

b3306d1e-5092-11ed-a3b6-dac502259ad0.png

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

b3704f38-5092-11ed-a3b6-dac502259ad0.png

对频

b38b567a-5092-11ed-a3b6-dac502259ad0.png

接收机的LED

b3e445a0-5092-11ed-a3b6-dac502259ad0.png

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

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

b4092474-5092-11ed-a3b6-dac502259ad0.png

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

b41406c8-5092-11ed-a3b6-dac502259ad0.png

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

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

b44eb94e-5092-11ed-a3b6-dac502259ad0.jpg

摄像头开盖

CMOS后面的芯片

b4acdbf0-5092-11ed-a3b6-dac502259ad0.jpg

接口

b4de4c08-5092-11ed-a3b6-dac502259ad0.jpg

镜头

b51640fe-5092-11ed-a3b6-dac502259ad0.jpg

CMOS的样子

b560bbb6-5092-11ed-a3b6-dac502259ad0.jpg

也不知道是几层板

b57a2920-5092-11ed-a3b6-dac502259ad0.jpg

天空蜗牛

b5924ffa-5092-11ed-a3b6-dac502259ad0.jpg

战损发射机

b5b0c7e6-5092-11ed-a3b6-dac502259ad0.jpg

后面的接口和天线

b5d9b99e-5092-11ed-a3b6-dac502259ad0.jpg

开盖

b603a0f6-5092-11ed-a3b6-dac502259ad0.jpg

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

    关注

    87

    文章

    11225

    浏览量

    208904
  • 无人机
    +关注

    关注

    228

    文章

    10336

    浏览量

    179598
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1026

    浏览量

    45772

原文标题:DJI OSDK开发.1(回忆)

文章出处:【微信号:TT1827652464,微信公众号:云深之无迹】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CAXA2011二次开发,CRX; CAX2007二次开发

    CAXA2011二次开发,CRX; CAX2007二次开发,EBA QQ:46841341 电话:*** 何生 标题、明细、自动参数化产生图纸,PDM、PLM集成系统,面积、重量、各种个性化程序
    发表于 01-05 23:05

    手机模块二次开发

    手机的wifi模块、4g/3g通信模块、蓝牙模块等固有模块,在进行二次开发时,需不需要对硬件本身进行改造?或者是二次开发普遍都需要对硬件改造还是普遍都不需要对硬件改造??
    发表于 06-29 11:49

    手环二次开发

    深圳市云石智能科技开发有限公司主营健康穿戴手环(心率温度血压手环)与定位采集基站二次定制开发SDK,应用多种项目,有需要手环二次开发请联系QQ:3072853807,电话:0755-2
    发表于 09-25 17:05

    面向对象的参数化CAD二次开发方法研究

    【摘要】通用CAD系统采用开放式结构体系,提供相应的二次开发手段和方法。研究了面向对象的参数化二次开发技术及方法,以期为CAD的二次开发提供指导,并以Pro/Engineer为软件
    发表于 03-19 21:37 34次下载

    AutoCAD的二次开发

    AutoCAD的二次开发 AutoCAD的二次开发主要涉及以下内容:(1) 编写各种用户自定义函数并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL
    发表于 02-14 16:59 1801次阅读

    ANSYS的二次开发技术

    ANSYS的二次开发技术 ANSYS提供的二次开发工具有三个:参数化设计语言(ANSYS Parametric Design Language,APDL),用户界面设计语言(User Interface
    发表于 10-02 10:42 2036次阅读

    基于VC的Cadence二次开发

    文中研究了用VC对Cadence做二次开发,使用VC编写操作界面,通过VC与SKILL语言通信,实现了VC界面对Cadence软件的控制,完成特定操作,给出了实现的代码。
    发表于 10-19 14:38 41次下载
    基于VC的Cadence<b class='flag-5'>二次开发</b>

    何谓CAD二次开发? AutoCAD都有哪些二次开发工具?

    AutoCAD的二次开发主要涉及以下内容: (1)编写各种用户自定义函数并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。 (2)建立符合自己要求的菜单文件,一般可在AutoCAD原菜单文件
    发表于 10-24 16:31 4181次阅读

    AutoCAD VBA二次开发教程

    AutoCAD VBA二次开发教程,学习二次开发的顶起
    发表于 11-02 16:16 0次下载

    二次开发串口通信协议

    lobot机器人二次开发
    发表于 05-09 08:55 7次下载

    可支持快速二次开发的zigbee核心板

    关于zigbee组网协议,我们是否发现,只要涉及到二次开发,总会遇到各种无法预料的问题。zigbee二次开发大家都在抱怨什么?
    发表于 05-17 17:57 2193次阅读

    GIS 二次开发概述

    随着地理信息系统应用领域的扩展,应用型GIS的开发工作日显重要。如何针对不同的应用目标,高效地开发出既合乎需要又具有方便美观丰富的界面形式的地理信息系统,是GIS开发者非常关心的问题。下面我将对GIS
    发表于 01-15 17:06 6070次阅读
    GIS <b class='flag-5'>二次开发</b>概述

    对功率计进行二次开发

    功率计做二次开发首先要确认的就是通讯的接口,ZLG致远电子PA300系列功率计提供USB、GPIB、以太网以及串口接口,4种接口免费标配,都可以用于二次开发
    的头像 发表于 04-29 15:12 3000次阅读

    空间光调制器的简便控制方法:灵活应用二次开发

    01.什么是二次开发模式? 二次开发模式实际上就是一组指令集,不同于一个有窗口的软件,这组指令集更像一根管道,管道的一端可以和任意编程软件对接,管道的另外一头就可以将结果展现在特定设备上,管道完成
    的头像 发表于 05-11 13:37 604次阅读
    空间光调制器的简便控制方法:灵活应用<b class='flag-5'>二次开发</b>

    【产品应用】LoRa网关与二次开发终端的神仙搭配

    LoRa项目开发时间紧?驱动开发困难?二次开发终端ZSL420提供了丰富的API接口,与LoRa网关搭配可以快速实现无线数据转MQTT,有效降低产品成本、缩小开发周期,快速投入市场
    的头像 发表于 02-02 10:57 692次阅读
    【产品应用】LoRa网关与<b class='flag-5'>二次开发</b>终端的神仙搭配