8.3 基于UI的故障注入

本节导航


详细的操作步骤如下:

  1. MATLAB打开并进入RflySimDLL文件夹,运行“Init_control.m”脚本
    1. 运行完“Init_control.m”脚本后会自动打开打开“MulticopterModel.slx”模型文件,并加载模型参数。本例程中,故障是通过inSILIntsinSILFloats两个结构体传入的,根据实时的数值来触发响应故障,具体原理见上一节和源码。
  2. 配置simulink的参数,之后点击HARDWARE,再点击Simulink“Build”编译按钮,即可生成代码,请耐心等待。(详细步骤见第二讲的2.4小节)

    1. MATLAB中右键“GenerateModelDLLFile.p”并点击“运行”,即可生成带故障模型的DLL模型文件
  3. Windows资源管理器中,双击运行“MulticopterModelSITLRun.bat”脚本,并输入1,开启一个飞机的软件在环仿真。打开之后点击地面站,手动解锁飞机并让飞机起飞(注意:此一键运行脚本是软件在环脚本,其配置须严格按照1.5节的操作步骤来,其中要将第十项(是否屏蔽PX4官方控制器输出)改为否,否则不会如期实现想要的效果

    1. MATLAB定位到FailureGenerator文件夹内部,双击app200804.mlapp打开图形界面,在手动故障界面点击“Initialize”,然后勾选电机故障,电机故障发送。
    2. 实验结果如下图
  4. 自行编写自己的故障模式,以及修改触发函数,测试不同故障的注入方法。

注: 1、本例程的基本原理见第二节 2、本图形界面的接口的本质是向DLL模型发送inSILIntsinSILFloats信号来触发故障,也可以摆脱“app200804.mlapp”图形界面,通过UDP发送上述两个数据来触发故障。具体的操作见第四节的描述。例程见FailureGeneratorDemo.slx,可以实时接收飞机状态,并发送故障数据结构体。

results matching ""

    No results matching ""