在虛擬機中首先安裝Ubuntu18,具體這里不再贅述
一、首先在虛擬機中安裝git
sudo apt-get update
sudo apt-get install git
sudo apt-get install gitk git-gui
二、然后下載ardupilot源碼
git clone https://github.com/ArduPilot/ardupilot
cd ardupilot
git submodule update --init --recursive
由於github下載速度較慢,在這里可以使用阿木實驗室的國內git服務器,具體連接在這里
https://mp.weixin.qq.com/s/M445Msny6R5TPt5_pc5_4w
三、然后在ardupilot目錄下執行下面的命令
Tools/scripts/install-prereqs-ubuntu.sh -y
其實可以打開該目錄查看一下,會發現里面有好多自動化腳本,對於部署開發環境來說非常方便
當然由於也存在以下坑,后面會詳細解釋
- 新版本sh文件目錄有所改變,現在集中在/ardupilot/Tools/environment_install中,對應ubuntu安裝文件依然是install-prereqs-ubuntu.sh。另外需要注意的是這個sh文件默認是沒有運行權限的,需要通過chmod +x install-prereqs-ubuntu.sh增加運行權限才可以執行。
- 腳本中首先通過apt-get安裝包,但是在國內由於眾所周知的原因,默認的安裝源下載較慢或是無法下載,安裝前需要將apt-get更換為國內安裝源。
- 腳本中使用pip2安裝需要的包,同樣需要更換為國內源。
- 在安裝個過程中會安裝ARM交叉編譯工具鏈gcc-arm-none-eabi-6-2017-q2-update-linux,在腳本中默認使用wget下載,速度奇慢無比,可以事先下載並且自行解壓到/opt目錄下,這樣安裝的時候會跳過下載,節省很多時間。不過在這里最好注釋掉該自動化腳本wget下載arm-linux-gcc編譯器的這一行,如下圖所示:
上述問題都注意到的話,整體安裝過程應該是比較順利的。之后就需要配置路徑:
. ~/.profile
到此Ardupilot的開發環境就已經安裝好,但是使用過程中還是有些小坑。
- ardupilot源碼已經轉向Waf工具編譯,所以編譯指令有所區別,並且需要注意一定在ardupilot安裝的根目錄執行,這點與make不同。
- waf編譯前需要配置飛控運行板卡,但是之前網上教程所提到px4-v1、px4-v3等板卡名稱都已經被替換,可以使用./waf list_boards命令查詢支持板卡對應的參數。
然后就可以進行固件編譯了,我編譯的是多旋翼仿真固件
編譯成功后會有如下內容: