使用 Cygwin 在 Windows 上设置 SITL(不推荐)¶
警告
这些说明已经过时。我们建议 Windows 用户遵循以下说明 使用 WSL 设置构建环境 和 在 WSL 上设置 SITL
SITL 最初是在 Linux 系统上开发的,但也可以在以下系统上构建和运行 本地 在 Windows 上运行。它还可以在托管于 Windows、Mac OSX 或 Linux 的虚拟机(Linux)上运行,或使用 Windows Subsystem for Linux (WSL)。
目前,在 Windows 上运行 SITL 的最简单方法是构建代码并使用 WSL 进行模拟:在 Windows 10 中 使用 WSL 在 Windows 10 上设置构建环境
前提条件:至少为 "Windows 10 64 位",例如,它将无法在 Windows 7 上运行。它也无法在任何 32 位的 Windows 系统上运行。
本文的其余部分将介绍如何构建和运行 SITL(循环软件) 本地 在 Windows 上使用 Cygwin这些命令在 Windows 10 上进行了测试,使用 MAVProxy 和 Copter-4.0.0-dev.
安装步骤¶
按照说明安装 Cygwin 这里
下载 MAVProxy for Windows (最新版本),安装可执行文件,包括接受许可证和所有默认安装选项
提示
确保 Cygwin 在你的 PATH 中。至于故障排除,你可以在路径中添加一个名为 CYGWIN_HOME 的 Windows 环境变量,指向 c:cygwinbin(如果你安装在 "C:")。您可以右键单击 "我的电脑" -> 属性 -> 高级 -> 环境变量来检查它。在使用 PowerShell 的 Windows 终端中使用命令 敲击
来访问 cygwin。
运行 SITL¶
从开始菜单打开 Cygwin64 终端
导航至其中一个载具目录(本例中为 Copter)并调用
sim_vehicle.py
启动 SITL。如果收到 Windows 防火墙安全警报,请允许连接。CD ~/ardupilot/ArduCopter ../工具/自动测试/模拟载具.py --地图 --游戏机
海丰县政府和 MAVProxy 将开始。 MAVProxy 显示三个窗口:
命令提示符,您可在其中输入 SITL 的命令
显示当前状态和信息的控制台
显示载具当前位置的地图,可用于(通过右键单击)控制载具移动和执行任务。
提示
如上图所示的窗口排列方式非常有用,这样您就可以在观察状态的同时发送命令。
从命令提示符向 SITL 发送命令,并在地图上观察结果。
切换到 "引导 "模式,启动油门,然后起飞:
模式 导游 上膛 throttle 起飞 40
注意控制台上高度的增加。
备注
起飞必须在上膛后 15 秒内开始,否则电机将解除上膛。
切换到 "圆 "模式,将半径设为 2000 厘米
rc 3 1500 模式 圆形 停止 设置 圆半径 2000
观察地图上的旋翼飞行器圆圈。
准备降落时,可以将模式设置为 RTL(或 LAND):
模式 rtl
这是一个非常基本的示例。有关使用 SITL 和 MAVProxy 的更多信息,请参阅本节的链接: 下一步工作.
提示
使用批处理文件可简化 SITL 的运行,只需双击一次即可。参见 这里 举例说明。
FlightGear 3D 视图(可选)¶
FlightGear 飞行模拟器 还可用作查看器,显示飞行器及其周围环境的 3D 模拟。这比二维地图和 HUD 飞行显示屏提供的可视化效果要好得多。 MAVProxy 和 Mission Planner地面站.
SITL 输出 FlightGear 兼容 UDP 端口 5503 上的状态信息。我们强烈建议您从 FlightGear 在启动 SITL 之前,请先将"...
主要步骤如下
-
警告
- 时间
打开一个新的命令提示符,并在以下位置为您的载具运行相应的批处理文件 /ardupilot/Tools/autotest/: fg_plane_view.bat (平面)和 fg_quad_view.bat (旋翼飞行器)。
这将启动 FlightGear。
在 Cygwin 中以正常方式启动 SITL。在本例中,我们指定的起始位置是旧金山机场(KSFO),因为这是一个有趣的机场,有很多值得一看的地方:
模拟载具.py -L KSFO
备注
- FlightGear 最初总是会在
KSFO(这是硬编码到批处理文件中的),但一旦启动 SITL,就会切换到模拟地点的场景。
提示
- 如果载具似乎在太空中盘旋(无
景色),那么 FlightGear 没有所选位置的任何场景文件。选择一个新位置!
连接另一个全球监控系统¶
您可以将多个额外的地面控制站连接到 SITL,从 MAVProxy.然后就可以通过任何连接的 GCS 控制和查看模拟飞行器。
首先使用 产量
上的 MAVProxy 命令提示符 以确定 MAVProxy 正在发送数据包:
指导>; 产量
指导>; 2 产出
0: 127.0.0.0.1:14550
1: 127.0.0.0.1:14551
这告诉我们,我们可以将 Mission Planner地面站 到 UDP 端口 14550 或 14551,如下图对话框所示。
提示
我们可以将 APM Planner 2 到剩余的端口。如果我们需要第三个端口,可以如图所示添加:
指导>; 产量 增加 127.0.0.0.1:14553
Mission Planner地面站 然后就可以用与真实载具完全相同的方式来控制模拟载具。如下图所示,我们可以重现之前的 "起飞--绕圈--着陆 "示例:
切换到 "引导 "模式,启动油门,然后起飞
打开 飞行数据 屏幕,然后选择 行动 选项卡。在这里我们可以更改模式和设置命令。
选择 指导 在 模式选择列表 然后按 设置模式 按钮。
选择 上膛/撤膛 按钮
右键单击地图,选择起飞。然后输入所需的起飞高度
备注
起飞必须在上膛后 15 秒内开始,否则电机将解除上膛。
在 行动 选项卡,观看旋翼飞行器在地图上绕圈。
您可以在 配置/飞行稳定调整 屏幕。选择 完整参数列表则 查找 按钮并搜索
圈形模式
.更改数值后按下 写参数 按钮将其保存到载具中。当您准备降落时,可以将模式设置为 RTL。
使用无 MAVProxy 的 GCS 运行 SITL¶
也可以不使用 MAVProxy 完全使用 ArduCopter.elf (在 ArduCopter 目录)。
在 Cygwin 终端如下图所示,指定原点位置和载具型号:
hamis_000@XPS12ultra ~/ardupilot/ArduCopter $ ./ArduCopter.elf --home -35,149,584,270 --model quad 在 -35,149,584,270 处以 1.0 的速度启动模型 quad 启动草图 'ArduCopter' 启动 SITL 输入 绑定端口 5760 为 0 在 TCP 端口 5760 上的串行端口 0 等待连接 ....
命令输出显示,您可以通过 5760 端口使用 TCP/IP 连接到 SITL。
在 Mission Planner地面站 我们首先将链接类型更改为 TCP,然后按下 连接 按钮。点击 远程主机 和 远程端口 提示,因为这些默认值是正确的。
随后,Mission Planner地面站将连接起来,并可像以前一样使用。
提示
ArduCopter.elf 还有其他启动选项,你可以使用 -h 命令行参数:
./ArduCopter.小精灵 -h
更新 ArduPilot¶
查看以下建议 此维基页面 关于如何在 ArduPilot 的主分支上进行 "重定向"。
更新 MAVProxy¶
警告
"这款" MAVProxy 1.4.19 *安装程序不能正确删除先前安装的所有部分。在安装新版本之前,必须先删除旧目录:C*:Program Files (x86)\MAVProxy\**.
下载并安装 MAVProxy for Windows (此链接始终指向最新版本!)。
下一步工作¶
SITL 和 MAVProxy 的功能远不止这些,还包括手动引导飞行器、创建和运行任务。了解更多信息:
阅读 MAVProxy 文档.
参见 使用 SITL 进行 ArduPilot 测试 以获得使用 SITL 进行飞行和测试的指导。
故障排除¶
一些用户报告了与 Windows 未正确设置路径有关的构建错误。有关详细信息,请参阅 本期.