APM 飞控文档翻译2

11 篇文章 0 订阅

翻译章节: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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值