关于摸到DJI A3 飞控

2022-11-29 14:25:53 浏览数 (1)

关于DJI的OSDK研究了很长的一段时间,但是一直也没有摸到实物,今天在工位摸到一套,研究了半天感觉少根线,看了看说明书,确实是少根线,去找看一圈也没有,emmmmm,果然我是天生看说明书的命。

能不能整个数据线啊,家人

稍微有点战损了

那。。。今天继续看看说明书,明天拿着说明书去找线。

目前就是一堆线了,疯狂抓头

渲染图

开发能力

开发的一些必要信息,比如电池类型

DJI家的飞控有几种控制模式:

P模式为定位模式,使用GPS模块或视觉定位系统以实现飞行器精确悬停。

A模式为姿态模式,不使用GPS模块与视觉定位系统进行定位,仅提供姿态增稳,在GPS卫星信号良好的情况下可实现返航。

F模式为功能模式,此模式下可使用智能飞行功能。

M模式为手动模式,此模式下无姿态角度限制,由于飞行难度较高,建议在紧急情况下重新夺回控制权。

除了自家的电调,支持的还有:

市面上标准电调,1520μs中位,400Hz刷新频率。

电调一直说的事情是支持断桨飞行,支持的条件是:

a. 断桨前推质比大于2.5(推质比:升力/质量);

b. 飞行器为6轴及以上;

c. 断桨后,若飞机进入自旋,则飞机会自动切到航向锁定模式。

LED的模块上面有USB

嘿,找到了

最终应该有的连接线是这样的

相关的接口

API这里是OSDK的API接口,盲猜是串口

一个强大的飞控必然有一个强大的电源

不是很理解和LED做一起是为什么

支持的几种飞行器类型

DJI别的太贵,搞个SBUS接收机就好了

一个基本的动力参数

我这里还缺电池,今天先搞好需要的东西。

偷瞄

好像SDK得用老点得版本

对,得用3的版本

明白了

OSDK的源码删除成这样就可以

然后记得看3的文档

那么,OSDK是什么?

OSDK 是一个用于开发无人机应用程序的开发工具包,基于OSDK 开发的应用程序能够运行在机载计算机上,开发者通过调用OSDK 中指定的接口能够获取无人机上的各类数据,经开发者设计的软件逻辑和算法框架,执行相应的计算和处理,生成对应的控制指令控制无人机执行相应的动作,实现如自动化飞行、负载控制和视频图像分析等功能。

获取NMEA数据:获取无人机使用的定位系统的数据,如GPS、伽利略、北斗及GLONASS 等

获取PPS数据:获取无人机的硬件触发脉冲信号

获取UTC时间:获取统一的UTC时间

设置或获取无人机飞行控制器的参数,如返航高度,避障状态等

执行基本的飞行任务,如起飞、降落及返航等

无人机基础控制功能,如速度控制、姿态控制和位置控制

航点任务:控制DJI 的无人机按照预设的多个航点实现自主飞行

热点任务:控制无人机围绕设置的兴趣点环绕飞行

广播:使用OSDK 开发的应用程序能够接收无人机主动推送给其他模块的数据,同时将第三方传感器的数据广播给第三方信息接收设备

消息订阅:使用OSDK 开发的应用程序能够记录用户所需订阅的数据

SDK 互联互通

与基于MSDK 开发的移动端APP 间通信

与基于PSDK 开发的负载设备间通信

我这里删除了一些和硬件强相关的东西。

DOC的话,就是这个了

SDK包括:

一个开源 C 库,可用于通过串行接口控制 DJI 飞行器 - 支持 Linux、ARM 和 STM32;

与 ROS 标准兼容的全功能 ROS 包装器;

飞机模拟器和可视化工具;

示例代码和教程;

本开发人员指南和 API 文档。

OSDK和MSDK之间也有一个比较

由于 Mobile SDK 用于地面应用程序,而 Onboard SDK 用于基于飞机的应用程序,这两个 SDK 可以在一个解决方案中同时使用。两个 SDK 都有 API,允许通过飞机的无线链路进行通信,因此可以在移动设备和机载计算机之间发送数据。

什么时候用OSDK?

1.执行精确的轨迹

2.不使用遥控器飞行(例如超出视线)

3.将第三方传感器、执行器和通信系统与飞行控制或连接到遥控器的移动应用程序集成。

控制飞控的几种的类型:

1.姿态控制:使用姿态命令进行低级控制。

2.速度控制:使用速度命令的低级控制。

3.位置控制:使用位置命令进行低级控制。

4.任务:方便,易于实现飞机的高级控制。

还注意,有一个有趣的东西:

硬件脉冲信号:由飞机/FC时钟触发的可编程脉冲,可由外部传感器或计算机消耗

软件数据包:IMU 数据和与硬件脉冲对应的时间戳,用于将此传感器数据与其他传感器或算法准确注册。

DJI Onboard SDK 包含一个核心库(OSDK-Core),通过该库获取飞行器数据和控制。这个库的架构被设计成可扩展的。所有命令都与产品无关,并且产品功能信息在运行时可用。

架构图

应用程序通过 DJI Onboard SDK 中的主 Vehicle 类访问 DJI 产品的功能,Vehicle 类用于管理 SDK(例如 SDK 激活),还提供对象来控制和接收来自产品的状态信息。

这个是控制控制飞控的串口连接口

懂得都懂,地平线板子拿出来

STM32也可以

这个是STM32的配置要求

这次的酒店,先喷为敬(日用品不给了),嘤嘤嘤,没洗头膏了。。。

下班!回窝!

代码语言:javascript复制
https://github.com/dji-sdk/Onboard-SDK
代码语言:javascript复制
https://github.com/dji-sdk
代码语言:javascript复制
https://www.dji.com/cn/a3?site=developer

0 人点赞