一直是對(duì)無(wú)人機(jī)的二次開(kāi)發(fā)具有濃厚的興趣,現(xiàn)在正好是手邊有著全套的無(wú)人機(jī)開(kāi)發(fā)的套件,這種機(jī)會(huì)可不能浪費(fèi)掉。
之前倒是寫(xiě)過(guò)較為全面的SDK文章,但是過(guò)了太久了,有些遺忘,那么這篇文章算復(fù)習(xí),其次是現(xiàn)在OSDK已經(jīng)到了5的時(shí)代,很多東西都變換了。我對(duì)Linux下的開(kāi)發(fā)其實(shí)是不熟悉的,那么這里就以STM32 串口控制無(wú)人機(jī)為一個(gè)路,從代碼層面對(duì)SDK來(lái)一個(gè)認(rèn)識(shí),等我寫(xiě)完這些我就開(kāi)一門叫OSDK二次開(kāi)發(fā)入門的課。
因?yàn)樽罱谘芯縎LAM系統(tǒng),有一些SLAM是需要精確授時(shí)的,但是demo里面都是使用的RTK,太貴了,我后來(lái)發(fā)現(xiàn)其實(shí)飛控也控制發(fā)送這種硬件的信號(hào),我這里和時(shí)間混為一談了,其實(shí)就是多傳感器之間的同步問(wèn)題。但是我發(fā)現(xiàn)我的A3飛控其實(shí)是不支持這樣輸出的,但是無(wú)妨, 也不妨礙我寫(xiě)這個(gè)東西。
示意圖
pps英文全稱是 Pulse Per Second,中文解釋為秒脈沖,脈沖數(shù)/秒,PPS即每秒脈沖數(shù)的縮寫(xiě),一般出現(xiàn)在通信行業(yè)中。
獲取時(shí)間的時(shí)間同步信息: 獲取NMEA數(shù)據(jù):獲取無(wú)人機(jī)使用的定位系統(tǒng)的數(shù)據(jù),如GPS、伽利略、北斗及GLONASS 等 獲取PPS數(shù)據(jù):獲取無(wú)人機(jī)的硬件觸發(fā)脈沖信號(hào) 獲取UTC時(shí)間:獲取統(tǒng)一的UTC時(shí)間
運(yùn)動(dòng)控制功能:
航點(diǎn)任務(wù):控制DJI 的無(wú)人機(jī)按照預(yù)設(shè)的多個(gè)航點(diǎn)實(shí)現(xiàn)自主飛行 熱點(diǎn)任務(wù):控制無(wú)人機(jī)圍繞設(shè)置的興趣點(diǎn)環(huán)繞飛行 控制權(quán)限聲明 DJI 無(wú)人機(jī)的飛行控制器能夠根據(jù)實(shí)際的飛行狀態(tài)和用戶的需求,調(diào)整受控主體,無(wú)人機(jī)控制權(quán)限的等級(jí)由高至低依次為遙控器、基于MSDK 開(kāi)發(fā)的移動(dòng)端APP 和基于OSDK 開(kāi)發(fā)的應(yīng)用程序。在DJI 的控制體系中,DJI 遙控器的控制權(quán)限最高,可隨時(shí)獲取控制DJI 無(wú)人機(jī)的控制權(quán)。
偏航是飛機(jī)繞機(jī)體坐標(biāo)系豎軸的短時(shí)旋轉(zhuǎn)運(yùn)動(dòng)。豎軸通過(guò)飛機(jī)重心在飛機(jī)對(duì)稱平面內(nèi)并垂直于縱軸。偏航運(yùn)動(dòng)的主要參數(shù)有偏航角、偏航角速度、偏航角加速度。偏航運(yùn)動(dòng)通過(guò)踩腳蹬使方向舵偏轉(zhuǎn)產(chǎn)生繞飛機(jī)重心的偏航力矩來(lái)實(shí)現(xiàn)。
這個(gè)是從上到下的看視角
在航點(diǎn)任務(wù)中,用戶使用操縱桿能控制無(wú)人機(jī)的飛行速度和偏航角度; 熱點(diǎn)任務(wù):用戶使用操縱桿能控制無(wú)人機(jī)執(zhí)行任務(wù)的速度、飛行半徑(執(zhí)行熱點(diǎn)任務(wù))、飛行方向和偏航角度。 就是相當(dāng)于旋轉(zhuǎn)機(jī)身,然后就是一個(gè)油門。 在P 模式下,使用基于MSDK 開(kāi)發(fā)的移動(dòng)端APP 向無(wú)人機(jī)發(fā)送控制指令。 當(dāng)使用基于MSDK 開(kāi)發(fā)的移動(dòng)端APP 向無(wú)人機(jī)不再發(fā)送控制指令時(shí),遙控器會(huì)獲得無(wú)人機(jī)控制權(quán)。嘿嘿,我又控制回來(lái)了。 基于OSDK 開(kāi)發(fā)的應(yīng)用程序在控制無(wú)人機(jī)執(zhí)行指定的任務(wù)時(shí),基于MSDK 開(kāi)發(fā)的移動(dòng)端APP 可搶占該應(yīng)用程序?qū)o(wú)人機(jī)的控制權(quán),優(yōu)先控制無(wú)人機(jī)執(zhí)行指定的動(dòng)作,確保無(wú)人機(jī)和用戶的安全。
這里使用的是妙算2G
方法1:使用Manifold 2 中的串口線連接無(wú)人機(jī)尾部的拓展接口和Manifold 2 的UART1 接口(Manifold 2 中的設(shè)備號(hào)為ttyTHS2); 方法2:使用USB轉(zhuǎn)串口線連接飛機(jī)尾部的拓展接口和Manifold 2 的USB 接口(Manifold 2 中的設(shè)備號(hào)為ttyUSBn,n為0、1、2.....)。
為避免干擾無(wú)人機(jī)的正常工作,請(qǐng)確保機(jī)載計(jì)算機(jī)的電壓在18V~26V 間,電流恒定為2A。
明天去樓下偷一個(gè)
遙控器的搖桿
接收機(jī)
參數(shù)
PPM就可以加多協(xié)議的高頻頭了
對(duì)頻
接收機(jī)的LED燈
在OSDK的4.0之前的STM32 都是裸機(jī)執(zhí)行的程序,但是4.0以后就變成了這個(gè)RTOS,媽的,還是強(qiáng)制執(zhí)行哪種的。
不過(guò)有個(gè)優(yōu)點(diǎn)是,裸機(jī)的難度會(huì)更小,以及代碼量也會(huì)變少。
其實(shí)還有一個(gè)版本是針對(duì)樹(shù)莓派2B的,別問(wèn)我為什么知道
這個(gè)是幾個(gè)子項(xiàng)目之間的cmake文件
現(xiàn)在都11:30 了,這里給大家展示一個(gè)DJI的FPV天空端拆機(jī):
攝像頭開(kāi)蓋
CMOS后面的芯片
接口
鏡頭
CMOS的樣子
也不知道是幾層板
天空蝸牛
戰(zhàn)損發(fā)射機(jī)
后面的接口和天線
開(kāi)蓋
-
Linux
+關(guān)注
關(guān)注
87文章
11460瀏覽量
212794 -
無(wú)人機(jī)
+關(guān)注
關(guān)注
230文章
10734瀏覽量
185542 -
SDK
+關(guān)注
關(guān)注
3文章
1065瀏覽量
47689
原文標(biāo)題:DJI OSDK開(kāi)發(fā).1(回憶)
文章出處:【微信號(hào):TT1827652464,微信公眾號(hào):云深之無(wú)跡】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
CAXA2011二次開(kāi)發(fā),CRX; CAX2007二次開(kāi)發(fā)
手機(jī)模塊二次開(kāi)發(fā)
面向?qū)ο蟮膮?shù)化CAD二次開(kāi)發(fā)方法研究
AutoCAD的二次開(kāi)發(fā)
ANSYS的二次開(kāi)發(fā)技術(shù)
基于VC的Cadence二次開(kāi)發(fā)

AutoCAD VBA二次開(kāi)發(fā)教程
可支持快速二次開(kāi)發(fā)的zigbee核心板
GIS 二次開(kāi)發(fā)概述

對(duì)功率計(jì)進(jìn)行二次開(kāi)發(fā)
空間光調(diào)制器的簡(jiǎn)便控制方法:靈活應(yīng)用二次開(kāi)發(fā)

【產(chǎn)品應(yīng)用】LoRa網(wǎng)關(guān)與二次開(kāi)發(fā)終端的神仙搭配

評(píng)論