STMicroelectronics UM2193 MotionAR tegevuse tuvastamise raamatukogu

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

MotionAR vahevara raamatukogu X-CUBE-MEMS1 tarkvaralaienduses

API voo char

Joonis 2. Motion AR API loogikajada

MotionAR vahevara raamatukogu X-CUBE-MEMS1 tarkvaralaienduses

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

MEMS-Studio rakendus

3. samm. Toetatud püsivaraga STM32 Nucleo plaadiga ühendamisel avaneb vahekaart Library Evaluation.

Andmete voogesituse alustamiseks ja peatamiseks lülitage sobiv Ikoon alusta / Ikoon 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

MEMS-Studio rakendus

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

MEMS-Studio rakendus

Viited

Kõik järgmised ressursid on saidil tasuta saadaval www.st.com.

  1. UM1859: X-CUBE-MEMS1 liikumis-MEMS-i ja keskkonnaanduri tarkvara laiendusega alustamine STM32Cube'i jaoks
  2. UM1724: STM32 Nucleo-64 plaadid (MB1136)
  3. 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

Logo

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

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *