diff --git a/cad/Electronics_Cover_Top.FCStd b/cad/Electronics_Cover_Top.FCStd index ca16637..35496fd 100644 Binary files a/cad/Electronics_Cover_Top.FCStd and b/cad/Electronics_Cover_Top.FCStd differ diff --git a/cad/Frame_Assembly.FCStd b/cad/Frame_Assembly.FCStd index 3ec7f86..6818ac2 100644 Binary files a/cad/Frame_Assembly.FCStd and b/cad/Frame_Assembly.FCStd differ diff --git a/cad/Frame_Plate_Side_Right.FCStd b/cad/Frame_Plate_Side_Right.FCStd index 8b50b94..cbc524b 100644 Binary files a/cad/Frame_Plate_Side_Right.FCStd and b/cad/Frame_Plate_Side_Right.FCStd differ diff --git a/cad/Frame_Tip_Bottom.FCStd b/cad/Frame_Tip_Bottom.FCStd index d5ad46e..1d93005 100644 Binary files a/cad/Frame_Tip_Bottom.FCStd and b/cad/Frame_Tip_Bottom.FCStd differ diff --git a/cad/Profile-20x20-130.FCStd b/cad/Profile-20x20-130.FCStd index b4c59d1..a4d08b3 100644 Binary files a/cad/Profile-20x20-130.FCStd and b/cad/Profile-20x20-130.FCStd differ diff --git a/cad/Profile-20x20-60.FCStd b/cad/Profile-20x20-60.FCStd index 303be3c..666e003 100644 Binary files a/cad/Profile-20x20-60.FCStd and b/cad/Profile-20x20-60.FCStd differ diff --git a/cad/Profile-20x40-300.FCStd b/cad/Profile-20x40-300.FCStd index 6c93b85..ad05038 100644 Binary files a/cad/Profile-20x40-300.FCStd and b/cad/Profile-20x40-300.FCStd differ diff --git a/cad/Rod_8_300.FCStd b/cad/Rod_8_300.FCStd index 79a8c47..8f26e54 100644 Binary files a/cad/Rod_8_300.FCStd and b/cad/Rod_8_300.FCStd differ diff --git a/tex/literatura.bib b/tex/literatura.bib index 322a689..2c2d56e 100644 --- a/tex/literatura.bib +++ b/tex/literatura.bib @@ -1,16 +1,24 @@ -% This file was created with JabRef 2.10b2. -% Encoding: UTF8 - -@Manual{sr02/2009, - title = {Úprava, odevzdávání a zveřejňování vysokoškolských kva\-li\-fi\-kač\-ních prací na VUT v~Brně}, - OPTkey = {•}, - OPTauthor = {•}, - organization = {VUT v Brně}, - address = {Brno}, - OPTedition = {•}, - OPTmonth = {•}, - year = {2009}, - note = {Směrnice rektora č.\,2/2009}, - annote = {[online]}, - URL = {https://www.vutbr.cz/uredni-deska/vnitrni-predpisy-a-dokumenty/smernice-rektora-f34920/} +@manual{sr02/2009, + title = {Úprava, odevzdávání a zveřejňování vysokoškolských kva\-li\-fi\-kač\-ních prací na VUT v~Brně}, + optkey = {•}, + optauthor = {•}, + organization = {VUT v Brně}, + address = {Brno}, + optedition = {•}, + optmonth = {•}, + year = {2009}, + note = {Směrnice rektora č.\,2/2009}, + annote = {[online]}, + url = {https://www.vutbr.cz/uredni-deska/vnitrni-predpisy-a-dokumenty/smernice-rektora-f34920/} } + +@book{2016Rarv, + author = {Zdeněk Kolíbal}, + publisher = {Vysoké učení technické v Brně - nakladatelství VUTIUM}, + isbn = {978-80-214-4828-5}, + year = {2016}, + title = {Roboty a robotizované výrobní technologie}, + edition = {První vydání.}, + address = {Brno}, + keywords = {robotika vt; průmyslové roboty a manipulátory sr; roboty; automatizované výrobní systémy; pohybové jednotky; průmyslové roboty; robotické systémy; výrobní technologie; jednoúčelové manipulátory; průmyslové balancéry} +} \ No newline at end of file diff --git a/tex/nastaveni.tex b/tex/nastaveni.tex index 83e497d..6ba1a5f 100644 --- a/tex/nastaveni.tex +++ b/tex/nastaveni.tex @@ -25,7 +25,6 @@ % electronic ]{template/thesis} % Balíček pro sazbu studentských prací - %%% Jméno a příjmení autora ve tvaru % [tituly před jménem]{Křestní}{Příjmení}[tituly za jménem] % Pokud osoba nemá titul před/za jménem, smažte celý řetězec '[...]' @@ -115,7 +114,7 @@ Překlad abstraktu (v~angličtině, pokud je originálním jazykem čeština či slovenština; v~češtině či slovenštině, pokud je originálním jazykem angličtina) ]{% -Abstrakt práce v~originálním jazyce +Cílem práce je navrhnout kompletní 3D tiskárnu s kinematikou SCARA a implementovat kinematiku pro Klipper firmware. } %%% Klíčová slova diff --git a/tex/out/obhajoba.pdf b/tex/out/obhajoba.pdf deleted file mode 100644 index 5b0994d..0000000 Binary files a/tex/out/obhajoba.pdf and /dev/null differ diff --git a/tex/out/prace.pdf b/tex/out/prace.pdf index 9b3616e..896407d 100644 Binary files a/tex/out/prace.pdf and b/tex/out/prace.pdf differ diff --git a/tex/prace.tex b/tex/prace.tex index 689e1fc..e583a2c 100644 --- a/tex/prace.tex +++ b/tex/prace.tex @@ -51,6 +51,10 @@ % vhodné pro prezentaci obsahu elektronické přílohy (např. CD) \usepackage[formats]{listings} % Balíček pro sazbu zdrojových textů + +\usepackage{comment} +\usepackage{siunitx} + \lstset{ % nastavení % Definice jazyka použitého ve výpisech % language=[LaTeX]{TeX}, % LaTeX @@ -195,7 +199,7 @@ \include{text/5_zaver} % Definice stylu seznamu -\bibliographystyle{template/bibtex-cs} +\bibliographystyle{template/czechiso} % Vložení souboru se seznamem citací \bibliography{literatura} diff --git a/tex/template/czechiso.bst b/tex/template/czechiso.bst new file mode 100644 index 0000000..8640d72 --- /dev/null +++ b/tex/template/czechiso.bst @@ -0,0 +1,1602 @@ +%% +%% This is file `czechiso.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `head,exlang,lang,vonx,nm-rev,jnrlst,aunm-semi,nmlm,x3,m3,atit-u,vnum-nr,volp-sp,jwdpg,pp-last,jwdvol,num-xser,ser-vol,ser-ed,pg-bk,add-pub,isbn,issn,doi,edpar,edby,blk-tit,au-col,èe¹tina,pp,and-xcom,xand,eprint,url,url-nl,nfss,,{}') +%% czech.mbs (with options: `exlang,lang,vonx,nm-rev,jnrlst,aunm-semi,nmlm,x3,m3,atit-u,vnum-nr,volp-sp,jwdpg,pp-last,jwdvol,num-xser,ser-vol,ser-ed,pg-bk,add-pub,isbn,issn,doi,edpar,edby,blk-tit,au-col,èe¹tina,pp,and-xcom,xand,eprint,url,url-nl,nfss,,{}') +%% merlin.mbs (with options: `tail,exlang,lang,vonx,nm-rev,jnrlst,aunm-semi,nmlm,x3,m3,atit-u,vnum-nr,volp-sp,jwdpg,pp-last,jwdvol,num-xser,ser-vol,ser-ed,pg-bk,add-pub,isbn,issn,doi,edpar,edby,blk-tit,au-col,èe¹tina,pp,and-xcom,xand,eprint,url,url-nl,nfss,,{}') +%% ---------------------------------------- +%% *** Styl sna¾ící se být v souladu s normou ISO 690. Pomocí latex makebst vytvoøil David Martinek. *** +%% +%% Copyright 1994-2004 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in + % This is a numerical citation style, and as such is standard LaTeX. + % It requires no extra package to interface to the main text. + % The form of the \bibitem entries is + % \bibitem{key}... + % Usage of \cite is as follows: + % \cite{key} ==>> [#] + % \cite[chap. 2]{key} ==>> [#, chap. 2] + % where # is a number determined by the ordering in the reference list. + % The order in the reference list is alphabetical by authors. + %--------------------------------------------------------------------- + +ENTRY + { address + archive + author + booktitle + chapter + doi + edition + editor + eid + eprint + howpublished + institution + isbn + issn + journal + key + language + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {add.colon} +{ duplicate$ empty$ + 'skip$ + { ":" * add.blank } + if$ +} + +FUNCTION {date.block} +{ + skip$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{czech.mbs}[2006/03/31 1.0 (DM)] + + % The language selected here is CZECH +FUNCTION {bbl.and} +{ "a"} + +FUNCTION {bbl.etal} +{ "aj." } + +FUNCTION {bbl.editors} +{ "editoři" } + +FUNCTION {bbl.editor} +{ "editor" } + +FUNCTION {bbl.edby} +{ "editace" } + +FUNCTION {bbl.edition} +{ "vydání" } + +FUNCTION {bbl.volume} +{ "ročník" } + +FUNCTION {bbl.of} +{ "" } + +FUNCTION {bbl.number} +{ "číslo" } + +FUNCTION {bbl.nr} +{ "č." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "s." } + +FUNCTION {bbl.page} +{ "str." } + +FUNCTION {bbl.chapter} +{ "kapitola" } + +FUNCTION {bbl.techrep} +{ "Technická Zpráva" } + +FUNCTION {bbl.mthesis} +{ "Diplomová práce" } + +FUNCTION {bbl.phdthesis} +{ "Dizertační práce" } + +FUNCTION {bbl.first} +{ "První" } + +FUNCTION {bbl.second} +{ "Druhé" } + +FUNCTION {bbl.third} +{ "Třetí" } + +FUNCTION {bbl.fourth} +{ "Čtvrté" } + +FUNCTION {bbl.fifth} +{ "Páté" } + +FUNCTION {bbl.st} +{ "" } + +FUNCTION {bbl.nd} +{ "" } + +FUNCTION {bbl.rd} +{ "" } + +FUNCTION {bbl.th} +{ "" } + +MACRO {jan} {"Leden"} + +MACRO {feb} {"Únor"} + +MACRO {mar} {"Březen"} + +MACRO {apr} {"Duben"} + +MACRO {may} {"Květen"} + +MACRO {jun} {"Červen"} + +MACRO {jul} {"Červenec"} + +MACRO {aug} {"Srpen"} + +MACRO {sep} {"Září"} + +MACRO {oct} {"Říjen"} + +MACRO {nov} {"Listopad"} + +MACRO {dec} {"Prosinec"} + + % End module: czech.mbs +%% Copyright 1994-2004 Patrick W Daly +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {format.eprint} +{ eprint duplicate$ empty$ + 'skip$ + { "\eprint" + archive empty$ + 'skip$ + { "[" * archive * "]" * } + if$ + "{" * swap$ * "}" * + } + if$ +} +FUNCTION {write.url} +{ url empty$ + { skip$ } + { "\newline\urlprefix\url{" url * "}" * write$ newline$ } + if$ +} + +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{, f.}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + nameptr #3 + #1 + = + numnames #3 + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { "; " * t * } + { + ";" * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f.~}{vv~}{ll}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { "; " * t * } + { + ";" * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.book.pages} +{ pages "pages" bibinfo.check + duplicate$ empty$ 'skip$ + { " " * bbl.pages * } + if$ +} +FUNCTION {format.isbn} +{ isbn "isbn" bibinfo.check + duplicate$ empty$ 'skip$ + { + "ISBN " swap$ * + } + if$ +} + +FUNCTION {format.issn} +{ issn "issn" bibinfo.check + duplicate$ empty$ 'skip$ + { + "ISSN " swap$ * + } + if$ +} + +FUNCTION {format.doi} +{ doi "doi" bibinfo.check + duplicate$ empty$ 'skip$ + { + "\doi{" swap$ * "}" * + } + if$ +} +FUNCTION {select.language} +{ duplicate$ empty$ + 'pop$ + { language empty$ + 'skip$ + { "{\selectlanguage{" language * "}" * swap$ * "}" * } + if$ + } + if$ +} + +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + select.language + } + if$ +} +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in capitalize + " " * } + +FUNCTION {format.date} +{ + month "month" bibinfo.check + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + } + if$ +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + select.language + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { emphasize ", " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s bbl.th * 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ": " * + swap$ + n.dashify + pages multi.page.check + 'bbl.pages + 'bbl.page + if$ + swap$ tie.or.space.prefix + "pages" bibinfo.check + * * + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ": " * + } + if$ + swap$ * + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + bbl.volume swap$ tie.or.space.prefix + "volume" bibinfo.check + * * + } + if$ + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + ", " bbl.nr * number tie.or.space.prefix pop$ * swap$ * + } + if$ * +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + format.bvolume duplicate$ empty$ 'pop$ + { ", " swap$ * * } + if$ + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + bbl.edby + " " * swap$ * + swap$ + "," * + " " * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + key duplicate$ empty$ + { pop$ + journal duplicate$ empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } + { "journal" bibinfo.check emphasize word.in swap$ * } + if$ + } + { word.in swap$ * " " *} + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + editor num.names$ duplicate$ + #2 > + { pop$ + "editor" bibinfo.check + " " * bbl.etal + * + } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + "editor" bibinfo.check + " " * bbl.etal + * + } + { + bbl.and space.word + * editor #2 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + * + } + if$ + } + if$ + } + if$ +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { format.booktitle duplicate$ empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { word.in swap$ * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + address "address" bibinfo.check * + t empty$ + 'skip$ + { address empty$ + 'skip$ + { ": " * } + if$ + t * + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + add.colon + format.title "title" output.check + new.sentence + crossref missing$ + { + journal + "journal" bibinfo.check + emphasize + "journal" output.check + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + } + if$ + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ + format.issn output + format.doi output + format.note output + format.eprint output + fin.entry + write.url +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + add.colon + } + { format.authors output.nonnull + add.colon + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.sentence + format.number.series output + format.publisher.address output + } + { + new.sentence + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + format.isbn output + format.book.pages output + format.doi output + format.note output + format.eprint output + fin.entry + write.url +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + add.colon + format.title "title" output.check + new.sentence + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.date output + format.isbn output + format.book.pages output + format.doi output + format.note output + format.eprint output + fin.entry + write.url +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + add.colon + } + { format.authors output.nonnull + add.colon + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.sentence + format.number.series output + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + new.sentence + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + crossref missing$ + { format.isbn output } + 'skip$ + if$ + format.pages "pages" output.check + format.doi output + format.note output + format.eprint output + fin.entry + write.url +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + add.colon + format.title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.number.series output + format.chapter.pages output + format.publisher.address output + format.edition output + format.date "year" output.check + format.isbn output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.pages "pages" output.check + format.doi output + format.note output + format.eprint output + fin.entry + write.url +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + add.colon + format.title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.date "year" output.check + format.isbn output + format.issn output + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.pages "pages" output.check + format.doi output + format.note output + format.eprint output + fin.entry + write.url +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization "organization" bibinfo.check + duplicate$ empty$ 'pop$ + { output + address "address" bibinfo.check output + } + if$ + } + { format.authors output.nonnull } + if$ + add.colon + format.btitle "title" output.check + new.sentence + author empty$ + { organization empty$ + { + address "address" bibinfo.check output + } + 'skip$ + if$ + } + { + organization "organization" bibinfo.check output + address "address" bibinfo.check output + } + if$ + format.edition output + format.date output + format.doi output + format.note output + format.eprint output + fin.entry + write.url +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + add.colon + format.btitle + "title" output.check + new.sentence + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + format.note output + format.eprint output + fin.entry + write.url +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + add.colon + format.title output + new.sentence + howpublished "howpublished" bibinfo.check output + format.date output + format.doi output + format.note output + format.eprint output + fin.entry + write.url + empty.misc.check +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + add.colon + format.btitle + "title" output.check + new.sentence + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + format.note output + format.eprint output + fin.entry + write.url +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization "organization" bibinfo.check output + } + { format.editors output.nonnull } + if$ + add.colon + format.btitle "title" output.check + format.bvolume output + format.number.series output + editor empty$ + { publisher empty$ + 'skip$ + { + format.publisher.address output + } + if$ + } + { publisher empty$ + { + format.organization.address output } + { + organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + if$ + format.date "year" output.check + format.isbn output + format.issn output + format.doi output + format.note output + format.eprint output + fin.entry + write.url +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + add.colon + format.title + "title" output.check + new.sentence + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + format.doi output + format.note output + format.eprint output + fin.entry + write.url +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + add.colon + format.title "title" output.check + format.date output + format.doi output + format.note "note" output.check + format.eprint output + fin.entry + write.url +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + nameptr #3 + #1 + = + numnames #3 + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {presort} +SORT +STRINGS { longest.label } +INTEGERS { number.label longest.label.width } +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} +EXECUTE {initialize.longest.label} +ITERATE {longest.label.pass} +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{URL }" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else" + write$ newline$ + " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ + "\providecommand{\selectlanguage}[1]{\relax}" + write$ newline$ + "\providecommand{\eprint}[2][]{\url{#2}}" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `czechiso.bst'. diff --git a/tex/text/3_teoreticka_cast.tex b/tex/text/3_teoreticka_cast.tex index e69de29..4c91758 100644 --- a/tex/text/3_teoreticka_cast.tex +++ b/tex/text/3_teoreticka_cast.tex @@ -0,0 +1,68 @@ +\chapter{Kinematika} + + +\section{Souřadný systém} + +\section{Kinematická transformace} + +\subsection{Přímá transformace} + +\subsection{Nepřímá transformace} + +\cite{2016Rarv} + +\section{Kinematiky používané v aditivní výrobě} + +\subsection{Kártézská} + +\subsection{Portálová (gantry)} +Portálová kinematika je v současné době nejrožířenější kinematika a to díky jednoduchosti konstrukce a jednoduchosti kinematické transformace. Tato kinematika vyžaduje nejméně tři krokové motory. Tedy jeden pro každou z os. Nejpopulárnější je však tiskárna Prusa i3 navržena Josefem Průšou. Tento typ tiskáren využívá krokové motory čtyři, tím se eliminuje prověšení ramene osy x. Ačkoliv jsou tyto tiskárny kompaktní, tak při tisku vyžadují v ose y větší prostor pro pohyb podložky. + +\subsection{CoreXY} + +\subsection{CoreXZ} + +\subsection{SCARA} + +\subsection{Delta} + +\chapter{Implementace kinematiky scara do Klippy} + +\section{Inverzní kinematika} +Pro další výpočty je potřebné znát Elbow Crosstalk Ratio (převodový poměr ozubených řemenic v ose ramene vůči řemenici v ose kloubu). + +\begin{equation} + ECR = \frac { n_S } { n_E } +\end{equation} + +Nejprve je třeba kompenzovat offset polohy TCP v osách x a y. + +Dalším krokem je výpočet vzdálenosti od počátku. + +\begin{equation} + hypot = \sqrt{x^2 y^2} +\end{equation} + +Dále se vypočítají úhly ramen \(\phi_S\) (shoulder) a \(\phi_E\) (elbow). + +\begin{equation} + \phi_S = arctan2 \left( x, y \right) - arccos \left( \frac { x^2 + y^2 + L_1^2 - L_2^2 } { 2 \cdot L_1 \cdot hypot } \right) [\si{\radian}] +\end{equation} + +kde \(L_1\) a \(L_2\) jsou délky ramen. + +\begin{equation} + \phi_E = \frac { \phi_S } { ECR } + arccos \left( \frac { x^2 + y^2 + L_1^2 + L_2^2 } { 2 \cdot L_1 \cdot L_2 } \right) [\si{\radian}] +\end{equation} + +kde \(ECR\) je Elbow Crosstalk Ratio, \(L_1\) a \(L_2\) jsou délky ramen. + +Následně stačí převést úhel v radiánech na stupně. + +\begin{equation} + \Phi_S = \phi_S \cdot \frac { 180 } { \pi } [\si{\degree}] +\end{equation} + +\begin{equation} + \Phi_E = \phi_E \cdot \frac { 180 } { \pi } [\si{\degree}] +\end{equation} \ No newline at end of file diff --git a/tex/text/7_zkratky.tex b/tex/text/7_zkratky.tex index 4fa83a6..97f21c2 100644 --- a/tex/text/7_zkratky.tex +++ b/tex/text/7_zkratky.tex @@ -9,8 +9,8 @@ [KolikMista] {pouze ukázka vyhrazeného místa} - \acro{DSP} % název/zkratka - {číslicové zpracování signálů -- Digital Signal Processing} + \acro{TCP} % název/zkratka + {poloho koncového bodu -- Tool Center Point} % rozvinutí zkratky %%% bsymfvz \acro{symfvz} % název