• No results found

Prvotním cílem této bakalářské práce bylo seznámení se se stávající situací oboru rehabilitační robotiky v celosvětovém měřítku a vytvoření rešerše na toto téma.

Poznatky získané při sbírání a hledání informací pro zpracování rešerše byly nezbytné pro vypracování a realizaci dalších cílů mé práce. Z úvodu práce se tak dozvídáme základní principy a podstatu rehabilitační robotiky, ale i prvopočátky tohoto oboru, které sahají až do první poloviny 19. století. Uvedli jsme si druhy robotických systémů, které se ve zdravotnictví ve velké míře používají. Nemohli jsme zapomenout také na samotný proces rehabilitace pacienta, kde jsme také porovnávali robotickou rehabilitaci s rehabilitací manuální, pouze za asistence terapeuta. V neposlední řadě jsme si uvedli typy pohonů, které využívají při konstrukci tohoto typu zařízení, včetně samotného řídícího procesu.

Po získání základních teoretických znalostí jsme se zaměřili na hlavní cíl práce, kterým bylo sestavení řídícího programu pro řízení pohybů rehabilitačního lůžka. V první fázi výzkumné části jsme sestavili základní nákresy lůžka s rozložením důležitých bodů, zmapovali tři možné typy pohybu postele a popsali samotný proces rehabilitace pacienta, prováděného na našem zařízení. Tím jsme získali celkový přehled o celém zařízení a mohli jsme se tak věnovat samotnému řídícímu systému. Nejdříve jsme se seznámili s daným řídícím systémem a vývojovým prostředím, ve kterém jsme

definovali řídící algoritmy pro chod lůžka. Stanovili jsme vhodnou konfiguraci systému.

Prvním krokem při sestavování samotného projektu byla tvorba vizualizace dotykového displeje, prostřednictvím kterého je rehabilitační systém ovládán. Při sestavování projektu a řídících algoritmů jsem vycházel především z poznatků získaných na

několikadenním školení od zaměstnanců firmy B&R Automation, které bylo zaměřené právě na dané vývojové prostředí (viz. příloha č.5). Celý projekt jsem pro lepší

přehlednost rozdělil do několika funkčních ''balíčků'', jejichž struktura, funkce i náhled zdrojových kódů je uvedena ve výzkumné části bakalářské práce. Závěrem práce je uveden popis řídícího panelu, což by mělo zároveň sloužit jako návod k obsluze rehabilitačního zařízení.

Výsledek celé práce je tedy takový, jaký jsme si na začátku představovali.

Podařilo se nám sestavit řídící program a nakonfigurovat řídící systém, prostřednictvím

- 50 -

kterého řídíme rehabilitační lůžko. Obsluha si může zvolit z několika možných typů rehabilitačních cvičení, u kterých si lze zvolit délku prováděného pohybu i počet opakování. Jako součást projektu se nám také podařilo sestavit program, díky kterému dochází k časové kompenzaci výkonu elektromotoru (časové délce prováděného cviku) v závislosti na pacientově hmotnosti. Rehabilitační zařízení je tak plně funkční a připraveno pro klinické využití. Zároveň splňuje všechny požadavky a cíle, které byly na počátku práce stanoveny.

Téma bakalářské práce bylo více než zajímavé a splnilo má osobní očekávání.

Zabývalo se problematikou, která je v posledních letech více než aktuální a ve které dochází k neustálému rozvoji. Celá bakalářská práce včetně samotné práce na vybraném řídícím systému mi dala řadu zcela nových zkušeností a poznatků, se kterými bych se jinak během studia nejspíš neměl šanci setkat.

- 51 -

Seznam zdrojů:

1. ROBERTSON, J., JERASSÉ, N., ROBY-BRAMI, A.. Rehabilitation robots: a compliment to virtual reality. Schedae, 2010. Dostupné z: <

http://www.unicaen.fr/services/puc/ecrire/preprints/preprint0062010.pdf>

2. American orthotic and prosthetic association. History. Dostupný z: <

http://www.aopanet.org/about-aopa/history/>

3. FRUMENTO, Ch., MESSIER, E., MONTERO, V.. History and future of rehabilitation robotics. Worchester Polytechnic Institute, 2010. Dostupné z:

