在 Linux 上设置 SITL

本页介绍如何设置 SITL(循环软件) 在 Linux 上进行了测试。具体命令在 Ubuntu 12.10 至 18.04 上进行了测试。

概述

SITL 模拟器允许您在没有任何硬件的情况下运行飞机、旋翼飞行器或漫游车。它是使用普通 C++ 编译器构建的(飞行)控制器代码,为您提供一个本地可执行文件,让您可以在没有硬件的情况下测试代码的行为。

SITL 可在 Linux 和 Windows 上运行。请参阅单独的 Windows 安装页面 用于 Windows 安装。

../_images/SITL_Linux.jpg

安装步骤

请按照 设置构建环境(Linux/Ubuntu) 来设置整个环境,包括 SITL。

启动 SITL 模拟器

要启动模拟器,首先要将目录更改为载具目录。在下面的示例中,多旋翼飞行器代码更改为 ardupilot/ArduCopter:

CD ardupilot/ArduCopter

然后使用 sim_vehicle.py.第一次运行时,应使用 -w 选项,清除虚拟 EEPROM 中用户更改的参数,并加载载具的默认参数。

模拟载具.py --游戏机 --地图 -w

或者,如果不在 ArduCopter 目录中启动,而是在基本的 ardupilot 导演

模拟载具.py -v 旋翼飞行器 --游戏机 --地图 -w

提示

sim_vehicle.py 有许多有用的选项,从设置模拟速度到选择初始载具位置。使用 -h 标志(其中一些在 使用 SITL 进行 ArduPilot 测试).

提示

如果地图磁贴无法加载,可以单击 "查看/服务 "在地图窗口中临时更改地图提供程序。要在两次启动之间保持新的地图服务,请在".bashrc "末尾添加以下几行(将 MicrosoftHyb 改为所需的提供程序):

出口 地图服务="MicrosoftHyb";

学习 MAVProxy

要充分利用 SITL,您确实需要学习使用 MAVProxy。请阅读 MAVProxy 文档.享受飞行!

FlightGear 3D 视图(可选)

开发人员可以选择安装 FlightGear 飞行模拟器 并使用它(仅在视图模式下)显示飞行器及其周围环境的 3D 模拟。这比二维地图和 HUD 飞行显示屏提供的可视化效果要好得多。 MAVProxyMission Planner地面站.

../_images/flightgear_copter_windows.jpg

FlightGear:KSFO 的模拟旋翼飞行器(点击查看大图)。

SITL 输出 FlightGear 兼容 UDP 端口 5503 上的状态信息。我们强烈建议您从 FlightGear 在启动 SITL 之前,请先将"...

主要步骤(在 Ubuntu Linux 14.04 LTS 上测试)如下:

  1. 从终端安装 FlightGear:

    苏都 适切-获取 安装 飞行装备
    
  2. 打开一个新的命令提示符,并在以下位置为您的载具运行相应的 shell 文件 /ardupilot/Tools/autotest/: fg_plane_view.sh (平面)和 fg_quad_view.sh (旋翼飞行器)。

    这将启动 FlightGear.

  3. 在航站楼中以正常方式启动 SITL。在本例中,我们将起始地点指定为旧金山机场(KSFO),因为这是一个有趣的机场,有很多值得一看的地方:

    模拟载具.py -L KSFO
    

    备注

    FlightGear 将始终以加载 KSFO 的场景作为初始启动(这是批处理文件中的硬编码),但一旦启动 SITL,将切换到模拟地点的场景。

提示

如果载具似乎在太空中盘旋(无

景色),那么 FlightGear 没有所选位置的任何场景文件。选择一个新位置!

现在您可以像往常一样起飞和驾驶飞行器,以便 旋翼飞行器固定翼飞行器观察载具的运动,包括俯仰、偏航和翻滚。

下一步工作

安装后,请参阅 使用 SITL 进行 ArduPilot 测试 以获得使用 SITL 进行飞行和测试的指导。