This commit is contained in:
Tomáš Batelka 2025-06-16 01:57:11 +02:00
parent 165f0ec902
commit 30faa04b4b
13 changed files with 642 additions and 71 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 MiB

After

Width:  |  Height:  |  Size: 9.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 554 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

View file

@ -0,0 +1,471 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="666.12317"
height="263.04132"
viewBox="0 0 666.12317 263.04132"
version="1.1"
id="svg1"
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
sodipodi:docname="scara.svg"
inkscape:export-filename="scara.png"
inkscape:export-xdpi="276.90839"
inkscape:export-ydpi="276.90839"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
showguides="false"
inkscape:zoom="1.3261646"
inkscape:cx="289.17979"
inkscape:cy="131.95949"
inkscape:window-width="1920"
inkscape:window-height="1011"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1">
<pattern
inkscape:collect="always"
xlink:href="#Strips1_3"
preserveAspectRatio="xMidYMid"
id="pattern38"
patternTransform="matrix(1.3251783,-1.4142136,1.3251783,1.4142136,32.401658,0)"
x="0"
y="0" />
<pattern
inkscape:collect="always"
xlink:href="#stripes-grid"
preserveAspectRatio="xMidYMid"
id="pattern33"
patternTransform="scale(2)"
x="0"
y="0" />
<pattern
inkscape:collect="always"
xlink:href="#stripes-grid"
preserveAspectRatio="xMidYMid"
id="pattern28"
patternTransform="matrix(0.99999994,-1.7320507,1.7320507,0.99999994,0,0)"
x="0"
y="0"
width="4.8" />
<pattern
patternUnits="userSpaceOnUse"
width="3"
height="10"
patternTransform="scale(2)"
preserveAspectRatio="xMidYMid"
id="stripes-grid"
style="fill:#000000"
x="0"
y="0"
inkscape:label="Stripes grid"
inkscape:collect="always"
inkscape:isstock="true">
<rect
style="stroke:none"
x="0"
y="0"
width="2"
height="10"
id="rect134-4" />
</pattern>
<pattern
inkscape:collect="always"
xlink:href="#Strips1_3"
preserveAspectRatio="xMidYMid"
id="pattern14"
patternTransform="matrix(1.4142133,-1.4142133,1.4142133,1.4142133,0,0)"
x="0"
y="0" />
<pattern
inkscape:collect="always"
patternUnits="userSpaceOnUse"
width="4"
height="1"
patternTransform="translate(0,0) scale(2,2)"
preserveAspectRatio="xMidYMid"
id="Strips1_3"
style="fill:#bfbfbf"
inkscape:stockid="Stripes 04 (1:3)"
inkscape:isstock="true"
inkscape:label="Stripes 04 (1:3)">
<rect
style="stroke:none"
x="0"
y="-0.5"
width="1"
height="2"
id="rect152" />
</pattern>
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath55">
<path
id="path55"
style="stroke-width:0.1;stroke-linecap:square;paint-order:markers fill stroke;stop-color:#000000"
d="m 1736.6147,-745.57287 h 1589.4765 v 72.46715 H 1736.6147 Z" />
</clipPath>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0.48787498,0.48787498)">
<path
id="path1"
style="fill:url(#pattern14);fill-opacity:1;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1"
d="M 200.51213,0.51212502 A 200,200 0 0 0 0.51212502,200.51213 H 170.51213 a 30,30 0 0 1 30,-30 30,30 0 0 1 4.66796,0.40821 100,100 0 0 1 95.33204,-70.40821 100,100 0 0 1 99.14453,86.94727 A 200,200 0 0 0 200.51213,0.51212502 Z" />
<path
style="font-variation-settings:'wght' 700;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="path33"
sodipodi:type="arc"
sodipodi:cx="213.85074"
sodipodi:cy="201.14485"
sodipodi:rx="36.713879"
sodipodi:ry="36.713879"
sodipodi:start="5.1336529"
sodipodi:end="0.00031086849"
sodipodi:arc-type="slice"
d="m 228.86356,167.64076 a 36.713879,36.713879 0 0 1 21.70106,33.5155 l -36.71388,-0.0114 z" />
<path
style="font-variation-settings:'wght' 700;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="path33-1"
sodipodi:type="arc"
sodipodi:cx="246.61613"
sodipodi:cy="97.25396"
sodipodi:rx="34.920578"
sodipodi:ry="34.920578"
sodipodi:start="3.9849163"
sodipodi:end="5.1323695"
sodipodi:arc-type="slice"
d="m 223.3945,71.173267 a 34.920578,34.920578 0 0 1 37.46024,-5.805178 L 246.61613,97.25396 Z" />
<g
id="g18"
transform="rotate(24.004528,199.93384,201.71307)"
style="display:inline;stroke-width:2;stroke-dasharray:none;paint-order:markers fill stroke">
<path
style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
d="M 187.58385,201.02426 V 101.024 h 25 v 100.00026 z"
id="path18"
sodipodi:nodetypes="ccccc" />
<circle
style="fill:#000000;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="path14"
cx="200.08385"
cy="101.024"
r="12.5" />
<circle
style="fill:#000000;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="path15-3"
cx="200.08385"
cy="201.02426"
r="12.5" />
<text
xml:space="preserve"
style="font-size:106.667px;font-family:'Vafle VUT';-inkscape-font-specification:'Vafle VUT';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:#ffffff;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="111.59811"
y="225.77763"
id="text18"
transform="rotate(-24.340186)"><tspan
sodipodi:role="line"
id="tspan18"
x="111.59811"
y="225.77763"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;stroke-dasharray:none;paint-order:markers fill stroke"
dx="0">L1</tspan></text>
</g>
<g
id="g18-3"
transform="rotate(-41.590462,101.11722,102.18901)"
style="display:inline">
<path
style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1"
d="M 188.21301,200.75204 V 100.75178 h 25 v 100.00026 z"
id="path18-6"
sodipodi:nodetypes="ccccc" />
<circle
style="fill:#000000;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1"
id="path14-0"
cx="200.71301"
cy="100.75178"
r="12.5" />
<circle
style="fill:#000000;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1"
id="path15-3-6"
cx="200.71301"
cy="200.75204"
r="12.5" />
<text
xml:space="preserve"
style="font-size:106.667px;font-family:'Vafle VUT';-inkscape-font-specification:'Vafle VUT';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;fill:#ffffff;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="240.8356"
y="-13.226994"
id="text18-2"
transform="rotate(41.254804)"><tspan
sodipodi:role="line"
id="tspan18-5"
x="240.8356"
y="-13.226994"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;stroke-dasharray:none;paint-order:markers fill stroke"
dx="0">L2</tspan></text>
</g>
<path
style="font-variation-settings:'wght' 700;fill:none;fill-opacity:1;stroke:url(#pattern28);stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
d="m 281.71307,18.44172 -40.68099,91.35157 z"
id="path21" />
<path
style="font-variation-settings:'wght' 700;fill:none;fill-opacity:1;stroke:url(#pattern33);stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
d="m 200.35109,201.14486 99.99983,-1e-5 z"
id="path32" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="225.70726"
y="194.40646"
id="text33"><tspan
sodipodi:role="line"
id="tspan33"
x="225.70726"
y="194.40646"
style="fill:#000000;fill-opacity:1;stroke:none">Φ</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="237.67082"
y="81.2481"
id="text34"><tspan
sodipodi:role="line"
id="tspan34"
x="237.67082"
y="81.2481">Θ</tspan></text>
<g
id="g35"
transform="translate(-17.366791,-19.799512)">
<rect
style="font-variation-settings:'wght' 700;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.12978;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="rect35"
width="58.073624"
height="22.814148"
x="115.37029"
y="55.422985" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="121.35112"
y="70.622055"
id="text35"><tspan
sodipodi:role="line"
id="tspan35"
x="121.35112"
y="70.622055">T [x,y]</tspan></text>
</g>
<g
id="g35-1"
transform="translate(264.19137,-18.496396)">
<rect
style="font-variation-settings:'wght' 700;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.975216;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="rect35-3"
width="43.270584"
height="22.814148"
x="130.17334"
y="55.422989" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="136.28062"
y="71.278061"
id="text35-1"><tspan
sodipodi:role="line"
id="tspan35-10"
x="136.28062"
y="71.278061">T [z]</tspan></text>
</g>
<g
id="g35-8"
transform="translate(55.943985,160.74327)">
<rect
style="font-variation-settings:'wght' 700;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.12978;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="rect35-0"
width="58.073624"
height="22.814148"
x="115.37029"
y="55.422985" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="127.69923"
y="71.366058"
id="text35-2"><tspan
sodipodi:role="line"
id="tspan35-1"
x="127.69923"
y="71.366058">[0,0]</tspan></text>
</g>
<g
id="g37"
transform="translate(-77.024255,4.7070313e-4)">
<rect
style="font-variation-settings:'wght' 700;fill:url(#pattern38);fill-opacity:1;stroke:none;stroke-width:1.93602;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="rect38"
width="228"
height="32.613052"
x="514.65955"
y="202.02426" />
<path
style="font-variation-settings:'wght' 700;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
d="m 729.15955,201.02426 -214.5,1 z"
id="path38" />
<rect
style="font-variation-settings:'wght' 700;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="rect37-6"
width="100"
height="25"
x="528.15955"
y="35.833195" />
<rect
style="font-variation-settings:'wght' 700;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="rect37"
width="100"
height="25"
x="628.15955"
y="35.833195" />
<rect
style="font-variation-settings:'wght' 700;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="rect36"
width="25"
height="200"
x="716.65955"
y="1.024255" />
<rect
style="font-variation-settings:'wght' 700;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.816497;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="rect36-0"
width="25"
height="25.000002"
x="615.65955"
y="35.833195" />
<rect
style="font-variation-settings:'wght' 700;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
id="rect36-0-4"
width="25"
height="37.5"
x="514.65955"
y="34.833195" />
<text
xml:space="preserve"
style="font-size:106.667px;font-family:'Vafle VUT';-inkscape-font-specification:'Vafle VUT';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;fill:#ffffff;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="669.40875"
y="58.017223"
id="text18-28"
transform="rotate(-0.335658)"><tspan
sodipodi:role="line"
id="tspan18-4"
x="669.40875"
y="58.017223"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;stroke-dasharray:none;paint-order:markers fill stroke"
dx="0">L1</tspan></text>
<text
xml:space="preserve"
style="font-size:106.667px;font-family:'Vafle VUT';-inkscape-font-specification:'Vafle VUT';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;fill:#ffffff;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="569.41046"
y="57.431393"
id="text18-28-6"
transform="rotate(-0.335658)"><tspan
sodipodi:role="line"
x="569.41046"
y="57.431393"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;stroke-dasharray:none;paint-order:markers fill stroke"
dx="0 0 0"
id="tspan37"><tspan
dx="0"
id="tspan38"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;stroke-dasharray:none;paint-order:markers fill stroke">L2</tspan></tspan></text>
</g>
<text
xml:space="preserve"
style="font-size:106.667px;font-family:'Vafle VUT';-inkscape-font-specification:'Vafle VUT';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;fill:#ffffff;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="193.63327"
y="208.05112"
id="text18-2-9"
transform="rotate(-0.335658)"><tspan
sodipodi:role="line"
id="tspan18-5-1"
x="193.63327"
y="208.05112"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-dasharray:none;paint-order:markers fill stroke">A</tspan></text>
<text
xml:space="preserve"
style="font-size:106.667px;font-family:'Vafle VUT';-inkscape-font-specification:'Vafle VUT';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;fill:#ffffff;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="647.05432"
y="57.893337"
id="text18-2-9-4"
transform="rotate(-0.335658)"><tspan
sodipodi:role="line"
id="tspan18-5-1-0"
x="647.05432"
y="57.893337"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-dasharray:none;paint-order:markers fill stroke">A</tspan></text>
<text
xml:space="preserve"
style="font-size:106.667px;font-family:'Vafle VUT';-inkscape-font-specification:'Vafle VUT';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;fill:#ffffff;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="545.2464"
y="57.273281"
id="text18-2-9-4-6"
transform="rotate(-0.335658)"><tspan
sodipodi:role="line"
id="tspan18-5-1-0-7"
x="545.2464"
y="57.273281"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-dasharray:none;paint-order:markers fill stroke">B</tspan></text>
<text
xml:space="preserve"
style="font-size:106.667px;font-family:'Vafle VUT';-inkscape-font-specification:'Vafle VUT';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;fill:#ffffff;stroke:#000000;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="234.78473"
y="116.91544"
id="text18-2-9-3"
transform="rotate(-0.335658)"><tspan
sodipodi:role="line"
id="tspan18-5-1-8"
x="234.78473"
y="116.91544"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-dasharray:none;paint-order:markers fill stroke">B</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="190.15521"
y="259.65744"
id="text39"><tspan
sodipodi:role="line"
id="tspan39"
x="190.15521"
y="259.65744"
style="fill:#000000">(a)</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="541.15527"
y="260.02545"
id="text39-7"><tspan
sodipodi:role="line"
id="tspan39-2"
x="541.15527"
y="260.02545"
style="fill:#000000">(b)</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -51,7 +51,7 @@
% u obhajoby semestrální práce se oponent nezobrazuje (jelikož neexistuje)
% cSpell:disable-next-line
% U dizertační práce jsou typicky dva až tři oponenti. Pokud je chcete mít na titulním slajdu, prosím ručně odkomentujte a upravte jejich jména v definici "VUT title page" v souboru thesis.sty.
\opponent[doc.\ Mgr.]{Křestní}{Příjmení}[Ph.D.]
\opponent[Ing.]{Marek}{Sedlařík}
%%% Název práce
% Parametr ve složených závorkách {} je název v originálním jazyce,

