STMicroelectronics UM2193 MotionAR biblioteka za prepoznavanje aktivnosti

Uvod
Motion AR je biblioteka srednjeg softvera deo softvera X-CUBE-MEMS1 i radi na STM32. Pruža informacije u realnom vremenu o vrsti aktivnosti koju korisnik obavlja. U stanju je razlikovati sljedeće aktivnosti: stajanje, hodanje, brzo hodanje, trčanje, biciklizam, vožnja.
Ova biblioteka je namijenjena za rad samo sa ST MEMS.
Algoritam je obezbeđen u formatu statičke biblioteke i dizajniran je da se koristi na STM32 mikrokontrolerima zasnovanim na ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 ili ARM® Cortex®-M7 arhitekturi.
Izgrađen je na vrhu softverske tehnologije STM32Cube koja olakšava prenosivost kroz različite STM32 mikrokontrolere.
Softver dolazi sa sampimplementacija radi na X-NUCLEO-IKS01A3 ili X-NUCLEO-IKS4A1 ploči za proširenje na NUCLEO-F401RE, NUCLEO-L152RE ili NUCLEO-U575ZI-Q razvojnoj ploči.
Akronimi i kratice
Tabela 1. Lista akronima
| Akronim | Opis |
| API | Interfejs za programiranje aplikacije |
| BSP | Paket podrške za ploču |
| GUI | Grafičko korisničko sučelje |
| HAL | Sloj hardverske apstrakcije |
| IDE | Integrirano razvojno okruženje |
Motion AR midware biblioteka u X-CUBE-MEMS1 softverskoj ekspanziji
Pokret AR završenview
Motion AR biblioteka proširuje funkcionalnost softvera X-CUBE-MEMS1.
Biblioteka preuzima podatke od akcelerometra i daje informacije o vrsti aktivnosti koju korisnik obavlja.
Biblioteka je dizajnirana samo za ST MEMS. Funkcionalnost i performanse pri korištenju drugih MEMS senzora se ne analiziraju i mogu se značajno razlikovati od onoga što je opisano u dokumentu.
Sampimplementacija je dostupna na X-NUCLEO-IKS01A3 ili X-NUCLEO-IKS4A1 pločama za proširenje, montiranim na NUCLEO-F401RE, NUCLEO-L152RE ili NUCLEO-U575ZI-Q razvojnoj ploči.
Motion AR biblioteka
Tehničke informacije koje u potpunosti opisuju funkcije i parametre Motion AR API-ja mogu se naći u MotionAR_Package.chm kompajliranom HTML-u file koji se nalazi u folderu Dokumentacija.
Opis Motion AR biblioteke
- Biblioteka za prepoznavanje aktivnosti Motion AR upravlja podacima dobijenim od akcelerometra; ima:
- mogućnost razlikovanja sljedećih aktivnosti: stajanje, hodanje, brzo hodanje, trčanje, biciklizam, vožnja
- prepoznavanje samo na osnovu podataka akcelerometra
- potrebni podaci akcelerometra sampfrekvencija: 16 Hz
- zahtjevi za resursima:
- Cortex-M3: 8.5 kB koda i 1.4 kB memorije podataka
- Cortex-M33: 7.8 kB koda i 1.4 kB memorije podataka
- Cortex-M4: 7.9 kB koda i 1.4 kB memorije podataka
- Cortex-M7: 8.1 kB koda i 1.4 kB memorije podataka
- dostupno za ARM Cortex-M3, Cortex-M33, Cortex-M4 i Cortex-M7 arhitekture
MotionAR API-ji
MotionAR API-ji su:
- uint8_t MotionAR_GetLibVersion(char *verzija)
- preuzima verziju biblioteke
- *verzija je pokazivač na niz od 35 znakova
- vraća broj znakova u nizu verzije
- void MotionAR_Inicijaliziraj(void)
- vrši inicijalizaciju MotionAR biblioteke i podešavanje internog mehanizma
- CRC modul u STM32 mikrokontroleru (u registru za omogućavanje perifernog sata RCC) mora biti
omogućeno prije korištenja biblioteke
Napomena: Ova funkcija se mora pozvati prije korištenja biblioteke kalibracije akcelerometra.
- void MotionAR_Reset(void)
- resetuje algoritme za prepoznavanje aktivnosti
- void MotionAR_Update(MAR_input_t *data_in, MAR_output_t *data_out, int64_t
timestamp)- izvršava algoritam za prepoznavanje aktivnosti
- Parametar *data_in je pokazivač na strukturu sa ulaznim podacima
- parametri za tip strukture MAR_input_t su:
- acc_x je vrijednost senzora akcelerometra na X osi u g
- acc_y je vrijednost senzora akcelerometra na Y osi u g
- acc_z je vrijednost senzora akcelerometra na Z osi u g
- *data_out parametar je pokazivač na enum sa sljedećim stavkama:
- MAR_NOACTIVITY = 0
- MAR_STATIONARY = 1
- MAR_WALKING = 2
- MAR_FASTWALKING = 3
- MAR_JOGGING = 4
- MAR_BIKING = 5
- MAR_VOŽNJA = 6
- timestamp je relativno vrijeme za stvarni sample u ms
- void MotionAR_ Postavi orijentaciju_ Acc(const char *acc_ orijentacija)
- postavlja orijentaciju podataka akcelerometra
- konfiguracija se obično izvodi odmah nakon poziva funkcije Motion AR_ Initialize
- *acc_ orientation parametar je pokazivač na niz od tri znaka koji označava smjer svake od pozitivnih orijentacija referentnog okvira koji se koristi za izlaz podataka akcelerometra, u nizu x, y, z. Važeće vrijednosti su: n (sjever) ili s (jug), w (zapad) ili e (istok), u (gore) ili d (dolje)
- Kao što je prikazano na slici ispod, senzor akcelerometra X-NUCLEO-IKS4A1 ima SEU (x-jug, y-istok, z-gore), tako da je niz: “seu”.
Slika 1. Orijentacija senzora nprample

