Biblioteca di ricunniscenza di l'attività di STMicroelectronics UM2193 MotionAR

Biblioteca di ricunniscenza di l'attività di STMicroelectronics UM2193 MotionAR

Introduzione

U Motion AR hè una libreria di middleware parte di u software X-CUBE-MEMS1 è funziona in STM32. Fornisce infurmazione in tempu reale nantu à u tipu d'attività realizata da l'utilizatore. Hè capace di distinguishà e seguenti attività: stazionaria, caminata, caminata veloce, jogging, bicicletta, guida.

Questa biblioteca hè destinata à travaglià solu cù ST MEMS.

L'algoritmu hè furnitu in formatu di libreria statica è hè pensatu per esse usatu in microcontrollers STM32 basati nantu à l'architettura ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 o ARM® Cortex®-M7.

Hè custruitu nantu à a tecnulugia di u software STM32Cube chì facilita a portabilità in diversi microcontrollers STM32.

U prugrammu vene cun sampl'implementazione di le esecuzione in una scheda di espansione X-NUCLEO-IKS01A3 o X-NUCLEO-IKS4A1 nantu à una scheda di sviluppu NUCLEO-F401RE, NUCLEO-L152RE o NUCLEO-U575ZI-Q.

Acronimi è abbreviazioni

Table 1. Lista di acronimi

Acronimu Descrizzione
API Interfaccia di prugrammazione di l'applicazione
BSP Pacchettu di supportu di bordu
GUI Interfaccia d'utilizatore grafica
HAL Stratu di astrazione di hardware
IDE Ambiente di sviluppu integratu

Biblioteca di middleware Motion AR in l'espansione di u software X-CUBE-MEMS1

Movimentu AR finituview

A biblioteca Motion AR espande a funziunalità di u software X-CUBE-MEMS1.
A biblioteca acquista dati da l'accelerometru è furnisce infurmazioni nantu à u tipu d'attività realizata da l'utilizatore.

A biblioteca hè pensata solu per ST MEMS. A funziunalità è u rendiment quandu si usanu altri sensori MEMS ùn sò micca analizati è ponu esse significativamente sfarente da ciò chì hè descrittu in u documentu.
SampL'implementazione di le hè dispunibule nantu à schede di espansione X-NUCLEO-IKS01A3 o X-NUCLEO-IKS4A1, muntate nantu à una scheda di sviluppu NUCLEO-F401RE, NUCLEO-L152RE o NUCLEO-U575ZI-Q.

Biblioteca Motion AR

L'infurmazione tecnica chì descrive cumpletamente e funzioni è i paràmetri di l'API Motion AR pò esse truvata in u HTML compilatu MotionAR_Package.chm. file situatu in u cartulare Documentazione.

Descrizzione di a biblioteca Motion AR

  • A biblioteca di ricunniscenza di l'attività Motion AR gestisce i dati acquistati da l'accelerometru; hà caratteristiche:
  • a pussibilità di distingue e seguenti attività: stazionaria, caminata, caminata veloce, jogging, bicicletta, guida
  • ricunniscenza basatu solu nantu à dati accelerometer
  • data accelerometer required sampfrequenza di ling: 16 Hz
  • esigenze di risorse:
    • Cortex-M3: 8.5 kB di codice è 1.4 kB di memoria di dati
    • Cortex-M33: 7.8 kB di codice è 1.4 kB di memoria di dati
    • Cortex-M4: 7.9 kB di codice è 1.4 kB di memoria di dati
    • Cortex-M7: 8.1 kB di codice è 1.4 kB di memoria di dati
  • dispunibule per l'architetture ARM Cortex-M3, Cortex-M33, Cortex-M4 è Cortex-M7

API MotionAR

