天天看點

大疆M210V2+NANO+OSDK3.9開發

**DJIM210V2+NANO+OSDK3.9開發**

ps:可直接下載下傳完整PDF文檔(完整文檔包括整個開發流程+問題記錄+與官方技術交流郵件截圖等)

連結:https://download.csdn.net/download/qq_35390371/12514361

注意事項

使用OSDK 開發應用程式時,為保護開發者免受意外,請注意如下事項:

•    在使用OSDK 開發應用程式或測試基于OSDK 開發的應用程式時,請取下槳葉;

•    無人機電機在轉動時,請勿靠近;

•    請勿向無人機電源輸出接口輸入大功率電流;

為降低基于OSDK 開發的應用程式因内部故障導緻無人機損毀或意外事件的發生,DJI 強烈要求開發者使用DJI Assistant 2中的模拟器模拟無人機的飛行狀态,并根據模拟器中的資料和日志資訊調試應用程式,降低無人機損毀或意外事件發生的風險,避免不必要的損失。

啟用OSDK 控制功能

     為使基于OSDK 開發的程式能夠與飛行平台間正常通信,請在DJI Assistant2 中啟用OSDK API 控制功能。

大疆M210V2+NANO+OSDK3.9開發

1、M210V2 Onboard SDK 3.9 開發

官方連結:

https://developer.dji.com/onboard-sdk/documentation/development-workflow/environment-setup.html#ubuntu-linux

(1)Ubuntu Linux開發環境要求:

大疆M210V2+NANO+OSDK3.9開發

具體設定為:

①Opencv3.3.1(官方推薦),源碼編譯全安裝,步驟詳見opencv安裝(若不用視覺相關,可不安裝);

②安裝LibUSB 并添加DJI USB 裝置節點

sudo apt-get install libusb-1.0-0-dev  //用于讀取雙目攝像頭、FPV圖像

③添加UART 讀寫權限

1)使用sudo usermod -a -G dialout $USER指令将使用者添加至dialout 組中。

2)重新登入所添加的賬戶後,該賬戶即可擷取UART 讀寫權限。

④如需在M210 系列的無人機上使用OSDK 中的視覺功能,使Linux 系統能夠擷取并辨別DJI 的裝置:

1)在/etc/udev/rules.d/目錄下建立檔案DJIDevice.rules

2)在DJIDevice.rules檔案中添加SUBSYSTEM=="usb", ATTRS{idVendor}=="2ca3", MODE="0666"

3)重新啟動電腦後,系統即可識别DJI USB 裝置

⑤sudo apt-get install libavcodec-dev libswresample-dev

⑥sudo apt-get install libopencv-dev

(2)環境配置以及測試(PC 測試環境Ubuntu 1604)

https://developer.dji.com/onboard-sdk/documentation/development-workflow/sample-setup.html#linux-onboard-computer

裝置連接配接:

使用USB 轉TTL 線(FT232BL)和雙頭USB 線連接配接計算機和無人機。

可參照無人機連接配接妙算:

大疆M210V2+NANO+OSDK3.9開發

具體步驟:

①配置環境,詳見(1)開發環境要求

②注冊大疆開發者賬戶,建立例程擷取開發者ID以及KEY

https://developer.dji.com/user/apps/#all

③下載下傳SDK3.9(已更新到4.0,不清楚改了什麼,根據自己情況下載下傳)

https://github.com/dji-sdk/Onboard-SDK

④在指令行實作:解壓并進入檔案,建立build檔案夾并進入

unzip xxx

mkdir build

cd build

⑤cmake .. -DADVANCED_SENSING=ON -DWAYPT2_CORE=ON  

⑥make

⑦将擷取的ID和KEY填入檔案UserConfig.txt

/Onboard-SDK-master/sample/platform/linux/common/ UserConfig.txt

⑧複制UserConfig.txt到/Onboard-SDK-master/build/bin

⑨使用序列槽連接配接電腦和無人機,打開無人機和遙控器,運作demo

進入/Onboard-SDK-master/build/bin

運作:./djiosdk-flightcontrol-sample UserConfig.txt

可使用公對公USB資料線連接配接無人機和電腦,運作DJI Assistant 2 For Matrice(已經安裝好調參軟體),進行模拟仿真,根據提示輸入指令,觀察無人機狀态。

(4)環境配置以及測試(Nvida Jetson Nano)

①清除TF卡(高速卡),格式化

②下載下傳官方鏡像,檔案jetson-nano-sd-r32.1-2019-03-18.zip,并解壓

③将TF卡插入電腦,打開軟體Win32DiskImager-1.0.0

加載img鏡像,然後寫入

大疆M210V2+NANO+OSDK3.9開發

④将TF卡插入Nano,插上電源,進行簡單的設定,就可進入Ubuntu系統。

⑤按照上文步驟配置環境

⑥編譯

A,    解壓OnboardSDKmaster,進入檔案夾,建立檔案build

B,    進入build,執行:

cmake .. -DADVANCED_SENSING=ON -DWAYPT2_CORE=ON  //擷取進階圖像感覺

(ps:下載下傳較慢,可以使用離線下載下傳源碼包)

C,    下載下傳最新的advanced-sensing源碼包

https://github.com/dji-sdk/Onboard-SDK-Resources/tree/advanced-sensing-2.0.3-armv8

将下載下傳好Onboard-SDK-Resources-advanced-sensing-2.0.3-armv8.zip解壓

将解壓後的檔案src和inc檔案放到Onboard-SDK-master\osdk-core\advanced-sensing-2.0.3目錄下。

⑦将ID和KEY填入檔案UserConfig.txt

/Onboard-SDK-master/sample/platform/linux/common/ UserConfig.txt

⑧複制UserConfig.txt到/Onboard-SDK-master/build/bin

⑨使用序列槽連接配接電腦和無人機,打開無人機和遙控器,運作demo

進入/Onboard-SDK-master/build/bin

運作:./djiosdk-flightcontrol-sample UserConfig.txt

可使用公對公USB資料線連接配接無人機和電腦,運作DJI Assistant 2 For Matrice(已經安裝好調參軟體),進行模拟仿真,根據提示輸入指令,觀察無人機狀态。

2、建立測試app

(1)在/Onboard-SDK-master/sample/platform/linux 目錄下建立selfDemo檔案夾

(2)編寫selfDemo.cpp檔案,selfDemo.hpp檔案,CMakeLists.txt main.cpp

Ps:可直接複制例程,然後修改代碼,修改CMakeLists.txt中的生成的可執行檔案名稱

如:

大疆M210V2+NANO+OSDK3.9開發

将cameragimbal修改為selfDemo,并儲存

(3)打開/Onboard-SDK-master/sample/platform/linux下的CMakeLists.txt(與上面那個不同,目錄少一級)

大疆M210V2+NANO+OSDK3.9開發

如圖,增加一句代碼,并儲存

(4)進入/Onboard-SDK-master/build

運作:make

進入/Onboard-SDK-master/build/bin

可以看到結果如下,則正确。

大疆M210V2+NANO+OSDK3.9開發

(5)NANO與M210V2硬體連接配接圖

大疆M210V2+NANO+OSDK3.9開發

繼續閱讀