Rok / Year: Svazek / Volume: Číslo / Number: 211 13 2 Zařízení pro simulaci pohybu lidské hlavy The Device for human head movement simulating David Skula, Luděk Žalud xskula@stud.feec.vutbr.cz,zalud@feec.vutbr.cz Fakulta elektrotechniky a komunikačních technologií VUT v Brně. Abstrakt: Článek se zabývá hardwarovým a softwarovým návrhem zařízení, které by co možná nejpřesněji simulovalo pohyby lidské hlavy. Dynamika pohybu hlavy je značná, přesto je snahou docílit stejných dynamických vlastností zařízení jako má lidská hlava. Článek obsahuje kompletní popis programového vybavení a návrh mechanické části. Konstrukce zařízení není dosud hotova. Abstract: The article deals with hardware and software design of the device for human head movement simulating. Dynamics of head movement is significant, but is an attempt to achieve the same dynamic properties of the device as a human head. The article contains a complete description of the software and design of mechanical parts. Construction equipment is not complete yet.
Zařízení pro simulaci pohybu lidské hlavy David Skula 1, Luděk Žalud 2 1 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Email: xskula@stud.feec.vutbr.cz 2 Fakulta elektrotechniky a komunikačních technologií VUT v Brně Email: zalud@feec.vutbr.cz Abstrakt Článek se zabývá hardwarovým a softwarovým návrhem zařízení, které by co možná nejpřesněji simulovalo pohyby lidské hlavy. Dynamika pohybu hlavy je značná, přesto je snahou docílit stejných dynamických vlastností zařízení jako má lidská hlava. Článek obsahuje kompletní popis programového vybavení a návrh mechanické části. Konstrukce zařízení není dosud hotova. 1 Úvod Idea vytvořit zařízení pro simulaci pohybu lidské hlavy vznikla z požadavku vybrat snímač pro detekci pohybu hlavy do brýlí virtuální reality. Požadavky splňují akcelerometry, gyroskopy a magnetometry. Běžně dostupné inerciální jednotky (Inertial Measurement Unit - IMU) obsahují kombinaci těchto senzorů společně s vyhodnocením. Konstruovány jsou však spíše pro oblast inerciální navigace. Oblast snímání pohybů lidské hlavy je odlišná. Hlavními specifiky jsou: Velký dynamický rozsah měření. Od drobných pohybů po rychlé a velké změny polohy hlavy. Absence translačního pohybu. Uvažuje se použití brýlí virtuální reality osoby sedící u operátorského pracoviště, tudíž nedochází k jinému pohybu než rotačnímu. Z uvedeného je patrné, že ne každý snímač měřící natočení je vhodný pro použití na měření rotace hlavy. Zařízení pro simulaci pohybů lidské hlavy dává nástroj na testování a porovnávání různých druhů snímačů i různých druhů vyhodnocovacích algoritmů. Pohyb lidské hlavy je velmi specifickou záležitostí. Zvláště dynamický rozsah pohybu je značný. Není reálné (přinejmenším finančně možné) vytvořit zařízení, které by dokonale kopírovalo pohyb lidské hlavy. Ta se totiž pohybuje v podstatě na kloubu, se kterým je možné konat jakýkoli rotační pohyb (s jistými omezeními samozřejmě). Uvažováno je proto zjednodušení na dvouosý pohyb. Jedna osa představuje otáčení hlavy kolem osy rovnoběžné s páteří, druhá osa představuje náklony hlavy při pohledu vzhůru nebo dolů. Zjednodušení je to značné, avšak pro účely teleprezenční techniky dostačující. Kamera na robotu je upevněna většinou také pouze na dvou kloubech, a to ve stejné konfiguraci jako uvažovaný model. Hlavní řešenou problematikou je dynamika pohybu. Od toho se odvíjí mechanická konfigurace zařízení a použité pohony. Pro konstrukční návrh a výběr vhodných akčních členů je nutné nejdříve stanovit parametry, které by mělo zařízení splňovat. Jedná se o zařízení pro simulaci pohybů lidské hlavy, parametry jsou tedy dané dynamikou lidské hlavy. Byl proveden experiment, při němž byl na helmu upevněn přesný rotační enkodér (8 pulsů na otáčku) a bylo provedeno několik měření rotace lidské hlavy podél osy rovnoběžné s páteří. Výsledky jednoho z měření jsou zobrazeny na Obr. 1. α [ ] α' [ /s] 15 1 5-5 -1-15 15 1 5-5 -1-15 5 2 Mechanická konstrukce α'' [ /s 2 ] 25-25 -5 Obr. 1 Měření pohybu lidské hlavy První z grafů na Obr. 1. představuje natočení hlavy ( ), druhý úhlovou rychlost ( ) a třetí úhlové zrychlení ( ). 1 1
Úhlová rychlost byla získána derivací úhlového natočení, podobně úhlové zrychlení derivací úhlové rychlosti. Zvláště důležité je zjištění, že maximální úhlové zrychlení, které je možné pohybem hlavy dosáhnout, je asi 4. Je tedy žádoucí, aby použité pohony dokázaly tohoto zrychlení dosáhnout. Tak bude možné simulovat celou dynamiku pohybu lidské hlavy. Mechanika zařízení byla navržena podle Obr. 2. Motor M2 simuluje pohyb kolem osy rovnoběžné s páteří. Motor M1 simuluje náklon hlavy při pohledu vzhůru a dolů. Nosníky Snímače M1 M2 Motory Obr. 2 Konstrukce zařízení Dynamika motoru M2 nepředstavuje velký problém. Hmotnost snímačů je téměř zanedbatelná. Stačí tedy, aby motor splňoval dynamické požadavky v chodu naprázdno (zátěží je pouze moment setrvačnosti hřídele). Takový servopohon je dnes běžně dostupný. Byl zvolen motor TGH3-16 od společnosti TG drives. Jeho hmotnost je 2,6, rozměry,127,8 a jmenovitý moment je 1,5. Motor M1 nese na své hřídeli celou váhu konstrukce a motoru M2. Váha celé této konstrukce je uvažována 4 a rozměry se blíží válci o délce,14 a poloměru základny,5 (dané především uvažovanými rozměry motoru M2). Při uvažování úhlového zrychlení 4 698 a vyosení konstrukce,3 vychází moment motoru M1 jako 8,8 (1). (1) Spočtený požadavek na moment splňuje vybraný motor 115MSC2TAAAA od společnosti Dutymax. Jeho jmenovitý moment je 1. Oba servopohony jsou vybaveny resolverem pro zpětnou informaci o poloze. Řízení je zajištěno měniči. V případě motoru TG drives jde o měnič TGA-24-9/2 od stejné společnosti, v případě motoru Dutymax jde o měnič UNI145 od společnosti Control Technique. Veškerá elektronika (měniče, odrušovací filtry, jističe, ) je umístěna v rozvaděči (Obr. 3). Oba servopohony i příslušná elektronika jsou již připraveny. V současné době se pracuje na mechanickém spojení obou motorů (Obr. 2) a bezpečnostních opatřeních (koncové spínače, kryty, atd.). Obr. 3 Rozvaděč s elektronikou 3 Programové vybavení Řídící program je vytvořen v prostředí LabWiev a C#.NET 3.5 podle blokového schématu na Obr. 4. Plánování dráhy pohybu (C# aplikace) Ovladač motoru (C# DLL) Měnič TGA-24-9/2 LabView Visualizace a ovládání Soubor s naplánovaným pohybem Ovladač realizace dráhy (C# DLL) Ovladač motoru (C# DLL) Měnič UINI145 Obr. 4 - Blokové schéma programu 1 2
Program je rozdělen do čtyř celků: Program pro plánování dráhy motorů. Ovladače motorů (potažmo měničů). Ovladač realizující naplánovanou dráhu. Program pro vlastní ovládání motorů a vizualizace průběhu podle naplánované dráhy. 3.1 Plánování dráhy motorů Vlastní pohyb konaný motory je třeba naplánovat. K tomuto účelu byl vytvořen program v prostředí C#.NET 3.5 s názvem Path Designer (Obr. 5). V tomto programu je možné naplánovat dráhu každého motoru samostatně. Jsou k dispozici tři varianty řízení motoru: Absolutní polohové řízení. Relativní polohové řízení. Rychlostní řízení. zda má program přikročit k dalšímu kroku naplánované dráhy bezprostředně po dosažení požadované rychlosti nebo až po uplynutí nastaveného časového intervalu. Popsané režimy je možné libovolně kombinovat, a tím vytvořit jakýkoli požadovaný průběh pohybu. Naplánovaný pohyb se poté uloží do souboru. 3.2 Ovladače motorů Ovládání měničů probíhá po sériové lince RS232. Každý měnič má svůj komunikační protokol, kontrolní součty atd. Ovladače pro oba použité měniče jsou vytvořené v prostředí C#.NET 3.5 jako DLL knihovny. Ty jsou posléze implementovány do prostředí LabView, v němž je realizována výsledná ovládací a vizualizační aplikace. Ovladače obsahují všechny základní funkce potřebné pro ovládání motoru jako nastavení a čtení polohy, rychlosti, maximální rychlosti, maximálního zrychlení, nastavení režimu atd. Samotný ovladač je vytvořen tak, aby bylo možné jeho co možná nejjednodušší implementace do prostředí Lab- View. Jeho použití se sestává ze tří činností: 1. Registrace požadovaných funkcí driveru. 2. Start ovladače. 3. Ovládání motoru. Obr. 5 Okno programu Path Designer V módu absolutního polohového řízení se nastavuje požadovaná koncová poloha motoru, maximální rychlost a maximální zrychlení při pojezdu. Dále je možné nastavit, kdy má program přistoupit k dalšímu bodu naplánované dráhy, zda ihned po dosažení zadané polohy nebo po uplynutí nastaveného časového intervalu. Při použití druhé možnosti motor po dosažení nastavené pozice stojí, dokud neuplyne předepsaný čas. Mód relativního polohového řízení funguje stejně jako mód předchozí. Rozdíl je pouze v tom, že nastavená koncová poloha je brána vůči aktuální poloze rotoru. U absolutního řízení je poloha dána polohou resolveru. V módu rychlostního řízení se nastavuje požadovaná rychlost rotoru a maximální zrychlení. Opět je možné nastavit, V první fázi po inicializaci knihovny ovladače se nastaví (registrují), které funkce se budou v průběhu práce s ovladačem využívat a jakým způsobem. Každá funkce může být buď cyklicky vykonávána (vhodné např. pro čtení polohy) nebo vykonána pouze nastane-li příslušná podmínka. Pro nastavovací funkce je touto podmínkou změna parametru (např. změna žádané hodnoty polohy), pro čtecí funkce je touto podmínkou vynucené načtení příslušné hodnoty. Následuje start ovladače. Byly-li v první fázi zaregistrovány například funkce Načti polohu a Načti rychlost jako cyklicky se opakující a funkce Nastav polohu a Nastav maximální rychlost jako funkce vykonávající se pouze při změně parametru (jedná se o zápisové funkce), bude situace vypadat podle Obr. 6. Ovladač cyklicky načítá polohu a rychlost a ukládá je do paměti. Změní-li se nastavená poloha, vykoná ovladač příslušnou funkci a v dalších cyklech ji opět vynechává. Funkce jsou vykonávány bezprostředně po sobě, tím je dosaženo maximální možné propustnosti linky. Samotný program v LabView již není vázán na časování a načítání ovladače. V příkladu z Obr. 6 čtením aktuální polohy je získána naposled přijatá hodnota z paměti a stejně tak čtení aktuální rychlosti. Při změně nastavené polohy nebo maximální rychlosti je hodnota v dalším cyklu ovladače odeslána do měniče. Tento postup je výhodný z hlediska přístupu Lab- View. Není nutné realizovat těžkopádné čekání na odezvu měniče či oddělovat vizualizaci od vlastního načítání. Stačí smyčka, v níž se například čte aktuální poloha a rychlost a zapisuje se požadovaná poloha a maximální rychlost. Změní-li uživatel požadovanou polohu, ta se automaticky zapíše do měniče. Aktuální poloha a rychlost jsou k dispozici 1 3
s maximální vzorkovací frekvencí (jak dovolí rychlost sériové linky). Oba použité měniče disponují výstupem simulující enkodérový výstup motorů. Tyto výstupy jsou přivedeny do LabView prostřednictvím čítačové karty PCI-662 od National Instruments. Tím je získána dodatečná informace o poloze rotoru. Programové vybavení je již dokončeno. Zbývá pouze definice vizualizačního rozhraní. 4 Závěr Obr. 6 Příklad funkce ovladače motoru 3.3 Ovladač realizující naplánovanou dráhu Jedná se o DLL knihovnu vytvořenou v prostředí C#.NET 3.5. Z vybraného souboru načte naplánovanou dráhu a realizuje ji pomocí ovladačů motorů. Opět je ovladač vytvořen tak, aby byl snadno implementovatelný do LabView. Ovladač obsahuje několik vstupních a výstupních proměnných. Vstupní proměnné: Cesta k souboru s uloženým naplánovaným pohybem. Aktuální poloha. Aktuální rychlost. Aktuální rychlost a poloha slouží ke zpětné vazbě pro podmínky přechodu na další naplánovaný bod (viz. Kapitola 3.1). Výstupní proměnné: Mód servomotoru (absolutní polohování, relativní polohování, rychlostní řízení). Požadovaná rychlost (pro rychlostní řízení). Požadovaná poloha (pro polohové řízení). Maximální rychlost. Maximální zrychlení. Výstupní proměnné je možné přímo navázat na zápisové funkce ovladače motoru. Vstupní proměnné zase na cyklické čtecí funkce. Hodnoty ve výstupních proměnných se budou po startu měnit podle nastavené dráhy. 3.4 Ovládání a vizualizace Samotný vizualizační program je realizován v prostředí LabView. Obsahuje implementaci ovladačů motorů a ovladače realizace naplánované dráhy. Výsledkem je zařízení pro simulaci pohybů lidské hlavy. Dynamika zařízení se dostatečně blíží reálným pohybům hlavy. Pomocí softwaru Path Designer je možné vytvořit jakýkoli set pohybů pro testování snímačů. V součastné době je hotové programové vybavení a je k dispozici potřebný hardware. Zbývá pouze definice vizualizačního rozhraní a konstrukce samotného zařízení. Společně s tímto projektem vzniká další, zabývající se bezdrátovým přenosem dat ze snímače umístěného na zařízení do počítače k vyhodnocení. Výsledkem měření na zařízení pak bude soubor s informací o poloze snímanou snímačem a reálnou polohou danou enkodéry a to s vysokou vzorkovací frekvencí. 5 Dedikace Tento výsledek byl získán za přispění MŠMT v rámci výzkumného záměru MS2163529, GAČR 12/9/H81 SYNERGY Mobile Sensoric Systéme and Network, projektu výzkumného centra MŠMT 1M567 a Vysokého Učení Technického v Brně a za podpory grantu Moderní metody a prostředky v automatizaci financované z Interní grantové agentury Vysokého učení technického v Brně (číslo grantu FEKT- S-1-12). 6 Použitá literatura [1] Digitální servozesilovač TGA-24-9/2 Instrukční manuál, TG Drives, 25, [on-line] load/servopohony_tga/cz_tga_hw_manual_9_5.p df> [2] Digitální servozesilovač TGA-24-9/2 Popis funkce, TG Drives, 25, [on-line] load/servopohony_tga/soft-manual_5_5.pdf> [3] Digitální servozesilovač TGA-24-9/2 Popis registrů, TG Drives, 25, [on-line] load/servopohony_tga/registry288-cz.pdf > [4] Uživatelská příručka měniče kmitočtu řady UNIDRI- VE, Control Techniques, 2 [5] UD53 Resolver interface small option module for Unidrive, Control Techniques, 1999 1 4