传感器为什么需要智能?这是一个很好的问题!设想一下,MEMS传感器可以测量如加速度、角速度、压力、温度和湿度等物理量并转化为数字信号,但如果我们的传感器只能简单地采集和传递数据,那它就像一个静默的观察者、被动的上报者,无法主动参与到系统中。
然而,当我们赋予传感器智能时,在算法的加持下,它可以主动地在器件上基于所采集的数据进行融合、分类和预测,从而更加智能地应对各种情况,协助决策,优化产品。
ST作为在MEMS传感器和执行器领域拥有丰富经验和成熟专业知识的公司,其传感器产品是怎么一步步走向智能之路的呢?,
上图是ST的传感器智慧功能路线图。最早我们推出基于MLC(Machine Learning Core,机器学习核心)跟FSM(Finite States Machine,有限状态机)的1.0版本的智慧功能 — ST所有带嵌入式MLC功能的MEMS产品,在产品编号末尾均带有X标记,方便工程师进行识别。在消费级应用上,我们有LSM6DSOX — 针对手机穿戴设备光学防抖应用的器件;LSM6DSRX — 针对虚拟现实跟正常现实无人机应用的器件。工业级应用上我们有ISM330DHCX以及倾角仪IIS2ICLX。
ST MEMS传感器内置的机器学习核心(MLC)基于决策树分类器,可以在传感器中以极低的功耗执行程序化决策树,检测运动数据的同时运行不同任务。具体的机器学习模型设计过程可以参考之前的推文《AI技术专题之二:机器学习模型设计过程和MEMS MLC》或《DT0139设计建议:决策树生成》,MLC与FSM有什么差别?
MLC主要用于活动跟踪,即在做一些周期性长时间的运动时,对活动场景进行检测,例如检测人是在走路、跑步、骑车还是乘车;FSM则主要针对短时间一次性动作的手势或姿态识别。
MLC与FSM两者的差异包括:
1)输入数据源差异 — MLC的输入数据源是非原始数据,而是基于原始数据进行标记并计算的特征值。而FSM基于原始的加速度或陀螺仪的样本数据。
2)逻辑方面的差异 — MLC基于机器学习决策树的逻辑;而FSM基于阀值/计时器的事件触发器的逻辑,进行判断和比较。
3)输出方面的差异 — MLC基于决策树逻辑进行模式匹配,再输出不同的分类结果;FSM则是基于命令和条件进行判断,再输出事件检测的结果。
进入MLC和FSM 2.0阶段后,以LSM6DSV16X/LSM6DSV16BX/LIS2DUX12为代表的器件引入2.0功能并集成了SFLP低功耗融合算法。
SFLP(Sensor Fusion Low Power)是6轴低功耗传感器融合的缩写。ST 6DSV系列IMU中均配置了SFLP功能。
其主要特点包括>
1)基于加速度及陀螺仪数据进行融合的算法,可以输出游戏旋转矢量,相当于表现在空间姿态的一个四元数。这个四元数也可通过一个算法转换成欧拉角,展现成空间姿态,即从A点移动到B点时,在空间中的运动轨迹。同时这个数据还可以保存在FIFO中。
2)可以输出重力矢量,用来表示重力方向的三维向量。
3)可以提供陀螺仪的bias,相当于陀螺仪一个零偏支持静态校准。同时也集成动态零偏校准算法,实时计算陀螺仪的零偏,减少积分误差。
SFLP低功耗传感器融合在消费电子领域有广泛的应用场景;例如游戏手柄、赛车、AR/VR/MR的游戏装备空间姿态检测;在可穿戴领域,如手表中的运动实时检测和手势识别、耳机TWS的3D空间音效,即当用户移动头部时,音频能够跟随头部运动播放;在手机导航和无人机中,也可以使用SFLP进行3D空间姿态检测。毕竟,SFLP具有卓越的性能 — 不仅可以输出6轴游戏旋转矢量,而且无论静止精度、低动态精度还是高动态精度都非常高。校准时间即达到稳定状态所需要的校准时间仅为0.8秒,姿态稳定时间为0.7秒。功耗方面,在15Hz下仅需3.5µA,120Hz时功耗也只有28µA。
为了方便开发者使用,我们在GitHub上提供了详细的参考代码。通过参考代码,开发者可以了解如何实现软件复位,配置加速度陀螺仪量程和ODR,配置FIFO buffer触发中断,设置SFLP数据保存到FIFO中,配置FIFO模式,设置FIFO为stream模式,使能sensor及SFLP算,设置Gbias,陀螺仪零偏动态获取,提高算法的精准度等等细节。
基于专业的MEMS评估母板加上适用于各种工业级、消费级、汽车级传感器的适配板,然后连接电脑,进入Unico-GUI功能界面,通过搜索选择传感器,点击Fusion功能,然后您就可以看见下面视频中的茶壶会跟随板子的移动进行旋转或者说空中姿态检测。