View file

@ -43,7 +43,6 @@
\usepackage{booktabs} % Balíček, který umožňuje v tabulce používat
% příkazy \toprule, \midrule, \bottomrule
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% Definice informací o dokumentu %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@ -88,6 +87,26 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%
\begin{frame}
% nadpis snímku
\frametitle{Cíle práce}
\begin{itemize}
\item Teoretická část
\begin{itemize}
\item Seznámit se s kinematikou SCARA {\color{green}\faIcon{check}}
\item Provést srovnání kinematik FFF 3D tiskáren {\color{green}\faIcon{check}}
\end{itemize}
\item Praktická část
\begin{itemize}
\item Navrhnout konstrukční řešení SCARA 3D tiskárny {\color{green}\faIcon{check}}
\item Vybrat komponenty pro stavbu 3D tiskárny {\color{green}\faIcon{check}}
\item Implementovat kinematiku do firmwaru Klipper {\color{green}\faIcon{check}}
\item Sestavit 3D tiskárnu, zkalibrovat a otestovat ji {\color{green}\faIcon{check}}
\end{itemize}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%
\begin{frame}
@ -114,28 +133,18 @@
%%%%%%%%%%%%%
\begin{frame}
% nadpis snímku
\frametitle{Cíle práce}
\begin{itemize}
\item Teoretická část
\begin{itemize}
\item Seznámit se s kinematikou SCARA {\color{green}\faIcon{check}}
\item Provést srovnání kinematik FFF 3D tiskáren {\color{green}\faIcon{check}}
\end{itemize}
\item Praktická část
\begin{itemize}
\item Navrhnout konstrukční řešení SCARA 3D tiskárny {\color{green}\faIcon{check}}
\item Vybrat komponenty pro stavbu 3D tiskárny {\color{green}\faIcon{check}}
\item Implementovat kinematiku do firmwaru Klipper {\color{green}\faIcon{check}}
\item Sestavit 3D tiskárnu, zkalibrovat a otestovat ji {\color{green}\faIcon{check}}
\end{itemize}
\end{itemize}
\frametitle{SCARA kinematika}
\begin{figure}
\includegraphics[height=0.5\textheight]{images/obhajoba/scara/scara.png}
\caption{Pracovní prostor SCARA robotu}
\label{fig:scara-kinematics}
\end{figure}
\end{frame}
%%%%%%%%%%%%%
\begin{frame}
\frametitle{Konstrukce}
\frametitle{Konstrukce -- Přehled}
\begin{minipage}[t]{0.7\textwidth}
\begin{figure}
@ -171,29 +180,7 @@
%%%%%%%%%%%%%
\begin{frame}
\frametitle{Modely dílů}
\begin{minipage}[t]{0.49\textwidth}
\begin{figure}
\includegraphics[height=0.6\textheight]{images/obhajoba/floating-hole-cad.png}
\caption{Plovoucí otvor}
\label{fig:floating-hole-cad}
\end{figure}
\end{minipage}
\begin{minipage}[t]{0.49\textwidth}
\begin{figure}
\includegraphics[height=0.6\textheight]{images/obhajoba/floating-hole-slicer.png}
\caption{Plovoucí otvor ve sliceru}
\label{fig:floating-hole-slicer}
\end{figure}
\end{minipage}
\end{frame}
%%%%%%%%%%%%%
\begin{frame}
\frametitle{Tiskárna}
\frametitle{Konstrukce -- Celá sestava}
\begin{columns}[onlytextwidth,b]
\begin{column}{0.4\textwidth}
@ -219,11 +206,11 @@
%%%%%%%%%%%%%
\begin{frame}
\frametitle{Rameno}
\frametitle{Konstrukce -- Sestava ramene}
\begin{figure}
\centering
\includegraphics[height=0.6\textheight]{images/obhajoba/Arm_Assembly_Isometric_Front.png}
\caption{Izometrické zobrazení ramene}
\caption{Izometrické zobrazení sestavy ramene}
\label{fig:arm}
\end{figure}
@ -232,20 +219,34 @@
%%%%%%%%%%%%%
\begin{frame}
\frametitle{Elektronika}
\frametitle{Elektronika -- Schéma zapojení}
\begin{figure}
\centering
\includegraphics[height=0.6\textheight]{images/2_prakticka_cast/schema/schema_zapojeni.png}
\caption{Schéma zapojení}
\label{fig:schema}
\end{figure}
\end{frame}
%%%%%%%%%%%%%
\begin{frame}
\frametitle{Elektronika -- Napájení a řízení}
\centering
\begin{minipage}[t]{0.74\textwidth}
\begin{itemize}
\item Řídící deska: \textbf{BTT SKR 1.4} + \textbf{BTT DCDC MODE}
\item Driver: 4\(\times\)\textbf{BTT TMC2209}
\item Řadiče: 4\(\times\)\textbf{BTT TMC2209}
\item Mikropočítač: \textbf{Raspberry Pi 2b}
\item Displej: \textbf{BTT PiTFT43}
\item Zdroj: \textbf{MeanWell SP-320-12}
\item Ventilátory: 2\(\times\)\textbf{SUNON MF60151V1-1000U-A99}
\item Napájecí konektor: \textbf{JR-101-1F}
\item Kolébkový spínač: \textbf{RS2013C3BK}
\item RJ45 keystone: \textbf{Datacom 4003}
\item Prodlužovací kabel USB
\item Kabeláž:
\begin{itemize}
\item \textbf{UL1332 0,34~\(\text{mm}^2\)} a \textbf{0,75~\(\text{mm}^2\)} (FEP)
@ -267,7 +268,7 @@
%%%%%%%%%%%%%
\begin{frame}
\frametitle{Tisková hlava}
\frametitle{Elektronika -- Tisková hlava}
\centering
\begin{minipage}[t]{0.7\textwidth}
@ -281,14 +282,14 @@
\item Radiální: \textbf{2~\(\times\)~12V 4010}
\item Axiální: \textbf{1~\(\times\)~12V 3010}
\end{itemize}
\item Bowden trubička: \textbf{PTFE, ID~2 mm, OD 4~mm}
\item Bowden trubička: \textbf{PTFE} (ID~2 mm, OD 4~mm)
\item Teplovodivá pasta: \textbf{Nitrid Boritý}
\end{itemize}
\end{minipage}
\begin{minipage}[t]{0.29\textwidth}
\begin{figure}
\includegraphics[width=\textwidth]{images/2_prakticka_cast/Toolhead_Assembly_Isometric_Rear.png}
\caption{Izometrický pohled ze zadní strany}
\caption{\centering{Izometrický pohled ze zadní strany}}
\label{fig:toolhead-rear}
\end{figure}
\end{minipage}
@ -296,15 +297,59 @@
\end{frame}
%%%%%%%%%%%%%
\begin{frame}
\begin{frame}[fragile]
\frametitle{Schéma zapojení}
\begin{figure}
\centering
\includegraphics[height=0.6\textheight]{images/2_prakticka_cast/schema/schema_zapojeni.png}
\caption{Schéma zapojení}
\label{fig:schema}
\end{figure}
\frametitle{Firmware}
\centering
\begin{itemize}
% cSpell:ignore chelper
\item \verb|klipper/klippy/chelper/__init__.py|
\begin{itemize}
\item Slouží jako wrapper pro kód implementovaný v~jazyce C
\item Obsahuje mj. hlavičky metod a~nastavení překladače
\end{itemize}
\item \verb|klipper/klippy/chelper/kin_scara.c|
\begin{itemize}
\item Implementace inverzní kinematiky
\end{itemize}
\item \verb|klipper/klippy/kinematics/scara.py|
\begin{itemize}
\item Implementace přímé kinematiky
\item Inicializace kinematiky
\item Validace pohybu
\item Homing procedura
\item \dots
\end{itemize}
\end{itemize}
\end{frame}
%%%%%%%%%%%%%
\begin{frame}[fragile]
\frametitle{Kalibrace}
\begin{minipage}[t]{0.49\textwidth}
Jednorázové kalibrace:
\begin{itemize}
\item PID kalibrace topného tělesa extruderu
\item Kalibrace kroku extruderu
\item Kalibrace první vrstvy (Z Offset Calibration)
\item Měření rezonančních frekvencí (Shaper Calibration)
\end{itemize}
\end{minipage}
\begin{minipage}[t]{0.49\textwidth}
\begin{figure}
\includegraphics[width=\textwidth]{images/obhajoba/pid-calibration.png}
\caption{\centering{Průběh PID kalibrace topného tělesa}}
\label{fig:pid-calibration}
\end{figure}
\end{minipage}
Při každém tisku je součástí \verb|PRINT_START| makra:
\begin{itemize}
\item Automatická kalibrace podložky (Bed Mesh Leveling)
\end{itemize}
\end{frame}
@ -338,20 +383,18 @@
%%%%%%%%%%%%%
\begin{frame}
\frametitle{Závěr}
V rámci semestrální práce jsem:
V rámci zpracovávání bakalářské práce jsem:
\begin{itemize}
\item zpracoval teorii,
\item navrhl některé díly 3D tiskárny,
\item a vybral vhodné elektronické komponenty.
\end{itemize}
V rámci zpracovávání bakalářské práce jsem:
\begin{itemize}
\item dokončil návrh všech dílů
\item vybral vhodné elektronické komponenty,
\item dokončil návrh všech dílů,
\item sestavil finální seznam materiálu a nakoupil jej,
\item implementoval kinematiku SCARA do firmwaru Klipper,
\item sestavil tiskárnu, nakonfiguroval tiskárnu a otestoval ji
\item sestavil tiskárnu, nakonfiguroval tiskárnu a otestoval ji,
\item připravil profil pro PrusaSlicer.
\end{itemize}
Vše dostupné na \href{https://github.com/fekt-scara}{github.com/fekt-scara}
\end{frame}
%%%%%%%%%%%%%
@ -379,11 +422,68 @@
\end{frame}
% otázky oponenta
% \frame{
% \frametitle{Otázky oponenta}
% \emph{Jaká je souvislost Vašeho vzorce (1.2) s~ rovnicemi v~integrálním tvaru?}\\[2ex]
% %
% Již staří Římané\,\dots
% }
\begin{frame}[fragile]
\frametitle{Otázky oponenta (1/3)}
\emph{Jaký vliv má délka ramen SCARA mechanismu na přesnost a stabilitu pohybu?}\\[2ex]
\begin{columns}[onlytextwidth,t]
\begin{column}{0.49\textwidth}
\begin{itemize}
\item Čím je délka ramen (segmentů) větší, tím větší může být moment setrvačnosti celého ramene. Důsledkem toho může při vyšších hodnotách zrychlení docházet k zákmitům ramene, který způsobuje jev zvaný Ringing nebo Ghosting.
\end{itemize}
\end{column}
\begin{column}{0.49\textwidth}
\begin{figure}
\includegraphics[width=\textwidth]{images/obhajoba/ringing.png}
\caption{\centering{Ringing/Ghosting}}
\label{fig:ringing}
\end{figure}
\end{column}
\end{columns}
\end{frame}
\begin{frame}[fragile]
\frametitle{Otázky oponenta (2/3)}
\emph{Jaké další alternativy je možné pro řízení SCARA tiskárny použít jiný firmware než Klipper a v čem se liší?}\\[2ex]
\begin{itemize}
\item Lze použít firmware \verb|Marlin|. Firmwary se liší zejména v jazycích implementace a architektuře firmwaru.
\end{itemize}
\begin{columns}[onlytextwidth,t]
\begin{column}{0.49\textwidth}
\begin{figure}
\includegraphics[height=0.16\textheight]{images/obhajoba/architecture-klipper.png}
\caption{\centering{Architektura firmwaru Klipper}}
\label{fig:architecture-klipper}
\end{figure}
\end{column}
\begin{column}{0.49\textwidth}
\begin{figure}
\includegraphics[height=0.16\textheight]{images/obhajoba/architecture-marlin.png}
\caption{\centering{Architektura firmwaru Marlin}}
\label{fig:architecture-marlin}
\end{figure}
\end{column}
\end{columns}
\end{frame}
\begin{frame}[fragile]
\frametitle{Otázky oponenta (3/3)}
\emph{Jaký parametr má největší vliv na přesnost inverzní kinematiky?}\\[2ex]
\begin{itemize}
\item Největší vliv mají délky segmentů ramene -- zejména délka segmentu \verb|L1|. Délka segmentu \verb|L1| proto, že přesnost délky prvního segmentu ovlivní přesnost druhého segmentu.
\end{itemize}
\begin{figure}
\includegraphics[height=0.4\textheight]{images/obhajoba/scara/scara.png}
\caption{Pracovní prostor SCARA robotu}
\label{fig:scara-kinematics}
\end{figure}
\end{frame}
\end{document}

Binary file not shown.