# 系统故障注入
系统故障注入允许您诱发不同类型的传感器和系统故障,您可以使用 MAVSDK 故障插件 (打开新窗口)或通过 PX4 控制台手动操作,例如 MAVLink 外壳.这样就可以更容易地测试 安全失控保护 行为,更广泛地说,是 PX4 在系统和传感器停止正常工作时的行为。
故障注入默认为禁用,可以使用 SYS_FAILURE_EN 参数。
警告
故障喷射仍在开发中。本文撰写时(PX4 v1.12):
- 它只能在模拟中使用(计划支持实际飞行中的故障注入)。
- 许多故障类型并未广泛实施。在这种情况下,命令会返回一条 "unsupported" 消息。
# 故障系统指令
可以使用 故障系统指令 从任何 PX4 控制台/Shell,指定故障目标和类型。
# 语法
的完整语法 失败 命令是
故障<组件> <故障类型> [-i <实例编号>]
在哪里?
- 组成部分:
- 传感器
陀螺仪
:陀螺仪加速度
:加速计杂志
:磁强计巴罗
:气压计全球定位系统
:全球定位系统光流
:光流io
:视觉惯性测距。距离传感器
:距离传感器(测距仪)。空速
:空速传感器。
- 系统
电池
:电池。发动机
:电机。伺服器
:伺服。避免
:回避。rc_signal
:RC 信号。mavlink_signal
:MAVLink 信号(数据遥测)。
- 传感器
- 故障类型:
好的
:正常发布(禁用故障注入)。关闭
:停止发布。无法摆脱的
:每次报告相同值 (可以 表示传感器出现故障)。垃圾
:发布随机噪音。这看起来像是在读取未初始化的内存。错误的
:发布无效值(看起来仍然合理/不是垃圾)。慢
:以优惠价格出版。晚点
:发布有效数据时有明显延迟。间歇式
:间歇性发布。
- 实例编号 (可选):受影响传感器的实例编号。0(默认)表示指定类型的所有传感器。
# 示例
模拟失去遥控信号,而无需关闭遥控控制器:
- 启用参数 SYS_FAILURE_EN.
- 在 MAVLink 控制台或 SITL 上输入以下命令 pxh 外壳:
# 失效 RC(关闭发布) 故障 rc_signal 关闭 # 重新启动 RC 发布 失败 rc_signal ok
# MAVSDK 故障插件
MAVSDK 故障插件 (打开新窗口) 可用于以编程方式注入故障。它用于 PX4 集成测试 来模拟故障情况(例如,见 PX4-Autopilot/test/mavsdk_tests/autopilot_tester.cpp (打开新窗口)).
插件 API 是对上图所示故障命令的直接映射,并增加了一些与连接相关的错误信号。