在 Windows 虚拟机中设置 SITL(不推荐)¶
警告
这些说明已经过时。我们建议 Windows 用户遵循以下说明 使用 WSL 设置构建环境 和 在 WSL 上设置 SITL
本文介绍了如何 人工 设立 SITL ArduPilot 模拟器 在 Windows 的虚拟机环境中,将其连接到地面控制站
提示
参见 使用 Vagrant 设置 SITL 以实现更自动化的设置过程。
概述¶
SITL(Software In The Loop,循环软件)模拟器允许您在没有任何硬件的情况下运行飞机、旋翼飞行器或漫游车。模拟器在 Linux PC 上以本地可执行文件的形式运行正常的 ArduPilot 代码。SITL 也可在 Windows、Mac OSX 或 Linux 上的虚拟机中运行。
本文介绍如何在 VMware 虚拟机托管的 Linux 环境中手动设置 SITL。您可以使用任何虚拟机提供商,如 VirtualBox、Vmware 等。
备注
使用 VMware ver 7.1.0 build-2496824 在 Windows 8 和 Ubuntu 14.10 上测试了该说明。

先决条件¶
请注意,在尝试此操作之前,您应该已经拥有 下载了代码 到您的机器上。
步骤 #1 - 安装 VMWare 并创建 Ubuntu 虚拟机¶
下载并安装 虚拟软件 (查找 Windows 版 VMware Workstation Player)。
下载最新的 Ubuntu 版本:例如 22.04 LTS。
3.启动 VMware,选择播放器> 文件> 新建虚拟机,创建新的 ubuntu 机器
选择刚刚下载的 ISO
输入虚拟机的全名、用户名和密码。
为虚拟机命名(如 Copter-SITL)
指定磁盘容量 - 将最大磁盘容量保留为默认的 20GB,并选中 "将虚拟磁盘分割为多个文件"。
在 "新建虚拟机向导 "的下一页点击 "自定义硬件... "按钮
在 "硬件 "选项卡上设置内存3GB,处理器4、硬盘:20GB、网络适配器网络适配器

步骤 #2 - 首次启动虚拟机¶
步骤 #4 - 按照 Linux 说明操作¶
现在你已经有了一个 Linux 虚拟机,你应该按照 适用于 Linux 的 SITL 说明
与Mission Planner地面站联系¶
除了使用 mavproxy 地面站(用 python 编写的命令行式地面站)外,还可以通过添加 --viewerip=XXX.X.X.X
到启动命令的末尾,其中的 X 替换为机器的 IP 地址。在命令提示符下输入 "ipconfig "即可找到该地址。
备注
您可能会看到列出的 IP 地址不止一个,因此您可能需要尝试几个不同的地址才能找到一个合适的地址。

因此,在这个例子中,在 Ubuntu 虚拟机的 ardupilot 目录下,在终端中输入以下内容:
./工具/自动测试/自动测试.py 构建.ArduCopter 苍蝇.ArduCopter --地图 --观众席=192.168.184.1
首先将 "COM 端口 "设置为 "UDP",然后连接Mission Planner地面站。

数据闪存日志¶
模拟运行后,将在 "buildlogs "目录下创建名为 "Copter.flashlog "或 "CopterAVC.flashlog "的数据闪存日志。该目录与 ardupilot 目录同级(即直接包含 "Copter"、"Plane "和 "libraries "目录的顶层)。由于文件名不方便,您需要在Mission Planner地面站中打开前将文件扩展名改为".log"。
下一步工作¶
要充分利用 SITL,我们建议您阅读 MAVProxy 文档.
主题 使用 SITL 进行 ArduPilot 测试 介绍了如何使用模拟器,并涵盖了如何将 SITL 与Mission Planner地面站和 MAVProxy 以外的地面站一起使用等主题。