ST-Microelectronics-徽标

ST Microelectronics NUCLEO-F401RE 实时姿态估计库

ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库产品

产品信息

规格

  • 产品名称:MotionPE实时姿态估计库
  • 兼容性:STM1Cube 的 X-CUBE-MEMS32 扩展
  • 设计用于:仅适用于 ST MEMS
  • 加速度计数据 Samp频率:16 Hz

产品使用说明

MotionPE 库结束view:

MotionPE 库扩展了 X-CUBE-MEMS1 软件的功能,从加速度计获取数据来提供有关用户当前姿势的信息。

Samp实施:

作为amp该实现适用于安装在 NUCLEO 开发板上的 X-NUCLEO-IKS01A3 和 X-NUCLEO-IKS4A1 扩展板。

MotionPE 库描述:

MotionPE 姿势估计库可以区分用户的坐姿、站姿和躺姿,旨在用于仅基于加速度计数据进行识别的腕戴式设备。

MotionPE 库 API

  • MotionPE_GetLibVersion(char *version):获取库
    版本信息。
  • MotionPE_Initialize():初始化
    图书馆。
  • MotionPE_ResetLib():重置库。
  • MotionPE_Update(MPE_input_t *data_in, MPE_output_t
    *data_out)
    :使用加速度计数据更新库。
  • MotionPE_SetOrientation_Acc(const char
    *acc_orientation)
    :设置加速度计方向。

常见问题

  • 问:我可以将 MotionPE 库与非 ST MEMS 传感器一起使用吗?
    • 答:该库仅适用于 ST MEMS。使用其他 MEMS 传感器可能会导致不同的功能和性能。
  • 问:需要哪些加速度计数据ampMotionPE 库的频率是多少?
    • 答:所需的amp为了实现精确的姿势估计,频率为16 Hz。

介绍

MotionPE 中间件库是 X-CUBE-MEMS1 软件的一部分,在 STM32 上运行。它根据来自设备的数据提供有关用户当前姿势的实时信息。它能够区分以下姿势:坐、站和躺。该库适用于腕戴式设备。此库仅适用于 ST MEMS。该算法以静态库格式提供,旨在用于基于 ARM® Cortex®-M32、ARM® Cortex®-M3、ARM® Cortex®-M33 或 ARM® Cortex®-M4 架构的 STM7 微控制器。它建立在 STM32Cube 软件技术之上,以简化不同 STM32 微控制器之间的可移植性。该软件附带amp在 NUCLEO-F01RE、NUCLEO-U3ZI-Q 或 NUCLEO-L4RE 开发板上的 X-NUCLEO-IKS1A401 或 X-NUCLEO-IKS575A152 扩展板上运行的实现。

缩略语

表 1. 首字母缩略词列表ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (1)

STM1Cube 的 X-CUBE-MEMS32 软件扩展中的 MotionPE 中间件库

MotionPE 结束view

MotionPE 库扩展了 X-CUBE-MEMS1 软件的功能。该库从加速度计获取数据,并根据设备数据提供有关用户当前姿势的信息。该库仅适用于 ST MEMS。使用其他 MEMS 传感器时的功能和性能未进行分析,可能与文档中描述的有很大不同。amp该实现适用于安装在 NUCLEO-F01RE、NUCLEO-U3ZI-Q 或 NUCLEO-L4RE 开发板上的 X-NUCLEO-IKS1A401 和 X-NUCLEO-IKS575A152 扩展板。

MotionPE 库

完整描述 MotionPE API 功能和参数的技术信息可在 MotionPE_Package.chm 编译的 HTML 中找到 file 位于文档文件夹中。

MotionPE 库描述

MotionPE 姿势估计库管理从加速度计获取的数据;其特点是:

  • 可以区分以下用户姿势:坐着、站着、躺着
  • 适用于腕戴式设备
  • 仅基于加速度计数据的识别
  • 所需的加速度计数据amp频率 16 Hz
  • 资源要求:
    • Cortex-M3:12.0 kB 代码和 2.8 kB 数据存储器
    • Cortex-M33:12.5kB 代码和 2.8kB 数据内存
    • Cortex-M4:12.9 kB 代码和 2.8 kB 数据存储器
    • Cortex-M7:12.9 kB 代码和 2.8kB 数据内存
  • 适用于 ARM® Cortex®-M3、ARM Cortex®-M33、ARM® Cortex®-M4 或 ARM® Cortex®-M7 架构。

MotionPE API

MotionPE 库 API 包括:

  • uint8_t MotionPE_GetLibVersion(char *版本)
    • 检索库版本
    • *version 是一个指向 35 个字符数组的指针
    • 返回版本字符串中的字符数
  • void MotionPE_Initialize(void)
    • 执行 MotionPE 库初始化和内部机制的设置
      注意:在使用姿势估计库之前必须调用此函数,并且必须在使用该库之前启用 STM32 微控制器中的 CRC 模块(在 RCC 外设时钟使能寄存器中)
  • void MotionPE_ResetLib(void)
    • 重置图书馆
  • void MotionPE_Update(MPE_input_t *data_in,MPE_output_t *data_out)
    • 执行姿势估计算法
    • *data_in 参数是指向具有输入数据的结构的指针
    • 结构类型 MPE_input_t 的参数为:
      • AccX 是 X 轴上的加速度计传感器值(单位为 g)
      • AccY 是 Y 轴上的加速度计传感器值(单位为 g)
      • AccZ 是 Z 轴上的加速度计传感器值(单位为 g)
    • *data_out 参数是指向具有以下项的枚举的指针:
      • MPE_UNKNOWN = 0
      • MPE_SITTING = 1
      • MPE_STANDING = 2
      • MPE_LYING_DOWN = 3
    • 无效 MotionPE_SetOrientation_Acc(const char *acc_orientation)
      • 该函数用于设置加速度计数据方向
      • 配置通常在 MotionPE_Initialize 函数调用后立即执行
      • *acc_orientation 参数是一个指向三个字符的字符串的指针,该字符串指示用于加速度计数据输出的参考系的每个正方向的方向,顺序为 x、y、z。有效值为:n(北)或 s(南)、w(西)或 e(东)、u(上)或 d(下)。
      • 如下图所示,X-NUCLEO-IKS4A1加速度计传感器具有SEU方向(x - 南,y - 东,z - 上),因此字符串为:“seu”。

ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (2)ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (3)

