Z-ANO - České vysoké učení technické v Praze

Transkript

Z-ANO - České vysoké učení technické v Praze
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
FAKULTA BIOMEDICÍNSKÉHO INŽENÝRSTVÍ
Katedra biomedicínské techniky
TÝMOVÝ PROJEKT
2012
Lenka Hálová
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
Fakulta biomedicínského inženýrství
Katedra biomedicínské techniky
Umělá inteligence pro určení ZMP
Týmový projekt
Vedoucí projektu: Mgr. Slávka Vítečková
Student:
Lenka Hálová
II
leden 2012
Zadání projektu
III
Anotace
Cílem této práce bylo vypočítat Zero-Moment Point, který bude použit při návrhu
neuronové sítě (umělé inteligence), která se naučí Zero-Moment Point vypočítat sám. Signál
lidské chůze jsme snímali pomocí kamerového systému Lukotronic AS 200 a 18 markerů,
které jsme vhodně rozložili po měřeném subjektu. Signál jsme zpracovávali v Matlabu
R2010b. Umělou inteligenci budeme vytvářet v témž programu za využití toolboxu Neural
Network.
Anotation
The aim of this study was to calculate the Zero-Moment Point, which will be used for
designing a neural network (artificial intelligence), which learns to compute the Zero-Moment
Point itself. The signal of human gait was obtained by a camera system Lukotronic AS 200
with using 18 markers appropriately spread over the measured subject. We processed signal in
Matlab R2010b. Artificial intelligence will be created by using the Neural Network toolbox
also in Matlab.
IV
Prohlášení
Prohlašuji, že jsem týmový projekt s názvem Umělá inteligence pro určení ZMP
vypracovala samostatně a použila k tomu úplný výčet citací použitých pramenů, které uvádím
v seznamu přiloženém k závěrečné zprávě.
Nemám závažný důvod proti užití tohoto školního díla ve smyslu §60 Zákona
č.121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně
některých zákonů (autorský zákon).
V Praze dne 3. ledna 2012
…………………….....
Lenka Hálová
V
Obsah
Zadání projektu ..................................................................................................................... III
Anotace .................................................................................................................................... IV
Prohlášení ................................................................................................................................. V
Obsah ....................................................................................................................................... VI
Seznam použitých symbolů ................................................................................................VIII
Seznam použitých zkratek .................................................................................................VIII
Seznam obrázků ..................................................................................................................... IX
Seznam tabulek ....................................................................................................................... IX
1.
2.
Úvod ................................................................................................................................... 1
1.1
Stav problematiky ve světě...................................................................................................... 1
1.2
Stav problematiky na FBMI .................................................................................................... 1
Lidská chůze ...................................................................................................................... 2
2.1
3.
Chůzový cyklus ....................................................................................................................... 2
Antropometrie ................................................................................................................... 4
3.1
Hmotnost ................................................................................................................................. 4
3.2
Těžiště ..................................................................................................................................... 5
4.
Zero Moment Point ........................................................................................................... 8
5.
Umělé neuronové sítě ...................................................................................................... 10
6.
7.
8.
5.1
Neuron ................................................................................................................................... 10
5.2
Struktura ................................................................................................................................ 11
5.3
Učení s učitelem .................................................................................................................... 11
Lukotronic ....................................................................................................................... 12
6.1
Specifikace systému Lukotronic AS 200............................................................................... 14
6.2
Rozložení markerů ................................................................................................................ 15
Návrh řešení projektu ..................................................................................................... 16
7.1
Výpočet hmotnosti segmentů ................................................................................................ 16
7.2
Výpočet těžišť za pomoci Matlabu........................................................................................ 17
7.3
Výpočet ZMP – varianta A.................................................................................................... 17
7.4
Výpočet ZMP – varianta B .................................................................................................... 18
Závěr ................................................................................................................................ 19
VI
Seznam použité literatury a elektronických informačních zdrojů .................................... 20
Příloha 1 .................................................................................................................................. 22
a) Interpolace dat ............................................................................................................................... 23
b) Výpočet těžišť segmentů lidského těla.......................................................................................... 23
c) Výpočet ZMP ................................................................................................................................ 26
VII
Seznam použitých symbolů
m
hmotnost
[kg]
g
gravitační zrychlení
[m∙s-2]
ω
úhlová rychlost
[rad∙s-1]
P
bod P
H
matice H
M
momentový vektor
̇
[N.m]
první derivace podle času
̈
druhá derivace podle času
Seznam použitých zkratek
ZMP Zero-Moment Point
BP
bakalářská práce
TPR
týmový projekt
UI
umělá inteligence
NS
Neuronové sítě
ANN artificial neural network (umělá neuronová síť)
VIII
Seznam obrázků
Obr. 1: Fáze lidské chůze ........................................................................................................... 3
Obr. 2: Chůzový cyklus dle Dr. Jaqueline Perry [16] ................................................................ 4
Obr. 3: Experimentálně určené indexy pro výpočet těžiště segmentů [12]................................ 6
Obr. 4: Znázornění ZMP, N je reakční síla, M je točivý moment a P je bod, ve kterém je M =
0. [15] ......................................................................................................................................... 8
Obr. 5: Pohyb ZMP po podložce při chůzi [15] ......................................................................... 9
Obr. 6: Matematický model neuronu [20] ................................................................................ 10
Obr. 7: Analytický výpočet přenosu neuronu .......................................................................... 11
Obr. 8: Struktura vícevrstvých neuronových sítí [20] .............................................................. 11
Obr. 9: Kohonenova síť vyšší dimenze [19] ............................................................................ 12
Obr. 10: Kamerový systém Lukotronic AS 200: stativ s kamerami, markery s napájecí baterií
.................................................................................................................................................. 13
Obr. 11: Možnosti nastavení vzdálenosti (rozptylu) kamer Lukotronicu ................................ 13
Obr. 12: Možnost označení markerů v softwaru Lukotronicu ................................................. 14
Obr. 13: Rozložení markerů na subjektu .................................................................................. 15
Seznam tabulek
Tab. 1: Tabulka pro výpočet hmotnosti segmentů těla dle Zaciorského a Selujanova (1979)
[12] ............................................................................................................................................. 5
Tab. 2: Experimentálně určené indexy pro výpočet těžiště segmentů [12]................................ 6
Tab. 3: Technické parametry systému Lukotronic AS 200 [5] ................................................ 14
Tab. 4: Antropologické údaje měřené osoby ........................................................................... 16
Tab. 5: Tabulka hmotností segmentů těla našeho subjektu ...................................................... 16
IX
1. Úvod
V této práci se zabývám především způsobem, jak z dat naměřených pomocí kamer
Lukotronic AS200, získat hodnoty ZMP, které poté využiji ve své bakalářské práci. Hodnoty
budou sloužit mnou vytvořené neuronové síti (umělé inteligenci) jako učitel, pomocí kterého
se naučí z dat naměřených sám vypočítat umístění ZMP.
Téma jsem si vybrala kvůli tomu, že propojuje laboratorní měření s programováním
v programu Matlab R2010b. Jelikož jsme tento software používali po celou dobu studia, jsem
si v něm nejjistější a nejlépe mu rozumím. ZMP je důležitou součástí robotiky, což je pro mne
také velmi zajímavá oblast.
1.1 Stav problematiky ve světě
Schopnost analyzovat a interpretovat lidský pohyb má obrovský význam pro velké
množství aplikací, od rozpoznání podezřelých a patologických pohybů až po vytváření
humanoidů – robotů, jež jsou podobní člověku principiální stavbou těla a zejména způsobem
pohybu.
Aby bylo možné analyzovat tak složitý děj jako je lidská chůze, je nutné využít
takových metod, které umožňují lépe popsat chování reálných systémů tím, že nechávají
prostor pro nepřesnost a neurčitost těchto systémů. Takovou metodou jsou i Neuronové sítě
(NS).
První umělou neuronovou síť vymyslel v roce 1958 psycholog Frank Rosenblatt. Byla
nazvána Perceptron a smyslem její existence mělo být modelování postupu, při kterém lidský
mozek zpracovává vizuální data a učí se rozeznávat objekty. Jiní badatelé používají od té
doby podobné ANN sítě ke studiu lidského poznávání.
V dnešní době jsou neuronové sítě v oblasti biomedicíny velmi rozšířené. Využívají se
například k simulaci nervové soustavě, analýze biologických signálů, zpracování a klasifikaci
biomedicínských dat.
1.2 Stav problematiky na FBMI
Na naší fakultě je téma lidské lokomoce velmi populární. V roce 2011 byly
vypracovány dvě bakalářské práce na toto téma.
1
Bc. Václav Procházka toho roku zpracoval práci na téma „Využití predikce pohybu
dolní končetiny pomocí neuronových sítí“ pod vedením Ing. Patrika Kutílka, Ph.D. Cílem
bylo analyzovat možnost řízení protetických náhrad metodami umělé inteligence.
Bc. Markéta Kubánková ve stejný rok vypracovala bakalářskou práci na téma „Řízení
pohybu dolních končetin pomocí fuzzy systému“ pod vedením doc. RNDr. Ing. Marcela
Jiřiny, Ph.D. Za cíl práce si zvolila návrh fuzzy inferenčního systému, který by dokázal
predikovat pohyb umělé dolní končetiny na základě vstupního signálu ze zdravé končetiny, a
výstupy systému vizualizovat.
Vedoucí mé práce, Mgr. Slávka Vítečková, na katedře biomedicínské informatiky pod
vedením doc. RNDr. Ing. Marcela Jiřiny, Ph.D. zpracovává disertační práci na téma „Využití
umělé inteligence v asistivní robotice“. Obsahem práce je navrhnout model dolní končetiny, který
bude využívat informací ze senzorů a adaptivních algoritmů, které budou umožňovat učení a
přizpůsobení pohybů pacienta.
2. Lidská chůze
Chůze je druh mechanického pohybu využívající dolní končetiny, který je vlastní
bipedálním živočichům, jímž je i člověk. Chůze neboli lokomoce se skládá z jednotlivých
kroků, kdy se cyklicky střídá jedna noha za druhou, čímž dochází k pohybu.
Za definici chůze se považuje stav, kdy je vždy aspoň jedna noha v dotyku se zemí.
Pokud jsou obě nohy v kontaktu se zemí, jedná se o stání. Pokud nastávají okamžiky, kdy ani
jedna noha není ve styku se zemí, jedná se o běh (či skok). Během chůze se těžiště těla
pohybuje v závislosti na jednotlivých krocích. [1]
2.1 Chůzový cyklus
Základní jednotkou lidské chůze je krok. Jeden krok sestává ze dvou základních fází:
stojná (opěrná) a švihová (letová). Stojná fáze trvá asi 60% času jednoho chůzového cyklu a
začíná, jakmile pata přijde do styku s podložkou. Končí, jakmile se palec (poslední prst)
odlepí od podložky. Během fáze stojné jedné končetiny zároveň probíhá na druhé končetině
fáze švihová. Při švihové fázi (přibližně 40% času jednoho chůzového cyklu) se končetina
ohýbá v kyčli a koleni a ke konci dochází k extenzi kolene a dorzální flexi hlezenního kloubu,
aby se opět pata mohla dotknout podložky a začít další fáze stojná. [1]
2
Obr. 1: Fáze lidské chůze
Kromě základního dělení chůze na fázi stojnou a švihovou můžeme použít dělení dle
Dr. Jaqueline Perry do následujících osmi fází [16]:
-
Počáteční kontakt (Initial contact) – zahajuje houpavý pohyb paty pro postup a redukci
nárazu, cílem je stabilizace končetiny k podpoře váhy těla
-
Zátěžová odpověď (Loading response) – flexe kolene pro absorpci nárazu
-
Mezistoj (Midstance) – valení končetiny dopředu přes opěrnou nohu
-
Koncový okamžik opory (Terminal stance) – postup celého těla přes opěrnou nohu,
cílem je nést hmotnost těla
-
Předšvih (Preswing) – přechod ze stoje do švihu – odlepení nohy od podložky
-
Počáteční švih (Initial swing) – švih končetiny dopředu
-
Mezišvih (Midswing) – konečný pohyb stehna
-
Koncový švih (Terminal swing) – dokončení délky kroku, příprava pro stoj
3
Obr. 2: Chůzový cyklus dle Dr. Jaqueline Perry [16]
3. Antropometrie
Antropometrie je soustava metod pro měření různých znaků lidského těla a jeho částí.
Hlavními antropometrickými znaky jsou výška a hmotnost celého těla, hmotnosti a velikosti
jednotlivých tělesných segmentů, různé funkční a výkonnostní ukazatelé apod. [10]
3.1 Hmotnost
Za využití znalosti celkové váhy a experimentálních indexů pro výpočet hmotnosti
segmentů získáme hmotnosti jednotlivých segmentů těla měřené osoby.
4
Tab. 1: Tabulka pro výpočet hmotnosti segmentů těla dle Zaciorského a Selujanova (1979) [12]
Část těla
Hlava
Stehno
Berec
Noha
Nadloktí
Předloktí
Ruka
Trup
Podíl z celkové hmotnosti
7,40%
12,40%
4,60%
1,60%
2,90%
1,70%
0,70%
44,80%
3.2 Těžiště
Celkové těžiště těla je myšlený bod, do nějž umisťujeme tíhovou sílu. Celkové těžiště
je důležité zejména tam, kde zjednodušujeme mechanickou analýzu pohybu na pohyb
hmotného bodu. [14]
V tzv. základním anatomickém postoji – stoj spatný, paže podél těla, dlaně vpřed – se
celkové těžiště těla nachází přibližně ve výši druhého křížového obratle. U žen leží těžiště
níže než u mužů, jelikož mají rozdílné proporce pánve. V průběhu ontogenetického vývoje se
celkové těžiště posouvá níže, jelikož se mění rozdělení hmotnosti jednotlivých segmentů
(kojenci a batolata mají větší hlavu v porovnání s trupem a končetinami).
Celkové těžiště těla lze zjistit na základě znalosti poloh dílčích těžišť jednotlivých
segmentů a hmotnosti (resp. tíhy) těchto segmentů. Při zjišťování celkového těžiště jsme
proto nejprve z naměřených dat vypočítali těžiště jednotlivých segmentů těla. [14]
Na výpočet těžiště tělesného segmentu je nutné znát polohu tohoto segmentu na osách
x, y, z a experimentálně určené indexy [12] (Tab. 4), (Obr. 3). Tu jsme určili z naměřených
hodnot, jelikož jsme markery lepili právě na počátky a konce jednotlivých segmentů.
5
Tab. 2: Experimentálně určené indexy pro výpočet těžiště segmentů [12]
Část těla
Hlava
Stehno
Berec
Noha
Nadloktí
Předloktí
Trup
Mezi markery
hlava → rameno
kyčel → koleno
koleno → kotník
kotník → malík
rameno → loket
loket → ruka
rameno → kyčel
Index
0,5
0,43
0,41
0,5
0,44
0,43
0,42
Obr. 3: Experimentálně určené indexy pro výpočet těžiště segmentů [12]
Výpočet těžiště segmentu podle vzorce:
kde
𝑡 = 𝐴 + (𝐵 − 𝐴) ∙ 𝑘
𝑡 je těžiště daného segmentu
𝐴 a 𝐵 jsou naměřené hodnoty - body určené osami x, y, z
𝑘 je experimentálně určený index
6
(1) ,
Výpočet celkového těžiště jsme pak vypracovali podle vzorců [14]:
∑𝑛1 𝑥𝑖 ∙ 𝑚𝑖
𝑥𝑇 =
∑𝑛1 𝑚𝑖
∑𝑛1 𝑦𝑖 ∙ 𝑚𝑖
𝑦𝑇 =
∑𝑛1 𝑚𝑖
kde:
𝑧𝑇 =
∑𝑛1 𝑧𝑖 ∙ 𝑚𝑖
∑𝑛1 𝑚𝑖
(2)
(3)
(4) ,
𝑥𝑇 , (𝑦𝑇 , 𝑧𝑇 ) je souřadnice 𝑥, (𝑦, z) celkového těžiště těla
𝑚𝑖 jsou hmotnosti jednotlivých segmentů
𝑥𝑖 , (𝑦𝑖 , 𝑧𝑖 ) jsou souřadnice těžišť dílčích segmentů na příslušných osách
7
4. Zero Moment Point
Zero Moment Point určuje místo, v němž dynamická reakční síla v místě kontaktu
nohy se zemí nevytváří žádný moment v horizontálním směru, tj. bod, ve kterém se celková
vertikální setrvačnost (na ose x a y) a gravitační síla rovnají nule. [7]
𝑀𝑥 = 𝑀𝑦 = 0
(5)
Koncept byl poprvé představen v roce 1968 srbským inženýrem Miomirem
Vukobratrovićem na Třetím Mezinárodním Kongresu Teoretické a Aplikované Mechaniky
v Moskvě [9]. Během let 1970 až 1972 bylo vypracováno mnoho prací, které tuto myšlenku
rozšířily a ve kterých najdeme právě označení Zero Moment Point.
Obr. 4: Znázornění ZMP, N je reakční síla, M je točivý moment a P je bod, ve kterém je M = 0. [15]
Vztah pro výpočet ZMP [7]:
𝑥𝑍𝑀𝑃 =
𝑦𝑍𝑀𝑃 =
𝑚𝑡𝑜𝑡 ∙ 𝑔𝑧 ∙ 𝑝𝐶𝑜𝑀𝑥 + 𝑧𝑍𝑀𝑃 ∙ 𝑃𝑥 − 𝐻𝑦
𝑚𝑡𝑜𝑡 ∙ 𝑔𝑧 + 𝑃𝑧
𝑚𝑡𝑜𝑡 ∙ 𝑔𝑧 ∙ 𝑝𝐶𝑜𝑀𝑦 + 𝑧𝑍𝑀𝑃 ∙ 𝑃𝑦 − 𝐻𝑥
𝑚𝑡𝑜𝑡 ∙ 𝑔𝑧 + 𝑃𝑧
8
(6)
(7)
kde:
𝑧𝑍𝑀𝑃 je výška podstavy – pokud se rovina XY nachází na zemi, zZMP je rovno
nule
mtot je celková hmotnost subjektu [kg]
g z je tíhové zrychlení [m/s²]
𝑝𝐶𝑜𝑀𝑥 , 𝑝𝐶𝑜𝑀𝑦 je x-ová (y-ová) souřadnice CoM
𝑃𝑧 je z-ová souřadnice bodu P – v našem případě se rovná nule
H je matice H, která vychází z robotiky
Pokud předpokládáme, že točivý moment τ = 0, takže x ZMP = p, výsledkem je
zjednodušený vztah pro výpočet ZMP [7]:
𝑥𝑍𝑀𝑃 = 𝑝 = 𝑥𝐶𝑜𝑀 −
𝑦𝑍𝑀𝑃 = 𝑦𝐶𝑜𝑀 −
𝑥̈ 𝐶𝑜𝑀
∙ 𝑧𝐶𝑜𝑀
𝑔𝑧
𝑦̈ 𝐶𝑜𝑀
∙ 𝑧𝐶𝑜𝑀
𝑔𝑧
(8)
(9)
Na Obr. 5 můžeme vidět, jak se pohybuje ZMP po podložce při chůzi člověka, který
dělá kroky dlouhé 50 cm.
Obr. 5: Pohyb ZMP po podložce při chůzi [15]
9
5. Umělé neuronové sítě
Umělá neuronová síť (ANN, artificial neural network) je prostředkem pro zpracování
komplexních dat, využívajícím ke své práci množství propojených procesorů a výpočetních
cest. ANN jsou inspirovány architekturou lidského mozku. Jsou schopny se učit a analyzovat
rozsáhlé a komplexní množiny dat, které mnohem lineárnější algoritmy jen těžko zvládnou.
Od 80. let se ANN začaly používat nejen na poskytování pohledů na fungování
lidského mozku, ale začaly být užitečným nástrojem i samy o sobě. Jejich schopnost vytvářet
vzorce a samy se jim učit umožňují postihnout mnoho problémů, které byly obtížné nebo
zcela neřešitelné standardními výpočetními a statistickými metodami. Ačkoliv jsou ANN sítě
často nazývány prostě neuronovými sítěmi, je vhodné si uvědomit, že tento název mnohem
spíše náleží biologickým mozkům, podle nichž byly původně modelovány. [4]
5.1 Neuron
Základní jednotkou ANN je neuron. Analogicky k anatomickému neuronu má mnoho
vstupů, ale pouze jeden výstup.
Matematický model neuronu je zobrazen na Obr. 6, analytický výpočet přenosu
neuronu je pak na Obr. 7. Jednotlivé vstupy jsou násobeny koeficientem wi (váhou), který je v
průběhu procesu učení neuronovou sítí regulován. Výstupem je prahová funkce f(x), jenž je
většinou parametrizovanou sigmoidou. [19]
Obr. 6: Matematický model neuronu [20]
10
Obr. 7: Analytický výpočet přenosu neuronu
5.2 Struktura
Umělá neuronová síť funguje tak, že vytváří spojení mezi mnoha různými neurony,
analogickými se samostatným neuronem v biologickém mozku. Každý neuron dostává mnoho
vstupních signálů. Poté, na základě vnitřního vyvažovacího systému, produkuje jednotlivý
výstupní signál, který je typicky zasílán jako vstup jinému neuronu.
Neurony jsou těsně propojeny a organizovány do různých vrstev. Vstupní vrstva
dostává vstupní údaje, výstupní vrstva vytváří finální výstup. Mezi tyto dvě vrstvy je obvykle
vložena jedna nebo více skrytých vrstev. (Obr. 8)
Obr. 8: Struktura vícevrstvých neuronových sítí [20]
5.3 Učení s učitelem
Umělé neuronové sítě mají na počátku procesu učení náhodné váhy u všech svých
neuronů. To znamená, že musejí být školeny na řešení konkrétního problému, pro který byly
zamýšleny.
Při pohledu hodně ze široka lze říci, že existují dvě metody školení ANN v závislosti
na problému, který musejí řešit. Samoorganizující se ANN (self-organizing ANN, často
nazývaná podle svého tvůrce Kohonenova) je vystavována velkému množství dat a směřuje k
11
odhalení zákonitostí a souvislostí v těchto datech. Badatelé často používají tento typ pro
analýzu experimentálních dat.
Zpětně šířící ANN (back-propagation ANN) je lidmi školena na vykonávání
speciálních úloh. Během školicího období učitel vyhodnocuje, zda je výstup ANN správný.
Pokud je správný, neuronové váhy, které tento výstup vytvářejí, jsou posíleny; pokud je
výstup nesprávný, zodpovědné váhy jsou oslabeny. Tento typ je nejčastěji využíván pro
poznávací výzkum a pro aplikace na řešení problémů. [20]
Obr. 9: Kohonenova síť vyšší dimenze [19]
6. Lukotronic
Pro měření dat jsme si zvolili kamerový systém od rakouské firmy Lukotronic.
Konkrétně typ AS 200, který je součástí inventáře fakulty biomedicínského inženýrství.
Kamerový systém sestává ze dvou stativů, na každém z nich jsou na kovovém rámu
umístěny tři infračervené kamery (Obr. 8), speciálně vyrobeny pro snímání objektu v 3D.
Díky stativu je možné nastavovat výšku i natočení kamer podle toho, jakou oblast chceme
snímat (Obr. 9).
12
Obr. 10: Kamerový systém Lukotronic AS 200: stativ s kamerami, markery s napájecí baterií
Obr. 11: Možnosti nastavení vzdálenosti (rozptylu) kamer Lukotronicu
Kamery snímají pohyb aktivních markerů, které jsou umístěny na snímaném objektu,
zapojených do napájecí baterie. Výrobcem stanovený maximální počet markerů je 48 [18].
Pro naše měření jsme použili celkem 16, poté i 18 markerů. Markery jsou fyzicky i
softwarově očíslovány pro lepší orientaci (viz. Obr. 10).
13
Obr. 12: Možnost označení markerů v softwaru Lukotronicu
6.1 Specifikace systému Lukotronic AS 200
Tab. 3: Technické parametry systému Lukotronic AS 200 [5]
Vzorkovací frekvence
Počet markerů
Měřící vzdálenost
Přesnost
Rozhraní
Radiová frekvence
Rozevírací úhel, markery
PC požadavky
Operační systém
Hmotnost
1200 Hz - 2400 Hz
max. 48, min. 10
5–7 m
0.1 mm (při vzdálenosti 1,5 m)
USB 1.1
433 MHz
≥ +/-90° [total ≥180°]
Obyčejný PC nebo notebook; min. 500
MHz
Windows 98, 2000, ME, XP; Linux
2.4 kg
14
6.2 Rozložení markerů
Rozložení markerů jsme si zvolili s ohledem na data, jež jsme chtěli získat, a na již
používané rozložení markerů. Rozložení markerů zvané Helen Hayes Marker Set nás
inspirovalo k velmi podobnému rozložení, jež je přesně zaznamenáno na Obr. 11. Červené
číslice značí aktivní marker s daným označením, modré číslice značí marker, který jsme pro
naši práci nevyužili.
Obr. 13: Rozložení markerů na subjektu
15
7. Návrh řešení projektu
Pomocí příslušného softwaru nakalibrujeme kamery kamer Lukotronic AS 200,
abychom následně mohli naměřit data na subjektu, na němž jsou podle Obr. 9 rozmístěny
markery. Naměřené hodnoty uložíme ve formátu ASV a následně ho převedeme do formátu
XLS. Pro další zpracování budeme používat program Matlab R2010b, proto je nutné data
importovat. Pomocí funkce impaint_nans interpolujeme data, která se kamerám nepodařilo
zachytit.
7.1 Výpočet hmotnosti segmentů
Jako subjekt jsme si zvolili muže ve věku 22 let, jehož antropologické údaje jsou
vepsány do následující tabulky:
Tab. 4: Antropologické údaje měřené osoby
Měřená osoba:
Věk
Tělesná výška
Tělesná hmotnost
muž
22
193 cm
80 kg
Pro vypočítání hmotností segmentů těla jsme použili znalosti procentuálního podílu
z celkové hmotnosti. (Tab.1)
Tab. 5: Tabulka hmotností segmentů těla našeho subjektu
Část těla
Hmotnost [kg]
Hlava
5,92
Stehno
9,92
Berec
3,68
Noha
1,28
Nadloktí
2,32
Předloktí
1,36
Ruka
0,56
Trup
35,84
Celková hmotnost
80
16
7.2 Výpočet těžišť za pomoci Matlabu
Výpočet těžišť segmentů v Matlabu:
Výpočet celkového těžiště v Matlabu:
7.3 Výpočet ZMP – varianta A
Výpočet za využití vzorců:
𝑥𝑍𝑀𝑃 = 𝑝 = 𝑥𝐶𝑜𝑀 −
𝑦𝑍𝑀𝑃 = 𝑦𝐶𝑜𝑀 −
𝑥̈ 𝐶𝑜𝑀
∙ 𝑧𝐶𝑜𝑀
𝑔𝑧
𝑦̈ 𝐶𝑜𝑀
∙ 𝑧𝐶𝑜𝑀
𝑔𝑧
(10)
(11)
1) Zjistíme hmotnosti a těžiště segmentů těla subjektu. Viz. kapitola 3. Antropometrie.
17
2) Vypočítáme rychlost 𝑣⃗ a zrychlení 𝑎⃗ každého tělesného segmentu. Z fyziky víme, že
rychlost je první derivace dráhy podle času a zrychlení je druhá derivace dráhy podle
času.
𝑑𝑥 𝑑𝑦 𝑑𝑧
𝑣⃗ = �𝑣𝑥 , 𝑣𝑦 , 𝑣𝑧 � = � , , �
𝑑𝑡 𝑑𝑡 𝑑𝑡
𝑑2𝑥 𝑑2 𝑦 𝑑2𝑧
𝑎⃗ = �𝑣𝑥̇ , 𝑣𝑦̇ , 𝑣𝑧̇ � = � 2 , 2 , 2 �
𝑑𝑡 𝑑𝑡 𝑑𝑡
(12)
(13)
3) Dosadíme do vzorců (10) a (11) a získáme souřadnice bodu ZMP v čase.
Tuto variantu jsme použili při vypracování Týmového projektu.
7.4 Výpočet ZMP – varianta B
Výpočet za využití vzorců:
𝑥𝑍𝑀𝑃 =
𝑦𝑍𝑀𝑃 =
𝑚𝑡𝑜𝑡 ∙ 𝑔𝑧 ∙ 𝑝𝐶𝑜𝑀𝑥 + 𝑧𝑍𝑀𝑃 ∙ 𝑃𝑥 − 𝐻𝑦
𝑚𝑡𝑜𝑡 ∙ 𝑔𝑧 + 𝑃𝑧
𝑚𝑡𝑜𝑡 ∙ 𝑔𝑧 ∙ 𝑝𝐶𝑜𝑀𝑦 + 𝑧𝑍𝑀𝑃 ∙ 𝑃𝑦 − 𝐻𝑥
𝑚𝑡𝑜𝑡 ∙ 𝑔𝑧 + 𝑃𝑧
(14)
(15)
1) Provedeme kroky 1) a 2) z varianty A
2) Pomocí M-file uhly.m vypočítáme úhly mezi segmenty, úhlovou rychlost
(první derivace) a zrychlení (druhá derivace).
3) Vypočítáme matici H.
4) Dosadíme do vzorců (14), (15) pro zjištění souřadnic bodu ZMP na osách x, y
v čase.
Tuto variantu použiji při zpracování Bakalářské práce.
18
8. Závěr
Cílem týmového projektu jako takového je především seznámení se odborněji
s vybraným oborem a příprava na vypracování bakalářské práce. Mohu říci, že v těchto
ohledech jsme projekt splnili na výbornou. Vypracovali jsme si důkladnou rešerši lidské
chůze, pojmu ZMP, připravili jsme si několik podkladů v Matlabu, které nepochybně
využijeme v bakalářské práci. Při práci v laboratořích jsme se naučili zacházet s kamerovým
systémem Lukotronic AS 200 a obsluhovat jej. Kamerový systém budeme používat při
zajišťování dat i v dalším semestru.
V průběhu vytváření M-file uhly.m jsme zjistili, že námi naměřená data nevykazují
takové úhly, jaké jsme předpokládali. Proto jsme se rozhodli vypočítat ZMP pomocí vzorců,
ve kterých se úhly neobjevují (kap. 7. Návrh řešení projektu). Výsledné ZMP pak vyšlo velmi
podobně, jako je zobrazené na obrázku Obr. 14: Pohyb ZMP po podložce při chůzi, což
ukazuje, že zvolené postupy byly správné, avšak kvalita dat byla nedostatečná.
Při pokračování v práci na tomto projektu bude zapotřebí naměřit data, ve kterých
budou zaznamenány signály ze všech markerů, a to v co nejdelších intervalech. Vyhneme se
tak chybám z interpolace. Také bude nutné s daty zacházet více precizně, nezaokrouhlovat je,
zbytečně s nimi neprovádět více operací, než bude nutné.
V bakalářské práci se zaměřím především na vypracování umělé inteligence pomocí
Umělé neuronové sítě v Neural Network toolboxu v Matlabu. Má práce se bude opírat o
postupy výpočtu ZMP, které jsem prostudovala v průběhu vypracovávání týmového projektu.
19
Seznam použité literatury a elektronických informačních
zdrojů
[1]
Rose, J.; Gamble, J. G. Human Walking. Philadelphia: Lippincott Williams &
Wilkins, 2006. ISBN 0-7817-5954-4.
[2]
Kubánková, M. Řízení pohybu dolních končetin pomocí fuzzy systému. Bakalářská
práce. Kladno: FBMI, ČVUT, 2011.
[4]
Jiřina, M. Umělé neuronové sítě. Přednáška z předmětu Umělá inteligence v
biomedicíně. 2011.
[5]
Kutílek, P. Kinematika, dynamika a pohybová omezení končetin. studijní materiál
z předmětu Biomechanika a biomateriály
[7]
Kostic, D., Nijmeijer, H. Zero-moment Point Method for Stable Biped Walking,
Eindhoven: University of Technology. 2009.
[8]
Lísalová, M. Biomechanika chůze. Semestrální práce. 2011.
[9]
Vukobratovic M., Borovac B. Zero-moment point – Thirty five years of its life,
International Journal of Humanoid Robotics, Vol. 1, No. 1 (2004), pp. 157-173
[10]
Antropometrie. [Online] 2011. http://lekarske.slovniky.cz/pojem/antropometrie.
[11]
Anthropometry and Biomechanics. [Online]. 2011.
http://msis.jsc.nasa.gov/sections/section03.htm.
[12]
Segmenty těla, těžiště těla. [Online]. 2011.
http://is.muni.cz/do/1451/e-learning/kineziologie/elportal/pages/segmenty_teziste.html.
[13]
Geometrie hmotností lidského těla. [Online]. 2011.
http://biomech.ftvs.cuni.cz/pbpk/kompendium/biomechanika/geometrie_hmotnost.php
[14]
Těžiště lidského těla. [Online]. 2011.
http://biomech.ftvs.cuni.cz/pbpk/kompendium/biomechanika/geometrie_teziste.php
[15]
Zero Moment Point. [Online]. 2007
http://cilab.csie.ncu.edu.tw/mt/tabo/archives/2007/05/zmp_ece_zero_mo_1.html
[16]
J. Perry, Ganganalyse, Urban & Fischer, München, Germany, 2003.
20
[17]
Mařík, V. et al. Umělá inteligence (4). Praha : Academia, 2003. ISBN 80-200-0502-1.
[18]
Oficiální stránky Lukotronicu. [Online]. 2011
http://www.lukotronic.com/de/produkte/as-200300.html
[19]
Studijní materiály Matematického institutu. [Online]. 2011
http://homepages.math.slu.cz/TomasKopf/index.php?topic=neuron&page=06
[20]
Osobní stránky Ing.Vojtěcha Hordějčuka
http://old.voho.cz/
21
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
Fakulta biomedicínského inženýrství
Katedra biomedicínské techniky
Příloha 1
Skripty v Matlabu
Vedoucí projektu: Mgr. Slávka Vítečková
Student:
Lenka Hálová
22
leden 2012
a) Interpolace dat
clear all; close all;
clc;
A = xlsread('data.xlsx');
T=zeros(949,1+3*18);
je casovy
cas=A(:,1);
T(:,1)=A(:,1);
%nacteni dat z excelu do matice A
%definuji si matici na vysledky, prvni sloupec
%definuji si casovy sloupec
%zapisu do prvniho sloupce
for i=1:1:54
%i od jedne do 54 (krokuji po 1)
jednaX=A(:,2+i);
%zacne od 3. sloupce (prvni je casovy, v druhem
jsou same nuly)
jednaXI=INPAINT_NANS(jednaX,3); %interpolace dat pomoci fce
inpaint_nans (metoda 3)
T(:,i+1)=jednaXI;
%zapisu do i-teho sloupce interpolovana data
end
xlswrite('datainterp.xls', T); %export dat do Excelu
% for j=1:1:54
%
plot(cas,T(:,1+j));
%
figure
% end
%POZOR!!! vyplotuje vsech 54 grafu
%pro zavreni vsech grafu, pouzijeme "close all"
%pro vyplotovani jednoho konkretniho grafu:
%plot(cas,T(:,zvolime cislo sloupce));
b) Výpočet těžišť segmentů lidského těla
clear all; close all;
clc;
A = xlsread('datainterp.xls');
%nacteni dat z excelu (bez nuloveho
sloupce) do matice A
B = xlsread('datainterp.xls');
%nacteni dat z excelu do matice B - pro
lepsi orientaci v tvoreni tezist
T=zeros(949,38);
cas=A(:,1);
%definuji si casovy sloupec
T(:,1)=A(:,1);
%zapisu do prvniho sloupce cas
%teziste=A+(B-A)*koeficient
%PRAVA CAST TELA
T(:,2)=A(:,2)+((B(:,5)-A(:,2))*0.43);
kycli a kolenem
T(:,3)=A(:,3)+((B(:,6)-A(:,3))*0.43);
kycli a kolenem
T(:,4)=A(:,4)+((B(:,7)-A(:,4))*0.43);
kycli a kolenem
%prave stehno X - mezi
T(:,5)=A(:,5)+((B(:,8)-A(:,5))*0.41);
kolenem a kotnikem
%prave lytko X - mezi
23
%prave stehno Y - mezi
%prave stehno Z - mezi
T(:,6)=A(:,6)+((B(:,9)-A(:,6))*0.41);
kolenem a kotnikem
T(:,7)=A(:,7)+((B(:,10)-A(:,7))*0.41);
kolenem a kotnikem
%prave lytko Y - mezi
T(:,8)=A(:,8)+((B(:,11)-A(:,8))*0.5);
kotnikem a spickou nohy
T(:,9)=A(:,9)+((B(:,12)-A(:,9))*0.5);
kotnikem a spickou nohy
T(:,10)=A(:,10)+((B(:,13)-A(:,10))*0.5);
kotnikem a spickou nohy
%prave chodidlo X - mezi
T(:,11)=A(:,17)+((B(:,20)-A(:,17))*0.44);
ramenem a loktem
T(:,12)=A(:,18)+((B(:,21)-A(:,18))*0.44);
ramenem a loktem
T(:,13)=A(:,19)+((B(:,22)-A(:,19))*0.44);
ramenem a loktem
%pravy humerus X - mezi
T(:,14)=A(:,20)+((B(:,23)-A(:,20))*0.43);
loktem a zapestim
T(:,15)=A(:,21)+((B(:,24)-A(:,21))*0.43);
loktem a zapestim
T(:,16)=A(:,22)+((B(:,25)-A(:,22))*0.43);
loktem a zapestim
%prave predlokti X - mezi
%prave lytko Z - mezi
%prave chodidlo Y - mezi
%prave chodidlo Z - mezi
%pravy humerus Y - mezi
%pravy humerus Z - mezi
%prave predlokti Y - mezi
%prave predlokti Z - mezi
%LEVA CAST TELA
T(:,17)=A(:,2+42)+((B(:,5+42)-A(:,2+42))*0.43);
kycli a kolenem
T(:,18)=A(:,3+42)+((B(:,6+42)-A(:,3+42))*0.43);
kycli a kolenem
T(:,19)=A(:,4+42)+((B(:,7+42)-A(:,4+42))*0.43);
kycli a kolenem
%leve stehno X - mezi
T(:,20)=A(:,5+42)+((B(:,8+42)-A(:,5+42))*0.41);
kolenem a kotnikem
T(:,21)=A(:,6+42)+((B(:,9+42)-A(:,6+42))*0.41);
kolenem a kotnikem
T(:,22)=A(:,7+42)+((B(:,10+42)-A(:,7+42))*0.41);
kolenem a kotnikem
%leve lytko X - mezi
T(:,23)=A(:,8+42)+((B(:,11+42)-A(:,8+42))*0.5);
mezi kotnikem a spickou nohy
T(:,24)=A(:,9+42)+((B(:,12+42)-A(:,9+42))*0.5);
mezi kotnikem a spickou nohy
T(:,25)=A(:,10+42)+((B(:,13+42)-A(:,10+42))*0.5);
mezi kotnikem a spickou nohy
%leve chodidlo X -
T(:,26)=A(:,17+18)+((B(:,20+18)-A(:,17+18))*0.44);
mezi ramenem a loktem
T(:,27)=A(:,18+18)+((B(:,21+18)-A(:,18+18))*0.44);
mezi ramenem a loktem
T(:,28)=A(:,19+18)+((B(:,22+18)-A(:,19+18))*0.44);
mezi ramenem a loktem
%levy humerus X -
T(:,29)=A(:,20+18)+((B(:,23+18)-A(:,20+18))*0.43);
mezi loktem a zapestim
T(:,30)=A(:,21+18)+((B(:,24+18)-A(:,21+18))*0.43);
mezi loktem a zapestim
%leve predlokti X -
24
%leve stehno Y - mezi
%leve stehno Z - mezi
%leve lytko Y - mezi
%leve lytko Z - mezi
%leve chodidlo Y %leve chodidlo Z -
%levy humerus Y %levy humerus Z -
%leve predlokti Y -
T(:,31)=A(:,22+18)+((B(:,25+18)-A(:,22+18))*0.43);
mezi loktem a zapestim
%leve predlokti Z -
%TRUP
X=zeros(949,12);
X(:,1)=A(:,17)+((B(:,2)-A(:,17))*0.42);
X(:,2)=A(:,17+18)+((B(:,2+42)-A(:,17+18))*0.42);
T(:,32)=X(:,1)+((X(:,2)-X(:,1))*0.5);
%trup X - mezi
(pravym ramenem a pravou kcyli) a (levym ramenem a levou kycli)
X(:,3)=A(:,18)+((B(:,3)-A(:,18))*0.42);
X(:,4)=A(:,18+18)+((B(:,3+42)-A(:,18+18))*0.42);
T(:,33)= X(:,3)+((X(:,4)-X(:,3))*0.5);
%trup Y - mezi
(pravym ramenem a pravou kcyli) a (levym ramenem a levou kycli)
X(:,5)=A(:,19)+((B(:,4)-A(:,19))*0.42);
X(:,6)=A(:,19+18)+((B(:,4+42)-A(:,19+18))*0.42);
T(:,34)= X(:,5)+((X(:,6)-X(:,5))*0.5);
%trup Z - mezi
(pravym ramenem a pravou kcyli) a (levym ramenem a levou kycli)
%HLAVA S KRKEM
X(:,7)=A(:,17+18)+((B(:,17)-A(:,17+18))*0.5);
X(:,8)=A(:,15)+((B(:,33)-A(:,15))*0.5);
T(:,35)=X(:,7)+((X(:,8)-X(:,7))*0.5);
%hlava s krkem X mezi (pravym a levym ramenem) a (pravym a levym uchem)
X(:,9)=A(:,18+18)+((B(:,18)-A(:,18+18))*0.5);
X(:,10)=A(:,16)+((B(:,34)-A(:,16))*0.5);
T(:,36)=X(:,9)+((X(:,10)-X(:,9))*0.5);
%hlava s krkem Y mezi (pravym a levym ramenem) a (pravym a levym uchem)
X(:,11)=A(:,19+18)+((B(:,19)-A(:,19+18))*0.5);
X(:,12)=A(:,16)+((B(:,35)-A(:,16))*0.5);
T(:,37)=X(:,11)+((X(:,12)-X(:,11))*0.5);
%hlava s krkem Z mezi (pravym a levym ramenem) a (pravym a levym uchem)
%pro zavreni vsech grafu, pouzijeme "close all"
%CELKOVE TEZISTE
%Teziste=soucet (teziste segmentu * vaha segmentu) / soucet vsech vah
segmentu
M = xlsread('hmotnost.xlsx');
%nacteni dat s hmotnostmi z excelu do
matice M
S=zeros(949,1);
%pomocna matice S = soucet tezist
segmentu*hmotnost segmentu
m=zeros(949,1);
%pomocna matice na soucet hmotnosti
CT=zeros(949,1);
%Celkove Teziste
for j=1:1:36
S=S+(T(:,j+1)*M(1,j+1));
m=m+(M(1,j+1)/3);
CT=S/m;
%vypise matici 949x949, ale jen prvni
sloupec je nenulovy
end
T(:,38)=CT(:,1);
%vyberu nenulovy sloupec
xlswrite('datateziste.xls', T);
25
c) Výpočet ZMP
clear all; close all;
clc;
A = xlsread('datateziste.xls');
T=zeros(949,38);
cas=A(:,1);
T(:,1)=A(:,1);
for i=1:3:35
for j=2:948
%SOURADNICE TEZISTE
%
Xcom=A(:,i+1);
%
Ycom=A(:,i+2);
%
Zcom=A(:,i+3);
%nacteni dat z excelu
%matice na vysledky
%casovy sloupec
%do 1. sloupce zapisu cas
%sloupec i+1
%VZTAH PRO VYPOCET ZMP
%
Xzmp=Xcom-(diff(Xcom,2)/9.81)*Zcom;
%
Yzmp=Ycom-(diff(Ycom,2)/9.81)*Zcom;
%
Zzmp=0;
K1=[A(j-1,i+1),A(j,i+1),A(j+1,i+1)];
%j-1,j,j+1 ... 3 radky po sobe
jdouci ve sloupci
K2=[A(j-1,i+2),A(j,i+2),A(j+1,i+2)];
%cas1=[cas(j-1,1),cas(j,1),cas(j+1,1)];
T(j,i+1)=A(j,i+1)-(diff (K1,2)/9.81)*A(j,i+3);
T(j,i+2)=A(j,i+2)-(diff (K2,2)/9.81)*A(j,i+3);
%ZAPIS SOURADNIC ZMP DO MATICE T
%
T(:,i+1)=Xzmp;
%
T(:,i+2)=Yzmp;
%
T(:,i+3)=Zzmp;
end
end
xlswrite('ZMP.xls', T); %zapis vysledne matice T do excelu
26

