SITL 模拟器(循环中的软件)

../_images/sitl.jpg

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

本文概述了 SITL 的优势和架构。

概述

SITL 允许您直接在个人电脑上运行 ArduPilot,无需任何特殊硬件。它利用了 ArduPilot 是一种便携式(飞行)控制器这一事实,可以在多种平台上运行。您的个人电脑只是 ArduPilot 可以构建和运行的另一个平台。

在 SITL 中运行时,传感器数据来自飞行模拟器中的飞行动力学模型。ArduPilot 内置了多种载具模拟器,并可与多个外部模拟器连接。这使得 ArduPilot 可以在多种类型的载具上进行测试。例如,SITL 可以模拟

  • 多旋翼飞机

  • 固定翼飞机

  • 地面载具

  • 水下航行器

  • 相机万向节

  • 天线跟踪器

  • 多种可选传感器,如激光雷达和光学流量传感器

添加新的模拟载具类型或传感器类型非常简单。

SITL 上的 ArduPilot 的一大优势是,您可以使用桌面 C++ 开发所需的全部开发工具,如交互式调试器、静态分析器和动态分析工具。这使得在 ArduPilot 中开发和测试新功能变得更加简单。

运行 SITL

ArduPilot SITL 环境可在 Linux 和 Windows 上运行。有关设置说明,请参阅 设置 SITL 获取更多信息。使用 SITL 的说明见 使用 SITL.有关针对特定载具启动和使用 SITL 的示例,请参见 按载具使用 SITL 的示例.

Mission Planner(Windows)还提供了一种简单的方法,用于为载具的主分支和稳定分支运行 SITL。参见 飞行任务规划模拟.

海丰国际信托有限公司架构

请注意,下图中的端口号仅供参考,可能会有所不同。例如,图片上 ArduPilot 和模拟器之间的端口号是 5501/5502,但根据环境不同,也可能是 5504/5505 或其他端口号。

./_images/ArdupilotSoftwareintheLoopSITL.jpg