STMicroelectronics UM2193 MotionAR Activity Recognition Library

STMicroelectronics UM2193 MotionAR Activity Recognition Library

Pasiuna

Ang Motion AR usa ka middleware library nga bahin sa X-CUBE-MEMS1 software ug nagdagan sa STM32. Naghatag kini og real-time nga impormasyon sa matang sa kalihokan nga gihimo sa user. Makahimo kini sa pag-ila sa mosunod nga mga kalihokan: walay hunong, paglakaw, paspas nga paglakaw, pag-jogging, pagbisikleta, pagdrayb.

Kini nga librarya gituyo sa pagtrabaho uban sa ST MEMS lamang.

Ang algorithm gihatag sa static nga format sa librarya ug gidisenyo nga gamiton sa STM32 microcontrollers base sa ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 o ARM® Cortex®-M7 nga arkitektura.

Gitukod kini sa ibabaw sa teknolohiya sa software sa STM32Cube nga nagpadali sa pagdala sa lainlaing mga microcontroller sa STM32.

Ang software adunay sampAng pagpatuman nga nagdagan sa usa ka X-NUCLEO-IKS01A3 o X-NUCLEO-IKS4A1 expansion board sa usa ka NUCLEO-F401RE, NUCLEO-L152RE o NUCLEO-U575ZI-Q development board.

Mga acronym ug abbreviation

Talaan 1. Listahan sa mga acronym

Acronym Deskripsyon
API Application programming interface
BSP Pakete sa suporta sa board
GUI Graphical nga user interface
HAL Hardware abstraction layer
IDE Integrated development environment

Motion AR middleware library sa X-CUBE-MEMS1 nga pagpalapad sa software

Nahuman ang motion ARview

Ang Motion AR library nagpalapad sa pagpaandar sa X-CUBE-MEMS1 software.
Nakuha sa librarya ang datos gikan sa accelerometer ug naghatag kasayuran sa klase sa kalihokan nga gihimo sa tiggamit.

Ang librarya gidisenyo alang sa ST MEMS lamang. Ang pag-andar ug pasundayag kung gigamit ang ubang mga sensor sa MEMS wala gisusi ug mahimong lahi kaayo sa gihulagway sa dokumento.
SampAng pagpatuman anaa sa X-NUCLEO-IKS01A3 o X-NUCLEO-IKS4A1 expansion boards, nga gitaod sa NUCLEO-F401RE, NUCLEO-L152RE o NUCLEO-U575ZI-Q development board.

librarya sa Motion AR

Ang teknikal nga impormasyon nga hingpit nga naghulagway sa mga gimbuhaton ug mga parameter sa Motion AR APIs makita sa MotionAR_Package.chm compiled HTML file nahimutang sa folder sa Dokumentasyon.

Deskripsyon sa librarya sa Motion AR

  • Ang Motion AR activity recognition library nagdumala sa datos nga nakuha gikan sa accelerometer; kini adunay:
  • posibilidad sa pag-ila sa mosunod nga mga kalihokan: stationary, paglakaw, paspas nga paglakaw, jogging, biking, pagdrayb
  • pag-ila base sa accelerometer data lamang
  • gikinahanglan nga accelerometer data sampling frequency: 16 Hz
  • kinahanglanon sa mga kapanguhaan:
    • Cortex-M3: 8.5 kB sa code ug 1.4 kB sa data memory
    • Cortex-M33: 7.8 kB sa code ug 1.4 kB sa data memory
    • Cortex-M4: 7.9 kB sa code ug 1.4 kB sa data memory
    • Cortex-M7: 8.1 kB sa code ug 1.4 kB sa data memory
  • magamit alang sa ARM Cortex-M3, Cortex-M33, Cortex-M4 ug Cortex-M7 nga mga arkitektura

Mga MotionAR API

