跳至内容

飞行控制器移植指南

本主题适用于希望将 PX4 移植到与 飞行控制器硬件。

PX4 结构

PX4 主要由两层组成:层 电路板支持和中间件层 在主机操作系统(NuttX、Linux 或任何其他 POSIX 平台,如 Mac OS)和应用程序(Flight Stack,即 "飞行算法池")之上。 src/modules).请参考 PX4 结构概述 了解更多信息。

本指南仅侧重于主机操作系统和中间件,因为应用程序/飞行算法池可在任何板载目标上运行。

飞行控制器配置文件布局

电路板启动和配置文件位于 /板 在每个电路板的特定供应商目录中(即 板/供应商/型号/).

例如,对于 FMUv5:

  • (所有)电路板专用文件: /boards/px4/fmu-v5.
  • 构建配置: /boards/px4/fmu-v5/default.px4board.
  • 特定于电路板的初始化文件: /boards/px4/fmu-v5/init/rc.board_defaults
    • 启动脚本中会自动包含特定于电路板的初始化文件,如果在电路板目录下的 init/rc.board.
    • 该文件用于启动仅存在于特定电路板上的传感器(和其他设备)。它还可用于设置电路板的默认参数、UART 映射和其他特殊情况。
    • 对于 FMUv5,您可以看到所有 Pixhawk 4 传感器都已启动,而且还设置了更大的 LOGGER_BUF。

主机操作系统配置

本节介绍了每种支持的主机操作系统所需的配置文件的用途和位置,以便将其移植到新的飞行控制器硬件上。

NuttX

参见 NuttX 板移植指南.

利纳克斯

Linux 板不包括操作系统和内核配置。这些已由电路板的 Linux 映像提供(需要支持开箱即用的惯性传感器)。

中间件组件和配置

本节将介绍各种中间件组件,以及将它们移植到新飞行控制器硬件所需的配置文件更新。

QuRT / 六角形

  • 启动脚本位于 posix-configs/.
  • 操作系统配置是默认 Linux 映像的一部分(待办事项:提供 LINUX 映像的位置和闪存说明)。
  • PX4 中间件配置位于 src/boards.待办事项:添加总线配置

RC UART 接线建议

一般建议通过单独的 RX 和 TX 引脚将 RC 连接到微控制器。但如果 RX 和 TX 连接在一起,则必须将 UART 设置为单线模式,以防止出现任何争用。这可以通过电路板配置和清单文件来实现。其中一个例子是 px4fmu-v5.

官方支持的硬件

PX4 项目支持并维护了 FMU 标准参考硬件 以及任何与该标准兼容的电路板。这包括 Pixhawk 系列 有关 官方支持硬件的完整列表).

每个获得官方支持的董事会都能从中受益:

  • PX4 存储库中的 PX4 端口
  • 自动固件构建,可从 QGroundControl
  • 与生态系统其他部分的兼容性
  • 通过 CI 进行自动检查 - 安全对社区来说仍然至关重要
  • 飞行测试

我们鼓励电路板制造商努力做到完全兼容 调频单元规格.由于完全兼容,您可以从 PX4 的日常开发中获益,但无需承担因支持规格偏差而产生的维护成本。

TIP

制造商在偏离规范之前,应仔细考虑维护成本(制造商的成本与偏离程度成正比)。

我们欢迎任何个人或公司提交他们的端口,将其纳入我们的支持硬件,只要他们愿意遵循我们的 行为准则 并与开发团队合作,为客户提供安全、满意的 PX4 体验。

还需要注意的是,PX4 开发团队有责任发布安全的软件,因此我们要求任何板卡制造商投入必要的资源,以保持其端口的最新状态和工作状态。

如果您想让您的电路板在 PX4 中获得官方支持:

  • 您的硬件必须可以在市场上买到(即任何开发人员都可以不受限制地购买)。
  • 必须向 PX4 开发团队提供硬件,以便他们验证端口(请联系 [email protected] 以获得有关将硬件运往何处进行测试的指导)。
  • 董事会必须全面通过 测试套件飞行测试.

PX4 项目保留拒绝接受不符合项目要求的新端口(或删除现有端口)的权利。

您可以在 官方支持渠道.