L'API MotionAR sò:

  • uint8_t MotionAR_GetLibVersion(char *version)
    • ripiglià a versione di a biblioteca
    • * A versione hè un puntatore à una matrice di 35 caratteri
    • torna u numeru di caratteri in a stringa di versione
  • void MotionAR_Initialize (void)
    • esegue l'inizializazione di a biblioteca MotionAR è a cunfigurazione di u mecanismu internu
    • u modulu CRC in u microcontroller STM32 (in u registru di attivazione di l'orologio perifericu RCC) deve esse
      attivatu prima di utilizà a biblioteca
      Nota: Questa funzione deve esse chjamata prima di utilizà a biblioteca di calibrazione di l'accelerometru.
  • void MotionAR_Reset (void)
    • resetta l'algoritmi di ricunniscenza di l'attività
  • void MotionAR_Update (MAR_input_t *data_in, MAR_output_t *data_out, int64_t
    volteamp)
    • esegue l'algoritmu di ricunniscenza di l'attività
    • * parametru data_in hè un punteru à una struttura cù dati di input
    • i paràmetri per u tipu di struttura MAR_input_t sò:
      • acc_x hè u valore di u sensoru di l'accelerometru in l'assi X in g
      • acc_y hè u valore di u sensoru di l'accelerometru in l'assi Y in g
      • acc_z hè u valore di u sensoru di l'accelerometru in l'assi Z in g
    • * parametru data_out hè un punteru à enum cù l'articuli seguenti:
      • MAR_NOACTIVITY = 0
      • MAR_STATIONARY = 1
      • MAR_CAMMINATA = 2
      • MAR_FASTWALKING = 3
      • MAR_JOGGING = 4
      • MAR_BIKING = 5
      • MAR_DRIVING = 6
    • volteamp hè un tempu relative per l'attuale sample in ms
  • void MotionAR_ Set Orientation_ Acc(const char *acc_ orientation)
    • stabilisce l'orientazione di dati di l'accelerometru
    • a cunfigurazione hè generalmente realizata immediatamente dopu à a chjama di a funzione Motion AR_ Initialize
    • * parametru d'orientazione acc_ hè un puntatore à una stringa di trè caratteri chì indicanu a direzzione di ognuna di l'orientazioni pusitive di u quadru di riferimentu utilizatu per l'output di dati di l'accelerometru, in a sequenza x, y, z. I valori validi sò: n (nord) o s (sud), w (ovest) o e (est), u (su) o d (in basso)
    • Comu mostra in a figura sottu, u sensoru di l'accelerometru X-NUCLEO-IKS4A1 hà un SEU (x-South, y-Est, z-Up), cusì a stringa hè: "seu".

Figura 1. Orientazione di u sensoru example

Biblioteca di middleware MotionAR in l'espansione di u software X-CUBE-MEMS1

API flow char

Figura 2. Motion AR API sequenza logica

Biblioteca di middleware MotionAR in l'espansione di u software X-CUBE-MEMS1

codice Demo

U codice di dimostrazione seguente leghje e dati da u sensoru di l'accelerometru è riceve u codice di l'attività

[…] #define VERSION_STR_LENG 35 […] /*** Initialization ***/ char lib_version[VERSION_STR_LENG]; char acc_orientation[] = "seu"; /* Funzione di inizializazione API di ricunniscenza di l'attività */ MotionAR_Initialize (); /* Optional: Get version */ MotionAR_GetLibVersion(lib_version); /* Imposta l'orientazione di l'accelerometru */ MotionAR_SetOrientation_Acc(acc_orientation); […] /*** Utilizendu l'algoritmu di ricunniscenza di l'attività ***/ Timer_ OR_ Data Rate_ Interrupt_ Handler () {
MAR_input_t data_ in; MAR_ output_ t attività; /* Ottene l'accelerazione X/Y/Z in g */ MEMS_Read_AccValue(&data_in.acc_x, &data_in.acc_y, &data_in.acc_z); /* Ottene l'ora attuale in ms */ TIMER_Get_TimeValue(×tamp_ms); /* Actualizazione di l'algoritmu di ricunniscenza di l'attività */ MotionAR_Update (data_in, data_out, timestamp_ms); }

Prestazione di l'algoritmu

L'algoritmu di ricunniscenza di l'attività usa solu dati da l'accelerometru è corre à una freccia bassa (16 Hz) per riduce u cunsumu di energia.

Table 2. Prestazione di l'algoritmu

