STMicroelectronics UM2193 MotionAR tegevuse tuvastamise raamatukogu
Sissejuhatus
Motion AR on X-CUBE-MEMS1 tarkvara vahevara raamatukogu osa ja töötab STM32-s. See annab reaalajas teavet kasutaja sooritatud tegevuse tüübi kohta. See suudab eristada järgmisi tegevusi: seismine, kõndimine, kiire kõndimine, sörkimine, jalgrattasõit, autosõit.
See teek on mõeldud töötama ainult ST MEMS-iga.
Algoritm on staatilise teegi vormingus ja mõeldud kasutamiseks STM32 mikrokontrolleritel, mis põhinevad ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 või ARM® Cortex®-M7 arhitektuuril.
See on üles ehitatud STM32Cube'i tarkvaratehnoloogiale, mis hõlbustab kaasaskantavust erinevate STM32 mikrokontrollerite vahel.
Tarkvaraga on kaasas sample rakendamine, mis töötab X-NUCLEO-IKS01A3 või X-NUCLEO-IKS4A1 laiendusplaadil NUCLEO-F401RE, NUCLEO-L152RE või NUCLEO-U575ZI-Q arendusplaadil.
Akronüümid ja lühendid
Tabel 1. Akronüümide loend
Akronüüm | Kirjeldus |
API | Rakenduse programmeerimisliides |
BSP | Juhatuse tugipakett |
GUI | Graafiline kasutajaliides |
HAL | Riistvara abstraktsioonikiht |
IDE | Integreeritud arenduskeskkond |
Motion AR vahevara raamatukogu X-CUBE-MEMS1 tarkvaralaienduses
Motion AR läbiview
Motion AR teek laiendab X-CUBE-MEMS1 tarkvara funktsionaalsust.
Raamatukogu hangib andmeid kiirendusmõõturilt ja annab infot kasutaja sooritatud tegevuse liigi kohta.
Teek on mõeldud ainult ST MEMS-i jaoks. Funktsionaalsust ja jõudlust teiste MEMS-andurite kasutamisel ei analüüsita ning need võivad dokumendis kirjeldatust oluliselt erineda.
Sample rakendamine on saadaval X-NUCLEO-IKS01A3 või X-NUCLEO-IKS4A1 laiendusplaatidel, mis on paigaldatud NUCLEO-F401RE, NUCLEO-L152RE või NUCLEO-U575ZI-Q arendusplaadile.
Motion AR raamatukogu
Motion AR API-de funktsioone ja parameetreid täielikult kirjeldava tehnilise teabe leiate MotionAR_Package.chm koostatud HTML-ist file asub kaustas Dokumentatsioon.
Motion AR teegi kirjeldus
- Motion AR tegevuse tuvastamise teek haldab kiirendusmõõturilt kogutud andmeid; sellel on:
- võimalus eristada järgmisi tegevusi: paigalseis, kõndimine, kiire kõndimine, sörkimine, jalgrattasõit, autosõit
- tuvastamine ainult kiirendusmõõturi andmetel
- nõutavad kiirendusmõõturi andmed samplingi sagedus: 16 Hz
- nõuded ressurssidele:
- Cortex-M3: 8.5 kB koodi ja 1.4 kB andmemälu
- Cortex-M33: 7.8 kB koodi ja 1.4 kB andmemälu
- Cortex-M4: 7.9 kB koodi ja 1.4 kB andmemälu
- Cortex-M7: 8.1 kB koodi ja 1.4 kB andmemälu
- saadaval ARM Cortex-M3, Cortex-M33, Cortex-M4 ja Cortex-M7 arhitektuuridele
MotionAR API-d
MotionAR API-d on:
- uint8_t MotionAR_GetLibVersion(char *version)
- hangib teegi versiooni
- *versioon on kursor 35 märgist koosnevale massiivile
- tagastab märkide arvu versioonistringis
- void MotionAR_Initialize(void)
- teostab MotionAR-i teegi lähtestamise ja sisemise mehhanismi seadistamise
- CRC moodul STM32 mikrokontrolleris (RCC välisseadmete kella lubamise registris) peab olema
enne teegi kasutamist lubatud
Märkus. See funktsioon tuleb enne kiirendusmõõturi kalibreerimisteegi kasutamist välja kutsuda.
- void MotionAR_Reset(void)
- lähtestab tegevuse tuvastamise algoritmid
- void MotionAR_Update(MAR_input_t *data_in, MAR_output_t *data_out, int64_t
kordaamp)- käivitab tegevuse tuvastamise algoritmi
- *data_in parameeter on kursor sisendandmetega struktuurile
- struktuuritüübi MAR_input_t parameetrid on järgmised:
- acc_x on kiirendusmõõturi anduri väärtus X-teljel grammides
- acc_y on kiirendusmõõturi anduri väärtus Y-teljel grammides
- acc_z on kiirendusmõõturi anduri väärtus Z-teljel grammides
- *data_out parameeter on kursor järgmiste üksuste loendisse:
- MAR_NOAKTIIVSUS = 0
- MAR_STATIONARY = 1
- MAR_KÕNDIMINE = 2
- MAR_KIIRKÕNNI = 3
- MAR_JOGING = 4
- MAR_RATTAMINE = 5
- MAR_SÕIT = 6
- kordaamp on tegeliku s suhteline aegample ms
- void MotionAR_ Set Orientation_ Acc (const char *acc_ orientation)
- määrab kiirendusmõõturi andmete orientatsiooni
- konfigureerimine tehakse tavaliselt kohe pärast funktsiooni Motion AR_ Initialize kutsumist
- *acc_ orientation parameeter on kursor kolmest märgist koosnevale stringile, mis näitab kiirendusmõõturi andmete väljastamiseks kasutatava võrdlusraami iga positiivse orientatsiooni suunda järjestuses x, y, z. Kehtivad väärtused on: n (põhja) või s (lõuna), w (lääne) või e (ida), u (üles) või d (alla)
- Nagu on näidatud alloleval joonisel, on kiirendusmõõturi X-NUCLEO-IKS4A1 anduril SEU (x-South, y- East, z-Up), seega on string: "seu".
Joonis 1. Anduri orientatsioon ntample
API voo char
Joonis 2. Motion AR API loogikajada
Demo kood
Järgmine demonstratsioonikood loeb andmeid kiirendusmõõturi andurilt ja hangib tegevuskoodi
[…] #define VERSION_STR_LENG 35 […] /*** Initsialiseerimine ***/ char lib_version[VERSION_STR_LENG]; char acc_orientation[] = "seu"; /* Tegevuse tuvastamise API lähtestamisfunktsioon */ MotionAR_Initialize(); /* Valikuline: hankige versioon */ MotionAR_GetLibVersion(lib_version); /* Kiirendusmõõturi orientatsiooni määramine */ MotionAR_SetOrientation_Acc(acc_orientation); […] /*** Kasutades tegevuse tuvastamise algoritmi ***/ Taimer_ VÕI_ Andmekiirus_ Katkestus_ Handler() {
MAR_input_t data_ in; MAR_ väljund_ t tegevus; /* Hangi kiirendus X/Y/Z g-s */ MEMS_Read_AccValue(&data_in.acc_x, &data_in.acc_y, &data_in.acc_z); /* Hankige praegune kellaaeg ms-des */ TIMER_Get_TimeValue(×tamp_Prl); /* Tegevuse tuvastamise algoritmi värskendus */ MotionAR_Update(data_in, data_out, timestamp_Prl); }
Algoritmi jõudlus
Tegevuse tuvastamise algoritm kasutab ainult kiirendusmõõturi andmeid ja töötab madalal sagedusel (16 Hz), et vähendada energiatarbimist.
Tabel 2. Algoritmi jõudlus
Tegevus | Avastamise tõenäosus (tavaline)(1) | Parim esitus | Vastuvõtlik | Kandke positsioone |
Statsionaarne | 92.27% | Käes hoidmine ja raske sõnumite saatmine | Kõik: püksitasku, särgi tasku, tagatasku, pea lähedal jne. | |
Jalutamine | 99.44% | Sammukiirus ≥ 1.4 sammu/s | Sammukiirus ≤ 1.2 sammu/s | kõik |
Kiire kõndimine | 95.94% | Sammukiirus ≥ 2.0 sammu/s | Kõik | |
Jooksmine | 98.49% | Sammukiirus ≥ 2.2 sammu/s | Kestus < 1 minut; kiirus < 8 km/h | Pükstasku, käevõru, käes |
Jalgrattasõit | 91.93% | Väliskiirus ≥11 Km/h | Kaassõitja iste, kindalaekas | Seljakott, särgi tasku, püksitasku |
Sõitmine | 78.65% | Kiirus ≥ 48 Km/h | Kaassõitja iste, kindalaekas | Tassihoidja, armatuurlaud, särgi tasku, püksitasku |
- Tüüpilised spetsifikatsioonid ei ole garanteeritud
Tabel 3. Cortex-M4 ja Cortex-M3: kulunud aja (µs) algoritm
Cortex-M4 STM32F401RE sagedusel 84 MHz | Cortex-M3 STM32L152RE sagedusel 32 MHz | ||||
Min | Keskm | Max | Min | Keskm | Max |
2 | 6 | 153 | 8 | 130 | 4883 |
Tabel 4. Cortex-M33 ja Cortex-M7: kulunud aja (μs) algoritm
Cortex-M33 STM32U575ZI-Q sagedusel 160 MHz | Cortex-M7 STM32F767ZI sagedusel 96 MHz | ||||
Min | Keskm | Max | Min | Keskm | Max |
< 1 | 2 | 74 | 5 | 9 | 145 |
Sample rakendus
MotionAR vahevara saab kasutajarakenduste loomiseks hõlpsasti manipuleerida; naguampRakendus on kaustas Rakendus.
See on mõeldud töötama arendusplaadil NUCLEO-F401RE, NUCLEO-L152RE või NUCLEO-U575ZI-Q, mis on ühendatud X-NUCLEO-IKS01A3 või X-NUCLEO-IKS4A1 laiendusplaadiga.
Rakendus tuvastab tehtud tegevused reaalajas. Andmeid saab kuvada GUI kaudu. Algoritm tunneb ära paigalseisu, kõndimise, kiire kõndimise, sörkimise, rattasõidu ja sõidutegevuse. Reaalajas andmete jälgimiseks on vaja USB-kaabli ühendust. Tahvel saab toite arvutist USB-ühenduse kaudu. See võimaldab kasutajal kuvada tuvastatud tegevust, kiirendusmõõturi andmeid, aega stamp ja lõpuks ka muud andurite andmed reaalajas, kasutades MEMS-Studio GUI rakendust.
MEMS-Studio rakendus
Sample rakendus kasutab MEMS-Studio GUI rakendust, mille saab alla laadida www.st.com.
1. samm. Veenduge, et vajalikud draiverid on installitud ja STM32 Nucleo plaat koos sobiva laiendusplaadiga on arvutiga ühendatud.
2. samm. Rakenduse peaakna avamiseks käivitage rakendus MEMS-Studio.
Kui arvutiga on ühendatud toetatud püsivaraga STM32 Nucleo plaat, tuvastatakse sellele automaatselt sobiv COM-port. Selle pordi avamiseks vajutage nuppu Ühenda.
Joonis 3. MEMS-Studio – Ühenda
3. samm. Toetatud püsivaraga STM32 Nucleo plaadiga ühendamisel avaneb vahekaart Library Evaluation.
Andmete voogesituse alustamiseks ja peatamiseks lülitage sobiv alusta /
välimise vertikaalse tööriistariba stoppnupp.
Ühendatud andurilt tulevad andmed võivad olla viewed valides sisemisel vertikaalsel tööriistaribal vahekaardi Andmetabel.
Joonis 4. MEMS-Studio – raamatukogu hindamine – andmetabel
Joonis 5. MEMS-Stuudio – Raamatukogu hindamine – Tegevuse tunnustamine
5. samm. Valige Salvesta File sisemise vertikaalse tööriistariba vahekaarti, et avada andmete logimise konfiguratsiooniaken. Valige, millised anduri ja tegevuse andmed logimiseks salvestada file. Saate salvestamist alustada või peatada, klõpsates vastavat nuppu Start / Stop.
Joonis 6. MEMS-Studio – Library Evaluation – Save to File
Viited
Kõik järgmised ressursid on saidil tasuta saadaval www.st.com.
- UM1859: X-CUBE-MEMS1 liikumis-MEMS-i ja keskkonnaanduri tarkvara laiendusega alustamine STM32Cube'i jaoks
- UM1724: STM32 Nucleo-64 plaadid (MB1136)
- UM3233: MEMS-Studioga alustamine
Läbivaatamise ajalugu
Tabel 5. Dokumendi redaktsioonide ajalugu
Kuupäev | Versioon | Muudatused |
10-aprill-2017 | 1 | Esialgne vabastamine. |
26. jaanuar 2018 | 2 | Uuendatud jaotis 3 Sample rakendus. Lisatud viited NUCLEO-L152RE arendusplaadile ja tabel 3. Kulunud aja (μs) algoritm. |
19. märts 2018 | 3 | Värskendatud sissejuhatus, jaotis 2.1 Motion AR on lõppenudview ja jaotis 2.2.5 Algoritmi jõudlus. |
14. veebruar 2019 | 4 | Uuendatud Joonis 1. Anduri orientatsioon ntample, Tabel 3. Kulunud aja (µs) algoritm ja joonis 3. STM32 Nucleo: LEDid, nupp, hüppaja. Lisatud X-NUCLEO-IKS01A3 laiendusplaadi ühilduvuse teave. |
20. märts 2019 | 5 | Uuendatud jaotis 2.2.2 Motion AR API-d, joonis 3. MEMS-Studio – Connect, Joonis 4. MEMS-Studio – Library Evaluation – Data Table, Joonis 5. MEMS-Studio – Library Evaluation – Activity Recognition ja Joonis 6. MEMS-Studio – Raamatukogu hindamine – Salvesta asukohta File. |
04-aprill-2024 | 6 | Värskenda Jao sissejuhatus, Jaotis 2.1: MotionAR on läbiview, Jaotis 2.2.1: MotionARi teek kirjeldus, MotionAR API-d, Jaotis 2.2.4: Demokood, Jaotis 2.2.5: Algoritmi jõudlus, 3. jaotis: Sample rakendus ja 4. jaotis: MEMS-Studio rakendus. |
TÄHTIS MÄRKUS – LUGEGE HOOLIKAS
STMicroelectronics NV ja selle tütarettevõtted („ST”) jätavad endale õiguse teha ST-toodetes ja/või selles dokumendis igal ajal ilma ette teatamata muudatusi, parandusi, täiendusi, modifikatsioone ja täiendusi. Ostjad peaksid enne tellimuste esitamist hankima uusima asjakohase teabe ST-toodete kohta. ST tooteid müüakse vastavalt ST müügitingimustele, mis kehtisid tellimuse kinnitamise ajal.
Ostjad vastutavad ainuisikuliselt ST-toodete valiku, valiku ja kasutamise eest ning ST ei vastuta rakendusabi ega ostjate toodete disaini eest.
ST ei anna siinkohal mingit otsest ega kaudset litsentsi ühelegi intellektuaalomandi õigusele.
ST-toodete edasimüük, mille sätted erinevad siin esitatud teabest, tühistab ST-i antud tootele antud garantii.
ST ja ST logo on ST kaubamärgid. ST-kaubamärkide kohta lisateabe saamiseks vaadake www.st.com/trademarks. Kõik muud toote- või teenusenimed kuuluvad nende vastavatele omanikele.
Selles dokumendis sisalduv teave asendab ja asendab selle dokumendi varasemates versioonides esitatud teabe.
© 2024 STMicroelectronics – kõik õigused kaitstud
Dokumendid / Ressursid
![]() |
STMicroelectronics UM2193 MotionAR tegevuse tuvastamise raamatukogu [pdfKasutusjuhend UM2193 MotionAR-i tegevuse tuvastamise teek, UM2193, MotionAR-i tegevuse tuvastamise teek, tegevuse tuvastamise teek, äratundmisteek, raamatukogu |