Finish draft
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 647 KiB After Width: | Height: | Size: 497 KiB |
Before Width: | Height: | Size: 706 KiB After Width: | Height: | Size: 518 KiB |
BIN
figs/detail_design_enc_support_mode_1.jpg
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
figs/detail_design_enc_support_mode_2.jpg
Normal file
After Width: | Height: | Size: 7.6 KiB |
BIN
figs/detail_design_enc_support_mode_3.jpg
Normal file
After Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 303 KiB |
Before Width: | Height: | Size: 219 KiB |
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 310 KiB After Width: | Height: | Size: 374 KiB |
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 150 KiB |
BIN
figs/detail_design_strut_with_enc.png
Normal file
After Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 145 KiB |
BIN
figs/detail_design_strut_without_enc.png
Normal file
After Width: | Height: | Size: 46 KiB |
@ -25,8 +25,8 @@
|
|||||||
inkscape:deskcolor="#d1d1d1"
|
inkscape:deskcolor="#d1d1d1"
|
||||||
inkscape:document-units="mm"
|
inkscape:document-units="mm"
|
||||||
inkscape:zoom="4.1691919"
|
inkscape:zoom="4.1691919"
|
||||||
inkscape:cx="147.15082"
|
inkscape:cx="96.54149"
|
||||||
inkscape:cy="80.591157"
|
inkscape:cy="91.864325"
|
||||||
inkscape:window-width="2534"
|
inkscape:window-width="2534"
|
||||||
inkscape:window-height="1367"
|
inkscape:window-height="1367"
|
||||||
inkscape:window-x="11"
|
inkscape:window-x="11"
|
||||||
@ -35,6 +35,25 @@
|
|||||||
inkscape:current-layer="layer1" />
|
inkscape:current-layer="layer1" />
|
||||||
<defs
|
<defs
|
||||||
id="defs1">
|
id="defs1">
|
||||||
|
<marker
|
||||||
|
style="overflow:visible"
|
||||||
|
id="marker5"
|
||||||
|
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="path5" />
|
||||||
|
</marker>
|
||||||
<marker
|
<marker
|
||||||
style="overflow:visible"
|
style="overflow:visible"
|
||||||
id="ConcaveTriangle"
|
id="ConcaveTriangle"
|
||||||
@ -83,13 +102,13 @@
|
|||||||
clip-path="url(#clipPath2)"
|
clip-path="url(#clipPath2)"
|
||||||
transform="matrix(3.0087207,0,0,3.0087207,86.11515,158.1167)" />
|
transform="matrix(3.0087207,0,0,3.0087207,86.11515,158.1167)" />
|
||||||
<path
|
<path
|
||||||
|
id="path10"
|
||||||
style="font-variation-settings:normal;vector-effect:none;fill:#0072bd;fill-opacity:0.5;stroke:none;stroke-width:0.0264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
|
style="font-variation-settings:normal;vector-effect:none;fill:#0072bd;fill-opacity:0.5;stroke:none;stroke-width:0.0264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
|
||||||
d="m -71.296934,201.03566 -6.09694,1.02747 0.0097,-9.36351 0.164782,-0.32956 5.757683,-1.01778 0.193862,0.31018 z"
|
d="m -71.461785,191.35215 -5.757788,1.01802 -0.164847,0.3297 -0.0093,9.36325 6.096785,-1.02733 0.02894,-9.37358 z m -2.890779,1.14205 a 0.45701271,0.91823798 0 0 1 0.456819,0.91829 0.45701271,0.91823798 0 0 1 -0.456819,0.91829 0.45701271,0.91823798 0 0 1 -0.45682,-0.91829 0.45701271,0.91823798 0 0 1 0.45682,-0.91829 z" />
|
||||||
id="path10" />
|
|
||||||
<path
|
<path
|
||||||
|
id="path11"
|
||||||
style="font-variation-settings:normal;vector-effect:none;fill:#0072bd;fill-opacity:0.5;stroke:none;stroke-width:0.0264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
|
style="font-variation-settings:normal;vector-effect:none;fill:#0072bd;fill-opacity:0.5;stroke:none;stroke-width:0.0264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
|
||||||
d="m -77.38224,220.94413 2.488014,0.10281 3.639492,-0.65799 -0.0068,8.76631 -0.21933,0.37698 -5.681995,1.00754 -0.226183,-0.21933 z"
|
d="m -71.254562,220.38914 -3.639571,0.65784 -2.48822,-0.10284 -0.0067,9.37617 0.226342,0.21963 5.681824,-1.00769 0.219625,-0.37724 z m -3.067513,7.17992 a 0.45701271,0.91823798 0 0 1 0.457336,0.91829 0.45701271,0.91823798 0 0 1 -0.457336,0.91829 0.45701271,0.91823798 0 0 1 -0.45682,-0.91829 0.45701271,0.91823798 0 0 1 0.45682,-0.91829 z" />
|
||||||
id="path11" />
|
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';stroke-width:0.264583"
|
style="font-size:4.23333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';stroke-width:0.264583"
|
||||||
@ -110,5 +129,33 @@
|
|||||||
style="fill:none;stroke:#0072bd;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ConcaveTriangle)"
|
style="fill:none;stroke:#0072bd;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#ConcaveTriangle)"
|
||||||
d="m -86.203959,197.46907 h 5.394231"
|
d="m -86.203959,197.46907 h 5.394231"
|
||||||
id="path2" />
|
id="path2" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:3.52777px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';text-align:center;text-anchor:middle;stroke-width:0.264583"
|
||||||
|
x="-65.110039"
|
||||||
|
y="215.99568"
|
||||||
|
id="text3"
|
||||||
|
transform="rotate(3.0200656)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan3"
|
||||||
|
style="stroke-width:0.264583"
|
||||||
|
x="-65.110039"
|
||||||
|
y="215.99568">Piezoelectric Stacks</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:3.52777px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';text-align:center;text-anchor:middle;stroke-width:0.264583"
|
||||||
|
x="-55.753853"
|
||||||
|
y="194.61722"
|
||||||
|
id="text4"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4"
|
||||||
|
style="stroke-width:0.264583"
|
||||||
|
x="-55.753853"
|
||||||
|
y="194.61722">Dowel Hole</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5)"
|
||||||
|
d="m -65.070754,193.41249 h -7.237491"
|
||||||
|
id="path4"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 893 KiB After Width: | Height: | Size: 895 KiB |
@ -24,17 +24,49 @@
|
|||||||
inkscape:pagecheckerboard="0"
|
inkscape:pagecheckerboard="0"
|
||||||
inkscape:deskcolor="#d1d1d1"
|
inkscape:deskcolor="#d1d1d1"
|
||||||
inkscape:document-units="mm"
|
inkscape:document-units="mm"
|
||||||
inkscape:zoom="2"
|
inkscape:zoom="4"
|
||||||
inkscape:cx="16.25"
|
inkscape:cx="99.125"
|
||||||
inkscape:cy="145.5"
|
inkscape:cy="141"
|
||||||
inkscape:window-width="2534"
|
inkscape:window-width="2534"
|
||||||
inkscape:window-height="1367"
|
inkscape:window-height="1367"
|
||||||
inkscape:window-x="11"
|
inkscape:window-x="11"
|
||||||
inkscape:window-y="60"
|
inkscape:window-y="60"
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
inkscape:current-layer="layer1" /><defs
|
inkscape:current-layer="g10" /><defs
|
||||||
id="defs1"><marker
|
id="defs1"><marker
|
||||||
style="overflow:visible"
|
style="overflow:visible"
|
||||||
|
id="marker12"
|
||||||
|
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="path12" /></marker><marker
|
||||||
|
style="overflow:visible"
|
||||||
|
id="marker10"
|
||||||
|
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="path10" /></marker><marker
|
||||||
|
style="overflow:visible"
|
||||||
id="marker19"
|
id="marker19"
|
||||||
refX="0"
|
refX="0"
|
||||||
refY="0"
|
refY="0"
|
||||||
@ -210,4 +242,61 @@
|
|||||||
style="fill:none;stroke:#d95319;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="fill:none;stroke:#d95319;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
d="m 23.584217,15.96446 h 5.702702"
|
d="m 23.584217,15.96446 h 5.702702"
|
||||||
id="path18"
|
id="path18"
|
||||||
sodipodi:nodetypes="cc" /></g></svg>
|
sodipodi:nodetypes="cc" /><ellipse
|
||||||
|
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#77ac30;fill-opacity:0.5;stroke:none;stroke-width:0.0264594;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
|
||||||
|
id="path1"
|
||||||
|
cx="-1.1421245"
|
||||||
|
cy="40.597565"
|
||||||
|
rx="0.71269101"
|
||||||
|
ry="0.97389603"
|
||||||
|
transform="matrix(0.97743166,-0.21125188,0.19903032,0.97999333,0,0)" /><ellipse
|
||||||
|
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#77ac30;fill-opacity:0.5;stroke:none;stroke-width:0.0264594;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
|
||||||
|
id="ellipse1"
|
||||||
|
cx="-2.4878345"
|
||||||
|
cy="47.35318"
|
||||||
|
rx="0.71269101"
|
||||||
|
ry="0.97389603"
|
||||||
|
transform="matrix(0.97743166,-0.21125188,0.19903032,0.97999333,0,0)" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:3.52777px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';text-align:center;text-anchor:middle;fill:#77ac30;stroke-width:0.264583"
|
||||||
|
x="-1.0059677"
|
||||||
|
y="42.043705"
|
||||||
|
id="text2"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan1"
|
||||||
|
style="text-align:end;text-anchor:end;fill:#77ac30;stroke-width:0.264583"
|
||||||
|
x="-1.0059682"
|
||||||
|
y="42.043705">Encoder</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="text-align:end;text-anchor:end;fill:#77ac30;stroke-width:0.264583"
|
||||||
|
x="-1.0059679"
|
||||||
|
y="46.453419"
|
||||||
|
id="tspan2">Interface</tspan></text><g
|
||||||
|
id="g10"><path
|
||||||
|
style="fill:none;stroke:#77ac30;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker10)"
|
||||||
|
d="M -0.159837,43.513923 H 3.2137187 L 4.963948,41.810536"
|
||||||
|
id="path2"
|
||||||
|
sodipodi:nodetypes="ccc" /><path
|
||||||
|
style="fill:none;stroke:#77ac30;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker10)"
|
||||||
|
d="M 3.2137186,43.513923 4.963948,45.21731"
|
||||||
|
id="path3"
|
||||||
|
sodipodi:nodetypes="cc" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker-end:url(#marker12)"
|
||||||
|
d="m 0.1556489,30.452929 h 5.5865204 l 7.4367737,7.144313"
|
||||||
|
id="path11"
|
||||||
|
sodipodi:nodetypes="ccc" /></g><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:3.52777px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';text-align:center;text-anchor:middle;stroke-width:0.264583"
|
||||||
|
x="-1.0024418"
|
||||||
|
y="29.47221"
|
||||||
|
id="text4"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4"
|
||||||
|
style="text-align:end;text-anchor:end;stroke-width:0.264583"
|
||||||
|
x="-1.0024421"
|
||||||
|
y="29.47221">Slotted</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="text-align:end;text-anchor:end;stroke-width:0.264583"
|
||||||
|
x="-1.0024419"
|
||||||
|
y="33.881924"
|
||||||
|
id="tspan10">Hole</tspan></text></g></svg>
|
||||||
|
Before Width: | Height: | Size: 955 KiB After Width: | Height: | Size: 959 KiB |
Before Width: | Height: | Size: 2.5 MiB After Width: | Height: | Size: 528 KiB |
122
figs/inkscape/detail_design_strut_with_enc.svg
Normal file
After Width: | Height: | Size: 196 KiB |
85
figs/inkscape/detail_design_strut_without_enc.svg
Normal file
After Width: | Height: | Size: 188 KiB |
289
nass-design.org
@ -252,29 +252,43 @@ CLOSED: [2025-04-21 Mon 14:13]
|
|||||||
[[file:figs/detail_design_nano_hexapod_elements.png]]
|
[[file:figs/detail_design_nano_hexapod_elements.png]]
|
||||||
|
|
||||||
|
|
||||||
*Design goals*:
|
Detail design phase:
|
||||||
- Position =bi= and =si=
|
- key elements were optimized such as: actuator and flexible joints
|
||||||
- Maximum height of 95mm
|
- relative motion sensor (an encoder) was also selected
|
||||||
- As close as possible to "perfect" stewart platform: flexible modes at high frequency
|
- specific kinematics of the Stewart platform (i.e. position of joints and orientation of struts) was not found to be too critical for this application.
|
||||||
- Easy mounting, easy change of strut in case of failure
|
Yet, the geometry was fixed in Section [...]
|
||||||
|
|
||||||
|
In this section, the mechanical design of the active platform, shown in Figure ref:fig:detail_design_nano_hexapod_elements, is detailed.
|
||||||
|
|
||||||
Presentation of the obtained design:
|
The main design objectives are:
|
||||||
- Fixation
|
- Well defined kinematics: Good positioning of the top flexible joint rotation point $\bm{b}_i$ and correct orientation of the struts $\hat{\bm{s}}_i$.
|
||||||
- Section on: Complete strut
|
The goal is to have a well defined geometry such that the Jacobian matrix is well defined.
|
||||||
- Cable management
|
- Space constrains: it should fit within a cylinder with radius of $120\,\text{mm}$ and height of $95\,\text{mm}$
|
||||||
- Plates design
|
- As good performances were obtained with the multi-body model.
|
||||||
- FEM results
|
The final design should behave as close as possible to "perfect" stewart platform.
|
||||||
- Explain again the different specifications in terms of space, payload, etc..
|
This means that the frequency of flexible modes that could be problematic for control must be made as high as possible.
|
||||||
- CAD view of the nano-hexapod
|
- Easy mounting and alignment.
|
||||||
- Chosen geometry, materials, ease of mounting, cabling, ...
|
- Easy maintenance: the struts should be easily changed in case for failure.
|
||||||
- Validation on Simscape with accurate model?
|
|
||||||
|
|
||||||
* Mechanical Design
|
* Mechanical Design
|
||||||
<<sec:detail_design_mechanics>>
|
<<sec:detail_design_mechanics>>
|
||||||
|
|
||||||
** Struts
|
|
||||||
**** Introduction :ignore:
|
**** Introduction :ignore:
|
||||||
|
**** Struts
|
||||||
|
|
||||||
|
The strut design is shown in Figure ref:fig:detail_design_strut.
|
||||||
|
|
||||||
|
The design of the struts was driven by:
|
||||||
|
- having stiff interface between the amplified piezoelectric actuator and the two flexible joints
|
||||||
|
- having stiff interface between the flexible joints and the two places (discussed afterwards)
|
||||||
|
- Because the angular stroke of the flexible joints is fairly limited, it is important to be able to mount the strut such that the two cylindrical interfaces are coaxial.
|
||||||
|
Do to so:
|
||||||
|
- A mounting bench was designed
|
||||||
|
The mounting procedure will be described in Section [...]
|
||||||
|
# TODO - Add link to section
|
||||||
|
- Cylindrical washers, shown in Figure ref:fig:detail_design_strut_without_enc, were integrated to allow for adjustments.
|
||||||
|
The issue was that the flatness between the two interface planes of the APA shown in Figure ref:fig:detail_design_apa could not be guaranteed.
|
||||||
|
With the added cylindrical washers and the mounting tool, it should be possible to well align the struts even in the presence of machining inaccuracies.
|
||||||
|
- Possibility to fix the encoder parallel to the strut, as shown in Figure ref:fig:detail_design_strut_with_enc
|
||||||
|
|
||||||
#+name: fig:detail_design_strut
|
#+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.
|
#+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.
|
||||||
@ -283,65 +297,88 @@ Presentation of the obtained design:
|
|||||||
#+attr_latex: :caption \subcaption{\label{fig:detail_design_strut_without_enc}Before encoder integration}
|
#+attr_latex: :caption \subcaption{\label{fig:detail_design_strut_without_enc}Before encoder integration}
|
||||||
#+attr_latex: :options {0.49\textwidth}
|
#+attr_latex: :options {0.49\textwidth}
|
||||||
#+begin_subfigure
|
#+begin_subfigure
|
||||||
#+attr_latex: :width 0.95\linewidth
|
#+attr_latex: :scale 0.9
|
||||||
[[file:figs/detail_design_strut_without_enc.jpg]]
|
[[file:figs/detail_design_strut_without_enc.png]]
|
||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+attr_latex: :caption \subcaption{\label{fig:detail_design_strut_with_enc}With the mounted encoder}
|
#+attr_latex: :caption \subcaption{\label{fig:detail_design_strut_with_enc}With the mounted encoder}
|
||||||
#+attr_latex: :options {0.49\textwidth}
|
#+attr_latex: :options {0.49\textwidth}
|
||||||
#+begin_subfigure
|
#+begin_subfigure
|
||||||
#+attr_latex: :width 0.95\linewidth
|
#+attr_latex: :scale 0.9
|
||||||
[[file:figs/detail_design_strut_with_enc.jpg]]
|
[[file:figs/detail_design_strut_with_enc.png]]
|
||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+end_figure
|
#+end_figure
|
||||||
|
|
||||||
**** Flexible joints
|
The flexible joints are manufactured using wire-cut electrical discharge machining, allowing for:
|
||||||
|
- very tight tolerances:
|
||||||
|
- allowing good location of the center of rotation with respect to the plate interfaces (red surfaces shown in Figure ref:fig:detail_design_flexible_joint)
|
||||||
|
- allowing correct neck dimension to have the wanted properties (stiffness and angular stroke)
|
||||||
|
- Such part is fragile, mainly due to its small "neck" dimension of only $0.25\,\text{mm}$
|
||||||
|
Such machining technique has little to no cutting forces.
|
||||||
|
|
||||||
Flexible joints: X5CrNiCuNb16-4 (F16Ph)
|
The flexible joints are made from a stainless steel referenced as "X5CrNiCuNb16-4" (also called "F16Ph").
|
||||||
- high yield strength: specified >1GPa using heat treatment
|
This material is chosen for:
|
||||||
- high fatigue resistance
|
- its high yield strength: specified >1GPa using heat treatment.
|
||||||
|
- its high fatigue resistance
|
||||||
|
|
||||||
|
Figure ref:fig:detail_design_flexible_joint
|
||||||
|
- Interface with the APA has a cylindrical shape to allow the use of cylindrical washers
|
||||||
|
A slotted hole has been added to align the flexible joint with the APA using a dowel pin.
|
||||||
|
- Two threaded holes on the sides can be used to mount the encoders
|
||||||
|
- The interface with the plate will be latter described.
|
||||||
|
|
||||||
|
The amplified piezoelectric actuators are APA300ML.
|
||||||
|
Modification of the mechanical interfaces were asked to the manufacturer.
|
||||||
|
Two planes surfaces and a dowel hole were used, as shown in Figure ref:fig:detail_design_apa.
|
||||||
|
The amplifying structure, is also made of stainless steel.
|
||||||
|
|
||||||
#+name: fig:detail_design_apa_joints
|
#+name: fig:detail_design_apa_joints
|
||||||
#+caption: Two main components of the struts: the amplified piezoelectric actuator (\subref{fig:detail_design_apa}) and the flexible joint (\subref{fig:detail_design_flexible_joint}).
|
#+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]
|
#+attr_latex: :options [htbp]
|
||||||
#+begin_figure
|
#+begin_figure
|
||||||
#+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
|
|
||||||
#+attr_latex: :caption \subcaption{\label{fig:detail_design_flexible_joint}Flexible joint}
|
#+attr_latex: :caption \subcaption{\label{fig:detail_design_flexible_joint}Flexible joint}
|
||||||
#+attr_latex: :options {0.49\textwidth}
|
#+attr_latex: :options {0.49\textwidth}
|
||||||
#+begin_subfigure
|
#+begin_subfigure
|
||||||
#+attr_latex: :scale 1
|
#+attr_latex: :scale 1
|
||||||
[[file:figs/detail_design_flexible_joint.png]]
|
[[file:figs/detail_design_flexible_joint.png]]
|
||||||
#+end_subfigure
|
#+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
|
#+end_figure
|
||||||
|
|
||||||
**** Piezoelectric Amplified Actuators
|
To correctly measure the relative motion of each strut, the encoders need to measure the relative motion between the two flexible joint's rotational centers.
|
||||||
|
Two interface parts, made of aluminum, are used to fix the encoder and ruler to the two fleible joints as shown in Figure ref:fig:detail_design_strut_with_enc.
|
||||||
|
|
||||||
APA: modification for better mounting
|
**** Plates
|
||||||
|
|
||||||
**** Encoder support
|
The two plates of the active platform were designed to:
|
||||||
|
- Maximize the frequency of flexible modes
|
||||||
|
- have good positioning of the top flexible joints, and good/known orientation of the struts.
|
||||||
|
|
||||||
All other parts are made of aluminum.
|
To maximize the flexible joints, finite element analysis were used iteratively.
|
||||||
|
While topology optimization could have been used, a network of reinforcing ribs was used as shown in Figure ref:fig:detail_design_top_plate.
|
||||||
** Plates
|
|
||||||
|
|
||||||
Plates: X30Cr13
|
|
||||||
- high hardness to not deform
|
|
||||||
|
|
||||||
|
|
||||||
- Maximize frequency of flexible modes (show FEM)
|
|
||||||
- Good tolerances for interfaces with flexible joints
|
|
||||||
Positioning of =bi= and orientation =si=
|
|
||||||
|
|
||||||
#+name: fig:detail_design_top_plate
|
#+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.
|
#+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
|
#+attr_latex: :scale 1
|
||||||
[[file:figs/detail_design_top_plate.png]]
|
[[file:figs/detail_design_top_plate.png]]
|
||||||
|
|
||||||
The cylindrical component is located (or constrained) within the V-groove via two distinct line contacts.
|
|
||||||
|
The fixation interface for the joints and "V-grooves".
|
||||||
|
The cylindrical part of the flexible joint is located (or constrained) within the V-groove via two distinct line contacts (Figure ref:fig:detail_design_fixation_flexible_joints).
|
||||||
|
Therefore, these grooves are defining the initial strut orientation
|
||||||
|
High machining accuracy is required, such that during the mounting of the active platform, the flexible joints are that "rest" position
|
||||||
|
|
||||||
|
The "flat" interface of each top flexible joint is also in contact with the top platform, as shown in Figure ref:fig:detail_design_location_top_flexible_joints, such that the center of rotation of the top flexible joints $\bm{b}_i$ are well located with respect to the top platform.
|
||||||
|
|
||||||
|
The bottom flexible joints are not Figure ref:fig:detail_design_location_bot_flex
|
||||||
|
|
||||||
|
The two plates are made with a martensitic stainless steel "X30Cr13":
|
||||||
|
- It has high hardness, such that the reference surfaces to not deform when fixing the flexible joints
|
||||||
|
- This should allow to assemble and disassemble the struts many times if necessary
|
||||||
|
|
||||||
#+name: fig:detail_design_fixation_flexible_joints
|
#+name: fig:detail_design_fixation_flexible_joints
|
||||||
#+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}).
|
#+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}).
|
||||||
@ -366,45 +403,58 @@ The cylindrical component is located (or constrained) within the V-groove via tw
|
|||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+end_figure
|
#+end_figure
|
||||||
|
|
||||||
** Finite Element Analysis
|
**** Finite Element Analysis
|
||||||
|
|
||||||
|
# TODO - Maybe this picture is not necessary
|
||||||
|
# #+name: fig:detail_design_enc_struts
|
||||||
|
# #+caption: Obtained Nano-Hexapod design
|
||||||
|
# #+attr_latex: :width 0.9\linewidth
|
||||||
|
# [[file:figs/detail_design_enc_struts.jpg]]
|
||||||
|
|
||||||
#+name: fig:detail_design_enc_struts
|
Finite element analysis of the complete active platform was performed to identify problematic modes (Figure ref:fig:detail_design_fem_nano_hexapod):
|
||||||
#+caption: Obtained Nano-Hexapod design
|
- First six modes were found to be "suspension" modes were the top plate moves as a rigid body, and the six struts are only moving axially (Figure ref:fig:detail_design_fem_rigid_body_mode)
|
||||||
#+attr_latex: :width 0.9\linewidth
|
- Then, between $205\,\text{Hz}$ and $420\,\text{Hz}$ many "local" modes of the struts were observed.
|
||||||
[[file:figs/detail_design_enc_struts.jpg]]
|
On is represented in Figure ref:fig:detail_design_fem_strut_mode.
|
||||||
|
While these modes seem not to induce any motion of the top platform, it induces a relative displacement of the encoder with respect to the ruler.
|
||||||
- FEM of complete system
|
Therefore, when controlling the position of the active platform using the encoders, such modes could be problematic.
|
||||||
- Show modes of the struts
|
Whether these modes are problematic is difficult to estimate at this point as:
|
||||||
|
- it is not known if the APA will "excite" these modes
|
||||||
|
- theoretically, if the struts are well aligned, these modes should not be observed
|
||||||
|
Then, flexible modes of the top plate are appearing above $650\,\text{Hz}$ (Figure ref:fig:detail_design_fem_plate_mode)
|
||||||
|
|
||||||
#+name: fig:detail_design_fem_nano_hexapod
|
#+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})
|
#+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]
|
#+attr_latex: :options [htbp]
|
||||||
#+begin_figure
|
#+begin_figure
|
||||||
#+attr_latex: :caption \subcaption{\label{fig:detail_design_fem_rigid_body_mode}Suspension modes}
|
#+attr_latex: :caption \subcaption{\label{fig:detail_design_fem_rigid_body_mode}Suspension mode}
|
||||||
#+attr_latex: :options {0.33\textwidth}
|
#+attr_latex: :options {0.36\textwidth}
|
||||||
#+begin_subfigure
|
#+begin_subfigure
|
||||||
#+attr_latex: :width 0.9\linewidth
|
#+attr_latex: :width 0.95\linewidth
|
||||||
[[file:figs/detail_design_fem_rigid_body_mode.jpg]]
|
[[file:figs/detail_design_fem_rigid_body_mode.jpg]]
|
||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+attr_latex: :caption \subcaption{\label{fig:detail_design_fem_strut_mode}Strut - Local modes}
|
#+attr_latex: :caption \subcaption{\label{fig:detail_design_fem_strut_mode}Strut - Local mode}
|
||||||
#+attr_latex: :options {0.33\textwidth}
|
#+attr_latex: :options {0.36\textwidth}
|
||||||
#+begin_subfigure
|
#+begin_subfigure
|
||||||
#+attr_latex: :width 0.9\linewidth
|
#+attr_latex: :width 0.95\linewidth
|
||||||
[[file:figs/detail_design_fem_strut_mode.jpg]]
|
[[file:figs/detail_design_fem_strut_mode.jpg]]
|
||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+attr_latex: :caption \subcaption{\label{fig:detail_design_fem_plate_mode}Top plate modes}
|
#+attr_latex: :caption \subcaption{\label{fig:detail_design_fem_plate_mode}Top plate mode}
|
||||||
#+attr_latex: :options {0.33\textwidth}
|
#+attr_latex: :options {0.26\textwidth}
|
||||||
#+begin_subfigure
|
#+begin_subfigure
|
||||||
#+attr_latex: :width 0.9\linewidth
|
#+attr_latex: :width 0.95\linewidth
|
||||||
[[file:figs/detail_design_fem_plate_mode.jpg]]
|
[[file:figs/detail_design_fem_plate_mode.jpg]]
|
||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+end_figure
|
#+end_figure
|
||||||
|
|
||||||
** Obtained Design
|
**** Alternative Encoder Placement
|
||||||
|
|
||||||
- Alternative encoder position: on the plates
|
To anticipate potential issue with local modes of the struts, an alternative fixation for the encoder is planned:
|
||||||
- Support made of aluminum
|
- Instead of being fixed to the struts, the encoders are fixed to the plates instead, as shown in Figure ref:fig:detail_design_enc_plates_design.
|
||||||
|
- The support are made of aluminum, and it is verified that the natural modes are at high enough frequency (Figure ref:fig:detail_design_enc_support_modes).
|
||||||
|
- The positioning of the encoders are made using pockets in both plates as shown in Figure ref:fig:detail_design_top_plate.
|
||||||
|
- The encoders are aligned parallel to the struts, but yet they don't exactly measure the relative motion of each strut.
|
||||||
|
- This means that if relative motion of the active platform is performed based on the encoders, the accuracy of the motion may be affected.
|
||||||
|
The issue is that the Kinematics may not be correct.
|
||||||
|
|
||||||
#+name: 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.
|
#+caption: Alternative way of using the encoders: they are fixed directly to the plates.
|
||||||
@ -424,30 +474,42 @@ The cylindrical component is located (or constrained) within the V-groove via tw
|
|||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+end_figure
|
#+end_figure
|
||||||
|
|
||||||
|
#+name: fig:detail_design_enc_support_modes
|
||||||
#+name: fig:detail_design_fem_encoder_fix
|
|
||||||
#+caption: Finite Element Analysis of the encoder supports. Encoder inertia was taken into account.
|
#+caption: Finite Element Analysis of the encoder supports. Encoder inertia was taken into account.
|
||||||
[[file:figs/detail_design_fem_encoder_fix.png]]
|
#+attr_latex: :options [htbp]
|
||||||
|
#+begin_figure
|
||||||
|
#+attr_latex: :caption \subcaption{\label{fig:detail_design_enc_support_mode_1}$1^{\text{st}}$ mode at $1120\,\text{Hz}$}
|
||||||
|
#+attr_latex: :options {0.33\textwidth}
|
||||||
|
#+begin_subfigure
|
||||||
|
#+attr_latex: :scale 0.5
|
||||||
|
[[file:figs/detail_design_enc_support_mode_1.jpg]]
|
||||||
|
#+end_subfigure
|
||||||
|
#+attr_latex: :caption \subcaption{\label{fig:detail_design_enc_support_mode_2}$2^{\text{nd}}$ mode at $2020\,\text{Hz}$}
|
||||||
|
#+attr_latex: :options {0.33\textwidth}
|
||||||
|
#+begin_subfigure
|
||||||
|
#+attr_latex: :scale 0.5
|
||||||
|
[[file:figs/detail_design_enc_support_mode_2.jpg]]
|
||||||
|
#+end_subfigure
|
||||||
|
#+attr_latex: :caption \subcaption{\label{fig:detail_design_enc_support_mode_3}$3^{\text{rd}}$ mode at $2080\,\text{Hz}$}
|
||||||
|
#+attr_latex: :options {0.33\textwidth}
|
||||||
|
#+begin_subfigure
|
||||||
|
#+attr_latex: :scale 0.5
|
||||||
|
[[file:figs/detail_design_enc_support_mode_3.jpg]]
|
||||||
|
#+end_subfigure
|
||||||
|
#+end_figure
|
||||||
|
|
||||||
* Multi-Body Model
|
* Multi-Body Model
|
||||||
:PROPERTIES:
|
|
||||||
:HEADER-ARGS:matlab+: :tangle matlab/detail_design_1_model.m
|
|
||||||
:END:
|
|
||||||
<<sec:detail_design_model>>
|
<<sec:detail_design_model>>
|
||||||
|
**** Introduction :ignore:
|
||||||
|
|
||||||
*Multi body Model*:
|
Before all the mechanical parts were ordered, the multi-body model of the active platform was refined using the design parts.
|
||||||
- Complete model: two plates, 6 joints, 6 actuators, 6 encoders
|
|
||||||
- Joint Model
|
|
||||||
- APA Model
|
|
||||||
- Encoder model
|
|
||||||
- Say that obtained dynamics was considered good + possible to perform simulations of tomography experiments with same performance as during the conceptual design
|
|
||||||
|
|
||||||
** Introduction :ignore:
|
Two configurations, displayed in Figure ref:fig:detail_design_simscape_encoder, were considered:
|
||||||
|
|
||||||
Two configurations:
|
|
||||||
- Encoders fixed to the struts
|
- Encoders fixed to the struts
|
||||||
- Encoders fixed to the plates
|
- Encoders fixed to the plates
|
||||||
|
|
||||||
|
Plates were modelled as rigid bodies, with inertia computed from the 3D shape.
|
||||||
|
|
||||||
#+name: fig:detail_design_simscape_encoder
|
#+name: fig:detail_design_simscape_encoder
|
||||||
#+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}).
|
#+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]
|
#+attr_latex: :options [htbp]
|
||||||
@ -466,19 +528,45 @@ Two configurations:
|
|||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+end_figure
|
#+end_figure
|
||||||
|
|
||||||
|
**** Flexible Joints
|
||||||
|
|
||||||
** Flexible Joints
|
Different models of the flexible joints where considered:
|
||||||
|
- 2DoF: only bending stiffnesses
|
||||||
|
- 3DoF: added torsional stiffness
|
||||||
|
- 4DoF: added axial stiffness
|
||||||
|
|
||||||
|
The multi-body model for the 4DoF configuration is shown in Figure ref:fig:detail_design_simscape_model_flexible_joint.
|
||||||
|
It is composed of three solid bodies connected by joints whose stiffnesses are computed from the finite element model.
|
||||||
|
|
||||||
#+name: fig:detail_design_simscape_model_flexible_joint
|
#+name: fig:detail_design_simscape_model_flexible_joint
|
||||||
#+caption: Multi-Body (using the Simscape software) model of the flexible joints. A 4-DoFs model is shown.
|
#+caption: Multi-Body (using the Simscape software) model of the flexible joints. A 4-DoFs model is shown.
|
||||||
#+attr_latex: :scale 1
|
#+attr_latex: :scale 1
|
||||||
[[file:figs/detail_design_simscape_model_flexible_joint.png]]
|
[[file:figs/detail_design_simscape_model_flexible_joint.png]]
|
||||||
|
|
||||||
** Amplified Piezoelectric Actuators
|
**** Amplified Piezoelectric Actuators
|
||||||
|
|
||||||
|
The amplified piezoelectric actuators are modelled as explained in Section [..].
|
||||||
|
# Add link to section
|
||||||
|
Two different models can be used in the multi-body model:
|
||||||
|
- a 2DoF "axial" model
|
||||||
|
- a "super-element" extracted from the finite element model
|
||||||
|
|
||||||
|
**** Encoders
|
||||||
|
|
||||||
|
Up to now, relative displacement sensors were implemented as a relative distance measurement between $\bm{a}_i$ and $\bm{b}_i$.
|
||||||
|
|
||||||
|
As shown in the previous section, flexible modes of the struts may negatively impact the encoder signal.
|
||||||
|
It was therefore necessary to better model the encoder.
|
||||||
|
|
||||||
|
The optical encoder works:
|
||||||
|
- Encoder heads contains a light source shine on the ruler, and a photo-diode.
|
||||||
|
This is represented by frame $\{E\}$ in Figure ref:fig:detail_design_simscape_encoder.
|
||||||
|
- ruler or scale with a grating (here with a $20\,\mu m$ pitch). A reference frame is indicated by $\{R\}$
|
||||||
|
|
||||||
|
Therefore, the measured displacement is the relative position of $\{E\}$ (i.e. there the light "hits" the scale) with respect to frame $\{R\}$, in the direction of the scale.
|
||||||
|
|
||||||
|
|
||||||
|
In that case, a rotation of the encoder, as shown in figure ref:fig:detail_design_simscape_encoder_disp induces a measured displacement.
|
||||||
** Encoders
|
|
||||||
|
|
||||||
#+name: fig:detail_design_simscape_encoder_model
|
#+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}).
|
#+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}).
|
||||||
@ -498,6 +586,14 @@ Two configurations:
|
|||||||
#+end_subfigure
|
#+end_subfigure
|
||||||
#+end_figure
|
#+end_figure
|
||||||
|
|
||||||
|
**** Simulation
|
||||||
|
|
||||||
|
Based on this refined model:
|
||||||
|
- the active platform could be integrated on top of the micro-station's model.
|
||||||
|
- the obtained dynamics was considered good
|
||||||
|
- simulations of tomography experiments were performed, and similar performance were obtained as during the conceptual design
|
||||||
|
- this is not presented here as results are very similar to the simulations performed in Section [...]
|
||||||
|
# Add link to section
|
||||||
|
|
||||||
* Conclusion
|
* Conclusion
|
||||||
<<sec:detail_design_conclusion>>
|
<<sec:detail_design_conclusion>>
|
||||||
@ -505,24 +601,3 @@ Two configurations:
|
|||||||
* Bibliography :ignore:
|
* Bibliography :ignore:
|
||||||
#+latex: \printbibliography[heading=bibintoc,title={Bibliography}]
|
#+latex: \printbibliography[heading=bibintoc,title={Bibliography}]
|
||||||
|
|
||||||
* Helping Functions :noexport:
|
|
||||||
** Initialize Path
|
|
||||||
#+NAME: m-init-path
|
|
||||||
#+BEGIN_SRC matlab
|
|
||||||
%% Path for functions, data and scripts
|
|
||||||
addpath('./matlab/mat/'); % Path for data
|
|
||||||
addpath('./matlab/'); % Path for scripts
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
#+NAME: m-init-path-tangle
|
|
||||||
#+BEGIN_SRC matlab
|
|
||||||
%% Path for functions, data and scripts
|
|
||||||
addpath('./mat/'); % Path for data
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
** Initialize other elements
|
|
||||||
#+NAME: m-init-other
|
|
||||||
#+BEGIN_SRC matlab
|
|
||||||
%% Colors for the figures
|
|
||||||
colors = colororder;
|
|
||||||
#+END_SRC
|
|
||||||
|
BIN
nass-design.pdf
278
nass-design.tex
@ -1,4 +1,4 @@
|
|||||||
% Created 2025-04-21 Mon 16:49
|
% Created 2025-04-21 Mon 19:46
|
||||||
% Intended LaTeX compiler: pdflatex
|
% Intended LaTeX compiler: pdflatex
|
||||||
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
|
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
|
||||||
|
|
||||||
@ -30,87 +30,124 @@
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
\textbf{Design goals}:
|
Detail design phase:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Position \texttt{bi} and \texttt{si}
|
\item key elements were optimized such as: actuator and flexible joints
|
||||||
\item Maximum height of 95mm
|
\item relative motion sensor (an encoder) was also selected
|
||||||
\item As close as possible to ``perfect'' stewart platform: flexible modes at high frequency
|
\item specific kinematics of the Stewart platform (i.e. position of joints and orientation of struts) was not found to be too critical for this application.
|
||||||
\item Easy mounting, easy change of strut in case of failure
|
Yet, the geometry was fixed in Section [\ldots{}]
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
In this section, the mechanical design of the active platform, shown in Figure \ref{fig:detail_design_nano_hexapod_elements}, is detailed.
|
||||||
|
|
||||||
Presentation of the obtained design:
|
The main design objectives are:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Fixation
|
\item Well defined kinematics: Good positioning of the top flexible joint rotation point \(\bm{b}_i\) and correct orientation of the struts \(\hat{\bm{s}}_i\).
|
||||||
\item Section on: Complete strut
|
The goal is to have a well defined geometry such that the Jacobian matrix is well defined.
|
||||||
\item Cable management
|
\item Space constrains: it should fit within a cylinder with radius of \(120\,\text{mm}\) and height of \(95\,\text{mm}\)
|
||||||
\item Plates design
|
\item As good performances were obtained with the multi-body model.
|
||||||
\item FEM results
|
The final design should behave as close as possible to ``perfect'' stewart platform.
|
||||||
\item Explain again the different specifications in terms of space, payload, etc..
|
This means that the frequency of flexible modes that could be problematic for control must be made as high as possible.
|
||||||
\item CAD view of the nano-hexapod
|
\item Easy mounting and alignment.
|
||||||
\item Chosen geometry, materials, ease of mounting, cabling, \ldots{}
|
\item Easy maintenance: the struts should be easily changed in case for failure.
|
||||||
\item Validation on Simscape with accurate model?
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\chapter{Mechanical Design}
|
\chapter{Mechanical Design}
|
||||||
\label{sec:detail_design_mechanics}
|
\label{sec:detail_design_mechanics}
|
||||||
\section{Struts}
|
\subsubsection{Struts}
|
||||||
|
|
||||||
|
The strut design is shown in Figure \ref{fig:detail_design_strut}.
|
||||||
|
|
||||||
|
The design of the struts was driven by:
|
||||||
|
\begin{itemize}
|
||||||
|
\item having stiff interface between the amplified piezoelectric actuator and the two flexible joints
|
||||||
|
\item having stiff interface between the flexible joints and the two places (discussed afterwards)
|
||||||
|
\item Because the angular stroke of the flexible joints is fairly limited, it is important to be able to mount the strut such that the two cylindrical interfaces are coaxial.
|
||||||
|
Do to so:
|
||||||
|
\begin{itemize}
|
||||||
|
\item A mounting bench was designed
|
||||||
|
The mounting procedure will be described in Section [\ldots{}]
|
||||||
|
\item Cylindrical washers, shown in Figure \ref{fig:detail_design_strut_without_enc}, were integrated to allow for adjustments.
|
||||||
|
The issue was that the flatness between the two interface planes of the APA shown in Figure \ref{fig:detail_design_apa} could not be guaranteed.
|
||||||
|
With the added cylindrical washers and the mounting tool, it should be possible to well align the struts even in the presence of machining inaccuracies.
|
||||||
|
\end{itemize}
|
||||||
|
\item Possibility to fix the encoder parallel to the strut, as shown in Figure \ref{fig:detail_design_strut_with_enc}
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\begin{subfigure}{0.49\textwidth}
|
\begin{subfigure}{0.49\textwidth}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_strut_without_enc.jpg}
|
\includegraphics[scale=1,scale=0.9]{figs/detail_design_strut_without_enc.png}
|
||||||
\end{center}
|
\end{center}
|
||||||
\subcaption{\label{fig:detail_design_strut_without_enc}Before encoder integration}
|
\subcaption{\label{fig:detail_design_strut_without_enc}Before encoder integration}
|
||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
\begin{subfigure}{0.49\textwidth}
|
\begin{subfigure}{0.49\textwidth}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_strut_with_enc.jpg}
|
\includegraphics[scale=1,scale=0.9]{figs/detail_design_strut_with_enc.png}
|
||||||
\end{center}
|
\end{center}
|
||||||
\subcaption{\label{fig:detail_design_strut_with_enc}With the mounted encoder}
|
\subcaption{\label{fig:detail_design_strut_with_enc}With the mounted encoder}
|
||||||
\end{subfigure}
|
\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.}
|
\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}
|
\end{figure}
|
||||||
\subsubsection{Flexible joints}
|
|
||||||
|
|
||||||
Flexible joints: X5CrNiCuNb16-4 (F16Ph)
|
The flexible joints are manufactured using wire-cut electrical discharge machining, allowing for:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item high yield strength: specified >1GPa using heat treatment
|
\item very tight tolerances:
|
||||||
\item high fatigue resistance
|
\begin{itemize}
|
||||||
|
\item allowing good location of the center of rotation with respect to the plate interfaces (red surfaces shown in Figure \ref{fig:detail_design_flexible_joint})
|
||||||
|
\item allowing correct neck dimension to have the wanted properties (stiffness and angular stroke)
|
||||||
|
\end{itemize}
|
||||||
|
\item Such part is fragile, mainly due to its small ``neck'' dimension of only \(0.25\,\text{mm}\)
|
||||||
|
Such machining technique has little to no cutting forces.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
The flexible joints are made from a stainless steel referenced as ``X5CrNiCuNb16-4'' (also called ``F16Ph'').
|
||||||
|
This material is chosen for:
|
||||||
|
\begin{itemize}
|
||||||
|
\item its high yield strength: specified >1GPa using heat treatment.
|
||||||
|
\item its high fatigue resistance
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
Figure \ref{fig:detail_design_flexible_joint}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Interface with the APA has a cylindrical shape to allow the use of cylindrical washers
|
||||||
|
A slotted hole has been added to align the flexible joint with the APA using a dowel pin.
|
||||||
|
\item Two threaded holes on the sides can be used to mount the encoders
|
||||||
|
\item The interface with the plate will be latter described.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
The amplified piezoelectric actuators are APA300ML.
|
||||||
|
Modification of the mechanical interfaces were asked to the manufacturer.
|
||||||
|
Two planes surfaces and a dowel hole were used, as shown in Figure \ref{fig:detail_design_apa}.
|
||||||
|
The amplifying structure, is also made of stainless steel.
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\begin{subfigure}{0.49\textwidth}
|
\begin{subfigure}{0.49\textwidth}
|
||||||
\begin{center}
|
\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}
|
|
||||||
\begin{subfigure}{0.49\textwidth}
|
|
||||||
\begin{center}
|
|
||||||
\includegraphics[scale=1,scale=1]{figs/detail_design_flexible_joint.png}
|
\includegraphics[scale=1,scale=1]{figs/detail_design_flexible_joint.png}
|
||||||
\end{center}
|
\end{center}
|
||||||
\subcaption{\label{fig:detail_design_flexible_joint}Flexible joint}
|
\subcaption{\label{fig:detail_design_flexible_joint}Flexible joint}
|
||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
\caption{\label{fig:detail_design_apa_joints}Two main components of the struts: the amplified piezoelectric actuator (\subref{fig:detail_design_apa}) and the flexible joint (\subref{fig:detail_design_flexible_joint}).}
|
\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}
|
\end{figure}
|
||||||
\subsubsection{Piezoelectric Amplified Actuators}
|
|
||||||
|
|
||||||
APA: modification for better mounting
|
To correctly measure the relative motion of each strut, the encoders need to measure the relative motion between the two flexible joint's rotational centers.
|
||||||
\subsubsection{Encoder support}
|
Two interface parts, made of aluminum, are used to fix the encoder and ruler to the two fleible joints as shown in Figure \ref{fig:detail_design_strut_with_enc}.
|
||||||
|
\subsubsection{Plates}
|
||||||
|
|
||||||
All other parts are made of aluminum.
|
The two plates of the active platform were designed to:
|
||||||
\section{Plates}
|
|
||||||
|
|
||||||
Plates: X30Cr13
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item high hardness to not deform
|
\item Maximize the frequency of flexible modes
|
||||||
|
\item have good positioning of the top flexible joints, and good/known orientation of the struts.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
To maximize the flexible joints, finite element analysis were used iteratively.
|
||||||
\begin{itemize}
|
While topology optimization could have been used, a network of reinforcing ribs was used as shown in Figure \ref{fig:detail_design_top_plate}.
|
||||||
\item Maximize frequency of flexible modes (show FEM)
|
|
||||||
\item Good tolerances for interfaces with flexible joints
|
|
||||||
Positioning of \texttt{bi} and orientation \texttt{si}
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\centering
|
||||||
@ -118,7 +155,21 @@ Positioning of \texttt{bi} and orientation \texttt{si}
|
|||||||
\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.}
|
\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}
|
\end{figure}
|
||||||
|
|
||||||
The cylindrical component is located (or constrained) within the V-groove via two distinct line contacts.
|
|
||||||
|
The fixation interface for the joints and ``V-grooves''.
|
||||||
|
The cylindrical part of the flexible joint is located (or constrained) within the V-groove via two distinct line contacts (Figure \ref{fig:detail_design_fixation_flexible_joints}).
|
||||||
|
Therefore, these grooves are defining the initial strut orientation
|
||||||
|
High machining accuracy is required, such that during the mounting of the active platform, the flexible joints are that ``rest'' position
|
||||||
|
|
||||||
|
The ``flat'' interface of each top flexible joint is also in contact with the top platform, as shown in Figure \ref{fig:detail_design_location_top_flexible_joints}, such that the center of rotation of the top flexible joints \(\bm{b}_i\) are well located with respect to the top platform.
|
||||||
|
|
||||||
|
The bottom flexible joints are not Figure \ref{fig:detail_design_location_bot_flex}
|
||||||
|
|
||||||
|
The two plates are made with a martensitic stainless steel ``X30Cr13'':
|
||||||
|
\begin{itemize}
|
||||||
|
\item It has high hardness, such that the reference surfaces to not deform when fixing the flexible joints
|
||||||
|
\item This should allow to assemble and disassemble the struts many times if necessary
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
\begin{subfigure}{0.33\textwidth}
|
\begin{subfigure}{0.33\textwidth}
|
||||||
@ -141,46 +192,54 @@ The cylindrical component is located (or constrained) within the V-groove via tw
|
|||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
\caption{\label{fig:detail_design_fixation_flexible_joints}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}).}
|
\caption{\label{fig:detail_design_fixation_flexible_joints}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}
|
\end{figure}
|
||||||
\section{Finite Element Analysis}
|
\subsubsection{Finite Element Analysis}
|
||||||
|
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
|
||||||
\centering
|
|
||||||
\includegraphics[scale=1,width=0.9\linewidth]{figs/detail_design_enc_struts.jpg}
|
|
||||||
\caption{\label{fig:detail_design_enc_struts}Obtained Nano-Hexapod design}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
|
Finite element analysis of the complete active platform was performed to identify problematic modes (Figure \ref{fig:detail_design_fem_nano_hexapod}):
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item FEM of complete system
|
\item First six modes were found to be ``suspension'' modes were the top plate moves as a rigid body, and the six struts are only moving axially (Figure \ref{fig:detail_design_fem_rigid_body_mode})
|
||||||
\item Show modes of the struts
|
\item Then, between \(205\,\text{Hz}\) and \(420\,\text{Hz}\) many ``local'' modes of the struts were observed.
|
||||||
|
On is represented in Figure \ref{fig:detail_design_fem_strut_mode}.
|
||||||
|
While these modes seem not to induce any motion of the top platform, it induces a relative displacement of the encoder with respect to the ruler.
|
||||||
|
Therefore, when controlling the position of the active platform using the encoders, such modes could be problematic.
|
||||||
|
Whether these modes are problematic is difficult to estimate at this point as:
|
||||||
|
\begin{itemize}
|
||||||
|
\item it is not known if the APA will ``excite'' these modes
|
||||||
|
\item theoretically, if the struts are well aligned, these modes should not be observed
|
||||||
|
\end{itemize}
|
||||||
|
Then, flexible modes of the top plate are appearing above \(650\,\text{Hz}\) (Figure \ref{fig:detail_design_fem_plate_mode})
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\begin{subfigure}{0.33\textwidth}
|
\begin{subfigure}{0.36\textwidth}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[scale=1,width=0.9\linewidth]{figs/detail_design_fem_rigid_body_mode.jpg}
|
\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_fem_rigid_body_mode.jpg}
|
||||||
\end{center}
|
\end{center}
|
||||||
\subcaption{\label{fig:detail_design_fem_rigid_body_mode}Suspension modes}
|
\subcaption{\label{fig:detail_design_fem_rigid_body_mode}Suspension mode}
|
||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
\begin{subfigure}{0.33\textwidth}
|
\begin{subfigure}{0.36\textwidth}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[scale=1,width=0.9\linewidth]{figs/detail_design_fem_strut_mode.jpg}
|
\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_fem_strut_mode.jpg}
|
||||||
\end{center}
|
\end{center}
|
||||||
\subcaption{\label{fig:detail_design_fem_strut_mode}Strut - Local modes}
|
\subcaption{\label{fig:detail_design_fem_strut_mode}Strut - Local mode}
|
||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
\begin{subfigure}{0.33\textwidth}
|
\begin{subfigure}{0.26\textwidth}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[scale=1,width=0.9\linewidth]{figs/detail_design_fem_plate_mode.jpg}
|
\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_fem_plate_mode.jpg}
|
||||||
\end{center}
|
\end{center}
|
||||||
\subcaption{\label{fig:detail_design_fem_plate_mode}Top plate modes}
|
\subcaption{\label{fig:detail_design_fem_plate_mode}Top plate mode}
|
||||||
\end{subfigure}
|
\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})}
|
\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}
|
\end{figure}
|
||||||
\section{Obtained Design}
|
\subsubsection{Alternative Encoder Placement}
|
||||||
|
|
||||||
|
To anticipate potential issue with local modes of the struts, an alternative fixation for the encoder is planned:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Alternative encoder position: on the plates
|
\item Instead of being fixed to the struts, the encoders are fixed to the plates instead, as shown in Figure \ref{fig:detail_design_enc_plates_design}.
|
||||||
\item Support made of aluminum
|
\item The support are made of aluminum, and it is verified that the natural modes are at high enough frequency (Figure \ref{fig:detail_design_enc_support_modes}).
|
||||||
|
\item The positioning of the encoders are made using pockets in both plates as shown in Figure \ref{fig:detail_design_top_plate}.
|
||||||
|
\item The encoders are aligned parallel to the struts, but yet they don't exactly measure the relative motion of each strut.
|
||||||
|
\item This means that if relative motion of the active platform is performed based on the encoders, the accuracy of the motion may be affected.
|
||||||
|
The issue is that the Kinematics may not be correct.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
@ -199,30 +258,39 @@ The cylindrical component is located (or constrained) within the V-groove via tw
|
|||||||
\caption{\label{fig:detail_design_enc_plates_design}Alternative way of using the encoders: they are fixed directly to the plates.}
|
\caption{\label{fig:detail_design_enc_plates_design}Alternative way of using the encoders: they are fixed directly to the plates.}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\begin{subfigure}{0.33\textwidth}
|
||||||
\includegraphics[scale=1]{figs/detail_design_fem_encoder_fix.png}
|
\begin{center}
|
||||||
\caption{\label{fig:detail_design_fem_encoder_fix}Finite Element Analysis of the encoder supports. Encoder inertia was taken into account.}
|
\includegraphics[scale=1,scale=0.5]{figs/detail_design_enc_support_mode_1.jpg}
|
||||||
|
\end{center}
|
||||||
|
\subcaption{\label{fig:detail_design_enc_support_mode_1}$1^{\text{st}}$ mode at $1120\,\text{Hz}$}
|
||||||
|
\end{subfigure}
|
||||||
|
\begin{subfigure}{0.33\textwidth}
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[scale=1,scale=0.5]{figs/detail_design_enc_support_mode_2.jpg}
|
||||||
|
\end{center}
|
||||||
|
\subcaption{\label{fig:detail_design_enc_support_mode_2}$2^{\text{nd}}$ mode at $2020\,\text{Hz}$}
|
||||||
|
\end{subfigure}
|
||||||
|
\begin{subfigure}{0.33\textwidth}
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[scale=1,scale=0.5]{figs/detail_design_enc_support_mode_3.jpg}
|
||||||
|
\end{center}
|
||||||
|
\subcaption{\label{fig:detail_design_enc_support_mode_3}$3^{\text{rd}}$ mode at $2080\,\text{Hz}$}
|
||||||
|
\end{subfigure}
|
||||||
|
\caption{\label{fig:detail_design_enc_support_modes}Finite Element Analysis of the encoder supports. Encoder inertia was taken into account.}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\chapter{Multi-Body Model}
|
\chapter{Multi-Body Model}
|
||||||
\label{sec:detail_design_model}
|
\label{sec:detail_design_model}
|
||||||
|
Before all the mechanical parts were ordered, the multi-body model of the active platform was refined using the design parts.
|
||||||
|
|
||||||
\textbf{Multi body Model}:
|
Two configurations, displayed in Figure \ref{fig:detail_design_simscape_encoder}, were considered:
|
||||||
\begin{itemize}
|
|
||||||
\item Complete model: two plates, 6 joints, 6 actuators, 6 encoders
|
|
||||||
\item Joint Model
|
|
||||||
\item APA Model
|
|
||||||
\item Encoder model
|
|
||||||
\item Say that obtained dynamics was considered good + possible to perform simulations of tomography experiments with same performance as during the conceptual design
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
Two configurations:
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Encoders fixed to the struts
|
\item Encoders fixed to the struts
|
||||||
\item Encoders fixed to the plates
|
\item Encoders fixed to the plates
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
Plates were modelled as rigid bodies, with inertia computed from the 3D shape.
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\begin{subfigure}{0.49\textwidth}
|
\begin{subfigure}{0.49\textwidth}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
@ -238,18 +306,49 @@ Two configurations:
|
|||||||
\end{subfigure}
|
\end{subfigure}
|
||||||
\caption{\label{fig:detail_design_simscape_encoder}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}).}
|
\caption{\label{fig:detail_design_simscape_encoder}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}
|
\end{figure}
|
||||||
\section{Flexible Joints}
|
\subsubsection{Flexible Joints}
|
||||||
|
|
||||||
|
Different models of the flexible joints where considered:
|
||||||
|
\begin{itemize}
|
||||||
|
\item 2DoF: only bending stiffnesses
|
||||||
|
\item 3DoF: added torsional stiffness
|
||||||
|
\item 4DoF: added axial stiffness
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
The multi-body model for the 4DoF configuration is shown in Figure \ref{fig:detail_design_simscape_model_flexible_joint}.
|
||||||
|
It is composed of three solid bodies connected by joints whose stiffnesses are computed from the finite element model.
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[scale=1,scale=1]{figs/detail_design_simscape_model_flexible_joint.png}
|
\includegraphics[scale=1,scale=1]{figs/detail_design_simscape_model_flexible_joint.png}
|
||||||
\caption{\label{fig:detail_design_simscape_model_flexible_joint}Multi-Body (using the Simscape software) model of the flexible joints. A 4-DoFs model is shown.}
|
\caption{\label{fig:detail_design_simscape_model_flexible_joint}Multi-Body (using the Simscape software) model of the flexible joints. A 4-DoFs model is shown.}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\section{Amplified Piezoelectric Actuators}
|
\subsubsection{Amplified Piezoelectric Actuators}
|
||||||
|
|
||||||
|
The amplified piezoelectric actuators are modelled as explained in Section [..].
|
||||||
|
Two different models can be used in the multi-body model:
|
||||||
|
\begin{itemize}
|
||||||
|
\item a 2DoF ``axial'' model
|
||||||
|
\item a ``super-element'' extracted from the finite element model
|
||||||
|
\end{itemize}
|
||||||
|
\subsubsection{Encoders}
|
||||||
|
|
||||||
|
Up to now, relative displacement sensors were implemented as a relative distance measurement between \(\bm{a}_i\) and \(\bm{b}_i\).
|
||||||
|
|
||||||
|
As shown in the previous section, flexible modes of the struts may negatively impact the encoder signal.
|
||||||
|
It was therefore necessary to better model the encoder.
|
||||||
|
|
||||||
|
The optical encoder works:
|
||||||
|
\begin{itemize}
|
||||||
|
\item Encoder heads contains a light source shine on the ruler, and a photo-diode.
|
||||||
|
This is represented by frame \(\{E\}\) in Figure \ref{fig:detail_design_simscape_encoder}.
|
||||||
|
\item ruler or scale with a grating (here with a \(20\,\mu m\) pitch). A reference frame is indicated by \(\{R\}\)
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
Therefore, the measured displacement is the relative position of \(\{E\}\) (i.e. there the light ``hits'' the scale) with respect to frame \(\{R\}\), in the direction of the scale.
|
||||||
|
|
||||||
|
|
||||||
|
In that case, a rotation of the encoder, as shown in figure \ref{fig:detail_design_simscape_encoder_disp} induces a measured displacement.
|
||||||
\section{Encoders}
|
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\begin{subfigure}{0.49\textwidth}
|
\begin{subfigure}{0.49\textwidth}
|
||||||
@ -266,6 +365,15 @@ Two configurations:
|
|||||||
\end{subfigure}
|
\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}).}
|
\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}
|
\end{figure}
|
||||||
|
\subsubsection{Simulation}
|
||||||
|
|
||||||
|
Based on this refined model:
|
||||||
|
\begin{itemize}
|
||||||
|
\item the active platform could be integrated on top of the micro-station's model.
|
||||||
|
\item the obtained dynamics was considered good
|
||||||
|
\item simulations of tomography experiments were performed, and similar performance were obtained as during the conceptual design
|
||||||
|
\item this is not presented here as results are very similar to the simulations performed in Section [\ldots{}]
|
||||||
|
\end{itemize}
|
||||||
\chapter{Conclusion}
|
\chapter{Conclusion}
|
||||||
\label{sec:detail_design_conclusion}
|
\label{sec:detail_design_conclusion}
|
||||||
\printbibliography[heading=bibintoc,title={Bibliography}]
|
\printbibliography[heading=bibintoc,title={Bibliography}]
|
||||||
|