Add "obtained design" section

This commit is contained in:
Thomas Dehaeze 2025-04-21 23:42:55 +02:00
parent 2b4f9ff6fe
commit ed6f59cf50
49 changed files with 9121 additions and 68 deletions

BIN
figs/detail_design_apa.pdf Normal file

Binary file not shown.

BIN
figs/detail_design_apa.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 896 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 363 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 960 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 530 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 632 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 528 KiB

View File

@ -0,0 +1,480 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="48.992821mm"
height="23.312943mm"
viewBox="0 0 48.992821 23.312942"
version="1.1"
id="svg8"
inkscape:version="1.4.1 (93de688d07, 2025-03-30)"
sodipodi:docname="detail_design_simscape_encoder.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs2">
<marker
style="overflow:visible"
id="marker2627"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path2625" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-4"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-7" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-5"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#d95218;fill-opacity:1;fill-rule:evenodd;stroke:#d95218;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-4" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-4-8"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#d95218;fill-opacity:1;fill-rule:evenodd;stroke:#d95218;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-7-1" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-9"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-3" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-4-6"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-7-8" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-1"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-0" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-4-85"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-7-0" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-5-6"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#d95218;fill-opacity:1;fill-rule:evenodd;stroke:#d95218;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-4-4" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-4-8-6"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#d95218;fill-opacity:1;fill-rule:evenodd;stroke:#d95218;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-7-1-2" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-9-5"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-3-8" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-4-6-6"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-7-8-2" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-4-6-6-1"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:0.365295;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:0.365295"
id="path874-7-8-2-9" />
</marker>
<marker
style="overflow:visible"
id="marker1"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Concave triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.7)"
d="M -2,-4 9,0 -2,4 c 2,-2.33 2,-5.66 0,-8 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
id="path1" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="7.919596"
inkscape:cx="84.284602"
inkscape:cy="85.35789"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="false"
inkscape:snap-midpoints="true"
inkscape:window-width="2534"
inkscape:window-height="1367"
inkscape:window-x="11"
inkscape:window-y="60"
inkscape:window-maximized="1"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-29.72634,-20.364195)">
<rect
style="fill:#0072bd;fill-opacity:0.202289;stroke:#000000;stroke-width:0.264583;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
id="rect833"
width="43.039017"
height="11.334747"
x="35.415562"
y="23.512739" />
<text
xml:space="preserve"
style="font-size:3.52778px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
x="42.047787"
y="22.812475"
id="text837"><tspan
sodipodi:role="line"
id="tspan835"
x="42.047787"
y="22.812475"
style="font-size:3.52778px;stroke-width:0.264583">Encoder</tspan></text>
<rect
style="fill:#d95218;fill-opacity:0.202289;stroke:#000000;stroke-width:0.264583;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
id="rect839"
width="48.728237"
height="2.0129547"
x="29.858631"
y="41.531891" />
<path
style="fill:none;stroke:#0072bd;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
d="m 56.935068,34.847487 h 4.617146"
id="path845" />
<path
style="fill:none;stroke:#0072bd;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-4)"
d="M 56.935069,34.847488 V 30.230342"
id="path845-7" />
<path
style="fill:none;stroke:#d95218;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1)"
d="M 47.33985,41.531891 H 51.957"
id="path845-2-9" />
<path
style="fill:none;stroke:#d95218;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1)"
d="m 47.33986,41.531891 v -4.61714"
id="path845-7-8-0" />
<path
style="fill:none;stroke:#0072bd;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1)"
d="m 57.017752,41.531891 h 4.61715"
id="path845-0-8-6" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#0072bd;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker-end:url(#marker1);stop-color:#000000"
d="m 57.017752,41.531891 v -4.61714"
id="path845-7-2-1-9" />
<text
xml:space="preserve"
style="font-size:3.52778px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
x="34.326565"
y="40.792824"
id="text843-9"><tspan
sodipodi:role="line"
id="tspan841-1"
x="34.326565"
y="40.792824"
style="font-size:3.52778px;stroke-width:0.264583">Ruler</tspan></text>
<g
inkscape:label=""
transform="translate(51.75624,37.617681)"
id="g2">
<g
fill="#000000"
fill-opacity="1"
id="g3"
transform="matrix(0.352778,0,0,0.352778,-41.4979,-2.09047)">
<g
id="use2"
transform="translate(117.288,11.457)">
<path
d="m 4.28125,-5.296875 c 0.015625,-0.015625 0.03125,-0.109375 0.03125,-0.125 0,-0.03125 -0.03125,-0.109375 -0.125,-0.109375 -0.03125,0 -0.28125,0.03125 -0.453125,0.046875 l -0.453125,0.03125 c -0.171875,0.015625 -0.25,0.015625 -0.25,0.15625 0,0.125 0.109375,0.125 0.203125,0.125 0.390625,0 0.390625,0.046875 0.390625,0.109375 0,0.046875 -0.078125,0.3125 -0.109375,0.46875 L 3.125,-3.03125 C 3.046875,-3.171875 2.828125,-3.515625 2.328125,-3.515625 c -0.9375,0 -1.984375,1.109375 -1.984375,2.28125 0,0.84375 0.53125,1.3125 1.140625,1.3125 0.515625,0 0.953125,-0.40625 1.09375,-0.5625 0.140625,0.546875 0.6875,0.5625 0.78125,0.5625 0.375,0 0.546875,-0.296875 0.609375,-0.4375 C 4.140625,-0.640625 4.25,-1.109375 4.25,-1.140625 4.25,-1.1875 4.21875,-1.25 4.125,-1.25 c -0.09375,0 -0.109375,0.0625 -0.171875,0.25 -0.109375,0.4375 -0.25,0.859375 -0.5625,0.859375 -0.1875,0 -0.265625,-0.15625 -0.265625,-0.375 0,-0.15625 0.03125,-0.234375 0.046875,-0.34375 z m -1.703125,4.4375 c -0.390625,0.546875 -0.8125,0.71875 -1.0625,0.71875 -0.375,0 -0.546875,-0.34375 -0.546875,-0.75 0,-0.375 0.203125,-1.234375 0.390625,-1.578125 0.21875,-0.484375 0.609375,-0.828125 0.984375,-0.828125 0.515625,0 0.671875,0.59375 0.671875,0.6875 0,0.03125 -0.203125,0.8125 -0.25,1.015625 -0.109375,0.375 -0.109375,0.390625 -0.1875,0.734375 z m 0,0"
id="path4" />
</g>
</g>
<g
fill="#000000"
fill-opacity="1"
id="g4"
transform="matrix(0.352778,0,0,0.352778,-41.4979,-2.09047)">
<g
id="use3"
transform="translate(121.645,12.672)">
<path
d="M 2.078125,-3.734375 C 2.078125,-3.875 1.96875,-3.96875 1.84375,-3.96875 1.671875,-3.96875 1.5,-3.8125 1.5,-3.640625 1.5,-3.5 1.609375,-3.40625 1.734375,-3.40625 c 0.203125,0 0.34375,-0.171875 0.34375,-0.328125 z M 1.71875,-1.640625 C 1.75,-1.703125 1.796875,-1.84375 1.828125,-1.90625 1.84375,-1.953125 1.859375,-2.015625 1.859375,-2.125 c 0,-0.328125 -0.296875,-0.515625 -0.59375,-0.515625 -0.609375,0 -0.90625,0.796875 -0.90625,0.921875 0,0.03125 0.03125,0.078125 0.109375,0.078125 0.09375,0 0.109375,-0.03125 0.125,-0.078125 C 0.765625,-2.296875 1.078125,-2.4375 1.25,-2.4375 c 0.109375,0 0.15625,0.078125 0.15625,0.21875 0,0.109375 -0.03125,0.203125 -0.046875,0.25 l -0.3125,0.765625 c -0.078125,0.171875 -0.078125,0.1875 -0.15625,0.390625 -0.078125,0.171875 -0.09375,0.25 -0.09375,0.359375 0,0.296875 0.265625,0.515625 0.59375,0.515625 0.609375,0 0.90625,-0.796875 0.90625,-0.921875 0,-0.015625 0,-0.09375 -0.109375,-0.09375 -0.09375,0 -0.09375,0.03125 -0.125,0.15625 C 1.96875,-0.5 1.71875,-0.140625 1.40625,-0.140625 1.296875,-0.140625 1.25,-0.203125 1.25,-0.359375 1.25,-0.46875 1.28125,-0.5625 1.359375,-0.75 Z m 0,0"
id="path5" />
</g>
</g>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:0.265, 0.53;stroke-dashoffset:0;stroke-opacity:1"
d="m 47.33986,41.531891 c 1.30473,-1.53529 7.917232,-1.82301 9.677892,0"
id="path2617"
sodipodi:nodetypes="cc" />
<g
inkscape:label=""
transform="translate(41.752565,37.905747)"
id="g7"
style="fill:#d95319">
<g
fill="#000000"
fill-opacity="1"
id="g4-1"
transform="matrix(0.352778,0,0,0.352778,-40.285,-1.93613)"
style="fill:#d95319">
<g
id="use3-1"
transform="translate(113.6,11.457)"
style="fill:#d95319">
<path
d="m 2.421875,-4.828125 c 0,-0.203125 0,-0.40625 0.265625,-0.65625 C 2.75,-5.515625 2.984375,-5.71875 3.46875,-5.75 3.5625,-5.765625 3.640625,-5.765625 3.640625,-5.859375 c 0,-0.109375 -0.09375,-0.109375 -0.203125,-0.109375 -0.859375,0 -1.609375,0.390625 -1.625,1 v 2.03125 c -0.015625,0.40625 -0.40625,0.796875 -1.0625,0.828125 -0.09375,0.015625 -0.15625,0.015625 -0.15625,0.125 0,0.09375 0.0625,0.09375 0.125,0.109375 0.765625,0.046875 1.015625,0.453125 1.078125,0.671875 0.015625,0.09375 0.015625,0.109375 0.015625,0.40625 v 1.625 c 0,0.25 0,0.609375 0.515625,0.90625 0.34375,0.1875 0.828125,0.25 1.109375,0.25 0.109375,0 0.203125,0 0.203125,-0.109375 C 3.640625,1.78125 3.5625,1.78125 3.5,1.765625 2.75,1.71875 2.5,1.34375 2.4375,1.09375 2.421875,1.015625 2.421875,1 2.421875,0.71875 v -1.671875 c 0,-0.203125 0,-0.765625 -0.9375,-1.03125 C 2.09375,-2.171875 2.3125,-2.46875 2.390625,-2.75 c 0.03125,-0.109375 0.03125,-0.15625 0.03125,-0.40625 z m 0,0"
id="path6"
style="fill:#d95319" />
</g>
</g>
<g
fill="#000000"
fill-opacity="1"
id="g5"
transform="matrix(0.352778,0,0,0.352778,-40.285,-1.93613)"
style="fill:#d95319">
<g
id="use4"
transform="translate(117.83451,11.457)"
style="fill:#d95319">
<path
d="M 3.09375,-4.890625 C 3.15625,-5.15625 3.171875,-5.171875 3.5,-5.171875 h 0.640625 c 0.65625,0 1.265625,0.15625 1.265625,0.8125 0,0.34375 -0.171875,0.90625 -0.546875,1.15625 -0.375,0.28125 -0.828125,0.359375 -1.296875,0.359375 H 2.578125 Z m 1.359375,2.1875 c 0.96875,-0.25 1.734375,-0.84375 1.734375,-1.53125 0,-0.6875 -0.78125,-1.203125 -1.890625,-1.203125 h -2.34375 c -0.140625,0 -0.25,0 -0.25,0.140625 0,0.125 0.109375,0.125 0.234375,0.125 0.265625,0 0.5,0 0.5,0.125 0,0.03125 -0.015625,0.03125 -0.03125,0.140625 L 1.328125,-0.625 C 1.265625,-0.328125 1.25,-0.265625 0.65625,-0.265625 c -0.15625,0 -0.25,0 -0.25,0.15625 C 0.40625,-0.078125 0.4375,0 0.53125,0 0.6875,0 0.875,-0.015625 1.03125,-0.03125 H 1.515625 C 2.265625,-0.03125 2.5,0 2.546875,0 c 0.046875,0 0.15625,0 0.15625,-0.15625 0,-0.109375 -0.109375,-0.109375 -0.234375,-0.109375 -0.03125,0 -0.171875,0 -0.3125,-0.015625 -0.171875,-0.015625 -0.1875,-0.03125 -0.1875,-0.109375 0,-0.046875 0.015625,-0.09375 0.03125,-0.125 l 0.515625,-2.09375 h 1.03125 c 0.71875,0 0.953125,0.375 0.953125,0.703125 0,0.109375 -0.0625,0.34375 -0.09375,0.5 C 4.328125,-1.171875 4.25,-0.859375 4.25,-0.703125 c 0,0.609375 0.53125,0.875 1.125,0.875 0.6875,0 1.015625,-0.78125 1.015625,-0.9375 0,-0.03125 -0.03125,-0.109375 -0.125,-0.109375 -0.09375,0 -0.109375,0.0625 -0.125,0.109375 C 5.96875,-0.21875 5.625,-0.0625 5.390625,-0.0625 5.09375,-0.0625 5.0625,-0.28125 5.0625,-0.546875 c 0,-0.265625 0.046875,-0.609375 0.078125,-0.875 0.03125,-0.234375 0.03125,-0.28125 0.03125,-0.359375 0,-0.484375 -0.296875,-0.765625 -0.71875,-0.921875 z m 0,0"
id="path7"
style="fill:#d95319" />
</g>
</g>
<g
fill="#000000"
fill-opacity="1"
id="g6"
transform="matrix(0.352778,0,0,0.352778,-40.285,-1.93613)"
style="fill:#d95319">
<g
id="use5"
transform="translate(124.26001,11.457)"
style="fill:#d95319">
<path
d="m 2.421875,-4.8125 c 0,-0.234375 0,-0.5625 -0.4375,-0.859375 C 1.65625,-5.890625 1.125,-5.96875 0.78125,-5.96875 c -0.109375,0 -0.1875,0 -0.1875,0.109375 0,0.09375 0.0625,0.09375 0.125,0.109375 0.734375,0.046875 1.015625,0.390625 1.078125,0.6875 0.015625,0.078125 0.015625,0.140625 0.015625,0.25 v 1.671875 c 0,0.359375 0,0.875 0.921875,1.15625 -0.4375,0.125 -0.78125,0.34375 -0.890625,0.75 C 1.8125,-1.125 1.8125,-1.078125 1.8125,-0.828125 v 1.4375 c 0,0.53125 0,0.609375 -0.265625,0.875 C 1.53125,1.5 1.3125,1.734375 0.75,1.765625 0.640625,1.78125 0.59375,1.78125 0.59375,1.875 c 0,0.109375 0.078125,0.109375 0.1875,0.109375 0.859375,0 1.625,-0.375 1.640625,-1 v -1.59375 c 0,-0.546875 0,-0.734375 0.234375,-0.953125 C 2.921875,-1.796875 3.203125,-1.859375 3.46875,-1.875 3.578125,-1.890625 3.640625,-1.890625 3.640625,-1.984375 3.640625,-2.09375 3.5625,-2.09375 3.5,-2.109375 2.609375,-2.15625 2.421875,-2.703125 2.421875,-2.9375 Z m 0,0"
id="path8"
style="fill:#d95319" />
</g>
</g>
</g>
<g
inkscape:label=""
transform="translate(57.637038,37.905747)"
id="g8"
style="fill:#0072bd">
<g
fill="#000000"
fill-opacity="1"
id="g4-1-1"
transform="matrix(0.352778,0,0,0.352778,-40.2452,-1.93613)"
style="fill:#0072bd">
<g
id="use3-1-1"
transform="translate(113.487,11.457)"
style="fill:#0072bd">
<path
d="m 2.421875,-4.828125 c 0,-0.203125 0,-0.40625 0.265625,-0.65625 C 2.75,-5.515625 2.984375,-5.71875 3.46875,-5.75 3.5625,-5.765625 3.640625,-5.765625 3.640625,-5.859375 c 0,-0.109375 -0.09375,-0.109375 -0.203125,-0.109375 -0.859375,0 -1.609375,0.390625 -1.625,1 v 2.03125 c -0.015625,0.40625 -0.40625,0.796875 -1.0625,0.828125 -0.09375,0.015625 -0.15625,0.015625 -0.15625,0.125 0,0.09375 0.0625,0.09375 0.125,0.109375 0.765625,0.046875 1.015625,0.453125 1.078125,0.671875 0.015625,0.09375 0.015625,0.109375 0.015625,0.40625 v 1.625 c 0,0.25 0,0.609375 0.515625,0.90625 0.34375,0.1875 0.828125,0.25 1.109375,0.25 0.109375,0 0.203125,0 0.203125,-0.109375 C 3.640625,1.78125 3.5625,1.78125 3.5,1.765625 2.75,1.71875 2.5,1.34375 2.4375,1.09375 2.421875,1.015625 2.421875,1 2.421875,0.71875 v -1.671875 c 0,-0.203125 0,-0.765625 -0.9375,-1.03125 C 2.09375,-2.171875 2.3125,-2.46875 2.390625,-2.75 c 0.03125,-0.109375 0.03125,-0.15625 0.03125,-0.40625 z m 0,0"
id="path6-1"
style="fill:#0072bd" />
</g>
</g>
<g
fill="#000000"
fill-opacity="1"
id="g5-1"
transform="matrix(0.352778,0,0,0.352778,-40.2452,-1.93613)"
style="fill:#0072bd">
<g
id="use4-1"
transform="translate(117.72151,11.457)"
style="fill:#0072bd">
<path
d="M 5.96875,-1.84375 C 5.984375,-1.875 6,-1.921875 6,-1.953125 c 0,-0.015625 0,-0.125 -0.125,-0.125 -0.078125,0 -0.09375,0.03125 -0.171875,0.203125 -0.5,1.171875 -0.875,1.609375 -2.1875,1.609375 h -1.4375 C 2,-0.28125 1.96875,-0.28125 1.96875,-0.328125 c 0,-0.0625 0.015625,-0.140625 0.046875,-0.1875 L 2.5625,-2.6875 h 0.84375 c 0.59375,0 0.703125,0.09375 0.703125,0.359375 0,0 0,0.125 -0.046875,0.359375 -0.015625,0.03125 -0.03125,0.078125 -0.03125,0.109375 0,0 0.015625,0.109375 0.125,0.109375 0.09375,0 0.109375,-0.046875 0.140625,-0.1875 L 4.71875,-3.609375 C 4.71875,-3.625 4.75,-3.75 4.75,-3.765625 4.75,-3.84375 4.6875,-3.875 4.625,-3.875 c -0.09375,0 -0.109375,0.046875 -0.140625,0.1875 -0.171875,0.625 -0.375,0.734375 -1.0625,0.734375 H 2.625 l 0.46875,-1.90625 C 3.171875,-5.140625 3.171875,-5.15625 3.5,-5.15625 h 1.25 c 0.953125,0 1.265625,0.1875 1.265625,0.890625 0,0.171875 -0.046875,0.375 -0.046875,0.515625 0,0.09375 0.0625,0.140625 0.125,0.140625 0.109375,0 0.109375,-0.078125 0.125,-0.203125 L 6.359375,-5.171875 C 6.375,-5.21875 6.375,-5.265625 6.375,-5.3125 6.375,-5.421875 6.28125,-5.421875 6.140625,-5.421875 H 1.9375 c -0.15625,0 -0.25,0 -0.25,0.15625 0,0.109375 0.109375,0.109375 0.234375,0.109375 0.03125,0 0.171875,0 0.3125,0.015625 0.171875,0.015625 0.1875,0.046875 0.1875,0.109375 0,0.046875 -0.015625,0.09375 -0.03125,0.125 l -1.0625,4.28125 c -0.078125,0.296875 -0.09375,0.359375 -0.6875,0.359375 -0.140625,0 -0.25,0 -0.25,0.15625 C 0.390625,0 0.5,0 0.640625,0 h 4.3125 c 0.1875,0 0.203125,0 0.265625,-0.140625 z m 0,0"
id="path7-1"
style="fill:#0072bd" />
</g>
</g>
<g
fill="#000000"
fill-opacity="1"
id="g6-1"
transform="matrix(0.352778,0,0,0.352778,-40.2452,-1.93613)"
style="fill:#0072bd">
<g
id="use5-1"
transform="translate(124.37416,11.457)"
style="fill:#0072bd">
<path
d="m 2.421875,-4.8125 c 0,-0.234375 0,-0.5625 -0.4375,-0.859375 C 1.65625,-5.890625 1.125,-5.96875 0.78125,-5.96875 c -0.109375,0 -0.1875,0 -0.1875,0.109375 0,0.09375 0.0625,0.09375 0.125,0.109375 0.734375,0.046875 1.015625,0.390625 1.078125,0.6875 0.015625,0.078125 0.015625,0.140625 0.015625,0.25 v 1.671875 c 0,0.359375 0,0.875 0.921875,1.15625 -0.4375,0.125 -0.78125,0.34375 -0.890625,0.75 C 1.8125,-1.125 1.8125,-1.078125 1.8125,-0.828125 v 1.4375 c 0,0.53125 0,0.609375 -0.265625,0.875 C 1.53125,1.5 1.3125,1.734375 0.75,1.765625 0.640625,1.78125 0.59375,1.78125 0.59375,1.875 c 0,0.109375 0.078125,0.109375 0.1875,0.109375 0.859375,0 1.625,-0.375 1.640625,-1 v -1.59375 c 0,-0.546875 0,-0.734375 0.234375,-0.953125 C 2.921875,-1.796875 3.203125,-1.859375 3.46875,-1.875 3.578125,-1.890625 3.640625,-1.890625 3.640625,-1.984375 3.640625,-2.09375 3.5625,-2.09375 3.5,-2.109375 2.609375,-2.15625 2.421875,-2.703125 2.421875,-2.9375 Z m 0,0"
id="path8-1"
style="fill:#0072bd" />
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -0,0 +1,576 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="48.992821mm"
height="23.164688mm"
viewBox="0 0 48.99282 23.164688"
version="1.1"
id="svg3140"
inkscape:version="1.4.1 (93de688d07, 2025-03-30)"
sodipodi:docname="detail_design_simscape_encoder_disp.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.6"
inkscape:cx="82.410714"
inkscape:cy="78.928571"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="false"
inkscape:window-width="2534"
inkscape:window-height="1367"
inkscape:window-x="11"
inkscape:window-y="60"
inkscape:window-maximized="1"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<defs
id="defs3134">
<marker
style="overflow:visible"
id="Arrow2Mend-1"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-0" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-4-85"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-7-0" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-5-6"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#d95218;fill-opacity:1;fill-rule:evenodd;stroke:#d95218;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-4-4" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-4-8-6"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#d95218;fill-opacity:1;fill-rule:evenodd;stroke:#d95218;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-7-1-2" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-9-5"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-3-8" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-4-6-6"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-7-8-2" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-4-6-6-1"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:0.365295;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:0.365295"
id="path874-7-8-2-9" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-5"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#d95218;fill-opacity:1;fill-rule:evenodd;stroke:#d95218;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-4" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-4-8"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#d95218;fill-opacity:1;fill-rule:evenodd;stroke:#d95218;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-7-1" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-9"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-3" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-4-6"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-7-8" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-9-5-7"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-3-8-5" />
</marker>
<marker
style="overflow:visible"
id="marker1-0"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Concave triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.7)"
d="M -2,-4 9,0 -2,4 c 2,-2.33 2,-5.66 0,-8 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
id="path1-9" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend-4"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874-7" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mend"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#0072bd;fill-opacity:1;fill-rule:evenodd;stroke:#0072bd;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path874" />
</marker>
<marker
style="overflow:visible"
id="marker1-2"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Concave triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.7)"
d="M -2,-4 9,0 -2,4 c 2,-2.33 2,-5.66 0,-8 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
id="path1-3" />
</marker>
<marker
style="overflow:visible"
id="marker1-22"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Concave triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.7)"
d="M -2,-4 9,0 -2,4 c 2,-2.33 2,-5.66 0,-8 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
id="path1-8" />
</marker>
<g
id="g2732">
<g
id="g4406">
<path
d="m 4.28125,-5.296875 c 0.015625,-0.015625 0.03125,-0.109375 0.03125,-0.125 0,-0.03125 -0.03125,-0.109375 -0.125,-0.109375 -0.03125,0 -0.28125,0.03125 -0.453125,0.046875 l -0.453125,0.03125 c -0.171875,0.015625 -0.25,0.015625 -0.25,0.15625 0,0.125 0.109375,0.125 0.203125,0.125 0.390625,0 0.390625,0.046875 0.390625,0.109375 0,0.046875 -0.078125,0.3125 -0.109375,0.46875 L 3.125,-3.03125 C 3.046875,-3.171875 2.828125,-3.515625 2.328125,-3.515625 c -0.9375,0 -1.984375,1.109375 -1.984375,2.28125 0,0.84375 0.53125,1.3125 1.140625,1.3125 0.515625,0 0.953125,-0.40625 1.09375,-0.5625 0.140625,0.546875 0.6875,0.5625 0.78125,0.5625 0.375,0 0.546875,-0.296875 0.609375,-0.4375 C 4.140625,-0.640625 4.25,-1.109375 4.25,-1.140625 4.25,-1.1875 4.21875,-1.25 4.125,-1.25 c -0.09375,0 -0.109375,0.0625 -0.171875,0.25 -0.109375,0.4375 -0.25,0.859375 -0.5625,0.859375 -0.1875,0 -0.265625,-0.15625 -0.265625,-0.375 0,-0.15625 0.03125,-0.234375 0.046875,-0.34375 z m -1.703125,4.4375 c -0.390625,0.546875 -0.8125,0.71875 -1.0625,0.71875 -0.375,0 -0.546875,-0.34375 -0.546875,-0.75 0,-0.375 0.203125,-1.234375 0.390625,-1.578125 0.21875,-0.484375 0.609375,-0.828125 0.984375,-0.828125 0.515625,0 0.671875,0.59375 0.671875,0.6875 0,0.03125 -0.203125,0.8125 -0.25,1.015625 -0.109375,0.375 -0.109375,0.390625 -0.1875,0.734375 z m 0,0"
id="path49" />
</g>
<g
id="g8200">
<path
d="M 2.078125,-3.734375 C 2.078125,-3.875 1.96875,-3.96875 1.84375,-3.96875 1.671875,-3.96875 1.5,-3.8125 1.5,-3.640625 1.5,-3.5 1.609375,-3.40625 1.734375,-3.40625 c 0.203125,0 0.34375,-0.171875 0.34375,-0.328125 z M 1.71875,-1.640625 C 1.75,-1.703125 1.796875,-1.84375 1.828125,-1.90625 1.84375,-1.953125 1.859375,-2.015625 1.859375,-2.125 c 0,-0.328125 -0.296875,-0.515625 -0.59375,-0.515625 -0.609375,0 -0.90625,0.796875 -0.90625,0.921875 0,0.03125 0.03125,0.078125 0.109375,0.078125 0.09375,0 0.109375,-0.03125 0.125,-0.078125 C 0.765625,-2.296875 1.078125,-2.4375 1.25,-2.4375 c 0.109375,0 0.15625,0.078125 0.15625,0.21875 0,0.109375 -0.03125,0.203125 -0.046875,0.25 l -0.3125,0.765625 c -0.078125,0.171875 -0.078125,0.1875 -0.15625,0.390625 -0.078125,0.171875 -0.09375,0.25 -0.09375,0.359375 0,0.296875 0.265625,0.515625 0.59375,0.515625 0.609375,0 0.90625,-0.796875 0.90625,-0.921875 0,-0.015625 0,-0.09375 -0.109375,-0.09375 -0.09375,0 -0.09375,0.03125 -0.125,0.15625 C 1.96875,-0.5 1.71875,-0.140625 1.40625,-0.140625 1.296875,-0.140625 1.25,-0.203125 1.25,-0.359375 1.25,-0.46875 1.28125,-0.5625 1.359375,-0.75 Z m 0,0"
id="path8330" />
</g>
</g>
<g
id="g9552">
<g
id="g9148">
<path
d="m 2.421875,-4.828125 c 0,-0.203125 0,-0.40625 0.265625,-0.65625 C 2.75,-5.515625 2.984375,-5.71875 3.46875,-5.75 3.5625,-5.765625 3.640625,-5.765625 3.640625,-5.859375 c 0,-0.109375 -0.09375,-0.109375 -0.203125,-0.109375 -0.859375,0 -1.609375,0.390625 -1.625,1 v 2.03125 c -0.015625,0.40625 -0.40625,0.796875 -1.0625,0.828125 -0.09375,0.015625 -0.15625,0.015625 -0.15625,0.125 0,0.09375 0.0625,0.09375 0.125,0.109375 0.765625,0.046875 1.015625,0.453125 1.078125,0.671875 0.015625,0.09375 0.015625,0.109375 0.015625,0.40625 v 1.625 c 0,0.25 0,0.609375 0.515625,0.90625 0.34375,0.1875 0.828125,0.25 1.109375,0.25 0.109375,0 0.203125,0 0.203125,-0.109375 C 3.640625,1.78125 3.5625,1.78125 3.5,1.765625 2.75,1.71875 2.5,1.34375 2.4375,1.09375 2.421875,1.015625 2.421875,1 2.421875,0.71875 v -1.671875 c 0,-0.203125 0,-0.765625 -0.9375,-1.03125 C 2.09375,-2.171875 2.3125,-2.46875 2.390625,-2.75 c 0.03125,-0.109375 0.03125,-0.15625 0.03125,-0.40625 z m 0,0"
id="path8782" />
</g>
<g
id="g585">
<path
d="m 2.421875,-4.8125 c 0,-0.234375 0,-0.5625 -0.4375,-0.859375 C 1.65625,-5.890625 1.125,-5.96875 0.78125,-5.96875 c -0.109375,0 -0.1875,0 -0.1875,0.109375 0,0.09375 0.0625,0.09375 0.125,0.109375 0.734375,0.046875 1.015625,0.390625 1.078125,0.6875 0.015625,0.078125 0.015625,0.140625 0.015625,0.25 v 1.671875 c 0,0.359375 0,0.875 0.921875,1.15625 -0.4375,0.125 -0.78125,0.34375 -0.890625,0.75 C 1.8125,-1.125 1.8125,-1.078125 1.8125,-0.828125 v 1.4375 c 0,0.53125 0,0.609375 -0.265625,0.875 C 1.53125,1.5 1.3125,1.734375 0.75,1.765625 0.640625,1.78125 0.59375,1.78125 0.59375,1.875 c 0,0.109375 0.078125,0.109375 0.1875,0.109375 0.859375,0 1.625,-0.375 1.640625,-1 v -1.59375 c 0,-0.546875 0,-0.734375 0.234375,-0.953125 C 2.921875,-1.796875 3.203125,-1.859375 3.46875,-1.875 3.578125,-1.890625 3.640625,-1.890625 3.640625,-1.984375 3.640625,-2.09375 3.5625,-2.09375 3.5,-2.109375 2.609375,-2.15625 2.421875,-2.703125 2.421875,-2.9375 Z m 0,0"
id="path9862" />
</g>
<g
id="g2525">
<path
d="M 3.09375,-4.890625 C 3.15625,-5.15625 3.171875,-5.171875 3.5,-5.171875 h 0.640625 c 0.65625,0 1.265625,0.15625 1.265625,0.8125 0,0.34375 -0.171875,0.90625 -0.546875,1.15625 -0.375,0.28125 -0.828125,0.359375 -1.296875,0.359375 H 2.578125 Z m 1.359375,2.1875 c 0.96875,-0.25 1.734375,-0.84375 1.734375,-1.53125 0,-0.6875 -0.78125,-1.203125 -1.890625,-1.203125 h -2.34375 c -0.140625,0 -0.25,0 -0.25,0.140625 0,0.125 0.109375,0.125 0.234375,0.125 0.265625,0 0.5,0 0.5,0.125 0,0.03125 -0.015625,0.03125 -0.03125,0.140625 L 1.328125,-0.625 C 1.265625,-0.328125 1.25,-0.265625 0.65625,-0.265625 c -0.15625,0 -0.25,0 -0.25,0.15625 C 0.40625,-0.078125 0.4375,0 0.53125,0 0.6875,0 0.875,-0.015625 1.03125,-0.03125 H 1.515625 C 2.265625,-0.03125 2.5,0 2.546875,0 c 0.046875,0 0.15625,0 0.15625,-0.15625 0,-0.109375 -0.109375,-0.109375 -0.234375,-0.109375 -0.03125,0 -0.171875,0 -0.3125,-0.015625 -0.171875,-0.015625 -0.1875,-0.03125 -0.1875,-0.109375 0,-0.046875 0.015625,-0.09375 0.03125,-0.125 l 0.515625,-2.09375 h 1.03125 c 0.71875,0 0.953125,0.375 0.953125,0.703125 0,0.109375 -0.0625,0.34375 -0.09375,0.5 C 4.328125,-1.171875 4.25,-0.859375 4.25,-0.703125 c 0,0.609375 0.53125,0.875 1.125,0.875 0.6875,0 1.015625,-0.78125 1.015625,-0.9375 0,-0.03125 -0.03125,-0.109375 -0.125,-0.109375 -0.09375,0 -0.109375,0.0625 -0.125,0.109375 C 5.96875,-0.21875 5.625,-0.0625 5.390625,-0.0625 5.09375,-0.0625 5.0625,-0.28125 5.0625,-0.546875 c 0,-0.265625 0.046875,-0.609375 0.078125,-0.875 0.03125,-0.234375 0.03125,-0.28125 0.03125,-0.359375 0,-0.484375 -0.296875,-0.765625 -0.71875,-0.921875 z m 0,0"
id="path5050" />
</g>
</g>
<g
id="g624">
<g
id="g7038">
<path
d="m 2.421875,-4.828125 c 0,-0.203125 0,-0.40625 0.265625,-0.65625 C 2.75,-5.515625 2.984375,-5.71875 3.46875,-5.75 3.5625,-5.765625 3.640625,-5.765625 3.640625,-5.859375 c 0,-0.109375 -0.09375,-0.109375 -0.203125,-0.109375 -0.859375,0 -1.609375,0.390625 -1.625,1 v 2.03125 c -0.015625,0.40625 -0.40625,0.796875 -1.0625,0.828125 -0.09375,0.015625 -0.15625,0.015625 -0.15625,0.125 0,0.09375 0.0625,0.09375 0.125,0.109375 0.765625,0.046875 1.015625,0.453125 1.078125,0.671875 0.015625,0.09375 0.015625,0.109375 0.015625,0.40625 v 1.625 c 0,0.25 0,0.609375 0.515625,0.90625 0.34375,0.1875 0.828125,0.25 1.109375,0.25 0.109375,0 0.203125,0 0.203125,-0.109375 C 3.640625,1.78125 3.5625,1.78125 3.5,1.765625 2.75,1.71875 2.5,1.34375 2.4375,1.09375 2.421875,1.015625 2.421875,1 2.421875,0.71875 v -1.671875 c 0,-0.203125 0,-0.765625 -0.9375,-1.03125 C 2.09375,-2.171875 2.3125,-2.46875 2.390625,-2.75 c 0.03125,-0.109375 0.03125,-0.15625 0.03125,-0.40625 z m 0,0"
id="path4994" />
</g>
<g
id="g4694">
<path
d="m 2.421875,-4.8125 c 0,-0.234375 0,-0.5625 -0.4375,-0.859375 C 1.65625,-5.890625 1.125,-5.96875 0.78125,-5.96875 c -0.109375,0 -0.1875,0 -0.1875,0.109375 0,0.09375 0.0625,0.09375 0.125,0.109375 0.734375,0.046875 1.015625,0.390625 1.078125,0.6875 0.015625,0.078125 0.015625,0.140625 0.015625,0.25 v 1.671875 c 0,0.359375 0,0.875 0.921875,1.15625 -0.4375,0.125 -0.78125,0.34375 -0.890625,0.75 C 1.8125,-1.125 1.8125,-1.078125 1.8125,-0.828125 v 1.4375 c 0,0.53125 0,0.609375 -0.265625,0.875 C 1.53125,1.5 1.3125,1.734375 0.75,1.765625 0.640625,1.78125 0.59375,1.78125 0.59375,1.875 c 0,0.109375 0.078125,0.109375 0.1875,0.109375 0.859375,0 1.625,-0.375 1.640625,-1 v -1.59375 c 0,-0.546875 0,-0.734375 0.234375,-0.953125 C 2.921875,-1.796875 3.203125,-1.859375 3.46875,-1.875 3.578125,-1.890625 3.640625,-1.890625 3.640625,-1.984375 3.640625,-2.09375 3.5625,-2.09375 3.5,-2.109375 2.609375,-2.15625 2.421875,-2.703125 2.421875,-2.9375 Z m 0,0"
id="path4197" />
</g>
<g
id="g83">
<path
d="M 5.96875,-1.84375 C 5.984375,-1.875 6,-1.921875 6,-1.953125 c 0,-0.015625 0,-0.125 -0.125,-0.125 -0.078125,0 -0.09375,0.03125 -0.171875,0.203125 -0.5,1.171875 -0.875,1.609375 -2.1875,1.609375 h -1.4375 C 2,-0.28125 1.96875,-0.28125 1.96875,-0.328125 c 0,-0.0625 0.015625,-0.140625 0.046875,-0.1875 L 2.5625,-2.6875 h 0.84375 c 0.59375,0 0.703125,0.09375 0.703125,0.359375 0,0 0,0.125 -0.046875,0.359375 -0.015625,0.03125 -0.03125,0.078125 -0.03125,0.109375 0,0 0.015625,0.109375 0.125,0.109375 0.09375,0 0.109375,-0.046875 0.140625,-0.1875 L 4.71875,-3.609375 C 4.71875,-3.625 4.75,-3.75 4.75,-3.765625 4.75,-3.84375 4.6875,-3.875 4.625,-3.875 c -0.09375,0 -0.109375,0.046875 -0.140625,0.1875 -0.171875,0.625 -0.375,0.734375 -1.0625,0.734375 H 2.625 l 0.46875,-1.90625 C 3.171875,-5.140625 3.171875,-5.15625 3.5,-5.15625 h 1.25 c 0.953125,0 1.265625,0.1875 1.265625,0.890625 0,0.171875 -0.046875,0.375 -0.046875,0.515625 0,0.09375 0.0625,0.140625 0.125,0.140625 0.109375,0 0.109375,-0.078125 0.125,-0.203125 L 6.359375,-5.171875 C 6.375,-5.21875 6.375,-5.265625 6.375,-5.3125 6.375,-5.421875 6.28125,-5.421875 6.140625,-5.421875 H 1.9375 c -0.15625,0 -0.25,0 -0.25,0.15625 0,0.109375 0.109375,0.109375 0.234375,0.109375 0.03125,0 0.171875,0 0.3125,0.015625 0.171875,0.015625 0.1875,0.046875 0.1875,0.109375 0,0.046875 -0.015625,0.09375 -0.03125,0.125 l -1.0625,4.28125 c -0.078125,0.296875 -0.09375,0.359375 -0.6875,0.359375 -0.140625,0 -0.25,0 -0.25,0.15625 C 0.390625,0 0.5,0 0.640625,0 h 4.3125 c 0.1875,0 0.203125,0 0.265625,-0.140625 z m 0,0"
id="path6117" />
</g>
</g>
</defs>
<metadata
id="metadata3137">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(236.31605,-344.85376)">
<rect
style="fill:#0072bd;fill-opacity:0.202289;stroke:#000000;stroke-width:0.264583;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
id="rect833-8-9"
width="43.039017"
height="11.334747"
x="-278.02576"
y="315.69278"
transform="rotate(-7.9026174)" />
<text
xml:space="preserve"
style="font-size:3.52778px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
x="-272.33954"
y="313.64908"
id="text837-4-2"
transform="rotate(-8.1559333)"><tspan
sodipodi:role="line"
id="tspan835-7-0"
x="-272.33954"
y="313.64908"
style="font-size:3.52778px;stroke-width:0.264583">Encoder</tspan></text>
<path
style="fill:none;stroke:#0072bd;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1-2)"
d="m -209.10725,359.18879 4.5733,-0.63481"
id="path845-6-5" />
<path
style="fill:none;stroke:#0072bd;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1-2)"
d="m -209.10725,359.18879 -0.63481,-4.5733"
id="path845-7-29-9" />
<rect
style="fill:#d95218;fill-opacity:0.202289;stroke:#000000;stroke-width:0.264583;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
id="rect839-6"
width="48.728237"
height="2.0129547"
x="-236.18376"
y="365.8732" />
<path
style="fill:none;stroke:#d95218;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1-0)"
d="m -218.70254,365.87319 h 4.61715"
id="path845-2-9-2" />
<path
style="fill:none;stroke:#d95218;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1-0)"
d="m -218.70253,365.87319 v -4.61714"
id="path845-7-8-0-6" />
<text
xml:space="preserve"
style="font-size:3.52778px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
x="-231.71582"
y="365.13412"
id="text843-9"><tspan
sodipodi:role="line"
id="tspan841-1"
x="-231.71582"
y="365.13412"
style="font-size:3.52778px;stroke-width:0.264583">Ruler</tspan></text>
<path
style="fill:none;stroke:#0072bd;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1-22)"
d="m -208.17939,365.87319 4.5733,-0.63481"
id="path845-0-8-7" />
<path
style="fill:none;stroke:#0072bd;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1-22)"
d="m -208.17939,365.87319 -0.63481,-4.5733"
id="path845-7-2-1-3" />
<g
inkscape:label=""
transform="translate(-214.28615,361.95898)"
id="g2">
<g
fill="#000000"
fill-opacity="1"
id="g3"
transform="matrix(0.352778,0,0,0.352778,-41.4979,-2.09047)">
<g
id="use2"
transform="translate(117.288,11.457)">
<path
d="m 4.28125,-5.296875 c 0.015625,-0.015625 0.03125,-0.109375 0.03125,-0.125 0,-0.03125 -0.03125,-0.109375 -0.125,-0.109375 -0.03125,0 -0.28125,0.03125 -0.453125,0.046875 l -0.453125,0.03125 c -0.171875,0.015625 -0.25,0.015625 -0.25,0.15625 0,0.125 0.109375,0.125 0.203125,0.125 0.390625,0 0.390625,0.046875 0.390625,0.109375 0,0.046875 -0.078125,0.3125 -0.109375,0.46875 L 3.125,-3.03125 C 3.046875,-3.171875 2.828125,-3.515625 2.328125,-3.515625 c -0.9375,0 -1.984375,1.109375 -1.984375,2.28125 0,0.84375 0.53125,1.3125 1.140625,1.3125 0.515625,0 0.953125,-0.40625 1.09375,-0.5625 0.140625,0.546875 0.6875,0.5625 0.78125,0.5625 0.375,0 0.546875,-0.296875 0.609375,-0.4375 C 4.140625,-0.640625 4.25,-1.109375 4.25,-1.140625 4.25,-1.1875 4.21875,-1.25 4.125,-1.25 c -0.09375,0 -0.109375,0.0625 -0.171875,0.25 -0.109375,0.4375 -0.25,0.859375 -0.5625,0.859375 -0.1875,0 -0.265625,-0.15625 -0.265625,-0.375 0,-0.15625 0.03125,-0.234375 0.046875,-0.34375 z m -1.703125,4.4375 c -0.390625,0.546875 -0.8125,0.71875 -1.0625,0.71875 -0.375,0 -0.546875,-0.34375 -0.546875,-0.75 0,-0.375 0.203125,-1.234375 0.390625,-1.578125 0.21875,-0.484375 0.609375,-0.828125 0.984375,-0.828125 0.515625,0 0.671875,0.59375 0.671875,0.6875 0,0.03125 -0.203125,0.8125 -0.25,1.015625 -0.109375,0.375 -0.109375,0.390625 -0.1875,0.734375 z m 0,0"
id="path4" />
</g>
</g>
<g
fill="#000000"
fill-opacity="1"
id="g4"
transform="matrix(0.352778,0,0,0.352778,-41.4979,-2.09047)">
<g
id="use3"
transform="translate(121.645,12.672)">
<path
d="M 2.078125,-3.734375 C 2.078125,-3.875 1.96875,-3.96875 1.84375,-3.96875 1.671875,-3.96875 1.5,-3.8125 1.5,-3.640625 1.5,-3.5 1.609375,-3.40625 1.734375,-3.40625 c 0.203125,0 0.34375,-0.171875 0.34375,-0.328125 z M 1.71875,-1.640625 C 1.75,-1.703125 1.796875,-1.84375 1.828125,-1.90625 1.84375,-1.953125 1.859375,-2.015625 1.859375,-2.125 c 0,-0.328125 -0.296875,-0.515625 -0.59375,-0.515625 -0.609375,0 -0.90625,0.796875 -0.90625,0.921875 0,0.03125 0.03125,0.078125 0.109375,0.078125 0.09375,0 0.109375,-0.03125 0.125,-0.078125 C 0.765625,-2.296875 1.078125,-2.4375 1.25,-2.4375 c 0.109375,0 0.15625,0.078125 0.15625,0.21875 0,0.109375 -0.03125,0.203125 -0.046875,0.25 l -0.3125,0.765625 c -0.078125,0.171875 -0.078125,0.1875 -0.15625,0.390625 -0.078125,0.171875 -0.09375,0.25 -0.09375,0.359375 0,0.296875 0.265625,0.515625 0.59375,0.515625 0.609375,0 0.90625,-0.796875 0.90625,-0.921875 0,-0.015625 0,-0.09375 -0.109375,-0.09375 -0.09375,0 -0.09375,0.03125 -0.125,0.15625 C 1.96875,-0.5 1.71875,-0.140625 1.40625,-0.140625 1.296875,-0.140625 1.25,-0.203125 1.25,-0.359375 1.25,-0.46875 1.28125,-0.5625 1.359375,-0.75 Z m 0,0"
id="path5" />
</g>
</g>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:0.265, 0.53;stroke-dashoffset:0;stroke-opacity:1"
d="m -218.70253,365.87319 c 1.30473,-1.53529 8.76248,-1.82301 10.52314,0"
id="path2617"
sodipodi:nodetypes="cc" />
<g
inkscape:label=""
transform="translate(-224.28923,362.24705)"
id="g7"
style="fill:#d95319">
<g
fill="#000000"
fill-opacity="1"
id="g4-1"
transform="matrix(0.352778,0,0,0.352778,-40.285,-1.93613)"
style="fill:#d95319">
<g
id="use3-1"
transform="translate(113.6,11.457)"
style="fill:#d95319">
<path
d="m 2.421875,-4.828125 c 0,-0.203125 0,-0.40625 0.265625,-0.65625 C 2.75,-5.515625 2.984375,-5.71875 3.46875,-5.75 3.5625,-5.765625 3.640625,-5.765625 3.640625,-5.859375 c 0,-0.109375 -0.09375,-0.109375 -0.203125,-0.109375 -0.859375,0 -1.609375,0.390625 -1.625,1 v 2.03125 c -0.015625,0.40625 -0.40625,0.796875 -1.0625,0.828125 -0.09375,0.015625 -0.15625,0.015625 -0.15625,0.125 0,0.09375 0.0625,0.09375 0.125,0.109375 0.765625,0.046875 1.015625,0.453125 1.078125,0.671875 0.015625,0.09375 0.015625,0.109375 0.015625,0.40625 v 1.625 c 0,0.25 0,0.609375 0.515625,0.90625 0.34375,0.1875 0.828125,0.25 1.109375,0.25 0.109375,0 0.203125,0 0.203125,-0.109375 C 3.640625,1.78125 3.5625,1.78125 3.5,1.765625 2.75,1.71875 2.5,1.34375 2.4375,1.09375 2.421875,1.015625 2.421875,1 2.421875,0.71875 v -1.671875 c 0,-0.203125 0,-0.765625 -0.9375,-1.03125 C 2.09375,-2.171875 2.3125,-2.46875 2.390625,-2.75 c 0.03125,-0.109375 0.03125,-0.15625 0.03125,-0.40625 z m 0,0"
id="path6"
style="fill:#d95319" />
</g>
</g>
<g
fill="#000000"
fill-opacity="1"
id="g5"
transform="matrix(0.352778,0,0,0.352778,-40.285,-1.93613)"
style="fill:#d95319">
<g
id="use4"
transform="translate(117.83451,11.457)"
style="fill:#d95319">
<path
d="M 3.09375,-4.890625 C 3.15625,-5.15625 3.171875,-5.171875 3.5,-5.171875 h 0.640625 c 0.65625,0 1.265625,0.15625 1.265625,0.8125 0,0.34375 -0.171875,0.90625 -0.546875,1.15625 -0.375,0.28125 -0.828125,0.359375 -1.296875,0.359375 H 2.578125 Z m 1.359375,2.1875 c 0.96875,-0.25 1.734375,-0.84375 1.734375,-1.53125 0,-0.6875 -0.78125,-1.203125 -1.890625,-1.203125 h -2.34375 c -0.140625,0 -0.25,0 -0.25,0.140625 0,0.125 0.109375,0.125 0.234375,0.125 0.265625,0 0.5,0 0.5,0.125 0,0.03125 -0.015625,0.03125 -0.03125,0.140625 L 1.328125,-0.625 C 1.265625,-0.328125 1.25,-0.265625 0.65625,-0.265625 c -0.15625,0 -0.25,0 -0.25,0.15625 C 0.40625,-0.078125 0.4375,0 0.53125,0 0.6875,0 0.875,-0.015625 1.03125,-0.03125 H 1.515625 C 2.265625,-0.03125 2.5,0 2.546875,0 c 0.046875,0 0.15625,0 0.15625,-0.15625 0,-0.109375 -0.109375,-0.109375 -0.234375,-0.109375 -0.03125,0 -0.171875,0 -0.3125,-0.015625 -0.171875,-0.015625 -0.1875,-0.03125 -0.1875,-0.109375 0,-0.046875 0.015625,-0.09375 0.03125,-0.125 l 0.515625,-2.09375 h 1.03125 c 0.71875,0 0.953125,0.375 0.953125,0.703125 0,0.109375 -0.0625,0.34375 -0.09375,0.5 C 4.328125,-1.171875 4.25,-0.859375 4.25,-0.703125 c 0,0.609375 0.53125,0.875 1.125,0.875 0.6875,0 1.015625,-0.78125 1.015625,-0.9375 0,-0.03125 -0.03125,-0.109375 -0.125,-0.109375 -0.09375,0 -0.109375,0.0625 -0.125,0.109375 C 5.96875,-0.21875 5.625,-0.0625 5.390625,-0.0625 5.09375,-0.0625 5.0625,-0.28125 5.0625,-0.546875 c 0,-0.265625 0.046875,-0.609375 0.078125,-0.875 0.03125,-0.234375 0.03125,-0.28125 0.03125,-0.359375 0,-0.484375 -0.296875,-0.765625 -0.71875,-0.921875 z m 0,0"
id="path7"
style="fill:#d95319" />
</g>
</g>
<g
fill="#000000"
fill-opacity="1"
id="g6"
transform="matrix(0.352778,0,0,0.352778,-40.285,-1.93613)"
style="fill:#d95319">
<g
id="use5"
transform="translate(124.26001,11.457)"
style="fill:#d95319">
<path
d="m 2.421875,-4.8125 c 0,-0.234375 0,-0.5625 -0.4375,-0.859375 C 1.65625,-5.890625 1.125,-5.96875 0.78125,-5.96875 c -0.109375,0 -0.1875,0 -0.1875,0.109375 0,0.09375 0.0625,0.09375 0.125,0.109375 0.734375,0.046875 1.015625,0.390625 1.078125,0.6875 0.015625,0.078125 0.015625,0.140625 0.015625,0.25 v 1.671875 c 0,0.359375 0,0.875 0.921875,1.15625 -0.4375,0.125 -0.78125,0.34375 -0.890625,0.75 C 1.8125,-1.125 1.8125,-1.078125 1.8125,-0.828125 v 1.4375 c 0,0.53125 0,0.609375 -0.265625,0.875 C 1.53125,1.5 1.3125,1.734375 0.75,1.765625 0.640625,1.78125 0.59375,1.78125 0.59375,1.875 c 0,0.109375 0.078125,0.109375 0.1875,0.109375 0.859375,0 1.625,-0.375 1.640625,-1 v -1.59375 c 0,-0.546875 0,-0.734375 0.234375,-0.953125 C 2.921875,-1.796875 3.203125,-1.859375 3.46875,-1.875 3.578125,-1.890625 3.640625,-1.890625 3.640625,-1.984375 3.640625,-2.09375 3.5625,-2.09375 3.5,-2.109375 2.609375,-2.15625 2.421875,-2.703125 2.421875,-2.9375 Z m 0,0"
id="path8"
style="fill:#d95319" />
</g>
</g>
</g>
<g
inkscape:label=""
transform="rotate(-8.1203758,2444.3758,1646.4597)"
id="g8"
style="fill:#0072bd">
<g
fill="#000000"
fill-opacity="1"
id="g4-1-1"
transform="matrix(0.352778,0,0,0.352778,-40.2452,-1.93613)"
style="fill:#0072bd">
<g
id="use3-1-1"
transform="translate(113.487,11.457)"
style="fill:#0072bd">
<path
d="m 2.421875,-4.828125 c 0,-0.203125 0,-0.40625 0.265625,-0.65625 C 2.75,-5.515625 2.984375,-5.71875 3.46875,-5.75 3.5625,-5.765625 3.640625,-5.765625 3.640625,-5.859375 c 0,-0.109375 -0.09375,-0.109375 -0.203125,-0.109375 -0.859375,0 -1.609375,0.390625 -1.625,1 v 2.03125 c -0.015625,0.40625 -0.40625,0.796875 -1.0625,0.828125 -0.09375,0.015625 -0.15625,0.015625 -0.15625,0.125 0,0.09375 0.0625,0.09375 0.125,0.109375 0.765625,0.046875 1.015625,0.453125 1.078125,0.671875 0.015625,0.09375 0.015625,0.109375 0.015625,0.40625 v 1.625 c 0,0.25 0,0.609375 0.515625,0.90625 0.34375,0.1875 0.828125,0.25 1.109375,0.25 0.109375,0 0.203125,0 0.203125,-0.109375 C 3.640625,1.78125 3.5625,1.78125 3.5,1.765625 2.75,1.71875 2.5,1.34375 2.4375,1.09375 2.421875,1.015625 2.421875,1 2.421875,0.71875 v -1.671875 c 0,-0.203125 0,-0.765625 -0.9375,-1.03125 C 2.09375,-2.171875 2.3125,-2.46875 2.390625,-2.75 c 0.03125,-0.109375 0.03125,-0.15625 0.03125,-0.40625 z m 0,0"
id="path6-1"
style="fill:#0072bd" />
</g>
</g>
<g
fill="#000000"
fill-opacity="1"
id="g5-1"
transform="matrix(0.352778,0,0,0.352778,-40.2452,-1.93613)"
style="fill:#0072bd">
<g
id="use4-1"
transform="translate(117.72151,11.457)"
style="fill:#0072bd">
<path
d="M 5.96875,-1.84375 C 5.984375,-1.875 6,-1.921875 6,-1.953125 c 0,-0.015625 0,-0.125 -0.125,-0.125 -0.078125,0 -0.09375,0.03125 -0.171875,0.203125 -0.5,1.171875 -0.875,1.609375 -2.1875,1.609375 h -1.4375 C 2,-0.28125 1.96875,-0.28125 1.96875,-0.328125 c 0,-0.0625 0.015625,-0.140625 0.046875,-0.1875 L 2.5625,-2.6875 h 0.84375 c 0.59375,0 0.703125,0.09375 0.703125,0.359375 0,0 0,0.125 -0.046875,0.359375 -0.015625,0.03125 -0.03125,0.078125 -0.03125,0.109375 0,0 0.015625,0.109375 0.125,0.109375 0.09375,0 0.109375,-0.046875 0.140625,-0.1875 L 4.71875,-3.609375 C 4.71875,-3.625 4.75,-3.75 4.75,-3.765625 4.75,-3.84375 4.6875,-3.875 4.625,-3.875 c -0.09375,0 -0.109375,0.046875 -0.140625,0.1875 -0.171875,0.625 -0.375,0.734375 -1.0625,0.734375 H 2.625 l 0.46875,-1.90625 C 3.171875,-5.140625 3.171875,-5.15625 3.5,-5.15625 h 1.25 c 0.953125,0 1.265625,0.1875 1.265625,0.890625 0,0.171875 -0.046875,0.375 -0.046875,0.515625 0,0.09375 0.0625,0.140625 0.125,0.140625 0.109375,0 0.109375,-0.078125 0.125,-0.203125 L 6.359375,-5.171875 C 6.375,-5.21875 6.375,-5.265625 6.375,-5.3125 6.375,-5.421875 6.28125,-5.421875 6.140625,-5.421875 H 1.9375 c -0.15625,0 -0.25,0 -0.25,0.15625 0,0.109375 0.109375,0.109375 0.234375,0.109375 0.03125,0 0.171875,0 0.3125,0.015625 0.171875,0.015625 0.1875,0.046875 0.1875,0.109375 0,0.046875 -0.015625,0.09375 -0.03125,0.125 l -1.0625,4.28125 c -0.078125,0.296875 -0.09375,0.359375 -0.6875,0.359375 -0.140625,0 -0.25,0 -0.25,0.15625 C 0.390625,0 0.5,0 0.640625,0 h 4.3125 c 0.1875,0 0.203125,0 0.265625,-0.140625 z m 0,0"
id="path7-1"
style="fill:#0072bd" />
</g>
</g>
<g
fill="#000000"
fill-opacity="1"
id="g6-1"
transform="matrix(0.352778,0,0,0.352778,-40.2452,-1.93613)"
style="fill:#0072bd">
<g
id="use5-1"
transform="translate(124.37416,11.457)"
style="fill:#0072bd">
<path
d="m 2.421875,-4.8125 c 0,-0.234375 0,-0.5625 -0.4375,-0.859375 C 1.65625,-5.890625 1.125,-5.96875 0.78125,-5.96875 c -0.109375,0 -0.1875,0 -0.1875,0.109375 0,0.09375 0.0625,0.09375 0.125,0.109375 0.734375,0.046875 1.015625,0.390625 1.078125,0.6875 0.015625,0.078125 0.015625,0.140625 0.015625,0.25 v 1.671875 c 0,0.359375 0,0.875 0.921875,1.15625 -0.4375,0.125 -0.78125,0.34375 -0.890625,0.75 C 1.8125,-1.125 1.8125,-1.078125 1.8125,-0.828125 v 1.4375 c 0,0.53125 0,0.609375 -0.265625,0.875 C 1.53125,1.5 1.3125,1.734375 0.75,1.765625 0.640625,1.78125 0.59375,1.78125 0.59375,1.875 c 0,0.109375 0.078125,0.109375 0.1875,0.109375 0.859375,0 1.625,-0.375 1.640625,-1 v -1.59375 c 0,-0.546875 0,-0.734375 0.234375,-0.953125 C 2.921875,-1.796875 3.203125,-1.859375 3.46875,-1.875 3.578125,-1.890625 3.640625,-1.890625 3.640625,-1.984375 3.640625,-2.09375 3.5625,-2.09375 3.5,-2.109375 2.609375,-2.15625 2.421875,-2.703125 2.421875,-2.9375 Z m 0,0"
id="path8-1"
style="fill:#0072bd" />
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 37 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 299 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 196 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 188 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 898 KiB

