使用模拟参数控制模拟¶
SITL 有大量参数用于控制模拟。风速/风向、传感器故障和参数、遥控故障等都可以模拟和控制。这些参数在模拟运行时是可见的,并以 SIM_
.下面将详细介绍其中几种。
设置参数¶
备注
如果所连接的 GCS 是 "Mission Planner地面站",则可使用 "参数配置/完整参数列表 "或 "树 "来更改参数。以下是使用 MAVProxy 命令更改参数值的示例。
以下许多任务涉及通过 MAVLink 设置参数值,您可以使用 停止 设置
命令,如图所示:
停止 设置 参数名称 价值
使用 停止 展览
.SITL 专用参数以 SIM_
可以用
停止 展览 SIM_*
改变模拟速度¶
大多数模拟器后端(本机、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/ 了解详情。