本页介绍如何在Linux上设置SITL(软件在环路中)。特定命令在Ubuntu上从12.10到16.04进行了测试。
SITL模拟器允许您在没有任何硬件的情况下运行Plane,Copter或Rover。它是使用普通C ++编译器构建的自动导航代码,为您提供了一个本机可执行文件,允许您在没有硬件的情况下测试代码的行为。
SITL在Linux和Windows上本机运行。有关Windows安装,请参见单独的Windows安装页面 。
请按照设置构建环境(Linux / Ubuntu)中的说明设置完整环境,包括SITL。
要启动模拟器,请先将目录更改为车辆目录。例如,对于multicopter代码更改为ardupilot / ArduCopter:
cd ardupilot/ArduCopter
然后使用sim_vehicle.py启动模拟器。第一次运行它时,应使用-w选项擦除虚拟EEPROM并为您的车辆加载正确的默认参数。
sim_vehicle.py -w
加载默认参数后,您可以正常启动模拟器。首先使用Ctrl-C杀死正在运行的sim_vehicle.py。然后:
sim_vehicle.py --console --map
提示
sim_vehicle.py 有许多有用的选项,从设置模拟速度到选择初始车辆位置。可以通过使用-h
标志调用它们来列出这些(有些在使用SITL进行ArduPilot测试中进行了演示)。
提示
如果未加载地图标题,则可以通过单击“查看/服务”临时更改地图窗口中的地图提供程序。要在启动之间保持新的地图服务,请将以下行添加到“.bashrc”的末尾(通过所需的提供程序更改MicrosoftHyb):
export MAP_SERVICE = “MicrosoftHyb”
为了充分利用SITL,您需要学习使用MAVProxy。阅读MAVProxy文档。享受飞行!
新版本的MAVProxy和pymavlink定期发布。如果您是常规SITL用户,则应使用此命令不时更新
pip install --upgrade pymavlink MAVProxy --user
开发人员可以选择安装FlightGear飞行模拟器并使用它(在仅查看模式下)来显示车辆及其周围环境的3D模拟。与MAVProxy和Mission Planner提供的2D地图和HUD飞行显示相比,这提供了更好的可视化。
FlightGear:KSFO的模拟直升机(点击查看大图)。
SITL 在UDP端口5503上输出FlightGear兼容状态信息。我们强烈建议您在启动SITL之前启动FlightGear(尽管这不是必需的,但已发现它可以提高某些系统的稳定性)。
主要步骤(在Ubuntu Linux 14.04 LTS上测试)是:
从终端安装FlightGear:
sudo apt-get install flightgear
打开一个新的命令提示符并运行相应的shell文件在您的车辆/ ardupilot /工具/自动测试/:fg_plane_view.sh (平面)和 fg_quad_view.sh (直升机)。
这将启动FlightGear。
以正常方式在终端中启动SITL。在这种情况下,我们将起始位置指定为旧金山机场(KSFO),因为这是一个有趣的机场,有很多可以看到:
sim_vehicle.py -L KSFO
FlightGear总是首先在KSFO上加载场景(这是硬编码到批处理文件中),但是一旦启动SITL,它将切换到模拟位置的场景。
提示:
如果车辆似乎在太空中盘旋(没有那么FlightGear没有所选位置的任何风景文件。选择一个新的位置!
您现在可以像往常一样起飞和飞行 直升机或 飞机,观察车辆运动,包括俯仰,偏航和侧倾。
安装后,请参阅使用SITL进行ArduPilot测试,获取有关使用SITL进行飞行和测试的指导。