View File

@ -1,3 +1,15 @@
@misc{dehaeze25_nano_activ_stabil_zenodo,
author = {Dehaeze, T.},
doi = {10.5281/zenodo.15254389},
month = 5,
publisher = {Zenodo},
title = {Nano Active Stabilization of samples for tomography
experiments: A mechatronic design approach},
url = {https://doi.org/10.5281/zenodo.15254389},
year = 2025,
}
@article{raimondi21_commis_hybrid_multib_achrom_lattic,
author = {P. Raimondi and N. Carmignani and L. R. Carver and J.
Chavanne and L. Farvacque and G. Le Bec and D. Martin and S.
@ -89,6 +101,7 @@
}
@inproceedings{xu23_high_nsls_ii,
author = {Weihe Xu and Huijuan Xu and Dmitri Gavrilov and Xiaojing
Huang and Hanfei Yan and Yong S. Chu and Evgeny Nazaretski},

View File

@ -272,7 +272,7 @@ The fundamental objective has been to ensure that anyone should be capable of re
To achieve this goal of reproducibility, comprehensive sharing of all elements has been implemented.
This includes the mathematical models developed, raw experimental data collected, and scripts used to generate the figures.
For those wishing to engage with the reproducible aspects of this work, all data and code are freely accessible in *add zenodo link*.
For those wishing to engage with the reproducible aspects of this work, all data and code are freely accessible [[cite:&dehaeze25_nano_activ_stabil_zenodo]].
The organization of the code mirrors that of the manuscript, with corresponding chapters and sections.
All materials have been made available under the MIT License, permitting free reuse.
@ -9987,9 +9987,7 @@ The noise profile exhibits characteristics of white noise with an amplitude of a
**** Noise budgeting from measured instrumentation noise
After characterizing all instrumentation components individually, their combined effect on the sample's vibration was assessed using the multi-body model developed earlier.
The vertical motion induced by the noise sources, specifically the ADC noise, DAC noise, and voltage amplifier noise, is presented in Figure\nbsp{}ref:fig:detail_instrumentation_cl_noise_budget.
The total motion induced by all noise sources combined is approximately $1.5\,\text{nm RMS}$, which remains well within the specified limit of $15\,\text{nm RMS}$.
This confirms that the selected instrumentation, with its measured noise characteristics, is suitable for the intended application.
@ -10021,14 +10019,282 @@ Finally, the measured noise characteristics of all instrumentation components we
The combined effect of all noise sources was estimated to induce vertical sample vibrations of only $1.5\,\text{nm RMS}$, which is substantially below the $15\,\text{nm RMS}$ requirement.
This rigorous methodology spanning requirement formulation, component selection, and experimental characterization validates the instrumentation's ability to fulfill the nano active stabilization system's demanding performance specifications.
** TODO Obtained Design
** Obtained Design
<<sec:detail_design>>
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B5-nass-design/nass-design.org][NASS - Design]]
*** Introduction :ignore:
The detailed mechanical design of the active platform, depicted in Figure\nbsp{}ref:fig:detail_design_nano_hexapod_elements, is presented in this section.
Several primary objectives guided the mechanical design.
First, to ensure a well-defined Jacobian matrix used in the control architecture, accurate positioning of the top flexible joint rotation points and correct orientation of the struts were required.
Secondly, space constraints necessitated that the entire platform fit within a cylinder with a radius of $120\,\text{mm}$ and a height of $95\,\text{mm}$.
Thirdly, because performance predicted by the multi-body model was fulfilling the requirements, the final design was intended to approximate the behavior of this "idealized" active platform as closely as possible.
This objective implies that the frequencies of (un-modelled) flexible modes potentially detrimental to control performance needed to be maximized.
Finally, considerations for ease of mounting, alignment, and maintenance were incorporated, specifically ensuring that struts could be easily replaced in the event of failure.
#+name: fig:detail_design_nano_hexapod_elements
#+caption: Obtained mechanical design of the Active platform, the "nano-hexapod"
#+attr_latex: :width 0.95\linewidth
[[file:figs/detail_design_nano_hexapod_elements.png]]
*** Mechanical Design
<<sec:detail_design_mechanics>>
***** Struts
The strut design, illustrated in Figure\nbsp{}ref:fig:detail_design_strut, was driven by several factors.
Stiff interfaces were required between the amplified piezoelectric actuator and the two flexible joints, as well as between the flexible joints and their respective mounting plates.
Due to the limited angular stroke of the flexible joints, it was critical that the struts could be assembled such that the two cylindrical interfaces were coaxial while the flexible joints remained in their unstressed, nominal rest position.
To facilitate this alignment, cylindrical washers (Figure\nbsp{}ref:fig:detail_design_strut_without_enc) were integrated into the design to compensate for potential deviations from perfect flatness between the two APA interface planes (Figure\nbsp{}ref:fig:detail_design_apa).
Furthermore, a dedicated mounting bench was developed to enable precise alignment of each strut, even when accounting for typical machining inaccuracies.
The mounting procedure is described in Section\nbsp{}ref:sec:test_struts_mounting.
Lastly, the design needed to permit the fixation of an encoder parallel to the strut axis, as shown in Figure\nbsp{}ref:fig:detail_design_strut_with_enc.
#+name: fig:detail_design_strut
#+caption: Design of the Nano-Hexapod struts. Before (\subref{fig:detail_design_strut_without_enc}) and after (\subref{fig:detail_design_strut_with_enc}) encoder integration.
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_strut_without_enc}Before encoder integration}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :scale 0.9
[[file:figs/detail_design_strut_without_enc.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_strut_with_enc}With the mounted encoder}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :scale 0.9
[[file:figs/detail_design_strut_with_enc.png]]
#+end_subfigure
#+end_figure
The flexible joints, shown in Figure\nbsp{}ref:fig:detail_design_flexible_joint, were manufactured using wire-cut electrical discharge machining (EDM).
First, the part's inherent fragility, stemming from its $0.25\,\text{mm}$ neck dimension, makes it susceptible to damage from cutting forces typical in classical machining.
Furthermore, wire-cut EDM allows for the very tight machining tolerances critical for achieving accurate location of the center of rotation relative to the plate interfaces (indicated by red surfaces in Figure\nbsp{}ref:fig:detail_design_flexible_joint) and for maintaining the correct neck dimensions necessary for the desired stiffness and angular stroke properties.
The material chosen for the flexible joints is a stainless steel designated /X5CrNiCuNb16-4/ (alternatively known as F16Ph).
This selection was based on its high specified yield strength (exceeding $1\,\text{GPa}$ after appropriate heat treatment) and its high fatigue resistance.
As shown in Figure\nbsp{}ref:fig:detail_design_flexible_joint, the interface designed to connect with the APA possesses a cylindrical shape, facilitating the use of the aforementioned cylindrical washers for alignment.
A slotted hole was incorporated to permit alignment of the flexible joint with the APA via a dowel pin.
Additionally, two threaded holes were included on the sides for mounting the encoder components.
The interface connecting the flexible joint to the platform plates will be described subsequently.
Modifications to the standard mechanical interfaces of the APA300ML were requested from the manufacturer.
The modified design features two planar surfaces and a dowel hole for precise location and orientation, as illustrated in Figure\nbsp{}ref:fig:detail_design_apa.
#+name: fig:detail_design_apa_joints
#+caption: Two main components of the struts: the flexible joint (\subref{fig:detail_design_flexible_joint}) and the amplified piezoelectric actuator (\subref{fig:detail_design_apa}).
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_flexible_joint}Flexible joint}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :scale 1
[[file:figs/detail_design_flexible_joint.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_apa}Amplified Piezoelectric Actuator}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :scale 1
[[file:figs/detail_design_apa.png]]
#+end_subfigure
#+end_figure
Accurate measurement of the relative displacement within each strut requires the encoders to sense the motion between the rotational centers of the two associated flexible joints.
To achieve this, two interface parts, fabricated from aluminum, were designed.
These parts serve to fix the encoder head and the associated scale (ruler) to the two flexible joints, as depicted in Figure\nbsp{}ref:fig:detail_design_strut_with_enc.
***** Plates
The design of the top and bottom plates of the active platform was governed by two main requirements: maximizing the frequency of flexible modes and ensuring accurate positioning of the top flexible joints and well-defined orientation of the struts.
To maximize the natural frequencies associated with plate flexibility, a network of reinforcing ribs was incorporated into the design, as shown for the top plate in Figure\nbsp{}ref:fig:detail_design_top_plate.
Although topology optimization methods were considered, the implemented ribbed design was found to provide sufficiently high natural frequencies for the flexible modes.
#+name: fig:detail_design_top_plate
#+caption: The mechanical design for the top platform incorporates precisely positioned V-grooves for the joint interfaces (displayed in red). The purpose of the encoder interface (shown in green) is detailed later.
#+attr_latex: :scale 1
[[file:figs/detail_design_top_plate.png]]
The interfaces for the joints on the plates incorporate V-grooves (red planes in Figure\nbsp{}ref:fig:detail_design_top_plate).
The cylindrical portion of each flexible joint is constrained within its corresponding V-groove through two distinct line contacts, illustrated in Figure\nbsp{}ref:fig:detail_design_fixation_flexible_joints.
These grooves consequently serve to define the nominal orientation of the struts.
High machining accuracy for these features is essential to ensure that the flexible joints are in their neutral, unstressed state when the active platform is assembled.
#+name: fig:detail_design_fixation_flexible_joints_platform
#+caption: Fixation of the flexible points to the nano-hexapod plates. Both top and bottom flexible joints are clamped to the plates as shown in (\subref{fig:detail_design_fixation_flexible_joints}). While the top flexible joint is in contact with the top plate for precise positioning of its center of rotation (\subref{fig:detail_design_location_top_flexible_joints}), the bottom joint is just oriented (\subref{fig:detail_design_location_bot_flex}).
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_fixation_flexible_joints}Flexible Joint Clamping}
#+attr_latex: :options {0.33\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.99\linewidth
[[file:figs/detail_design_fixation_flexible_joints.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_location_top_flexible_joints}Top positioning}
#+attr_latex: :options {0.33\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.99\linewidth
[[file:figs/detail_design_location_top_flexible_joints.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_location_bot_flex}Bottom Positioning}
#+attr_latex: :options {0.33\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.99\linewidth
[[file:figs/detail_design_location_bot_flex.png]]
#+end_subfigure
#+end_figure
Furthermore, the flat interface surface of each top flexible joint is designed to be in direct contact with the top platform surface, as shown in Figure\nbsp{}ref:fig:detail_design_location_top_flexible_joints.
This contact ensures that the centers of rotation of the top flexible joints, are precisely located relative to the top platform coordinate system.
The bottom flexible joints, however, are primarily oriented by the V-grooves without the same precise positional constraint against the bottom plate, as shown in Figure\nbsp{}ref:fig:detail_design_location_bot_flex.
Both plates were specified to be manufactured from a martensitic stainless steel, X30Cr13.
This material was selected primarily for its high hardness, which minimizes the risk of deformation of the reference surfaces during the clamping of the flexible joints.
This characteristic is expected to permit repeated assembly and disassembly of the struts, should maintenance or reconfiguration be necessary.
***** Finite Element Analysis
A finite element analysis (FEA) of the complete active platform assembly was performed to identify modes that could potentially affect performance.
The analysis revealed that the first six modes correspond to "suspension" modes, where the top plate effectively moves as a rigid body, and motion primarily involves axial displacement of the six struts (an example is shown in Figure\nbsp{}ref:fig:detail_design_fem_rigid_body_mode).
Following these suspension modes, numerous "local" modes associated with the struts themselves were observed in the frequency range between $205\,\text{Hz}$ and $420\,\text{Hz}$.
One such mode is represented in Figure\nbsp{}ref:fig:detail_design_fem_strut_mode.
Although these modes do not appear to induce significant motion of the top platform, they do cause relative displacement between the encoder components (head and scale) mounted on the strut.
Consequently, such modes could potentially degrade control performance if the active platform's position is regulated using these encoder measurements.
The extent to which these modes might be detrimental is difficult to establish at this stage, as it depends on whether they are significantly excited by the APA actuation and their sensitivity to strut alignment.
Finally, the FEA indicated that flexible modes of the top plate itself begin to appear at frequencies above $650\,\text{Hz}$, with the first such mode shown in Figure\nbsp{}ref:fig:detail_design_fem_plate_mode.
#+name: fig:detail_design_fem_nano_hexapod
#+caption: Measurement of strut flexible modes. First six modes are "suspension" modes in which the top plate behaves as a rigid body (\subref{fig:detail_design_fem_rigid_body_mode}). Then modes of the struts have natural frequencies from $205\,\text{Hz}$ to $420\,\text{Hz}$ (\subref{fig:detail_design_fem_strut_mode}). Finally, the first flexible mode of the top plate is at $650\,\text{Hz}$ (\subref{fig:detail_design_fem_plate_mode})
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_fem_rigid_body_mode}Suspension mode}
#+attr_latex: :options {0.36\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.95\linewidth
[[file:figs/detail_design_fem_rigid_body_mode.jpg]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_fem_strut_mode}Strut - Local mode}
#+attr_latex: :options {0.36\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.95\linewidth
[[file:figs/detail_design_fem_strut_mode.jpg]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_fem_plate_mode}Top plate mode}
#+attr_latex: :options {0.26\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.95\linewidth
[[file:figs/detail_design_fem_plate_mode.jpg]]
#+end_subfigure
#+end_figure
***** Alternative Encoder Placement
In anticipation of potential issues arising from the local modes of the struts affecting encoder measurements, an alternative fixation strategy for the encoders was designed.
In this configuration, the encoders are fixed directly to the top and bottom plates instead of the struts, as illustrated in Figure\nbsp{}ref:fig:detail_design_enc_plates_design.
#+name: fig:detail_design_enc_plates_design
#+caption: Alternative way of using the encoders: they are fixed directly to the plates.
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_enc_plates}Nano-Hexapod with encoders fixed to the plates}
#+attr_latex: :options {0.59\textwidth}
#+begin_subfigure
#+attr_latex: :height 5cm
[[file:figs/detail_design_enc_plates.jpg]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_encoders_plates}Zoom on encoder fixation}
#+attr_latex: :options {0.39\textwidth}
#+begin_subfigure
#+attr_latex: :height 5cm
[[file:figs/detail_design_encoders_plates.jpg]]
#+end_subfigure
#+end_figure
Dedicated supports, machined from aluminum, were designed for this purpose.
It was verified through FEA that the natural modes of these supports occur at frequencies sufficiently high (first mode estimated at $1120\,\text{Hz}$) to not be problematic for control.
Precise positioning of these encoder supports is achieved through machined pockets in both the top and bottom plates, visible in Figure\nbsp{}ref:fig:detail_design_top_plate (indicated in green).
Although the encoders in this arrangement are aligned parallel to the nominal strut axes, they no longer measure the exact relative displacement along the strut between the flexible joint centers.
This geometric discrepancy implies that if the relative motion control of the active platform is based directly on these encoder readings, the kinematic calculations may be slightly inaccurate, potentially affecting the overall positioning accuracy of the platform.
*** Multi-Body Model
<<sec:detail_design_model>>
***** Introduction :ignore:
Prior to the procurement of mechanical components, the multi-body simulation model of the active platform was refined to incorporate the finalized design geometries.
Two distinct configurations, corresponding to the two encoder mounting strategies discussed previously, were considered in the model, as displayed in Figure\nbsp{}ref:fig:detail_design_simscape: one with encoders fixed to the struts, and another with encoders fixed to the plates.
In these models, the top and bottom plates were represented as rigid bodies, with their inertial properties calculated directly from the 3D CAD geometry.
#+name: fig:detail_design_simscape
#+caption: 3D representation of the multi-body model. There are two configurations: encoders fixed to the struts (\subref{fig:detail_design_simscape_encoder_struts}) and encoders fixed to the plates (\subref{fig:detail_design_simscape_encoder_plates}).
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_simscape_encoder_struts}Encoders fixed to the struts}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.95\linewidth
[[file:figs/detail_design_simscape_encoder_struts.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_simscape_encoder_plates}Encoders fixed to the plates}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.95\linewidth
[[file:figs/detail_design_simscape_encoder_plates.png]]
#+end_subfigure
#+end_figure
***** Flexible Joints
Several levels of detail were considered for modeling the flexible joints within the multi-body model.
Models with two degrees of freedom incorporating only bending stiffnesses, models with three degrees of freedom adding torsional stiffness, and models with four degrees of freedom further adding axial stiffness were evaluated.
The multi-body representation corresponding to the 4DoF configuration is shown in Figure\nbsp{}ref:fig:detail_design_simscape_model_flexible_joint.
This model is composed of three distinct solid bodies interconnected by joints, whose stiffness properties were derived from finite element analysis of the joint component.
#+name: fig:detail_design_simscape_model_flexible_joint
#+caption: 4DoF multi-body model of the flexible joints
#+attr_latex: :scale 1
[[file:figs/detail_design_simscape_model_flexible_joint.png]]
***** Amplified Piezoelectric Actuators
The amplified piezoelectric actuators (APAs) were incorporated into the multi-body model following the methodology detailed in Section\nbsp{}ref:sec:detail_fem_actuator.
Two distinct representations of the APA can be utilized within the simulation: a simplified 2DoF model capturing the axial behavior, or a more complex "Reduced Order Flexible Body" model derived from a finite element model.
***** Encoders
In earlier modeling stages, the relative displacement sensors (encoders) were implemented as a direct measurement of the relative distance between the joint connection points $\bm{a}_i$ and $\bm{b}_i$.
However, as indicated by the FEA results discussed previously, the flexible modes inherent to the struts could potentially affect the encoder measurement.
Therefore, a more sophisticated model of the optical encoder was necessary.
The optical encoders operate based on the interaction between an encoder head and a graduated scale or ruler.
The optical encoder head contains a light source that illuminates the ruler.
A reference frame $\{E\}$ fixed to the scale, represents the the light position on the scale, as illustrated in Figure\nbsp{}ref:fig:detail_design_simscape_encoder_model.
The ruler features a precise grating pattern (in this case, with a $20\,\mu m$ pitch), and its position is associated with the reference frame $\{R\}$.
The displacement measured by the encoder corresponds to the relative position of the encoder frame $\{E\}$ (specifically, the point where the light interacts with the scale) with respect to the ruler frame $\{R\}$, projected along the measurement direction defined by the scale.
An important consequence of this measurement principle is that a relative rotation between the encoder head and the ruler, as depicted conceptually in Figure\nbsp{}ref:fig:detail_design_simscape_encoder_disp, can induce a measured displacement.
#+name: fig:detail_design_simscape_encoder_model
#+caption: Representation of the encoder model in the multi-body model. Measurement $d_i$ corresponds to the $x$ position of the encoder frame $\{E\}$ expresssed in the ruller frame $\{R\}$ (\subref{fig:detail_design_simscape_encoder}). A rotation of the encoder therefore induces a measured displacement (\subref{fig:detail_design_simscape_encoder_disp}).
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_simscape_encoder}Aligned encoder and ruler}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :scale 1
[[file:figs/detail_design_simscape_encoder.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_simscape_encoder_disp}Rotation of the encoder head}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :scale 1
[[file:figs/detail_design_simscape_encoder_disp.png]]
#+end_subfigure
#+end_figure
***** Validation of the designed active platform
The refined multi-body model of the active platform was integrated into the multi-body micro-station model.
Dynamical analysis was performed, confirming that the platform's behavior closely approximates the dynamics of the "idealized" model used during the conceptual design phase.
Consequently, closed-loop performance simulations replicating tomography experiments yielded metrics highly comparable to those previously predicted (as presented in Section\nbsp{}ref:ssec:nass_hac_tomography).
Given this similarity and because analogous simulations are conducted and detailed during the experimental validation phase (Section\nbsp{}ref:sec:test_id31_hac), these specific results are not reiterated here.
- Explain again the different specifications in terms of space, payload, etc..
- CAD view of the nano-hexapod
- Chosen geometry, materials, ease of mounting, cabling, ...
- Validation on Simscape with accurate model?
** Detailed Design - Conclusion
:PROPERTIES:

