Mendelova zemědělská a lesnická univerzita v Brně Agronomická fakulta Ústav techniky a automobilové dopravy
Interaktivní animace v programu MAPLE Bakalářská práce
Vedoucí práce: doc. RNDr. Stanislav Bartoň, CSc. Brno 2007
Vypracoval: Michal Jurga
Zadání
2
PROHLÁŠENÍ Prohlašuji, že jsem bakalářskou práci na téma Interaktivní animace v Maple vypracoval samostatně a použil jen pramenů, které cituji a uvádím v přiloženém seznamu literatury. Souhlasím, aby práce byla uložena v knihovně Mendelovy zemědělské a lesnické univerzity v Brně a zpřístupněna ke studijním účelům.
dne………………………………………. podpis diplomanta……………………….
3
PODĚKOVÁNÍ Rád bych tímto poděkoval vedoucímu bakalářské práce Doc. RNDr. Stanislavu Bartoňovi, CSc. za jeho ochotu, přístup, cenné rady a připomínky, které mi pomohly při zpracování této bakalářské práce.
4
Anotace Bakalářská práce se zabývá matematickým popisem skutečných dějů a jejich animací v programu Maple. Za skutečný proces byl zvolen pohyb sekčních garážových vrat a výpočet ideálního umístění táhel křídlových vrat. V práci jsou rozebírány různé druhy garážových vrat a bran, jako například: pojezdové brány, nesené brány, výklopná vrata, rolovací vrata a hlavně sekční a křídlová vrata. U sekčních vrat je řešeno počítání velikosti rozměru sekcí a jejich počet. U křídlových vrat jsou popsány silové poměry a výpočet vzdálenosti pro optimální navržení a umístění táhel. Sekční garážová vrata a křídlová vrata mají podrobně popsaný zdrojový kód a jsou zobrazeny v animační podobě. Klíčová slova: pohyb vrat, rozměr sekcí, silové poměry, animace
Annotation The bachelor´s work deals with mathematic description of real actions and their animation in the program Maple. The chosen real process is the movement of the section garage gate and the calculation of an ideal placement of the pulls of the winged gate. Various kinds of garage gates and wicket doors are analyzed in this work, e.g. sliding gates, lifted (hung up) gates, dumping gates, rolling up gates and most importantly section and winged gates. In section gates I am dealing with calculation of the section dimensions and their number. In the winged gates I am describing the force proportions and calculation of the distance for optimal proposal (design) and placement of the pulls. The section garage gate and the winged gate have a detailed description of the source code and are depicted in animation form. Key words: section gate movement, section dimensions, force proportions, animation
5
OBSAH:
OBSAH:............................................................................................................ 6 1. ÚVOD ........................................................................................................... 7 1.1 Cíl práce.......................................................................................................................7 1.2 Stručný popis programu MAPLE ................................................................................7 1.3 Programové prostředí MAPLE ....................................................................................8 1.3.1 Výhody systému MAPLE.....................................................................................8 1.3.2 Nevýhody systému MAPLE ...............................................................................11 1.3.3 Základní příkazy v MAPLE................................................................................11
2. Brány a garážová vrata ............................................................................ 13 2.1 Pojezdové brány.........................................................................................................13 2.2 Nesené brány..............................................................................................................14 2.3 Křídlové brány a vrata ...............................................................................................15 2.4 Výklopná vrata...........................................................................................................16 2.5 Rolovací vrata ............................................................................................................17 2.6 Sekční vrata................................................................................................................18
3. Popis animace pohybu vrat ...................................................................... 20 3.1 Animace pohybu sekčních garážových vrat ..............................................................20 3.2 Animace pohybu dvoukřídlých garážových vrat .......................................................24 3.1.1 Stanovení optimální délky táhla mechanizmu otevírání dvoukřídlých garážových vrat............................................................................................................30
4. Závěr........................................................................................................... 37 5. Seznam použité literatury......................................................................... 38 6. Seznam obrázků ........................................................................................ 39 7. Příloha ........................................................................................................ 40
6
1. ÚVOD
1.1 Cíl práce Cílem bakalářské práce s názvem Interaktivní animace v programu MAPLE je vytvořit animační model sekčních garážových vrat, kde bude možnost měnit vstupní parametry. Výsledkem budou rozměry jednotlivých sekčních dílů vrat a jejich počet. Dalším požadavkem na tuto práci je vytvořit animaci a navrhnout optimální konstrukční rozměry a umístění vratových táhel za pomocí silových účinků při otevírání vrat. S těmito modely budeme řešit reálné situace a následně je vyhodnocovat. Veškerá činnost této práce byla podniknuta za účelem vstřícnějšímu přístupu k zákazníkům a zjednodušení jejich představivosti. 1.2 Stručný popis programu MAPLE Maple je programové prostředí, vyvinuté během uplynulých dvaceti pěti let společně na několika západních univerzitách, přičemž největší podíl práce vykonala skupina vědců sdružená pod názvem ”Symbolic Computation Group” na univerzitě ve Waterloo v Kanadě a dále pak na federální technické universitě ETH Zürich ve Švýcarsku, kam část této skupiny přešla v roce 1990. V současné době je MAPLE komercializován a jeho další vývoj řídí kanadská firma Maplesoft Inc., (http://www.maplesoft.com) sídlící ve Waterloo ve státe Ontario. Jméno MAPLE by mohlo být odvozeno z anglického sousloví Mathematics pleasure (Matematika potěšením). Ve skutečnosti však MAPLE náleží do systému počítačové algebry, které se označují zkratkou CAS (Computer Algebra System), což jsou interaktivní programy, které narozdíl od standardních programu pro numerické výpočty modelují matematické operace se symbolickými výrazy. Během posledních deseti let se Maple stal jedním z nejmodernějších a nejintenzivněji se rozvíjejících systému počítačové algebry ve světě.
7
1.3 Programové prostředí MAPLE Na začátek je nutné poznamenat, že struktura příkazu programu MAPLE 9.5 a způsob jejich použití je naprosto nezávislý na operačním systému a druhu počítače, na kterém program pracuje. Jediné omezení je dáno použitým hardware a software, které limitují velikost a rozsah řešeného problému a tím i způsob řešení. Spuštění programu závisí na typu počítače a operačního systému, ve kterém se program spouští. Po spuštění se program ohlásí promptem, tj. znakem (většinou >) že je připraven přijmout a zpracovat příkaz uživatele. Maple je program pro řešení matematických problémů. Program pracuje přímo se symboly, kterými jsou rovnice tvořeny, což znamená, že zachovává obecnost, dokud nepotřebujeme číselnou odpověď. Současná verze 9.5 systému MAPLE (zkráceně MAPLE 9.5) neumí jenom vykreslovat dvojrozměrné či trojrozměrné grafy, ale také umožňuje tvořit pokročilejší grafiku, jako animace, pole vektorů, parametrické křivky nebo dynamické systémy. Maple 9.5 pokračuje v dlouhé tradici společného vývoje algoritmů skupinami expertů nejprestižnějších světových institucích. Obsahuje 3000 matematických funkcí pokrývajících mnoho oblastí symbolických a numerických výpočtů. 1.3.1 Výhody systému MAPLE Výhod programu MAPLE je mnoho, proto zde uvedeme jen některé. •
Prakticky neomezená velikost a přesnost čísel
•
Symbolické zpracování výrazů
•
Zobrazení výsledků pomocí grafů, a to i implicitně zadaných funkcí
•
Podpora knihoven podprogramů
•
Vlastní výkonný programovací jazyk
•
Vylepšené uživatelské rozhraní, palety pro jednodušší vkládání výrazů a funkcí.
•
Převod Maple aplikací do jiných formátů - např. Microsoft Excel, Matlab, C, Fortran
•
Export worksheetů do HTML, LaTeXu, RTF
•
Export grafů do různých formátů
•
Matematický technický slovník obsahující okolo 5000 pojmů. 8
Bezesporu největší výhodou a velmi důležitým pomocníkem ve využívání Maple je jeho nápověda. Tato interaktivní nápověda v Maple 9.5 slouží ke snadné a rychlé orientaci ve tisících maplovských příkazů, funkcí, knihoven a balíků a jejich parametrů. V Maple 9.5 je nápověda řešena jako systém textových dokumentů propojených hypertextovými odkazy. Každá standardní funkce (příkaz) Maple 9.5 má zpracovánu vlastní stránku s nápovědou. Jednotlivé stránky nápovědy k maplovskému příkazu mají pevnou strukturu, skládající se z následujících po sobě jdoucích částí: •
název a charakteristika příkazu
•
popis volání příkazu
•
definice parametrů příkazu
•
podrobný popis vlastností příkazu
•
příklady použití příkazu
•
seznam hypertextových odkazů na příbuzná témata v nápovědě Maple 9.5 Systém interaktivní nápovědy v Maple 9.5 spočívá v tom, že umožňuje zpřístupnit
přímo stránku týkající se zadané funkce. Okno nápovědy je možné otevřít mnoha způsoby. Lze je otevřít jako dotaz na syntaxi známého příkazu, jako hledání v určité oblasti nebo při hledání významu některého matematického pojmu. Je-li již jméno funkce v zápisníku použito, tak stačí na něj přenést kurzor, myší či klávesovými šipkami, a poté vybrat položku `Help on Context` z menu Help zápisníku. Pokud jsme v situaci, kdy hledáte funkci, jejíž jméno neznáte, nezbývá vám, než procházet systém stránek nápovědy manuálně. Systém stránek nápovědy je však hierarchicky členěn a díky tomu se v něm dá velice dobře vyhledávat. Otevřít systém nápovědy můžeme například pomocí položky Using Help v menu Help. Další možností je užití „?“ před předmět dotazu a nebo příkazu help(předmět_dotazu). Celá nápověda je členěna do několika základních oblastí podle způsobu práce a hledání, přičemž až na položku History odpovídají jednotlivým položkám v menu Help hlavního okna: •
Table of contents / Obsah (klávesová zkratka Ctrl-F1) – tato část obsahuje seznam témat nápovědy přehledně uspořádaných a členěných do formátu stromu.
•
Topic search / Vyhledávání témat (klávesová zkratka Ctrl-F2) – zde je možné vyhledávat v seznamu jednotlivých témat nápovědy podle jejich názvů. 9
•
Search / Vyhledávání (klávesová zkratka Ctrl-F3) – jde o standardní full-textový vyhledávač, který umožňuje prohledávat obsah textů nápovědy a také v matematické slovníku.
•
Math Dictionary / Matematický slovník (klávesová zkratka Ctrl-F11)– obsahuje nový, plně integrovaný slovník matematických a technických výrazů.
•
History / Historie témat – umožňuje procházet seznamem dosud prohlížených položek. Jak již bylo řečeno, tyto části nápovědy jsou vzájemně hypertextově provázány,
což umožňuje rychlé a přehledné hledání, takže při vyhledávání klíčových slov se dozvíme nejen v jaké funkci jsou použity, ale také jaký význam má daný matematický význam. Nejdůležitější částí celé nápovědy jsou dvě okna v hlavní části. Vzájemnou velikost těchto dvou oken je možné měnit posunem lišty, která je odděluje, čímž můžeme zajistit větší prostor pro text nápovědy. Levé okno obsahuje seznam témat, ze kterých je možné vybírat, přičemž je rozděleno záložkami podle způsobu práce. Tyto záložky odpovídají výše uvedeným částem struktury (Contents, Topic, Search, Dictionary, History). Téma, které nás zajímá, vybereme myší. V některých případech jde o celou oblast, kterou můžeme rozbalit a v této oblasti vybírat. Pravé okno pak obsahuje vlastní text nápovědy je rozdělený do několika částí, které umožňují snazší orientaci, přičemž některé části nemusí být vždy zobrazeny: •
Calling sequence – jakým způsobem a s kolika parametry je daná funkce volána.
•
Parameters – jakého typu mají být vstupní a výstupní parametry funkce.
•
Description – prováděcí skupina s podrobným popisem funkce, tj. základní chování funkce, typ a formát výsledku, způsob vyhodnocování parametrů, způsob použití parametrů, volitelné parametry, omezení funkce a další.
•
Examples – tato prováděcí skupina obsahuje ukázkové příklady použití funkce v různých situacích a s různými vstupy.
•
See also – obsahuje seznam funkcí, které jsou dané blízké dané oblasti, nebo danou oblast zahrnují a případně jsou v ní zahrnuty.
10
1.3.2 Nevýhody systému MAPLE MAPLE má také několik nevýhod, jejichž počet klesá s novějšími verzemi programu. •
Není dopracována možnost exportu grafů do jiných programů. Mělo by být možné exportovat data používaná pro výpočet grafu například v podobě DXF souboru. Potom by šlo tento soubor používat v CAD systémech apod.
•
Chybí možnost dokonalejšího zobrazení grafů.
•
Omezené možnosti exportu vypočtených dat
1.3.3 Základní příkazy v MAPLE V programu Maple existuje nepřeberné množství příkazů pro řešení jak jednoduchých, tak i složitých problémů. Pro upřesnění zde uvádím nejčastěji zadávané příkazy: •
help - Velmi podrobně vysvětlí a popíše příkaz, včetně několika ukázek jeho použití.
•
solve - Příkaz pro řešení algebraických rovnic nebo jejich soustav. Pokud existuje více řešení, tak je oddělí čárkou.
•
subs - Ve funkci nebo v proměnné nahradí proměnnou jinou proměnnou.
•
evalf - Příkaz, který vyčíslí numericky zadaný výraz.
•
Digits - Nastaví přesnost výpočtu na požadovaný počet platných cifer.
•
fsolve - Numerické řešení rovnic, nebo jejich soustav s přesností požadovanou příkazem Digits. Řešení probíhá pomocí Newtonovy iterační metody. Je možné požadovat i řešení v komplexním oboru.
•
plot - Vykreslí graf požadované funkce. Jedním z parametru je souřadný systém pravoúhlý, polární. Graf muže být zadán i parametricky. Jako další z příkazu muže být parametr pro konverzi grafu do souboru pro zpracování.
11
•
plot3d - Prostorový graf v pravoúhlých, cylindrických nebo kulových souřadnicích. Provádí výmaz neviditelných hran, stínování, řeší perspektivu.
•
simplify - Provede zjednodušení zadaného příkazu. Jednoduché výrazy jsou zjednodušovány automaticky.
•
sqrt - Odmocní daný výraz.
•
diff - Vypočte derivaci z výrazu podle proměnných, které jsou zadány jako parametry.
•
int - Počítá určitý nebo neurčitý integrál z požadovaného výrazu. Pokud nelze nalézt požadovaný vztah, opíše zadaný příkaz na obrazovku.
•
dsolve - Řeší diferenciální rovnice a jejich soustavy. Jedním z parametru mohou být i počáteční podmínky pro určení integračních konstant.
•
save - Uloží danou proměnnou, více proměnných nebo proceduru do zadaného názvu souboru. Pokud soubor neexistuje, je automaticky vytvořen.
•
read - Načte požadovaný soubor z pevného disku. Standardně je nastavena cesta k souboru do adresáře, kde je uložen worksheet, který tento příkaz používá.
•
sum - Provádí výpočet součtu rad. Nelze li součet určit, opisuje příkaz na display. Lze-li součet vyjádřit funkcí, vrací tuto funkci.
•
assign - Přiradí hodnoty více proměnným nebo množině proměnných.
12
2. Brány a garážová vrata
Vjezdové brány a garážová vrata nachází využití jak u rodinných a obytných domů (v tzv. privátní sféře), tak i u komerčních a průmyslových objektů. Rozdíl mezi garážovými vraty a bránami spočívá v tom, že garážová vrata se umisťují v místech, kde klademe vysoké nároky na bezpečnost. Pomocí vrat a brán jednoduše řešíme kontrolu vjezdů a vstupů. V dnešní době poskytují firmy se zaměřením na garážová vrata a brány několik druhů a variant vjezdových zařízení. Pojmem brány označujeme mechanická zařízení sloužící k uzavírání vjezdů na oplocené či jinak ohraničené pozemky, uzavřené dvory, zahrady, atd. Rozdělení vjezdových bran: •
Pojezdové brány
•
Nesené brány
•
Křídlové brány
Pojmem vrata označujeme mechanická zařízení sloužící k uzavírání garáží, průjezdů atd. Rozdělení garážových vrat: •
Výklopná vrata
•
Rolovací vrata
•
Sekční vrata
2.1 Pojezdové brány Varianta pojezdové brány je velmi výhodná pro úsporu prostoru za vjezdem na pozemek. Křídlo se pohybuje po kolejnici, rovnoběžně s oplocením. Pohonná jednotka je umístěna za vodícím sloupem na straně pojezdu. Výhody posuvné brány po kolejnici: •
jednoduchá lehká konstrukce
13
•
úspora prostoru vjezdu
•
bez vlivu větru na pohon
•
nízké pořizovací náklady
Obr.1 Pojezdová brána 2.2 Nesené brány Nesená posuvná brána je nejlepším řešením všude tam, kde je dostatečný prostor na straně pojezdu. Toto řešení nevyžaduje přerušení vjezdu na pozemek uloženou kolejnicí a vozovka může mít boční sklon. Stejně jako u pojezdových bran, i zde se brána pohybuje rovnoběžně s oplocením. Nesená brána je vhodná do klimaticky těžších podmínek, protože je dokonale vyloučen vliv počasí a větru. Výhody posuvné letmé brány: •
snadný pohyb bez vlivů počasí a znečištění vozovky inertním materiálem
•
úspora prostoru vjezdu
•
instalace bez přerušení vjezdu
•
respektování sklonu vozovky
•
vhodná pro vjezd těžké techniky
14
Obr.2 Nesená brána 2.3 Křídlové brány a vrata Jedno, nebo dvoukřídlá brána je nejjednodušší variantou vjezdové brány. Instalují se do míst, která jsou limitována prostorem. Jednotlivá křídla se otáčí kolem pantů. Výhody křídlových bran: •
jednoduchá montáž motorů
•
minimální stavební úpravy
•
využití stávajících křídel brány
•
nízké pořizovací náklady
Obr.3 Křídlová brána
15
Tento mechanizmus může být užit i v oblasti garážových vrat. Konstrukce je jednoduchá a splňuje veškeré podmínky na ně kladené. K otevírání jednotlivých křídel slouží vratová táhla, která budeme za pomoci matematického modelu optimalizovat. Křídla brány jsou tlačena táhly za pomocí pohonné jednotky a otáčí se kolem pantů.
Obr.4 Křídlová vrata
2.4 Výklopná vrata Výklopná garážová vrata jsou velmi oblíbeným řešením vrat u staveb, kde se neklade zvýšený nárok na tepelnou izolaci. Vrata lze montovat za otvor i do otvoru garáže. Při pohybu křídla opisuje spodní hrana oblouk s poloměrem poloviny výšky, takže je zde nutno počítat s částečným zasažením do předgarážového prostoru ať již k stojícím vozidlům, tak i chodcům. Výhody výklopných vrat: •
jednoduchá mechanika s min. nárokem na údržbu
•
možnost vybavení el. pohonem
16
Obr.5 Výklopná vrata 2.5 Rolovací vrata Garážová vrata rolovací jsou konstruována s prvořadým ohledem na úsporu místa. Prostor, který je potřebný pro montáž a provoz byl snížen na minimum. Rolovací vrata mají kompaktní konstrukci. Není potřeba stropních pojezdových kolejnic. Pohyb těchto vrat se skládá z přímého pohybu s následným navinutím na válcový buben. Výhody rolovacích vrat: •
Libovolný rozměr
•
Úsporné prostorové uspořádání
•
Celoobvodové těsnění
•
Možná montáž z exteriéru
Obr.6 Rolovací vrata 17
2.6 Sekční vrata Sekční garážová vrata jsou nejrozšířenější variantou řešení uzavření garáží i výrobních hal s vysokým nárokem na tuhost, bezpečnost, tepelnou a zvukovou izolaci, při současném řešení s vysokým nárokem na estetickou stránku a účelnost. Skládají se z vodorovně situovaných panelů-sekcí v šířkách 400 a 500 mm dle typu vrat. Sekční garážová vrata se montují za otvor garáže. Pojezdové kolejnice jsou vedeny do pravého úhlu. Díky tomuto řešení je možné využít celou hloubku garáže. Samotný pohyb vrat (panelů-sekcí) spočívá v přímočarém vertikálním pohybu a následně se sekce přemístí do horizontální roviny. Přechod mezi těmito rovinami je plynulý a jako spojovací část se používá zaoblená kolejnice s ve tvaru čtvrtkružnice. Výhody sekčních vrat: •
Robustní konstrukce nenáročná na údržbu
•
Libovolný rozměr
•
El. pohony s vysokým nárokem na bezpečnost provozu
•
Zabezpečení proti násilnému vniknutí
Obr.7 Sekční vrata Vzhledem k tomu, ze tyto vrata patří mezi nejžádanější zboží a také dráha sekcí je nejzajímavější, rozhodl jsem se, že vytvořím animaci pro bližší přiblížení produktu.
18
Obr.8 Schéma sekčních vrat 1 – vodící lišty, 2 – vratové křídlo, 3 – spojovací prvky lamel, 4 – torzní pružiny, 5 – navíjecí bubny, 6 – elektropohon Vodící lišty - Jsou uchyceny zevnitř za vratovým otvorem vymezují vratovému křídlu prostor pro pohyb (nahoru, dolů). Vodící lišty jsou součástí vratového kování kompletní sady vodících prvků. Vratové křídlo - Variabilní skladebný systém lamel umožňuje pomocí upevňovacích prvků sestavení vratového křídla v nejširší nabídce rozměrů.Lamely jsou vysoké 400 nebo 500 mm, dají se vzájemně kombinovat v rámci jednoho typu. Spojovací prvky lamel - Spojují jednotlivé lamely, které společně vytvářejí vratové křídlo. Torzní pružiny - Nadlehčují hmotnost vratového křídla prostřednictvím ocelových lan, vedených přes navíjecí lanový buben Navíjecí buben - Pro převod tažných lan. Elektropohon - Zajišťuje pohon vrat (není podmínkou).
19
3. Popis animace pohybu vrat 3.1 Animace pohybu sekčních garážových vrat
> restart; > with(plots): > Data:=Vyska=2.4, Sirka=3.5, Radius=0.381, Rychlost=0.4; > Vrata:=proc(Data::list) local B, S, R, v, E, d4, d5, pi, L, omega, t1, t2, TS, T, b, ns, n4, n5, K1, K2, P1, P2, P3, P4, Ts, Tk, Colors, k1, k2, A1, W, j; Seznam vstupních parametrů.
global Final; > B:=rhs(select(has,Data,Vyska)[]); > S:=rhs(select(has,Data,Sirka)[]); > R:=rhs(select(has,Data,Radius)[]); > v:=rhs(select(has,Data,Rychlost)[]); Přiřazení proměnných ze seznamu vstupních parametrů.
> E:=B+0.9: d4:=0.4: d5:=0.5: pi:=evalf(Pi): E = konstrukční rozměr, délka stropní kolejnice, d4 a d5 = výšky segmentů. > L:=B-R+pi*R/2+E-R; omega:=v/R; t1:=(B-R)/v; t2:=t1+pi*R/2/v; TS:=(B-R+pi*R/2)/v; T:=L/v; Konstrukční proměnné. L = délka posuvu vrat, ω = uhlová rychlost segmentů v přechodovém oblouku, t1 = okamžik přechodu dolní hrany nejnižšího segmentu ze svislé dráhy na přechodový oblouk, t2 = okamžik přechodu na vodorovné stropní vedení, Ts = pomocná proměnná pro vykreslení vodorovné stropní kolejnice. 20
> b:=round(B*10); if irem(b,5)=0 then ns:=iquo(b,5) else ns:=iquo(b,5)+1; end if; n4:=ns*5-b; n5:=ns-n4; Stanovení počtu 40 cm a 50 cm segmentů. b = zaokrouhlená výška vrat v decimetrech. ns = pomocná proměnná pro stanovení základního počtu 50 cm segmentů, n4 a n5 = finální množství 40 cm a 50 cm segmentů. > K1:=piecewise(t<=t1,[E,0,v*t],t<=t2,[E-R+R*cos(omega*(tt1)),0,B-R+R*sin(omega*(t-t1))],[E-R-v*(t-t2),0,B]); K2:=piecewise(t<=t1,[E,S,v*t],t<=t2,[E-R+R*cos(omega*(tt1)),S,B-R+R*sin(omega*(t-t1))],[E-R-v*(t-t2),S,B]); Definice po částech definované prostorové křivky modelující levou - K1 a pravou - K2 kolejnici vodící jednotlivé segmenty vrat. >
for j from 1 to n4 do; P1[j]:=subs(t=tau1+j*d4/v,K1); P2[j]:=subs(t=tau1+j*d4/v,K2); P3[j]:=subs(t=tau1+(j-1)*d4/v,K2); P4[j]:=subs(t=tau1+(j-1)*d4/v,K1); end do;
Definice polohy bodů modelujících jednotlivé 40cm segmenty v závislosti na čase >
for j from n4+1 to ns do; P1[j]:=subs(t=tau1+(j*d5-n4*0.1)/v,K1); P2[j]:=subs(t=tau1+(j*d5-n4*0.1)/v,K2); P3[j]:=subs(t=tau1+((j-1)*d5-n4*0.1)/v,K2); P4[j]:=subs(t=tau1+((j-1)*d5-n4*0.1)/v,K1); end do;
Definice polohy bodů modelujících jednotlivé 50cm segmenty v závislosti na čase
21
> Ts:=TS*0.005*[$0..200]: Tk:=T*0.005*[$0..200]: Tk = Jednotlivé časové okamžiky pro modelování kolejnic a Ts = pro průběh celé animace
> Colors:=[seq([wheat,grey][],j=1..ns)][1..ns]; Colors = barvy odlišující jednotlivé segmenty.
> k1:=plots[spacecurve]([seq(evalf(subs(t=u,K1)),u=Tk)], thickness=3,color=black): k2:=plots[spacecurve]([seq(evalf(subs(t=u,K2)),u=Tk)], thickness=3,color=black): > A1:=plots[display]([seq(display([k1,k2]),t=Ts)], insequence=true): k1, k2 = hotová prostorová křivka znázorňující jednotlivé kolejnice, A1 = statická animace kolejnic, statická zde znamená, že kolejnice se nepohybují, ale musí být přítomny v každém snímku animace.
>
for j from 1 to ns do; W[j]:=plots[display]([seq(plots[polygonplot3d]
(evalf(subs(tau1=u,[P1[j],P2[j], P3[j],P4[j]])) ,color=Colors[j]),u=Ts)],insequence=true): #print(W[j]); end do: Animace pohybu jednotlivých segmentů. j = pořadové číslo segmentů.
Final:=plots[display]({A1,seq(W[j],j=1..ns)}, scaling=constrained,axes=boxed, labels=["Hloubka [m]", "Sirka [m]", "Vyska [m]"], title=cat("Animace garazovych vrat, (C) M. Jurga Vyska = ",convert(B,string),"m, Sirka = ", convert(S,string),"m, Hloubka = ",convert(E,string),"m, Pocet 50cm segmentu = ",convert(n5,string),",
22
Pocet 40cm segmentu = ",convert(n4,string)), titlefont=[HELVETICA,BOLDOBLIQUE,13]): Finální animace spojující animaci pohybu segmentů a kolejnice, generace popisku a popisu os souřadného systému > print(Final); end proc: Konec procedury. Výstupem procedury je finální animace.
> Vrata([Rychlost=0.4, Sirka=3.5, Vyska=2.8,
Radius=0.5]);
Ukázka volání procedury a jejího výstupu.
Obr.9 Schématické znázornění animace sekčních vrat Funkční program animace je v elektronické podobě uložena na přiloženém CD.
23
3.2 Animace pohybu dvoukřídlých garážových vrat > restart; > with(plots):
Obr.10 Schéma křídlových vrat
> CosG:=(Tvy-Tpy)/L; SinG:=(Tpx-Tvx)/L; Cosinus a sinus úhlu γ lze vyjádřit z geometrie pravoúhlého trojúhelníku, ve kterém je táhlo délky L přeponou. Tp je koncový bod táhla na straně pohonu a Tv je koncový bod táhla na straně vrat. Úhel γ svírá táhlo s osou pohonu.
CosG:= SinG :=
Tvy − Tpy L
Tpx − Tvx L
24
> beta:=Pi-alpha-(Pi/2-gamma); Je-li α úhel pootevření vrat, je možné úhel β , který svírá táhlo s křídlem vrat snadno vyjádřit. π β := − α + γ 2
> e1:=(Tvx-Tpx)^2+(Tvy-Tpy)^2=L^2; Vazební podmínka konstrukce. L = délka táhla. e1 := ( Tvx − Tpx )2 + ( Tvy − Tpy )2 = L2
> Tpy:=solve(e1,Tpy)[2]; Z rovnice e1 je možné snadno vyjádřit y souřadnici bodu Tp, protože x souřadnice tohoto bodu má konstantní hodnotu, Tpx = R.
Tpy:=Tvy− −Tvx2 + 2TvxTpx− Tpx2 + L2 > Tpy:=student[completesquare](Tpy,Tvx); Tpy je možné zjednodušit.
Tpy:=Tvy− −(Tvx− Tpx)2 + L2 > Tvx:=(R-d)*cos(alpha); Tvy:=(R-d)*sin(alpha); Souřadnice bodu Tv je možné vyjádřit z geometrie vrat. R = délka vratového křídla, d = vzdálenost opevnění táhla L od volného konce vratového křídla, α = úhel pootevření vrat. Tvx:=( R − d ) cos( α) Tvy :=( R − d ) sin( α)
> Tpx:=R: > Tp0:=-sqrt(L^2-d^2); Tp0 = y souřadnice polohy bodu Tp při zavřených vratech.
Tp0:=− L2 − d2 > e2:=Tpy=Tp0+v*t; Poloha bodu Tp je funkcí času. Bod Tp se pohybuje ve směru osy y rychlostí v.
e2 :=(R − d) sin(α) − −((R − d) cos(α) − R)2 + L2 = − L2 − d2 + v t
25
> tau:=-Tp0/v; τ = doba po kterou se vrata otevírají
τ :=
L2 − d2 v
> Sol:=[solve(e2,alpha)]: Z rovnice e2 je možné vyjádřit úhel otevření vrat α . Z důvodu úspory místa je výstup vynechán > simplify(subs(t=0,Sol),symbolic); Úhel α může nabýt dvě hodnoty, je nutné vybrat tu správnou. V čase 0 musí být vrata zavřena => α musí být 0
> Alpha:=Sol[1]; Vyhovuje 1. řešení Α :=arctan( ( 4 R2 − 2 R ( 2 R3 − 2 d R2 + Rv2 t2 − 2 R ( L − d ) ( L + d ) v t + ( 28v2 t2 d3 R − 4 v4 t4 d R + 12L2 ( L − d ) ( L + d ) v3 t3 − 28 ( L − d ) ( L + d ) v3 t3 d2 + 16 ( L − d ) ( L + d ) v t d4 + 4 d6 + 4 R2 d4 − 8 L2 d4 + 4 L4 R2 + 4 L4 d2 − v6 t6 − 8 d5 R − 4 R2 d2 v2 t2 + 4 R2 v2 t2 L2 + 32L2 d2 v2 t2 − 16L2 d2 ( L − d ) ( L + d ) v t − 24 ( L − d ) ( L + d ) v t d3 R + 24L2 ( L − d ) ( L + d ) v t d R − 8 ( L − d ) ( L + d ) v t R2 L2 + 16 ( L − d ) ( L + d ) v3 t3 d R + 8 R2 d2 ( L − d ) ( L + d ) v t − 28L2 v2 t2 d R + 6 ( L − d ) ( L + d ) v5 t5 − 8 R2 d2 L2 − 4 L4 v2 t2 − 13L2 v4 t4 + 16L2 d3 R (1/2)
+ 17v4 t4 d2 − 28v2 t2 d4 − 8 L4 d R)
)
( R2 + L2 − 2 ( L − d ) ( L + d ) v t + v2 t2 − d2 ) − 4 d R
− 4 L2 − d2 v t + 2 v2 t2 ) ( −R L2 − d2 + Rv t + d L2 − d2 − d v t ), 2 ( 2 R3 − 2 d R2 + Rv2 t2 − 2 R ( L − d ) ( L + d ) v t + ( 28v2 t2 d3 R − 4 v4 t4 d R + 12L2 ( L − d ) ( L + d ) v3 t3 − 28 ( L − d ) ( L + d ) v3 t3 d2 + 16 ( L − d ) ( L + d ) v t d4 + 4 d6 + 4 R2 d4 − 8 L2 d4 + 4 L4 R2 + 4 L4 d2 − v6 t6 − 8 d5 R − 4 R2 d2 v2 t2 + 4 R2 v2 t2 L2 + 32L2 d2 v2 t2 − 16L2 d2 ( L − d ) ( L + d ) v t − 24 ( L − d ) ( L + d ) v t d3 R + 24L2 ( L − d ) ( L + d ) v t d R − 8 ( L − d ) ( L + d ) v t R2 L2 + 16 ( L − d ) ( L + d ) v3 t3 d R + 8 R2 d2 ( L − d ) ( L + d ) v t − 28L2 v2 t2 d R + 6 ( L − d ) ( L + d ) v5 t5 − 8 R2 d2 L2 − 4 L4 v2 t2 − 13L2 v4 t4 + 16L2 d3 R + 17v4 t4 d2 − 28v2 t2 d4 (1/2)
− 8 L4 d R)
)
( ( R2 + L2 − 2 ( L − d ) ( L + d ) v t + v2 t2 − d2 ) ( R − d ) ))
> omega:=diff(Alpha,t): Úhlová rychlost otevírání vrat. > epsilon:=diff(Alpha,t,t): Úhlové zrychlení otevírání vrat.
26
> R:=2.2; d:=0.2; L:=sqrt(R^2+(R-d)^2)+0.1; v:=0.5; Dále je již nutné pokračovat s konkrétními numerickými hodnotami. R :=2.2 d :=0.2 L :=3.07321374
v :=0.5
> Alpha; > tau:=fsolve(Alpha=Pi/2,t); > plot(Alpha/Pi*180,t=0..tau,labels=["t [s]","a[°]"], labeldirections=[horizontal,vertical],thickness=2); Vykreslení závislosti úhlu α na čase
Obr.11 Závislost úhlu α na čase
> plot(omega/Pi*180,t=0..tau,labels=["t [s]","omega[°/s]"], labeldirections=[horizontal,vertical],thickness=2); Vykreslení závislosti úhlové rychlosti ω na čase
27
Obr.12 Závislost úhlové rychlosti ω na čase
> plot(epsilon/Pi*180,t=0..tau,labels=["t [s]","epsilon [°/s^2]"],labeldirections=[horizontal,vertical], thickness=2); Závislost úhlového zrychlení ε na čase
Obr.13 Závislost úhlového zrychlení ε na čase
28
> T:=[seq(tau*j/60,j=0..60)]; Pro animaci otevírání vrat rozdělíme časový interval τ na 60 časových kroků. > A:=map(u->evalf(subs(t=u,Alpha)),T); Hodnoty úhlu α pro odpovídající časové kroky.
> A1L:=display([seq(plot([[0,0],[R*cos(a),R*sin(a)]], numpoints=2,color=red,thickness=3),a=A)],insequence=true): Animace levého vratového křídla. > A1R:=display([seq(plot([[2*R,0],[2*R+R*cos(Pi-a), R*sin(Pi-a)]],numpoints=2,color=red,thickness=3),a=A)], insequence=true): Animace pravého vratového křídla.
> A2L:=display([seq(plot([[(R-d)*cos(Alpha),(Rd)*sin(Alpha)],subs(alpha=Alpha,[Tpx,Tpy])],numpoints=2, color=blue,thickness=3),t=T)],insequence=true): Animace levého táhla. > A2R:=display([seq(plot([[2*R+(R-d)*cos(Pi-Alpha),(Rd)*sin(Pi-Alpha)],subs(alpha=Alpha,[Tpx,Tpy])],numpoints=2, color=blue,thickness=3),t=T)],insequence=true): Animace pravého táhla.
> A0:=display([seq(plot([[Tpx,Tp0],[Tpx,Tp0+v*tau]],num points=2,color=black,thickness=3),t=T)],insequence=true): Animace vedení - pohonu bodu Tp.
>display({A1L,A1R,A2L,A2R,A0},scaling=constrained,axes=none ,title="Animace otevirani dvoukridlych vrat \n (C) Michal Jurga", titlefont=[HELVETICA,BOLD,12]); Výsledná animace otevírání vrat. Funkční program animace je v elektronické podobě uložena na přiloženém CD.
29
3.1.1 Stanovení optimální délky táhla mechanizmu otevírání dvoukřídlých garážových vrat Vyjdeme z obrázku č. 10
> restart; > with(plots): > CosG:=(Tvy-Tpy)/L; SinG:=(Tpx-Tvx)/L; Hodnoty sinu a cosinu úhlu γ se dají vyjádřit ze souřadných bodů Tp a Tv
CosG:= SinG :=
Tvy − Tpy L
Tpx − Tvx L
> e2:=M0=F*(R-d)*sin(beta); Pokud vrata otevíráme rovnoměrným rotačním pohybem, toto je téměř přesně splněno viz předešlý výpočet, pak moment působící síly F, musí být stejně velký jako moment třecí síly M0 e2 :=M0 = F( R − d ) sin( β )
> e3:=F=solve(e2,F); Z rovnice e2 je možné vyjádřit sílu F, kterou musí působit táhlo na křídlo vrat
e3 :=F = −
M0 sin( β ) ( −R + d )
> e4:=F=Fp/cos(gamma); Vzhledem k velikosti síly F, musí pohon při posunu kloubu, bodu Tp vyvinout sílu Fp
e4 :=F =
Fp cos( γ )
30
> e5:=subs(e4,e3); e6:=Fp=solve(e5,Fp); e7:=expand(e6); e7:=expand(e6); Za F dosadíme do rovnice e3 a vyjádříme Fp
e5 :=
Fp M0 =− cos( γ ) sin( β ) ( −R + d )
e6 :=Fp = −
M0cos( γ ) sin( β ) ( −R + d )
e7 :=Fp = −
M0cos( γ ) sin( β ) ( −R + d )
> e8:=Ft=F*sin(gamma)*mu; Dále uvážíme i existenci třecí sily, působících proti pohybu bodu Tp. Třecí síla se vypočte jako síla působící kolmo na směr pohybu bodu Tp, tedy F sin( γ) vynásobené koeficientem tření μ . Předpokládejme, že koeficient zahrnuje všechny odporové síly, působící proti pohybu bodu Tp e8 :=Ft = F sin( γ) μ
> e9:=subs(e4,e6,e8); Do rovnice e8 dosadíme za Fp e9 :=Ft = −
M0sin( γ) μ sin( β ) ( −R + d )
> Fc:=subs(e7,e9,Fp+Ft); Celková síla, Fc, kterou musí vyvinout pohon vrat je součtem síly potřebné pro otevření vrat a síly překonávající tření v kloubu Tp Fc :=−
M0cos( γ ) M0sin( γ ) μ − sin( β ) ( −R + d ) sin( β ) ( −R + d )
> beta:=Pi-alpha-(Pi/2-gamma); Úhel β lze vyjádřit jako funkci úhlů α a γ π β := − α + γ 2
31
> Fc:=simplify(Fc); > Fc:=simplify(subs(cos(gamma)=CosG,sin(gamma)= SinG,expand(Fc))); Do vztahu Fc dosadíme hodnoty sinu a cosinu úhlu γ Fc :=− Fc :=−
M0( cos( γ ) + sin( γ ) μ) cos( α − γ ) ( −R + d )
M0( −Tvy + Tpy − μ Tpx + μ Tvx) ( −cos( α) Tvy+ cos( α) Tpy − sin( α) Tpx + sin( α) Tvx) ( −R + d )
> e1:=(Tvx-Tpx)^2+(Tvy-Tpy)^2=L^2; > Tpy:=solve(e1,Tpy)[2]; > Tpy:=student[completesquare](Tpy,Tvx); Tpy = y souřadnice bodu Tp, je možné vyjádřit z podmínky vazby = body Tp a Tv jsou od sebe vzdáleny o délku táhla L
e1 :=(−Tpx+ Tvx)2 + (Tvy− Tpy)2 = L2 Tpy:=Tvy− −Tpx2 + 2TpxTvx− Tvx2 + L2 Tpy:=Tvy− −( −Tpx+ Tvx)2 + L2
> Tvx:=(R-d)*cos(alpha); Tvy:=(R-d)*sin(alpha); Souřadnice bodu Tv lze jednoduše vyjádřit pomocí úhlu otevření vrat α a vzdálenosti bodu Tv od osy vrat = R-d Tvx :=( R − d ) cos( α)
Tvy:=( R − d ) sin( α)
> Tpx:=R; Tpx je konstantní, viz obrázek č. 10
> 'Fc'=Fc; Výsledná síla Fc obsahuje příliš mnoho proměnných, M0, R, α , μ , d, L pro jednoduchou analýzu. Nicméně obtížnost problému tj. stanovit optimální délku táhla L lze provést beze ztráty obecnosti zavedením bezrozměrných souřadnic. Fc = −
M0( − −( −R + ( R − d ) cos( α) )2 + L2 − μ R + μ ( R − d ) cos( α) ) ( cos( α) ( ( R − d ) sin( α) − −( −R + ( R − d ) cos( α) )2 + L2 ) − sin( α) R) ( −R + d )
32
> Fcs:=subs(M0=1,R=1,Fc); Je možné položit M0=1, protože tato veličina celou Fc pouze násobí. Tzn. že sice mění velikost Fc, ale nikoliv polohu maxim a minim. Dále je možné zvolit R za jednotku délky, tzn. že veličiny L a d budou mít význam násobku R. Fc se tak zjednoduší na Fcs
Fcs:=−
− −( −1 + ( 1 − d ) cos( α) )2 + L2 − μ + μ ( 1 − d ) cos( α) ( cos( α) ( ( 1 − d ) sin( α) − −( −1 + ( 1 − d ) cos( α) )2 + L2 ) − sin( α) ) ( −1 + d )
> plot3d([seq(subs(d=Ds,mu=0,alpha=alpha*Pi/180,Fcs), Ds=0.1*[$0..3])],alpha=0..90,L=sqrt(2)..5,color=[black, green,red,blue],grid=[15,15],thickness=[3,1,1,1], style=wireframe,axes=boxed,orientation=[160,70],labels=["a [°]","L","F"],title="Celkova sila pri zanedbatelnem treni, (mu=0)
pro d=0 cerne,
d=0.1 R zelene,
d=0.2 R cervene,
d=0.3 R modre" ); Vykreslení grafu celkové síly při zanedbatelném tření.
Obr.14 Graf celkové síly při zanedbatelném tření
33
> plot3d([seq(subs(d=Ds,mu=0,alpha=alpha,Fcs),Ds=0.1* [$0..3])],alpha=0..Pi/2,L=sqrt(2)..5,color=[black,green, red,blue],grid=[15,15],thickness=[3,1,1,1],style=wireframe, axes=normal,orientation=[160,50],labels=["F","F","L"], coords=cylindrical,scaling=constrained,title="Celkova sila pri zanedbatelnem treni, (mu=0), Cylindricke souradnice, pro d=0 cerne,
d=0.1 R zelene,
d=0.2 R cervene,
d=0.3 R
modre"); Vykreslení grafu celkové síly při zanedbatelném tření v Cylindrických souřadnicích.
Obr.15 Graf celkové síly při zanedbatelném tření, Cylindrické souřadnice
> plot3d([seq(subs(d=Ds,mu=1,alpha=alpha*Pi/180,Fcs),Ds=0.1* [$0..3])],alpha=0..90,L=sqrt(2)..5,color=[black,green,red, blue],grid=[15,15],thickness=[3,1,1,1],style=wireframe,axes =boxed,orientation=[160,70],labels=["a[°]","L","F"],title= "Celkova sila pri vysokem treni, (mu=1), d=0.1 R zelene,
d=0.2 R cervene,
34
pro d=0 cerne,
d=0.3 R modre");
Vykreslení grafu celkové síly při zanedbatelném tření.
Obr.16 Graf celkové síly při uvažovaném tření
> plot3d([seq(subs(d=Ds,mu=1,alpha=alpha,Fcs),Ds=0.1* [$0..3])],alpha=0..Pi/2,L=sqrt(2)..5,color=[black,green, red,blue],grid=[15,15],thickness=[3,1,1,1],style=wireframe, axes=normal,orientation=[160,50],labels=["F","F","L"], coords=cylindrical,scaling=constrained,title="Celkova sila pri vysokem treni, (mu=1), Cylindricke souradnice, cerne,
d=0.1 R zelene,
d=0.2 R cervene,
pro d=0
d=0.3 R modre");
Vykreslení grafu celkové síly při uvažovaném tření v Cylindrických souřadnicích.
35
Obr.17 Graf celkové síly při uvažovaném tření, Cylindrické souřadnice
36
4. Závěr Tato bakalářská práce je zaměřena na matematické modelování procesu v oblasti garážových vrat. Vzhledem k tomu, že řešená problematika v jednotlivých kapitolách spolu souvisí pouze okrajově, jsou závěry uvedeny do více částí. 1. Program pro animaci sekčních garážových vrat počítá jednotlivé rozměry sekcí a jejich potřebný počet k zakrytí daného prostoru. Pro zadané vstupní hodnoty program navrhne nejvhodnější variantu k sestavení garážových vrat. Výsledek lze aplikovat na reálné případy. 2. Z výše uvedených grafů, je zřejmé, že nejnižší potřebnou sílu pro otevření vrat zajistí nejkratší táhlo, uchycené co nejblíže ke konci vratového křídla, to znamená d = 0. Uvážení tření nevede ke změně této skutečnosti. Z konstrukčních důvodů je zřejmé, že teoreticky nejnižší možná délka táhla musí být L = 2 R . V případě kratšího táhla by totiž vedení posunu táhel muselo projít přes zavřená vrata. Matematické modelování v programu MAPLE velmi zjednodušuje a zpřehledňuje dané výpočty. Můžeme měnit jednotlivé vstupní hodnoty a ihned pozorovat, jak se tyto změny projeví na daném výpočtu či modelu. Ze zde uvedených kapitol je názorné, že program MAPLE lze používat při řešení matematických problémů v různých oborech lidské činnosti.
37
5. Seznam použité literatury [1] BARTOŇ, S. -- HAKL, Z.: Agriculture Kinematics, In GANDER, W. -HŘEBÍČEK, J. Solving problems in Scientific Computing using Maple and Matlab. 4. vyd. Heidelberg: Springer, 2004. s. 399--422. ISBN 3-540-21127-6. [2] BARTOŇ, S. -- HAKL, Z. Implicit derivatives in kinematics. In COMATTEX 2004. 1. vyd. Trnava: MTF STUBA, 2004, s. 80--86. ISBN 80-227-2117-4.3. [3] BARTOŇ, S. -- HAKL, Z. Matematický popis kinematiky zemědělského mechanismu. In Mendelnet. 1. vyd. Brno: MZLU, 2004, s. 1--8. ISBN 80-7157-7235.4. [4] BARTOŇ, S: Newton's and Kepler's laws, In GANDER, W. -- HŘEBÍČEK, J. Solving problems in Scientific Computing using Maple and Matlab. 4.vyd. Heidelberg: Springer, 2004. s. 323--338. ISBN 3-540-21127-6.5. [5] HAKL, Z. Matematické modelování biologických a technologických procesů v zemědělství. Disertační práce. MZLU Brno, 2005. 95 s. [6] LOUČKA M.: Návrh algoritmu pro nelineární metodu nejmenších čtverců pro použití v technických aplikacích. Diplomová práce. MZLU v Brně, 2004.
38
6. Seznam obrázků Obr.1 Pojezdová brána……………………………………………………………….…14 Obr.2 Nesená brána………………………………………………………………….….15 Obr.3 Křídlová brána…………………………………………………………………...15 Obr.4 Křídlová vrata…………………………………………………………………....16 Obr.5 Výklopná vrata…………………………………………………………………...17 Obr.6 Rolovací vrata……………………………………………………………………17 Obr.7 Sekční vrata………………………………………………………………………18 Obr.8 Schéma sekčních vrat……………………………………………………….……19 Obr.9 Schématické znázornění animace sekčních vrat…………………………….……23 Obr.10 Schéma křídlových vrat ………………………………………..………….……24 Obr.11 Závislost úhlu α na čase …………..………………………………..…….……27 Obr.12 Závislost úhlové rychlosti ω na čase ………………………..…………………28 Obr.13 Závislost úhlového zrychlení ε na čase …………………..………...…….……28 Obr.14 Graf celkové síly při zanedbatelném tření ………………………..……….……33 Obr.15 Graf celkové síly při zanedbatelném tření, Cylindrické souřadnice…………….34 Obr.16 Graf celkové síly při uvažovaném tření …………………………..……….……35 Obr.17 Graf celkové síly při uvažovaném tření, Cylindrické souřadnice ................……36
39
7. Příloha Tato bakalářská práce je uložena v elektronické podobě na CD nosiči, včetně výpočtů a animací provedených v prostředí programu MAPLE 9.
40