使用 X-Plane 翱翔 SITL

截至 2017 年 3 月,ArduPlane 拥有 翱翔能力 该技术利用上升气流,使许多固定翼飞机在没有发动机动力的情况下也能在空中飞行。 热气.这些说明适用于希望在以下设备中试用 ArduPlane 翱翔控制器的用户 软件在环 (SITL) 仿真 X-Plane 是一种流行的商业飞行模拟器。


概述

本手册相当独立,涵盖了设置 X-Plane 和 ArduPilot 的 SITL、让它们相互对话以及让 ArduPlane 驾驶遥控帆船完成 X-Plane 的翱翔任务所需的所有说明。文件中包含所有必要的额外链接,如 X-Plane 的遥控帆船模型、参数文件和其他可能有用的资料。

该说明已在 Windows 8.1 和 10 上进行了测试。


设置 X-Plane

  1. 下载 X-Plane 10 演示 或购买完整版。

    X-Plane 11 也可以使用,但下面的说明假定使用的是 X-Plane 10 的用户界面。

    警告

    演示版在飞行 15 分钟左右后将无法手动控制飞机,但在 ArduPlane 不需要手动输入的模式(如自动)下飞行,以及从地面控制站切换模式(例如 Mission Planner地面站 之后也能正常工作。


  2. 配置用于 X-Plane 的操纵杆/发射器。

    X-Plane 需要一个操纵杆来手动控制偏航、俯仰和滚转。不过,FrSky Taranis 等几款遥控飞机发射器也可用作 X-Plane 的操纵杆。

    将 FrSky Taranis 用作 X-Plane 操纵杆:

    1. 打开 Taranis 的电源,用迷你 USB 电缆将其连接到电脑,然后将其 "开-关 "开关移至 "关"。Taranis 将在不使用电池的情况下保持开机状态--现在它从电脑获取电能。

    2. 校准手柄(仅在首次将其用作手柄时才需要校准)。您可以在 Windows(Windows 10: 开始菜单 -> 设置 -> 设备 -> 打印机和扫描仪 -> 设备和打印机)或在 X-Plane 中(启动 X-Plane,将鼠标悬停在 X-Plane 窗口顶部附近,然后在窗口顶部出现的工具栏中转入 设置 -> 操纵杆 & 设备).有关 X-Plane 中操纵杆校准的更多信息,请参阅 设置 X-Plane 10.

    备注

    这种设置允许您控制油门、偏航/航向、俯仰和滚转。其他指令,如切换模式,则必须通过Mission Planner地面站或其他方式发出。


  3. 将遥控帆船模型及其机翼安装到 X-Plane 中。

    默认情况下,X-Plane 没有与遥控帆船的尺寸(翼展约 5 米)、重量(几公斤)或飞行特性相关的模型。不过,一些慷慨的朋友已经创建并发布了一些模型:

    要安装它们,请创建一个文件夹 遥控帆船 根据 %XPlane-install-dir%\Aircraft 并从这些存档中提取 .acf 文件。 有关风帆飞机模型安装的更多信息,请点击此处.

    不幸的是,X-Plane 10 演示版没有为上述大多数模型提供机翼,并且拒绝加载没有机翼的模型。幸运的是,也有人制作并发布了这些机翼!

    机翼在 ArduPilot 代码库中的 NACA_64_xxx_Airfoils_from_TR824.zip.该档案最初来自 X-Plane 论坛上的一个帖子这个 X-Plane 论坛主题 是查找更多机翼的好地方。

    要安装它们,请将下载的压缩包中的 .afl 文件解压缩到 %XPlane-install-dir%\Airfoils.这将使您至少能够驾驶 Vee-gull 005 和 Houston Hawk。


  4. 配置 X-Plane 以与 ArduPilot 通信。

    需要告诉 X-Plane 可以向 ArduPilot 发送数据和从 ArduPilot 接收数据的 IP 地址/端口,以及 X-Plane 和 ArduPilot 应该交换的数据类型。

    要输入这些信息,请启动 X-Plane,在 X-Plane 加载飞机后,将指针悬停在 X-Plane 窗口顶部附近,点击 设置选择 网络连接.

    ../_images/Xplane_menu1.jpg

    然后,点击 数据 中的 网络连接 窗口。复制所有设置:

    ./_images/xplane-network-data1.jpg

    关闭 网络连接 窗口,再次将指针悬停在 X-Plane 窗口顶部附近,点击 设置那么 数据输入 & 输出.复制所有设置:

    ../_images/mavlinkhil1.jpg


设置 ArduPlane SITL

  1. 安装 Mission Planner地面站.

    Mission Planner地面站是我们用来监控模拟、控制虚拟飞机飞行模式、加载飞行路线/任务等的地面控制站。有关它的更多信息 这里.


  2. 可选: 安装并配置 Cygwin。

    该过程在 在 Windows 维基百科中设置 SITL 的一个部分.就翱翔 SITL 而言,您不需要执行翱翔 SITL 中的步骤。 在 Cygwin 中设置目录/路径安装所需的 Python 软件包 但做了也无妨。


  3. 可选:获取 ArduPilot 并为 SITL 构建 ArduPlane。

  1. 打开 Cygwin 终端(如果已经打开,则重新打开)。

  2. 如果您已经拥有 ArduPilot 的源代码,只需在 Cygwin 终端切换到本地 ArduPilot 代码库的根目录即可。这些说明假定 ArduPilot 目录。

    如果您还没有 ArduPilot 的源代码,可以通过在 Cygwin 中运行以下命令序列来获取:

    git 复制 --递归-子模块 git://github./ArduPilot/ardupilot.git
    CD ardupilot
    
  3. 删除 ArduPilot (日志 目录,并且假设您在 ArduPilot 目录下,运行

    模块/waf/waf- 清洁
    模块/waf/waf- 配置 --官方 坐标
    模块/waf/waf- 飞机
    

    提示

    运行 WAF-LIGHT清洁器 并擦除 ArduPilot (日志 目录,而不是仅仅为了检查新代码的编译和链接是否无误而编译)。如上所述,使用 waf-light 从头开始构建 ArduPlane 二进制文件只需几分钟。如果不事先进行全面清理,偶尔会导致生成的二进制文件出现极其怪异的行为,这就需要花费更多时间进行调查。


用 X-Plane 运行翱翔 SITL

  1. 启动 ArduPlane SITL 运行 ArduPilot 目录:

    构建/坐标/箱柜/arduplane --模型 xplane
    

    或从 MissionPlanner 的模拟屏幕启动 SITL。


  2. 启动 X-Plane,选择遥控帆船,然后选择环境条件。

    回顾一下 设置 X-Plane您可以将遥控帆船模型放入 %XPlane-install-dir%\Aircraft\RC Sailplanes因此,请在那里寻找它们。

    提示

    从 Vee-gull 005 开始。它有一个发动机,更容易执行长距离飞行任务。

    提示

    由于遥控风帆飞机比全尺寸飞机轻得多,因此它们受天气现象的影响要大得多。X-Plane 模拟了这一点,以至于你的遥控帆船飞机会被一阵轻微的风掀翻。 席地而坐!为避免出现挫败感,请在 X-Plane 中将环境条件设置为平静和清晰。请参阅下面截图中的选择示例:

    ../_images/X-Plane_env_settings.jpg


  3. 启动Mission Planner地面站并将其连接到 SITL。

    Mission Planner地面站和 SITL 将通过 TCP 协议进行对话。要建立连接,请从 "任务规划 "窗口附近的下拉菜单中选择 "TCP"。 连接 点击Mission Planner地面站窗口右上角的 连接 按钮,并指定端口 5760:

    ../_images/MissionPlanner_ConnectTCP.jpg

    警告

    在构建 ArduPlane 后首次在 Mission Planner 和 ArduPlane SITL 之间建立连接时,在按下一步所述加载 ArduPlane 参数之前,您的 X-Plane RC 飞机(建立连接时可能在地面上)可能会翻转、坠毁或出现其他异常行为。这是正常现象,在加载了 .参数 文件。


  4. 设置 ArduPilot 的参数 为所选遥控飞机设计。

    只有在(重新)构建 ArduPlane 后首次运行 SITL 时才需要执行此步骤。

    参数可以通过Mission Planner地面站单独设置,也可以通过加载一个 .参数 文件(如果有的话)。

    Vee-gull 005 型号的 vee-gull 005.param 文件位于 ArduPilot\Tools\autotest\default_params 中.要使用它,请在Mission Planner地面站中转到 配置/飞行稳定调整 屏幕 完整参数列表 标签,然后 (1) 按 从文件加载 加载文件,(2) 按 写参数 将参数实际写入 ArduPlane 的内存,如下图所示:

    ../_images/Loading_SITL_params_via_MP.jpg

    当您在(重新)构建 ArduPlane 后首次从文件中加载和设置参数时,Mission Planner 可能会显示 "Parameter refresh required - press F5"(需要刷新参数--按 F5 键)等信息,仿真甚至可能会崩溃--您将在开始仿真的 Cywin 窗口中看到 "ERROR:ERROR: Floating point exception - aborting(错误:浮点异常--终止)",并显示在您开始模拟的 Cygwin 窗口中。这种情况并不罕见。只需运行 build/sitl/bin/arduplane --模型 xplane 在 Cygwin 中,按下 连接 在Mission Planner地面站中,重复上述从文件加载参数的过程。这次一切都会顺利进行。

    警告

    ArduPilot 的参数在很大程度上决定了飞机的性能,因此正确设置参数非常重要。对于 翱翔专用 参数。如果没有为这些参数选择适当的值,可能会导致帆机错过所有热气流或反复尝试捕捉没有热气流的热气流。请参考 计算这些参数的说明 适合您的风帆飞机型号。

    如果到目前为止一切正常,您应该会看到在启动 SITL 的 Cygwin 窗口中开始出现以下通知 数据 率: 19.9 FPS  框架 比率:466.9 FPS就像这样:

    ../_images/Verifying_SITL_param_load.jpg


  5. 在 X-Plane 中激活热气流。

    前往 环境 在 X-Plane 窗口顶部的菜单栏中选择菜单(如有必要,可将鼠标移至窗口顶部附近使其显示),然后选择 天气:

    ../_images/X-Plane_weather_menu.jpg

    要启用热气流,请设置 热覆盖 为大于 0 的值,并可能更改 热爬升率.它应该比你的帆船高。 SOAR_VSPEED 参数。为了使任务更具挑战性,您还可以将风速、阵风、切变和湍流设置为 0 以上,但不要设置过高,因为将湍流设置为 1 以上会使遥控帆船大小的飞机变得非常难以控制。

    下面截图中的设置就是一个例子。与默认设置不同的只是热量设置和低空风层:

    ../_images/X-Plane_thermals.jpg

    警告

    每次在 X-Plane 中重新启动模拟(例如通过坠机)时,都必须重新激活热气流和任何其他天气设置!

    提示

    如果飞机似乎检测不到热气流,首先要检查 X-Plane 是否启用了热气流。


  6. 加载任务并飞行

    要设置遥控帆船执行任务,请进入Mission Planner地面站的 飞行计划 屏幕,(1) 点击 加载 WP 文件 在任务中阅读,以及 (2) 点击 编写 WP 向虚拟遥控帆船发送任务说明,如下图所示。

    ../_images/X-Plane_mission_selection.jpg

    举例说明 翱翔西雅图.航点 任务文件可在 ArduPlane\Tools\autotest\X-Plane.

    要执行飞行任务,请让遥控帆船在 X-Plane 中起飞,然后在Mission Planner地面站中将模式设置为 载具:

    ../_images/MP_set_mode_auto.jpg

    警告

    Vee-gull 005 按常规方法升空可能比较棘手。它在地面上的位置很低,急剧加大油门,尤其是在松开刹车之前,会导致螺旋桨撞击地面。这可能不会立即产生任何影响,但 X-Plane 的损坏模型会让引擎最终失去效能,似乎没有任何明显的原因。

    驾驶 Vee-gull 005 在动力驱动下起飞时,要非常轻柔地打开油门,在获得足够的速度后立即离开地面!

    提示

    使用 Vee-gull 005 起飞时,为避免上述螺旋桨撞击的风险,请改用滑翔机卷扬机起飞。为此,请在 X-Plane 中进入 飞机 菜单,然后选择 飞机 & 情况:

    ../_images/X-Plane_aircraft_situations.jpg

    在出现的屏幕上,单击 滑翔翼-温奇.现在,松开刹车,当飞机起飞并停止爬升时,松开卷扬机。同时将模式设置为 载具 在Mission Planner地面站中。

快乐翱翔