Binary file not shown.

View File

@ -1,4 +1,4 @@
% Created 2025-04-20 Sun 22:28
% Created 2025-04-21 Mon 23:35
% Intended LaTeX compiler: pdflatex
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
@ -41,7 +41,7 @@
\addbibresource{ref.bib}
\addbibresource{phd-thesis.bib}
\author{Dehaeze Thomas}
\date{2025-04-20}
\date{2025-04-21}
\title{Nano Active Stabilization of samples for tomography experiments: A mechatronic design approach}
\subtitle{PhD Thesis}
\hypersetup{
@ -174,7 +174,7 @@ The fundamental objective has been to ensure that anyone should be capable of re
To achieve this goal of reproducibility, comprehensive sharing of all elements has been implemented.
This includes the mathematical models developed, raw experimental data collected, and scripts used to generate the figures.
For those wishing to engage with the reproducible aspects of this work, all data and code are freely accessible in \textbf{add zenodo link}.
For those wishing to engage with the reproducible aspects of this work, all data and code are freely accessible \cite{dehaeze25_nano_activ_stabil_zenodo}.
The organization of the code mirrors that of the manuscript, with corresponding chapters and sections.
All materials have been made available under the MIT License, permitting free reuse.
@ -201,7 +201,7 @@ The research presented in this manuscript has been possible thanks to the Fonds
\endgroup
Synchrotron radiation facilities, are particle accelerators where electrons are accelerated to near the speed of light.
As these electrons traverse magnetic fields, typically generated by insertion devices or bending magnets, they produce exceptionally bright light known as synchrotron light.
This intense electromagnetic radiation, particularly in the X-ray spectrum, is subsequently utilized for the detailed study of matter.
This intense electromagnetic radiation, particularly in the X-ray spectrum, is subsequently used for the detailed study of matter.
Approximately 70 synchrotron light sources are operational worldwide, some of which are indicated in Figure~\ref{fig:introduction_synchrotrons}.
This global distribution of such facilities underscores the significant utility of synchrotron light for the scientific community.
@ -306,7 +306,7 @@ Tomography experiments, schematically represented in Figure~\ref{fig:introductio
Detector images are captured at numerous rotation angles, allowing the reconstruction of three-dimensional sample structure (Figure~\ref{fig:introduction_tomography_results})~\cite{schoeppler17_shapin_highl_regul_glass_archit}.
This reconstruction depends critically on maintaining the sample's point of interest within the beam throughout the rotation process.
Mapping or scanning experiments, depicted in Figure~\ref{fig:introduction_scanning_schematic}, typically utilize focusing optics to have a small beam size at the sample's location.
Mapping or scanning experiments, depicted in Figure~\ref{fig:introduction_scanning_schematic}, typically use focusing optics to have a small beam size at the sample's location.
The sample is then translated perpendicular to the beam (along Y and Z axes), while data is collected at each position.
An example~\cite{sanchez-cano17_synch_x_ray_fluor_nanop} of a resulting two-dimensional map, acquired with 20nm step increments, is shown in Figure~\ref{fig:introduction_scanning_results}.
The fidelity and resolution of such images are intrinsically linked to the focused beam size and the positioning precision of the sample relative to the focused beam.
@ -399,7 +399,7 @@ While effective for mitigating radiation damage, this sequential process can be
An alternative, more efficient approach is the ``fly-scan'' or ``continuous-scan'' methodology~\cite{xu23_high_nsls_ii}, depicted in Figure~\ref{fig:introduction_scan_fly}.
Here, the sample is moved continuously while the detector is triggered to acquire data ``on the fly'' at predefined positions or time intervals.
This technique significantly accelerates data acquisition, enabling better utilization of valuable beamtime while potentially enabling finer spatial resolution~\cite{huang15_fly_scan_ptych}.
This technique significantly accelerates data acquisition, enabling better use of valuable beamtime while potentially enabling finer spatial resolution~\cite{huang15_fly_scan_ptych}.
Recent developments in detector technology have yielded sensors with improved spatial resolution, lower noise characteristics, and substantially higher frame rates~\cite{hatsui15_x_ray_imagin_detec_synch_xfel_sourc}.
Historically, detector integration times for scanning and tomography experiments were in the range of 0.1 to 1 second.
@ -415,7 +415,7 @@ To contextualize the system developed within this thesis, a brief overview of ex
The aim is to identify the specific characteristics that distinguish the proposed system from current state-of-the-art implementations.
Positioning systems can be broadly categorized based on their kinematic architecture, typically serial or parallel, as exemplified by the 3-Degree-of-Freedom (DoF) platforms in Figure~\ref{fig:introduction_kinematics}.
Serial kinematics (Figure~\ref{fig:introduction_serial_kinematics}) utilizes stacked stages where each degree of freedom is controlled by a dedicated actuator.
Serial kinematics (Figure~\ref{fig:introduction_serial_kinematics}) is composed of stacked stages where each degree of freedom is controlled by a dedicated actuator.
This configuration offers great mobility, but positioning errors (e.g., guiding inaccuracies, thermal expansion) accumulate through the stack, compromising overall accuracy.
Similarly, the overall dynamic performance (stiffness, resonant frequencies) is limited by the softest component in the stack, often resulting in poor dynamic behavior when many stages are combined.
@ -652,7 +652,7 @@ This thesis documents this process chronologically, illustrating how models of v
While the resulting system is highly specific, the documented effectiveness of this design approach may contribute to the broader adoption of mechatronic methodologies in the design of future synchrotron instrumentation.
\paragraph{Experimental validation of multi-body simulations with reduced order flexible bodies obtained by FEA}
A key tool employed extensively in this work was a combined multi-body simulation and Finite Element Analysis technique, specifically utilizing Component Mode Synthesis to represent flexible bodies within the multi-body framework~\cite{brumund21_multib_simul_reduc_order_flexib_bodies_fea}.
A key tool employed extensively in this work was a combined multi-body simulation and Finite Element Analysis technique, specifically using Component Mode Synthesis to represent flexible bodies within the multi-body framework~\cite{brumund21_multib_simul_reduc_order_flexib_bodies_fea}.
This hybrid approach, while established, was experimentally validated in this work for components critical to the NASS, namely amplified piezoelectric actuators and flexible joints.
It proved invaluable for designing and optimizing components intended for integration into a larger, complex dynamic system.
This methodology, detailed in Section~\ref{sec:detail_fem}, is presented as a potentially useful tool for future mechatronic instrument development.
@ -662,7 +662,7 @@ The requirement for robust operation across diverse conditions—including paylo
This challenge was met by embedding robustness directly into the active platform's design, rather than depending solely on complex post-design control synthesis techniques such as \(\mathcal{H}_\infty\text{-synthesis}\) and \(\mu\text{-synthesis}\).
Key elements of this strategy included the model-based evaluation of active stage designs to identify architectures inherently easier to control, the incorporation of collocated actuator/sensor pairs to leverage passivity-based guaranteed stability, and the comparison of architecture to combine several sensors such as sensor fusion and High Authority Control / Low Authority Control (HAC-LAC).
Furthermore, decoupling strategies for parallel manipulators were compared (Section~\ref{sec:detail_control_decoupling}), addressing a topic identified as having limited treatment in the literature.
Consequently, the specified performance targets were met utilizing controllers which, facilitated by this design approach, proved to be robust, readily tunable, and easily maintained.
Consequently, the specified performance targets were met using controllers which, facilitated by this design approach, proved to be robust, readily tunable, and easily maintained.
\paragraph{Active Damping of rotating mechanical systems using Integral Force Feedback}
During conceptual design, it was found that the guaranteed stability property of the established active damping technique known as Integral Force Feedback (IFF) is compromised when applied to rotating platforms like the NASS.
@ -682,7 +682,7 @@ The integration of such filters into feedback control architectures can also lea
The conclusion of this work involved the experimental implementation and validation of the complete NASS on the ID31 beamline.
Experimental results, presented in Section~\ref{sec:test_id31}, demonstrate that the system successfully improves the effective positioning accuracy of the micro-station from its native \(\approx 10\,\mu m\) level down to the target \(\approx 100\,nm\) range during representative scientific experiments.
Crucially, robustness to variations in sample mass and diverse experimental conditions was verified.
The NASS thus provides a versatile end-station solution, uniquely combining high payload capacity with nanometer-level accuracy, enabling optimal utilization of the advanced capabilities of the ESRF-EBS beam and associated detectors.
The NASS thus provides a versatile end-station solution, uniquely combining high payload capacity with nanometer-level accuracy, enabling optimal use of the advanced capabilities of the ESRF-EBS beam and associated detectors.
To the author's knowledge, this represents the first demonstration of such a 5-DoF active stabilization platform being used to enhance the accuracy of a complex positioning system to this level.
\section{Outline}
This is divided into three chapters, each corresponding to a distinct phase of this methodology: Conceptual Design, Detailed Design, and Experimental Validation.
@ -3755,7 +3755,7 @@ External forces can be used to model disturbances, and ``sensors'' can be used t
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,scale=0.8]{figs/ustation_simscape_stage_example.png}
\caption{\label{fig:ustation_simscape_stage_example}Example of a stage (here the tilt-stage) represented in the multi-body model software (Simscape). It is composed of two solid bodies connected by a 6-DoF joint. One joint DoF (here the tilt angle) can be imposed, the other DoFs are represented by springs and dampers. Additional disturbing forces for all DoF can be included}
\caption{\label{fig:ustation_simscape_stage_example}Example of a stage (here the tilt-stage) represented in the multi-body model software (Simulink - Simscape). It is composed of two solid bodies connected by a 6-DoF joint. One joint DoF (here the tilt angle) can be imposed, the other DoFs are represented by springs and dampers. Additional disturbing forces for all DoF can be included}
\end{figure}
Therefore, the micro-station is modeled by several solid bodies connected by joints.
@ -4213,7 +4213,7 @@ To overcome this limitation, external metrology systems have been implemented to
A review of existing sample stages with active vibration control reveals various approaches to implementing such feedback systems.
In many cases, sample position control is limited to translational degrees of freedom.
At NSLS-II, for instance, a system capable of \(100\,\mu m\) stroke has been developed for payloads up to 500g, utilizing interferometric measurements for position feedback (Figure~\ref{fig:nhexa_stages_nazaretski}).
At NSLS-II, for instance, a system capable of \(100\,\mu m\) stroke has been developed for payloads up to 500g, using interferometric measurements for position feedback (Figure~\ref{fig:nhexa_stages_nazaretski}).
Similarly, at the Sirius facility, a tripod configuration based on voice coil actuators has been implemented for XYZ position control, achieving feedback bandwidths of approximately 100 Hz (Figure~\ref{fig:nhexa_stages_sapoti}).
\begin{figure}[h!tbp]
@ -4364,7 +4364,7 @@ Furthermore, hybrid architectures combining both serial and parallel elements ha
After evaluating the different options, the Stewart platform architecture was selected for several reasons.
In addition to providing control over all required degrees of freedom, its compact design and predictable dynamic characteristics make it particularly suitable for nano-positioning when combined with flexible joints.
Stewart platforms have been implemented in a wide variety of configurations, as illustrated in Figure~\ref{fig:nhexa_stewart_examples}, which shows two distinct implementations: one utilizing piezoelectric actuators for nano-positioning applications, and another based on voice coil actuators for vibration isolation.
Stewart platforms have been implemented in a wide variety of configurations, as illustrated in Figure~\ref{fig:nhexa_stewart_examples}, which shows two distinct implementations: one implementing piezoelectric actuators for nano-positioning applications, and another based on voice coil actuators for vibration isolation.
These examples demonstrate the architecture's versatility in terms of geometry, actuator selection, and scale, all of which can be optimized for specific applications.
Furthermore, the successful implementation of Integral Force Feedback (IFF) control on Stewart platforms has been well documented~\cite{abu02_stiff_soft_stewar_platf_activ,hanieh03_activ_stewar,preumont07_six_axis_singl_stage_activ}, and the extensive body of research on this architecture enables thorough optimization specifically for the NASS.
@ -4906,7 +4906,7 @@ For instance, when using external metrology systems that measure the platform's
In the context of the nano-hexapod, two distinct control strategies were examined during the conceptual phase:
\begin{itemize}
\item Decentralized Integral Force Feedback (IFF), which utilizes collocated force sensors to implement independent control loops for each strut (Section~\ref{ssec:nhexa_control_iff})
\item Decentralized Integral Force Feedback (IFF), which uses collocated force sensors to implement independent control loops for each strut (Section~\ref{ssec:nhexa_control_iff})
\item High-Authority Control (HAC), which employs a centralized approach to achieve precise positioning based on external metrology measurements (Section~\ref{ssec:nhexa_control_hac_lac})
\end{itemize}
@ -5667,7 +5667,7 @@ Finally, Section~\ref{sec:detail_kinematics_nano_hexapod} presents the optimized
The first parallel platform similar to the Stewart platform was built in 1954 by Gough~\cite{gough62_univer_tyre_test_machin}, for a tyre test machine (shown in Figure~\ref{fig:detail_geometry_gough_paper}).
Subsequently, Stewart proposed a similar design for a flight simulator (shown in Figure~\ref{fig:detail_geometry_stewart_flight_simulator}) in a 1965 publication~\cite{stewart65_platf_with_six_degrees_freed}.
Since then, the Stewart platform (sometimes referred to as the Stewart-Gough platform) has been utilized across diverse applications~\cite{dasgupta00_stewar_platf_manip}, including large telescopes~\cite{kazezkhan14_dynam_model_stewar_platf_nansh_radio_teles,yun19_devel_isotr_stewar_platf_teles_secon_mirror}, machine tools~\cite{russo24_review_paral_kinem_machin_tools}, and Synchrotron instrumentation~\cite{marion04_hexap_esrf,villar18_nanop_esrf_id16a_nano_imagin_beaml}.
Since then, the Stewart platform (sometimes referred to as the Stewart-Gough platform) has been used across diverse applications~\cite{dasgupta00_stewar_platf_manip}, including large telescopes~\cite{kazezkhan14_dynam_model_stewar_platf_nansh_radio_teles,yun19_devel_isotr_stewar_platf_teles_secon_mirror}, machine tools~\cite{russo24_review_paral_kinem_machin_tools}, and Synchrotron instrumentation~\cite{marion04_hexap_esrf,villar18_nanop_esrf_id16a_nano_imagin_beaml}.
\begin{figure}[htbp]
\begin{subfigure}{0.48\textwidth}
@ -5730,7 +5730,7 @@ Although less frequently encountered, magnetostrictive actuators have been succe
The sensors integrated in these platforms are selected based on specific control requirements, as different sensors offer distinct advantages and limitations~\cite{hauge04_sensor_contr_space_based_six}.
Force sensors are typically integrated within the struts in a collocated arrangement with actuators to enhance control robustness.
Stewart platforms incorporating force sensors are frequently utilized for vibration isolation~\cite{spanos95_soft_activ_vibrat_isolat,rahman98_multiax} and active damping applications~\cite{geng95_intel_contr_system_multip_degree,abu02_stiff_soft_stewar_platf_activ}, as exemplified in Figure~\ref{fig:detail_kinematics_ulb_pz}.
Stewart platforms incorporating force sensors are frequently used for vibration isolation~\cite{spanos95_soft_activ_vibrat_isolat,rahman98_multiax} and active damping applications~\cite{geng95_intel_contr_system_multip_degree,abu02_stiff_soft_stewar_platf_activ}, as exemplified in Figure~\ref{fig:detail_kinematics_ulb_pz}.
Inertial sensors (accelerometers and geophones) are commonly employed in vibration isolation applications~\cite{chen03_payload_point_activ_vibrat_isolat,chi15_desig_exper_study_vcm_based}.
These sensors are predominantly aligned with the struts~\cite{hauge04_sensor_contr_space_based_six,li01_simul_fault_vibrat_isolat_point,thayer02_six_axis_vibrat_isolat_system,zhang11_six_dof,jiao18_dynam_model_exper_analy_stewar,tang18_decen_vibrat_contr_voice_coil}, although they may also be fixed to the top platform~\cite{wang16_inves_activ_vibrat_isolat_stewar}.
@ -6461,7 +6461,7 @@ Regarding dynamical properties, particularly for control in the frame of the str
Consequently, the geometry was selected according to practical constraints.
The height between the two plates is maximized and set at \(95\,mm\).
Both platforms utilize the maximum available size, with joints offset by \(15\,mm\) from the plate surfaces and positioned along circles with radii of \(120\,mm\) for the fixed joints and \(110\,mm\) for the mobile joints.
Both platforms take the maximum available size, with joints offset by \(15\,mm\) from the plate surfaces and positioned along circles with radii of \(120\,mm\) for the fixed joints and \(110\,mm\) for the mobile joints.
The positioning angles, as shown in Figure~\ref{fig:detail_kinematics_nano_hexapod_top}, are \([255,\ 285,\ 15,\ 45,\ 135,\ 165]\) degrees for the top joints and \([220,\ 320,\ 340,\ 80,\ 100,\ 200]\) degrees for the bottom joints.
\begin{figure}[htbp]
@ -6533,7 +6533,7 @@ This led to a practical design approach where struts were oriented more vertical
\section{Component Optimization}
\label{sec:detail_fem}
During the nano-hexapod's detailed design phase, a hybrid modeling approach combining finite element analysis with multi-body dynamics was developed.
This methodology, utilizing reduced-order flexible bodies, was created to enable both detailed component optimization and efficient system-level simulation, addressing the impracticality of a full FEM for real-time control scenarios.
This methodology, using reduced-order flexible bodies, was created to enable both detailed component optimization and efficient system-level simulation, addressing the impracticality of a full FEM for real-time control scenarios.
The theoretical foundations and implementation are presented in Section~\ref{sec:detail_fem_super_element}, where experimental validation was performed using an Amplified Piezoelectric Actuator.
The framework was then applied to optimize two critical nano-hexapod elements: the actuators (Section~\ref{sec:detail_fem_actuator}) and the flexible joints (Section~\ref{sec:detail_fem_joint}).
@ -7281,7 +7281,7 @@ A key outcome of this work is the development of reduced-order models that maint
Such model reduction, guided by detailed understanding of component behavior, provides the foundation for subsequent control system design and optimization.
\section{Control Optimization}
\label{sec:detail_control}
Three critical elements for the control of parallel manipulators such as the Nano-Hexapod were identified: effective utilization and combination of multiple sensors, appropriate plant decoupling strategies, and robust controller design for the decoupled system.
Three critical elements for the control of parallel manipulators such as the Nano-Hexapod were identified: effective use and combination of multiple sensors, appropriate plant decoupling strategies, and robust controller design for the decoupled system.
During the conceptual design phase of the NASS, pragmatic approaches were implemented for each of these elements.
The High Authority Control-Low Authority Control (HAC-LAC) architecture was selected for combining sensors.
@ -7289,7 +7289,7 @@ Control was implemented in the frame of the struts, leveraging the inherent low-
For these decoupled plants, open-loop shaping techniques were employed to tune the individual controllers.
While these initial strategies proved effective in validating the NASS concept, this work explores alternative approaches with the potential to further enhance the performance.
Section~\ref{sec:detail_control_sensor} examines different methods for combining multiple sensors, with particular emphasis on sensor fusion techniques that utilize complementary filters.
Section~\ref{sec:detail_control_sensor} examines different methods for combining multiple sensors, with particular emphasis on sensor fusion techniques that are based on complementary filters.
A novel approach for designing these filters is proposed, which allows optimization of the sensor fusion effectiveness.
Section~\ref{sec:detail_control_decoupling} presents a comparative analysis of various decoupling strategies, including Jacobian decoupling, modal decoupling, and Singular Value Decomposition (SVD) decoupling.
@ -7330,8 +7330,8 @@ From the literature, three principal approaches for combining sensors have been
\caption{\label{fig:detail_control_control_multiple_sensors}Different control strategies when using multiple sensors. High Authority Control / Low Authority Control (\subref{fig:detail_control_sensor_arch_hac_lac}). Sensor Fusion (\subref{fig:detail_control_sensor_arch_sensor_fusion}). Two-Sensor Control (\subref{fig:detail_control_sensor_arch_two_sensor_control})}
\end{figure}
The HAC-LAC approach employs a dual-loop control strategy in which two control loops utilize different sensors for distinct purposes (Figure~\ref{fig:detail_control_sensor_arch_hac_lac}).
In~\cite{li01_simul_vibrat_isolat_point_contr}, vibration isolation is provided by accelerometers collocated with the voice coil actuators, while external rotational sensors are utilized to achieve pointing control.
The HAC-LAC approach employs a dual-loop control strategy in which two control loops are using different sensors for distinct purposes (Figure~\ref{fig:detail_control_sensor_arch_hac_lac}).
In~\cite{li01_simul_vibrat_isolat_point_contr}, vibration isolation is provided by accelerometers collocated with the voice coil actuators, while external rotational sensors are used to achieve pointing control.
In~\cite{geng95_intel_contr_system_multip_degree}, force sensors collocated with the magnetostrictive actuators are used for active damping using decentralized IFF, and subsequently accelerometers are employed for adaptive vibration isolation.
Similarly, in~\cite{wang16_inves_activ_vibrat_isolat_stewar}, piezoelectric actuators with collocated force sensors are used in a decentralized manner to provide active damping while accelerometers are implemented in an adaptive feedback loop to suppress periodic vibrations.
In~\cite{xie17_model_contr_hybrid_passiv_activ}, force sensors are integrated in the struts for decentralized force feedback while accelerometers fixed to the top platform are employed for centralized control.
@ -7351,7 +7351,7 @@ A ``two-sensor control'' approach was proven to perform better than controllers
A Linear Quadratic Regulator (LQG) was employed to optimize the two-input/one-output controller.
Beyond these three main approaches, other control architectures have been proposed for different purposes.
For instance, in~\cite{yang19_dynam_model_decoup_contr_flexib}, a first control loop utilizes force sensors and relative motion sensors to compensate for parasitic stiffness of the flexible joints.
For instance, in~\cite{yang19_dynam_model_decoup_contr_flexib}, a first control loop based on force sensors and relative motion sensors is implemented to compensate for parasitic stiffness of the flexible joints.
Subsequently, the system is decoupled in the modal space (facilitated by the removal of parasitic stiffness) and accelerometers are employed for vibration isolation.
The HAC-LAC architecture was previously investigated during the conceptual phase and successfully implemented to validate the NASS concept, demonstrating excellent performance.
@ -7374,7 +7374,7 @@ By carefully selecting the sensors to be fused, a ``super sensor'' is obtained t
In some applications, sensor fusion is employed to increase measurement bandwidth~\cite{shaw90_bandw_enhan_posit_measur_using_measur_accel,zimmermann92_high_bandw_orien_measur_contr,min15_compl_filter_desig_angle_estim}.
For instance, in~\cite{shaw90_bandw_enhan_posit_measur_using_measur_accel}, the bandwidth of a position sensor is extended by fusing it with an accelerometer that provides high-frequency motion information.
In other applications, sensor fusion is utilized to obtain an estimate of the measured quantity with reduced noise~\cite{hua05_low_ligo,hua04_polyp_fir_compl_filter_contr_system,plummer06_optim_compl_filter_their_applic_motion_measur,robert12_introd_random_signal_applied_kalman}.
In other applications, sensor fusion is used to obtain an estimate of the measured quantity with reduced noise~\cite{hua05_low_ligo,hua04_polyp_fir_compl_filter_contr_system,plummer06_optim_compl_filter_their_applic_motion_measur,robert12_introd_random_signal_applied_kalman}.
More recently, the fusion of sensors measuring different physical quantities has been proposed to enhance control properties~\cite{collette15_sensor_fusion_method_high_perfor,yong16_high_speed_vertic_posit_stage}.
In~\cite{collette15_sensor_fusion_method_high_perfor}, an inertial sensor used for active vibration isolation is fused with a sensor collocated with the actuator to improve the stability margins of the feedback controller.
@ -7394,7 +7394,7 @@ In early implementations of complementary filtering, analog circuits were used t
While analog complementary filters remain in use today~\cite{yong16_high_speed_vertic_posit_stage,moore19_capac_instr_sensor_fusion_high_bandw_nanop}, digital implementation is now more common as it provides greater flexibility.
Various design methods have been developed to optimize complementary filters.
The most straightforward approach utilizes analytical formulas, which depending on the application may be first order~\cite{corke04_inert_visual_sensin_system_small_auton_helic,yeh05_model_contr_hydraul_actuat_two,yong16_high_speed_vertic_posit_stage}, second order~\cite{baerveldt97_low_cost_low_weigh_attit,stoten01_fusion_kinet_data_using_compos_filter,jensen13_basic_uas}, or higher orders~\cite{shaw90_bandw_enhan_posit_measur_using_measur_accel,zimmermann92_high_bandw_orien_measur_contr,stoten01_fusion_kinet_data_using_compos_filter,collette15_sensor_fusion_method_high_perfor,matichard15_seism_isolat_advan_ligo}.
The most straightforward approach is based on analytical formulas, which depending on the application may be first order~\cite{corke04_inert_visual_sensin_system_small_auton_helic,yeh05_model_contr_hydraul_actuat_two,yong16_high_speed_vertic_posit_stage}, second order~\cite{baerveldt97_low_cost_low_weigh_attit,stoten01_fusion_kinet_data_using_compos_filter,jensen13_basic_uas}, or higher orders~\cite{shaw90_bandw_enhan_posit_measur_using_measur_accel,zimmermann92_high_bandw_orien_measur_contr,stoten01_fusion_kinet_data_using_compos_filter,collette15_sensor_fusion_method_high_perfor,matichard15_seism_isolat_advan_ligo}.
Since the characteristics of the super sensor depend on proper complementary filter design~\cite{dehaeze19_compl_filter_shapin_using_synth}, several optimization techniques have emerged—ranging from optimizing parameters for analytical formulas~\cite{jensen13_basic_uas,min15_compl_filter_desig_angle_estim,fonseca15_compl} to employing convex optimization tools~\cite{hua04_polyp_fir_compl_filter_contr_system,hua05_low_ligo} such as linear matrix inequalities~\cite{pascoal99_navig_system_desig_using_time}.
As demonstrated in~\cite{plummer06_optim_compl_filter_their_applic_motion_measur}, complementary filter design can be linked to the standard mixed-sensitivity control problem, allowing powerful classical control theory tools to be applied.
For example, in~\cite{jensen13_basic_uas}, two gains of a Proportional Integral (PI) controller are optimized to minimize super sensor noise.
@ -7697,7 +7697,7 @@ Certain applications necessitate the fusion of more than two sensors~\cite{stote
At LIGO, for example, a super sensor is formed by merging three distinct sensors: an LVDT, a seismometer, and a geophone~\cite{matichard15_seism_isolat_advan_ligo}.
For merging \(n>2\) sensors with complementary filters, two architectural approaches are possible, as illustrated in Figure~\ref{fig:detail_control_sensor_fusion_three}.
Fusion can be implemented either ``sequentially,'' utilizing \(n-1\) sets of two complementary filters (Figure~\ref{fig:detail_control_sensor_fusion_three_sequential}), or ``in parallel,'' employing a single set of \(n\) complementary filters (Figure~\ref{fig:detail_control_sensor_fusion_three_parallel}).
Fusion can be implemented either ``sequentially,'' using \(n-1\) sets of two complementary filters (Figure~\ref{fig:detail_control_sensor_fusion_three_sequential}), or ``in parallel,'' employing a single set of \(n\) complementary filters (Figure~\ref{fig:detail_control_sensor_fusion_three_parallel}).
While conventional sensor fusion synthesis techniques can be applied to the sequential approach, parallel architecture implementation requires a novel synthesis method for multiple complementary filters.
Previous literature has offered only simple analytical formulas for this purpose~\cite{stoten01_fusion_kinet_data_using_compos_filter,fonseca15_compl}.
@ -7812,7 +7812,7 @@ For instance,~\cite{furutani04_nanom_cuttin_machin_using_stewar} implemented a s
A similar control architecture was proposed in~\cite{du14_piezo_actuat_high_precis_flexib} using strain gauge sensors integrated in each strut.
An alternative strategy involves decoupling the system in the Cartesian frame using Jacobian matrices.
As demonstrated during the study of Stewart platform kinematics, Jacobian matrices can be utilized to map actuator forces to forces and torques applied on the top platform.
As demonstrated during the study of Stewart platform kinematics, Jacobian matrices can be used to map actuator forces to forces and torques applied on the top platform.
This approach enables the implementation of controllers in a defined frame.
It has been applied with various sensor types including force sensors~\cite{mcinroy00_desig_contr_flexur_joint_hexap}, relative displacement sensors~\cite{kim00_robus_track_contr_desig_dof_paral_manip}, and inertial sensors~\cite{li01_simul_vibrat_isolat_point_contr,abbas14_vibrat_stewar_platf}.
The Cartesian frame in which the system is decoupled is typically chosen at the point of interest (i.e., where the motion is of interest) or at the center of mass.
@ -7838,7 +7838,7 @@ Finally, a comparative analysis with concluding observations is provided in Sect
\subsubsection{Test Model}
\label{ssec:detail_control_decoupling_model}
Instead of utilizing the Stewart platform for comparing decoupling strategies, a simplified parallel manipulator is employed to facilitate a more straightforward analysis.
Instead of using the Stewart platform for comparing decoupling strategies, a simplified parallel manipulator is employed to facilitate a more straightforward analysis.
The system illustrated in Figure~\ref{fig:detail_control_decoupling_model_test} is used for this purpose.
It possesses three degrees of freedom (DoF) and incorporates three parallel struts.
Being a fully parallel manipulator, it is therefore quite similar to the Stewart platform.
@ -8277,7 +8277,7 @@ The phenomenon potentially relates to previous research on SVD controllers appli
While the three proposed decoupling methods may appear similar in their mathematical implementation (each involving pre-multiplication and post-multiplication of the plant with constant matrices), they differ significantly in their underlying approaches and practical implications, as summarized in Table~\ref{tab:detail_control_decoupling_strategies_comp}.
Each method employs a distinct conceptual framework: Jacobian decoupling is ``topology-driven'', relying on the geometric configuration of the system; modal decoupling is ``physics-driven'', based on the system's dynamical equations; and SVD decoupling is ``data-driven'', utilizing measured frequency response functions.
Each method employs a distinct conceptual framework: Jacobian decoupling is ``topology-driven'', relying on the geometric configuration of the system; modal decoupling is ``physics-driven'', based on the system's dynamical equations; and SVD decoupling is ``data-driven'', using measured frequency response functions.
The physical interpretation of decoupled plant inputs and outputs varies considerably among these methods.
With Jacobian decoupling, inputs and outputs retain clear physical meaning, corresponding to forces/torques and translations/rotations in a specified reference frame.
@ -8330,7 +8330,7 @@ SVD decoupling can be implemented using measured data without requiring a model,
Once the system is properly decoupled using one of the approaches described in Section~\ref{sec:detail_control_decoupling}, SISO controllers can be individually tuned for each decoupled ``directions''.
Several ways to design a controller to obtain a given performance while ensuring good robustness properties can be implemented.
In some cases ``fixed'' controller structures are utilized, such as PI and PID controllers, whose parameters are manually tuned~\cite{furutani04_nanom_cuttin_machin_using_stewar,du14_piezo_actuat_high_precis_flexib,yang19_dynam_model_decoup_contr_flexib}.
In some cases ``fixed'' controller structures are used, such as PI and PID controllers, whose parameters are manually tuned~\cite{furutani04_nanom_cuttin_machin_using_stewar,du14_piezo_actuat_high_precis_flexib,yang19_dynam_model_decoup_contr_flexib}.
Another popular method is Open-Loop shaping, which was used during the conceptual phase.
Open-loop shaping involves tuning the controller through a series of ``standard'' filters (leads, lags, notches, low-pass filters, \ldots{}) to shape the open-loop transfer function \(G(s)K(s)\) according to desired specifications, including bandwidth, gain and phase margins~\cite[, chapt. 4.4.7]{schmidt20_desig_high_perfor_mechat_third_revis_edition}.
@ -8357,7 +8357,7 @@ Finally, in Section~\ref{ssec:detail_control_cf_simulations}, a numerical exampl
The idea of using complementary filters in the control architecture originates from sensor fusion techniques~\cite{collette15_sensor_fusion_method_high_perfor}, where two sensors are combined using complementary filters.
Building upon this concept, ``virtual sensor fusion''~\cite{verma20_virtual_sensor_fusion_high_precis_contr} replaces one physical sensor with a model \(G\) of the plant.
The corresponding control architecture is illustrated in Figure~\ref{fig:detail_control_cf_arch}, where \(G^\prime\) represents the physical plant to be controlled, \(G\) is a model of the plant, \(k\) is the controller, and \(H_L\) and \(H_H\) are complementary filters satisfying \(H_L(s) + H_H(s) = 1\).
In this arrangement, the physical plant is controlled at low frequencies, while the plant model is utilized at high frequencies to enhance robustness.
In this arrangement, the physical plant is controlled at low frequencies, while the plant model is used at high frequencies to enhance robustness.
\begin{figure}[htbp]
\begin{subfigure}{0.48\textwidth}
@ -8589,7 +8589,7 @@ For simpler cases, the analytical formulas for complementary filters presented i
\item If \(K(s) = H_H^{-1}(s) G^{-1}(s)\) is not proper, add low-pass filters with sufficiently high corner frequencies to ensure realizability.
\end{enumerate}
To evaluate this control architecture, a simple test model representative of many synchrotron positioning stages is utilized (Figure~\ref{fig:detail_control_cf_test_model}).
To evaluate this control architecture, a simple test model representative of many synchrotron positioning stages is used (Figure~\ref{fig:detail_control_cf_test_model}).
In this model, a payload with mass \(m\) is positioned on top of a stage.
The objective is to accurately position the sample relative to the X-ray beam.
@ -8740,7 +8740,7 @@ Figure~\ref{fig:detail_instrumentation_plant} illustrates the control diagram wi
The selection process follows a three-stage methodology.
First, dynamic error budgeting is performed in Section~\ref{sec:detail_instrumentation_dynamic_error_budgeting} to establish maximum acceptable noise specifications for each instrumentation component (ADC, DAC, and voltage amplifier).
This analysis utilizes the multi-body model with a 2DoF APA model, focusing particularly on the vertical direction due to its more stringent requirements.
This analysis is based on the multi-body model with a 2DoF APA model, focusing particularly on the vertical direction due to its more stringent requirements.
From the calculated transfer functions, maximum acceptable amplitude spectral densities for each noise source are derived.
Section~\ref{sec:detail_instrumentation_choice} then presents the selection of appropriate components based on these noise specifications and additional requirements.
@ -9154,7 +9154,7 @@ The resulting amplifier noise amplitude spectral density \(\Gamma_{n_a}\) and th
\end{minipage}
\subsubsection{Digital to Analog Converters}
\paragraph{Output Voltage Noise}
To measure the output noise of the DAC, the setup schematically represented in Figure~\ref{fig:detail_instrumentation_dac_setup} was utilized.
To measure the output noise of the DAC, the setup schematically represented in Figure~\ref{fig:detail_instrumentation_dac_setup} was used.
The DAC was configured to output a constant voltage (zero in this case), and the gain of the pre-amplifier was adjusted such that the measured amplified noise was significantly larger than the noise of the ADC.
The Amplitude Spectral Density \(\Gamma_{n_{da}}(\omega)\) of the measured signal was computed, and verification was performed to confirm that the contributions of ADC noise and amplifier noise were negligible in the measurement.
@ -9267,9 +9267,7 @@ The noise profile exhibits characteristics of white noise with an amplitude of a
\subsubsection{Noise budgeting from measured instrumentation noise}
After characterizing all instrumentation components individually, their combined effect on the sample's vibration was assessed using the multi-body model developed earlier.
The vertical motion induced by the noise sources, specifically the ADC noise, DAC noise, and voltage amplifier noise, is presented in Figure~\ref{fig:detail_instrumentation_cl_noise_budget}.
The total motion induced by all noise sources combined is approximately \(1.5\,\text{nm RMS}\), which remains well within the specified limit of \(15\,\text{nm RMS}\).
This confirms that the selected instrumentation, with its measured noise characteristics, is suitable for the intended application.
@ -9299,12 +9297,256 @@ The combined effect of all noise sources was estimated to induce vertical sample
This rigorous methodology spanning requirement formulation, component selection, and experimental characterization validates the instrumentation's ability to fulfill the nano active stabilization system's demanding performance specifications.
\section{Obtained Design}
\label{sec:detail_design}
\begin{itemize}
\item Explain again the different specifications in terms of space, payload, etc..
\item CAD view of the nano-hexapod
\item Chosen geometry, materials, ease of mounting, cabling, \ldots{}
\item Validation on Simscape with accurate model?
\end{itemize}
The detailed mechanical design of the active platform, depicted in Figure~\ref{fig:detail_design_nano_hexapod_elements}, is presented in this section.
Several primary objectives guided the mechanical design.
First, to ensure a well-defined Jacobian matrix used in the control architecture, accurate positioning of the top flexible joint rotation points and correct orientation of the struts were required.
Secondly, space constraints necessitated that the entire platform fit within a cylinder with a radius of \(120\,\text{mm}\) and a height of \(95\,\text{mm}\).
Thirdly, because performance predicted by the multi-body model was fulfilling the requirements, the final design was intended to approximate the behavior of this ``idealized'' active platform as closely as possible.
This objective implies that the frequencies of (un-modelled) flexible modes potentially detrimental to control performance needed to be maximized.
Finally, considerations for ease of mounting, alignment, and maintenance were incorporated, specifically ensuring that struts could be easily replaced in the event of failure.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_nano_hexapod_elements.png}
\caption{\label{fig:detail_design_nano_hexapod_elements}Obtained mechanical design of the Active platform, the ``nano-hexapod''}
\end{figure}
\subsection{Mechanical Design}
\label{sec:detail_design_mechanics}
\paragraph{Struts}
The strut design, illustrated in Figure~\ref{fig:detail_design_strut}, was driven by several factors.
Stiff interfaces were required between the amplified piezoelectric actuator and the two flexible joints, as well as between the flexible joints and their respective mounting plates.
Due to the limited angular stroke of the flexible joints, it was critical that the struts could be assembled such that the two cylindrical interfaces were coaxial while the flexible joints remained in their unstressed, nominal rest position.
To facilitate this alignment, cylindrical washers (Figure~\ref{fig:detail_design_strut_without_enc}) were integrated into the design to compensate for potential deviations from perfect flatness between the two APA interface planes (Figure~\ref{fig:detail_design_apa}).
Furthermore, a dedicated mounting bench was developed to enable precise alignment of each strut, even when accounting for typical machining inaccuracies.
The mounting procedure is described in Section~\ref{sec:test_struts_mounting}.
Lastly, the design needed to permit the fixation of an encoder parallel to the strut axis, as shown in Figure~\ref{fig:detail_design_strut_with_enc}.
\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=0.9]{figs/detail_design_strut_without_enc.png}
\end{center}
\subcaption{\label{fig:detail_design_strut_without_enc}Before encoder integration}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=0.9]{figs/detail_design_strut_with_enc.png}
\end{center}
\subcaption{\label{fig:detail_design_strut_with_enc}With the mounted encoder}
\end{subfigure}
\caption{\label{fig:detail_design_strut}Design of the Nano-Hexapod struts. Before (\subref{fig:detail_design_strut_without_enc}) and after (\subref{fig:detail_design_strut_with_enc}) encoder integration.}
\end{figure}
The flexible joints, shown in Figure~\ref{fig:detail_design_flexible_joint}, were manufactured using wire-cut electrical discharge machining (EDM).
First, the part's inherent fragility, stemming from its \(0.25\,\text{mm}\) neck dimension, makes it susceptible to damage from cutting forces typical in classical machining.
Furthermore, wire-cut EDM allows for the very tight machining tolerances critical for achieving accurate location of the center of rotation relative to the plate interfaces (indicated by red surfaces in Figure~\ref{fig:detail_design_flexible_joint}) and for maintaining the correct neck dimensions necessary for the desired stiffness and angular stroke properties.
The material chosen for the flexible joints is a stainless steel designated \emph{X5CrNiCuNb16-4} (alternatively known as F16Ph).
This selection was based on its high specified yield strength (exceeding \(1\,\text{GPa}\) after appropriate heat treatment) and its high fatigue resistance.
As shown in Figure~\ref{fig:detail_design_flexible_joint}, the interface designed to connect with the APA possesses a cylindrical shape, facilitating the use of the aforementioned cylindrical washers for alignment.
A slotted hole was incorporated to permit alignment of the flexible joint with the APA via a dowel pin.
Additionally, two threaded holes were included on the sides for mounting the encoder components.
The interface connecting the flexible joint to the platform plates will be described subsequently.
Modifications to the standard mechanical interfaces of the APA300ML were requested from the manufacturer.
The modified design features two planar surfaces and a dowel hole for precise location and orientation, as illustrated in Figure~\ref{fig:detail_design_apa}.
\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/detail_design_flexible_joint.png}
\end{center}
\subcaption{\label{fig:detail_design_flexible_joint}Flexible joint}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/detail_design_apa.png}
\end{center}
\subcaption{\label{fig:detail_design_apa}Amplified Piezoelectric Actuator}
\end{subfigure}
\caption{\label{fig:detail_design_apa_joints}Two main components of the struts: the flexible joint (\subref{fig:detail_design_flexible_joint}) and the amplified piezoelectric actuator (\subref{fig:detail_design_apa}).}
\end{figure}
Accurate measurement of the relative displacement within each strut requires the encoders to sense the motion between the rotational centers of the two associated flexible joints.
To achieve this, two interface parts, fabricated from aluminum, were designed.
These parts serve to fix the encoder head and the associated scale (ruler) to the two flexible joints, as depicted in Figure~\ref{fig:detail_design_strut_with_enc}.
\paragraph{Plates}
The design of the top and bottom plates of the active platform was governed by two main requirements: maximizing the frequency of flexible modes and ensuring accurate positioning of the top flexible joints and well-defined orientation of the struts.
To maximize the natural frequencies associated with plate flexibility, a network of reinforcing ribs was incorporated into the design, as shown for the top plate in Figure~\ref{fig:detail_design_top_plate}.
Although topology optimization methods were considered, the implemented ribbed design was found to provide sufficiently high natural frequencies for the flexible modes.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,scale=1]{figs/detail_design_top_plate.png}
\caption{\label{fig:detail_design_top_plate}The mechanical design for the top platform incorporates precisely positioned V-grooves for the joint interfaces (displayed in red). The purpose of the encoder interface (shown in green) is detailed later.}
\end{figure}
The interfaces for the joints on the plates incorporate V-grooves (red planes in Figure~\ref{fig:detail_design_top_plate}).
The cylindrical portion of each flexible joint is constrained within its corresponding V-groove through two distinct line contacts, illustrated in Figure~\ref{fig:detail_design_fixation_flexible_joints}.
These grooves consequently serve to define the nominal orientation of the struts.
High machining accuracy for these features is essential to ensure that the flexible joints are in their neutral, unstressed state when the active platform is assembled.
\begin{figure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.99\linewidth]{figs/detail_design_fixation_flexible_joints.png}
\end{center}
\subcaption{\label{fig:detail_design_fixation_flexible_joints}Flexible Joint Clamping}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.99\linewidth]{figs/detail_design_location_top_flexible_joints.png}
\end{center}
\subcaption{\label{fig:detail_design_location_top_flexible_joints}Top positioning}
\end{subfigure}
\begin{subfigure}{0.33\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.99\linewidth]{figs/detail_design_location_bot_flex.png}
\end{center}
\subcaption{\label{fig:detail_design_location_bot_flex}Bottom Positioning}
\end{subfigure}
\caption{\label{fig:detail_design_fixation_flexible_joints_platform}Fixation of the flexible points to the nano-hexapod plates. Both top and bottom flexible joints are clamped to the plates as shown in (\subref{fig:detail_design_fixation_flexible_joints}). While the top flexible joint is in contact with the top plate for precise positioning of its center of rotation (\subref{fig:detail_design_location_top_flexible_joints}), the bottom joint is just oriented (\subref{fig:detail_design_location_bot_flex}).}
\end{figure}
Furthermore, the flat interface surface of each top flexible joint is designed to be in direct contact with the top platform surface, as shown in Figure~\ref{fig:detail_design_location_top_flexible_joints}.
This contact ensures that the centers of rotation of the top flexible joints, are precisely located relative to the top platform coordinate system.
The bottom flexible joints, however, are primarily oriented by the V-grooves without the same precise positional constraint against the bottom plate, as shown in Figure~\ref{fig:detail_design_location_bot_flex}.
Both plates were specified to be manufactured from a martensitic stainless steel, X30Cr13.
This material was selected primarily for its high hardness, which minimizes the risk of deformation of the reference surfaces during the clamping of the flexible joints.
This characteristic is expected to permit repeated assembly and disassembly of the struts, should maintenance or reconfiguration be necessary.
\paragraph{Finite Element Analysis}
A finite element analysis (FEA) of the complete active platform assembly was performed to identify modes that could potentially affect performance.
The analysis revealed that the first six modes correspond to ``suspension'' modes, where the top plate effectively moves as a rigid body, and motion primarily involves axial displacement of the six struts (an example is shown in Figure~\ref{fig:detail_design_fem_rigid_body_mode}).
Following these suspension modes, numerous ``local'' modes associated with the struts themselves were observed in the frequency range between \(205\,\text{Hz}\) and \(420\,\text{Hz}\).
One such mode is represented in Figure~\ref{fig:detail_design_fem_strut_mode}.
Although these modes do not appear to induce significant motion of the top platform, they do cause relative displacement between the encoder components (head and scale) mounted on the strut.
Consequently, such modes could potentially degrade control performance if the active platform's position is regulated using these encoder measurements.
The extent to which these modes might be detrimental is difficult to establish at this stage, as it depends on whether they are significantly excited by the APA actuation and their sensitivity to strut alignment.
Finally, the FEA indicated that flexible modes of the top plate itself begin to appear at frequencies above \(650\,\text{Hz}\), with the first such mode shown in Figure~\ref{fig:detail_design_fem_plate_mode}.
\begin{figure}[htbp]
\begin{subfigure}{0.36\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_fem_rigid_body_mode.jpg}
\end{center}
\subcaption{\label{fig:detail_design_fem_rigid_body_mode}Suspension mode}
\end{subfigure}
\begin{subfigure}{0.36\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_fem_strut_mode.jpg}
\end{center}
\subcaption{\label{fig:detail_design_fem_strut_mode}Strut - Local mode}
\end{subfigure}
\begin{subfigure}{0.26\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_fem_plate_mode.jpg}
\end{center}
\subcaption{\label{fig:detail_design_fem_plate_mode}Top plate mode}
\end{subfigure}
\caption{\label{fig:detail_design_fem_nano_hexapod}Measurement of strut flexible modes. First six modes are ``suspension'' modes in which the top plate behaves as a rigid body (\subref{fig:detail_design_fem_rigid_body_mode}). Then modes of the struts have natural frequencies from \(205\,\text{Hz}\) to \(420\,\text{Hz}\) (\subref{fig:detail_design_fem_strut_mode}). Finally, the first flexible mode of the top plate is at \(650\,\text{Hz}\) (\subref{fig:detail_design_fem_plate_mode})}
\end{figure}
\paragraph{Alternative Encoder Placement}
In anticipation of potential issues arising from the local modes of the struts affecting encoder measurements, an alternative fixation strategy for the encoders was designed.
In this configuration, the encoders are fixed directly to the top and bottom plates instead of the struts, as illustrated in Figure~\ref{fig:detail_design_enc_plates_design}.
\begin{figure}[htbp]
\begin{subfigure}{0.59\textwidth}
\begin{center}
\includegraphics[scale=1,height=5cm]{figs/detail_design_enc_plates.jpg}
\end{center}
\subcaption{\label{fig:detail_design_enc_plates}Nano-Hexapod with encoders fixed to the plates}
\end{subfigure}
\begin{subfigure}{0.39\textwidth}
\begin{center}
\includegraphics[scale=1,height=5cm]{figs/detail_design_encoders_plates.jpg}
\end{center}
\subcaption{\label{fig:detail_design_encoders_plates}Zoom on encoder fixation}
\end{subfigure}
\caption{\label{fig:detail_design_enc_plates_design}Alternative way of using the encoders: they are fixed directly to the plates.}
\end{figure}
Dedicated supports, machined from aluminum, were designed for this purpose.
It was verified through FEA that the natural modes of these supports occur at frequencies sufficiently high (first mode estimated at \(1120\,\text{Hz}\)) to not be problematic for control.
Precise positioning of these encoder supports is achieved through machined pockets in both the top and bottom plates, visible in Figure~\ref{fig:detail_design_top_plate} (indicated in green).
Although the encoders in this arrangement are aligned parallel to the nominal strut axes, they no longer measure the exact relative displacement along the strut between the flexible joint centers.
This geometric discrepancy implies that if the relative motion control of the active platform is based directly on these encoder readings, the kinematic calculations may be slightly inaccurate, potentially affecting the overall positioning accuracy of the platform.
\subsection{Multi-Body Model}
\label{sec:detail_design_model}
Prior to the procurement of mechanical components, the multi-body simulation model of the active platform was refined to incorporate the finalized design geometries.
Two distinct configurations, corresponding to the two encoder mounting strategies discussed previously, were considered in the model, as displayed in Figure~\ref{fig:detail_design_simscape}: one with encoders fixed to the struts, and another with encoders fixed to the plates.
In these models, the top and bottom plates were represented as rigid bodies, with their inertial properties calculated directly from the 3D CAD geometry.
\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_simscape_encoder_struts.png}
\end{center}
\subcaption{\label{fig:detail_design_simscape_encoder_struts}Encoders fixed to the struts}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_simscape_encoder_plates.png}
\end{center}
\subcaption{\label{fig:detail_design_simscape_encoder_plates}Encoders fixed to the plates}
\end{subfigure}
\caption{\label{fig:detail_design_simscape}3D representation of the multi-body model. There are two configurations: encoders fixed to the struts (\subref{fig:detail_design_simscape_encoder_struts}) and encoders fixed to the plates (\subref{fig:detail_design_simscape_encoder_plates}).}
\end{figure}
\paragraph{Flexible Joints}
Several levels of detail were considered for modeling the flexible joints within the multi-body model.
Models with two degrees of freedom incorporating only bending stiffnesses, models with three degrees of freedom adding torsional stiffness, and models with four degrees of freedom further adding axial stiffness were evaluated.
The multi-body representation corresponding to the 4DoF configuration is shown in Figure~\ref{fig:detail_design_simscape_model_flexible_joint}.
This model is composed of three distinct solid bodies interconnected by joints, whose stiffness properties were derived from finite element analysis of the joint component.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,scale=1]{figs/detail_design_simscape_model_flexible_joint.png}
\caption{\label{fig:detail_design_simscape_model_flexible_joint}4DoF multi-body model of the flexible joints}
\end{figure}
\paragraph{Amplified Piezoelectric Actuators}
The amplified piezoelectric actuators (APAs) were incorporated into the multi-body model following the methodology detailed in Section~\ref{sec:detail_fem_actuator}.
Two distinct representations of the APA can be utilized within the simulation: a simplified 2DoF model capturing the axial behavior, or a more complex ``Reduced Order Flexible Body'' model derived from a finite element model.
\paragraph{Encoders}
In earlier modeling stages, the relative displacement sensors (encoders) were implemented as a direct measurement of the relative distance between the joint connection points \(\bm{a}_i\) and \(\bm{b}_i\).
However, as indicated by the FEA results discussed previously, the flexible modes inherent to the struts could potentially affect the encoder measurement.
Therefore, a more sophisticated model of the optical encoder was necessary.
The optical encoders operate based on the interaction between an encoder head and a graduated scale or ruler.
The optical encoder head contains a light source that illuminates the ruler.
A reference frame \(\{E\}\) fixed to the scale, represents the the light position on the scale, as illustrated in Figure~\ref{fig:detail_design_simscape_encoder_model}.
The ruler features a precise grating pattern (in this case, with a \(20\,\mu m\) pitch), and its position is associated with the reference frame \(\{R\}\).
The displacement measured by the encoder corresponds to the relative position of the encoder frame \(\{E\}\) (specifically, the point where the light interacts with the scale) with respect to the ruler frame \(\{R\}\), projected along the measurement direction defined by the scale.
An important consequence of this measurement principle is that a relative rotation between the encoder head and the ruler, as depicted conceptually in Figure~\ref{fig:detail_design_simscape_encoder_disp}, can induce a measured displacement.
\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/detail_design_simscape_encoder.png}
\end{center}
\subcaption{\label{fig:detail_design_simscape_encoder}Aligned encoder and ruler}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,scale=1]{figs/detail_design_simscape_encoder_disp.png}
\end{center}
\subcaption{\label{fig:detail_design_simscape_encoder_disp}Rotation of the encoder head}
\end{subfigure}
\caption{\label{fig:detail_design_simscape_encoder_model}Representation of the encoder model in the multi-body model. Measurement \(d_i\) corresponds to the \(x\) position of the encoder frame \(\{E\}\) expresssed in the ruller frame \(\{R\}\) (\subref{fig:detail_design_simscape_encoder}). A rotation of the encoder therefore induces a measured displacement (\subref{fig:detail_design_simscape_encoder_disp}).}
\end{figure}
\paragraph{Validation of the designed active platform}
The refined multi-body model of the active platform was integrated into the multi-body micro-station model.
Dynamical analysis was performed, confirming that the platform's behavior closely approximates the dynamics of the ``idealized'' model used during the conceptual design phase.
Consequently, closed-loop performance simulations replicating tomography experiments yielded metrics highly comparable to those previously predicted (as presented in Section~\ref{ssec:nass_hac_tomography}).
Given this similarity and because analogous simulations are conducted and detailed during the experimental validation phase (Section~\ref{sec:test_id31_hac}), these specific results are not reiterated here.
\section*{Detailed Design - Conclusion}
\label{sec:detail_conclusion}
@ -9938,7 +10180,7 @@ This indicates that this model represents well the axial dynamics of the APA300M
In this section, a \emph{super element} of the APA300ML is computed using a finite element software\footnote{Ansys\textsuperscript{\textregistered} was used}.
It is then imported into multi-body (in the form of a stiffness matrix and a mass matrix) and included in the same model that was used in~\ref{sec:test_apa_model_2dof}.
This procedure is illustrated in Figure~\ref{fig:test_apa_super_element_simscape}.
Several \emph{remote points} are defined in the finite element model (here illustrated by colorful planes and numbers from \texttt{1} to \texttt{5}) and are then made accessible in Simscape as shown at the right by the ``frames'' \texttt{F1} to \texttt{F5}.
Several \emph{remote points} are defined in the finite element model (here illustrated by colorful planes and numbers from \texttt{1} to \texttt{5}) and are then made accessible in the multi-body software as shown at the right by the ``frames'' \texttt{F1} to \texttt{F5}.
For the APA300ML \emph{super element}, 5 \emph{remote points} are defined.
Two \emph{remote points} (\texttt{1} and \texttt{2}) are fixed to the top and bottom mechanical interfaces of the APA300ML and will be used to connect the APA300ML with other mechanical elements.
@ -9948,7 +10190,7 @@ Finally, two \emph{remote points} (\texttt{4} and \texttt{5}) are located across
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=1.0\linewidth]{figs/test_apa_super_element_simscape.png}
\caption{\label{fig:test_apa_super_element_simscape}Finite Element Model of the APA300ML with ``remotes points'' on the left. Simscape model with included ``Reduced Order Flexible Solid'' on the right.}
\caption{\label{fig:test_apa_super_element_simscape}Finite Element Model of the APA300ML with ``remotes points'' on the left. Multi-Body model with included ``Reduced Order Flexible Solid'' on the right (here in Simulink-Simscape software).}
\end{figure}
\paragraph{Identification of the Actuator and Sensor constants}
@ -12503,7 +12745,7 @@ Within the Speedgoat, the system computes the positioning error by comparing the
The scanning range is constrained \(\pm 100\,\mu m\) due to the limited acceptance of the metrology system.
\paragraph{Slow scan}
Initial testing utilized a scanning velocity of \(10\,\mu m/s\), which is typical for these experiments.
Initial testing were made with a scanning velocity of \(10\,\mu m/s\), which is typical for these experiments.
Figure~\ref{fig:test_id31_dy_10ums} compares the positioning errors between open-loop (without NASS) and closed-loop operation.
In the scanning direction, open-loop measurements reveal periodic errors (Figure~\ref{fig:test_id31_dy_10ums_dy}) attributable to the \(T_y\) stage's stepper motor.
These micro-stepping errors, which are inherent to stepper motor operation, occur 200 times per motor rotation with approximately \(1\,\text{mrad}\) angular error amplitude.
@ -12571,7 +12813,7 @@ For applications requiring small \(D_y\) scans, the nano-hexapod can be used exc
In diffraction tomography experiments, the micro-station performs combined motions: continuous rotation around the \(R_z\) axis while performing lateral scans along \(D_y\).
For this validation, the spindle maintained a constant rotational velocity of \(6\,\text{deg/s}\) while the nano-hexapod performs the lateral scanning motion.
To avoid high-frequency vibrations typically induced by the stepper motor, the \(T_y\) stage was not utilized, which constrained the scanning range to approximately \(\pm 100\,\mu m/s\).
To avoid high-frequency vibrations typically induced by the stepper motor, the \(T_y\) stage was not used, which constrained the scanning range to approximately \(\pm 100\,\mu m/s\).
The system performance was evaluated at three lateral scanning velocities: \(0.1\,mm/s\), \(0.5\,mm/s\), and \(1\,mm/s\). Figure~\ref{fig:test_id31_diffraction_tomo_setpoint} presents both the \(D_y\) position setpoints and the corresponding measured \(D_y\) positions for all tested velocities.
\begin{figure}[htbp]
@ -12610,7 +12852,7 @@ Alternatively, a feedforward controller could improve the lateral positioning ac
\subsubsection{Feedback control using Complementary Filters}
\label{ssec:test_id31_cf_control}
A control architecture utilizing complementary filters to shape the closed-loop transfer functions was proposed during the detail design phase.
A control architecture based on complementary filters to shape the closed-loop transfer functions was proposed during the detail design phase.
Experimental validation of this architecture using the NASS is presented herein.
Given that performance requirements are specified in the Cartesian frame, decoupling of the plant within this frame was achieved using Jacobian matrices.
@ -12748,7 +12990,7 @@ Moreover, the systematic approach to system development and validation, along wi
\section*{Experimental Validation - Conclusion}
\label{sec:test_conclusion}
The experimental validation detailed in this chapter confirms that the Nano Active Stabilization System successfully augments the positioning capabilities of the micro-station, thereby enabling full utilization of the ESRF's new light source potential.
The experimental validation detailed in this chapter confirms that the Nano Active Stabilization System successfully augments the positioning capabilities of the micro-station, thereby enabling full use of the ESRF's new light source potential.
A methodical approach was employed—first characterizing individual components and subsequently testing the integrated system—to comprehensively evaluate the NASS performance.
Initially, the Amplified Piezoelectric Actuators (APA300ML) were characterized, revealing consistent mechanical and electrical properties across multiple units.
@ -12791,20 +13033,21 @@ Through progressive modeling, from simplified uniaxial representations to comple
It was determined that an active platform with moderate stiffness offered an optimal compromise, decoupling the system from micro-station dynamics while mitigating gyroscopic effects from continuous rotation.
The multi-body modeling approach, informed by experimental modal analysis of the micro-station, was essential for capturing the system's complex dynamics.
The Stewart platform architecture was selected for the active stage, and its viability was confirmed through closed-loop simulations employing a High-Authority Control / Low-Authority Control (HAC-LAC) strategy.
This strategy incorporated a modified form of Integral Force Feedback (IFF), adapted to provide robust active damping despite the platform rotation and varying payloads.
This strategy used a modified form of Integral Force Feedback (IFF), adapted to provide robust active damping despite the platform rotation and varying payloads.
These simulations demonstrated the NASS concept could meet the nanometer-level stability requirements under realistic operating conditions.
Following the conceptual validation, the detailed design phase focused on translating the NASS concept into an optimized, physically realizable system.
Geometric optimization studies refined the Stewart platform configuration.
A hybrid modeling technique combining Finite Element Analysis (FEA) with multi-body dynamics simulation was applied and experimentally validated.
This approach enabled detailed optimization of components, such as amplified piezoelectric actuators and flexible joints, while efficiently simulating the complete system dynamics.
This approach enabled detailed optimization of components, such as Amplified Piezoelectric Actuators (APA) and flexible joints, while efficiently simulating the complete system dynamics.
By dedicating one stack of the APA specifically to force sensing, excellent collocation with the actuator stacks was achieved, which is critical for implementing robust decentralized IFF.
Work was also undertaken on the optimization of the control strategy for the active platform.
Instrumentation selection (sensors, actuators, control hardware) was guided by dynamic error budgeting to ensure component noise levels met the overall nanometer-level performance target.
The final phase of the project was dedicated to the experimental validation of the developed NASS.
Component tests confirmed the performance of the selected actuators and flexible joints, validated their respective models.
Dynamic testing of the assembled nano-hexapod on an isolated test bench provided essential experimental data that correlated well with the predictions of the multi-body model.
The final validation was performed on the ID31 beamline, utilizing a short-stroke metrology system to assess performance under realistic experimental conditions.
The final validation was performed on the ID31 beamline, using a short-stroke metrology system to assess performance under realistic experimental conditions.
These tests demonstrated that the NASS, operating with the implemented HAC-LAC control architecture, successfully achieved the target positioning stability maintaining residual errors below \(30\,\text{nm RMS}\) laterally, \(15\,\text{nm RMS}\) vertically, and \(250\,\text{nrad RMS}\) in tilt during various experiments, including tomography scans with significant payloads.
Crucially, the system's robustness to variations in payload mass and operational modes was confirmed.
\section{Perspectives}
@ -12815,8 +13058,8 @@ Although this research successfully validated the NASS concept, it concurrently
The manual tuning process employed to match the multi-body model dynamics with experimental measurements was found to be laborious.
Systems like the micro-station can be conceptually modeled as interconnected solid bodies, springs, and dampers, with component inertia readily obtainable from CAD models.
An interesting perspective is the development of methods for the automatic tuning of the multi-body model's stiffness matrix (representing the interconnecting spring stiffnesses) directly from experimental modal analysis data.
Such a capability would enable the rapid generation of accurate dynamic models for existing end-stations, which could subsequently be utilized for detailed system analysis and simulation studies.
\paragraph{Better addressing plant uncertainty coming from a change of payload}
Such a capability would enable the rapid generation of accurate dynamic models for existing end-stations, which could subsequently be used for detailed system analysis and simulation studies.
\paragraph{Better addressing plant uncertainty from a change of payload}
For most high-performance mechatronic systems like lithography machines or atomic force microscopes, payloads inertia are often known and fixed, allowing controllers to be precisely optimized.
However, synchrotron end-stations frequently handle samples with widely varying masses and inertias ID31 being an extreme example, but many require nanometer positioning for samples from very light masses up to 5kg.
@ -12830,7 +13073,7 @@ Potential strategies to be explored include adaptive control (involving automati
\paragraph{Control based on Complementary Filters}
The control architecture based on complementary filters (detailed in Section \ref{sec:detail_control_cf}) has been successfully implemented in several instruments at the ESRF.
This approach has proven straightforward to implement and offers the valuable capability of modifying closed-loop behavior in real time, which proves advantageous for many applications.
This approach has proven to be straightforward to implement and offers the valuable capability of modifying closed-loop behavior in real time, which proves advantageous for many applications.
For instance, the controller can be optimized according to the scan type: constant velocity scans benefit from a \(+2\) slope for the sensitivity transfer function, while ptychography may be better served by a \(+1\) slope with slightly higher bandwidth to minimize point-to-point transition times.
Nevertheless, a more rigorous analysis of this control architecture and its comparison with similar approaches documented in the literature is necessary to fully understand its capabilities and limitations.
@ -12839,7 +13082,7 @@ Nevertheless, a more rigorous analysis of this control architecture and its comp
While the HAC-LAC approach demonstrated a simple and comprehensive methodology for controlling the NASS, sensor fusion represents an interesting alternative that is worth investigating.
While the synthesis method developed for complementary filters facilitates their design (Section \ref{sec:detail_control_sensor}), their application specifically for sensor fusion within the NASS context was not examined in detail.
One potential approach involves fusing external metrology (utilized at low frequencies) with force sensors (employed at high frequencies).
One potential approach involves fusing external metrology (used at low frequencies) with force sensors (employed at high frequencies).
This configuration could enhance robustness through the collocation of force sensors with actuators.
The integration of encoder feedback into the control architecture could also be explored.
\paragraph{Development of multi-DoF metrology systems}
@ -12852,10 +13095,10 @@ Yet, the development of such metrology systems is considered critical for future
Promising approaches have been presented in the literature.
A ball lens retroreflector is used in \cite{schropp20_ptynam}, providing a \(\approx 1\,\text{mm}^3\) measuring volume, but does not fully accommodate complete rotation.
In \cite{geraldes23_sapot_carnaub_sirius_lnls}, an interesting metrology approach is presented, utilizing interferometers for long stroke/non-rotated movements and capacitive sensors for short stroke/rotated positioning.
In \cite{geraldes23_sapot_carnaub_sirius_lnls}, an interesting metrology approach is presented, using interferometers for long stroke/non-rotated movements and capacitive sensors for short stroke/rotated positioning.
\paragraph{Alternative Architecture for the NASS}
The original micro-station design was driven by optimizing positioning accuracy, utilizing dedicated actuators for different DoFs (leading to simple kinematics and a stacked configuration), and maximizing stiffness.
The original micro-station design was driven by optimizing positioning accuracy, using dedicated actuators for different DoFs (leading to simple kinematics and a stacked configuration), and maximizing stiffness.
This design philosophy ensured that the micro-station would remain functional for micro-focusing applications even if the NASS project did not meet expectations.
Analyzing the NASS as an complete system reveals that the positioning accuracy is primarily determined by the metrology system and the feedback control.
@ -12863,7 +13106,7 @@ Consequently, the underlying micro-station's own positioning accuracy has minima
Nevertheless, it remains crucial that the micro-station itself does not generate detrimental high-frequency vibrations, particularly during movements, as evidenced by issues previously encountered with stepper motors.
Designing a future end-station with the understanding that a functional NASS will ensure final positioning accuracy could allow for a significantly simplified long-stroke stage architecture, perhaps chosen primarily to facilitate the integration of the online metrology.
One possible configuration, illustrated in Figure \ref{fig:conclusion_nass_architecture}, would comprise a long-stroke Stewart platform providing the required mobility without generating high-frequency vibrations; a spindle that need not deliver exceptional performance but should be stiff and avoid inducing high-frequency vibrations (an air-bearing spindle might not be essential); and a short-stroke Stewart platform for correcting errors from the long-stroke stage and spindle.
One possible configuration, illustrated in Figure \ref{fig:conclusion_nass_architecture}, would comprise a long-stroke Stewart platform providing the required mobility without generating high-frequency vibrations; a spindle that needs not deliver exceptional performance but should be stiff and avoid inducing high-frequency vibrations (an air-bearing spindle might not be essential); and a short-stroke Stewart platform for correcting errors from the long-stroke stage and spindle.
\begin{figure}[htbp]
\centering
@ -12902,7 +13145,7 @@ However, implementations of such magnetic levitation stages on synchrotron beaml
The application of dynamic error budgeting and the mechatronic design approach to an entire beamline represents an interesting direction for future work.
During the early design phases of a beamline, performance metrics are typically expressed as integrated values (usually RMS values) rather than as functions of frequency.
However, the frequency content of these performance metrics (such as beam stability, energy stability, and sample stability) is crucial, as factors like detector integration time can filter out high-frequency components.
Therefore, adopting a design approach utilizing dynamic error budgets, cascading from overall beamline requirements down to individual component specifications, is considered a potentially valuable direction for future investigation.
Therefore, adopting a design approach using dynamic error budgets, cascading from overall beamline requirements down to individual component specifications, is considered a potentially valuable direction for future investigation.
\printbibliography[heading=bibintoc,title={Bibliography}]
\chapter*{List of Publications}
\begin{refsection}[ref.bib]