Initial Commit

This commit is contained in:
Thomas Dehaeze 2020-12-15 23:03:33 +01:00
commit e924615eb2
7 changed files with 412 additions and 0 deletions

55
.gitignore vendored Normal file
View File

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

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

199
index.html Normal file
View File

@ -0,0 +1,199 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2020-12-15 mar. 22:32 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Flexible Joint - Test Bench</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
<script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
<script>MathJax = {
tex: {
tags: 'ams',
macros: {bm: ["\\boldsymbol{#1}",1],}
}
};
</script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</head>
<body>
<div id="org-div-home-and-up">
<a accesskey="h" href="../index.html"> UP </a>
|
<a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Flexible Joint - Test Bench</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org3ec0fb6">1. Test Bench Description</a>
<ul>
<li><a href="#org1c35c31">1.1. Flexible joint Geometry</a></li>
<li><a href="#org943ed6d">1.2. Required external applied force</a></li>
<li><a href="#org866642a">1.3. Required actuator stroke and sensors range</a></li>
<li><a href="#org4789077">1.4. First try with the APA95ML</a></li>
</ul>
</li>
<li><a href="#org75cb5e5">2. Experimental measurement</a></li>
</ul>
</div>
</div>
<div id="outline-container-org3ec0fb6" class="outline-2">
<h2 id="org3ec0fb6"><span class="section-number-2">1</span> Test Bench Description</h2>
<div class="outline-text-2" id="text-1">
<p>
The main characteristic of the flexible joint that we want to measure is its bending stiffness \(k_{R_x} \approx k_{R_y}\).
</p>
<p>
To do so, a test bench is used.
Specifications of the test bench to precisely measure the bending stiffness are described in this section.
</p>
<p>
The basic idea is to measured the angular deflection of the flexible joint as a function of the applied torque.
</p>
<div id="org12e0ba4" class="figure">
<p><img src="figs/test-bench-schematic.png" alt="test-bench-schematic.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Schematic of the test bench to measure the bending stiffness of the flexible joints</p>
</div>
</div>
<div id="outline-container-org1c35c31" class="outline-3">
<h3 id="org1c35c31"><span class="section-number-3">1.1</span> Flexible joint Geometry</h3>
<div class="outline-text-3" id="text-1-1">
<p>
The flexible joint used for the Nano-Hexapod is shown in Figure <a href="#org907b319">2</a>.
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\).
</p>
<div id="org907b319" class="figure">
<p><img src="figs/flexible_joint_geometry.png" alt="flexible_joint_geometry.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Geometry of the flexible joint</p>
</div>
<p>
The height between the flexible point (center of the joint) and the point where external forces are applied is \(h = 20\,mm\).
</p>
<p>
Let&rsquo;s define the parameters on Matlab.
</p>
<div class="org-src-container">
<pre class="src src-matlab">kRx = 20; <span class="org-comment">% Bending Stiffness [Nm/rad]</span>
Rxmax = 20e<span class="org-type">-</span>3; <span class="org-comment">% Bending Stroke [rad]</span>
h = 20e<span class="org-type">-</span>3; <span class="org-comment">% Height [m]</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org943ed6d" class="outline-3">
<h3 id="org943ed6d"><span class="section-number-3">1.2</span> Required external applied force</h3>
<div class="outline-text-3" id="text-1-2">
<p>
The bending \(\theta_y\) of the flexible joint due to the force \(F_x\) is:
</p>
\begin{equation}
\theta_y = \frac{M_y}{k_{R_y}} = \frac{F_x h}{k_{R_y}}
\end{equation}
<p>
Therefore, the applied force to test the full range of the flexible joint is:
</p>
\begin{equation}
F_{x,\text{max}} = \frac{k_{R_y} \theta_{y,\text{max}}}{h}
\end{equation}
<div class="org-src-container">
<pre class="src src-matlab">Fxmax = kRx<span class="org-type">*</span>Rxmax<span class="org-type">/</span>h; <span class="org-comment">% Force to induce maximum stroke [N]</span>
</pre>
</div>
<p>
And we obtain:
</p>
\begin{equation} F_{max} = 20.0\, [N] \end{equation}
<p>
The measurement range of the force sensor should then be higher than \(20\,N\).
</p>
</div>
</div>
<div id="outline-container-org866642a" class="outline-3">
<h3 id="org866642a"><span class="section-number-3">1.3</span> Required actuator stroke and sensors range</h3>
<div class="outline-text-3" id="text-1-3">
<p>
The flexible joint is designed to allow a bending motion of \(\pm 20\,mrad\).
The corresponding actuator stroke to impose such motion is:
</p>
<p>
\[ d_{x,\text{max}} = h \tan(R_{x,\text{max}}) \]
</p>
<div class="org-src-container">
<pre class="src src-matlab">dxmax = h<span class="org-type">*</span>tan(Rxmax);
</pre>
</div>
\begin{equation} d_{max} = 0.4\, [mm] \end{equation}
<p>
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\).
</p>
</div>
</div>
<div id="outline-container-org4789077" class="outline-3">
<h3 id="org4789077"><span class="section-number-3">1.4</span> First try with the APA95ML</h3>
<div class="outline-text-3" id="text-1-4">
<p>
The APA95ML as a stroke of \(100\,\mu m\) and the encoder in parallel can easily measure the required stroke.
</p>
<p>
Suppose the full stroke of the APA can be used to bend the flexible joint (ideal case), the measured force will be:
</p>
<div class="org-src-container">
<pre class="src src-matlab">Fxmax = kRx<span class="org-type">*</span>100e<span class="org-type">-</span>6<span class="org-type">/</span>h<span class="org-type">^</span>2; <span class="org-comment">% Force at maximum stroke [N]</span>
</pre>
</div>
\begin{equation} F_{max} = 5.0\, [N] \end{equation}
<p>
And the tested angular range is:
</p>
<div class="org-src-container">
<pre class="src src-matlab">Rmax = tan(100e<span class="org-type">-</span>6<span class="org-type">/</span>h);
</pre>
</div>
\begin{equation} \theta_{max} = 5.0\, [mrad] \end{equation}
</div>
</div>
</div>
<div id="outline-container-org75cb5e5" class="outline-2">
<h2 id="org75cb5e5"><span class="section-number-2">2</span> Experimental measurement</h2>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-12-15 mar. 22:32</p>
</div>
</body>
</html>

158
index.org Normal file
View File

@ -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: <link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
#+HTML_HEAD: <script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
#+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)
<<matlab-dir>>
#+end_src
#+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>>
#+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