Logo ST-Microelectronics

ST Microelectronics NUCLEO-F401RE Knihovna odhadu pozice v reálném čase

ST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-product

Informace o produktu

Specifikace

  • Název produktu: Knihovna odhadu pozice v reálném čase MotionPE
  • Kompatibilita: rozšíření X-CUBE-MEMS1 pro STM32Cube
  • Určeno pouze pro: ST MEMS
  • Údaje akcelerometru Sampling Frekvence: 16 Hz

Návod k použití produktu

Konec knihovny MotionPEview:

Knihovna MotionPE rozšiřuje funkčnost softwaru X-CUBE-MEMS1, získává data z akcelerometru a poskytuje informace o aktuální pozici uživatele.

Sample Implementace:

A sampImplementace je k dispozici pro rozšiřující desky X-NUCLEO-IKS01A3 a X-NUCLEO-IKS4A1 namontované na vývojových deskách NUCLEO.

Popis knihovny MotionPE:

Knihovna pro odhad pozice MotionPE dokáže rozlišit uživatelské pozice, jako je sezení, stání a leh, určená pro zařízení nošená na zápěstí s rozpoznáváním pouze na základě údajů z akcelerometru.

MotionPE Library API

  • MotionPE_GetLibVersion(char *version): Získejte knihovnu
    informace o verzi.
  • MotionPE_Initialize(): Inicializujte
    knihovna.
  • MotionPE_ResetLib(): Resetovat knihovnu.
  • MotionPE_Update(MPE_input_t *data_in, MPE_output_t
    *data_out)
    : Aktualizace knihovny údaji akcelerometru.
  • MotionPE_SetOrientation_Acc(const char
    *acc_orientation)
    : Nastavení orientace akcelerometru.

Často kladené otázky

  • Otázka: Mohu použít knihovnu MotionPE se snímači MEMS, které nejsou ST?
    • Odpověď: Knihovna je určena pouze pro ST MEMS. Použití jiných senzorů MEMS může mít za následek odlišnou funkčnost a výkon.
  • Otázka: Jaká jsou požadovaná data akcelerometru?ampfrekvence pro knihovnu MotionPE?
    • A: Požadované sampfrekvence je 16 Hz pro přesný odhad pozice.

Zavedení

Knihovna middlewaru MotionPE je součástí softwaru X-CUBE-MEMS1 a běží na STM32. Poskytuje informace v reálném čase o aktuální pozici uživatele na základě dat ze zařízení. Je schopen rozlišit následující pozice: sezení, stání a leh. Knihovna je určena pro přístroje nošené na zápěstí. 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-U575ZI-Q nebo NUCLEO-L152RE.

Zkratky a zkratky

Tabulka 1. Seznam zkratekST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (1)

Knihovna middlewaru MotionPE v softwarovém rozšíření X-CUBE-MEMS1 pro STM32Cube

MotionPE skončilview

Knihovna MotionPE rozšiřuje funkčnost softwaru X-CUBE-MEMS1. Knihovna získává data z akcelerometru a poskytuje informace o aktuální pozici uživatele na základě dat ze zařízení. 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. A sampImplementace je k dispozici pro rozšiřující desky X-NUCLEO-IKS01A3 a X-NUCLEO-IKS4A1 namontované na vývojové desce NUCLEO-F401RE, NUCLEO-U575ZI-Q nebo NUCLEO-L152RE.

Knihovna MotionPE

Technické informace plně popisující funkce a parametry rozhraní MotionPE API lze nalézt v kompilovaném HTML kódu MotionPE_Package.chm file umístěné ve složce Dokumentace.

Popis knihovny MotionPE

Knihovna odhadu pozice MotionPE spravuje data získaná z akcelerometru; má:

  • možnost rozlišit následující uživatelské pozice: sedí, stojí, leží
  • určeno pro zařízení nošená na zápěstí
  • rozpoznávání pouze na základě údajů akcelerometru
  • požadované údaje z akcelerometru sampfrekvence 16 Hz
  • požadavky na zdroje:
    • Cortex-M3: 12.0 kB kódu a 2.8 kB datové paměti
    • Cortex-M33: 12.5 kB kódu a 2.8 kB datové paměti
    • Cortex-M4: 12.9 kB kódu a 2.8 kB datové paměti
    • Cortex-M7: 12.9 kB kódu a 2.8 kB datové paměti
  • k dispozici pro architektury ARM® Cortex®-M3, ARM Cortex®-M33, ARM® Cortex®-M4 nebo ARM® Cortex®-M7.

MotionPE API