<http://www.wpi.edu/Pubs/E-project/Available/E-project-031010-112312/unrestricted/HRRIQP_Final.pdf>

4. SPEICH, J., ROSEN, J.. Medical robotics. Dostupné z: <

http://bionics.soe.ucsc.edu/publications/BC_01_Medical_Robotics.pdf >

5. HILLMAN, Michael. Rehabilitation robotics from past to present - a historical perspective. Bath Institute od Medical Engeneering, 2003. Dostupné z: <

http://www.researchgate.net/publication/225320978_2_Rehabilitation_Robotics _from_Past_to_Present__A_Historical_Perspective >

6. Strukturální stránka tělesného cvičení. Dostupné z: <

http://eamos.pf.jcu.cz/amos/kat_tv/externi/antropomotorik/telesna_cviceni/stran ky/strukturalni_stranka.htm>

7. Vyšší odborná škola zdravotnická a Střední zdravotnická škola Hradec Králové, Terapie. Dostupné z: < http://ose.zshk.cz/vyuka/terapie.aspx?tid=111>

8. TONDROVÁ, I.. Rehabilitační ošetřovatelství. Střední zdravotnická a Vyšší odborná škola zdravotnická, Mladá Boleslav, 2010. Dostupné z:<

http://www.szsmb.cz/admin/upload/sekce_materialy/RHB_2.pdf>

- 52 -

9. KT-Equal. Robots in rehabilitation. Dostupné z: <

http://www.sparc.ac.uk/media/downloads/executivesummaries/robots_monograp h.pdf>

10. Mobilizace pacienta: pasivní. Masarykova univerzita. Dostupné z: <

https://is.muni.cz/el/1451/podzim2013/bp1137/Proped_IV-_pasivni_pohyb.pdf>

11. SZABÓ, Z., KAULER, J.. Využití biosignálů v asistvních technologiích. FBMI ČVUT, Praha. Dostupné z:<

www.fbmi.cvut.cz/files/nodes/5054/public/prezentace_kauler.ppt >

12. Kalpe. Léčba s přístroji Motren - Rotren. Dostupné z: <

http://www.kalpe.cz/lecba-s-pristroji-motren-rotren/>

13. Ormedent. Motodlahy Artromot. Dostupné z:<

http://www.ormedent.cz/index.php?page=motodlahy>

14. AKDOGAN, E., DEMIR M.. Rehabilitation Technologies: Biomechatronics Point of view.Yildiz Technical University. Dostupné z: <

http://cdn.intechopen.com/pdfs-wm/37342.pdf >

15. SKAŘUPA, Jiří. Průmyslové roboty a manipulátory. 1. vydání. Ostrava: Ediční středisko VŠB - TUO; 2007. 260 s. ISBN 978-80-248-1522-0.

16. SVOBODA, J., Bezsenzorové řízení rychlosti a polohy stejnosměrného kartáčového motoru malého výkonu. VUT v Brně, 2012. Bakalářská práce.

17. Princip stejnosměrnéhých motorů. Dostupné z:

<http://elektrika.cz/obr/08_principstejnostimotoru_01v.jpg>

18. SMC Training, Elektronické řízení. Dostupné z < http://2009.oc.smc-cee.com/cz/pdf/LG2_Steuerungen.pdf>

- 53 -

19. VLČEK, J.. Moderní elektronika. 1.vydání. Praha: Ben, 2003. 273 s. ISBN:

8594011421555.

20. TŮMA, J., WAGNEROVÁ, R., FARANA, R., LANDRYOVÁ, L.. Základy automatizace. 1. vydání. Ostrava: Ediční středisko VŠB - TUO, 2007. 283 s.

ISBN 978-80-248-1523-7.

21. JOHN, Karl-Heinz, TIEGELKAMP, Michael. Programming Industrial

Automation Systems. 2. vydání. Berlin: Springer, 2010. 390 s. ISBN 978-3-642-12014-5.

22. ŠOLCOVÁ, Simona. Rehabilitace po cévní mozkové příhodě. 1. vydání. Praha:

Grada Publishing, 2004. 199 s. ISBN 80-247-0592-3.

23. TARASOVÁ, Martina. Rehabilitace pacientů s cévní mozkovou příhodou. Brno, 2010. Disertační práce. Masarykova univerzita, Lékařská fakulta.