API toka char
Slika 2. Motion AR API logička sekvenca

Demo kod
Sljedeći demonstracijski kod čita podatke sa senzora akcelerometra i dobiva šifru aktivnosti
[…] #define VERSION_STR_LENG 35 […] /*** Inicijalizacija ***/ char lib_version[VERSION_STR_LENG]; char acc_orientation[] = "seu"; /* Funkcija inicijalizacije API-ja za prepoznavanje aktivnosti */ MotionAR_Initialize(); /* Opciono: Dobiti verziju */ MotionAR_GetLibVersion(lib_version); /* Postavi orijentaciju akcelerometra */ MotionAR_SetOrientation_Acc(acc_orientation); […] /*** Korišćenje algoritma za prepoznavanje aktivnosti ***/ Tajmer_ ILI_ Brzina podataka_ Interrupt_ Handler() {
MAR_input_t data_ in; MAR_ output_ t aktivnost; /* Dobiti ubrzanje X/Y/Z u g */ MEMS_Read_AccValue(&data_in.acc_x, &data_in.acc_y, &data_in.acc_z); /* Dobiti trenutno vrijeme u ms */ TIMER_Get_TimeValue(×tamp_gospođa); /* Ažuriranje algoritma za prepoznavanje aktivnosti */ MotionAR_Update(data_in, data_out, timestamp_gospođa); }
Performanse algoritma
Algoritam za prepoznavanje aktivnosti koristi samo podatke sa akcelerometra i radi na niskoj frekvenciji (16 Hz) kako bi smanjio potrošnju energije.
Tabela 2. Performanse algoritma
| Aktivnost | Vjerovatnoća detekcije (tipično)(1) | Najbolja izvedba | Osjetljiva | Nosite pozicije |
| Stacionarni | 92.27% | Držanje u ruci i teške poruke | Sve: džep na pantalonama, džep košulje, zadnji džep, kraj glave itd. | |
| Hodanje | 99.44% | Brzina koraka ≥ 1.4 korak/s | Brzina koraka ≤ 1.2 korak/s | sve |
| Brzo hodanje | 95.94% | Brzina koraka ≥ 2.0 korak/s | Sve | |
| Jogging | 98.49% | Brzina koraka ≥ 2.2 korak/s | Trajanje < 1 minuta; brzina < 8 km/h | Džep na pantalonama, zamah ruku, u ruci |
| Biciklizam | 91.93% | Brzina na otvorenom ≥11 km/h | Sjedište suvozača, pretinac za rukavice | Ruksak, džep na košulji, džep na pantalonama |
| Vožnja | 78.65% | Brzina ≥ 48 km/h | Sjedište suvozača, pretinac za rukavice | Držač za čaše, instrument tabla, džep košulje, džep na pantalonama |
- Tipične specifikacije nisu zajamčene
Tabela 3. Cortex-M4 i Cortex-M3: Algoritam proteklog vremena (µs)
| Cortex-M4 STM32F401RE na 84 MHz | Cortex-M3 STM32L152RE na 32 MHz | ||||
| Min | Avg | Max | Min | Avg | Max |
| 2 | 6 | 153 | 8 | 130 | 4883 |
Tabela 4. Cortex-M33 i Cortex-M7: algoritam proteklog vremena (μs)
| Cortex-M33 STM32U575ZI-Q na 160 MHz | Cortex-M7 STM32F767ZI na 96 MHz | ||||
| Min | Avg | Max | Min | Avg | Max |
| < 1 | 2 | 74 | 5 | 9 | 145 |
Sample application
MotionAR srednjim softverom može se lako manipulisati za pravljenje korisničkih aplikacija; asample aplikacija se nalazi u folderu Application.
Dizajniran je za rad na razvojnoj ploči NUCLEO-F401RE, NUCLEO-L152RE ili NUCLEO-U575ZI-Q spojenoj na X-NUCLEO-IKS01A3 ili X-NUCLEO-IKS4A1 ploču za proširenje.
Aplikacija prepoznaje izvršene aktivnosti u realnom vremenu. Podaci se mogu prikazati kroz GUI. Algoritam prepoznaje mirovanje, hodanje, brzo hodanje, trčanje, vožnju bicikla i aktivnosti vožnje. Za praćenje podataka u realnom vremenu potrebna je USB kablovska veza. Ploča se napaja preko računara preko USB veze. Ovo omogućava korisniku da prikaže otkrivenu aktivnost, podatke akcelerometra, vrijeme stamp i eventualno druge podatke senzora, u realnom vremenu, koristeći MEMS-Studio GUI aplikaciju.
Aplikacija MEMS-Studio
The sample aplikacija koristi MEMS-Studio GUI aplikaciju sa koje se može preuzeti www.st.com.
Korak 1. Uverite se da su instalirani potrebni drajveri i da je STM32 Nucleo ploča sa odgovarajućom pločom za proširenje povezana na računar.
Korak 2. Pokrenite aplikaciju MEMS-Studio da otvorite glavni prozor aplikacije.
Ako je STM32 Nucleo ploča sa podržanim firmverom povezana na PC, automatski se otkriva odgovarajući COM port. Pritisnite dugme Connect da otvorite ovaj port.
Slika 3. MEMS-Studio – Connect