Attività Probabilità di rilevazione (tipica)(1) U megliu rendimentu Sensibile Purtate pusizioni
Stazionariu 92.27% Tenendu in manu è testu pisanti Tuttu: sacchetta di i pantaloni, sacchetta di a cammisa, sacchetta posteriore, vicinu à a testa, etc.
Camminendu 99.44% Velocità di passi ≥ 1.4 step/s Velocità di passi ≤ 1.2 step/s tutti
Camminata rapida 95.94% Velocità di passi ≥ 2.0 step/s Tuttu
Jogging 98.49% Velocità di passi ≥ 2.2 step/s Durata < 1 minutu; vitezza < 8 km/h Tasca di i pantaloni, swing bracciu, in manu
Bicicletta 91.93% Velocità esterna ≥11 Km/h Sediu di u passageru, guantera Zaino, tasca di camicia, tasca di pantaloni
Cunduce 78.65% Vitezza ≥ 48 Km/h Sediu di u passageru, guantera Porta tazza, dashboard, tasca per camicia, tasca per pantaloni
  1. E specificazioni tipiche ùn sò micca garantite

Tabella 3. Cortex-M4 è Cortex-M3: Algoritmu di tempu (µs) 

Cortex-M4 STM32F401RE à 84 MHz Cortex-M3 STM32L152RE à 32 MHz
Min Avg Max Min Avg Max
2 6 153 8 130 4883

Tabella 4. Cortex-M33 è Cortex-M7: algoritmu di tempu passatu (μs) 

Cortex-M33 STM32U575ZI-Q à 160 MHz Cortex-M7 STM32F767ZI à 96 MHz
Min Avg Max Min Avg Max
< 1 2 74 5 9 145

Sampl'applicazione

U middleware MotionAR pò esse facilmente manipulatu per custruisce applicazioni d'utilizatori; cum'èampl'applicazione hè furnita in u cartulare Applicazioni.
Hè pensatu per eseguisce nantu à una scheda di sviluppu NUCLEO-F401RE, NUCLEO-L152RE o NUCLEO-U575ZI-Q cunnessa à una scheda di espansione X-NUCLEO-IKS01A3 o X-NUCLEO-IKS4A1.

L'applicazione ricunnosce l'attività realizata in tempu reale. I dati ponu esse visualizati attraversu una GUI. L'algoritmu ricunnosce l'attività stazionaria, di caminata, di caminata veloce, di jogging, di bicicletta è di guida. A cunnessione di u cable USB hè necessariu per monitorà e dati in tempu reale. A tavola hè alimentata da u PC via una cunnessione USB. Stu permette à l 'utilizatori à vede l 'attività rilevata, dati accelerometer, tempu stamp è eventualmente altri dati di sensori, in tempu reale, utilizendu l'applicazione GUI MEMS-Studio.

Applicazione MEMS-Studio

U sampl'applicazione usa l'applicazione MEMS-Studio GUI, chì pò esse scaricata da www.st.com.

Passu 1. Assicuratevi chì i drivers necessarii sò stallati è chì a scheda STM32 Nucleo cù a scheda di espansione adatta hè cunnessa à u PC.
Passu 2. Lanciari l'applicazione MEMS-Studio per apre a finestra principale di l'applicazione.

Se una scheda STM32 Nucleo cù firmware supportatu hè cunnessu à u PC, hè automaticamente rilevatu u portu COM appropritatu. Press u buttone Connect per apre stu portu.

Figura 3. MEMS-Studio - Cunnette 

Applicazione MEMS-Studio

Passu 3. Quandu hè cunnessu à a scheda STM32 Nucleo cù u firmware supportatu, a tabulazione di Valutazione di Biblioteche hè aperta.

Per inizià è piantà u flussu di dati, cambiate l'appropritatu Icona principià / Icona buttone di stop in a barra di strumenti verticale esterna.
I dati chì venenu da u sensoru cunnessu ponu esse viewed selezziunate a tabulazione Data Table in a barra di strumenti verticale interna.

Figura 4. MEMS-Studio - Valutazione Biblioteche - Data Table 

Figura 5. MEMS-Studio - Valutazione di Biblioteche - Ricunniscenza di l'attività

Applicazione MEMS-Studio

Passu 5. Selezziunà u Salvà à File tab in a barra di strumenti verticale interna per apre a finestra di cunfigurazione di registrazione di dati. Selezziunate quale sensore è dati di attività per salvà à log file. Pudete principià o cessà di salvà clicchendu nantu à u buttone Start / Stop currispondente.

