跳转至

第7章 健康管理与安全评估

智能无人系统属于典型的复杂系统,而"复杂系统"一般指规模较大、结构复杂、功能繁多、故障模态多样、外部环境未知多变的一类系统。无人系统通常具有非线性、动态多变、规模大、层级多、去中心化等特性。随着系统的复杂程度越来越高,发生故障的组件和概率都会越来越大,如何降低故障概率和减小故障后产生的后果,是系统健康和安全评估需要考虑的内容。


7.1 背景与理论

智能无人系统的健康管理与安全评估至关重要。健康管理强调系统状态的实时监测和预测维护,安全评估则侧重于风险识别、概率计算和危害控制。

alt text

7.1.1 无人系统的安全性需求

不同类型无人系统的安全性需求存在显著差异:具身智能系统(如机器狗)在室内低速运行,安全性需求相对较低;无人驾驶汽车在地面高速行驶,对安全性要求极高;无人机运行于复杂的三维气象环境中,面临"势能+动能"的双重威胁,低空安全是制约行业发展的关键瓶颈。

7.1.2 健康管理与安全评估的核心价值

构建系统化、标准化的健康管理与安全评估框架,既是保障无人系统稳定可靠运行的重要技术路径,也是建立面向未来的智能系统可信体系的核心战略举措,可推动无人系统从"可用"向"可信"转变。


7.2 框架与接口

RflySim 为健康管理与安全评估提供了完善的支撑体系,构建极限工况下的快速测试能力、软硬件在环的闭环评估框架、状态监控与指标可视化能力、数据驱动的预测性健康管理,以及高一致性的"仿真-实物"迁移能力。

alt text

7.2.1 故障建模与注入框架

故障建模与注入框架覆盖了模型层、固件层、环境层、通信层、智能算法层与集群任务层等多层次故障注入方式,支持传感器故障、电机失效、通信中断等典型故障场景,实现多维度、多层次的系统鲁棒性验证。

alt text

7.2.2 评估与诊断算法开发框架

通过 Simulink/DLL 模型与自驾仪双通道接口,构建结构化测试用例与自动触发机制,支持仿真与真机阶段的统一评估流程。通过自驾仪日志解析与安全指标计算,进行任务完成率、故障恢复能力等多维度性能分析。

alt text


7.3 精彩案例展示

故障注入实验

故障注入与诊断算法验证


7.4 课程配套视频

本章节公开课回放(第六期:健康管理与社会安全评估)

7.5 本章实验案例

本章相关验证实验与引导案例存放在 [安装目录]\RflySimAPIs\7.RflySimPHM 文件夹中。

7.5.1 接口学习实验

存放在 7.RflySimPHM\0.ApiExps 文件夹中,涵盖平台基础接口导学及各工具通识入门。

实验 1:信号标签模块的学习与使用

📝 实验简介: 通过例程学习Simulink中Goto和From模块的使用,掌握使用相同标签进行数据广播和接收的方法。

实验 2:故障参数与模块封装参数引用

📝 实验简介: 学习通过Simulink的constant模块创建封装参数,从工作区读取故障参数并运行模型,掌握constant模块的用法

实验 3:RflySim故障注入MATLAB API测试

📝 实验简介: 通过MATLAB/Simulink使用UDP模式发送故障注入参数,学习故障ID及故障参数的设置方法,掌握电机、螺旋桨、电池、GPS等故障的注入技术。

实验 4:UDP模式故障注入API测试

📝 实验简介: 学习使用Python通过UDP模式发送故障注入参数,掌握PX4MavCtrlV4库的sendSILIntFloat函数用法,实现故障注入效果

实验 5:PX4外部消息发送与接收

📝 实验简介: 学习通过MATLAB/Simulink向PX4发送外部消息并接收状态信息,掌握UDP receiver模块的使用方法(端口30100用于故障注入)。

实验 6:电机故障注入模块使用

📝 实验简介: 学习使用Simulink平台自带的MotorFaultModel电机故障注入模块,通过故障注入观察电机PWM输出波形变化,掌握故障注入模块的使用方法。

实验 7:故障注入最小模板

📝 实验简介: 学习故障注入模块最小模板的使用,该模板无故障效果,可用于替换任意故障注入模块,主要掌握最小模板的熟悉与应用。

实验 8:基于最小模板的电机故障注入

📝 实验简介: 学习使用基于最小模板的电机故障注入,掌握Simulink中MotorFault1电机故障模块的注入方式。无人机启动后直接发生故障,无法正常起飞并发生剧烈晃动。

实验 9:无人机故障数据收集

📝 实验简介: 通过自动化脚本在SITL/HITL仿真环境中收集无人机故障飞行数据,为故障诊断和预测性维护提供训练数据

实验 10:PHM飞行数据处理

📝 实验简介: 通过Python脚本将ULog飞行日志转换为CSV格式,进行数据筛选、清洗、时间对齐和特征工程,生成可直接用于神经网络训练的processed_data.csv表格

实验 11:故障模型验证

📝 实验简介: 通过运行model_ver.py验证基于TensorFlow的无人机故障诊断模型的准确性,支持硬件在环和软件在环两种仿真模式,学习机器学习模型在实际飞控中的部署与预测流程。

实验 12:无人机健康评估基础实验

📝 实验简介: 通过RflySim仿真环境收集无人机飞行数据,实现健康评估算法和故障注入功能,掌握PHM预测与健康管理算法的基本实现方法

实验 13:PHM神经网络模型训练

📝 实验简介: 通过Jupyter Notebook实现双层隐藏层神经网络训练,掌握健康监测模型的数据预处理、网络结构设计(110-56-32-2)、编译优化及模型训练流程,实现故障与健康状态的二分类识别。

实验 14:无人机传感器故障测试用例自动化生成

📝 实验简介: 实现无人机传感器故障测试用例的自动化生成与导入数据库功能,通过Python脚本自动生成加速度计、陀螺仪、磁力计、气压计、GPS等传感器的测试用例,并存储到SQLite数据库中

实验 15:自定义控制序列配置与使用

📝 实验简介: 通过Python脚本解析db.json文件中的控制序列,将其映射为无人机控制指令,掌握自定义控制序列的基本使用与配置方法

实验 16:QGC日志自动下载

📝 实验简介: 通过Python脚本实现QGC地面站日志的自动化下载,掌握qgc.ReqQgcLog()函数的使用方法,学习无人机飞行日志的获取与管理。

实验 17:视觉自定义控制序列配制与使用

📝 实验简介: 掌握通过Python脚本解析db.json文件,将控制序列映射为无人机控制指令,实现视觉系统的自定义控制序列配制与使用

实验 18:故障注入与日志时间戳获取

📝 实验简介: 通过调用RflySim SDK接口注入故障,学习从飞控日志vehicle_command_0.csv中解析command=31000获取故障注入时间戳的方法

7.5.2 基础使用实验

存放在 7.RflySimPHM\1.BasicExps 文件夹中,面向初学者提供全套配套补充教材库。

实验 1:故障注入最大模板

📝 实验简介: 学习故障注入最大模板的使用,掌握最大模板与最小模板的区别(外部故障注入接口),该模板无任何故障效果,可用于替换各类故障注入模块。

实验 2:GPS模块故障注入

📝 实验简介: 基于最大模板的GPS模块故障注入实验,通过FaultInjectAPITest.py将故障信号传输到Simulink最大模板的GPS故障注入模块,学习GPS故障注入的实现原理及噪声增益、3D方式、星数三个参数的影响。

实验 3:电机模块故障注入

📝 实验简介: 学习基于最大模板的电机模块故障注入原理,掌握使用FaultInjectAPITest.py和PX4MavCtrlV4库实现电机故障注入的方法,了解MotorFault模块的结构和实现机制。

实验 4:传感器模块故障注入

📝 实验简介: 学习基于最大模板的传感器模块故障注入原理,通过PX4MavCtrlV4库将故障信号传输到Simulink模块,实现加速度计、陀螺仪、磁力计、气压计的噪声故障注入仿真。

实验 5:环境风故障注入

📝 实验简介: 学习基于最大模板的环境风模块故障注入技术,通过PX4MavCtrlV4库接口传输故障信号到Simulink最大模块,实现常风、阵风、紊流风、切向风四种环境风故障的注入功能。

实验 6:负载模块故障注入

📝 实验简介: 了解基于最大模板的负载模块故障注入的原理和实现,通过FaultInjectAPITest.py发送故障信号到Simulink最大模板,实现负载故障、负载漂移故障和负载泄露故障三种故障注入功能。

实验 7:螺旋桨故障注入

📝 实验简介: 学习基于最大模板的螺旋桨模块故障注入技术,掌握通过PX4MavCtrlV4库接口将故障信号传输到Simulink模型实现螺旋桨故障注入的方法。

实验 8:电池模块故障注入

📝 实验简介: 学习基于最大模板的电池模块故障注入,掌握通过FaultInjectAPITest.py和PX4MavCtrlV4库实现电池失效、低电压、低电量故障的注入方法

7.5.3 进阶开发实验

存放在 7.RflySimPHM\2.AdvExps 文件夹中,进一步熟悉部分底层固件生态配置。

实验 1:全故障模块注入

📝 实验简介: 基于最大模板进行全故障模块故障建模,将模型导出为DLL文件,通过CopterSim加载,利用UDP模式注入故障码进行多种故障注入仿真实验,掌握最大模板的使用方法及内部实现。

实验 2:故障生成注入GUI应用程序

📝 实验简介: 基于全故障注入模板,通过MATLAB APP实时将故障参数注入到软件在环仿真中,实现故障注入效果

实验 3:PX4故障注入实验

📝 实验简介: 通过修改PX4飞控源码,导入飞控后进行硬件在环仿真,实现对地磁、GPS、遥控器、电机、加速度计等传感器的故障注入验证。

实验 4:单机单实例自动化测试

📝 实验简介: 学习和掌握RflySim自动测试平台的基本结构与使用流程,通过运行AutoTest.py脚本实现无人机单机单实例的自动化测试与数据分析。

实验 5:单机多实例自动化测试

📝 实验简介: 学习使用RflySim自动测试平台进行单机多实例的自动化测试流程,掌握配置多架无人机和测试用例的方法

实验 6:RflySim多机型单实例自动化测试

📝 实验简介: 掌握自动测试平台多机型单实例自动化测试的基本结构和使用流程,通过Python脚本实现平台的自动测试功能。

实验 7:多机型多实例自动化测试

📝 实验简介: 掌握自动测试平台多机型多实例自动化测试的基本结构和使用流程,包括conf配置参数设置、多机型测试用例配置、无人机实例管理及自动化测试数据记录。

实验 8:RflySim安全评估

📝 实验简介: 学习使用ProfustSA模块进行安全评估,掌握安全评估算法的基本结构和使用流程,通过Python脚本设置参数进行无人机安全评分。

实验 9:航迹跟踪自动化测试

📝 实验简介: 通过Python脚本进行参数设置和航迹跟踪算法,实现无人机的自动化测试,掌握航迹跟踪的基本结构和使用流程。

实验 10:自动测试平台单机多实例自动化测试

📝 实验简介: 学习自动测试平台单机多实例自动化测试的结构与流程,掌握Python脚本配置多无人机仿真参数、执行测试并查看结果的方法。

实验 11:自动化测试航迹跟踪

📝 实验简介: 本实验通过Python脚本配置参数,结合RflySim平台实现无人机自动化航迹跟踪,掌握航迹跟踪的基本结构和使用流程,可自定义轨迹并生成飞行数据。

7.5.4 高阶开发实验

存放在 7.RflySimPHM\3.CustExps 文件夹中,面向高阶用户的自定义开发实验。

实验 1:数字孪生与深度学习无人机故障诊断

📝 实验简介: 探讨数字孪生技术与深度学习方法在无人机故障诊断中的应用,通过故障注入仿真,将孪生输出与实际输出的残差数据输入深度学习模型,实现故障诊断与定位。