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

API flow char
Figura 2. Motion AR API sequenza logica

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 |
- 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

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
principià /
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à

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

Referenze
Tutte e seguenti risorse sò liberamente dispunibili www.st.com.
- UM1859: Accuminciamentu cù i MEMS di muvimentu X-CUBE-MEMS1 è l'espansione di u software di sensori ambientali per STM32Cube
- UM1724: schede STM32 Nucleo-64 (MB1136)
- 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

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 |