Figura 6. MEMS-Studio - Valutazione Biblioteca - Salvà à File

Applicazione MEMS-Studio

Referenze

Tutte e seguenti risorse sò liberamente dispunibili www.st.com.

  1. UM1859: Accuminciamentu cù i MEMS di muvimentu X-CUBE-MEMS1 è l'espansione di u software di sensori ambientali per STM32Cube
  2. UM1724: schede STM32 Nucleo-64 (MB1136)
  3. UM3233: Accuminciari cù MEMS-Studio

Storia di rivisione

Table 5. Storia di rivisione di documenti

Data Versione Cambiamenti
10-Apr-2017 1 Liberazione iniziale.
26-ghjennaghju-2018 2 Sezione aghjurnata 3 Sampl'applicazione.
Aghjunghje riferimenti à u pianu di sviluppu NUCLEO-L152RE è a Table 3. Algoritmu di tempu trascuratu (μs).
19-mar-2018 3 Introduzione aghjurnata, Sezione 2.1 Motion AR overview è Section 2.2.5 Algorithm performance.
14-Feb-2019 4 Figura aghjurnata 1. Orientazione di u sensoru example, Table 3. Algoritmu di tempu trascurutu (µs) è Figura 3. STM32 Nucleo: LED, buttone, jumper.
Aggiunta infurmazione di cumpatibilità di a scheda di espansione X-NUCLEO-IKS01A3.
20-mar-2019 5 Sezione aghjurnata 2.2.2 Motion AR APIs, Figura 3. MEMS-Studio - Connect, Figura 4. MEMS-Studio - Valutazione di Biblioteche - Tavola di Dati, Figura 5. MEMS-Studio - Valutazione di Biblioteche - Ricunniscenza di l'Attività è Figura 6. MEMS-Studio - Valutazione Biblioteche - Salvà à File.
04-Apr-2024 6 Actualizazione Sezione Introduzione, Sezione 2.1: MotionAR sopraview, Sezione 2.2.1: Biblioteca MotionAR descrizzione, API MotionAR, Sezzione 2.2.4: codice Demo, Sezione 2.2.5: Prestazione di l'algoritmu, Sezione 3: Sampl'applicazione è Sezione 4: Applicazione MEMS-Studio.

AVVISU IMPORTANTE - LEGGIU ATTENTAMENTE

STMicroelectronics NV è e so filiali ("ST") si riservanu u dirittu di fà cambiamenti, correzioni, miglioramenti, mudificazioni è migliure à i prudutti ST è / o à stu documentu in ogni mumentu senza avvisu. I cumpratori anu da ottene l'ultime informazioni pertinenti nantu à i prudutti ST prima di fà ordini. I prudutti ST sò venduti in cunfurmità cù i termini è e cundizioni di vendita di ST in vigore à u mumentu di a ricunniscenza di l'ordine.

I cumpratori sò solu rispunsevuli di a scelta, a selezzione è l'usu di i prudutti ST è ST ùn assume micca responsabilità per l'assistenza di l'applicazione o u disignu di i prudutti di l'acquirente.

Nisuna licenza, espressa o implicita, à qualsiasi dirittu di pruprietà intellettuale hè cuncessa da ST quì.

A rivendita di i prudutti ST cù disposizioni diverse da l'infurmazioni stabilite quì annullerà ogni garanzia accordata da ST per tali pruduttu.

ST è u logo ST sò marchi di ST. Per infurmazioni supplementari nantu à i marchi ST, riferite à www.st.com/trademarks. Tutti l'altri prudutti o nomi di serviziu sò a pruprietà di i so rispettivi pruprietarii.

L'infurmazioni in stu documentu rimpiazzanu è rimpiazzanu l'infurmazioni furnite prima in qualsiasi versione precedente di stu documentu.

© 2024 STMicroelectronics - Tutti i diritti riservati

Logo

Documenti / Risorse

Biblioteca di ricunniscenza di l'attività di STMicroelectronics UM2193 MotionAR [pdfManuale d'usu
Biblioteca di ricunniscenza di l'attività UM2193 MotionAR, UM2193, Biblioteca di ricunniscenza di l'attività MotionAR, Biblioteca di ricunniscenza di l'attività, Biblioteca di ricunniscenza, Biblioteca

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *