本页面提供了ArduPilot支持的车辆类型、代码结构以及它们与核心架构关系的技术概述。每种车辆类型都以专用固件的形式实现,但所有车辆类型都共享AP_Vehicle基类和通用子系统。
支持的车辆类型和代码实体
ArduPilot 支持以下几种主要车辆类型,每种类型都有其专用的代码库和固件:
- ArduCopter:多旋翼飞行器和直升机
- ArduPlane:固定翼飞机(包括垂直起降/四轴飞行器)
- 漫游车:地面和水面车辆
- 潜艇:水下航行器
- 飞艇:比空气轻的飞行器
车辆类型继承和代码结构
下图将车辆类型名称与其主要代码实体和继承关系进行了映射。
车辆类型检测和配置
车辆类型在构建时通过预处理器标志和配置文件确定。每种车辆类型都有其自身的一组参数和配置逻辑,这些参数和逻辑在诸如 `<v1>`Parameters.cpp和config.h`<v2>` 之类的文件中定义。
跨车型通用核心系统
所有车辆类型都共享一套核心系统和库,这些系统和库在每辆车的主类中实例化和使用。其中包括:
- 硬件抽象层(
AP_HAL) - 姿态航向参考系统(
AP_AHRS) - 调度器(
AP_Scheduler) - 任务系统(
AP_Mission) - 地面控制站通信(
GCS_MAVLink) - 数据记录(
AP_Logger) - 参数系统(
AP_Param) - 全球定位系统 (
AP_GPS) - 惯性传感器(
AP_InertialSensor)
ArduCopter
ArduCopter 是多旋翼飞行器和直升机的固件。主要类是Copter(ArduCopter/Copter.h)。
框架类型
ArduCopter 支持多种机架配置,可通过FRAME_CLASS运行时或构建时的参数进行选择。
| 框架类 |
|---|
546



被折叠的 条评论
为什么被折叠?



