机载计算机
机载计算机 (“任务计算机”) 是连接到飞控的独立机载计算机,使得诸如避障和防撞等计算密集型功能成为可能。
下图显示了一个可能的无人驾驶架构,其中包括飞控和机载计算机。
飞控在 NuttX 上运行 PX4, 提供核心飞控和安全代码。 机载计算机通常运行 Linux, 因为这是一个“通用”软件开发的更好平台。 他们使用快速串行或以太网连接,通常使用 MAVLink 协议 或 uXRCE-DDS进行通信。
地面站和云端的通信通常使用机载计算机路由(例如使用MAVLink Router)。
Pixhawk 自动驾驶仪总线载板与机载计算机
The following carrier boards make it easy to integrate Pixhawk flight controllers with a companion computer, significantly easing both hardware and software setup. 这些板支持Pixhawk Autopilot Bus (PAB)开放标准,因此您可以插入任何兼容的控制器:
管理集成系统
以下集成的机载计算机/飞控系统默认使用受控/自定义版本的飞控和机载计算机软件。 它们在这里列出,因为它们可以使用 "vanilla" PX4 固件进行更新,以进行测试/快速开发。
机载计算机选项
PX4 可以与计算机一起使用,可以配置为通过基于串口(或以太网端口) 的 MAVLink 或 microROS/uXRCE-DDS 进行通信。 以下列出了一小部分可能的替代方案。
高性能计算机:
小型/低功耗设备如:
INFO
计算机的选择取决于:成本,重量,安装方便和所需的计算资源的权衡。
机载计算机软件
机载计算机需要运行能与飞控通信的软件,并将消息路由到地面站和云端。
无人机应用程序
Drone API 和 SDK 允许您编写能够控制 PX4 的软件。 主流的可选方案有:
- 不同编程语言的 MAVSDK - 库是 MAVLink 系统接口,用于无人机,相机或地面站系统。
- ROS 2 用于与 ROS 2 节点进行通信(也可以使用)。
- ROS 1 和 MAVROS
MAVSDK 通常更容易学习和使用,而 ROS 提供更多预先编写的软件,用于像计算机视觉这样的高级案例。 Drone APIs and SDKs > 我该使用哪个 API? 详细解释了不同的选项。
您还可以从头开始编写您的自定义 MAVLink 库:
- C/C++ 示例代码 显示如何连接自定义代码
- MAVLink 还可以与许多其他编程语言一起使用
路由
如果您需要将 MAVLink 从载具桥接到地面站或 IP 网络,您将需要一个路由器。 或者如果您需要多个连接:
- MAVLink 路由器 (推荐)
- MAVProxy
以太网设置
以太网是推荐的连接方式,如果飞行控制器支持的话。 请参阅以太网设置获取说明。
飞控特定设置
以下章节介绍了如何为特定的飞控设置机载计算机,特别是当您不是使用以太网连接时。