nass-micro-station-measurem.../micro-station-compliance/index.html

967 lines
57 KiB
HTML

<?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-11-12 jeu. 10:28 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Compliance Measurement of the Micro Station</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">Compliance Measurement of the Micro Station</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org6d3ca7a">1. Setup</a>
<ul>
<li><a href="#org9d1f825">1.1. Position of inertial sensors on top of the micro-hexapod</a></li>
<li><a href="#orgee54e47">1.2. Hammer blow position/orientation</a></li>
</ul>
</li>
<li><a href="#orgda5861d">2. Results</a>
<ul>
<li><a href="#org981bf00">2.1. Load Data</a></li>
<li><a href="#org890d2d0">2.2. Compute Transfer Functions</a></li>
<li><a href="#org05266f7">2.3. Diagonal Dynamics</a></li>
<li><a href="#orgef95ff7">2.4. Equivalent Stiffness and Mass Estimation</a></li>
<li><a href="#org68cfbfb">2.5. Compare with Model</a></li>
<li><a href="#org0bfb71d">2.6. Coupling Dynamics</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org6d3ca7a" class="outline-2">
<h2 id="org6d3ca7a"><span class="section-number-2">1</span> Setup</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-org9d1f825" class="outline-3">
<h3 id="org9d1f825"><span class="section-number-3">1.1</span> Position of inertial sensors on top of the micro-hexapod</h3>
<div class="outline-text-3" id="text-1-1">
<p>
Orientation is relative to the frame determined by the X-ray
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-right" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-right" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-right"><b>Num</b></th>
<th scope="col" class="org-left"><b>Position</b></th>
<th scope="col" class="org-left"><b>Orientation</b></th>
<th scope="col" class="org-left"><b>Sensibility</b></th>
<th scope="col" class="org-right"><b>Channels</b></th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-right">1</td>
<td class="org-left">[0, +A, 0]</td>
<td class="org-left">[x, y, z]</td>
<td class="org-left">1V/g</td>
<td class="org-right">1-3</td>
</tr>
<tr>
<td class="org-right">2</td>
<td class="org-left">[-B, 0, 0]</td>
<td class="org-left">[x, y, z]</td>
<td class="org-left">1V/g</td>
<td class="org-right">4-6</td>
</tr>
<tr>
<td class="org-right">3</td>
<td class="org-left">[0, -A, 0]</td>
<td class="org-left">[x, y, z]</td>
<td class="org-left">0.1V/g</td>
<td class="org-right">7-9</td>
</tr>
<tr>
<td class="org-right">4</td>
<td class="org-left">[+B, 0, 0]</td>
<td class="org-left">[x, y, z]</td>
<td class="org-left">1V/g</td>
<td class="org-right">10-12</td>
</tr>
</tbody>
</table>
<p>
Instrumented Hammer:
</p>
<ul class="org-ul">
<li>Channel 13</li>
<li>Sensibility: 230 uV/N</li>
</ul>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-right" />
<col class="org-left" />
<col class="org-right" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-right">Acc Number</th>
<th scope="col" class="org-left">Dir</th>
<th scope="col" class="org-right">Channel Number</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-right">1</td>
<td class="org-left">x</td>
<td class="org-right">1</td>
</tr>
<tr>
<td class="org-right">1</td>
<td class="org-left">y</td>
<td class="org-right">2</td>
</tr>
<tr>
<td class="org-right">1</td>
<td class="org-left">z</td>
<td class="org-right">3</td>
</tr>
<tr>
<td class="org-right">2</td>
<td class="org-left">x</td>
<td class="org-right">4</td>
</tr>
<tr>
<td class="org-right">2</td>
<td class="org-left">y</td>
<td class="org-right">5</td>
</tr>
<tr>
<td class="org-right">2</td>
<td class="org-left">z</td>
<td class="org-right">6</td>
</tr>
<tr>
<td class="org-right">3</td>
<td class="org-left">x</td>
<td class="org-right">7</td>
</tr>
<tr>
<td class="org-right">3</td>
<td class="org-left">y</td>
<td class="org-right">8</td>
</tr>
<tr>
<td class="org-right">3</td>
<td class="org-left">z</td>
<td class="org-right">9</td>
</tr>
<tr>
<td class="org-right">4</td>
<td class="org-left">x</td>
<td class="org-right">10</td>
</tr>
<tr>
<td class="org-right">4</td>
<td class="org-left">y</td>
<td class="org-right">11</td>
</tr>
<tr>
<td class="org-right">4</td>
<td class="org-left">z</td>
<td class="org-right">12</td>
</tr>
<tr>
<td class="org-right">Hammer</td>
<td class="org-left">&#xa0;</td>
<td class="org-right">13</td>
</tr>
</tbody>
</table>
<p>
From the acceleration measurement of the 4 accelerometers, we can compute the translations and rotations:
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">&#xa0;</th>
<th scope="col" class="org-left"><b>Formula</b></th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">\(D_x\)</td>
<td class="org-left">(1x + 2x + 3x + 4x)/4</td>
</tr>
<tr>
<td class="org-left">\(D_y\)</td>
<td class="org-left">(1y + 2y + 3y + 4y)/4</td>
</tr>
<tr>
<td class="org-left">\(D_z\)</td>
<td class="org-left">(1z + 2z + 3z + 4z)/4</td>
</tr>
<tr>
<td class="org-left">\(R_x\)</td>
<td class="org-left">(1z - 3z)/A</td>
</tr>
<tr>
<td class="org-left">\(R_y\)</td>
<td class="org-left">(2z - 4z)/B</td>
</tr>
<tr>
<td class="org-left">\(R_z\)</td>
<td class="org-left">(3x - 1x)/A, (4y - 2y)/B</td>
</tr>
</tbody>
</table>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">&#xa0;</th>
<th scope="col" class="org-left"><b>Formula</b></th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">\(D_x\)</td>
<td class="org-left">(1 + 4 + 7 + 10)/4</td>
</tr>
<tr>
<td class="org-left">\(D_y\)</td>
<td class="org-left">(2 + 5 + 8 + 11)/4</td>
</tr>
<tr>
<td class="org-left">\(D_z\)</td>
<td class="org-left">(3 + 6 + 9 + 12)/4</td>
</tr>
<tr>
<td class="org-left">\(R_x\)</td>
<td class="org-left">(1 - 9)/A</td>
</tr>
<tr>
<td class="org-left">\(R_y\)</td>
<td class="org-left">(6 - 12)/B</td>
</tr>
<tr>
<td class="org-left">\(R_z\)</td>
<td class="org-left">(7 - 1)/A, (11 - 5)/B</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-orgee54e47" class="outline-3">
<h3 id="orgee54e47"><span class="section-number-3">1.2</span> Hammer blow position/orientation</h3>
<div class="outline-text-3" id="text-1-2">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-right" />
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-right"><b>Num</b></th>
<th scope="col" class="org-left"><b>Direction</b></th>
<th scope="col" class="org-left"><b>Position</b></th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-right">1</td>
<td class="org-left">-Y</td>
<td class="org-left">[0, +A, 0]</td>
</tr>
<tr>
<td class="org-right">2</td>
<td class="org-left">-Z</td>
<td class="org-left">[0, +A, 0]</td>
</tr>
<tr>
<td class="org-right">3</td>
<td class="org-left">X</td>
<td class="org-left">[-B, 0, 0]</td>
</tr>
<tr>
<td class="org-right">4</td>
<td class="org-left">-Z</td>
<td class="org-left">[-B, 0, 0]</td>
</tr>
<tr>
<td class="org-right">5</td>
<td class="org-left">Y</td>
<td class="org-left">[0, -A, 0]</td>
</tr>
<tr>
<td class="org-right">6</td>
<td class="org-left">-Z</td>
<td class="org-left">[0, -A, 0]</td>
</tr>
<tr>
<td class="org-right">7</td>
<td class="org-left">-X</td>
<td class="org-left">[+B, 0, 0]</td>
</tr>
<tr>
<td class="org-right">8</td>
<td class="org-left">-Z</td>
<td class="org-left">[+B, 0, 0]</td>
</tr>
<tr>
<td class="org-right">9</td>
<td class="org-left">-X</td>
<td class="org-left">[0, -A, 0]</td>
</tr>
<tr>
<td class="org-right">10</td>
<td class="org-left">-X</td>
<td class="org-left">[0, +A, 0]</td>
</tr>
</tbody>
</table>
<p>
From hammer blows to pure forces / torques:
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">&#xa0;</th>
<th scope="col" class="org-left"><b>Formula</b></th>
<th scope="col" class="org-left">Alternative</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">\(F_x\)</td>
<td class="org-left">+3</td>
<td class="org-left">-7</td>
</tr>
<tr>
<td class="org-left">\(F_y\)</td>
<td class="org-left">-1</td>
<td class="org-left">+5</td>
</tr>
<tr>
<td class="org-left">\(F_z\)</td>
<td class="org-left">-(2 + 6)/2</td>
<td class="org-left">-(4 + 8)/2</td>
</tr>
<tr>
<td class="org-left">\(M_x\)</td>
<td class="org-left">A/2*(2 - 6)</td>
<td class="org-left">&#xa0;</td>
</tr>
<tr>
<td class="org-left">\(M_y\)</td>
<td class="org-left">B/2*(8 - 4)</td>
<td class="org-left">&#xa0;</td>
</tr>
<tr>
<td class="org-left">\(M_z\)</td>
<td class="org-left">A/2*(10 - 9)</td>
<td class="org-left">&#xa0;</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div id="outline-container-orgda5861d" class="outline-2">
<h2 id="orgda5861d"><span class="section-number-2">2</span> Results</h2>
<div class="outline-text-2" id="text-2">
</div>
<div id="outline-container-org981bf00" class="outline-3">
<h3 id="org981bf00"><span class="section-number-3">2.1</span> Load Data</h3>
<div class="outline-text-3" id="text-2-1">
<div class="org-src-container">
<pre class="src src-matlab">m1 = load(<span class="org-string">'data/Measurement1.mat'</span>);
m2 = load(<span class="org-string">'data/Measurement2.mat'</span>);
m3 = load(<span class="org-string">'data/Measurement3.mat'</span>);
m4 = load(<span class="org-string">'data/Measurement4.mat'</span>);
m5 = load(<span class="org-string">'data/Measurement5.mat'</span>);
m6 = load(<span class="org-string">'data/Measurement6.mat'</span>);
m7 = load(<span class="org-string">'data/Measurement7.mat'</span>);
m8 = load(<span class="org-string">'data/Measurement8.mat'</span>);
m9 = load(<span class="org-string">'data/Measurement9.mat'</span>);
m10 = load(<span class="org-string">'data/Measurement10.mat'</span>);
</pre>
</div>
</div>
</div>
<div id="outline-container-org890d2d0" class="outline-3">
<h3 id="org890d2d0"><span class="section-number-3">2.2</span> Compute Transfer Functions</h3>
<div class="outline-text-3" id="text-2-2">
<div class="org-src-container">
<pre class="src src-matlab">freqs = m3.FFT1_H1_1_13_X_Val;
w = 2<span class="org-type">*</span><span class="org-constant">pi</span><span class="org-type">*</span>freqs<span class="org-type">'</span>;
A = 0.14;
B = 0.14;
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">G = zeros(6,6,length(freqs));
<span class="org-comment">% Fx</span>
G<span class="org-type">(1,1,:) </span>= (m3.FFT1_H1_1_13_Y_ReIm <span class="org-type">+</span> m3.FFT1_H1_4_13_Y_ReIm <span class="org-type">+</span> m3.FFT1_H1_7_13_Y_ReIm <span class="org-type">+</span> m3.FFT1_H1_10_13_Y_ReIm)<span class="org-type">./</span>4;
G<span class="org-type">(2,1,:) </span>= (m3.FFT1_H1_2_13_Y_ReIm <span class="org-type">+</span> m3.FFT1_H1_5_13_Y_ReIm <span class="org-type">+</span> m3.FFT1_H1_8_13_Y_ReIm <span class="org-type">+</span> m3.FFT1_H1_11_13_Y_ReIm)<span class="org-type">./</span>4;
G<span class="org-type">(3,1,:) </span>= (m3.FFT1_H1_3_13_Y_ReIm <span class="org-type">+</span> m3.FFT1_H1_6_13_Y_ReIm <span class="org-type">+</span> m3.FFT1_H1_9_13_Y_ReIm <span class="org-type">+</span> m3.FFT1_H1_12_13_Y_ReIm)<span class="org-type">./</span>4;
G<span class="org-type">(4,1,:) </span>= (m3.FFT1_H1_1_13_Y_ReIm <span class="org-type">-</span> m3.FFT1_H1_9_13_Y_ReIm )<span class="org-type">./</span>A;
G<span class="org-type">(5,1,:) </span>= (m3.FFT1_H1_6_13_Y_ReIm <span class="org-type">-</span> m3.FFT1_H1_12_13_Y_ReIm)<span class="org-type">./</span>B;
G<span class="org-type">(6,1,:) </span>= (m3.FFT1_H1_7_13_Y_ReIm <span class="org-type">-</span> m3.FFT1_H1_1_13_Y_ReIm )<span class="org-type">./</span>A;
<span class="org-comment">% Fy</span>
G<span class="org-type">(1,2,:) </span>= <span class="org-type">-</span>(m1.FFT1_H1_2_13_Y_ReIm <span class="org-type">+</span> m1.FFT1_H1_5_13_Y_ReIm <span class="org-type">+</span> m1.FFT1_H1_8_13_Y_ReIm <span class="org-type">+</span> m1.FFT1_H1_11_13_Y_ReIm)<span class="org-type">./</span>4;
G<span class="org-type">(2,2,:) </span>= <span class="org-type">-</span>(m1.FFT1_H1_2_13_Y_ReIm <span class="org-type">+</span> m1.FFT1_H1_5_13_Y_ReIm <span class="org-type">+</span> m1.FFT1_H1_8_13_Y_ReIm <span class="org-type">+</span> m1.FFT1_H1_11_13_Y_ReIm)<span class="org-type">./</span>4;
G<span class="org-type">(3,2,:) </span>= <span class="org-type">-</span>(m1.FFT1_H1_3_13_Y_ReIm <span class="org-type">+</span> m1.FFT1_H1_6_13_Y_ReIm <span class="org-type">+</span> m1.FFT1_H1_9_13_Y_ReIm <span class="org-type">+</span> m1.FFT1_H1_12_13_Y_ReIm)<span class="org-type">./</span>4;
G<span class="org-type">(4,2,:) </span>= <span class="org-type">-</span>(m1.FFT1_H1_1_13_Y_ReIm <span class="org-type">-</span> m1.FFT1_H1_9_13_Y_ReIm )<span class="org-type">./</span>A;
G<span class="org-type">(5,2,:) </span>= <span class="org-type">-</span>(m1.FFT1_H1_6_13_Y_ReIm <span class="org-type">-</span> m1.FFT1_H1_12_13_Y_ReIm)<span class="org-type">./</span>B;
G<span class="org-type">(6,2,:) </span>= <span class="org-type">-</span>(m1.FFT1_H1_7_13_Y_ReIm <span class="org-type">-</span> m1.FFT1_H1_1_13_Y_ReIm )<span class="org-type">./</span>A;
<span class="org-comment">% Fz</span>
G<span class="org-type">(1,3,:) </span>= <span class="org-type">-</span>1<span class="org-type">/</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m2.FFT1_H1_1_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_4_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_7_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_10_13_Y_ReIm) <span class="org-type">+</span> ...
1<span class="org-type">./</span>(m6.FFT1_H1_1_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_4_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_7_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_10_13_Y_ReIm));
G<span class="org-type">(2,3,:) </span>= <span class="org-type">-</span>1<span class="org-type">/</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m2.FFT1_H1_2_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_5_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_8_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_11_13_Y_ReIm) <span class="org-type">+</span> ...
1<span class="org-type">./</span>(m6.FFT1_H1_2_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_5_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_8_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_11_13_Y_ReIm));
G<span class="org-type">(3,3,:) </span>= <span class="org-type">-</span>1<span class="org-type">/</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m2.FFT1_H1_3_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_6_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_9_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_12_13_Y_ReIm) <span class="org-type">+</span> ...
1<span class="org-type">./</span>(m6.FFT1_H1_3_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_6_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_9_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_12_13_Y_ReIm));
G<span class="org-type">(4,3,:) </span>= <span class="org-type">-</span>2<span class="org-type">/</span>A<span class="org-type">./</span>(1<span class="org-type">./</span>(m2.FFT1_H1_1_13_Y_ReIm <span class="org-type">-</span> m2.FFT1_H1_9_13_Y_ReIm) <span class="org-type">+</span> ...
1<span class="org-type">./</span>(m6.FFT1_H1_1_13_Y_ReIm <span class="org-type">-</span> m6.FFT1_H1_9_13_Y_ReIm));
G<span class="org-type">(5,3,:) </span>= <span class="org-type">-</span>2<span class="org-type">/</span>B<span class="org-type">./</span>(1<span class="org-type">./</span>(m2.FFT1_H1_6_13_Y_ReIm <span class="org-type">-</span> m2.FFT1_H1_12_13_Y_ReIm) <span class="org-type">+</span> ...
1<span class="org-type">./</span>(m6.FFT1_H1_6_13_Y_ReIm <span class="org-type">-</span> m6.FFT1_H1_12_13_Y_ReIm));
G<span class="org-type">(6,3,:) </span>= <span class="org-type">-</span>2<span class="org-type">/</span>A<span class="org-type">./</span>(1<span class="org-type">./</span>(m2.FFT1_H1_7_13_Y_ReIm <span class="org-type">-</span> m2.FFT1_H1_1_13_Y_ReIm) <span class="org-type">+</span> ...
1<span class="org-type">./</span>(m6.FFT1_H1_7_13_Y_ReIm <span class="org-type">-</span> m6.FFT1_H1_1_13_Y_ReIm));
<span class="org-comment">% Mx</span>
G<span class="org-type">(1,4,:) </span>= 1<span class="org-type">/</span>A<span class="org-type">/</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m2.FFT1_H1_1_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_4_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_7_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_10_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m6.FFT1_H1_1_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_4_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_7_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_10_13_Y_ReIm));
G<span class="org-type">(2,4,:) </span>= 1<span class="org-type">/</span>A<span class="org-type">/</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m2.FFT1_H1_2_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_5_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_8_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_11_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m6.FFT1_H1_2_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_5_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_8_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_11_13_Y_ReIm));
G<span class="org-type">(3,4,:) </span>= 1<span class="org-type">/</span>A<span class="org-type">/</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m2.FFT1_H1_3_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_6_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_9_13_Y_ReIm <span class="org-type">+</span> m2.FFT1_H1_12_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m6.FFT1_H1_3_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_6_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_9_13_Y_ReIm <span class="org-type">+</span> m6.FFT1_H1_12_13_Y_ReIm));
G<span class="org-type">(4,4,:) </span>= 1<span class="org-type">/</span>A<span class="org-type">^</span>2<span class="org-type">*</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m2.FFT1_H1_1_13_Y_ReIm <span class="org-type">-</span> m2.FFT1_H1_9_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m6.FFT1_H1_1_13_Y_ReIm <span class="org-type">-</span> m6.FFT1_H1_9_13_Y_ReIm));
G<span class="org-type">(5,4,:) </span>= 2<span class="org-type">/</span>A<span class="org-type">/</span>B<span class="org-type">./</span>(1<span class="org-type">./</span>(m2.FFT1_H1_6_13_Y_ReIm <span class="org-type">-</span> m2.FFT1_H1_12_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m6.FFT1_H1_6_13_Y_ReIm <span class="org-type">-</span> m6.FFT1_H1_12_13_Y_ReIm));
G<span class="org-type">(6,4,:) </span>= 1<span class="org-type">/</span>A<span class="org-type">^</span>2<span class="org-type">*</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m2.FFT1_H1_7_13_Y_ReIm <span class="org-type">-</span> m2.FFT1_H1_1_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m6.FFT1_H1_7_13_Y_ReIm <span class="org-type">-</span> m6.FFT1_H1_1_13_Y_ReIm));
<span class="org-comment">% My</span>
G<span class="org-type">(1,5,:) </span>= 1<span class="org-type">/</span>B<span class="org-type">/</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m8.FFT1_H1_1_13_Y_ReIm <span class="org-type">+</span> m8.FFT1_H1_4_13_Y_ReIm <span class="org-type">+</span> m8.FFT1_H1_7_13_Y_ReIm <span class="org-type">+</span> m8.FFT1_H1_10_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m4.FFT1_H1_1_13_Y_ReIm <span class="org-type">+</span> m4.FFT1_H1_4_13_Y_ReIm <span class="org-type">+</span> m4.FFT1_H1_7_13_Y_ReIm <span class="org-type">+</span> m4.FFT1_H1_10_13_Y_ReIm));
G<span class="org-type">(2,5,:) </span>= 1<span class="org-type">/</span>B<span class="org-type">/</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m8.FFT1_H1_2_13_Y_ReIm <span class="org-type">+</span> m8.FFT1_H1_5_13_Y_ReIm <span class="org-type">+</span> m8.FFT1_H1_8_13_Y_ReIm <span class="org-type">+</span> m8.FFT1_H1_11_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m4.FFT1_H1_2_13_Y_ReIm <span class="org-type">+</span> m4.FFT1_H1_5_13_Y_ReIm <span class="org-type">+</span> m4.FFT1_H1_8_13_Y_ReIm <span class="org-type">+</span> m4.FFT1_H1_11_13_Y_ReIm));
G<span class="org-type">(3,5,:) </span>= 1<span class="org-type">/</span>B<span class="org-type">/</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m8.FFT1_H1_3_13_Y_ReIm <span class="org-type">+</span> m8.FFT1_H1_6_13_Y_ReIm <span class="org-type">+</span> m8.FFT1_H1_9_13_Y_ReIm <span class="org-type">+</span> m8.FFT1_H1_12_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m4.FFT1_H1_3_13_Y_ReIm <span class="org-type">+</span> m4.FFT1_H1_6_13_Y_ReIm <span class="org-type">+</span> m4.FFT1_H1_9_13_Y_ReIm <span class="org-type">+</span> m4.FFT1_H1_12_13_Y_ReIm));
G<span class="org-type">(4,5,:) </span>= 2<span class="org-type">/</span>B<span class="org-type">/</span>A<span class="org-type">./</span>(1<span class="org-type">./</span>(m8.FFT1_H1_1_13_Y_ReIm <span class="org-type">-</span> m8.FFT1_H1_9_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m4.FFT1_H1_1_13_Y_ReIm <span class="org-type">-</span> m4.FFT1_H1_9_13_Y_ReIm));
G<span class="org-type">(5,5,:) </span>= 1<span class="org-type">/</span>B<span class="org-type">^</span>2<span class="org-type">*</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m8.FFT1_H1_6_13_Y_ReIm <span class="org-type">-</span> m8.FFT1_H1_12_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m4.FFT1_H1_6_13_Y_ReIm <span class="org-type">-</span> m4.FFT1_H1_12_13_Y_ReIm));
G<span class="org-type">(6,5,:) </span>= 2<span class="org-type">/</span>B<span class="org-type">/</span>A<span class="org-type">./</span>(1<span class="org-type">./</span>(m8.FFT1_H1_7_13_Y_ReIm <span class="org-type">-</span> m8.FFT1_H1_1_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m4.FFT1_H1_7_13_Y_ReIm <span class="org-type">-</span> m4.FFT1_H1_1_13_Y_ReIm));
<span class="org-comment">% Mz</span>
G<span class="org-type">(1,6,:) </span>= 1<span class="org-type">/</span>A<span class="org-type">/</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m10.FFT1_H1_1_13_Y_ReIm <span class="org-type">+</span> m10.FFT1_H1_4_13_Y_ReIm <span class="org-type">+</span> m10.FFT1_H1_7_13_Y_ReIm <span class="org-type">+</span> m10.FFT1_H1_10_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m9.FFT1_H1_1_13_Y_ReIm <span class="org-type">+</span> m9.FFT1_H1_4_13_Y_ReIm <span class="org-type">+</span> m9.FFT1_H1_7_13_Y_ReIm <span class="org-type">+</span> m9.FFT1_H1_10_13_Y_ReIm));
G<span class="org-type">(2,6,:) </span>= 1<span class="org-type">/</span>A<span class="org-type">/</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m10.FFT1_H1_2_13_Y_ReIm <span class="org-type">+</span> m10.FFT1_H1_5_13_Y_ReIm <span class="org-type">+</span> m10.FFT1_H1_8_13_Y_ReIm <span class="org-type">+</span> m10.FFT1_H1_11_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m9.FFT1_H1_2_13_Y_ReIm <span class="org-type">+</span> m9.FFT1_H1_5_13_Y_ReIm <span class="org-type">+</span> m9.FFT1_H1_8_13_Y_ReIm <span class="org-type">+</span> m9.FFT1_H1_11_13_Y_ReIm));
G<span class="org-type">(3,6,:) </span>= 1<span class="org-type">/</span>A<span class="org-type">/</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m10.FFT1_H1_3_13_Y_ReIm <span class="org-type">+</span> m10.FFT1_H1_6_13_Y_ReIm <span class="org-type">+</span> m10.FFT1_H1_9_13_Y_ReIm <span class="org-type">+</span> m10.FFT1_H1_12_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m9.FFT1_H1_3_13_Y_ReIm <span class="org-type">+</span> m9.FFT1_H1_6_13_Y_ReIm <span class="org-type">+</span> m9.FFT1_H1_9_13_Y_ReIm <span class="org-type">+</span> m9.FFT1_H1_12_13_Y_ReIm));
G<span class="org-type">(4,6,:) </span>= 1<span class="org-type">/</span>A<span class="org-type">^</span>2<span class="org-type">*</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m10.FFT1_H1_1_13_Y_ReIm <span class="org-type">-</span> m10.FFT1_H1_9_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m9.FFT1_H1_1_13_Y_ReIm <span class="org-type">-</span> m9.FFT1_H1_9_13_Y_ReIm));
G<span class="org-type">(5,6,:) </span>= 2<span class="org-type">*</span>A<span class="org-type">/</span>B<span class="org-type">./</span>(1<span class="org-type">./</span>(m10.FFT1_H1_6_13_Y_ReIm <span class="org-type">-</span> m10.FFT1_H1_12_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m9.FFT1_H1_6_13_Y_ReIm <span class="org-type">-</span> m9.FFT1_H1_12_13_Y_ReIm));
G<span class="org-type">(6,6,:) </span>= 1<span class="org-type">/</span>A<span class="org-type">^</span>2<span class="org-type">*</span>2<span class="org-type">./</span>(1<span class="org-type">./</span>(m10.FFT1_H1_7_13_Y_ReIm <span class="org-type">-</span> m10.FFT1_H1_1_13_Y_ReIm) <span class="org-type">-</span> ...
1<span class="org-type">./</span>(m9.FFT1_H1_7_13_Y_ReIm <span class="org-type">-</span> m9.FFT1_H1_1_13_Y_ReIm));
</pre>
</div>
</div>
</div>
<div id="outline-container-org05266f7" class="outline-3">
<h3 id="org05266f7"><span class="section-number-3">2.3</span> Diagonal Dynamics</h3>
<div class="outline-text-3" id="text-2-3">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
ax1 = subplot(2,1,1);
hold on;
plot(freqs, abs(squeeze(G(1,1,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
plot(freqs, abs(squeeze(G(2,2,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
plot(freqs, abs(squeeze(G(3,3,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
hold off;
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XScale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'YScale'</span>, <span class="org-string">'log'</span>);
ylabel(<span class="org-string">'Magnitude [m/N]'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XTickLabel'</span>,[]);
ylim([1e<span class="org-type">-</span>9, 2e<span class="org-type">-</span>6]);
ax2 = subplot(2,1,2);
hold on;
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(1,1,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$D_x/F_x$'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(2,2,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$D_y/F_y$'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(3,3,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$D_z/F_z$'</span>)
hold off;
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XScale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'YScale'</span>, <span class="org-string">'lin'</span>);
xlabel(<span class="org-string">'Freqency [Hz]'</span>); ylabel(<span class="org-string">'Phase [deg]'</span>);
ylim([<span class="org-type">-</span>180, 180]);
yticks([<span class="org-type">-</span>180, <span class="org-type">-</span>90, 0, 90, 180]);
legend(<span class="org-string">'location'</span>, <span class="org-string">'southwest'</span>);
linkaxes([ax1,ax2],<span class="org-string">'x'</span>);
xlim([30, 300]);
</pre>
</div>
<div id="org3b79c32" class="figure">
<p><img src="figs/compliance_diagonal_translations.png" alt="compliance_diagonal_translations.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Dynamics from Forces to Translations</p>
</div>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
ax1 = subplot(2,1,1);
hold on;
plot(freqs, abs(squeeze(G(4,4,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
plot(freqs, abs(squeeze(G(5,5,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
plot(freqs, abs(squeeze(G(6,6,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
hold off;
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XScale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'YScale'</span>, <span class="org-string">'log'</span>);
ylabel(<span class="org-string">'Magnitude [rad/Nm]'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XTickLabel'</span>,[]);
ylim([1e<span class="org-type">-</span>7, 2e<span class="org-type">-</span>4]);
ax2 = subplot(2,1,2);
hold on;
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(4,4,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$R_x/M_x$'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(5,5,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$R_y/M_y$'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(6,6,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$R_z/M_z$'</span>)
hold off;
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XScale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'YScale'</span>, <span class="org-string">'lin'</span>);
xlabel(<span class="org-string">'Freqency [Hz]'</span>); ylabel(<span class="org-string">'Phase [deg]'</span>);
ylim([<span class="org-type">-</span>180, 180]);
yticks([<span class="org-type">-</span>180, <span class="org-type">-</span>90, 0, 90, 180]);
legend(<span class="org-string">'location'</span>, <span class="org-string">'southwest'</span>);
linkaxes([ax1,ax2],<span class="org-string">'x'</span>);
xlim([30, 300]);
</pre>
</div>
<div id="orgd6380a4" class="figure">
<p><img src="figs/compliance_diagonal_rotations.png" alt="compliance_diagonal_rotations.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Dynamics from Torques to Rotations</p>
</div>
</div>
</div>
<div id="outline-container-orgef95ff7" class="outline-3">
<h3 id="orgef95ff7"><span class="section-number-3">2.4</span> Equivalent Stiffness and Mass Estimation</h3>
<div class="outline-text-3" id="text-2-4">
<div class="org-src-container">
<pre class="src src-matlab">K = [1e7, 1e7, 2e8, 5e7, 3e7, 2e7];
f_res = [125, 135, 390, 335, 335, 160];
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">M = [20, 20, 20, 11, 7, 20];
f_res_est = sqrt(K<span class="org-type">./</span>M)<span class="org-type">./</span>(2<span class="org-type">*</span><span class="org-constant">pi</span>);
</pre>
</div>
<p>
Here is the inertia / stiffness to the granite that can represent the micro-station compliance dynamics:
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-right" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Stiffness</th>
<th scope="col" class="org-right">Inertia</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">x</td>
<td class="org-right">10000000.0</td>
</tr>
<tr>
<td class="org-left">y</td>
<td class="org-right">10000000.0</td>
</tr>
<tr>
<td class="org-left">z</td>
<td class="org-right">200000000.0</td>
</tr>
<tr>
<td class="org-left">Rx</td>
<td class="org-right">50000000.0</td>
</tr>
<tr>
<td class="org-left">Ry</td>
<td class="org-right">30000000.0</td>
</tr>
<tr>
<td class="org-left">Rz</td>
<td class="org-right">20000000.0</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org68cfbfb" class="outline-3">
<h3 id="org68cfbfb"><span class="section-number-3">2.5</span> Compare with Model</h3>
<div class="outline-text-3" id="text-2-5">
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/model.mat'</span>, <span class="org-string">'Gm'</span>);
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
ax1 = subplot(2,1,1);
hold on;
plot(freqs, abs(squeeze(G(1,1,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
plot(freqs, abs(squeeze(G(2,2,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
plot(freqs, abs(squeeze(G(3,3,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>,<span class="org-string">'ColorOrderIndex'</span>,1);
plot(freqs, abs(squeeze(freqresp(Gm(1,1,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>)
plot(freqs, abs(squeeze(freqresp(Gm(2,2,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>)
plot(freqs, abs(squeeze(freqresp(Gm(3,3,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>)
hold off;
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XScale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'YScale'</span>, <span class="org-string">'log'</span>);
ylabel(<span class="org-string">'Magnitude [m/N]'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XTickLabel'</span>,[]);
ylim([1e<span class="org-type">-</span>9, 2e<span class="org-type">-</span>6]);
ax2 = subplot(2,1,2);
hold on;
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(1,1,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$D_x/F_x$'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(2,2,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$D_y/F_y$'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(3,3,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$D_z/F_z$'</span>)
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>,<span class="org-string">'ColorOrderIndex'</span>,1);
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(Gm(1,1,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>, <span class="org-string">'HandleVisibility'</span>, <span class="org-string">'off'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(Gm(2,2,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>, <span class="org-string">'HandleVisibility'</span>, <span class="org-string">'off'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(Gm(3,3,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>, <span class="org-string">'HandleVisibility'</span>, <span class="org-string">'off'</span>)
hold off;
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XScale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'YScale'</span>, <span class="org-string">'lin'</span>);
xlabel(<span class="org-string">'Freqency [Hz]'</span>); ylabel(<span class="org-string">'Phase [deg]'</span>);
ylim([<span class="org-type">-</span>180, 180]);
yticks([<span class="org-type">-</span>180, <span class="org-type">-</span>90, 0, 90, 180]);
legend(<span class="org-string">'location'</span>, <span class="org-string">'southwest'</span>);
linkaxes([ax1,ax2],<span class="org-string">'x'</span>);
xlim([30, 300]);
</pre>
</div>
<div id="org17d53d6" class="figure">
<p><img src="figs/compliance_diagonal_translations_comp_model.png" alt="compliance_diagonal_translations_comp_model.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Dynamics from Forces to Translations</p>
</div>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
ax1 = subplot(2,1,1);
hold on;
plot(freqs, abs(squeeze(G(4,4,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
plot(freqs, abs(squeeze(G(5,5,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
plot(freqs, abs(squeeze(G(6,6,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>,<span class="org-string">'ColorOrderIndex'</span>,1);
plot(freqs, abs(squeeze(freqresp(Gm(4,4,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>)
plot(freqs, abs(squeeze(freqresp(Gm(5,5,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>)
plot(freqs, abs(squeeze(freqresp(Gm(6,6,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>)
hold off;
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XScale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'YScale'</span>, <span class="org-string">'log'</span>);
ylabel(<span class="org-string">'Magnitude [rad/Nm]'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XTickLabel'</span>,[]);
<span class="org-comment">% ylim([1e-9, 2e-6]);</span>
ax2 = subplot(2,1,2);
hold on;
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(4,4,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$R_x/M_x$'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(5,5,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$R_y/M_y$'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(6,6,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$R_z/M_z$'</span>)
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>,<span class="org-string">'ColorOrderIndex'</span>,1);
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(Gm(4,4,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>, <span class="org-string">'HandleVisibility'</span>, <span class="org-string">'off'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(Gm(5,5,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>, <span class="org-string">'HandleVisibility'</span>, <span class="org-string">'off'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(Gm(6,6,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>, <span class="org-string">'HandleVisibility'</span>, <span class="org-string">'off'</span>)
hold off;
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XScale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'YScale'</span>, <span class="org-string">'lin'</span>);
xlabel(<span class="org-string">'Freqency [Hz]'</span>); ylabel(<span class="org-string">'Phase [deg]'</span>);
ylim([<span class="org-type">-</span>180, 180]);
yticks([<span class="org-type">-</span>180, <span class="org-type">-</span>90, 0, 90, 180]);
legend(<span class="org-string">'location'</span>, <span class="org-string">'southwest'</span>);
linkaxes([ax1,ax2],<span class="org-string">'x'</span>);
xlim([30, 300]);
</pre>
</div>
<div id="org5de58b2" class="figure">
<p><img src="figs/compliance_diagonal_rotations_comp_model.png" alt="compliance_diagonal_rotations_comp_model.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Dynamics from Torques to Rotations</p>
</div>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-right" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">&#xa0;</th>
<th scope="col" class="org-right">Stiffness</th>
<th scope="col" class="org-left">Unit</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">\(K_x\)</td>
<td class="org-right">1e7</td>
<td class="org-left">[N/m]</td>
</tr>
<tr>
<td class="org-left">\(K_y\)</td>
<td class="org-right">1e7</td>
<td class="org-left">[N/m]</td>
</tr>
<tr>
<td class="org-left">\(K_z\)</td>
<td class="org-right">2e8</td>
<td class="org-left">[N/m]</td>
</tr>
<tr>
<td class="org-left">\(K_{R_x}\)</td>
<td class="org-right">5e7</td>
<td class="org-left">[Nm/rad]</td>
</tr>
<tr>
<td class="org-left">\(K_{R_y}\)</td>
<td class="org-right">3e7</td>
<td class="org-left">[Nm/rad]</td>
</tr>
<tr>
<td class="org-left">\(K_{R_z}\)</td>
<td class="org-right">2e7</td>
<td class="org-left">[Nm/rad]</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org0bfb71d" class="outline-3">
<h3 id="org0bfb71d"><span class="section-number-3">2.6</span> Coupling Dynamics</h3>
<div class="outline-text-3" id="text-2-6">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
ax1 = subplot(2,1,1);
hold on;
plot(freqs, abs(squeeze(G(1,1,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
plot(freqs, abs(squeeze(G(2,1,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
plot(freqs, abs(squeeze(G(3,1,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>,<span class="org-string">'ColorOrderIndex'</span>,1);
plot(freqs, abs(squeeze(freqresp(Gm(1,1,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>)
plot(freqs, abs(squeeze(freqresp(Gm(2,1,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>)
plot(freqs, abs(squeeze(freqresp(Gm(3,1,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>)
hold off;
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XScale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'YScale'</span>, <span class="org-string">'log'</span>);
ylabel(<span class="org-string">'Magnitude [m/N]'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XTickLabel'</span>,[]);
ylim([1e<span class="org-type">-</span>9, 2e<span class="org-type">-</span>6]);
ax2 = subplot(2,1,2);
hold on;
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(1,1,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$D_x/F_x$'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(2,1,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$D_y/F_x$'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(3,1,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$D_z/F_x$'</span>)
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>,<span class="org-string">'ColorOrderIndex'</span>,1);
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(Gm(1,1,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>, <span class="org-string">'HandleVisibility'</span>, <span class="org-string">'off'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(Gm(2,1,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>, <span class="org-string">'HandleVisibility'</span>, <span class="org-string">'off'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(Gm(3,1,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>, <span class="org-string">'HandleVisibility'</span>, <span class="org-string">'off'</span>)
hold off;
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XScale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'YScale'</span>, <span class="org-string">'lin'</span>);
xlabel(<span class="org-string">'Freqency [Hz]'</span>); ylabel(<span class="org-string">'Phase [deg]'</span>);
ylim([<span class="org-type">-</span>180, 180]);
yticks([<span class="org-type">-</span>180, <span class="org-type">-</span>90, 0, 90, 180]);
legend(<span class="org-string">'location'</span>, <span class="org-string">'southwest'</span>);
linkaxes([ax1,ax2],<span class="org-string">'x'</span>);
xlim([30, 300]);
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
ax1 = subplot(2,1,1);
hold on;
plot(freqs, abs(squeeze(G(5,1,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
plot(freqs, abs(squeeze(G(4,2,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>)
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>,<span class="org-string">'ColorOrderIndex'</span>,1);
plot(freqs, abs(squeeze(freqresp(Gm(5,1,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>)
plot(freqs, abs(squeeze(freqresp(Gm(4,2,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>)
hold off;
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XScale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'YScale'</span>, <span class="org-string">'log'</span>);
ylabel(<span class="org-string">'Magnitude [m/N]'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XTickLabel'</span>,[]);
ylim([1e<span class="org-type">-</span>9, 2e<span class="org-type">-</span>6]);
ax2 = subplot(2,1,2);
hold on;
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(5,1,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$R_y/F_x$'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(G(4,2,<span class="org-type">:</span>))<span class="org-type">./</span>(<span class="org-type">-</span>w<span class="org-type">.^</span>2)), <span class="org-string">'.'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'$R_x/F_y$'</span>)
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>,<span class="org-string">'ColorOrderIndex'</span>,1);
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(Gm(5,1,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>, <span class="org-string">'HandleVisibility'</span>, <span class="org-string">'off'</span>)
plot(freqs, 180<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">*</span>angle(squeeze(freqresp(Gm(4,2,<span class="org-type">:</span>), freqs, <span class="org-string">'Hz'</span>))), <span class="org-string">'-'</span>, <span class="org-string">'HandleVisibility'</span>, <span class="org-string">'off'</span>)
hold off;
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XScale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'YScale'</span>, <span class="org-string">'lin'</span>);
xlabel(<span class="org-string">'Freqency [Hz]'</span>); ylabel(<span class="org-string">'Phase [deg]'</span>);
ylim([<span class="org-type">-</span>180, 180]);
yticks([<span class="org-type">-</span>180, <span class="org-type">-</span>90, 0, 90, 180]);
legend(<span class="org-string">'location'</span>, <span class="org-string">'southwest'</span>);
linkaxes([ax1,ax2],<span class="org-string">'x'</span>);
xlim([30, 300]);
</pre>
</div>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-11-12 jeu. 10:28</p>
</div>
</body>
</html>