Initial Commit
This commit is contained in:
commit
e924615eb2
55
.gitignore
vendored
Normal file
55
.gitignore
vendored
Normal 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
|
BIN
figs/flexible_joint_geometry.pdf
Normal file
BIN
figs/flexible_joint_geometry.pdf
Normal file
Binary file not shown.
BIN
figs/flexible_joint_geometry.png
Normal file
BIN
figs/flexible_joint_geometry.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
BIN
figs/test-bench-schematic.pdf
Normal file
BIN
figs/test-bench-schematic.pdf
Normal file
Binary file not shown.
BIN
figs/test-bench-schematic.png
Normal file
BIN
figs/test-bench-schematic.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
199
index.html
Normal file
199
index.html
Normal 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’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
158
index.org
Normal 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
|
Loading…
Reference in New Issue
Block a user