commit e924615eb2db91c440b5d83b5fe4b1735c654fee Author: Thomas Dehaeze Date: Tue Dec 15 23:03:33 2020 +0100 Initial Commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e3b6514 --- /dev/null +++ b/.gitignore @@ -0,0 +1,55 @@ +auto/ +*.tex +*.bbl +*.synctex.gz +.auctex-auto/ +_minted* + +**/figs/*.svg +**/figs/*.tex + +# Emacs +auto/ + +# Simulink Real Time +*bio.m +*pt.m +*ref.m +*ri.m +*xcp.m +*.mldatx +*.slxc +*.xml +*_slrt_rtw/ + +# data +data/ + +# Windows default autosave extension +*.asv + +# OSX / *nix default autosave extension +*.m~ + +# Compiled MEX binaries (all platforms) +*.mex* + +# Packaged app and toolbox files +*.mlappinstall +*.mltbx + +# Generated helpsearch folders +helpsearch*/ + +# Simulink code generation folders +slprj/ +sccprj/ + +# Matlab code generation folders +codegen/ + +# Simulink autosave extension +*.autosave + +# Octave session info +octave-workspace diff --git a/figs/flexible_joint_geometry.pdf b/figs/flexible_joint_geometry.pdf new file mode 100644 index 0000000..5ea68ff Binary files /dev/null and b/figs/flexible_joint_geometry.pdf differ diff --git a/figs/flexible_joint_geometry.png b/figs/flexible_joint_geometry.png new file mode 100644 index 0000000..94f62e0 Binary files /dev/null and b/figs/flexible_joint_geometry.png differ diff --git a/figs/test-bench-schematic.pdf b/figs/test-bench-schematic.pdf new file mode 100644 index 0000000..bf7441d Binary files /dev/null and b/figs/test-bench-schematic.pdf differ diff --git a/figs/test-bench-schematic.png b/figs/test-bench-schematic.png new file mode 100644 index 0000000..e459d1e Binary files /dev/null and b/figs/test-bench-schematic.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..640db8c --- /dev/null +++ b/index.html @@ -0,0 +1,199 @@ + + + + + + +Flexible Joint - Test Bench + + + + + + + + +
+ UP + | + HOME +
+

Flexible Joint - Test Bench

+ + +
+

1 Test Bench Description

+
+

+The main characteristic of the flexible joint that we want to measure is its bending stiffness \(k_{R_x} \approx k_{R_y}\). +

+ +

+To do so, a test bench is used. +Specifications of the test bench to precisely measure the bending stiffness are described in this section. +

+ +

+The basic idea is to measured the angular deflection of the flexible joint as a function of the applied torque. +

+ + +
+

test-bench-schematic.png +

+

Figure 1: Schematic of the test bench to measure the bending stiffness of the flexible joints

+
+
+ +
+

1.1 Flexible joint Geometry

+
+

+The flexible joint used for the Nano-Hexapod is shown in Figure 2. +Its bending stiffness is foreseen to be \(k_{R_y}\approx 20\,\frac{Nm}{rad}\) and its stroke \(\theta_{y,\text{max}}\approx 20\,mrad\). +

+ + +
+

flexible_joint_geometry.png +

+

Figure 2: Geometry of the flexible joint

+
+ +

+The height between the flexible point (center of the joint) and the point where external forces are applied is \(h = 20\,mm\). +

+ +

+Let’s define the parameters on Matlab. +

+
+
kRx = 20; % Bending Stiffness [Nm/rad]
+Rxmax = 20e-3; % Bending Stroke [rad]
+h = 20e-3; % Height [m]
+
+
+
+
+ +
+

1.2 Required external applied force

+
+

+The bending \(\theta_y\) of the flexible joint due to the force \(F_x\) is: +

+\begin{equation} + \theta_y = \frac{M_y}{k_{R_y}} = \frac{F_x h}{k_{R_y}} +\end{equation} + +

+Therefore, the applied force to test the full range of the flexible joint is: +

+\begin{equation} + F_{x,\text{max}} = \frac{k_{R_y} \theta_{y,\text{max}}}{h} +\end{equation} + +
+
Fxmax = kRx*Rxmax/h; % Force to induce maximum stroke [N]
+
+
+ +

+And we obtain: +

+\begin{equation} F_{max} = 20.0\, [N] \end{equation} + +

+The measurement range of the force sensor should then be higher than \(20\,N\). +

+
+
+ +
+

1.3 Required actuator stroke and sensors range

+
+

+The flexible joint is designed to allow a bending motion of \(\pm 20\,mrad\). +The corresponding actuator stroke to impose such motion is: +

+ +

+\[ d_{x,\text{max}} = h \tan(R_{x,\text{max}}) \] +

+ +
+
dxmax = h*tan(Rxmax);
+
+
+ +\begin{equation} d_{max} = 0.4\, [mm] \end{equation} + +

+In order to test the full range of the flexible joint, the stroke of the actuator should be higher than \(0.4\,mm\). +The measurement range of the displacement sensor should also be higher than \(0.4\,mm\). +

+
+
+ +
+

1.4 First try with the APA95ML

+
+

+The APA95ML as a stroke of \(100\,\mu m\) and the encoder in parallel can easily measure the required stroke. +

+ +

+Suppose the full stroke of the APA can be used to bend the flexible joint (ideal case), the measured force will be: +

+
+
Fxmax = kRx*100e-6/h^2; % Force at maximum stroke [N]
+
+
+ +\begin{equation} F_{max} = 5.0\, [N] \end{equation} + +

+And the tested angular range is: +

+
+
Rmax = tan(100e-6/h);
+
+
+ +\begin{equation} \theta_{max} = 5.0\, [mrad] \end{equation} +
+
+
+ +
+

2 Experimental measurement

+
+
+
+

Author: Dehaeze Thomas

+

Created: 2020-12-15 mar. 22:32

+
+ + diff --git a/index.org b/index.org new file mode 100644 index 0000000..db8dad5 --- /dev/null +++ b/index.org @@ -0,0 +1,158 @@ +#+TITLE: Flexible Joint - Test Bench +:DRAWER: +#+LANGUAGE: en +#+EMAIL: dehaeze.thomas@gmail.com +#+AUTHOR: Dehaeze Thomas + +#+HTML_LINK_HOME: ../index.html +#+HTML_LINK_UP: ../index.html + +#+HTML_HEAD: +#+HTML_HEAD: + +#+BIND: org-latex-image-default-option "scale=1" +#+BIND: org-latex-image-default-width "" + +#+LaTeX_CLASS: scrreprt +#+LaTeX_CLASS_OPTIONS: [a4paper, 10pt, DIV=12, parskip=full] +#+LaTeX_HEADER_EXTRA: \input{preamble.tex} + +#+PROPERTY: header-args:matlab :session *MATLAB* +#+PROPERTY: header-args:matlab+ :comments org +#+PROPERTY: header-args:matlab+ :exports both +#+PROPERTY: header-args:matlab+ :results none +#+PROPERTY: header-args:matlab+ :eval no-export +#+PROPERTY: header-args:matlab+ :noweb yes +#+PROPERTY: header-args:matlab+ :mkdirp yes +#+PROPERTY: header-args:matlab+ :output-dir figs + +#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/tikz/org/}{config.tex}") +#+PROPERTY: header-args:latex+ :imagemagick t :fit yes +#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150 +#+PROPERTY: header-args:latex+ :imoutoptions -quality 100 +#+PROPERTY: header-args:latex+ :results file raw replace +#+PROPERTY: header-args:latex+ :buffer no +#+PROPERTY: header-args:latex+ :tangle no +#+PROPERTY: header-args:latex+ :eval no-export +#+PROPERTY: header-args:latex+ :exports results +#+PROPERTY: header-args:latex+ :mkdirp yes +#+PROPERTY: header-args:latex+ :output-dir figs +#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png") +:END: + +* Test Bench Description +** Introduction :ignore: + +The main characteristic of the flexible joint that we want to measure is its bending stiffness $k_{R_x} \approx k_{R_y}$. + +To do so, a test bench is used. +Specifications of the test bench to precisely measure the bending stiffness are described in this section. + +The basic idea is to measured the angular deflection of the flexible joint as a function of the applied torque. + +#+name: fig:test-bench-schematic +#+caption: Schematic of the test bench to measure the bending stiffness of the flexible joints +[[file:figs/test-bench-schematic.png]] + +** Matlab Init :noexport:ignore: +#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) + <> +#+end_src + +#+begin_src matlab :exports none :results silent :noweb yes + <> +#+end_src + +** Flexible joint Geometry +The flexible joint used for the Nano-Hexapod is shown in Figure [[fig:flexible_joint_geometry]]. +Its bending stiffness is foreseen to be $k_{R_y}\approx 20\,\frac{Nm}{rad}$ and its stroke $\theta_{y,\text{max}}\approx 20\,mrad$. + +#+name: fig:flexible_joint_geometry +#+caption: Geometry of the flexible joint +[[file:figs/flexible_joint_geometry.png]] + +The height between the flexible point (center of the joint) and the point where external forces are applied is $h = 20\,mm$. + +Let's define the parameters on Matlab. +#+begin_src matlab + kRx = 20; % Bending Stiffness [Nm/rad] + Rxmax = 20e-3; % Bending Stroke [rad] + h = 20e-3; % Height [m] +#+end_src + +** Required external applied force + +The bending $\theta_y$ of the flexible joint due to the force $F_x$ is: +\begin{equation} + \theta_y = \frac{M_y}{k_{R_y}} = \frac{F_x h}{k_{R_y}} +\end{equation} + +Therefore, the applied force to test the full range of the flexible joint is: +\begin{equation} + F_{x,\text{max}} = \frac{k_{R_y} \theta_{y,\text{max}}}{h} +\end{equation} + +#+begin_src matlab + Fxmax = kRx*Rxmax/h; % Force to induce maximum stroke [N] +#+end_src + +And we obtain: +#+begin_src matlab :results value raw replace :exports results + sprintf('\\begin{equation} F_{max} = %.1f\\, [N] \\end{equation}', Fxmax) +#+end_src + +#+RESULTS: +\begin{equation} F_{max} = 20.0\, [N] \end{equation} + +The measurement range of the force sensor should then be higher than $20\,N$. + +** Required actuator stroke and sensors range + +The flexible joint is designed to allow a bending motion of $\pm 20\,mrad$. +The corresponding actuator stroke to impose such motion is: + +\[ d_{x,\text{max}} = h \tan(R_{x,\text{max}}) \] + +#+begin_src matlab + dxmax = h*tan(Rxmax); +#+end_src + +#+begin_src matlab :results value raw replace :exports results + sprintf('\\begin{equation} d_{max} = %.1f\\, [mm] \\end{equation}', 1e3*dxmax) +#+end_src + +#+RESULTS: +\begin{equation} d_{max} = 0.4\, [mm] \end{equation} + +In order to test the full range of the flexible joint, the stroke of the actuator should be higher than $0.4\,mm$. +The measurement range of the displacement sensor should also be higher than $0.4\,mm$. + +** First try with the APA95ML + +The APA95ML as a stroke of $100\,\mu m$ and the encoder in parallel can easily measure the required stroke. + +Suppose the full stroke of the APA can be used to bend the flexible joint (ideal case), the measured force will be: +#+begin_src matlab + Fxmax = kRx*100e-6/h^2; % Force at maximum stroke [N] +#+end_src + +#+begin_src matlab :results value raw replace :exports results + sprintf('\\begin{equation} F_{max} = %.1f\\, [N] \\end{equation}', Fxmax) +#+end_src + +#+RESULTS: +\begin{equation} F_{max} = 5.0\, [N] \end{equation} + +And the tested angular range is: +#+begin_src matlab + Rmax = tan(100e-6/h); +#+end_src + +#+begin_src matlab :results value raw replace :exports results + sprintf('\\begin{equation} \\theta_{max} = %.1f\\, [mrad] \\end{equation}', 1e3*Rmax) +#+end_src + +#+RESULTS: +\begin{equation} \theta_{max} = 5.0\, [mrad] \end{equation} + +* Experimental measurement