Skip to content

PX4架构

以下章节对两种“典型”PX4系统的硬件和软件堆栈进行了高层次概述,一种仅配备飞行控制器,另一种则同时配备飞行控制器和辅助计算机(也称为“任务计算机”)。

INFO

PX4架构概述 提供了有关飞行堆栈和中间件的信息。 板外API在 ROSMAVSDK 中有介绍。

仅配备飞行控制器

下图对基于飞行控制器的典型“简易”PX4系统进行了高层次概述。

PX4架构 - 仅飞行控制器系统

硬件包括:

  • 飞行控制器(运行PX4飞行堆栈)。其通常包含内部惯性测量单元(IMU)、指南针和气压计。
  • 电机电调(ESC),连接到 PWM输出端口DroneCAN(DroneCAN支持双向通信,并非图中所示的单向通信)或其他总线。
  • 传感器(GPS指南针、距离传感器、气压计、光流传感器、气压计、ADSB应答器等),通过I2C、SPI、CAN、UART等接口连接。
  • 相机 或其他有效载荷。相机可连接到PWM输出端口或通过MAVLink连接。
  • 遥测电台,用于连接到地面站计算机/软件。
  • 遥控(RC)控制系统,用于手动控制。

图的左侧展示了软件堆栈,其大致与图中的硬件部分水平对齐。

飞行控制器与辅助计算机

下图展示了同时包含飞行控制器和辅助计算机(此处称为“任务计算机”)的PX4系统。

PX4架构 - 飞行控制器 + 辅助计算机

飞行控制器运行常规的PX4飞行堆栈,而辅助计算机则利用 计算机视觉 提供高级功能。 这两个系统通过快速串行链路或IP链路连接,并且通常使用 MAVLink协议 进行通信。 与地面站和云端的通信通常通过辅助计算机进行路由(例如,使用 MAVLink路由器(英特尔提供))。

PX4系统的辅助计算机通常运行Linux操作系统。 对于“通用”软件开发而言,Linux是比NuttX好得多的平台;Linux开发者数量更多,并且已经有大量有用的软件被开发出来(例如,用于计算机视觉、通信、云集成、硬件驱动等方面)。 出于同样的原因,辅助计算机有时也会运行安卓系统。

INFO

该图展示了通过LTE与云端或地面站的连接,这是许多基于PX4的系统所采用的方法。 PX4并未提供专门用于LTE和/或云集成的软件(这需要定制开发)。