Raspberry Pi 3 + Pixhawk :以Dronekit撰寫Python Script控制飛行器 (模擬器)


目的 :透過Simulator來模擬使用Mavlink協定來傳送Python撰寫的Script給Pixhawk飛控模板並執行,並透過地面站觀測執行任務的模擬飛行器。

環境 :以Wiundows作為主系統,並以VirtualBox安裝Ubuntu 16.04.3作為測試平台

步驟 :

Step 1 :先在Windows安裝好Mission Planner

Step 2 :執行安裝好的Ubuntu虛擬機(如果沒有實體IP記得設定橋接)

橋接設定方式:
Windows  >>  控制台 >>  網路和網際網路  >>  網路和共用中心  >>  變更介面卡設定  >>  把網路卡和虛擬網路卡框起來,右鍵執行橋接


虛擬機  >>  從NAT改成橋接介面卡 


Step 3 :Ubuntu安裝必要套件
sudo pip install mavproxy
sudo pip install dronekit
sudo pip install dronekit-sitl

Step 4 :開啟一個terminal A,作為模擬一台飛行器物件用(扮演的角色就是飛行器實體),指令如下
dronekit-sitl  copter --home=飛行器初始經度,飛行器初始緯度,0,180

Step 5 :開啟一個terminal B,作為負責傳送訊息給飛行器的功能(扮演的角色就是Raspberry Pi),指令如下
mavproxy.py --master tcp:127.0.0.1:5760 --out:127.0.0.1:14551 --out udp:Windows端的IP:14550

Step 6 :到Windows執行Mission Planner,選擇UDP,按下連接,Port選擇14550,如果上述步驟沒有錯,就能連接到剛剛在terminal A設定好的飛行器,地圖會顯示在剛剛輸入的經緯度上

Step 7 :在Ubuntu上撰寫一個Dronekit的Script,以官網Github為例,撰寫完後儲存成"檔名.py"

Step 8 :進行Script執行,並傳送給飛行器進行動作,這裡會透過mavproxy以mavlink協定傳送,這裡在開一個terminal C,指令如下(記得到Script所在的目錄)
python 檔名.py --connect udp:127.0.0.1:14551

Step 9 :到Windows查看飛行器狀況,會看到飛行器開始執行任務。



留言