# PX4 系统结构
下面的章节提供了两个典型 PX4 系统的 PX4 硬件和软件堆栈的高级概述;一个系统只有一个飞行控制器,另一个系统则有一个飞行控制器和一个配套计算机(也称为任务计算机)。
备注
PX4 结构概述 提供了有关飞行算法池和中间件的信息。机外应用程序接口在 ROS 和 MAVSDK (打开新窗口).
# 飞行控制器(仅)
下图是以飞行控制器为基础的典型简易 PX4 系统的概览。
硬件包括
- 飞行控制器 (运行 PX4 飞行算法池)。这通常包括内部 IMU、指南针和气压计。
- 电机电调 连接到 PWM 输出, DroneCAN (DroneCAN 允许双向通信,而不是如图所示的单向)或其他总线。
- 传感器 (全球定位系统, 指北针通过 I2C、SPI、CAN、UART 等连接的传感器(如距离传感器、气压计、光流量计、气压计、ADSB 转发器等)。
- 照相机 或其他有效载荷。摄像头可连接到 PWM 输出或通过 MAVLink 连接。
- 遥测无线电 用于连接地面站计算机/软件。
- 遥控控制系统 用于手动控制
图的左侧显示的是软件堆栈,与图中的硬件部分水平对齐(大致如此)。
- 地面站计算机通常运行 QGroundControl (或其他地面站软件)。它还可以运行机器人软件,如 MAVSDK (打开新窗口) 或 ROS.
- 在飞行控制器上运行的 PX4 飞行算法池包括 司机, 通讯模块, 控制器, 估算器 及其他 中间件和系统模块.
# FC 和配套计算机
下图显示的 PX4 系统包括一个飞行控制器和一个配套计算机(此处称为任务计算机)。
飞行控制器可运行正常的 PX4 飞行算法池,而配套计算机则可提供以下高级功能 物体回避 和 预防碰撞.两个系统通过快速串行或 IP 链路连接,通常使用 MAVLink 协议 (打开新窗口).与地面站和云的通信通常通过配套计算机进行(例如,使用云计算平台)。 MAVLink 路由器 (打开新窗口) (来自英特尔))。
PX4 系统通常在配套计算机上运行 Linux 操作系统(因为 PX4/PX4-Avoidance (打开新窗口) 该项目为 Linux 提供基于 ROS 的避障库设计)。与 NuttX 相比,Linux 是一个更好的通用软件开发平台;Linux 开发人员更多,而且已经编写了许多有用的软件(如计算机视觉、通信、云集成、硬件驱动程序)。出于同样的原因,伴侣电脑有时也会运行安卓系统。
备注
该图显示了通过 LTE 连接云或地面站的情况,许多基于 PX4 的系统都采用了这种方法。PX4 不提供专门用于 LTE 和/或云集成的软件(这需要定制开发)。