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