Ardupilot
編譯與燒錄Ardupilot的基本教學
韌體編譯
0. 前置條件
作業系統為Ubuntu或Windows WSL
1. 構建 Ardupilot 開發環境
Ardupilot是一個開源的飛控韌體,主要用於無人機和遙控飛行器。以下是構建 Ardupilot開發環境的步驟:
2. 複製Ardupilot Github儲存庫
開啟終端。
執行以下命令以複製 Ardupilot 儲存庫:
git clone --recurse-submodules https://github.com/ArduPilot/ardupilot.git
進入儲存庫目錄:
cd ardupilot
執行Ardupilot開發環境配置腳本,等待安裝完成:
Tools/environment_install/install-prereqs-ubuntu.sh -y
重新讀取路徑:
. ~/.profile
登出後再登入以儲存設定
3. 編譯 Ardupilot 韌體
先將工作目錄切換到Ardupilot儲存庫中
cd ardupilot
執行以下命令進行韌體編譯:
./waf configure --board <Board Name, Ex: MATEKF405AIO>
將 Board Name替換為飛控板的具體名稱。
./waf copter # 如果要編譯的是arducopter
編譯成功後會出現以下訊息
編譯的韌體位置在build/<Board Name>/bin底下,包含僅含Ardupilot韌體檔案(ardupilot.bin, ardupilot.apj)與包含bootloader的Ardupilot韌體檔案(ardupilot_with_bl.hex)
韌體燒錄
燒錄Ardupilot韌體目前提供兩種方法
此方法應用於已安裝PX4或Ardupilot的韌體
飛控板使用USB連接到電腦。
開啟Mission Planner,開啟初始配置,注意不需要按下連線
按下想要燒錄的韌體(例如Copter),按下Yes
燒錄中
燒錄完成
按下右上角連線,回到飛行數據,有姿態以及飛行數據表示燒錄完成
如何編譯自定義的飛控板
確認已經成功配置Ardupilot開發環境
移動到ardupilot/library/AP_HAL_ChibiOS/hwdef中,複製已經存在的飛控板定義,重新命名新飛控板名稱的資料夾,此處以Morakot為例。
修改hwdef.dat(不含Bootloader的版本)與hwdef-bl.dat(含Bootloader的版本)
修改其中的內容,根據實際板子所使用的腳位定義與接線,撰寫自己的飛控板配置
修改完畢後,開啟終端機,切換到ardupilot儲存庫的資料夾
首先,編譯新飛控板的Bootloader,此步驟不可跳過。:
./Tools/scripts/build_bootloaders.py <Board Name>
接著配置Ardupilot韌體編譯設定,此時還不會編譯,此步驟不可跳過。
./waf configure --board <Board Name>
接著編譯Ardupilot韌體,此步驟不可跳過。
./waf copter
編譯完成的Ardupilot韌體將會位於ardupilot/build/<Board Name>/bin裡面
Last updated