Korak 3. Kada se poveže na STM32 Nucleo ploču s podržanim firmverom, otvara se kartica za procjenu biblioteke.
Da biste pokrenuli i zaustavili prijenos podataka, uključite odgovarajuće
start /
dugme za zaustavljanje na vanjskoj okomitoj traci s alatima.
Podaci koji dolaze od povezanog senzora mogu biti viewed odabirom kartice Tabela podataka na unutrašnjoj vertikalnoj traci sa alatkama.
Slika 4. MEMS-Studio – Evaluacija biblioteke – Tabela podataka
Slika 5. MEMS-Studio – Evaluacija biblioteke – Prepoznavanje aktivnosti

Korak 5. Odaberite Sačuvaj u File karticu na unutrašnjoj vertikalnoj traci sa alatkama da otvorite prozor za konfiguraciju evidencije podataka. Odaberite koji senzor i podatke o aktivnosti želite pohraniti u zapisnik file. Možete pokrenuti ili zaustaviti spremanje klikom na odgovarajuće dugme Start/Stop.
Slika 6. MEMS-Studio – Procjena biblioteke – Sačuvaj u File

Reference
Svi sljedeći resursi su besplatno dostupni na www.st.com.
- UM1859: Početak rada s X-CUBE-MEMS1 motion MEMS i proširenjem softvera senzora okoliša za STM32Cube
- UM1724: STM32 Nucleo-64 ploče (MB1136)
- UM3233: Početak rada s MEMS-Studio
Istorija revizija
Tabela 5. Istorija revizije dokumenta
| Datum | Verzija | Promjene |
| 10-apr-2017 | 1 | Prvo izdanje. |
| 26-jan-2018 | 2 | Ažuriran odjeljak 3 Sample application. Dodate reference na razvojnu ploču NUCLEO-L152RE i tabelu 3. Algoritam proteklog vremena (μs). |
| 19-Mar-2018 | 3 | Ažurirani uvod, odeljak 2.1 Pokret AR-a je završenview i Odjeljak 2.2.5 Performanse algoritma. |
| 14-feb-2019 | 4 | Ažurirana Slika 1. Orijentacija senzora nprample, Tabela 3. Algoritam proteklog vremena (µs) i Slika 3. STM32 Nucleo: LED diode, dugme, kratkospojnik. Dodane informacije o kompatibilnosti X-NUCLEO-IKS01A3 ploče za proširenje. |
| 20-Mar-2019 | 5 | Ažurirani odjeljak 2.2.2 Motion AR API-ji, Slika 3. MEMS-Studio – Povežite, Slika 4. MEMS-Studio – Procjena biblioteke – Tabela podataka, Slika 5. MEMS-Studio – Procjena biblioteke – Prepoznavanje aktivnosti i Slika 6. MEMS-Studio – Evaluacija biblioteke – Sačuvaj u File. |
| 04-apr-2024 | 6 | Ažuriraj Odjeljak Uvod, Odjeljak 2.1: MotionAR je završenview, Odjeljak 2.2.1: MotionAR biblioteka opis, MotionAR API-ji, Odjeljak 2.2.4: Demo kod, Odjeljak 2.2.5: Performanse algoritma, Odjeljak 3: Sample application i Odjeljak 4: Aplikacija MEMS-Studio. |
VAŽNA NAPOMENA – PAŽLJIVO PROČITAJTE
STMicroelectronics NV i njegove podružnice (“ST”) zadržavaju pravo na izmjene, ispravke, poboljšanja, modifikacije i poboljšanja ST proizvoda i/ili ovog dokumenta u bilo koje vrijeme bez prethodne najave. Kupci bi trebali dobiti najnovije relevantne informacije o ST proizvodima prije nego što daju narudžbu. ST proizvodi se prodaju u skladu sa ST-ovim odredbama i uslovima prodaje koji su na snazi u trenutku potvrde narudžbe.
Kupci su isključivo odgovorni za izbor, odabir i korištenje ST proizvoda, a ST ne preuzima nikakvu odgovornost za pomoć u primjeni ili dizajn proizvoda kupaca.
ST ovdje ne daje nikakvu licencu, izričitu ili impliciranu, za bilo koje pravo intelektualne svojine.
Preprodaja ST proizvoda sa odredbama koje se razlikuju od informacija navedenih ovde poništava svaku garanciju koju ST daje za takav proizvod.
ST i ST logo su zaštitni znakovi ST. Za dodatne informacije o ST zaštitnim znakovima, pogledajte www.st.com/trademarks. Svi ostali nazivi proizvoda ili usluga vlasništvo su njihovih vlasnika.
Informacije u ovom dokumentu zamjenjuju i zamjenjuju informacije koje su prethodno date u prethodnim verzijama ovog dokumenta.
© 2024 STMicroelectronics – Sva prava zadržana

Dokumenti / Resursi
![]() |
STMicroelectronics UM2193 MotionAR biblioteka za prepoznavanje aktivnosti [pdf] Korisnički priručnik UM2193 MotionAR Biblioteka za prepoznavanje aktivnosti, UM2193, MotionAR biblioteka za prepoznavanje aktivnosti, Biblioteka za prepoznavanje aktivnosti, Biblioteka za prepoznavanje, Biblioteka |



