Finish draft

This commit is contained in:
Thomas Dehaeze 2025-04-21 19:46:46 +02:00
parent feff6cb5dd
commit 05bd404570
33 changed files with 934 additions and 695 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 647 KiB

After

Width:  |  Height:  |  Size: 497 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 706 KiB

After

Width:  |  Height:  |  Size: 518 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 303 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 KiB

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

View File

@ -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

View File

@ -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

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 528 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

View File

@ -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

Binary file not shown.

View File

@ -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}]