【大疆無人機Assistant2仿真OnboardSDK系統搭建】
【大疆無人機Assistant2仿真OnboardSDK系統搭建】
首先:一定要仔細閱讀官網給出的說明書!M600用戶使用說明,以及妙算2-C使用說明,不然都搞不清哪些線的作用是干什么的,也不清楚飛控上面哪些預留口是正常有用的!
為了想要完成OnboardSDK開發,首先要對其仿真模擬平臺進行搭建,大疆自帶了Assistant2軟件(貌似只有windows和mac版本)該軟件可對無人機固件升級,OnboardSDK開發API設置,波特率設置,以及仿真模擬GUI顯示無人機飛行姿態等。
硬件平臺準備:
-
大疆M600無人機(A3飛控);
- win10電腦一臺(用來安裝Assistant2);
- ubuntu16.04電腦一臺(我使用的妙算2-C用來編譯運行OnboardSDK);妙算2-C 是大疆自己出產的inter i7的處理器即CPU版本。
- 無人機遙控器(用來將檔位調至F檔,表示采用OnboardSDK控制,具體檔位說明見其用戶說明書。)
軟件準備:
-
DJI Assistant2下載:https://www.dji.com/cn/downloads/softwares/assistant-dji-2
-
OnboardSDK下載(注意下載到連接飛控的Ubuntu電腦上才行,我這里下載到妙算2里面了):
- https://github.com/dji-sdk/Onboard-SDK/releases
重點來了,如何連接線?按照上面的準備工作,查看大疆開發者官網給出的連線示意圖:
https://developer.dji.com/onboard-sdk/documentation/development-workflow/hardware-setup.html
官網給出的圖其實很清楚:
A3也就是我們M600蓋子下面的飛控了,打開頂蓋即可發現:
1、而只需要用API接口就行,那我怎么知道API那幾個孔端點是啥?所以官網給出了下面示意圖來說明:從左往右依次對應:
這是需要使用USB-TTL的轉接線才能連接到Ubuntu(妙算2)的USB插口上。貌似默認配件里面沒有,要向廠家要,或者網上買一根。這個線長這樣:
然后就可以將A3和Ubuntu連接起來了(只需要用到下面三個線):還是上面第一張圖。
注意TXD表示發送數據,RXD表示接受數據!一般串口就用這二個來表示。左邊發送,右邊接收,右邊發送,左邊接收!
2、M600無人機外面的LED指示燈下給出的一個Micro-USB接口(即之前常用的安卓數據線的另一頭)。這個是用來連接windows電腦usb,進而利用Assistant2來進行執行仿真模擬,固件升級等都是這個口。
3、連接完成之后:飛控上面的紅色指示燈會亮起。
仿真模擬實驗:
首先:獲取權限
您需要將您的用戶添加到dialout
組中,以獲取uart通信的讀/寫權限。請按照以下步驟操作:
- 在終端鍵入
sudo usermod -a -G dialout $USER
- 注銷您的用戶帳戶,然后再次登錄以使權限生效。
1.打開妙算終端下載OnboardSDK:
從github下載OnBoard-SDK源碼
git clone https://github.com/dji-sdk/Onboard-SDK
2.下載好源碼之后進入源碼并編譯:
cd Onboard-SDK
mkdir build
cd build
cmake ..
make
3.將配置復制進當前Onboard-SDK下面的UserConfig.txt到:bin/目錄下:
cp ../sample/linux/common/UserConfig.txt bin/
4.進入bin/目錄下修改上面復制過來的用戶配置文件。
cd ./bin
vim UserConfig.txt
配置文件如下:
app_id : your_app_id_here //App ID
app_key : your_key_here //Key
device : /dev/ttyUSB0 //USB連接飛控后在電腦中顯示的串口名稱
baudrate : 230400 //在 DJI Assitant 2 中修改的波特率
app_id與app_key去大疆開發者網站:https://developer.dji.com/cn/
注冊賬號并審核升級為開發者用戶,在用戶中心創建一個app點進去即可獲得:填好上面內容。
5.執行官方Samples示例程序,并在Assistant2中查看仿真Demo軌跡。
cd bin
./djiosdk-flightcontrol-sample UserConfig.txt
成功運行后,會提示你數據命令,這時你需要講遙控器撥到F檔,然后終端會提示你輸入命令a或b。
效果如下:
注意事項:
①最好跑程序的時候就提前將遙控器打開,并撥到F擋位。注意把無人機旋翼收起來(盡管它也飛不起來)
②使用Onboard SDK前,注意將Ubuntu(執行時不需聯網,但是下載onboardSDK時需要聯網)通過USB-TTL連接A3飛控,遙控器連接手機,手機連網,windows電腦(聯網)連接Micro-USB,首次執行Samples時會在軟件DJI Assistant2上面要登陸進行**。
③注意在Windows電腦下打開Assistant2時選擇SDK,并勾選啟動API控制,波特率調整和上面UserConfig.txt中填寫的一致。調完波特率之后需重新啟動一下無人機A3飛控。
④串口打開失敗
ls -l /dev |grep ttyU
開放權限:
sudo chmod 666 /dev/ttyUSB0
⑤沒有檢測到上面串口,檢查TXD和RXD二者收發方是否接正確。
智能推薦
ROS 無人機仿真系統4 —— 通過鍵盤控制飛行器飛行
1、鍵盤控制無人機飛行 仿真系統rotor_simulator支持使用joystick來模擬遙控器,同時支持用鍵盤來模擬joystick,哈哈就是這么會玩兒,所以沒有joystick的我就用了鍵盤來控制飛行器仿真飛行。這里首先需要建立虛擬鍵盤joystick,具體參照: https://github.com/ethz-as...
Rotors simulator ETH-ASL的無人機仿真系統安裝指南
Rotors simulator ETH-ASL的無人機仿真系統安裝指南 Rotors simulator ETH-ASL的無人機仿真系統安裝指南 首先一定要下載全部依賴 首先安裝ros 下載所有的包以及項目文件 build test 問題匯總 2. 出現找不到autoreconf這個問題 autoreconf not found 3. ‘Any’ is not a mem...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
猜你喜歡
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...
Linux C系統編程-線程互斥鎖(四)
互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...
統計學習方法 - 樸素貝葉斯
引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...