大疆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 控制功能。
     

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硬件連接圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章