API流程图ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (4)

演示代码

以下演示代码从加速度计传感器读取数据并获取估计的姿势

ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (5)

算法性能

姿态估计算法仅使用来自加速度计的数据,并以低频率(16 Hz)运行以降低功耗。下表显示了姿态估计算法在识别成功率方面的表现

ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (6)

Samp申请

MotionPE 中间件可以轻松操作以构建用户应用程序。amp应用程序位于 Application 文件夹中。它设计用于在连接到 X-NUCLEO-IKS401A575 或 X-NUCLEO-IKS152A01 扩展板的 NUCLEO-F3RE、NUCLEOU4ZI-Q 或 NUCLEO-L1RE 开发板上运行。该应用程序可实时识别当前用户姿势。

ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (7)

上图显示了用户按钮 B1 和 NUCLEO-F401RE 板的三个 LED。一旦板通电,LED LD3 (PWR) 就会亮起。
注意:给电路板通电后,LED LD2 闪烁一次,表示应用程序已准备就绪。需要 USB 电缆连接来监控实时数据。电路板通过 USB 连接由 PC 供电。此工作模式允许用户显示实时检测到的用户姿势、加速度计数据、时间 stamp 以及任何其他传感器数据,使用 MEMS-Studio。

MEMS-Studio 应用

在Samp该应用程序使用 MEMS-Studio 应用程序,可以从 www.st.com 下载。
步骤1.确保安装了必要的驱动程序,并且带有适当扩展板的STM32 Nucleo板已连接到PC。

步骤 2. 启动 MEMS-Studio 应用程序以打开主应用程序窗口。如果带有受支持固件的 STM32 Nucleo 开发板连接到 PC,则会自动检测相应的 COM 端口。按 [连接] 按钮建立与评估板的连接ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (8)

步骤 3. 当连接到具有支持固件的 STM32 Nucleo 板时,[库评估] 选项卡将打开。

要启动和停止数据流,请切换相应的[开始] ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (9)或[停止]ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (10) 按钮。来自所连接传感器的数据可以 view通过选择内侧垂直工具栏上的[数据表]选项卡进行编辑。

ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (11)

步骤4.单击[姿势估计]以打开此库的专用页面。ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (12)

步骤5. 点击[保存至 File] 打开数据记录配置窗口。选择要保存在 file。您可以通过点击相应的按钮来开始或停止保存ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (13)

步骤 6. 数据注入模式可用于将之前获取的数据发送到库并接收结果。选择垂直工具栏上的 [数据注入] 选项卡,打开专用 view 对于此功能ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (14)

步骤7. 点击[浏览]按钮选择 file 之前捕获的 CSV 格式数据将与当前 view.

其他按钮将变为活动状态。您可以点击:

  • [离线模式]按钮用于打开/关闭固件离线模式(利用先前捕获的数据的模式)。
  • [开始]/[停止]/[步骤]/[重复]按钮用于控制从 MEMS-Studio 到库的数据馈送

参考

以下所有资源均可在www.st.com上免费获取。

  1. UM1859:STM1Cube 的 X-CUBE-MEMS32 运动 MEMS 和环境传感器软件扩展入门
  2. UM1724:STM32 Nucleo-64 板 (MB1136)
  3. UM3233:MEMS-Studio 入门

修订历史

表 5. 文档修订历史

ST-Microelectronics-NUCLEO-F401RE-实时姿势估计库-图 (15)

重要通知——请仔细阅读

STMicroelectronics NV 及其子公司(“ST”)保留随时对 ST 产品和/或本文档进行更改、更正、增强、修改和改进的权利,恕不另行通知。 采购商应在下订单前获取ST产品的最新相关信息。 ST 产品根据订单确认时的 ST 销售条款和条件进行销售。 购买者全权负责 ST 产品的选择、选择和使用,ST 不对购买者产品的应用协助或设计承担任何责任。 ST 未在此处授予任何知识产权的明示或暗示许可。 转售条款与此处所列信息不同的 ST 产品将使 ST 授予此类产品的任何保证失效。 ST 和 ST 标志是 ST 的商标。 有关 ST 商标的更多信息,请参阅 www.st.com/trademarks。 所有其他产品或服务名称均为其各自所有者的财产。 本文档中的信息取代和替代本文档任何先前版本中先前提供的信息。 © 2024 STMicroelectronics – 版权所有

文件/资源

ST Microelectronics NUCLEO-F401RE 实时姿态估计库 [pdf] 用户指南
NUCLEO-F401RE、NUCLEO-U575ZI-Q、NUCLEO-L152RE、NUCLEO-F401RE 实时姿势估计库、NUCLEO-F401RE、实时姿势估计库、时间姿势估计库、姿势估计库、估计库、库

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *