DJI OSDK4.0.1在妙算2-g上編譯執行
技術標籤:無人機
Drone’s Firmware(DJI pilot 中讀到):01.00.0710
Controller’s Firmware(OSDK命令讀到):3.4.3.44
1. 安裝Onboard-SDK-4.0.1
DJI OSDK4.0.1網址為: https://github.com/dji-sdk/Onboard-SDK/tree/4.0,在該網址下載zip壓縮包至妙算機,在本地解壓。
OSDK教程文件地址:https://developer.dji.com/onboard-sdk/documentation/introduction/homepage.html
OSDK安裝教程地址:https://developer.dji.com/cn/onboard-sdk/documentation/quickstart/development-environment.html
1.1 新增UART讀寫許可權
1、使用sudo usermod -a -G dialout $USER
命令將使用者新增至dialout 組中。
2、重新登入所新增的賬戶後,該賬戶即可獲取UART 讀寫許可權。
1.2 新增DJI USB 裝置節點
如啟用OSDK中的視覺功能,則需在妙算中新增DJI USB裝置節點
1、在/etc/udev/rules.d/
目錄下建立檔案DJIDevice.rules
。
2、在DJIDevice.rules
檔案中新增SUBSYSTEM=="usb", ATTRS{idVendor}=="2ca3", MODE="0666"
3、重新啟動電腦後,系統即可識別DJI USB 裝置。
1.3 安裝ACM驅動
安裝ACM(Abstract Control Model)驅動後,開發者使用機載計算機或第三方開發平臺通過USB 介面能夠實現應用程式模擬和外部供電功能。 使用dmesg 命令可查詢系統中ACM 驅動的資訊,妙算應該是出廠已經安裝好到了ACM驅動:
1.4 安裝FFmpeg
安裝FFmpeg 後,開發者使用機載計算機或第三方開發平臺能夠實現視訊相關功能。
sudo apt-get install libavcodec-dev libswresample-dev
1.5 安裝LibUSB
安裝LibUSB 後,開發者使用Manifold 和第三方開發平臺能夠獲取無人機接收到的影象資料。
sudo apt-get install libusb-1.0-0-dev
1.6 安裝OpenCV 3.x
安裝OpenCV 後,開發者使用機載計算機或第三方開發平臺能夠以視覺化的方式獲取立體感知及物件識別等應用功能的資訊。
若已經安裝了ros-kinetic則無需再專門安裝OpenCV,ros-kinetic中有OpenCV庫
1.7 編譯安裝
cd Onboard-SDK-4.0.1
mkdir build
cd build
cmake..
#若編譯高階視覺功能和雲臺目標跟蹤例程,可使用下列命令來cmake
#-DTARGET_TRACKING_SAMPLE=ON 選項會在cmake時下載KCF原始碼並編譯
cmake -DADVANCED_SENSING=ON -DTARGET_TRACKING_SAMPLE=ON ..
sudo make -j7 install
2. 執行例程
按照妙算2-G與M210 RTK V2硬體連結文章中描述的方法連線妙算與M210 V2。
按上述文章中的方法設定好UserConfig.txt中的app_id,app_key,device和baudrate,並在檔案中新增acm_port : /dev/ttyACM0
.
2.1 執行顯示攝像頭影象的例程
cd build/bin
./camera-stream-poll-sample UserConfig.txt
2.2 運行雲臺跟蹤的例程
cd build/bin
./camera-stream-target-tracking-sample UserConfig.txt UserConfig.txt