Ardupilot

編譯與燒錄Ardupilot的基本教學

韌體編譯

0. 前置條件

作業系統為Ubuntu或Windows WSL

1. 構建 Ardupilot 開發環境

Ardupilot是一個開源的飛控韌體,主要用於無人機和遙控飛行器。以下是構建 Ardupilot開發環境的步驟:

2. 複製Ardupilot Github儲存庫

  1. 開啟終端。

  2. 執行以下命令以複製 Ardupilot 儲存庫:

    git clone --recurse-submodules https://github.com/ArduPilot/ardupilot.git
  3. 進入儲存庫目錄:

    cd ardupilot
  4. 執行Ardupilot開發環境配置腳本,等待安裝完成:

    Tools/environment_install/install-prereqs-ubuntu.sh -y

  5. 重新讀取路徑:

    . ~/.profile
  6. 登出後再登入以儲存設定

3. 編譯 Ardupilot 韌體

  1. 先將工作目錄切換到Ardupilot儲存庫中

    cd ardupilot
  2. 執行以下命令進行韌體編譯:

    ./waf configure --board <Board Name, Ex: MATEKF405AIO>

    Board Name替換為飛控板的具體名稱。

    ./waf copter # 如果要編譯的是arducopter

  3. 編譯成功後會出現以下訊息

  4. 編譯的韌體位置在build/<Board Name>/bin底下,包含僅含Ardupilot韌體檔案(ardupilot.bin, ardupilot.apj)與包含bootloader的Ardupilot韌體檔案(ardupilot_with_bl.hex)

韌體燒錄

燒錄Ardupilot韌體目前提供兩種方法

此方法應用於已安裝PX4或Ardupilot的韌體

  1. 飛控板使用USB連接到電腦。

  2. 開啟Mission Planner,開啟初始配置,注意不需要按下連線

  3. 按下想要燒錄的韌體(例如Copter),按下Yes

  4. 燒錄中

  5. 燒錄完成

  6. 按下右上角連線,回到飛行數據,有姿態以及飛行數據表示燒錄完成


如何編譯自定義的飛控板

  1. 確認已經成功配置Ardupilot開發環境

  2. 移動到ardupilot/library/AP_HAL_ChibiOS/hwdef中,複製已經存在的飛控板定義,重新命名新飛控板名稱的資料夾,此處以Morakot為例。

  3. 修改hwdef.dat(不含Bootloader的版本)與hwdef-bl.dat(含Bootloader的版本)

  4. 修改其中的內容,根據實際板子所使用的腳位定義與接線,撰寫自己的飛控板配置

  5. 修改完畢後,開啟終端機,切換到ardupilot儲存庫的資料夾

  6. 首先,編譯新飛控板的Bootloader,此步驟不可跳過。:

    ./Tools/scripts/build_bootloaders.py <Board Name>

  7. 接著配置Ardupilot韌體編譯設定,此時還不會編譯,此步驟不可跳過。

    ./waf configure --board <Board Name>

  8. 接著編譯Ardupilot韌體,此步驟不可跳過。

    ./waf copter

  9. 編譯完成的Ardupilot韌體將會位於ardupilot/build/<Board Name>/bin裡面

Last updated