目的和范围
本页面详细介绍了构成所有 ArduPilot 车辆类型基础的基本架构模式和核心系统。内容涵盖基础车辆框架(AP_Vehicle)、基于调度器的执行模型、参数系统以及核心子系统的集成和初始化方式。
有关特定车辆的实现方式(直升机、飞机、漫游车等),请参阅后续章节。
架构概览
ArduPilot 采用单线程协作式多任务架构,其中AP_Vehicle基类提供基础框架,所有车辆类型均继承自该框架。系统在一个固定频率的主循环中运行,并按预定频率执行计划任务。
AP_车辆类层次结构
核心子系统集成
该类AP_Vehicle将所有主要子系统聚合为成员对象。每个子系统在setup()序列执行期间都会进行初始化,并集成到调度器中以进行定期更新。
主要子系统组件
初始化序列
系统初始化遵循精心设计的顺序,以确保满足所有依赖关系。该setup()方法负责协调此过程。
设置流程
关键初始化步骤
初始化过程可以分为几个阶段:
| 阶段 | 成分 | 主要功能 | 目的 |
|---|---|---|---|
| 参数设置 | AP_Param | setup_sketch_defaults(),load_parameters() | 加载参数默认值并从存储中恢复已保存的值 |
| 安慰 | AP_SerialManager | init_ |