Ang MotionAR API mao ang:

  • uint8_t MotionAR_GetLibVersion(char *bersyon)
    • Gikuha ang bersyon sa librarya
    • *bersyon kay pointer sa han-ay sa 35 ka karakter
    • ibalik ang gidaghanon sa mga karakter sa bersyon nga string
  • void MotionAR_Initialize(walay)
    • naghimo sa MotionAR library initialization ug setup sa internal nga mekanismo
    • ang CRC module sa STM32 microcontroller (sa RCC peripheral clock enable register) kinahanglan nga
      gi-enable sa dili pa gamiton ang library
      Mubo nga sulat: Kini nga function kinahanglan nga tawagan sa dili pa gamiton ang accelerometer calibration library.
  • void MotionAR_Reset(walay)
    • gi-reset ang mga algorithm sa pag-ila sa kalihokan
  • void MotionAR_Update(MAR_input_t *data_in, MAR_output_t *data_out, int64_t
    panahonamp)
    • nagpatuman sa algorithm sa pag-ila sa kalihokan
    • *data_in parameter kay pointer sa usa ka structure nga naay input data
    • ang mga parametro alang sa istruktura nga tipo MAR_input_t mao ang:
      • acc_x mao ang accelerometer sensor bili sa X axis sa g
      • acc_y mao ang accelerometer sensor bili sa Y axis sa g
      • acc_z mao ang accelerometer sensor bili sa Z axis sa g
    • *data_out parameter kay usa ka pointer sa enum uban sa mosunod nga mga butang:
      • MAR_NOACTIVITY = 0
      • MAR_STATIONARY = 1
      • MAR_WALKING = 2
      • MAR_FASTWALKING = 3
      • MAR_JOGGING = 4
      • MAR_BIKING = 5
      • MAR_DRIVING = 6
    • panahonamp kay relatibong panahon para sa aktuwal nga sampsa ms
  • void MotionAR_ Set Orientation_ Acc(const char *acc_ orientation)
    • nagtakda sa accelerometer data orientation
    • Ang configuration kasagarang gihimo dayon human sa Motion AR_ Initialize function call
    • *acc_ orientation parameter kay usa ka pointer sa usa ka string sa tulo ka karakter nga nagpaila sa direksyon sa matag usa sa positibong oryentasyon sa reference frame nga gigamit para sa accelerometer data output, sa sequence x, y, z. Ang balido nga mga kantidad mao ang: n (amihanan) o s (habagatan), w (kasadpan) o e (silangan), u (pataas) o d (ubos)
    • Sama sa gipakita sa hulagway sa ubos, ang X-NUCLEO-IKS4A1 accelerometer sensor adunay SEU (x-South, y- East, z-Up), mao nga ang string mao ang: "seu".

Figure 1. orientation sa sensor example

MotionAR middleware library sa X-CUBE-MEMS1 nga pagpalapad sa software

API flow char

Figure 2. Motion AR API logic sequence

MotionAR middleware library sa X-CUBE-MEMS1 nga pagpalapad sa software

Demo code

Ang mosunod nga demonstration code nagbasa sa datos gikan sa accelerometer sensor ug nagkuha sa activity code

[…] #define VERSION_STR_LENG 35 […] /*** Initialization ***/ char lib_version[VERSION_STR_LENG]; char acc_orientation[] = "seu"; /* Activity recognition API initialization function */ MotionAR_Initialize(); /* Opsyonal: Pagkuha ug bersyon */ MotionAR_GetLibVersion(lib_version); /* Set accelerometer orientation */ MotionAR_SetOrientation_Acc(acc_orientation); [...] /*** Gamit ang algorithm sa pag-ila sa kalihokan ***/ Timer_ O_ Data Rate_ Interrupt_ Handler() {
MAR_input_t data_ sa; MAR_ output_ t kalihokan; /* Pagkuha ug pagpatulin X/Y/Z sa g */ MEMS_Read_AccValue(&data_in.acc_x, &data_in.acc_y, &data_in.acc_z); /* Kuhaa ang kasamtangan nga oras sa ms */ TIMER_Get_TimeValue(×tamp_ms); /* Pag-update sa algorithm sa pag-ila sa kalihokan */ MotionAR_Update(data_in, data_out, timestamp_ms); }

Pagganap sa algorithm

Ang algorithm sa pag-ila sa kalihokan naggamit lamang sa datos gikan sa accelerometer ug nagdagan sa ubos nga frequency (16 Hz) aron makunhuran ang konsumo sa kuryente.

Talaan 2. Algorithm performance

