关于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