% Created 2020-09-22 mar. 21:58 % 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-22} \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:orgc2fc7e2} \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:org2031a7c} \label{sec:optimal_fusion} \subsection{Sensor Model} \label{sec:org32da471} 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:orgf3af62a} 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:orga39f54c} 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:org536193f} 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:orgd689dc3} \subsection{Robustness Problem} \label{sec:orgc57d2ad} \section{Robust Sensor Fusion: \(\mathcal{H}_\infty\) Synthesis} \label{sec:orgeed5209} \label{sec:robust_fusion} \subsection{Representation of Sensor Dynamical Uncertainty} \label{sec:org7f4d435} 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:orgd4a5727} 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:org7eede13} 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:org0b02610} 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. This problem can be dealt with an \(\mathcal{H}_\infty\) synthesis problem by considering the following generalized plant: \begin{equation} \begin{pmatrix} z_1 \\ z_2 \\ v \end{pmatrix} = \underbrace{\begin{bmatrix} W_1 & W_1 \\ 0 & 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_1 (1 - H_2) \\ 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:orgfe98b6f} \section{Optimal and Robust Sensor Fusion: Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis} \label{sec:org9114fff} \label{sec:optimal_robust_fusion} \subsection{Sensor Fusion Architecture} \label{sec:org7816cc1} \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:org39451fc} \subsection{Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis} \label{sec:orga8ff805} \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:orga353d87} \section{Experimental Validation} \label{sec:orgb00dce4} \label{sec:experimental_validation} \subsection{Experimental Setup} \label{sec:orgc725d26} \subsection{Sensor Noise and Dynamical Uncertainty} \label{sec:org0b05001} \subsection{Mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis} \label{sec:org9c0559a} \subsection{Super Sensor Noise and Dynamical Uncertainty} \label{sec:orgc629276} \section{Conclusion} \label{sec:orgdd3a6b6} \label{sec:conclusion} \section{Acknowledgment} \label{sec:orge958f77} \bibliography{ref} \end{document}