24. GREPL, Robert. Kinematika a dynamika mechatronických systémů. 1.vydání.

Brno: VUT, 2007. 166 s. ISBN 978-80-214-3530-8.

25. KOLÁŘ, Pavel. Rehabilitace v klinické praxi. 1.vydání. Praha: Galén, 2010. 713 s. ISBN 978-80-7262-657-1.

26. Princip - lineární motor. Dostupné z:

<http://www.pohonnatechnika.cz/skola/motory/linearni-motor>

27. JURNÍČEK, J. Návrh a realizace laboratorní úlohy řízení

elektro-pneumatického manipulátoru festo. Brno,2013. Diplomová práce. VUT v Brně.

Fakulta strojního inženýrství. Dostupné z: <

http://autnt.fme.vutbr.cz/szz/2013/DP_Jurnicek.pdf>

- 54 -

Seznam obrázků:

Obrázek č.1 - Princip stejnosměrného kartáčového motoru Obrázek č.2 - Princip lineárního motoru

Obrázek č.3 - Konstrukce lůžka

Obrázek č.4 - Rozměry a umístění zvedacích sloupků pro manipulaci s trupem pacienta Obrázek č.5 - Rozměry a umístění zvedacích sloupků pro manipulaci s dolními

končetinami pacienta .

Obrázek č.6 - První pohyb lůžka - zvedání trupu pacienta Obrázek č.7,8 - Fotografie lůžka - zvedání trupu pacienta

Obrázek č.9 - Druhý pohyb lůžka - zvedání dolních končetin pacienta Obrázek č.10,11 - Fotografie lůžka - zvedání dolních končetin pacienta Obrázek č.12 - Třetí pohyb lůžka

Obrázek č.13 - Fotografie lůžka v klidové poloze

Obrázek č.14 - Ovládací modul s dotykovou obrazovkou Obrázek č.15 - Uspořádání projektu v Automation Studiu Obrázek č.16 - Vývojový diagram celého projektu

Obrázek č.17 - Struktura programu HmotnostComp

Obrázek č.18 - Struktura programu Control (Cvičení) . Obrázek č.19 - Struktura programu Control (Rehabilitace) Obrázek č.20 - Náhled úvodní obrazovky ovládacího panelu Obrázek č.21 - Výběr prováděného cviku a jeho délky Obrázek č.22 - Náhled druhé obrazovky

- 55 -

Seznam příloh:

Příloha č.1 - Náhled zdrojového kódu programu HmotnostComp (Cvičení) Příloha č.2 - Náhled zdrojového kódu programu Visual (Cvičení)

Příloha č.3 - Náhled zdrojového kódu řídícího programu Control (Cvičení) Příloha č.4 - Náhled zdrojového kódu řídícího programu Control (Rehabilitace) Příloha č.5 - Certifikát o absolvování školení Automation Studio

Příloha č.6 - Prospekt lůžka NOVOS

- 56 -

IF Hmotnost.m60dwn THEN

Nohy_Vzuhu_100_up[0]:=Nohy_Vzuhu_100_up[1];

Nohy_Vzuhu_100_dwn[0]:=Nohy_Vzuhu_100_dwn[1];

Nohy_Vzuhu_75_up[0]:=Nohy_Vzuhu_75_up[1];

Nohy_Vzuhu_75_dwn[0]:=Nohy_Vzuhu_75_dwn[1];

Nohy_Vzuhu_50_up[0]:=Nohy_Vzuhu_50_up[1];

- 57 -

IF Hmotnost.m60 THEN tmp:=TRUE;

- 58 -

12: Cviceni.Nohy_Vzuhu_25:=TRUE;

END_CASE;

END_PROGRAM

- 59 -

IF Cviceni.Sklapovacky_100 THEN TimerCvik_PT:=

Nohy_Vzuhu_100_up[0]; END_IF;

IF Cviceni.Sklapovacky_75 THEN TimerCvik_PT:=Nohy_Vzuhu_75_up[0]; END_IF;

IF Cviceni.Sklapovacky_50 THEN TimerCvik_PT:=

Nohy_Vzuhu_50_up[0]; END_IF;

IF Cviceni.Sklapovacky_25 THEN TimerCvik_PT:=Nohy_Vzuhu_25_up[0]; END_IF;

IF Cviceni.Leh_Sed_100 THEN TimerCvik_PT:=

Leh_Sed_100_up[0]; END_IF;

IF Cviceni.Leh_Sed_75 THEN TimerCvik_PT:= Leh_Sed_75_up[0];

END_IF;

IF Cviceni.Leh_Sed_50 THEN TimerCvik_PT:=

Leh_Sed_50_up[0]; END_IF;

IF Cviceni.Leh_Sed_25 THEN TimerCvik_PT:=

Leh_Sed_25_up[0]; END_IF;

IF Cviceni.Nohy_Vzuhu_100 THEN TimerCvik_PT:=

Nohy_Vzuhu_100_up[0]; END_IF;

IF Cviceni.Nohy_Vzuhu_75 THEN TimerCvik_PT:=

Nohy_Vzuhu_75_up[0]; END_IF;

IF Cviceni.Nohy_Vzuhu_50 THEN TimerCvik_PT:=

Nohy_Vzuhu_50_up[0]; END_IF;

IF Cviceni.Nohy_Vzuhu_25 THEN TimerCvik_PT:=

Nohy_Vzuhu_25_up[0]; END_IF;

TimerCvikStart:=TRUE;

state:=20;

20:

TimerCvikStart:=FALSE;

IF Cviceni.Sklapovacky_100 THEN Pohyby.Hlava_nahoru:=TRUE;

Pohyby.Nohy_nahoru:=TRUE; END_IF;

IF Cviceni.Sklapovacky_75 THEN Pohyby.Hlava_nahoru:=TRUE;

Pohyby.Nohy_nahoru:=TRUE; END_IF;

IF Cviceni.Sklapovacky_50 THEN Pohyby.Hlava_nahoru:=TRUE;

Pohyby.Nohy_nahoru:=TRUE; END_IF;

IF Cviceni.Sklapovacky_25 THEN Pohyby.Hlava_nahoru:=TRUE;

Pohyby.Nohy_nahoru:=TRUE; END_IF;

IF Cviceni.Leh_Sed_100 THEN Pohyby.Hlava_nahoru:=TRUE;

END_IF;

IF Cviceni.Leh_Sed_75 THEN Pohyby.Hlava_nahoru:=TRUE;

END_IF;

IF Cviceni.Leh_Sed_50 THEN Pohyby.Hlava_nahoru:=TRUE;

END_IF;

IF Cviceni.Leh_Sed_25 THEN Pohyby.Hlava_nahoru:=TRUE;

END_IF;

IF Cviceni.Nohy_Vzuhu_100 THEN Pohyby.Nohy_nahoru:=TRUE;

- 60 -

END_IF;

IF Cviceni.Nohy_Vzuhu_75 THEN Pohyby.Nohy_nahoru:=TRUE;

END_IF;

IF Cviceni.Nohy_Vzuhu_50 THEN Pohyby.Nohy_nahoru:=TRUE;

END_IF;

IF Cviceni.Nohy_Vzuhu_25 THEN Pohyby.Nohy_nahoru:=TRUE;

END_IF;

state:=30;

30:

IF NOT TimerCvik.Q THEN

Pohyby.Hlava_dolu:=FALSE;

IF NOT TimerVydrz.Q THEN state:=40; END_IF;

40: IF Cviceni.Sklapovacky_100 THEN TimerCvik_PT:=

Nohy_Vzuhu_100_dwn[0]; END_IF;

IF Cviceni.Sklapovacky_75 THEN TimerCvik_PT:=Nohy_Vzuhu_75_dwn[0]; END_IF;

IF Cviceni.Sklapovacky_50 THEN TimerCvik_PT:=

Nohy_Vzuhu_50_dwn[0]; END_IF;

IF Cviceni.Sklapovacky_25 THEN TimerCvik_PT:=Nohy_Vzuhu_25_dwn[0]; END_IF;

IF Cviceni.Leh_Sed_100 THEN TimerCvik_PT:=

Leh_Sed_100_dwn[0]; END_IF;

IF Cviceni.Leh_Sed_75 THEN TimerCvik_PT:=

Leh_Sed_75_dwn[0]; END_IF;