Rozhraní API knihovny MotionPE jsou:

  • uint8_t MotionPE_GetLibVersion(char *verze)
    • načte verzi knihovny
    • *verze je ukazatel na pole 35 znaků
    • vrátí počet znaků v řetězci verze
  • void MotionPE_Initialize(void)
    • provádí inicializaci knihovny MotionPE a nastavení vnitřního mechanismu
      Poznámka: Tato funkce musí být volána před použitím knihovny pro odhad pozice a před použitím knihovny je nutné povolit modul CRC v mikrokontroléru STM32 (v registru povolení periferních hodin RCC).
  • void MotionPE_ResetLib(void)
    • obnovit knihovnu
  • void MotionPE_Update(MPE_input_t *data_in, MPE_output_t *data_out)
    • provede algoritmus odhadu pozice
    • Parametr *data_in je ukazatel na strukturu se vstupními daty
    • parametry pro typ struktury MPE_input_t jsou:
      • AccX je hodnota senzoru akcelerometru na ose X v g
      • AccY je hodnota senzoru akcelerometru v ose Y vg
      • AccZ je hodnota snímače akcelerometru v ose Z v g
    • Parametr *data_out je ukazatel na výčet s následujícími položkami:
      • MPE_UNKNOWN = 0
      • MPE_SITTING = 1
      • MPE_STANDING = 2
      • MPE_LYING_DOWN = 3
    • void MotionPE_SetOrientation_Acc(const char *acc_orientation)
      • tato funkce se používá k nastavení orientace dat akcelerometru
      • konfigurace se obvykle provádí ihned po volání funkce MotionPE_Initialize
      • Parametr *acc_orientation 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 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á orientaci SEU (x – jih, y – východ, z – nahoru), takže řetězec je: „seu“.

ST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (2)ST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (3)

Vývojový diagram APIST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (4)

Demo kód

Následující demonstrační kód čte data ze senzoru akcelerometru a získává odhadovanou polohu

ST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (5)

Výkon algoritmu

Algoritmus odhadu pozice využívá pouze data z akcelerometru a běží na nízké frekvenci (16 Hz), aby se snížila spotřeba energie. Níže uvedená tabulka ukazuje výkon algoritmu odhadu pozice z hlediska míry úspěšnosti rozpoznání

ST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (6)

Sample aplikace

Middleware MotionPE lze snadno manipulovat a vytvářet uživatelské aplikace. A sampaplikace je k dispozici ve složce Aplikace. Je navržen pro provoz na vývojové desce NUCLEO-F401RE, NUCLEOU575ZI-Q nebo NUCLEO-L152RE připojené k rozšiřující desce X-NUCLEO-IKS01A3 nebo X-NUCLEO-IKS4A1. Aplikace rozpozná aktuální pozici uživatele v reálném čase.

ST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (7)

Výše uvedený obrázek ukazuje uživatelské tlačítko B1 a tři LED na desce NUCLEO-F401RE. Jakmile je deska napájena, LED LD3 (PWR) se rozsvítí.
Poznámka: Po zapnutí desky LED LD2 blikne, což znamená, že aplikace je připravena. 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í. Tento pracovní režim umožňuje uživateli zobrazit v reálném čase detekovanou pozici uživatele, data akcelerometru, čas stamp a jakákoli další data senzoru pomocí MEMS-Studio.

Aplikace MEMS-Studio

SampTato aplikace používá aplikaci MEMS-Studio, kterou lze stáhnout z 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. Spusťte aplikaci MEMS-Studio a 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 [Připojit] vytvořte připojení k vyhodnocovací desceST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (8)

Krok 3. Po připojení k desce STM32 Nucleo s podporovaným firmwarem se otevře karta [Library Evaluation].

Chcete-li spustit a zastavit streamování dat, přepněte příslušné [Start] ST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (9)nebo [Stop]ST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (10) tlačítko na vnějším svislém panelu nástrojů. Data pocházející z připojeného senzoru mohou být viewed výběrem záložky [Tabulka dat] na vnitřním svislém panelu nástrojů.

ST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (11)

Krok 4. Kliknutím na [Pose Estimation] otevřete stránku vyhrazenou pro tuto knihovnu.ST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (12)

Krok 5. Klikněte na [Uložit do File] pro otevření okna konfigurace záznamu dat. Vyberte senzor a odhadovaná data pozice, která se mají uložit do file. Ukládání můžete spustit nebo zastavit kliknutím na příslušné tlačítkoST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (13)

Krok 6. Režim vkládání dat lze použít k odeslání dříve získaných dat do knihovny a přijetí výsledku. Výběrem karty [Data Injection] na svislém panelu nástrojů otevřete vyhrazené view pro tuto funkciST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (14)

Krok 7. Klepnutím na tlačítko [Procházet] vyberte file s dříve zachycenými daty ve formátu CSV. Data budou načtena do tabulky v aktuálním view.

Ostatní tlačítka budou aktivní. Můžete kliknout na:

  • Tlačítko [Offline Mode] pro zapnutí/vypnutí offline režimu firmwaru (režim využívající dříve zaznamenaná data).
  • Tlačítka [Start]/[Stop]/[Step]/[Repeat] pro ovládání přenosu dat z MEMS-Studio do knihovny

Reference

Všechny následující zdroje jsou volně dostupné na www.st.com.

  1. UM1859: Začínáme s rozšířením softwaru X-CUBE-MEMS1 motion MEMS a senzoru prostředí pro STM32Cube
  2. UM1724: Desky STM32 Nucleo-64 (MB1136)
  3. UM3233: Začínáme s MEMS-Studio

Historie revizí

Tabulka 5. Historie revizí dokumentu

ST-Microelectronics-NUCLEO-F401RE-Real-Time-Pose-Estimation-Library-fig (15)

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 najdete na 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

ST Microelectronics NUCLEO-F401RE Knihovna odhadu pozice v reálném čase [pdfUživatelská příručka
NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE, NUCLEO-F401RE Knihovna odhadů pozic v reálném čase, NUCLEO-F401RE, Knihovna odhadů pozic v reálném čase, Knihovna odhadů časových pozic, Knihovna odhadů pozic, Knihovna odhadů

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *