# 利用 FlightGear 进行多车模拟

本主题介绍如何在 SITL 中使用 FlightGear 模拟多个飞行器。所有飞行器实例都有由其启动脚本定义的参数。

备注

这是模拟多辆运行 PX4 的载具的最环保逼真的方法,可轻松测试多种不同类型的载具。它适合在以下环境中测试多载具支持 QGroundControl, MAVSDK (打开新窗口)等等

带仿真场景Gazebo的多车模拟 而应该用于:有许多载具的蜂群模拟,以及只有 Gazebo 才支持的计算机视觉等功能测试。

# 如何启动多个实例

要启动多个实例(在不同的端口和 ID 上):

  1. 查看 支持多种载具的 PX4 分支 (打开新窗口) (在 ThunderFly-aerospace):
    Git 克隆 https://github.com/ThunderFly-aerospace/PX4Firmware.git
    CD PX4 固件
    Git 结账 flightgear-multi  
    
  2. 使用标准工具链(已安装 FlightGear)构建 PX4 固件。
  3. 使用 预定义脚本 (打开新窗口):
    CD ./Tools/flightgear_bridge/scripts ./vehicle1.sh
    
  4. 使用另一个脚本启动后续实例:
    ./vehicle2.sh
    

每个实例都应该有自己的启动脚本,可以代表完全不同的载具类型。对于已准备好的脚本,您应该获得以下视图。

使用 PX4 SITL 和 FlightGear 进行多车模拟

地面站,如 QGroundControl 使用普通 UDP 端口 14550 连接到所有实例(所有流量都连接到同一端口)。

同时运行的实例数量主要受计算机资源限制。FlightGear 是一个单线程应用程序,但空气动力学求解器会消耗大量内存。因此,可以分拆到多台计算机并使用 多人服务器 (打开新窗口) 运行 很多 载具实例。

# 其他资源

  • 参见 模拟 了解有关端口配置的更多信息。