381 lines
15 KiB
TeX
381 lines
15 KiB
TeX
% Created 2020-09-23 mer. 14:15
|
|
% Intended LaTeX compiler: pdflatex
|
|
\documentclass[conference]{IEEEtran}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage{graphicx}
|
|
\usepackage{grffile}
|
|
\usepackage{longtable}
|
|
\usepackage{wrapfig}
|
|
\usepackage{rotating}
|
|
\usepackage[normalem]{ulem}
|
|
\usepackage{amsmath}
|
|
\usepackage{textcomp}
|
|
\usepackage{amssymb}
|
|
\usepackage{capt-of}
|
|
\usepackage{hyperref}
|
|
\usepackage[most]{tcolorbox}
|
|
\usepackage{bm}
|
|
\usepackage{booktabs}
|
|
\usepackage{tabularx}
|
|
\usepackage{array}
|
|
\usepackage{siunitx}
|
|
\IEEEoverridecommandlockouts
|
|
\usepackage{cite}
|
|
\usepackage{amsmath,amssymb,amsfonts}
|
|
\usepackage{algorithmic}
|
|
\usepackage{graphicx}
|
|
\usepackage{textcomp}
|
|
\usepackage{xcolor}
|
|
\usepackage{cases}
|
|
\usepackage{tabularx,siunitx,booktabs}
|
|
\usepackage{algorithmic}
|
|
\usepackage{import, hyperref}
|
|
\renewcommand{\citedash}{--}
|
|
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
|
|
\usepackage{showframe}
|
|
\author{\IEEEauthorblockN{Dehaeze Thomas} \IEEEauthorblockA{\textit{European Synchrotron Radiation Facility} \\ Grenoble, France\\ \textit{Precision Mechatronics Laboratory} \\ \textit{University of Liege}, Belgium \\ thomas.dehaeze@esrf.fr }\and \IEEEauthorblockN{Collette Christophe} \IEEEauthorblockA{\textit{BEAMS Department}\\ \textit{Free University of Brussels}, Belgium\\ \textit{Precision Mechatronics Laboratory} \\ \textit{University of Liege}, Belgium \\ ccollett@ulb.ac.be }}
|
|
\date{2020-09-23}
|
|
\title{Optimal and Robust Sensor Fusion}
|
|
\begin{document}
|
|
|
|
\maketitle
|
|
|
|
\begin{abstract}
|
|
Abstract text to be done
|
|
\end{abstract}
|
|
|
|
\begin{IEEEkeywords}
|
|
Complementary Filters, Sensor Fusion, H-Infinity Synthesis
|
|
\end{IEEEkeywords}
|
|
|
|
\section{Introduction}
|
|
\label{sec:org88afd51}
|
|
\label{sec:introduction}
|
|
|
|
\begin{itemize}
|
|
\item Section \ref{sec:optimal_fusion}
|
|
\item Section \ref{sec:robust_fusion}
|
|
\item Section \ref{sec:optimal_robust_fusion}
|
|
\item Section \ref{sec:experimental_validation}
|
|
\end{itemize}
|
|
|
|
\section{Optimal Super Sensor Noise: \(\mathcal{H}_2\) Synthesis}
|
|
\label{sec:org5853545}
|
|
\label{sec:optimal_fusion}
|
|
|
|
\subsection{Sensor Model}
|
|
\label{sec:org565ea86}
|
|
|
|
Let's consider a sensor measuring a physical quantity \(x\) (Figure \ref{fig:sensor_model_noise}).
|
|
The sensor has an internal dynamics which is here modelled with a Linear Time Invariant (LTI) system transfer function \(G_i(s)\).
|
|
|
|
The noise of sensor can be described by the Power Spectral Density (PSD) \(\Phi_{n_i}(\omega)\).
|
|
|
|
This is approximated by shaping a white noise with unitary PSD \(\tilde{n}_i\) \eqref{eq:unitary_sensor_noise_psd} with a LTI transfer function \(N_i(s)\):
|
|
\begin{equation}
|
|
\begin{aligned}
|
|
\Phi_{n_i}(\omega) &= \left| N_i(j\omega) \right|^2 \Phi_{\tilde{n}_i}(\omega) \\
|
|
&= \left| N_i(j\omega) \right|^2
|
|
\end{aligned}
|
|
\end{equation}
|
|
|
|
\begin{equation}
|
|
\label{eq:unitary_sensor_noise_psd}
|
|
\Phi_{\tilde{n}_i}(\omega) = 1
|
|
\end{equation}
|
|
|
|
The output of the sensor \(v_i\):
|
|
\begin{equation}
|
|
v_i = \left( G_i \right) x + \left( G_i N_i \right) \tilde{n}_i
|
|
\end{equation}
|
|
|
|
In order to obtain an estimate \(\hat{x}_i\) of \(x\), a model \(\hat{G}_i\) of the (true) sensor dynamics \(G_i\) is inverted and applied at the output (Figure \ref{fig:sensor_model_noise}):
|
|
\begin{equation}
|
|
\hat{x}_i = \left( \hat{G}_i^{-1} G_i \right) x + \left( \hat{G}_i^{-1} G_i N_i \right) \tilde{n}_i
|
|
\end{equation}
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/sensor_model_noise.pdf}
|
|
\caption{\label{fig:sensor_model_noise}Sensor Model}
|
|
\end{figure}
|
|
|
|
\subsection{Sensor Fusion Architecture}
|
|
\label{sec:org1ae73e8}
|
|
|
|
Let's now consider two sensors measuring the same physical quantity \(x\) but with different dynamics \((G_1, G_2)\) and noise characteristics \((N_1, N_2)\) (Figure \ref{fig:sensor_fusion_noise_arch}).
|
|
|
|
The noise sources \(\tilde{n}_1\) and \(\tilde{n}_2\) are considered to be uncorrelated.
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/sensor_fusion_noise_arch.pdf}
|
|
\caption{\label{fig:sensor_fusion_noise_arch}Sensor Fusion Architecture with sensor noise}
|
|
\end{figure}
|
|
|
|
The output of both sensors \((v1,v2)\) are then passed through the inverse of the sensor model to obtained two estimates \((\hat{x}_1, \hat{x}_2)\) of \(x\).
|
|
These two estimates are then filtered out by two filters \(H_1\) and \(H_2\) and summed to gives the super sensor estimate \(\hat{x}\).
|
|
|
|
\begin{equation}
|
|
\begin{split}
|
|
\hat{x} = {}&\left( H_1 \hat{G}_1^{-1} G_1 + H_2 \hat{G}_2^{-1} G_2 \right) x \\
|
|
&+ \left( H_1 \hat{G}_1^{-1} G_1 N_1 \right) \tilde{n}_1 + \left( H_2 \hat{G}_2^{-1} G_2 N_2 \right) \tilde{n}_2
|
|
\end{split}
|
|
\end{equation}
|
|
|
|
Suppose the sensor dynamical model \(\hat{G}_i\) is perfect:
|
|
\begin{equation}
|
|
\hat{G}_i = G_i
|
|
\end{equation}
|
|
|
|
We considered here complementary filters:
|
|
\begin{equation}
|
|
H_1(s) + H_2(s) = 1
|
|
\end{equation}
|
|
|
|
In such case, the super sensor estimate \(\hat{x}\) is equal to \(x\) plus the noise of the individual sensors filtered out by the complementary filters:
|
|
\begin{equation}
|
|
\hat{x} = x + \left( H_1 N_1 \right) \tilde{n}_1 + \left( H_2 N_2 \right) \tilde{n}_2
|
|
\end{equation}
|
|
|
|
\subsection{Super Sensor Noise}
|
|
\label{sec:orgb2e8dd6}
|
|
Let's note \(n\) the super sensor noise.
|
|
\begin{equation}
|
|
n = \left( H_1 N_1 \right) \tilde{n}_1 + \left( H_2 N_2 \right) \tilde{n}_2
|
|
\end{equation}
|
|
|
|
As the noise of both sensors are considered to be uncorrelated, the PSD of the super sensor noise is computed as follow:
|
|
\begin{equation}
|
|
\Phi_n(\omega) = \left| H_1 N_1 \right|^2 + \left| H_2 N_2 \right|^2
|
|
\end{equation}
|
|
|
|
It is clear that the PSD of the super sensor depends on the norm of the complementary filters.
|
|
|
|
\subsection{\(\mathcal{H}_2\) Synthesis of Complementary Filters}
|
|
\label{sec:orga4cf5f1}
|
|
The goal is to design \(H_1(s)\) and \(H_2(s)\) such that the effect of the noise sources \(\tilde{n}_1\) and \(\tilde{n}_2\) has the smallest possible effect on the noise \(n\) of the estimation \(\hat{x}\).
|
|
|
|
And the goal is the minimize the Root Mean Square (RMS) value of \(n\):
|
|
\begin{equation}
|
|
\label{eq:rms_value_estimation}
|
|
\sigma_{n} = \sqrt{\int_0^\infty \Phi_{n}(\omega) d\omega} = \left\| \begin{matrix} H_1 N_1 \\ H_2 N_2 \end{matrix} \right\|_2
|
|
\end{equation}
|
|
|
|
Thus, the goal is to design \(H_1(s)\) and \(H_2(s)\) such that \(H_1(s) + H_2(s) = 1\) and such that \(\sigma_n\) is minimized.
|
|
|
|
This can be cast into an \(\mathcal{H}_2\) synthesis problem by considering the following generalized plant (also represented in Figure \ref{fig:h_two_optimal_fusion}):
|
|
\begin{equation}
|
|
\begin{pmatrix}
|
|
z_1 \\ z_2 \\ v
|
|
\end{pmatrix} = \underbrace{\begin{bmatrix}
|
|
N_1 & N_1 \\
|
|
0 & N_2 \\
|
|
1 & 0
|
|
\end{bmatrix}}_{P_{\mathcal{H}_2}} \begin{pmatrix}
|
|
w \\ u
|
|
\end{pmatrix}
|
|
\end{equation}
|
|
|
|
Applying the \(\mathcal{H}_2\) synthesis on \(P_{\mathcal{H}_2}\) will generate a filter \(H_2(s)\) such that the \(\mathcal{H}_2\) norm from \(w\) to \((z_1,z_2)\) is minimized:
|
|
\begin{equation}
|
|
\label{eq:H2_norm}
|
|
\left\| \begin{matrix} z_1/w \\ z_2/w \end{matrix} \right\|_2 = \left\| \begin{matrix} N_1 (1 - H_2) \\ N_2 H_2 \end{matrix} \right\|_2
|
|
\end{equation}
|
|
|
|
The \(\mathcal{H}_2\) norm of Eq. \eqref{eq:H2_norm} is equals to \(\sigma_n\) by defining \(H_1(s)\) to be the complementary filter of \(H_2(s)\):
|
|
\begin{equation}
|
|
H_1(s) = 1 - H_2(s)
|
|
\end{equation}
|
|
|
|
We then have that the \(\mathcal{H}_2\) synthesis applied on \(P_{\mathcal{H}_2}\) generates two complementary filters \(H_1(s)\) and \(H_2(s)\) such that the RMS value of super sensor noise is minimized.
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/h_two_optimal_fusion.pdf}
|
|
\caption{\label{fig:h_two_optimal_fusion}Generalized plant \(P_{\mathcal{H}_2}\) used for the \(\mathcal{H}_2\) synthesis of complementary filters}
|
|
\end{figure}
|
|
|
|
\subsection{Example}
|
|
\label{sec:org74634c9}
|
|
|
|
\subsection{Robustness Problem}
|
|
\label{sec:org5fda5c1}
|
|
|
|
\section{Robust Sensor Fusion: \(\mathcal{H}_\infty\) Synthesis}
|
|
\label{sec:orgc88050f}
|
|
\label{sec:robust_fusion}
|
|
|
|
\subsection{Representation of Sensor Dynamical Uncertainty}
|
|
\label{sec:orgb09aa5a}
|
|
|
|
In Section \ref{sec:optimal_fusion}, the model \(\hat{G}_i(s)\) of the sensor was considered to be perfect.
|
|
In reality, there are always uncertainty (neglected dynamics) associated with the estimation of the sensor dynamics.
|
|
|
|
The Uncertainty on the sensor dynamics \(G_i(s)\) is here modelled by (input) multiplicative uncertainty:
|
|
\begin{equation}
|
|
G_i(s) = \hat{G}_i(s) \left( 1 + W_i(s) \Delta_i(s) \right); \quad |\Delta_i(j\omega)| < 1 \forall \omega
|
|
\end{equation}
|
|
where \(\hat{G}_i(s)\) is the nominal model, \(W_i\) a weight representing the size of the uncertainty at each frequency, and \(\Delta_i\) is any complex perturbation such that \(\left\| \Delta_i \right\|_\infty < 1\).
|
|
|
|
The sensor can then be represented as shown in Figure \ref{fig:sensor_model_uncertainty}.
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/sensor_model_uncertainty.pdf}
|
|
\caption{\label{fig:sensor_model_uncertainty}Sensor Model including Dynamical Uncertainty}
|
|
\end{figure}
|
|
|
|
\subsection{Sensor Fusion Architecture}
|
|
\label{sec:org1d92a74}
|
|
Let's consider the sensor fusion architecture shown in Figure \ref{fig:sensor_fusion_arch_uncertainty} where the dynamical uncertainties of both sensors are included.
|
|
|
|
The super sensor estimate is then:
|
|
\begin{equation}
|
|
\begin{aligned}
|
|
\hat{x} &= \Big( H_1 \hat{G}_1^{-1} \hat{G}_1 (1 + W_1 \Delta_1) \\
|
|
& \quad + H_2 \hat{G}_2^{-1} \hat{G}_2 (1 + W_2 \Delta_2) \Big) x \\
|
|
&= \Big( H_1 (1 + W_1 \Delta_1) + H_2 (1 + W_2 \Delta_2) \Big) x
|
|
\end{aligned}
|
|
\end{equation}
|
|
with \(\Delta_i\) is any transfer function satisfying \(\| \Delta_i \|_\infty < 1\).
|
|
|
|
As \(H_1\) and \(H_2\) are complementary filters, we finally have:
|
|
\begin{equation}
|
|
\hat{x} = \left( 1 + H_1 W_1 \Delta_1 + H_2 W_2 \Delta_2 \right) x, \quad \|\Delta_i\|_\infty<1
|
|
\end{equation}
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/sensor_fusion_arch_uncertainty.pdf}
|
|
\caption{\label{fig:sensor_fusion_arch_uncertainty}Sensor Fusion Architecture with sensor model uncertainty}
|
|
\end{figure}
|
|
|
|
\subsection{Super Sensor Dynamical Uncertainty}
|
|
\label{sec:org81db1d8}
|
|
|
|
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 \ref{fig:uncertainty_set_super_sensor}.
|
|
|
|
|
|
And we can see that the dynamical uncertainty of the super sensor is equal to the sum of the individual sensor uncertainties filtered out by the complementary filters.
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/uncertainty_set_super_sensor.pdf}
|
|
\caption{\label{fig:uncertainty_set_super_sensor}Super Sensor model uncertainty displayed in the complex plane}
|
|
\end{figure}
|
|
|
|
At frequencies where \(\left|W_i(j\omega)\right| > 1\) the uncertainty exceeds \(100\%\) and sensor fusion is impossible.
|
|
|
|
\subsection{\(\mathcal{H_\infty}\) Synthesis of Complementary Filters}
|
|
\label{sec:org0e2a7a8}
|
|
In order for the fusion to be ``robust'', meaning no phase drop will be induced in the super sensor dynamics,
|
|
|
|
The goal is to design two complementary filters \(H_1(s)\) and \(H_2(s)\) such that the super sensor noise uncertainty is kept reasonably small.
|
|
|
|
To define what by ``small'' we mean, we use a weighting filter \(W_u(s)\) such that the synthesis objective is:
|
|
\begin{equation}
|
|
\left| W_1(j\omega)H_1(j\omega) \right| + \left| W_2(j\omega)H_2(j\omega) \right| < \frac{1}{\left| W_u(j\omega) \right|}, \quad \forall \omega
|
|
\end{equation}
|
|
|
|
This is actually almost equivalent (to within a factor \(\sqrt{2}\)) equivalent as to have:
|
|
\begin{equation}
|
|
\left\| \begin{matrix} W_u W_1 H_1 \\ W_u W_2 H_2 \end{matrix} \right\|_\infty < 1
|
|
\end{equation}
|
|
|
|
This problem can thus be dealt with an \(\mathcal{H}_\infty\) synthesis problem by considering the following generalized plant (Figure \ref{fig:h_infinity_robust_fusion}):
|
|
\begin{equation}
|
|
\begin{pmatrix}
|
|
z_1 \\ z_2 \\ v
|
|
\end{pmatrix} = \underbrace{\begin{bmatrix}
|
|
W_u W_1 & W_u W_1 \\
|
|
0 & W_u W_2 \\
|
|
1 & 0
|
|
\end{bmatrix}}_{P_{\mathcal{H}_\infty}} \begin{pmatrix}
|
|
w \\ u
|
|
\end{pmatrix}
|
|
\end{equation}
|
|
|
|
Applying the \(\mathcal{H}_\infty\) synthesis on \(P_{\mathcal{H}_\infty}\) will generate a filter \(H_2(s)\) such that the \(\mathcal{H}_\infty\) norm from \(w\) to \((z_1,z_2)\) is minimized:
|
|
\begin{equation}
|
|
\label{eq:Hinf_norm}
|
|
\left\| \begin{matrix} z_1/w \\ z_2/w \end{matrix} \right\|_\infty = \left\| \begin{matrix} W_u W_1 (1 - H_2) \\ W_u W_2 H_2 \end{matrix} \right\|_\infty
|
|
\end{equation}
|
|
|
|
The \(\mathcal{H}_\infty\) norm of Eq. \eqref{eq:Hinf_norm} is equals to \(\sigma_n\) by defining \(H_1(s)\) to be the complementary filter of \(H_2(s)\):
|
|
\begin{equation}
|
|
H_1(s) = 1 - H_2(s)
|
|
\end{equation}
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/h_infinity_robust_fusion.pdf}
|
|
\caption{\label{fig:h_infinity_robust_fusion}Generalized plant \(P_{\mathcal{H}_\infty}\) used for the \(\mathcal{H}_\infty\) synthesis of complementary filters}
|
|
\end{figure}
|
|
|
|
\subsection{Example}
|
|
\label{sec:org0122000}
|
|
|
|
|
|
\section{Optimal and Robust Sensor Fusion: Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis}
|
|
\label{sec:orgdf5a196}
|
|
\label{sec:optimal_robust_fusion}
|
|
|
|
\subsection{Sensor Fusion Architecture}
|
|
\label{sec:orge16b510}
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/sensor_model_noise_uncertainty.pdf}
|
|
\caption{\label{fig:sensor_model_noise_uncertainty}Sensor Model including Noise and Dynamical Uncertainty}
|
|
\end{figure}
|
|
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/sensor_fusion_arch_full.pdf}
|
|
\caption{\label{fig:sensor_fusion_arch_full}Super Sensor Fusion with both sensor noise and sensor model uncertainty}
|
|
\end{figure}
|
|
|
|
\subsection{Synthesis Objective}
|
|
\label{sec:orgb4b43b3}
|
|
|
|
\subsection{Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis}
|
|
\label{sec:orgb9b52ad}
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[scale=1]{figs/mixed_h2_hinf_synthesis.pdf}
|
|
\caption{\label{fig:mixed_h2_hinf_synthesis}Generalized plant \(P_{\mathcal{H}_2/\matlcal{H}_\infty}\) used for the mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis of complementary filters}
|
|
\end{figure}
|
|
|
|
\subsection{Example}
|
|
\label{sec:orgc881f20}
|
|
|
|
\section{Experimental Validation}
|
|
\label{sec:org05b79a0}
|
|
\label{sec:experimental_validation}
|
|
|
|
\subsection{Experimental Setup}
|
|
\label{sec:orgc3daf35}
|
|
|
|
\subsection{Sensor Noise and Dynamical Uncertainty}
|
|
\label{sec:org26fedf6}
|
|
|
|
\subsection{Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis}
|
|
\label{sec:org72f2969}
|
|
|
|
\subsection{Super Sensor Noise and Dynamical Uncertainty}
|
|
\label{sec:orgf66f78b}
|
|
|
|
\section{Conclusion}
|
|
\label{sec:orge0f0a43}
|
|
\label{sec:conclusion}
|
|
|
|
\section{Acknowledgment}
|
|
\label{sec:orgb16559e}
|
|
|
|
\bibliography{ref}
|
|
\end{document}
|