STMicroelectronics UM2193 MotionAR Activity Recognition Library
Zavedení
Motion AR je součástí knihovny middlewaru softwaru X-CUBE-MEMS1 a běží na STM32. Poskytuje informace v reálném čase o typu činnosti prováděné uživatelem. Dokáže rozlišit tyto činnosti: stacionární, chůze, rychlá chůze, jogging, jízda na kole, jízda autem.
Tato knihovna je určena pouze pro práci s ST MEMS.
Algoritmus je poskytován ve formátu statické knihovny a je navržen pro použití na mikrokontrolérech STM32 založených na architektuře ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 nebo ARM® Cortex®-M7.
Je postaven na softwarové technologii STM32Cube, která usnadňuje přenositelnost mezi různými mikrokontroléry STM32.
Software je dodáván s sampImplementace běžící na rozšiřující desce X-NUCLEO-IKS01A3 nebo X-NUCLEO-IKS4A1 na vývojové desce NUCLEO-F401RE, NUCLEO-L152RE nebo NUCLEO-U575ZI-Q.
Zkratky a zkratky
Tabulka 1. Seznam zkratek
Akronym | Popis |
API | Aplikační programovací rozhraní |
BSP | Balíček podpory desky |
GUI | Grafické uživatelské rozhraní |
HAL | Vrstva abstrakce hardwaru |
IDE | Integrované vývojové prostředí |
Knihovna middlewaru Motion AR v rozšíření softwaru X-CUBE-MEMS1
Pohyb AR skončilview
Knihovna Motion AR rozšiřuje funkčnost softwaru X-CUBE-MEMS1.
Knihovna získává data z akcelerometru a poskytuje informace o typu činnosti prováděné uživatelem.
Knihovna je určena pouze pro ST MEMS. Funkčnost a výkon při použití jiných MEMS senzorů nejsou analyzovány a mohou se výrazně lišit od toho, co je popsáno v dokumentu.
SampImplementace je k dispozici na rozšiřujících deskách X-NUCLEO-IKS01A3 nebo X-NUCLEO-IKS4A1 namontovaných na vývojové desce NUCLEO-F401RE, NUCLEO-L152RE nebo NUCLEO-U575ZI-Q.
Knihovna Motion AR
Technické informace plně popisující funkce a parametry API Motion AR lze nalézt v zkompilovaném HTML kódu MotionAR_Package.chm file umístěné ve složce Dokumentace.
Popis knihovny Motion AR
- Knihovna rozpoznávání aktivity Motion AR spravuje data získaná z akcelerometru; to představuje:
- možnost rozlišit tyto aktivity: stacionární, chůze, rychlá chůze, jogging, jízda na kole, jízda autem
- rozpoznávání pouze na základě údajů akcelerometru
- požadované údaje z akcelerometru sampfrekvence: 16 Hz
- požadavky na zdroje:
- Cortex-M3: 8.5 kB kódu a 1.4 kB datové paměti
- Cortex-M33: 7.8 kB kódu a 1.4 kB datové paměti
- Cortex-M4: 7.9 kB kódu a 1.4 kB datové paměti
- Cortex-M7: 8.1 kB kódu a 1.4 kB datové paměti
- k dispozici pro architektury ARM Cortex-M3, Cortex-M33, Cortex-M4 a Cortex-M7
MotionAR API
MotionAR API jsou:
- uint8_t MotionAR_GetLibVersion(char *verze)
- načte verzi knihovny
- *verze je ukazatel na pole 35 znaků
- vrátí počet znaků v řetězci verze
- void MotionAR_Initialize(void)
- provádí inicializaci knihovny MotionAR a nastavení vnitřního mechanismu
- modul CRC v mikrokontroléru STM32 (v registru povolení periferních hodin RCC) musí být
povoleno před použitím knihovny
Poznámka: Tato funkce musí být vyvolána před použitím knihovny kalibrace akcelerometru.
- void MotionAR_Reset(void)
- resetuje algoritmy rozpoznávání aktivity
- void MotionAR_Update(MAR_input_t *data_in, MAR_output_t *data_out, int64_t
timestamp)- provádí algoritmus rozpoznávání aktivity
- Parametr *data_in je ukazatel na strukturu se vstupními daty
- parametry pro typ struktury MAR_input_t jsou:
- acc_x je hodnota senzoru akcelerometru v ose X v g
- acc_y je hodnota senzoru akcelerometru v ose Y vg
- acc_z je hodnota senzoru akcelerometru v ose Z v g
- Parametr *data_out je ukazatel na výčet s následujícími položkami:
- MAR_NOACTIVITY = 0
- MAR_STATIONARY = 1
- MAR_WALKING = 2
- MAR_FASTWALKING = 3
- MAR_JOGGING = 4
- MAR_BIKING = 5
- MAR_DRIVING = 6
- timestamp je relativní čas pro aktuální sample v ms
- void MotionAR_ Set Orientation_ Acc(const char *acc_orientation)
- nastavuje orientaci dat akcelerometru
- konfigurace se obvykle provádí ihned po volání funkce Motion AR_ Initialize
- *parametr orientace acc_ je ukazatel na řetězec tří znaků označující směr každé z kladných orientací referenčního snímku použitého pro výstup dat z akcelerometru v sekvenci x, y, z. Platné hodnoty jsou: n (sever) nebo s (jih), w (západ) nebo e (východ), u (nahoru) nebo d (dolů)
- Jak je znázorněno na obrázku níže, senzor akcelerometru X-NUCLEO-IKS4A1 má SEU (x-South, y- East, z-Up), takže řetězec je: „seu“.
Obrázek 1. Orientace snímače napřample
API flow char
Obrázek 2. Logická sekvence Motion AR API
Demo kód
Následující demonstrační kód čte data ze senzoru akcelerometru a získává kód aktivity
[…] #define VERSION_STR_LENG 35 […] /*** Inicializace ***/ char lib_version[VERSION_STR_LENG]; char acc_orientation[] = "seu"; /* Inicializační funkce API rozpoznávání aktivit */ MotionAR_Initialize(); /* Volitelné: Získat verzi */ MotionAR_GetLibVersion(lib_version); /* Nastaví orientaci akcelerometru */ MotionAR_SetOrientation_Acc(acc_orientation); […] /*** Použití algoritmu rozpoznávání aktivity ***/ Timer_ OR_ Data Rate_ Interrupt_ Handler() {
MAR_input_t data_ in; MAR_ output_ t aktivita; /* Získání zrychlení X/Y/Z v g */ MEMS_Read_AccValue(&data_in.acc_x, &data_in.acc_y, &data_in.acc_z); /* Získání aktuálního času v ms */ TIMER_Get_TimeValue(×tamp_slečna); /* Aktualizace algoritmu rozpoznávání aktivity */ MotionAR_Update(data_in, data_out, timestamp_slečna); }
Výkon algoritmu
Algoritmus rozpoznávání aktivity používá pouze data z akcelerometru a běží na nízké frekvenci (16 Hz), aby se snížila spotřeba energie.
Tabulka 2. Výkon algoritmu
Aktivita | Pravděpodobnost detekce (typická)(1) | Nejlepší výkon | Citlivý | Přenášejte pozice |
Stacionární | 92.27 % | Držení v ruce a těžké textové zprávy | Vše: kapsa u kalhot, kapsa u košile, zadní kapsa, u hlavy atd. | |
Chůze | 99.44 % | Kroková rychlost ≥ 1.4 kroku/s | Kroková rychlost ≤ 1.2 kroku/s | vše |
Rychlá chůze | 95.94 % | Kroková rychlost ≥ 2.0 kroku/s | Vše | |
Běhání | 98.49 % | Kroková rychlost ≥ 2.2 kroku/s | Doba trvání < 1 minuta; rychlost < 8 km/h | Kapsa u kalhot, švih paže, v ruce |
Jízda na kole | 91.93 % | Venkovní rychlost ≥11 Km/h | Sedadlo spolujezdce, odkládací schránka | Batoh, kapsa na košili, kapsa na kalhoty |
Řízení | 78.65 % | Rychlost ≥ 48 Km/h | Sedadlo spolujezdce, odkládací schránka | Držák na pohár, palubní deska, kapsa na košili, kapsa na kalhoty |
- Typické specifikace nejsou zaručeny
Tabulka 3. Cortex-M4 a Cortex-M3: Algoritmus uplynulého času (µs)
Cortex-M4 STM32F401RE na 84 MHz | Cortex-M3 STM32L152RE na 32 MHz | ||||
Min | Prům | Max | Min | Prům | Max |
2 | 6 | 153 | 8 | 130 | 4883 |
Tabulka 4. Cortex-M33 a Cortex-M7: Algoritmus uplynulého času (μs)
Cortex-M33 STM32U575ZI-Q na 160 MHz | Cortex-M7 STM32F767ZI na 96 MHz | ||||
Min | Prům | Max | Min | Prům | Max |
< 1 | 2 | 74 | 5 | 9 | 145 |
Sample aplikace
Middleware MotionAR lze snadno manipulovat za účelem vytváření uživatelských aplikací; tak jakoampaplikace je k dispozici ve složce Aplikace.
Je navržen pro provoz na vývojové desce NUCLEO-F401RE, NUCLEO-L152RE nebo NUCLEO-U575ZI-Q připojené k rozšiřující desce X-NUCLEO-IKS01A3 nebo X-NUCLEO-IKS4A1.
Aplikace rozpoznává prováděné činnosti v reálném čase. Data lze zobrazit pomocí GUI. Algoritmus rozpozná stacionární, chůzi, rychlou chůzi, jogging, jízdu na kole a řízení. Pro sledování dat v reálném čase je vyžadováno připojení USB kabelem. Deska je napájena z PC přes USB připojení. To umožňuje uživateli zobrazit detekovanou aktivitu, data akcelerometru, čas stamp a případně další data ze senzorů v reálném čase pomocí GUI aplikace MEMS-Studio.
Aplikace MEMS-Studio
SampTato aplikace používá GUI aplikaci MEMS-Studio, kterou lze stáhnout www.st.com.
Krok 1. Ujistěte se, že jsou nainstalovány potřebné ovladače a že je k PC připojena deska STM32 Nucleo s příslušnou rozšiřující deskou.
Krok 2. Spuštěním aplikace MEMS-Studio otevřete hlavní okno aplikace.
Pokud je k PC připojena deska STM32 Nucleo s podporovaným firmwarem, je automaticky detekován příslušný COM port. Stisknutím tlačítka Connect otevřete tento port.
Obrázek 3. MEMS-Studio – Connect
Krok 3. Po připojení k desce STM32 Nucleo s podporovaným firmwarem se otevře záložka Library Evaluation.
Chcete-li spustit a zastavit streamování dat, přepněte příslušné Start /
tlačítko stop na vnější svislé nástrojové liště.
Data pocházející z připojeného senzoru mohou být viewed výběrem karty Tabulka dat na vnitřním svislém panelu nástrojů.
Obrázek 4. MEMS-Studio – Vyhodnocení knihovny – Tabulka dat
Obrázek 5. MEMS-Studio – Hodnocení knihovny – Rozpoznávání aktivit
Krok 5. Vyberte Uložit do File na vnitřní svislé nástrojové liště otevřete okno konfigurace protokolování dat. Vyberte, který senzor a údaje o aktivitě chcete uložit do protokolu file. Ukládání můžete spustit nebo zastavit kliknutím na příslušné tlačítko Start / Stop.
Obrázek 6. MEMS-Studio – Vyhodnocení knihovny – Uložit do File
Reference
Všechny následující zdroje jsou volně dostupné na www.st.com.
- UM1859: Začínáme s rozšířením softwaru X-CUBE-MEMS1 motion MEMS a senzoru prostředí pro STM32Cube
- UM1724: Desky STM32 Nucleo-64 (MB1136)
- UM3233: Začínáme s MEMS-Studio
Historie revizí
Tabulka 5. Historie revizí dokumentu
Datum | Verze | Změny |
10-dub-2017 | 1 | Počáteční vydání. |
26. ledna 2018 | 2 | Aktualizován oddíl 3 Sample aplikace. Přidány odkazy na vývojovou desku NUCLEO-L152RE a tabulku 3. Algoritmus uplynulého času (μs). |
19-března-2018 | 3 | Aktualizovaný úvod, část 2.1 Pohyb AR přesview a Část 2.2.5 Výkon algoritmu. |
14. února 2019 | 4 | Aktualizovaný obrázek 1. Orientace snímače example, Tabulka 3. Algoritmus uplynulého času (µs) a Obrázek 3. STM32 Nucleo: LED diody, tlačítko, propojka. Přidány informace o kompatibilitě rozšiřující desky X-NUCLEO-IKS01A3. |
20-března-2019 | 5 | Aktualizovaná část 2.2.2 Motion AR API, Obrázek 3. MEMS-Studio – Connect, Obrázek 4. MEMS-Studio – Vyhodnocení knihovny – Tabulka dat, Obrázek 5. MEMS-Studio – Vyhodnocení knihovny – Rozpoznávání aktivity a Obrázek 6. MEMS-Studio – Hodnocení knihovny – Uložit do File. |
04-dub-2024 | 6 | Aktualizovat Sekce Úvod, Sekce 2.1: Konec MotionARview, Část 2.2.1: Knihovna MotionAR popis, MotionAR API, Část 2.2.4: Demo kód, Část 2.2.5: Výkon algoritmu, Část 3: Sample aplikace a Část 4: Aplikace MEMS-Studio. |
DŮLEŽITÉ UPOZORNĚNÍ – ČTĚTE POZORNĚ
STMicroelectronics NV a její dceřiné společnosti (“ST”) si vyhrazují právo provádět změny, opravy, vylepšení, úpravy a vylepšení produktů ST a/nebo tohoto dokumentu kdykoli bez upozornění. Kupující by měli před zadáním objednávky získat nejnovější relevantní informace o produktech ST. Produkty ST jsou prodávány v souladu s prodejními podmínkami ST platnými v době potvrzení objednávky.
Kupující jsou výhradně odpovědní za výběr, výběr a použití produktů ST a ST nepřebírá žádnou odpovědnost za pomoc s aplikací nebo design produktů kupujících.
Společnost ST zde neuděluje žádnou výslovnou ani předpokládanou licenci k právu duševního vlastnictví.
Další prodej produktů ST s ustanoveními odlišnými od informací uvedených v tomto dokumentu ruší jakoukoli záruku poskytnutou společností ST na takový produkt.
ST a logo ST jsou ochranné známky společnosti ST. Další informace o ochranných známkách ST viz www.st.com/trademarks. Všechny ostatní názvy produktů nebo služeb jsou majetkem jejich příslušných vlastníků.
Informace v tomto dokumentu nahrazují a nahrazují informace dříve uvedené v předchozích verzích tohoto dokumentu.
© 2024 STMicroelectronics – Všechna práva vyhrazena
Dokumenty / zdroje
![]() |
STMicroelectronics UM2193 MotionAR Activity Recognition Library [pdfUživatelská příručka UM2193 MotionAR Activity Recognition Library, UM2193, MotionAR Activity Recognition Library, Activity Recognition Library, Recognition Library, Library |