APM 飛控文檔翻譯2

翻譯章節:Learning ArduPilot — Introduction

原文地址:https://ardupilot.org/dev/docs/learning-ardupilot-introduction.html

學習 ArduPilot  --- 簡介


  本頁介紹ArduPilot的基本結構,開始之前,您需要先確定利用哪種方式瀏覽代碼,你可以只利用網頁瀏覽器查看代碼,此種方式不需要將代碼克隆到本地,網址爲:https://github.com/ArduPilot/ardupilot/ 如果你將代碼克隆到本地,通過推薦的 IDE 將會更有利於代碼閱讀。

   

ArduPilot 可以分爲5個基本組成部分:

  • 對象設備代碼
  • 共享庫
  • 硬件抽象層 (AP_HAL)
  • 工具目錄
  • 外部支持代碼(i.e. mavlink, droneki)

1,對象設備代碼

       對象設備目錄是定義每一種設備的頂級目錄,目前,APM 支持5中對象設備:固定翼無人機、直升機、無人車、Sub 與天線跟蹤器。儘管這些無人機對象設備有許多共同點,但是它們直接仍然有差異,目前,我們僅對 Copter 目錄代碼的代碼結構進行詳細說明。

       除了 .cpp 文件外, 每個對象設備目錄中,都包含一個 make.inc 文件,此文件列出了相關的庫文件,編譯過程中, Makefile讀取此內容創建-I和-L標誌。

2,共享庫文件

       包括(Copter,、Plane、Rover 、AntennaTracker)在內的各種類型的無人設備共享庫文件,這些庫包括傳感器驅動器,姿態和位置估計(akaEKF)和控制代碼(即PID控制器),查詢有關更多詳細信息,請參見``庫描述'',``庫示例草圖''和``傳感器驅動器''頁面。

3,硬件抽象層 (AP_HAL)

       硬件抽象層 (Hardware Abstraction Layer) 使得 ArduPilot 可以一直待各種不同的硬件平臺之上。代碼庫中,libraries/AP_HAL中包含一個 AP_HAL,AP_HAL屬於頂層文件,定義了其餘代碼需要設配特定的硬件。因此,每種板類型都有一個AP_HAL_XXX子目錄,例如,基於AVR的主板的AP_HAL_AVR,基於Pixhawk主板的AP_HAL_PX4,基於Linux的主板的AP_HAL_Linux 。

4,工具目錄

      工具目錄是其他雜項支持目錄,例如,tools/autotest 提供 autotest.ardupilot.org 網站背後的自動測試基礎架構, tools/Replay提供日誌回覆功能。

5,外部支持代碼

     在某些平臺上,我們需要外部支持代碼來提供其他功能或主板支持。當前支持的外部功能爲:

  • PX4NuttX - the core NuttX RTOS used on Pixhawk boards
  • PX4Firmware - the base PX4 middleware and drivers used on Pixhawk boards
  • uavcan - the uavcan CANBUS implementation used in ArduPilot
  • mavlink - the mavlink protocol and code generator
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章