Rok / Year: 2011
Svazek / Volume: 13
Číslo / Number: 2
Zařízení pro simulaci pohybu lidské hlavy The Device for human head movement simulating David Skula, Luděk Žalud
[email protected],
[email protected] 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.
2011/10 – 9. 3. 2011
VOL.13, NO.2, APRIL 2011
Zařízení pro simulaci pohybu lidské hlavy David Skula1, Luděk Žalud2 1
Fakulta elektrotechniky a komunikačních technologií VUT v Brně Email:
[email protected]
2
Fakulta elektrotechniky a komunikačních technologií VUT v Brně Email:
[email protected]
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.
150 100 50 0 -50 -100 -150
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.
0
5
10
15 t [s]
20
25
30
0
5
10
15 t [s]
20
25
30
0
5
10
15 t [s]
20
25
30
1500 1000 500
α ' [°/s]
•
ze 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 (8000 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.
α [°]
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.
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ů.
0 -500 -1000 -1500
50 000 25 000
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é pou-
α '' [°/s 2]
2 Mechanická konstrukce
0 -25 000 -50 000
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í ( ).
10 – 1
2011/10 – 9. 3. 2011
VOL.13, NO.2, APRIL 2011
Ú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 40000 ° . 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ů. Snímače
Nosníky
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-0160 od společnosti TG drives. Jeho hmotnost je 2,6 , rozměry 0,127 0,08 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 0,14 a poloměru základny 0,05 (dané především uvažovanými rozměry motoru M2). Při uvažování úhlového zrychlení 40000 ° 698 a vyosení konstrukce 0,03 vychází moment motoru M1 jako 8,8 (1).
! "
#
!
!
# $ ∙
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)
Soubor s naplánovaným pohybem
(1)
Spočtený požadavek na moment splňuje vybraný motor 115MSC200TAAAA od společnosti Dutymax. Jeho jmenovitý moment je 10 . 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/20 od stejné společnosti, v případě motoru Dutymax jde o měnič UNI1405 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.).
10 – 2
LabView Visualizace a ovládání Ovladač realizace dráhy (C# DLL)
Ovladač motoru (C# DLL)
Měnič TGA-24-9/20
Ovladač motoru (C# DLL)
Měnič UINI1405
Obr. 4 - Blokové schéma programu
2011/10 – 9. 3. 2011
VOL.13, NO.2, APRIL 2011
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.
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.1 Plánování dráhy motorů
3.2 Ovladače 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:
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í LabView. Jeho použití se sestává ze tří činností:
• • •
Absolutní polohové řízení. Relativní polohové řízení. Rychlostní řízení.
1. 2. 3.
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,
Registrace požadovaných funkcí driveru. Start ovladače. Ovládání motoru.
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 LabView. 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
10 – 3
2011/10 – 9. 3. 2011
VOL.13, NO.2, APRIL 2011
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-6602 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ý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 MS0021630529, GAČR 102/09/H081 SYNERGY – Mobile Sensoric Systéme and Network, projektu výzkumného centra MŠMT 1M0567 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 FEKTS-10-12).
6 Použitá literatura [1]
[2] 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
[3]
[4]
Samotný vizualizační program je realizován v prostředí LabView. Obsahuje implementaci ovladačů motorů a ovladače realizace naplánované dráhy.
[5]
10 – 4
Digitální servozesilovač TGA-24-9/20 Instrukční manuál, TG Drives, 2005, [on-line]
Digitální servozesilovač TGA-24-9/20 Popis funkce, TG Drives, 2005, [on-line] Digitální servozesilovač TGA-24-9/20 Popis registrů, TG Drives, 2005, [on-line] Uživatelská příručka měniče kmitočtu řady UNIDRIVE, Control Techniques, 2000 UD53 Resolver interface small option module for Unidrive, Control Techniques, 1999