使用模拟参数控制模拟

SITL 有大量参数用于控制模拟。风速/风向、传感器故障和参数、遥控故障等都可以模拟和控制。这些参数在模拟运行时是可见的,并以 SIM_.下面将详细介绍其中几种。

设置参数

备注

如果所连接的 GCS 是 "Mission Planner地面站",则可使用 "参数配置/完整参数列表 "或 "树 "来更改参数。以下是使用 MAVProxy 命令更改参数值的示例。

以下许多任务涉及通过 MAVLink 设置参数值,您可以使用 停止 设置 命令,如图所示:

停止 设置 参数名称 价值

使用 停止 展览.SITL 专用参数以 SIM_可以用

停止 展览 SIM_*

提示

用户可设置的 SITL 特定参数表见 SITL.cpp 更改参数后,该值在重启 SITL 后仍会保留在虚拟 EEPROM 中。如果您不再需要它,请记得将其改回(或 重新加载/重置参数).

改变模拟速度

大多数模拟器后端(本机、X-plane 等)都支持在运行时更改速度(Realflight 不支持)。只需设置 SIM_SPEEDUP 参数。数值 1 表示正常的挂钟时间。5 表示 5 倍实时时间。0.1 表示实时时间的 1/10。

高加速运行会产生足够的网络流量,导致 MAVProxy 无法跟上。诸如 "设置 RC 超时 "或飞行器进入 GCS 故障安全状态等错误就是典型的故障。减少 SIM_SPEEDUP 系数通常足以避免这一问题。此外,使用 --udp 选项将使用 UDP 而不是较慢的 TCP 通信协议,有助于在更高速度下避免这一问题。

加载参数集

首次启动 SITL 时,设备将配置载具/车架类型的默认参数。通常情况下,您需要用模拟所需载具和环境条件的值来替换这些参数。

停止 负荷 <;  规范 文件>;

工作目录是 MAVProxy 启动时所在的目录,而不是模拟目录

您可以选择稍后重新加载参数,或者通过启动 SITL (sim_vehicle.py)与 -w 旗子

备注

在键入 停止 取得,以便在显示参数集之前加载需要启用的参数。在某些情况下,您甚至可能需要重新启动 SITL 才能使某些新参数生效,例如输出函数更改。如果在启动 SITL 时使用"-add-param-file=*pathtofile*"(....ie: sim_vehicle.py -f flightaxis:192.168.x.x -map - -console -add-param-file=*pathtofile* -w)添加参数文件,就可以避免这种情况。这将把参数文件添加为默认设置,然后将之前可能存在的参数更改恢复为默认设置。

也可以保存参数。例如,将参数保存到当前工作目录下的文件中:

停止 节省 ./myparams.调味料

备注

默认 "参数集模拟固件中的参数默认值。这些值在启动时用于参数,除非用户之前更改了存储在(飞行)控制器闪存中的参数,在这种情况下,更改后的值将用于更改后的参数。在 SITL 中,这些更改存储在仿真启动目录下的一个文件中,文件名为 eeprom.bin.上述参数加载和保存命令处理的是这些用户设置的参数值,而不是仿真开始时创建的固件默认值。 --添加参数文件 启动选项。

其他选项可以使用

停止 帮助

测试遥控故障保护装置

要测试 ArduPilot 在失去遥控 (RC) 时的行为,请设置参数 SIM_RC_FAIL=1如图所示:

停止 设置 SIM_RC_FAIL 1

这将模拟完全失去遥控输入。如果您只想模拟低节流(低于节流失效保护水平),则可以使用 RC 命令来实现:

rc 3 900

或使用 SIM_RC_FAIL=2 将所有通道设置为中性(1500us),将节流通道设置为 950us。

测试振动的影响

要测试载具对振动的反应,请使用 SIM_ACC_RND.下面的示例增加了 3 m/s/s 的加速度噪声:

停止 设置 SIM_ACC_RND 3

测试风的影响

可以改变风向、风速和湍流,以测试它们对飞行行为的影响。以下设置可改变风向,使其从南面以 10 米/秒的速度吹来。

停止 设置 SIM_WIND_DIR 180
停止 设置 SIM_WIND_SPD 10

查看其他风力参数:

停止 展览 模拟风*

测试 GPS 故障

要测试 GPS 锁定是否丢失,请使用 sim_gps_disable:

停止 设置 sim_gps_disable 1

您还可以通过以下方式启用/禁用第二个 GPS sim_gps2_disable.

测试偏航 GPS

使用两个模拟的 UBlox GPS 测试 GPS-for-Yaw 功能:

停止 设置 EK3_SRC1_YAW 2
停止 设置 gps_auto_config 0
停止 设置 GPS_TYPE 17
停止 设置 GPS_TYPE2 18
停止 设置 GPS_POS1_Y -0.2
停止 设置 GPS_POS2_Y 0.2
停止 设置 SIM_GPS_POS_Y -0.2
停止 设置 SIM_GPS2_POS_Y 0.2
停止 设置 sim_gps2_disable 0
停止 设置 SIM_GPS2_HDG 1

重新启动 SITL,GPS2_RAW 信息的偏航字段中应该可以看到航向:

地位 GPS2_RAW

使用单个 NMEA GPS 进行测试:

停止 设置 EK3_SRC1_YAW 2
停止 设置 GPS_TYPE 5
停止 设置 SIM_GPS_TYPE 5
停止 设置 SIM_GPS_HDG 1

重新启动 SITL,GPS_RAW_INT 信息的偏航字段中应该可以看到航向:

地位 GPS_RAW_INT

测试指南针校准

在 SITL 中测试指南针校准的快速方法是使用 "校准 "载具模型。要在飞机上使用,请执行以下操作

模拟载具.py -D -f 飞机 --模型 校准 --游戏机 --地图

然后做:

伺服器 设置 5 1250

这将启动载具进行 "罗盘舞"。您可以启动罗盘校准以测试对校准器代码的更改。将此功能与 SIM_SPEEDUP 参数结合使用非常有用。

校准载具模块还有很多其他功能。请参见 http://guludo.me/posts/2016/05/27/compass-calibration-progress-with-geodesic-sections-in-ardupilot/ 了解详情。