Kalihokan Lagmit sa pagkakita (kasagaran)(1) Labing maayo nga performance Delikado Pagdala og mga posisyon
Nagpadayon 92.27% Nagkupot sa kamot ug bug-at nga text Tanan: bulsa sa pantalon, bulsa sa kamiseta, bulsa sa likod, duol sa ulo, etc.
Paglakaw 99.44% Lakang rate ≥ 1.4 lakang/s Lakang rate ≤ 1.2 lakang/s tanan
Paspas nga paglakaw 95.94% Lakang rate ≥ 2.0 lakang/s Tanan
Pag-jogging 98.49% Lakang rate ≥ 2.2 lakang/s Gidugayon < 1 ka minuto; gikusgon < 8 Km/h Ang bulsa sa karsones, pag-uyog sa bukton, sa kamot
Nagbisikleta 91.93% Katulin sa gawas ≥11 Km/h Lingkoanan sa pasahero, kompartamento sa gwantis Backpack, bulsa sa kamiseta, bulsa sa karsones
Pagdrayb 78.65% Katulin ≥ 48 Km/h Lingkoanan sa pasahero, kompartamento sa gwantis Cup holder, dash board, bulsa sa kamiseta, bulsa sa karsones
  1. Ang kasagaran nga mga detalye dili garantiya

Talaan 3. Cortex-M4 ug Cortex-M3: Algoritmo sa elapsed time (µs). 

Cortex-M4 STM32F401RE sa 84 MHz Cortex-M3 STM32L152RE sa 32 MHz
Min Avg Max Min Avg Max
2 6 153 8 130 4883

Talaan 4. Cortex-M33 ug Cortex-M7: elapsed time (μs) algorithm 

Cortex-M33 STM32U575ZI-Q sa 160 MHz Cortex-M7 STM32F767ZI sa 96 MHz
Min Avg Max Min Avg Max
< 1 2 74 5 9 145

Sampang aplikasyon

Ang MotionAR middleware mahimong dali nga mamaniobra sa paghimo og mga aplikasyon sa user; ingonampAng aplikasyon gihatag sa folder sa Application.
Gidisenyo kini nga modagan sa NUCLEO-F401RE, NUCLEO-L152RE o NUCLEO-U575ZI-Q development board nga konektado sa X-NUCLEO-IKS01A3 o X-NUCLEO-IKS4A1 expansion board.

Giila sa aplikasyon ang nahimo nga mga kalihokan sa tinuud nga oras. Ang datos mahimong ipakita pinaagi sa GUI. Giila sa algorithm ang paghunong, paglakaw, paspas nga paglakaw, pag-jogging, pagbisikleta ug mga kalihokan sa pagmaneho. Ang koneksyon sa USB cable gikinahanglan aron mamonitor ang real-time nga datos. Ang board gipadagan sa PC pinaagi sa koneksyon sa USB. Gitugotan niini ang tiggamit nga ipakita ang nakit-an nga kalihokan, datos sa accelerometer, oras stamp ug sa kadugayan ang ubang data sa sensor, sa tinuod nga panahon, gamit ang MEMS-Studio GUI nga aplikasyon.

MEMS-Studio nga aplikasyon

Ang sampAng aplikasyon naggamit sa MEMS-Studio GUI nga aplikasyon, nga mahimong ma-download gikan sa www.st.com.

Lakang 1. Siguroha nga ang gikinahanglan nga mga drayber na-install ug ang STM32 Nucleo board nga adunay tukma nga expansion board konektado sa PC.
Lakang 2. Ilunsad ang MEMS-Studio nga aplikasyon aron maablihan ang nag-unang bintana sa aplikasyon.

Kung ang usa ka STM32 Nucleo board nga adunay gisuportahan nga firmware konektado sa PC, awtomatiko kini nga makit-an ang angay nga COM port. Pindota ang Connect button aron maablihan kini nga port.

Figure 3. MEMS-Studio – Sumpaysumpaya 

MEMS-Studio nga aplikasyon

Lakang 3. Kung konektado sa STM32 Nucleo board nga adunay gisuportahan nga firmware Library Evaluation tab giablihan.

Sa pagsugod ug paghunong sa data streaming toggle ang angay Icon pagsugod / Icon stop button sa gawas nga bertikal tool bar.
Ang datos nga gikan sa konektado nga sensor mahimong viewed pagpili sa Data Table tab sa sulod nga bertikal tool bar.

Figure 4. MEMS-Studio – Pag-evaluate sa Library – Data Table 

Hulagway 5. MEMS-Studio – Pagtimbang-timbang sa Library – Pag-ila sa Kalihokan

MEMS-Studio nga aplikasyon

Lakang 5. Pilia ang Save to File tab sa sulod nga vertical tool bar aron maablihan ang data logging configuration window. Pilia kung unsang sensor ug data sa kalihokan ang i-save aron ma-log file. Mahimo ka magsugod o mohunong sa pagtipig pinaagi sa pag-klik sa katugbang nga Start / Stop nga buton.

Figure 6. MEMS-Studio – Library Evaluation – I-save sa File

