Библиотека за препознавање на активност на STMicroelectronics UM2193 MotionAR
Вовед
Motion AR е библиотека на среден софтвер дел од софтверот X-CUBE-MEMS1 и работи на STM32. Обезбедува информации во реално време за видот на активност што ја врши корисникот. Може да ги разликува следните активности: стационарно, одење, брзо одење, џогирање, возење велосипед, возење.
Оваа библиотека е наменета да работи само со ST MEMS.
Алгоритмот е обезбеден во формат на статичка библиотека и е дизајниран да се користи на STM32 микроконтролери базирани на архитектурата ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 или ARM® Cortex®-M7.
Изграден е на врвот на софтверската технологија STM32Cube која ја олеснува преносливоста преку различни микроконтролери STM32.
Софтверот доаѓа со сampимплементацијата работи на плочка за проширување X-NUCLEO-IKS01A3 или X-NUCLEO-IKS4A1 на развојна табла NUCLEO-F401RE, NUCLEO-L152RE или NUCLEO-U575ZI-Q.
Акроними и кратенки
Табела 1. Список на акроними
Акроним | Опис |
API | Програмски интерфејс за апликации |
БСП | Пакет за поддршка на одборот |
GUI | Графички кориснички интерфејс |
ХАЛ | Хардверски апстракциски слој |
IDE | Интегрирана развојна средина |
Motion AR среден софтвер библиотека во проширување на софтверот X-CUBE-MEMS1
Движењето AR завршиview
Библиотеката Motion AR ја проширува функционалноста на софтверот X-CUBE-MEMS1.
Библиотеката добива податоци од акцелерометарот и дава информации за видот на активност што ја врши корисникот.
Библиотеката е дизајнирана само за ST MEMS. Функционалноста и перформансите при користење на други MEMS сензори не се анализираат и може значително да се разликуваат од она што е опишано во документот.
SampИмплементацијата е достапна на плочките за проширување X-NUCLEO-IKS01A3 или X-NUCLEO-IKS4A1, монтирани на развојна табла NUCLEO-F401RE, NUCLEO-L152RE или NUCLEO-U575ZI-Q.
Motion AR библиотека
Технички информации кои целосно ги опишуваат функциите и параметрите на Motion AR API може да се најдат во составениот HTML на MotionAR_Package.chm file се наоѓа во папката Documentation.
Опис на библиотеката Motion AR
- Библиотеката за препознавање активности Motion AR управува со податоците добиени од акцелерометарот; се одликува со:
- можност за разликување на следните активности: стационарно, одење, брзо одење, џогирање, возење велосипед, возење
- препознавање само врз основа на податоците за акцелерометарот
- потребни податоци за акцелерометарот sampфреквенција на линг: 16 Hz
- барања за ресурси:
- Cortex-M3: 8.5 kB код и 1.4 kB меморија за податоци
- Cortex-M33: 7.8 kB код и 1.4 kB меморија за податоци
- Cortex-M4: 7.9 kB код и 1.4 kB меморија за податоци
- Cortex-M7: 8.1 kB код и 1.4 kB меморија за податоци
- достапни за архитектури ARM Cortex-M3, Cortex-M33, Cortex-M4 и Cortex-M7
MotionAR API
MotionAR API се:
- uint8_t MotionAR_GetLibVersion(char *верзија)
- ја враќа верзијата на библиотеката
- *верзијата е покажувач на низа од 35 знаци
- го враќа бројот на знаци во низата на верзијата
- void MotionAR_Initialize(неважечки)
- врши иницијализација на библиотеката MotionAR и поставување на внатрешниот механизам
- модулот CRC во STM32 микроконтролерот (во регистарот за овозможување периферен часовник RCC) треба да биде
овозможено пред користење на библиотеката
Забелешка: Оваа функција мора да се повика пред да се користи библиотеката за калибрација на акцелерометарот.
- void MotionAR_Reset (празнично)
- ги ресетира алгоритмите за препознавање активности
- void MotionAR_Update(MAR_input_t *data_in, MAR_output_t *data_out, int64_t
времеamp)- извршува алгоритам за препознавање активност
- *Параметарот data_in е покажувач на структура со влезни податоци
- параметрите за типот на структурата MAR_input_t се:
- acc_x е вредност на сензорот за акцелерометар во X оската во g
- acc_y е вредност на сензорот за акцелерометар во Y оската во g
- acc_z е вредност на сензорот за акцелерометар во оската Z во g
- *Параметарот data_out е покажувач за броење со следните ставки:
- MAR_NOACTIVITY = 0
- MAR_STATIONARY = 1
- MAR_WALKING = 2
- MAR_FASTWALKING = 3
- МАР_ЏОГИРАЊЕ = 4
- MAR_BIKING = 5
- МАР_ВОЗЕЊЕ = 6
- времеamp е релативно време за вистински сample во ms
- void MotionAR_ Set Orientation_ Acc(const char *acc_ ориентација)
- ја поставува ориентацијата на податоци за акцелерометарот
- конфигурацијата обично се изведува веднаш по повикот на функцијата Motion AR_ Initialize
- *acc_ ориентациониот параметар е покажувач на низа од три знаци што ја покажува насоката на секоја од позитивните ориентации на референтната рамка што се користи за излез на податоци од акцелерометарот, во низата x, y, z. Валидни вредности се: n (север) или s (југ), w (запад) или e (исток), u (горе) или d (долу)
- Како што е прикажано на сликата подолу, сензорот за акцелерометар X-NUCLEO-IKS4A1 има SEU (x-South, y- East, z-Up), така што низата е: „seu“.
Слика 1. Ориентација на сензорот прample
Карактер на проток на API
Слика 2. Логичка секвенца на Motion AR API
Демо код
Следниот демонстративен код ги чита податоците од сензорот за акцелерометар и го добива кодот за активност
[...] #define VERSION_STR_LENG 35 [...] /*** Иницијализација ***/ char lib_version[VERSION_STR_LENG]; char acc_orientation[] = "seu"; /* Функција за иницијализација на API за препознавање активност */ MotionAR_Initialize(); /* Изборно: Земете верзија */ MotionAR_GetLibVersion(lib_version); /* Поставете ориентација на акцелерометар */ MotionAR_SetOrientation_Acc(acc_orientation); [...] /*** Користење на алгоритам за препознавање активност ***/ Timer_ OR_ Data Rate_ Interrupt_ Handler() {
MAR_input_t податоци_ во; MAR_ излез_ t активност; /* Добијте забрзување X/Y/Z во g */ MEMS_Read_AccValue(&data_in.acc_x, &data_in.acc_y, &data_in.acc_z); /* Добијте го тековното време во ms */ TIMER_Get_TimeValue(×tamp_Госпоѓица); /* Ажурирање на алгоритмот за препознавање активност */ MotionAR_Update(data_in, data_out, timestamp_Госпоѓица); }
Изведба на алгоритам
Алгоритмот за препознавање активност користи само податоци од акцелерометарот и работи на мала фреквенција (16 Hz) за да ја намали потрошувачката на енергија.
Табела 2. Изведба на алгоритам
Активност | Веројатност за откривање (типично)(1) | Најдобра изведба | Подложни | Носете позиции |
Стационарни | 92.27% | Држење во рака и тешки пораки | Сите: џеб од панталони, џеб од кошула, заден џеб, во близина на главата итн. | |
Одење | 99.44% | Стапка на чекори ≥ 1.4 чекор/с | Стапка на чекори ≤ 1.2 чекор/с | сите |
Брзо одење | 95.94% | Стапка на чекори ≥ 2.0 чекор/с | Сите | |
Џогирање | 98.49% | Стапка на чекори ≥ 2.2 чекор/с | Времетраење < 1 минута; брзина < 8 км/ч | Џеб од панталони, нишалка за рака, во рака |
Возење велосипед | 91.93% | Надворешна брзина ≥11 Km/h | Совозачко седиште, преграда за ракавици | Ранец, џеб од кошула, џеб за панталони |
Возење | 78.65% | Брзина ≥ 48 Km/h | Совозачко седиште, преграда за ракавици | Држач за чаши, табла, џеб од кошула, џеб за панталони |
- Типичните спецификации не се загарантирани
Табела 3. Cortex-M4 и Cortex-M3: Алгоритам за изминато време (µs)
Cortex-M4 STM32F401RE на 84 MHz | Cortex-M3 STM32L152RE на 32 MHz | ||||
мин | Просечно | Макс | мин | Просечно | Макс |
2 | 6 | 153 | 8 | 130 | 4883 |
Табела 4. Cortex-M33 и Cortex-M7: алгоритам за изминато време (μs)
Cortex-M33 STM32U575ZI-Q на 160 MHz | Cortex-M7 STM32F767ZI на 96 MHz | ||||
мин | Просечно | Макс | мин | Просечно | Макс |
< 1 | 2 | 74 | 5 | 9 | 145 |
Sampле апликација
Средниот софтвер MotionAR може лесно да се манипулира за да се изградат кориснички апликации; какоampАпликацијата е обезбедена во папката Апликација.
Дизајниран е да работи на развојна плочка NUCLEO-F401RE, NUCLEO-L152RE или NUCLEO-U575ZI-Q поврзана со плочка за проширување X-NUCLEO-IKS01A3 или X-NUCLEO-IKS4A1.
Апликацијата ги препознава извршените активности во реално време. Податоците може да се прикажат преку GUI. Алгоритмот препознава стационарни, одење, брзо одење, џогирање, возење велосипед и активности за возење. Потребна е врска со USB кабел за следење на податоците во реално време. Плочката се напојува од компјутер преку USB конекција. Ова му овозможува на корисникот да ја прикаже откриената активност, податоци за акцелерометарот, време улamp и на крајот други сензорски податоци, во реално време, користејќи ја апликацијата MEMS-Studio GUI.
Апликација MEMS-Studio
С.ampLe апликацијата ја користи апликацијата MEMS-Studio GUI, која може да се преземе од www.st.com.
Чекор 1. Проверете дали се инсталирани потребните драјвери и дека плочата STM32 Nucleo со соодветна плоча за проширување е поврзана со компјутерот.
Чекор 2. Стартувајте ја апликацијата MEMS-Studio за да го отворите главниот прозорец на апликацијата.
Ако на компјутерот е поврзана плочка STM32 Nucleo со поддржан фирмвер, автоматски се открива соодветната COM порта. Притиснете го копчето Поврзи за да ја отворите оваа порта.
Слика 3. MEMS-Studio – Connect
Чекор 3. Кога е поврзан на STM32 Nucleo плоча со поддржан фирмвер, се отвора јазичето за евалуација на библиотеката.
За да започнете и прекинете преносот на податоци, вклучете го соодветното почеток /
копче за запирање на надворешната вертикална лента со алатки.
Податоците кои доаѓаат од поврзаниот сензор може да бидат viewсо избирање на картичката Табела со податоци на внатрешната вертикална лента со алатки.
Слика 4. MEMS-Студио – Евалуација на библиотека – Табела со податоци
Слика 5. MEMS-Studio – Library Evaluation – Activity Recognation
Чекор 5. Изберете го Зачувај во File картичката на внатрешната вертикална лента со алатки за да се отвори прозорецот за конфигурација за евиденција на податоци. Изберете кој сензор и податоци за активност да се зачуваат во евиденција file. Можете да започнете или прекинете со зачувувањето со кликнување на соодветното копче Старт / Стоп.
Слика 6. MEMS-Studio – Library Evaluation – Save to File
Референци
Сите следни ресурси се слободно достапни на www.st.com.
- UM1859: Започнуваме со X-CUBE-MEMS1 движење MEMS и проширување на софтверот за сензори за животна средина за STM32Cube
- UM1724: Плочи STM32 Nucleo-64 (MB1136)
- UM3233: Започнуваме со MEMS-Studio
Историја на ревизии
Табела 5. Историја на ревизија на документ
Датум | Верзија | Промени |
10-април-2017 година | 1 | Почетно ослободување. |
26-јан-2018 | 2 | Ажуриран дел 3 Сampле апликација. Додадени референци за развојната табла NUCLEO-L152RE и Табела 3. Алгоритам за изминато време (μs). |
19-мар-2018 | 3 | Ажуриран вовед, Дел 2.1 Заврши движењето ARview и Дел 2.2.5 Изведба на алгоритам. |
14-февруари 2019 година | 4 | Ажурирано Слика 1. Ориентација на сензорот прample, Табела 3. Алгоритам за изминато време (µs) и Слика 3. STM32 Nucleo: LED диоди, копче, скокач. Додадени се информации за компатибилност на плочата за проширување X-NUCLEO-IKS01A3. |
20-мар-2019 | 5 | Ажурирано секција 2.2.2 Motion AR API, слика 3. MEMS-Studio – Connect, Слика 4. MEMS-Studio – Library Evaluation – Data Tabel, Слика 5. MEMS-Studio – Library Evaluation – Activity Recognition и Слика 6. MEMStudio – Евалуација на библиотеката – Зачувај во File. |
04-април-2024 година | 6 | Ажурирање Вовед во делот, Дел 2.1: MotionAR завршиview, Дел 2.2.1: MotionAR библиотека опис, MotionAR API, Дел 2.2.4: Демо код, Дел 2.2.5: Изведба на алгоритам, Дел 3: Сampле апликација и Дел 4: Апликација MEMS-Studio. |
ВАЖНО НАПОМЕНА – ПРОЧИТАЈТЕ ВНИМАТЕЛНО
STMicroelectronics NV и нејзините подружници („ST“) го задржуваат правото да прават промени, корекции, подобрувања, модификации и подобрувања на производите на ST и/или на овој документ во секое време без најава. Купувачите треба да ги добијат најновите релевантни информации за производите на ST пред да направат нарачки. Производите на ST се продаваат во согласност со одредбите и условите за продажба на ST кои се на сила во моментот на потврдата на нарачката.
Набавувачите се единствено одговорни за изборот, изборот и употребата на производите на ST и ST не презема никаква одговорност за помош при апликација или дизајнирање на производите на купувачите.
Ниту една лиценца, експлицитна или имплицитна, за кое било право на интелектуална сопственост не е дадена од страна на ST овде.
Препродажбата на производите на ST со одредби различни од информациите наведени овде ќе ја поништи секоја гаранција дадена од ST за таков производ.
ST и логото ST се заштитни знаци на ST. За дополнителни информации за заштитните марки ST, погледнете во www.st.com/trademarks. Сите други имиња на производи или услуги се сопственост на нивните соодветни сопственици.
Информациите во овој документ ги заменуваат и заменуваат информациите претходно доставени во која било претходна верзија на овој документ.
© 2024 STMicroelectronics – Сите права се задржани
Документи / ресурси
![]() |
Библиотека за препознавање на активност на STMicroelectronics UM2193 MotionAR [pdf] Упатство за користење UM2193 MotionAR Activity Recognition Library, UM2193, MotionAR Activity Recognition Library, Activity Recognition Library, Recognition Library, Library |