**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 控制功能。
1、M210V2 Onboard SDK 3.9 開發
官方連結:
https://developer.dji.com/onboard-sdk/documentation/development-workflow/environment-setup.html#ubuntu-linux
(1)Ubuntu Linux開發環境要求:
具體設定為:
①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 線連接配接計算機和無人機。
可參照無人機連接配接妙算:
具體步驟:
①配置環境,詳見(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鏡像,然後寫入
④将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中的生成的可執行檔案名稱
如:
将cameragimbal修改為selfDemo,并儲存
(3)打開/Onboard-SDK-master/sample/platform/linux下的CMakeLists.txt(與上面那個不同,目錄少一級)
如圖,增加一句代碼,并儲存
(4)進入/Onboard-SDK-master/build
運作:make
進入/Onboard-SDK-master/build/bin
可以看到結果如下,則正确。
(5)NANO與M210V2硬體連接配接圖