MEMS-Studio nga aplikasyon

Mga pakisayran

Ang tanan nga mga musunod nga mga kapanguhaan libre nga magamit sa www.st.com.

  1. UM1859: Pagsugod sa X-CUBE-MEMS1 motion MEMS ug environmental sensor software expansion para sa STM32Cube
  2. UM1724: STM32 Nucleo-64 nga mga tabla (MB1136)
  3. UM3233: Pagsugod sa MEMS-Studio

Kasaysayan sa rebisyon

Talaan 5. Kasaysayan sa pagbag-o sa dokumento

Petsa Bersyon Mga kausaban
10-Abr-2017 1 Inisyal nga pagpagawas.
26-Ene-2018 2 Gi-update nga Seksyon 3 Sampang aplikasyon.
Gidugang nga mga pakisayran sa NUCLEO-L152RE development board ug Table 3. Elapsed time (μs) algorithm.
19-Mar-2018 3 Gi-update nga Pasiuna, Seksyon 2.1 Motion AR mataposview ug Seksyon 2.2.5 Algorithm performance.
14-Peb-2019 4 Gi-update nga Figure 1. orientation sa sensor example, Talaan 3. Algoritmo sa elapsed time (µs) ug Figure 3. STM32 Nucleo: LEDs, butones, jumper.
Gidugang ang X-NUCLEO-IKS01A3 nga impormasyon sa pagpaangay sa expansion board.
20-Mar-2019 5 Gi-update nga Seksyon 2.2.2 Motion AR APIs, Figure 3. MEMS-Studio - Connect, Figure 4. MEMS-Studio - Library Evaluation - Data Table, Figure 5. MEMS-Studio - Library Evaluation - Activity Recognition ug Figure 6. MEMS-Studio – Library Evaluation – I-save sa File.
04-Abr-2024 6 Update Pasiuna sa Seksyon, Seksyon 2.1: MotionAR mataposview, Seksyon 2.2.1: MotionAR library paghulagway, MotionAR APIs, Seksyon 2.2.4: Demo code, Seksyon 2.2.5: Pagganap sa algorithm, Seksyon 3: Sampang aplikasyon ug Seksyon 4: MEMS-Studio nga aplikasyon.

IMPORTANTE NGA PAHIBALO – BASAHA NGA MAAYO

Ang STMicroelectronics NV ug ang mga subsidiary niini ("ST") nagreserba sa katungod sa paghimo og mga pagbag-o, pagkorihir, pagpauswag, pagbag-o, ug pagpaayo sa mga produkto sa ST ug/o niini nga dokumento bisan unsang orasa nga wala’y pahibalo. Ang mga pumapalit kinahanglan nga makakuha sa pinakabag-o nga may kalabutan nga impormasyon sa mga produkto sa ST sa dili pa magbutang og mga order. Ang mga produkto sa ST gibaligya subay sa mga termino ug kondisyon sa pagbaligya sa ST sa panahon sa pag-ila sa order.

Ang mga pumapalit mao ray responsable sa pagpili, pagpili, ug paggamit sa mga produkto sa ST ug walay tulubagon ang ST alang sa tabang sa aplikasyon o sa disenyo sa mga produkto sa mga pumapalit.

Walay lisensya, gipahayag o gipasabot, sa bisan unsang katungod sa intelektwal nga kabtangan ang gihatag sa ST dinhi.

Ang pagbaligya pag-usab sa mga produkto sa ST nga adunay mga probisyon nga lahi sa impormasyon nga gilatid dinhi magwagtang sa bisan unsang warranty nga gihatag sa ST alang sa maong produkto.

Ang ST ug ang ST logo kay mga marka sa ST. Para sa dugang nga impormasyon bahin sa ST trademarks, tan-awa ang www.st.com/trademarks. Ang tanan nga ubang mga ngalan sa produkto o serbisyo gipanag-iya sa ilang tag-iya.

Ang impormasyon niini nga dokumento mopuli ug mopuli sa impormasyon nga gihatag kaniadto sa bisan unsang naunang bersyon niini nga dokumento.

© 2024 STMicroelectronics – Tanang katungod gigahin

Logo

Mga Dokumento / Mga Kapanguhaan

STMicroelectronics UM2193 MotionAR Activity Recognition Library [pdf] Manwal sa Gumagamit
UM2193 MotionAR Activity Recognition Library, UM2193, MotionAR Activity Recognition Library, Activity Recognition Library, Recognition Library, Library

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *