#+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