本文继续描述如何在STWIN评估板上的ST MEMS传感器中使用机器学习核心(MLC)配置。此示例显示了ISM330DHCX中嵌入的MLC功能如何用于风扇机架状态监控用例。

[续自采用工业传感器机器学习核心的风机机架状态监测---1/2]
百万立方米
是ST传感器上提供的一种高度可配置且节能的硬件逻辑,支持多个决策树分类器。ISM330DHCX是一款6轴iNemo惯性模块,具有MLC功能,可在STWIN中找到。

此示例说明了以下步骤:

  1. 如何捕获要分类的每个类的数据日志
  2. 如何标记每个数据日志
  3. 如何设计决策树分类器
  4. 如何配置MLC以运行生成的决策树
  5. 如何在MLC中运行时实时检查决策树输出

2.转换、加载和标记数据日志

在本段中,用户将了解如何在Unico GUI中加载和标记数据日志,以便继续进行MLC培训和生成ISM330DHCX的配置文件。

这三个不同的日志现在应该存储在STWIN的microSD卡中。用户应将其从STWIN中删除,并使用具有正确外设的PC进行读取。一旦打开,用户将看到三个不同的文件夹,每个采集一个。用户可以根据获取的数据重命名文件夹,复制文件夹并将其粘贴到本地驱动器中。

然后可以从电脑中取出microSD卡,并将其重新放置在STWIN中。

用户必须打开Unico GUI,有必要通过以下方式在脱机模式下启动它取消选中“与主板通信”复选框在启动窗口上。然后,用户可以在“iNemo惯性模块”选项卡中选择ISM330DHCX,然后单击“选择设备”。

加载Unico GUI主页时,用户必须单击“MLC”按钮在左下角,将弹出一个新窗口。

在此窗口中,用户可以导入数据日志,对其进行标记,并将其用作MLC的训练数据。在这样做之前将日志文件从STWIN类型转换为Unico GUI类型所必需的

为此,用户必须单击右上角的“高级选项”按钮。将弹出一个新窗口。

 

点击“浏览”按钮,系统会提示用户以STWIN获取的每个数据日志的根文件夹为目标(例如文件夹“Fan_on”,其中包含STWIN为该获取生成的所有日志文件)。转换完成后,如果操作成功完成,将在根文件夹中生成一个嵌套文件夹,该文件夹将包含一个“.txt”文件,该文件是Unico GUI的转换数据日志。用户必须选择“忽略数据标记”选项在开始转换之前。

用户现在被要求以那些转换后的数据日志为目标,并通过分配标签在Unico GUI中导入它们。标签的可能分配为“Fan_off”、“Fan_on”和“Fan_fault”。

一旦对所有3个日志执行了此任务,用户将看到一个填充的窗口,如下图所示,并可以继续生成决策树。

用户现在可以移动到配置选项卡。在这里,用户将被提示关于与传感器一起使用的设置和与MLC相关的其他参数的几个请求。下面总结了用户应为此示例选择的选项:

  • 设备:ISM330DHCX
  • MLC ODR:104Hz
  • 输入:仅限加速计。满量程=2g,ODR=104Hz
  • 决策树:1
  • 窗口长度:104
  • 过滤器配置:结束过滤器配置

现在,用户必须选择MLC使用的功能来区分不同的场景。在这种情况下ACC_X的峰间(加速度X轴)就足够了,应该是继续学习教程之前唯一选择的功能。为了帮助用户做出这一决定,使用外部软件(例如Excel、Matlab、LabVIEW等)以图形方式绘制传感器数据是很有用的:

很明显,信号的峰峰值是如何根据风扇机架模式变化的。在这种情况下,最相关的轴是X轴,但它可能会有所不同(取决于板方向、风扇架形状、故障类型、使用的双面胶带等)。有关决策树的创建和功能选择的任何进一步信息,用户可以查看DT0139,这是决策树生成的设计提示文件。

一旦选择了正确的功能,将提示用户选择保存ARFF文件的路径;这将用于生成MLC的决策树。

ARFF公司文件是文本文件:前几行描述属性(提取的特征),文件的其余部分有一行用于Unico GUI处理的每个日志文件的每个窗口(数据段)。每一行都由列出的属性(数字或数值类)和相应的标签(字符串或标称类)组成。该文件是设计决策树分类器的算法的输入(见下一段)。

一旦完成,就可以插入与每个数据标签相关联的数字代码。这是当MLC将被完全配置时,决策树将发送的数字输出。一个可能的决定如下。

  • 风扇关闭=0
  • 风扇=4
  • 风扇故障=8

3.设计决策树分类器

Unico GUI提供了使用内置算法设计决策树的可能性,而无需使用第三方工具(如Weka、Python SciKit、Matlab和RapidMiner),这些工具也可以用作替代工具。

在Unico GUI中设计决策树分类器的过程需要两个简单步骤:

  1. 设置的数量节点以及置信区间在这种情况下,1.节点和0.9置信区间与应用程序兼容。

  2. 点击生成创建一个包含决策树的.txt文件。

有关使用第三方工具生成决策树的更多详细信息,请参阅申请说明AN5392:

  • Weka的附录A
  • RapidMiner的附录B
  • Matlab的附录C
  • Python SciKit的附录D

4.生成MLC配置文件

用户现在可以通过单击生成ISM330DHCX的MLC配置文件下一个在生成决策树之后。

将首先提示用户指定元分类器(对于本教程而言,这不是必需的)。元分类器可以保留为0。

最后,系统将提示用户选择目标UCF文件,单击下一步,它将由Unico GUI自动生成。

UCF公司代表Unico配置文件。它是一个包含寄存器地址序列和相应值的文本文件。它包含完整的传感器配置,当然包括MLC配置。

UCF文件可以由ST提供的几个软件工具按原样使用:Unico GUI、Unicleo GUI、AlgoBuilder GUI。

UCF文件也可以转换为C源代码并保存为标头.小时要方便地包含在C项目中的文件:单击“选项”选项卡,选择“浏览并加载UCF文件”,然后单击“生成C代码”。

关于如何使用生成的.小时STMems_standard_C_drivers存储库中提供了标准C驱动程序中的文件。
 

5.使用MLC配置文件


生成的UCF文件现在可以在STWIN顶部的ISM330DHCX中下载,

用户可以关闭Unico GUI,然后在安装STBLESensor应用程序的智能手机上继续传输UCF文件。有很多方法可以传输文件(蓝牙、USB等)。一旦UCF文件保存在智能手机内存中,用户可以再次打开STBLESensor应用程序,并在传感器列表中展开ISM330DHCX设置。

通过启用MLC开关,“负载配置”也被启用。用户必须单击它,然后继续选择之前传输的UCF文件。也有必要以与上次采集相同的方式设置加速计的FS和ODR(满量程=2g,ODR=104Hz)。


为了实时检查MLC的结果,用户必须开始采集。一旦开始采集,点击左上角的菜单按钮,它将找到“机器学习核心”菜单。

在这里,用户将找到MLC的实时结果,表示为一个值。

用户可以验证决策树的数字输出是否与风扇机架的工作模式相对应。