使用 RealFlight 了解 SITL

本文档将解释 SITL 如何与 RealFlight 进行图形仿真通信。要进行任何模拟,都需要几个要素:

  • 载具模型,包括载具的物理特性及其对物理模型、控制机制的影响,以及载具外观的图形数据库。

  • 根据对飞行器模型的控制输入,预测飞行器动态(姿态、速度、位置等)的物理模型

  • 图形解释器和显示屏,用于接收物理模型的输出并生成载具运动的图形显示屏

  • 控制器机制,用于向物理模型输入控制信息,以指挥载具行为

在正常的 RealFlight (RF) 模拟中,RF 具有内置模型、物理建模和图形解释器/显示器。控制通过模拟控制器输入,如 Interlink 控制器、操纵杆或操纵杆模式下的 OpenTX 发射器。

如下图所示:

../_images/realflight-system-diagram.jpg

模拟控制器输出由射频控制器编辑器映射到 "TX 通道",以产生映射 RC 输出。对于 InterLink 控制器,这些输出是固定的只读输出。

它们被输入到 RealFlight 载具模型中,该模型由 .RFX 文件(实际上是档案)描述。大多数模型都有一个 "软件无线电",用于接收这些 "TX 通道 "并将其转换为 "RX 通道",就像接收器一样。该 "软件无线电 "还可以创建双速率、调整微调、抛掷和反转等。然后,这些接收通道会驱动电机、舵机或模型文件中设置的飞行控制器/混合器,从而驱动飞行器的执行器。

物理模型接收这些输入,包括模型文件中描述的载具物理特性,并预测载具的运动,然后以图形方式显示出来。

飞行员提供 "自动驾驶 "功能,通过模拟器控制器输入摇杆/开关控制,引导飞行器的预期行为。

下图说明了 RealFlight 模型的构成:

../_images/realflight-model.jpg

使用 FlightAxis 接口的 SITL

使用 SITL 运行 ArduPilot 软件基本上就是在模拟控制器和飞行器之间插入一个(飞行)控制器,就像在真实飞行中一样。具体做法是将运行中的 SITL 仿真绑定到 RealFlight 中,并使用其物理模型和图形进行仿真。SITL 和 RealFlight 之间的接口称为 FlightAxis。

在 RealFlight 中启用后,它会向 SITL 输出飞行器的预测姿态、速度和位置,以及所使用飞行器模型的软件无线电输出。SITL 在其模拟中将这些信息用作遥控和传感器输入,并向 RealFlight 输出伺服功能,RealFlight 将其解释为模型用于执行器输入的 RX 通道无线电输出。

如下图所示:

../_images/flightaxis-system-diagram.jpg

这基本上是在飞行员和 RealFlights 输入之间插入 ArduPilot SITL 仿真固件。

备注

目前,FlightAxis 可以将前 12 个 RX 通道从 RealFlight 传输到 SITL RC 输入,并将前 12 个 SERVO 输出从 SITL 传输到 RealFlights RX 通道输入。