概念
本节包含有关PX4系统架构和其他核心概念的主题。
目录
PX4系统架构
以下各节提供了两个 "典型 "PX4系统的PX4硬件和软件堆栈的高级概述;一个是只有一个飞行控制器,另一个是有一个飞行控制器和一个配套计算机(也称为 "任务计算机")。
*注:PX4架构概述提供了关于飞行栈和中间件的信息。ROS和MAVSDK中涵盖了机外API。
飞行控制器
下图提供了一个基于飞行控制器的典型 "简单 "PX4系统的高层次概述。
该硬件包括:
飞行控制器(运行PX4飞行栈)。这通常包括内部IMU、罗盘和气压计。
通过I2C、SPI、CAN、UART等连接的传感器(GPS、罗盘、距离传感器、气压计、光流量、气压计、ADSB转发器等)。
相机或其他有效载荷。相机可以连接到PWM输出或通过MAVLink。
遥测无线电,用于连接地面站的计算机/软件。
用于手动控制的遥控系统(RC Control System, Radio Control System )。
图的左侧显示了软件堆栈,它与图中的硬件部分水平对齐(大约)。
地面站计算机通常运行QGroundControl(或其他一些地面站软件)。它也可能运行机器人软件,如MAVSDK(打开新窗口)或ROS。
飞控和配套电脑
下图显示了一个PX4系统,其中包括一个飞行控制器和一个配套计算机(这里称为 "任务计算机")。
飞行控制器运行标准的PX4飞行堆栈,而配套的计算机提供高级功能,如避障和碰撞预防。这两个系统使用快速串口或IP链接连接,通常使用MAVLink协议进行通信。与地面站和云端的通信通常通过配套计算机进行路由(例如,使用MAVLink路由器(来自英特尔))。
PX4系统通常在配套计算机上运行Linux操作系统(因为PX4/PX4-Avoidance项目提供为Linux设计的基于ROS的避障库)。与NuttX相比,Linux是一个更好的 "通用 "软件开发平台;有更多的Linux开发人员,并且已经编写了许多有用的软件(例如,用于计算机视觉、通信、云集成、硬件驱动程序)。配套电脑有时也会因为同样的原因而运行安卓系统。
*注:该图显示了通过LTE连接云端或地面站的情况,这种方法已经被许多基于PX4的系统所采用。PX4并不提供专门用于LTE和/或云端整合的软件(这需要定制开发)。