Podobné dokumenty

Z-ANO - České vysoké učení technické v Praze

Z-ANO - České vysoké učení technické v Praze Fuzzy logika spočívá v rozšíření logických operátorů na fuzzy množiny. Teorie fuzzy množin spočívá v zavedení tzv. stupně příslušnosti prvku k množině, který může nabývat

Více

katalog ke stažení - Filmový klub Vsetín

katalog ke stažení - Filmový klub Vsetín Èervený kùò èi ve filmu Nejdelší cesta, který jsme pøipravili pro aktuální semináø). Rozhovor s Metem Jovanovskim - pøedstavitelem hlavních rolí ve filmech Tetování a Zatím bez dobrého názvu, otisk...

Více

Biomechanická analýza chůze s různými typy protetických chodidel

Biomechanická analýza chůze s různými typy protetických chodidel zkonstruován hydraulický kolenní kloub, který zajiš oval kontrolu p i stojné i švihové fázi krokového cyklu a ischiální kvadrilaterální l žko. Tepeln upravitelná prysky ice se ukázala jako vhodná p...

Více

PES A FENA ROKU 2015 PES A FENA ROKU 2015

PES A FENA ROKU 2015 PES A FENA ROKU 2015 Pes na netitulové akci získal v kategorii OB3 celkem 250 bodů a porazil 3 psy. Z = 250 / 10 * 3 + 30 = 105

Více

Novinky Trek 2012

Novinky Trek 2012 m6.A to jiZ vzhtedem k jfzdnimuproje- vdm piipomene. vu, kteqi se d5 v lehkostipiirovnatprd- TopFuetu.V ter6nujeStEupouitimepL55n5mnaktuzkych ityii atmosf6ry vE ke kiidtim mouchy. StejnEsnadnose tE...

Více

Acrobat reader PDF soubor 20 stránek

Acrobat reader PDF soubor 20 stránek (Theory of testing and evaluation of human motoricity and its use for education process.) zBlahuš,P.: Zkušenosti s využitím informačního systému pro řízení výběru talentů v tréninkových střediscích...

Více

tady

tady teto ceste jsme vyjeli z Nevady, prejeli maly cip Arizony a dostali se do Utahu. Pozdeji jsme se zase do Arizony vratili, takze ted predbehnu a povim Ti neco o case. Na ceste z Minnesoty (ktera ma...

Více