Use online CSS and JS
This commit is contained in:
@@ -3,18 +3,13 @@
|
||||
"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-10-05 lun. 15:08 -->
|
||||
<!-- 2020-11-12 jeu. 10:42 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<title>Robust and Optimal Sensor Fusion - Matlab Computation</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="Thomas Dehaeze" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
||||
<script src="../js/jquery.min.js"></script>
|
||||
<script src="../js/bootstrap.min.js"></script>
|
||||
<script src="../js/jquery.stickytableheaders.min.js"></script>
|
||||
<script src="../js/readtheorg.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.rawgit.com/dreampulse/computer-modern-web-font/master/fonts.css">
|
||||
<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',
|
||||
@@ -26,59 +21,59 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
<a accesskey="h" href="./index.html"> UP </a>
|
||||
<a accesskey="h" href="../index.html"> UP </a>
|
||||
|
|
||||
<a accesskey="H" href="./index.html"> HOME </a>
|
||||
<a accesskey="H" href="../index.html"> HOME </a>
|
||||
</div><div id="content">
|
||||
<h1 class="title">Robust and Optimal Sensor Fusion - Matlab Computation</h1>
|
||||
<div id="table-of-contents">
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org0a492b7">1. Sensor Description</a>
|
||||
<li><a href="#orgb558a2f">1. Sensor Description</a>
|
||||
<ul>
|
||||
<li><a href="#org9575585">1.1. Sensor Dynamics</a></li>
|
||||
<li><a href="#orgec8c81d">1.2. Sensor Model Uncertainty</a></li>
|
||||
<li><a href="#org81d9a34">1.3. Sensor Noise</a></li>
|
||||
<li><a href="#org4e23f6c">1.4. Save Model</a></li>
|
||||
<li><a href="#org2e756d8">1.1. Sensor Dynamics</a></li>
|
||||
<li><a href="#orgf266a4b">1.2. Sensor Model Uncertainty</a></li>
|
||||
<li><a href="#orgb768f02">1.3. Sensor Noise</a></li>
|
||||
<li><a href="#org426c21e">1.4. Save Model</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2cab1a2">2. Introduction to Sensor Fusion</a>
|
||||
<li><a href="#orgce0ac83">2. Introduction to Sensor Fusion</a>
|
||||
<ul>
|
||||
<li><a href="#org0cbc92d">2.1. Sensor Fusion Architecture</a></li>
|
||||
<li><a href="#orge9e0bd4">2.2. Super Sensor Noise</a></li>
|
||||
<li><a href="#orgefb4347">2.3. Super Sensor Dynamical Uncertainty</a></li>
|
||||
<li><a href="#orgbb36114">2.1. Sensor Fusion Architecture</a></li>
|
||||
<li><a href="#org3a4f4b8">2.2. Super Sensor Noise</a></li>
|
||||
<li><a href="#org3f0594e">2.3. Super Sensor Dynamical Uncertainty</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5896b60">3. Optimal Super Sensor Noise: \(\mathcal{H}_2\) Synthesis</a>
|
||||
<li><a href="#org096192f">3. Optimal Super Sensor Noise: \(\mathcal{H}_2\) Synthesis</a>
|
||||
<ul>
|
||||
<li><a href="#orgf5a8a84">3.1. \(\mathcal{H}_2\) Synthesis</a></li>
|
||||
<li><a href="#org72159df">3.2. Super Sensor Noise</a></li>
|
||||
<li><a href="#org8ffba19">3.3. Discrepancy between sensor dynamics and model</a></li>
|
||||
<li><a href="#org9188eae">3.1. \(\mathcal{H}_2\) Synthesis</a></li>
|
||||
<li><a href="#org6d6d909">3.2. Super Sensor Noise</a></li>
|
||||
<li><a href="#org850d99e">3.3. Discrepancy between sensor dynamics and model</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org26ea7b1">4. Robust Sensor Fusion: \(\mathcal{H}_\infty\) Synthesis</a>
|
||||
<li><a href="#org6d1270a">4. Robust Sensor Fusion: \(\mathcal{H}_\infty\) Synthesis</a>
|
||||
<ul>
|
||||
<li><a href="#org8dfd9d2">4.1. Weighting Function used to bound the super sensor uncertainty</a></li>
|
||||
<li><a href="#org7422ade">4.2. \(\mathcal{H}_\infty\) Synthesis</a></li>
|
||||
<li><a href="#orga0267c6">4.3. Super sensor uncertainty</a></li>
|
||||
<li><a href="#org979fede">4.4. Super sensor noise</a></li>
|
||||
<li><a href="#orgda33992">4.5. Conclusion</a></li>
|
||||
<li><a href="#orgc5a0221">4.1. Weighting Function used to bound the super sensor uncertainty</a></li>
|
||||
<li><a href="#org334f826">4.2. \(\mathcal{H}_\infty\) Synthesis</a></li>
|
||||
<li><a href="#org211e432">4.3. Super sensor uncertainty</a></li>
|
||||
<li><a href="#org7672e0e">4.4. Super sensor noise</a></li>
|
||||
<li><a href="#orgdcb47cf">4.5. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org15afe90">5. Optimal and Robust Sensor Fusion: Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis</a>
|
||||
<li><a href="#org49a7cc2">5. Optimal and Robust Sensor Fusion: Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis</a>
|
||||
<ul>
|
||||
<li><a href="#org0f81a91">5.1. Mixed \(\mathcal{H}_2\) / \(\mathcal{H}_\infty\) Synthesis</a></li>
|
||||
<li><a href="#org417aabd">5.2. Obtained Super Sensor’s noise</a></li>
|
||||
<li><a href="#org2dce888">5.3. Obtained Super Sensor’s Uncertainty</a></li>
|
||||
<li><a href="#org47da78c">5.4. Conclusion</a></li>
|
||||
<li><a href="#org7ed8ed7">5.1. Mixed \(\mathcal{H}_2\) / \(\mathcal{H}_\infty\) Synthesis</a></li>
|
||||
<li><a href="#orgfb839cf">5.2. Obtained Super Sensor’s noise</a></li>
|
||||
<li><a href="#orgb8596ac">5.3. Obtained Super Sensor’s Uncertainty</a></li>
|
||||
<li><a href="#orgfcfa8a2">5.4. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0afe5ef">6. Matlab Functions</a>
|
||||
<li><a href="#orgf267700">6. Matlab Functions</a>
|
||||
<ul>
|
||||
<li><a href="#orge81e522">6.1. <code>createWeight</code></a></li>
|
||||
<li><a href="#org37ec2b4">6.2. <code>plotMagUncertainty</code></a></li>
|
||||
<li><a href="#org9f73572">6.3. <code>plotPhaseUncertainty</code></a></li>
|
||||
<li><a href="#org005db82">6.1. <code>createWeight</code></a></li>
|
||||
<li><a href="#org816b32a">6.2. <code>plotMagUncertainty</code></a></li>
|
||||
<li><a href="#orgddb3773">6.3. <code>plotPhaseUncertainty</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -89,27 +84,27 @@
|
||||
This document is arranged as follows:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>Section <a href="#orgee25d07">1</a>: the sensors are described (dynamics, uncertainty, noise)</li>
|
||||
<li>Section <a href="#orga64daad">2</a>: the sensor fusion architecture is described and the super sensor noise and dynamical uncertainty are derived</li>
|
||||
<li>Section <a href="#orgdd6b9ce">3</a>: the \(\mathcal{H}_2\) synthesis is used to design complementary filters such that the RMS value of the super sensor’s noise is minimized</li>
|
||||
<li>Section <a href="#org5d93f37">4</a>: the \(\mathcal{H}_\infty\) synthesis is used to design complementary filters such that the super sensor’s uncertainty is bonded to acceptable values</li>
|
||||
<li>Section <a href="#org9f98c16">5</a>: the mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis is used to both limit the super sensor’s uncertainty and to lower the RMS value of the super sensor’s noise</li>
|
||||
<li>Section <a href="#orgf41dc8d">6</a>: Matlab functions used for the analysis are described</li>
|
||||
<li>Section <a href="#org3cd5225">1</a>: the sensors are described (dynamics, uncertainty, noise)</li>
|
||||
<li>Section <a href="#orge87db28">2</a>: the sensor fusion architecture is described and the super sensor noise and dynamical uncertainty are derived</li>
|
||||
<li>Section <a href="#orgbaf748a">3</a>: the \(\mathcal{H}_2\) synthesis is used to design complementary filters such that the RMS value of the super sensor’s noise is minimized</li>
|
||||
<li>Section <a href="#orgea66128">4</a>: the \(\mathcal{H}_\infty\) synthesis is used to design complementary filters such that the super sensor’s uncertainty is bonded to acceptable values</li>
|
||||
<li>Section <a href="#org2aeafb3">5</a>: the mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis is used to both limit the super sensor’s uncertainty and to lower the RMS value of the super sensor’s noise</li>
|
||||
<li>Section <a href="#org50a28ec">6</a>: Matlab functions used for the analysis are described</li>
|
||||
</ul>
|
||||
|
||||
<div id="outline-container-org0a492b7" class="outline-2">
|
||||
<h2 id="org0a492b7"><span class="section-number-2">1</span> Sensor Description</h2>
|
||||
<div id="outline-container-orgb558a2f" class="outline-2">
|
||||
<h2 id="orgb558a2f"><span class="section-number-2">1</span> Sensor Description</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
<a id="orgee25d07"></a>
|
||||
<a id="org3cd5225"></a>
|
||||
</p>
|
||||
<p>
|
||||
In Figure <a href="#org35e2340">1</a> is shown a schematic of a sensor model that is used in the following study.
|
||||
In Figure <a href="#orgd79f98f">1</a> is shown a schematic of a sensor model that is used in the following study.
|
||||
In this example, the measured quantity \(x\) is the velocity of an object.
|
||||
</p>
|
||||
|
||||
<table id="org2fe6194" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 1:</span> Description of signals in Figure <a href="#org35e2340">1</a></caption>
|
||||
<table id="org5aafbb9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 1:</span> Description of signals in Figure <a href="#orgd79f98f">1</a></caption>
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
@@ -176,8 +171,8 @@ In this example, the measured quantity \(x\) is the velocity of an object.
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="org281ecb3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 2:</span> Description of Systems in Figure <a href="#org35e2340">1</a></caption>
|
||||
<table id="org3780b2b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 2:</span> Description of Systems in Figure <a href="#orgd79f98f">1</a></caption>
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
@@ -221,18 +216,18 @@ In this example, the measured quantity \(x\) is the velocity of an object.
|
||||
</table>
|
||||
|
||||
|
||||
<div id="org35e2340" class="figure">
|
||||
<div id="orgd79f98f" class="figure">
|
||||
<p><img src="figs-paper/sensor_model_noise_uncertainty.png" alt="sensor_model_noise_uncertainty.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 1: </span>Sensor Model</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9575585" class="outline-3">
|
||||
<h3 id="org9575585"><span class="section-number-3">1.1</span> Sensor Dynamics</h3>
|
||||
<div id="outline-container-org2e756d8" class="outline-3">
|
||||
<h3 id="org2e756d8"><span class="section-number-3">1.1</span> Sensor Dynamics</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
<a id="org52415aa"></a>
|
||||
<a id="org01c4832"></a>
|
||||
Let’s consider two sensors measuring the velocity of an object.
|
||||
</p>
|
||||
|
||||
@@ -263,14 +258,14 @@ G2 = g_pos<span class="org-type">/</span>s<span class="org-type">/</span>(1 <spa
|
||||
|
||||
<p>
|
||||
These nominal dynamics are also taken as the model of the sensor dynamics.
|
||||
The true sensor dynamics has some uncertainty associated to it and described in section <a href="#orgf04439d">1.2</a>.
|
||||
The true sensor dynamics has some uncertainty associated to it and described in section <a href="#org3943238">1.2</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Both sensor dynamics in \([\frac{V}{m/s}]\) are shown in Figure <a href="#org2d1ef0b">2</a>.
|
||||
Both sensor dynamics in \([\frac{V}{m/s}]\) are shown in Figure <a href="#org355b3fc">2</a>.
|
||||
</p>
|
||||
|
||||
<div id="org2d1ef0b" class="figure">
|
||||
<div id="org355b3fc" class="figure">
|
||||
<p><img src="figs/sensors_nominal_dynamics.png" alt="sensors_nominal_dynamics.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 2: </span>Sensor nominal dynamics from the velocity of the object to the output voltage</p>
|
||||
@@ -278,12 +273,12 @@ Both sensor dynamics in \([\frac{V}{m/s}]\) are shown in Figure <a href="#org2d1
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgec8c81d" class="outline-3">
|
||||
<h3 id="orgec8c81d"><span class="section-number-3">1.2</span> Sensor Model Uncertainty</h3>
|
||||
<div id="outline-container-orgf266a4b" class="outline-3">
|
||||
<h3 id="orgf266a4b"><span class="section-number-3">1.2</span> Sensor Model Uncertainty</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
<a id="orgf04439d"></a>
|
||||
The uncertainty on the sensor dynamics is described by multiplicative uncertainty (Figure <a href="#org35e2340">1</a>).
|
||||
<a id="org3943238"></a>
|
||||
The uncertainty on the sensor dynamics is described by multiplicative uncertainty (Figure <a href="#orgd79f98f">1</a>).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -295,10 +290,10 @@ The true sensor dynamics \(G_i(s)\) is then described by \eqref{eq:sensor_dynami
|
||||
\end{equation}
|
||||
|
||||
<p>
|
||||
The weights \(W_i(s)\) representing the dynamical uncertainty are defined below and their magnitude is shown in Figure <a href="#org557e062">3</a>.
|
||||
The weights \(W_i(s)\) representing the dynamical uncertainty are defined below and their magnitude is shown in Figure <a href="#org2530a6e">3</a>.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">W1 = createWeight(<span class="org-string">'n'</span>, 2, <span class="org-string">'w0'</span>, 2<span class="org-type">*</span><span class="org-constant">pi</span><span class="org-type">*</span>3, <span class="org-string">'G0'</span>, 2, <span class="org-string">'G1'</span>, 0.1, <span class="org-string">'Gc'</span>, 1) <span class="org-type">*</span> ...
|
||||
<pre class="src src-matlab">W1 = createWeight(<span class="org-string">'n'</span>, 2, <span class="org-string">'w0'</span>, 2<span class="org-type">*</span><span class="org-constant">pi</span><span class="org-type">*</span>3, <span class="org-string">'G0'</span>, 2, <span class="org-string">'G1'</span>, 0.1, <span class="org-string">'Gc'</span>, 1) <span class="org-type">*</span> ...
|
||||
createWeight(<span class="org-string">'n'</span>, 2, <span class="org-string">'w0'</span>, 2<span class="org-type">*</span><span class="org-constant">pi</span><span class="org-type">*</span>1e3, <span class="org-string">'G0'</span>, 1, <span class="org-string">'G1'</span>, 4<span class="org-type">/</span>0.1, <span class="org-string">'Gc'</span>, 1<span class="org-type">/</span>0.1);
|
||||
|
||||
W2 = createWeight(<span class="org-string">'n'</span>, 2, <span class="org-string">'w0'</span>, 2<span class="org-type">*</span><span class="org-constant">pi</span><span class="org-type">*</span>1e2, <span class="org-string">'G0'</span>, 0.05, <span class="org-string">'G1'</span>, 4, <span class="org-string">'Gc'</span>, 1);
|
||||
@@ -306,18 +301,18 @@ W2 = createWeight(<span class="org-string">'n'</span>, 2, <span class="org-strin
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The bode plot of the sensors nominal dynamics as well as their defined dynamical spread are shown in Figure <a href="#orgc218675">4</a>.
|
||||
The bode plot of the sensors nominal dynamics as well as their defined dynamical spread are shown in Figure <a href="#org415740c">4</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org557e062" class="figure">
|
||||
<div id="org2530a6e" class="figure">
|
||||
<p><img src="figs/sensors_uncertainty_weights.png" alt="sensors_uncertainty_weights.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 3: </span>Magnitude of the multiplicative uncertainty weights \(|W_i(j\omega)|\)</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="orgc218675" class="figure">
|
||||
<div id="org415740c" class="figure">
|
||||
<p><img src="figs/sensors_nominal_dynamics_and_uncertainty.png" alt="sensors_nominal_dynamics_and_uncertainty.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 4: </span>Nominal Sensor Dynamics \(\hat{G}_i\) (solid lines) as well as the spread of the dynamical uncertainty (background color)</p>
|
||||
@@ -325,12 +320,12 @@ The bode plot of the sensors nominal dynamics as well as their defined dynamical
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org81d9a34" class="outline-3">
|
||||
<h3 id="org81d9a34"><span class="section-number-3">1.3</span> Sensor Noise</h3>
|
||||
<div id="outline-container-orgb768f02" class="outline-3">
|
||||
<h3 id="orgb768f02"><span class="section-number-3">1.3</span> Sensor Noise</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
<a id="org71b587e"></a>
|
||||
The noise of the sensors \(n_i\) are modelled by shaping a white noise with unitary PSD \(\tilde{n}_i\) \eqref{eq:unitary_noise_psd} with a LTI transfer function \(N_i(s)\) (Figure <a href="#org35e2340">1</a>).
|
||||
<a id="orgfd557c8"></a>
|
||||
The noise of the sensors \(n_i\) are modelled by shaping a white noise with unitary PSD \(\tilde{n}_i\) \eqref{eq:unitary_noise_psd} with a LTI transfer function \(N_i(s)\) (Figure <a href="#orgd79f98f">1</a>).
|
||||
</p>
|
||||
\begin{equation}
|
||||
\Phi_{\tilde{n}_i}(\omega) = 1 \label{eq:unitary_noise_psd}
|
||||
@@ -344,7 +339,7 @@ The Power Spectral Density of the sensor noise \(\Phi_{n_i}(\omega)\) is then co
|
||||
\end{equation}
|
||||
|
||||
<p>
|
||||
The weights \(N_1\) and \(N_2\) representing the amplitude spectral density of the sensor noises are defined below and shown in Figure <a href="#org51f9788">5</a>.
|
||||
The weights \(N_1\) and \(N_2\) representing the amplitude spectral density of the sensor noises are defined below and shown in Figure <a href="#org5e2cd13">5</a>.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">omegac = 0.15<span class="org-type">*</span>2<span class="org-type">*</span><span class="org-constant">pi</span>; G0 = 1e<span class="org-type">-</span>1; Ginf = 1e<span class="org-type">-</span>6;
|
||||
@@ -356,7 +351,7 @@ N2 = (Ginf<span class="org-type">*</span>s<span class="org-type">/</span>omegac
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org51f9788" class="figure">
|
||||
<div id="org5e2cd13" class="figure">
|
||||
<p><img src="figs/sensors_noise.png" alt="sensors_noise.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 5: </span>Amplitude spectral density of the sensors \(\sqrt{\Phi_{n_i}(\omega)} = |N_i(j\omega)|\)</p>
|
||||
@@ -364,8 +359,8 @@ N2 = (Ginf<span class="org-type">*</span>s<span class="org-type">/</span>omegac
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4e23f6c" class="outline-3">
|
||||
<h3 id="org4e23f6c"><span class="section-number-3">1.4</span> Save Model</h3>
|
||||
<div id="outline-container-org426c21e" class="outline-3">
|
||||
<h3 id="org426c21e"><span class="section-number-3">1.4</span> Save Model</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
All the dynamical systems representing the sensors are saved for further use.
|
||||
@@ -379,27 +374,27 @@ All the dynamical systems representing the sensors are saved for further use.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2cab1a2" class="outline-2">
|
||||
<h2 id="org2cab1a2"><span class="section-number-2">2</span> Introduction to Sensor Fusion</h2>
|
||||
<div id="outline-container-orgce0ac83" class="outline-2">
|
||||
<h2 id="orgce0ac83"><span class="section-number-2">2</span> Introduction to Sensor Fusion</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
<a id="orga64daad"></a>
|
||||
<a id="orge87db28"></a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0cbc92d" class="outline-3">
|
||||
<h3 id="org0cbc92d"><span class="section-number-3">2.1</span> Sensor Fusion Architecture</h3>
|
||||
<div id="outline-container-orgbb36114" class="outline-3">
|
||||
<h3 id="orgbb36114"><span class="section-number-3">2.1</span> Sensor Fusion Architecture</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
<a id="org31e00a0"></a>
|
||||
<a id="org80d2a51"></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The two sensors presented in Section <a href="#orgee25d07">1</a> are now merged together using complementary filters \(H_1(s)\) and \(H_2(s)\) to form a super sensor (Figure <a href="#org48a16fd">6</a>).
|
||||
The two sensors presented in Section <a href="#org3cd5225">1</a> are now merged together using complementary filters \(H_1(s)\) and \(H_2(s)\) to form a super sensor (Figure <a href="#orgffed4ec">6</a>).
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org48a16fd" class="figure">
|
||||
<div id="orgffed4ec" class="figure">
|
||||
<p><img src="figs-paper/sensor_fusion_noise_arch.png" alt="sensor_fusion_noise_arch.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 6: </span>Sensor Fusion Architecture</p>
|
||||
@@ -423,11 +418,11 @@ The super sensor estimate \(\hat{x}\) is given by \eqref{eq:super_sensor_estimat
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge9e0bd4" class="outline-3">
|
||||
<h3 id="orge9e0bd4"><span class="section-number-3">2.2</span> Super Sensor Noise</h3>
|
||||
<div id="outline-container-org3a4f4b8" class="outline-3">
|
||||
<h3 id="org3a4f4b8"><span class="section-number-3">2.2</span> Super Sensor Noise</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
<a id="orgff055a3"></a>
|
||||
<a id="org3e73362"></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -458,15 +453,15 @@ And the Root Mean Square (RMS) value of the super sensor noise \(\sigma_n\) is g
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgefb4347" class="outline-3">
|
||||
<h3 id="orgefb4347"><span class="section-number-3">2.3</span> Super Sensor Dynamical Uncertainty</h3>
|
||||
<div id="outline-container-org3f0594e" class="outline-3">
|
||||
<h3 id="org3f0594e"><span class="section-number-3">2.3</span> Super Sensor Dynamical Uncertainty</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
<a id="org859b213"></a>
|
||||
<a id="orgd73f82f"></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If we consider some dynamical uncertainty (the true system dynamics \(G_i\) not being perfectly equal to our model \(\hat{G}_i\)) that we model by the use of multiplicative uncertainty (Figure <a href="#org54538d7">7</a>), the super sensor dynamics is then equals to:
|
||||
If we consider some dynamical uncertainty (the true system dynamics \(G_i\) not being perfectly equal to our model \(\hat{G}_i\)) that we model by the use of multiplicative uncertainty (Figure <a href="#org05e7617">7</a>), the super sensor dynamics is then equals to:
|
||||
</p>
|
||||
|
||||
\begin{equation}
|
||||
@@ -478,18 +473,18 @@ If we consider some dynamical uncertainty (the true system dynamics \(G_i\) not
|
||||
\end{equation}
|
||||
|
||||
|
||||
<div id="org54538d7" class="figure">
|
||||
<div id="org05e7617" class="figure">
|
||||
<p><img src="figs-paper/sensor_model_uncertainty.png" alt="sensor_model_uncertainty.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 7: </span>Sensor Model including Dynamical Uncertainty</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The uncertainty set of the transfer function from \(\hat{x}\) to \(x\) at frequency \(\omega\) is bounded in the complex plane by a circle centered on 1 and with a radius equal to \(|W_1(j\omega) H_1(j\omega)| + |W_2(j\omega) H_2(j\omega)|\) as shown in Figure <a href="#orgb11ef23">8</a>.
|
||||
The uncertainty set of the transfer function from \(\hat{x}\) to \(x\) at frequency \(\omega\) is bounded in the complex plane by a circle centered on 1 and with a radius equal to \(|W_1(j\omega) H_1(j\omega)| + |W_2(j\omega) H_2(j\omega)|\) as shown in Figure <a href="#org1ff6ff8">8</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="orgb11ef23" class="figure">
|
||||
<div id="org1ff6ff8" class="figure">
|
||||
<p><img src="figs-paper/uncertainty_set_super_sensor.png" alt="uncertainty_set_super_sensor.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 8: </span>Super Sensor model uncertainty displayed in the complex plane</p>
|
||||
@@ -498,11 +493,11 @@ The uncertainty set of the transfer function from \(\hat{x}\) to \(x\) at freque
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5896b60" class="outline-2">
|
||||
<h2 id="org5896b60"><span class="section-number-2">3</span> Optimal Super Sensor Noise: \(\mathcal{H}_2\) Synthesis</h2>
|
||||
<div id="outline-container-org096192f" class="outline-2">
|
||||
<h2 id="org096192f"><span class="section-number-2">3</span> Optimal Super Sensor Noise: \(\mathcal{H}_2\) Synthesis</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
<a id="orgdd6b9ce"></a>
|
||||
<a id="orgbaf748a"></a>
|
||||
</p>
|
||||
<p>
|
||||
In this section, the complementary filters \(H_1(s)\) and \(H_2(s)\) are designed in order to minimize the RMS value of super sensor noise \(\sigma_n\).
|
||||
@@ -520,23 +515,23 @@ The RMS value of the super sensor noise is (neglecting the model uncertainty):
|
||||
|
||||
<p>
|
||||
The goal is to design \(H_1(s)\) and \(H_2(s)\) such that \(H_1(s) + H_2(s) = 1\) (complementary property) and such that \(\left\| \begin{matrix} H_1 N_1 \\ H_2 N_2 \end{matrix} \right\|_2\) is minimized (minimized RMS value of the super sensor noise).
|
||||
This is done using the \(\mathcal{H}_2\) synthesis in Section <a href="#org5bc9386">3.1</a>.
|
||||
This is done using the \(\mathcal{H}_2\) synthesis in Section <a href="#orgf1e20ae">3.1</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf5a8a84" class="outline-3">
|
||||
<h3 id="orgf5a8a84"><span class="section-number-3">3.1</span> \(\mathcal{H}_2\) Synthesis</h3>
|
||||
<div id="outline-container-org9188eae" class="outline-3">
|
||||
<h3 id="org9188eae"><span class="section-number-3">3.1</span> \(\mathcal{H}_2\) Synthesis</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
<a id="org5bc9386"></a>
|
||||
<a id="orgf1e20ae"></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Consider the generalized plant \(P_{\mathcal{H}_2}\) shown in Figure <a href="#orgd218886">9</a> and described by Equation \eqref{eq:H2_generalized_plant}.
|
||||
Consider the generalized plant \(P_{\mathcal{H}_2}\) shown in Figure <a href="#org95769ad">9</a> and described by Equation \eqref{eq:H2_generalized_plant}.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="orgd218886" class="figure">
|
||||
<div id="org95769ad" class="figure">
|
||||
<p><img src="figs-paper/h_two_optimal_fusion.png" alt="h_two_optimal_fusion.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 9: </span>Architecture used for \(\mathcal{H}_\infty\) synthesis of complementary filters</p>
|
||||
@@ -592,10 +587,10 @@ Finally, \(H_1(s)\) is defined as follows
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The obtained complementary filters are shown in Figure <a href="#org8c7ba6b">10</a>.
|
||||
The obtained complementary filters are shown in Figure <a href="#org02514a9">10</a>.
|
||||
</p>
|
||||
|
||||
<div id="org8c7ba6b" class="figure">
|
||||
<div id="org02514a9" class="figure">
|
||||
<p><img src="figs/htwo_comp_filters.png" alt="htwo_comp_filters.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 10: </span>Obtained complementary filters using the \(\mathcal{H}_2\) Synthesis</p>
|
||||
@@ -603,11 +598,11 @@ The obtained complementary filters are shown in Figure <a href="#org8c7ba6b">10<
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org72159df" class="outline-3">
|
||||
<h3 id="org72159df"><span class="section-number-3">3.2</span> Super Sensor Noise</h3>
|
||||
<div id="outline-container-org6d6d909" class="outline-3">
|
||||
<h3 id="org6d6d909"><span class="section-number-3">3.2</span> Super Sensor Noise</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
<a id="orgc7cc0a8"></a>
|
||||
<a id="org497847a"></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -622,13 +617,13 @@ PSD_H2 = abs(squeeze(freqresp(N1<span class="org-type">*</span>H1, freqs, <span
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The obtained ASD are shown in Figure <a href="#orge481bcd">11</a>.
|
||||
The obtained ASD are shown in Figure <a href="#orgd3690df">11</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The RMS value of the individual sensors and of the super sensor are listed in Table <a href="#org3918d27">3</a>.
|
||||
The RMS value of the individual sensors and of the super sensor are listed in Table <a href="#org04c5321">3</a>.
|
||||
</p>
|
||||
<table id="org3918d27" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org04c5321" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 3:</span> RMS value of the individual sensor noise and of the super sensor using the \(\mathcal{H}_2\) Synthesis</caption>
|
||||
|
||||
<colgroup>
|
||||
@@ -661,7 +656,7 @@ The RMS value of the individual sensors and of the super sensor are listed in Ta
|
||||
</table>
|
||||
|
||||
|
||||
<div id="orge481bcd" class="figure">
|
||||
<div id="orgd3690df" class="figure">
|
||||
<p><img src="figs/psd_sensors_htwo_synthesis.png" alt="psd_sensors_htwo_synthesis.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 11: </span>Power Spectral Density of the estimated \(\hat{x}\) using the two sensors alone and using the optimally fused signal</p>
|
||||
@@ -670,19 +665,19 @@ The RMS value of the individual sensors and of the super sensor are listed in Ta
|
||||
<p>
|
||||
A time domain simulation is now performed.
|
||||
The measured velocity \(x\) is set to be a sweep sine with an amplitude of \(0.1\ [m/s]\).
|
||||
The velocity estimates from the two sensors and from the super sensors are shown in Figure <a href="#org9c2a7e4">12</a>.
|
||||
The resulting noises are displayed in Figure <a href="#org4cc42bf">13</a>.
|
||||
The velocity estimates from the two sensors and from the super sensors are shown in Figure <a href="#orgf112864">12</a>.
|
||||
The resulting noises are displayed in Figure <a href="#org1ab022b">13</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org9c2a7e4" class="figure">
|
||||
<div id="orgf112864" class="figure">
|
||||
<p><img src="figs/super_sensor_time_domain_h2.png" alt="super_sensor_time_domain_h2.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 12: </span>Noise of individual sensors and noise of the super sensor</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="org4cc42bf" class="figure">
|
||||
<div id="org1ab022b" class="figure">
|
||||
<p><img src="figs/sensor_noise_H2_time_domain.png" alt="sensor_noise_H2_time_domain.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 13: </span>Noise of the two sensors \(n_1, n_2\) and noise of the super sensor \(n\)</p>
|
||||
@@ -690,15 +685,15 @@ The resulting noises are displayed in Figure <a href="#org4cc42bf">13</a>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8ffba19" class="outline-3">
|
||||
<h3 id="org8ffba19"><span class="section-number-3">3.3</span> Discrepancy between sensor dynamics and model</h3>
|
||||
<div id="outline-container-org850d99e" class="outline-3">
|
||||
<h3 id="org850d99e"><span class="section-number-3">3.3</span> Discrepancy between sensor dynamics and model</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<p>
|
||||
If we consider sensor dynamical uncertainty as explained in Section <a href="#orgf04439d">1.2</a>, we can compute what would be the super sensor dynamical uncertainty when using the complementary filters obtained using the \(\mathcal{H}_2\) Synthesis.
|
||||
If we consider sensor dynamical uncertainty as explained in Section <a href="#org3943238">1.2</a>, we can compute what would be the super sensor dynamical uncertainty when using the complementary filters obtained using the \(\mathcal{H}_2\) Synthesis.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The super sensor dynamical uncertainty is shown in Figure <a href="#org865879b">14</a>.
|
||||
The super sensor dynamical uncertainty is shown in Figure <a href="#org35f4dc2">14</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -706,7 +701,7 @@ It is shown that the phase uncertainty is not bounded between 100Hz and 200Hz.
|
||||
As a result the super sensor signal can not be used for feedback applications about 100Hz.
|
||||
</p>
|
||||
|
||||
<div id="org865879b" class="figure">
|
||||
<div id="org35f4dc2" class="figure">
|
||||
<p><img src="figs/super_sensor_dynamical_uncertainty_H2.png" alt="super_sensor_dynamical_uncertainty_H2.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 14: </span>Super sensor dynamical uncertainty when using the \(\mathcal{H}_2\) Synthesis</p>
|
||||
@@ -715,11 +710,11 @@ As a result the super sensor signal can not be used for feedback applications ab
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org26ea7b1" class="outline-2">
|
||||
<h2 id="org26ea7b1"><span class="section-number-2">4</span> Robust Sensor Fusion: \(\mathcal{H}_\infty\) Synthesis</h2>
|
||||
<div id="outline-container-org6d1270a" class="outline-2">
|
||||
<h2 id="org6d1270a"><span class="section-number-2">4</span> Robust Sensor Fusion: \(\mathcal{H}_\infty\) Synthesis</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
<a id="org5d93f37"></a>
|
||||
<a id="orgea66128"></a>
|
||||
</p>
|
||||
<p>
|
||||
We initially considered perfectly known sensor dynamics so that it can be perfectly inverted.
|
||||
@@ -727,18 +722,18 @@ We initially considered perfectly known sensor dynamics so that it can be perfec
|
||||
|
||||
<p>
|
||||
We now take into account the fact that the sensor dynamics is only partially known.
|
||||
To do so, we model the uncertainty that we have on the sensor dynamics by multiplicative input uncertainty as shown in Figure <a href="#org2b71ca6">15</a>.
|
||||
To do so, we model the uncertainty that we have on the sensor dynamics by multiplicative input uncertainty as shown in Figure <a href="#org3a26ad3">15</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org2b71ca6" class="figure">
|
||||
<div id="org3a26ad3" class="figure">
|
||||
<p><img src="figs-paper/sensor_fusion_arch_uncertainty.png" alt="sensor_fusion_arch_uncertainty.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 15: </span>Sensor fusion architecture with sensor dynamics uncertainty</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
As explained in Section <a href="#orgf04439d">1.2</a>, at each frequency \(\omega\), the dynamical uncertainty of the super sensor can be represented in the complex plane by a circle with a radius equals to \(|H_1(j\omega) W_1(j\omega)| + |H_2(j\omega) W_2(j\omega)|\) and centered on 1.
|
||||
As explained in Section <a href="#org3943238">1.2</a>, at each frequency \(\omega\), the dynamical uncertainty of the super sensor can be represented in the complex plane by a circle with a radius equals to \(|H_1(j\omega) W_1(j\omega)| + |H_2(j\omega) W_2(j\omega)|\) and centered on 1.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -760,7 +755,7 @@ In order to specify a wanted upper bound on the dynamical uncertainty, a weight
|
||||
\end{align}
|
||||
|
||||
<p>
|
||||
The choice of \(W_u\) is presented in Section <a href="#orgefed264">4.1</a>.
|
||||
The choice of \(W_u\) is presented in Section <a href="#org5b00e7a">4.1</a>.
|
||||
</p>
|
||||
|
||||
|
||||
@@ -778,15 +773,15 @@ The objective is to design \(H_1(s)\) and \(H_2(s)\) such that \(H_1(s) + H_2(s)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This is done using the \(\mathcal{H}_\infty\) synthesis in Section <a href="#org2c990ce">4.2</a>.
|
||||
This is done using the \(\mathcal{H}_\infty\) synthesis in Section <a href="#org7bd80be">4.2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8dfd9d2" class="outline-3">
|
||||
<h3 id="org8dfd9d2"><span class="section-number-3">4.1</span> Weighting Function used to bound the super sensor uncertainty</h3>
|
||||
<div id="outline-container-orgc5a0221" class="outline-3">
|
||||
<h3 id="orgc5a0221"><span class="section-number-3">4.1</span> Weighting Function used to bound the super sensor uncertainty</h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
<a id="orgefed264"></a>
|
||||
<a id="org5b00e7a"></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -799,7 +794,7 @@ This is done using the \(\mathcal{H}_\infty\) synthesis in Section <a href="#org
|
||||
\end{align}
|
||||
|
||||
<p>
|
||||
The uncertainty bounds of the two individual sensor as well as the wanted maximum uncertainty bounds of the super sensor are shown in Figure <a href="#orgdffee80">16</a>.
|
||||
The uncertainty bounds of the two individual sensor as well as the wanted maximum uncertainty bounds of the super sensor are shown in Figure <a href="#orge13d408">16</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@@ -810,7 +805,7 @@ Wu = createWeight(<span class="org-string">'n'</span>, 2, <span class="org-strin
|
||||
</div>
|
||||
|
||||
|
||||
<div id="orgdffee80" class="figure">
|
||||
<div id="orge13d408" class="figure">
|
||||
<p><img src="figs/weight_uncertainty_bounds_Wu.png" alt="weight_uncertainty_bounds_Wu.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 16: </span>Uncertainty region of the two sensors as well as the wanted maximum uncertainty of the super sensor (dashed lines)</p>
|
||||
@@ -818,19 +813,19 @@ Wu = createWeight(<span class="org-string">'n'</span>, 2, <span class="org-strin
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7422ade" class="outline-3">
|
||||
<h3 id="org7422ade"><span class="section-number-3">4.2</span> \(\mathcal{H}_\infty\) Synthesis</h3>
|
||||
<div id="outline-container-org334f826" class="outline-3">
|
||||
<h3 id="org334f826"><span class="section-number-3">4.2</span> \(\mathcal{H}_\infty\) Synthesis</h3>
|
||||
<div class="outline-text-3" id="text-4-2">
|
||||
<p>
|
||||
<a id="org2c990ce"></a>
|
||||
<a id="org7bd80be"></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The generalized plant \(P_{\mathcal{H}_\infty}\) used for the \(\mathcal{H}_\infty\) Synthesis of the complementary filters is shown in Figure <a href="#org59777f5">17</a> and is described by Equation \eqref{eq:Hinf_generalized_plant}.
|
||||
The generalized plant \(P_{\mathcal{H}_\infty}\) used for the \(\mathcal{H}_\infty\) Synthesis of the complementary filters is shown in Figure <a href="#org461ce6a">17</a> and is described by Equation \eqref{eq:Hinf_generalized_plant}.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org59777f5" class="figure">
|
||||
<div id="org461ce6a" class="figure">
|
||||
<p><img src="figs-paper/h_infinity_robust_fusion.png" alt="h_infinity_robust_fusion.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 17: </span>Architecture used for \(\mathcal{H}_\infty\) synthesis of complementary filters</p>
|
||||
@@ -866,7 +861,7 @@ And the \(\mathcal{H}_\infty\) synthesis is performed using the <code>hinfsyn</c
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<pre class="example">
|
||||
<pre class="example" id="orge32bb33">
|
||||
Test bounds: 0.7071 <= gamma <= 1.291
|
||||
|
||||
gamma X>=0 Y>=0 rho(XY)<1 p/f
|
||||
@@ -897,11 +892,11 @@ The \(\mathcal{H}_\infty\) is successful as the \(\mathcal{H}_\infty\) norm of t
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The obtained complementary filters as well as the wanted upper bounds are shown in Figure <a href="#orga1806e3">18</a>.
|
||||
The obtained complementary filters as well as the wanted upper bounds are shown in Figure <a href="#org938a541">18</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="orga1806e3" class="figure">
|
||||
<div id="org938a541" class="figure">
|
||||
<p><img src="figs/hinf_comp_filters.png" alt="hinf_comp_filters.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 18: </span>Obtained complementary filters using the \(\mathcal{H}_\infty\) Synthesis</p>
|
||||
@@ -909,11 +904,11 @@ The obtained complementary filters as well as the wanted upper bounds are shown
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga0267c6" class="outline-3">
|
||||
<h3 id="orga0267c6"><span class="section-number-3">4.3</span> Super sensor uncertainty</h3>
|
||||
<div id="outline-container-org211e432" class="outline-3">
|
||||
<h3 id="org211e432"><span class="section-number-3">4.3</span> Super sensor uncertainty</h3>
|
||||
<div class="outline-text-3" id="text-4-3">
|
||||
<p>
|
||||
The super sensor dynamical uncertainty is displayed in Figure <a href="#orge75f5ef">19</a>.
|
||||
The super sensor dynamical uncertainty is displayed in Figure <a href="#org52cdb78">19</a>.
|
||||
It is confirmed that the super sensor dynamical uncertainty is less than the maximum allowed uncertainty defined by the norm of \(W_u(s)\).
|
||||
</p>
|
||||
|
||||
@@ -922,7 +917,7 @@ The \(\mathcal{H}_\infty\) synthesis thus allows to design filters such that the
|
||||
</p>
|
||||
|
||||
|
||||
<div id="orge75f5ef" class="figure">
|
||||
<div id="org52cdb78" class="figure">
|
||||
<p><img src="figs/super_sensor_dynamical_uncertainty_Hinf.png" alt="super_sensor_dynamical_uncertainty_Hinf.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 19: </span>Super sensor dynamical uncertainty (solid curve) when using the \(\mathcal{H}_\infty\) Synthesis</p>
|
||||
@@ -930,12 +925,12 @@ The \(\mathcal{H}_\infty\) synthesis thus allows to design filters such that the
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org979fede" class="outline-3">
|
||||
<h3 id="org979fede"><span class="section-number-3">4.4</span> Super sensor noise</h3>
|
||||
<div id="outline-container-org7672e0e" class="outline-3">
|
||||
<h3 id="org7672e0e"><span class="section-number-3">4.4</span> Super sensor noise</h3>
|
||||
<div class="outline-text-3" id="text-4-4">
|
||||
<p>
|
||||
We now compute the obtain Power Spectral Density of the super sensor’s noise.
|
||||
The Amplitude Spectral Densities are shown in Figure <a href="#org5aac73f">20</a>.
|
||||
The Amplitude Spectral Densities are shown in Figure <a href="#org06b08df">20</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@@ -947,18 +942,18 @@ PSD_Hinf = abs(squeeze(freqresp(N1<span class="org-type">*</span>H1, freqs, <spa
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The obtained RMS of the super sensor noise in the \(\mathcal{H}_2\) and \(\mathcal{H}_\infty\) case are shown in Table <a href="#org3e08452">4</a>.
|
||||
The obtained RMS of the super sensor noise in the \(\mathcal{H}_2\) and \(\mathcal{H}_\infty\) case are shown in Table <a href="#org3cf92ce">4</a>.
|
||||
As expected, the super sensor obtained from the \(\mathcal{H}_\infty\) synthesis is much noisier than the super sensor obtained from the \(\mathcal{H}_2\) synthesis.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org5aac73f" class="figure">
|
||||
<div id="org06b08df" class="figure">
|
||||
<p><img src="figs/psd_sensors_hinf_synthesis.png" alt="psd_sensors_hinf_synthesis.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 20: </span>Power Spectral Density of the estimated \(\hat{x}\) using the two sensors alone and using the</p>
|
||||
<p><span class="figure-number">Figure 20: </span>Power Spectral Density of the estimated \(\hat{x}\) using the two sensors alone and using the \(\mathcal{H}_\infty\) synthesis</p>
|
||||
</div>
|
||||
|
||||
<table id="org3e08452" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3cf92ce" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 4:</span> Comparison of the obtained RMS noise of the super sensor</caption>
|
||||
|
||||
<colgroup>
|
||||
@@ -987,8 +982,8 @@ As expected, the super sensor obtained from the \(\mathcal{H}_\infty\) synthesis
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgda33992" class="outline-3">
|
||||
<h3 id="orgda33992"><span class="section-number-3">4.5</span> Conclusion</h3>
|
||||
<div id="outline-container-orgdcb47cf" class="outline-3">
|
||||
<h3 id="orgdcb47cf"><span class="section-number-3">4.5</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-4-5">
|
||||
<p>
|
||||
Using the \(\mathcal{H}_\infty\) synthesis, the dynamical uncertainty of the super sensor can be bounded to acceptable values.
|
||||
@@ -1001,22 +996,22 @@ However, the RMS of the super sensor noise is not optimized as it was the case w
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org15afe90" class="outline-2">
|
||||
<h2 id="org15afe90"><span class="section-number-2">5</span> Optimal and Robust Sensor Fusion: Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis</h2>
|
||||
<div id="outline-container-org49a7cc2" class="outline-2">
|
||||
<h2 id="org49a7cc2"><span class="section-number-2">5</span> Optimal and Robust Sensor Fusion: Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<p>
|
||||
<a id="org9f98c16"></a>
|
||||
<a id="org2aeafb3"></a>
|
||||
</p>
|
||||
<p>
|
||||
The (optima) \(\mathcal{H}_2\) synthesis and the (robust) \(\mathcal{H}_\infty\) synthesis are now combined to form an Optimal and Robust synthesis of complementary filters for sensor fusion.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The sensor fusion architecture is shown in Figure <a href="#org3cc874e">21</a> (\(\hat{G}_i\) are omitted for space reasons).
|
||||
The sensor fusion architecture is shown in Figure <a href="#orgd633d12">21</a> (\(\hat{G}_i\) are omitted for space reasons).
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org3cc874e" class="figure">
|
||||
<div id="orgd633d12" class="figure">
|
||||
<p><img src="figs-paper/sensor_fusion_arch_full.png" alt="sensor_fusion_arch_full.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 21: </span>Sensor fusion architecture with sensor dynamics uncertainty</p>
|
||||
@@ -1031,18 +1026,18 @@ The goal is to design complementary filters such that:
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
To do so, we can use the Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis presented in Section <a href="#orgbbc8594">5.1</a>.
|
||||
To do so, we can use the Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis presented in Section <a href="#org669093b">5.1</a>.
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-org0f81a91" class="outline-3">
|
||||
<h3 id="org0f81a91"><span class="section-number-3">5.1</span> Mixed \(\mathcal{H}_2\) / \(\mathcal{H}_\infty\) Synthesis</h3>
|
||||
<div id="outline-container-org7ed8ed7" class="outline-3">
|
||||
<h3 id="org7ed8ed7"><span class="section-number-3">5.1</span> Mixed \(\mathcal{H}_2\) / \(\mathcal{H}_\infty\) Synthesis</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<p>
|
||||
<a id="orgbbc8594"></a>
|
||||
<a id="org669093b"></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The synthesis architecture that is used here is shown in Figure <a href="#orga971cdb">22</a>.
|
||||
The synthesis architecture that is used here is shown in Figure <a href="#orgc870005">22</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -1054,7 +1049,7 @@ The filter \(H_2(s)\) is synthesized such that it:
|
||||
</ul>
|
||||
|
||||
|
||||
<div id="orga971cdb" class="figure">
|
||||
<div id="orgc870005" class="figure">
|
||||
<p><img src="figs-paper/mixed_h2_hinf_synthesis.png" alt="mixed_h2_hinf_synthesis.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 22: </span>Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis</p>
|
||||
@@ -1098,11 +1093,11 @@ And the mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis is performed.
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The obtained complementary filters are shown in Figure <a href="#org30e8a3f">23</a>.
|
||||
The obtained complementary filters are shown in Figure <a href="#orgf37f308">23</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org30e8a3f" class="figure">
|
||||
<div id="orgf37f308" class="figure">
|
||||
<p><img src="figs/htwo_hinf_comp_filters.png" alt="htwo_hinf_comp_filters.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 23: </span>Obtained complementary filters after mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis</p>
|
||||
@@ -1110,19 +1105,19 @@ The obtained complementary filters are shown in Figure <a href="#org30e8a3f">23<
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org417aabd" class="outline-3">
|
||||
<h3 id="org417aabd"><span class="section-number-3">5.2</span> Obtained Super Sensor’s noise</h3>
|
||||
<div id="outline-container-orgfb839cf" class="outline-3">
|
||||
<h3 id="orgfb839cf"><span class="section-number-3">5.2</span> Obtained Super Sensor’s noise</h3>
|
||||
<div class="outline-text-3" id="text-5-2">
|
||||
<p>
|
||||
The Amplitude Spectral Density of the super sensor’s noise is shown in Figure <a href="#orgfdfbf76">24</a>.
|
||||
The Amplitude Spectral Density of the super sensor’s noise is shown in Figure <a href="#orgb3c92e4">24</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
A time domain simulation is shown in Figure <a href="#orgdf5905f">25</a>.
|
||||
A time domain simulation is shown in Figure <a href="#org4a0db9b">25</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The RMS values of the super sensor noise for the presented three synthesis are listed in Table <a href="#org3b7df55">5</a>.
|
||||
The RMS values of the super sensor noise for the presented three synthesis are listed in Table <a href="#org3b10edf">5</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@@ -1134,20 +1129,20 @@ PSD_H2Hinf = abs(squeeze(freqresp(N1<span class="org-type">*</span>H1, freqs, <s
|
||||
</div>
|
||||
|
||||
|
||||
<div id="orgfdfbf76" class="figure">
|
||||
<div id="orgb3c92e4" class="figure">
|
||||
<p><img src="figs/psd_sensors_htwo_hinf_synthesis.png" alt="psd_sensors_htwo_hinf_synthesis.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 24: </span>Power Spectral Density of the Super Sensor obtained with the mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="orgdf5905f" class="figure">
|
||||
<div id="org4a0db9b" class="figure">
|
||||
<p><img src="figs/super_sensor_time_domain_h2_hinf.png" alt="super_sensor_time_domain_h2_hinf.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 25: </span>Noise of individual sensors and noise of the super sensor</p>
|
||||
</div>
|
||||
|
||||
<table id="org3b7df55" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3b10edf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<caption class="t-above"><span class="table-number">Table 5:</span> Comparison of the obtained RMS noise of the super sensor</caption>
|
||||
|
||||
<colgroup>
|
||||
@@ -1181,15 +1176,15 @@ PSD_H2Hinf = abs(squeeze(freqresp(N1<span class="org-type">*</span>H1, freqs, <s
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2dce888" class="outline-3">
|
||||
<h3 id="org2dce888"><span class="section-number-3">5.3</span> Obtained Super Sensor’s Uncertainty</h3>
|
||||
<div id="outline-container-orgb8596ac" class="outline-3">
|
||||
<h3 id="orgb8596ac"><span class="section-number-3">5.3</span> Obtained Super Sensor’s Uncertainty</h3>
|
||||
<div class="outline-text-3" id="text-5-3">
|
||||
<p>
|
||||
The uncertainty on the super sensor’s dynamics is shown in Figure <a href="#orgb2d28c5">26</a>.
|
||||
The uncertainty on the super sensor’s dynamics is shown in Figure <a href="#org11fe014">26</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="orgb2d28c5" class="figure">
|
||||
<div id="org11fe014" class="figure">
|
||||
<p><img src="figs/super_sensor_dynamical_uncertainty_Htwo_Hinf.png" alt="super_sensor_dynamical_uncertainty_Htwo_Hinf.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 26: </span>Super sensor dynamical uncertainty (solid curve) when using the mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis</p>
|
||||
@@ -1197,8 +1192,8 @@ The uncertainty on the super sensor’s dynamics is shown in Figure <a href=
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org47da78c" class="outline-3">
|
||||
<h3 id="org47da78c"><span class="section-number-3">5.4</span> Conclusion</h3>
|
||||
<div id="outline-container-orgfcfa8a2" class="outline-3">
|
||||
<h3 id="orgfcfa8a2"><span class="section-number-3">5.4</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-5-4">
|
||||
<p>
|
||||
The mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis of the complementary filters allows to:
|
||||
@@ -1211,18 +1206,18 @@ The mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis of the complementary fi
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0afe5ef" class="outline-2">
|
||||
<h2 id="org0afe5ef"><span class="section-number-2">6</span> Matlab Functions</h2>
|
||||
<div id="outline-container-orgf267700" class="outline-2">
|
||||
<h2 id="orgf267700"><span class="section-number-2">6</span> Matlab Functions</h2>
|
||||
<div class="outline-text-2" id="text-6">
|
||||
<p>
|
||||
<a id="orgf41dc8d"></a>
|
||||
<a id="org50a28ec"></a>
|
||||
</p>
|
||||
</div>
|
||||
<div id="outline-container-orge81e522" class="outline-3">
|
||||
<h3 id="orge81e522"><span class="section-number-3">6.1</span> <code>createWeight</code></h3>
|
||||
<div id="outline-container-org005db82" class="outline-3">
|
||||
<h3 id="org005db82"><span class="section-number-3">6.1</span> <code>createWeight</code></h3>
|
||||
<div class="outline-text-3" id="text-6-1">
|
||||
<p>
|
||||
<a id="org89bad6d"></a>
|
||||
<a id="orgb602691"></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -1274,11 +1269,11 @@ This Matlab function is accessible <a href="src/createWeight.m">here</a>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org37ec2b4" class="outline-3">
|
||||
<h3 id="org37ec2b4"><span class="section-number-3">6.2</span> <code>plotMagUncertainty</code></h3>
|
||||
<div id="outline-container-org816b32a" class="outline-3">
|
||||
<h3 id="org816b32a"><span class="section-number-3">6.2</span> <code>plotMagUncertainty</code></h3>
|
||||
<div class="outline-text-3" id="text-6-2">
|
||||
<p>
|
||||
<a id="org8739875"></a>
|
||||
<a id="org2963b0d"></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -1329,11 +1324,11 @@ p.FaceAlpha = args.opacity;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9f73572" class="outline-3">
|
||||
<h3 id="org9f73572"><span class="section-number-3">6.3</span> <code>plotPhaseUncertainty</code></h3>
|
||||
<div id="outline-container-orgddb3773" class="outline-3">
|
||||
<h3 id="orgddb3773"><span class="section-number-3">6.3</span> <code>plotPhaseUncertainty</code></h3>
|
||||
<div class="outline-text-3" id="text-6-3">
|
||||
<p>
|
||||
<a id="org49e21eb"></a>
|
||||
<a id="org8d340da"></a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -1397,7 +1392,7 @@ p.FaceAlpha = args.opacity;
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Thomas Dehaeze</p>
|
||||
<p class="date">Created: 2020-10-05 lun. 15:08</p>
|
||||
<p class="date">Created: 2020-11-12 jeu. 10:42</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -1,19 +1,14 @@
|
||||
#+TITLE: Robust and Optimal Sensor Fusion - Matlab Computation
|
||||
:DRAWER:
|
||||
#+HTML_LINK_HOME: ./index.html
|
||||
#+HTML_LINK_UP: ./index.html
|
||||
#+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 ""
|
||||
|
||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
|
||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
|
||||
#+HTML_HEAD: <script src="../js/jquery.min.js"></script>
|
||||
#+HTML_HEAD: <script src="../js/bootstrap.min.js"></script>
|
||||
#+HTML_HEAD: <script src="../js/jquery.stickytableheaders.min.js"></script>
|
||||
#+HTML_HEAD: <script src="../js/readtheorg.js"></script>
|
||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="https://cdn.rawgit.com/dreampulse/computer-modern-web-font/master/fonts.css">
|
||||
|
||||
#+STARTUP: overview
|
||||
#+OPTIONS: toc:2
|
||||
|
||||
@@ -1155,12 +1150,11 @@ The obtained complementary filters are shown in Figure [[fig:htwo_hinf_comp_filt
|
||||
plot(freqs, abs(squeeze(freqresp(H2, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$');
|
||||
hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
ylabel('Magnitude');
|
||||
set(gca, 'XTickLabel',[]);
|
||||
ylabel('Magnitude'); set(gca, 'XTickLabel',[]);
|
||||
ylim([1e-3, 2]);
|
||||
legend('location', 'southeast', 'FontSize', 8);
|
||||
|
||||
% Magnitude
|
||||
% Phase
|
||||
ax2 = nexttile;
|
||||
hold on;
|
||||
plot(freqs, 180/pi*phase(squeeze(freqresp(H1, freqs, 'Hz'))), '-');
|
||||
|
Reference in New Issue
Block a user