IF Cviceni.Leh_Sed_50 THEN TimerCvik_PT:=

Leh_Sed_50_dwn[0]; END_IF;

IF Cviceni.Leh_Sed_25 THEN TimerCvik_PT:=

Leh_Sed_25_dwn[0]; END_IF;

IF Cviceni.Nohy_Vzuhu_100 THEN TimerCvik_PT:=

Nohy_Vzuhu_100_dwn[0]; END_IF;

IF Cviceni.Nohy_Vzuhu_75 THEN TimerCvik_PT:=

Nohy_Vzuhu_75_dwn[0]; END_IF;

IF Cviceni.Nohy_Vzuhu_50 THEN TimerCvik_PT:=

Nohy_Vzuhu_50_dwn[0]; END_IF;

IF Cviceni.Nohy_Vzuhu_25 THEN TimerCvik_PT:=

Nohy_Vzuhu_25_dwn[0]; END_IF;

TimerCvikStart:=TRUE;

state:=50;

50:

- 61 -

TimerCvikStart:=FALSE;

IF Cviceni.Sklapovacky_100 THEN Pohyby.Hlava_dolu:=TRUE;

Pohyby.Nohy_dolu:=TRUE; END_IF;

IF Cviceni.Sklapovacky_75 THEN Pohyby.Hlava_dolu:=TRUE;

Pohyby.Nohy_dolu:=TRUE; END_IF;

IF Cviceni.Sklapovacky_50 THEN Pohyby.Hlava_dolu:=TRUE;

Pohyby.Nohy_dolu:=TRUE; END_IF;

IF Cviceni.Sklapovacky_25 THEN Pohyby.Hlava_dolu:=TRUE;

Pohyby.Nohy_dolu:=TRUE; END_IF;

IF Cviceni.Leh_Sed_100 THEN Pohyby.Hlava_dolu:=TRUE; END_IF;

IF Cviceni.Leh_Sed_75 THEN Pohyby.Hlava_dolu:=TRUE; END_IF;

IF Cviceni.Leh_Sed_50 THEN Pohyby.Hlava_dolu:=TRUE; END_IF;

IF Cviceni.Leh_Sed_25 THEN Pohyby.Hlava_dolu:=TRUE; END_IF;

IF Cviceni.Nohy_Vzuhu_100 THEN Pohyby.Nohy_dolu:=TRUE; END_IF;

IF Cviceni.Nohy_Vzuhu_75 THEN Pohyby.Nohy_dolu:=TRUE; END_IF;

IF Cviceni.Nohy_Vzuhu_50 THEN Pohyby.Nohy_dolu:=TRUE; END_IF;

IF Cviceni.Nohy_Vzuhu_25 THEN Pohyby.Nohy_dolu:=TRUE; END_IF;

state:=60;

60:

IF NOT TimerCvik.Q THEN

Pohyby.Hlava_dolu:=FALSE;

IF StopReq THEN Rezim.Automatic:=FALSE;

Rezim.Cvik_Request:=FALSE; Rezim.Manual:=TRUE; END_IF; (*stop az po dokonceni cviku*) END_IF

END_CASE;

END_IF;

- 62 -

10:(*zapnuti pohyby dle casovace*)

TimerPohyb.PT:=Rehabilitace[rehab_index].cas_pohybu;

PohybStart:=TRUE;

CASE Rehabilitace[rehab_index].pohyb_typ OF 1: Pohyby.Hlava_nahoru:=TRUE; rehab_index:=rehab_index+1; ELSE rehab_index:=0; END_IF;

state_rehab:=20;

20:(*zapnuti pohyby dle casovace*) PohybStart:=FALSE;

status_string:='Rehabilitace - Provadim pohyb';

IF NOT TimerPohyb.Q THEN

Pohyby.Hlava_dolu:=FALSE;

IF NOT TimerPauza.Q THEN state_rehab:=10;

END_IF;

- 63 -

Příloha č.5:

Diplom dokládající účast na semináři programování robotiky ve vývojovém prostředí Automation Studio.

- 64 -

Příloha č.6:

Řídící program byl aplikován na polohovatelné lůžko Novos od společnosti LINET, jehož parametry jsou uvedeny následujícím prospektu.

Related documents