646 lines
32 KiB
TeX
646 lines
32 KiB
TeX
|
% Created 2019-09-26 jeu. 10:49
|
||
|
% Intended LaTeX compiler: pdflatex
|
||
|
\documentclass[9pt, technote, a4paper]{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{siunitx}
|
||
|
\usepackage{amsmath,amssymb,amsfonts, cases}
|
||
|
\usepackage{algorithmic, graphicx, textcomp}
|
||
|
\usepackage{xcolor, import, hyperref}
|
||
|
\usepackage[USenglish, english]{babel}
|
||
|
\setcounter{footnote}{1}
|
||
|
\input{config.tex}
|
||
|
\author{\IEEEauthorblockN{Dehaeze Thomas\IEEEauthorrefmark{1}, Verma Mohit, Zhao Guoying and Collette Christophe} \\ \IEEEauthorblockA{Precision Mechatronics Laboratory, ULB\\ Brussels, Belgium\\ Email: \IEEEauthorrefmark{1}dehaeze.thomas@gmail.com}}
|
||
|
\date{2019-09-26}
|
||
|
\title{Feedback Control}
|
||
|
\hypersetup{
|
||
|
pdfauthor={\IEEEauthorblockN{Dehaeze Thomas\IEEEauthorrefmark{1}, Verma Mohit, Zhao Guoying and Collette Christophe} \\ \IEEEauthorblockA{Precision Mechatronics Laboratory, ULB\\ Brussels, Belgium\\ Email: \IEEEauthorrefmark{1}dehaeze.thomas@gmail.com}},
|
||
|
pdftitle={Feedback Control},
|
||
|
pdfkeywords={},
|
||
|
pdfsubject={},
|
||
|
pdfcreator={Emacs 26.3 (Org mode 9.2.6)},
|
||
|
pdflang={English}}
|
||
|
\begin{document}
|
||
|
|
||
|
\maketitle
|
||
|
\bibliographystyle{IEEEtran}
|
||
|
|
||
|
\begin{abstract}
|
||
|
Abstract text to be done
|
||
|
\end{abstract}
|
||
|
|
||
|
\begin{IEEEkeywords}
|
||
|
complementary filters, h-infinity, feedback control
|
||
|
\end{IEEEkeywords}
|
||
|
|
||
|
\section{Introduction}
|
||
|
\label{sec:org5204f14}
|
||
|
\label{sec:introduction}
|
||
|
|
||
|
\textbf{Model based control}
|
||
|
|
||
|
\textbf{SISO control design methods}
|
||
|
\begin{itemize}
|
||
|
\item frequency domain techniques
|
||
|
\item manual loop-shaping - key idea: modification of the controller such that the open-loop is made according to specifications \cite{oomen18_advan_motion_contr_precis_mechat}.
|
||
|
\end{itemize}
|
||
|
This works well because the open loop transfer function is linearly dependent of the controller.
|
||
|
|
||
|
However, the specifications are given in terms of the final system performance, i.e. as closed-loop specifications.
|
||
|
|
||
|
\textbf{Norm-based control}
|
||
|
\(\hinf\) loop-shaping \cite{skogestad07_multiv_feedb_contr}. Far from standard in industry as it requires lot of efforts.
|
||
|
|
||
|
|
||
|
Problem of robustness to plant uncertainty:
|
||
|
\begin{itemize}
|
||
|
\item Trade off performance / robustness. Difficult to obtain high performance in presence of high uncertainty.
|
||
|
\item Robust control \(\mu\text{-synthesis}\). Takes a lot of effort to model the plant uncertainty.
|
||
|
\item Sensor fusion: combines two sensors using complementary filters. The high frequency sensor is collocated with the actuator in order to ensure the stability of the system even in presence of uncertainty. \cite{collette15_sensor_fusion_method_high_perfor} \cite{collette14_vibrat}
|
||
|
\end{itemize}
|
||
|
|
||
|
Complementary filters: \cite{hua05_low_ligo}.\\
|
||
|
|
||
|
In this paper, we propose a new controller synthesis method
|
||
|
\begin{itemize}
|
||
|
\item based on the use of complementary high pass and low pass filters
|
||
|
\item inverse based control
|
||
|
\item direct translation of requirements such as disturbance rejection and robustness to plant uncertainty
|
||
|
\end{itemize}
|
||
|
|
||
|
\section{Theory}
|
||
|
\label{sec:orgb532753}
|
||
|
\label{sec:theory}
|
||
|
\subsection{Control Architecture}
|
||
|
\label{sec:orgb0d9a4b}
|
||
|
\label{sec:control_arch}
|
||
|
Let's consider the control architecture represented in Fig. \ref{fig:sf_arch} where \(G^\prime\) is the physical plant to control, \(G\) is a model of the plant, \(k\) is a gain, \(H_L\) and \(H_H\) are complementary filters (\(H_L + H_H = 1\) in the complex sense).
|
||
|
The signals are the reference signal \(r\), the output perturbation \(d_y\), the measurement noise \(n\) and the control input \(u\).\\
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/sf_arch.pdf}
|
||
|
\caption{\label{fig:sf_arch}
|
||
|
Sensor Fusion Architecture}
|
||
|
\end{figure}
|
||
|
|
||
|
The dynamics of the closed-loop system is described by the following equations
|
||
|
\begin{alignat}{5}
|
||
|
y &= \frac{1+kGH_H}{1+L} dy &&+ \frac{kG^{\prime}}{1+L} r &&- \frac{kG^{\prime}H_L}{1+L} n \\
|
||
|
u &= -\frac{kH_L}{1+L} dy &&+ \frac{k}{1+L} r &&- \frac{kH_L}{1+L} n
|
||
|
\end{alignat}
|
||
|
with \(L = k(G H_H + G^\prime H_L)\).\\
|
||
|
|
||
|
The idea of using such architecture comes from sensor fusion \cite{collette14_vibrat,collette15_sensor_fusion_method_high_perfor} where we use two sensors.
|
||
|
One is measuring the quantity that is required to control, the other is collocated with the actuator in such a way that stability is guaranteed.
|
||
|
The first one is low pass filtered in order to obtain good performance at low frequencies and the second one is high pass filtered to benefits from its good dynamical properties.
|
||
|
|
||
|
Here, the second sensor is replaced by a model \(G\) of the plant which is assumed to be stable and minimum phase.\\
|
||
|
|
||
|
|
||
|
One may think that the control architecture shown in Fig. \ref{fig:sf_arch} is a multi-loop system, but because no non-linear saturation-type element is present in the inner-loop (containing \(k\), \(G\) and \(H_H\) which are all numerically implemented), the structure is equivalent to the architecture shown in Fig. \ref{fig:sf_arch_eq}.\\
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/sf_arch_eq.pdf}
|
||
|
\caption{\label{fig:sf_arch_eq}
|
||
|
Equivalent feedback architecture}
|
||
|
\end{figure}
|
||
|
|
||
|
The dynamics of the system can be rewritten as follow
|
||
|
\begin{alignat}{5}
|
||
|
y &= \frac{1}{1+G^{\prime} K H_L} dy &&+ \frac{G^{\prime} K}{1+G^{\prime} K H_L} r &&- \frac{G^{\prime} K H_L}{1+G^{\prime} K H_L} n \\
|
||
|
u &= \frac{-K H_L}{1+G^{\prime} K H_L} dy &&+ \frac{K}{1+G^{\prime} K H_L} r &&- \frac{K H_L}{1+G^{\prime} K H_L} n
|
||
|
\end{alignat}
|
||
|
with \(K = \frac{k}{1 + H_H G k}\)
|
||
|
|
||
|
\subsection{Asymptotic behavior}
|
||
|
\label{sec:orgfa33d42}
|
||
|
\label{sec:asymp_behavior}
|
||
|
We now want to study the asymptotic system obtained when using very high value of \(k\)
|
||
|
\begin{equation}
|
||
|
\lim_{k\to\infty} K = \lim_{k\to\infty} \frac{k}{1+H_H G k} = \left( H_H G \right)^{-1}
|
||
|
\end{equation}
|
||
|
If the obtained \(K\) is improper, a low pass filter can be added to have its causal realization.
|
||
|
|
||
|
Also, we want \(K\) to be stable, so \(G\) and \(H_H\) must be minimum phase transfer functions.\\
|
||
|
|
||
|
|
||
|
For now on, we will consider the resulting control architecture as shown on Fig. \ref{fig:sf_arch_class} where the only "tuning parameters" are the complementary filters.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/sf_arch_class.pdf}
|
||
|
\caption{\label{fig:sf_arch_class}
|
||
|
Equivalent classical feedback control architecture}
|
||
|
\end{figure}
|
||
|
|
||
|
The equations describing the dynamics of the closed-loop system are
|
||
|
\begin{align}
|
||
|
y &= \frac{ H_H dy + G^{\prime} G^{-1} r - G^{\prime} G^{-1} H_L n }{H_H + G^\prime G^{-1} H_L} \label{eq:cl_system_y}\\
|
||
|
u &= \frac{ -G^{-1} H_L dy + G^{-1} r - G^{-1} H_L n }{H_H + G^\prime G^{-1} H_L} \label{eq:cl_system_u}
|
||
|
\end{align}
|
||
|
|
||
|
At frequencies where the model is accurate: \(G^{-1} G^{\prime} \approx 1\), \(H_H + G^\prime G^{-1} H_L \approx H_H + H_L = 1\) and
|
||
|
\begin{align}
|
||
|
y &= H_H dy + r - H_L n \label{eq:cl_performance_y} \\
|
||
|
u &= -G^{-1} H_L dy + G^{-1} r - G^{-1} H_L n \label{eq:cl_performance_u}
|
||
|
\end{align}
|
||
|
|
||
|
We obtain a sensitivity transfer function equals to the high pass filter \(S = \frac{y}{dy} = H_H\) and a transmissibility transfer function equals to the low pass filter \(T = \frac{y}{n} = H_L\).
|
||
|
|
||
|
Assuming that we have a good model of the plant, we have then that the closed-loop behavior of the system converges to the designed complementary filters.
|
||
|
|
||
|
\subsection{Translating the performance requirements into the shapes of the complementary filters}
|
||
|
\label{sec:org8255b1e}
|
||
|
\label{sec:trans_perf}
|
||
|
The required performance specifications in a feedback system can usually be translated into requirements on the upper bounds of \(\abs{S(j\w)}\) and \(|T(j\omega)|\) \cite{bibel92_guidel_h}.
|
||
|
The process of designing a controller \(K(s)\) in order to obtain the desired shapes of \(\abs{S(j\w)}\) and \(\abs{T(j\w)}\) is called loop shaping.
|
||
|
|
||
|
The equations \eqref{eq:cl_system_y} and \eqref{eq:cl_system_u} describing the dynamics of the studied feedback architecture are not written in terms of \(K\) but in terms of the complementary filters \(H_L\) and \(H_H\).
|
||
|
|
||
|
In this section, we then translate the typical specifications into the desired shapes of the complementary filters \(H_L\) and \(H_H\).\\
|
||
|
|
||
|
\subsubsection{Nominal Stability (NS)}
|
||
|
\label{sec:org57fe00e}
|
||
|
The closed-loop system is stable if all its elements are stable (\(K\), \(G^\prime\) and \(H_L\)) and if the sensitivity function (\(S = \frac{1}{1 + G^\prime K H_L}\)) is stable.
|
||
|
|
||
|
For the nominal system (\(G^\prime = G\)), we have \(S = H_H\).
|
||
|
|
||
|
Nominal stability is then guaranteed if \(H_L\), \(H_H\) and \(G\) are stable and if \(G\) and \(H_H\) are minimum phase (to have \(K\) stable).
|
||
|
|
||
|
Thus we must design stable and minimum phase complementary filters.\\
|
||
|
|
||
|
\subsubsection{Nominal Performance (NP)}
|
||
|
\label{sec:org4f0fc07}
|
||
|
Typical performance specifications can usually be translated into upper bounds on \(|S(j\omega)|\) and \(|T(j\omega)|\).
|
||
|
|
||
|
Two performance weights \(w_H\) and \(w_L\) are defined in such a way that performance specifications are satisfied if
|
||
|
\begin{equation}
|
||
|
|w_H(j\omega) S(j\omega)| \le 1,\ |w_L(j\omega) T(j\omega)| \le 1 \quad \forall\omega
|
||
|
\end{equation}
|
||
|
|
||
|
For the nominal system, we have \(S = H_H\) and \(T = H_L\), and then nominal performance is ensured by requiring
|
||
|
\begin{subnumcases}{\text{NP} \Leftrightarrow}
|
||
|
|w_H(j\omega) H_H(j\omega)| \le 1 \quad \forall\omega \label{eq:nominal_perf_hh}\\
|
||
|
|w_L(j\omega) H_L(j\omega)| \le 1 \quad \forall\omega \label{eq:nominal_perf_hl}
|
||
|
\label{eq:nominal_performance}
|
||
|
\end{subnumcases}
|
||
|
|
||
|
The translation of typical performance requirements on the shapes of the complementary filters is discussed below:
|
||
|
\begin{itemize}
|
||
|
\item for disturbance rejections, make \(|S| = |H_H|\) small
|
||
|
\item for noise attenuation, make \(|T| = |H_L|\) small
|
||
|
\item for control energy reduction, make \(|KS| = |G^{-1}|\) small
|
||
|
\end{itemize}
|
||
|
|
||
|
We may have other requirements in terms of stability margins, maximum or minimum closed-loop bandwidth.\\
|
||
|
|
||
|
\paragraph{Closed-Loop Bandwidth}
|
||
|
\label{sec:orgdecd9bd}
|
||
|
The closed-loop bandwidth \(\w_B\) can be defined as the frequency where \(\abs{S(j\w)}\) first crosses \(\frac{1}{\sqrt{2}}\) from below.
|
||
|
|
||
|
If one wants the closed-loop bandwidth to be at least \(\w_B^*\) (e.g. to stabilize an unstable pole), one can required that \(|S(j\omega)| \le \frac{1}{\sqrt{2}}\) below \(\omega_B^*\) by designing \(w_H\) such that \(|w_H(j\omega)| \ge \sqrt{2}\) for \(\omega \le \omega_B^*\).
|
||
|
|
||
|
Similarly, if one wants the closed-loop bandwidth to be less than \(\w_B^*\), one can approximately require that the magnitude of \(T\) is less than \(\frac{1}{\sqrt{2}}\) at frequencies above \(\w_B^*\) by designing \(w_L\) such that \(|w_L(j\omega)| \ge \sqrt{2}\) for \(\omega \ge \omega_B^*\).\\
|
||
|
|
||
|
\paragraph{Classical stability margins}
|
||
|
\label{sec:orgac54614}
|
||
|
Gain margin (GM) and phase margin (PM) are usual specifications on controlled system.
|
||
|
Minimum GM and PM can be guaranteed by limiting the maximum magnitude of the sensibility function \(M_S = \max_{\omega} |S(j\omega)|\):
|
||
|
\begin{equation}
|
||
|
\text{GM} \geq \frac{M_S}{M_S-1}; \quad \text{PM} \geq \frac{1}{M_S}
|
||
|
\end{equation}
|
||
|
|
||
|
Thus, having \(M_S \le 2\) guarantees a gain margin of at least \(2\) and a phase margin of at least \(\SI{29}{\degree}\).
|
||
|
|
||
|
For the nominal system \(M_S = \max_\omega |S| = \max_\omega |H_H|\), so one can design \(w_H\) so that \(|w_H(j\omega)| \ge 1/2\) in order to have
|
||
|
\begin{equation}
|
||
|
|H_H(j\omega)| \le 2 \quad \forall\omega
|
||
|
\end{equation}
|
||
|
and thus obtain acceptable stability margins.\\
|
||
|
|
||
|
\paragraph{Response time to change of reference signal}
|
||
|
\label{sec:orgf9fd717}
|
||
|
For the nominal system, the model is accurate and the transfer function from reference signal \(r\) to output \(y\) is \(1\) \eqref{eq:cl_performance_y} and does not depends of the complementary filters.
|
||
|
|
||
|
However, one can add a pre-filter as shown in Fig. \ref{fig:sf_arch_class_prefilter}.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/sf_arch_class_prefilter.pdf}
|
||
|
\caption{\label{fig:sf_arch_class_prefilter}
|
||
|
Prefilter used to limit input usage}
|
||
|
\end{figure}
|
||
|
|
||
|
The transfer function from \(y\) to \(r\) becomes \(\frac{y}{r} = K_r\) and \(K_r\) can we chosen to obtain acceptable response to change of the reference signal.
|
||
|
Typically, \(K_r\) is a low pass filter of the form
|
||
|
\begin{equation}
|
||
|
K_r(s) = \frac{1}{1 + \tau s}
|
||
|
\end{equation}
|
||
|
with \(\tau\) corresponding to the desired response time.\\
|
||
|
|
||
|
\paragraph{Input usage}
|
||
|
\label{sec:org9ad8b23}
|
||
|
Input usage due to disturbances \(d_y\) and measurement noise \(n\) is determined by \(\big|\frac{u}{d_y}\big| = \big|\frac{u}{n}\big| = \big|G^{-1}H_L\big|\).
|
||
|
Thus it can be limited by setting an upper bound on \(|H_L|\).
|
||
|
|
||
|
|
||
|
Input usage due to reference signal \(r\) is determined by \(\big|\frac{u}{r}\big| = \big|G^{-1} K_r\big|\) when using a pre-filter (Fig. \ref{fig:sf_arch_class_prefilter}) and \(\big|\frac{u}{r}\big| = \big|G^{-1}\big|\) otherwise.
|
||
|
|
||
|
Proper choice of \(|K_r|\) is then useful to limit input usage due to change of reference signal.\\
|
||
|
|
||
|
\subsubsection{Robust Stability (RS)}
|
||
|
\label{sec:orgda9733a}
|
||
|
Robustness stability represents the ability of the control system to remain stable even though there are differences between the actual system \(G^\prime\) and the model \(G\) that was used to design the controller.
|
||
|
These differences can have various origins such as unmodelled dynamics or non-linearities.
|
||
|
|
||
|
To represent the differences between the model and the actual system, one can choose to use the general input multiplicative uncertainty as represented in Fig. \ref{fig:input_uncertainty}.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/input_uncertainty.pdf}
|
||
|
\caption{\label{fig:input_uncertainty}
|
||
|
Input multiplicative uncertainty}
|
||
|
\end{figure}
|
||
|
|
||
|
Then, the set of possible perturbed plant is described by
|
||
|
\begin{equation}
|
||
|
\label{eq:multiplicative_uncertainty}
|
||
|
\Pi_i: \quad G_p(s) = G(s)\big(1 + w_I(s)\Delta_I(s)\big); \quad \abs{\Delta_I(j\w)} \le 1 \ \forall\w
|
||
|
\end{equation}
|
||
|
and \(w_I\) should be chosen such that all possible plants \(G^\prime\) are contained in the set \(\Pi_i\).
|
||
|
|
||
|
Using input multiplicative uncertainty, robust stability is equivalent to have \cite{skogestad07_multiv_feedb_contr}:
|
||
|
\begin{align*}
|
||
|
\text{RS} \Leftrightarrow & |w_I T| \le 1 \quad \forall G^\prime \in \Pi_I, \ \forall\omega \\
|
||
|
\Leftrightarrow & \left| w_I \frac{G^\prime K H_L}{1 + G^\prime K H_L} \right| \le 1 \quad \forall G^\prime \in \Pi_I ,\ \forall\omega \\
|
||
|
\Leftrightarrow & \left| w_I \frac{G^\prime G^{-1} {H_H}^{-1} H_L}{1 + G^\prime G^{-1} {H_H}^{-1} H_L} \right| \le 1 \quad \forall G^\prime \in \Pi_I ,\ \forall\omega \\
|
||
|
\Leftrightarrow & \left| w_I \frac{(1 + w_I \Delta) {H_H}^{-1} H_L}{1 + (1 + w_I \Delta) {H_H}^{-1} H_L} \right| \le 1 \quad \forall \Delta, \ |\Delta| \le 1 ,\ \forall\omega \\
|
||
|
\Leftrightarrow & \left| w_I \frac{(1 + w_I \Delta) H_L}{1 + w_I \Delta H_L} \right| \le 1 \quad \forall \Delta, \ |\Delta| \le 1 ,\ \forall\omega \\
|
||
|
\Leftrightarrow & \left| H_L w_I \right| \frac{1 + |w_I|}{1 - |w_I H_L|} \le 1, \quad 1 - |w_I H_L| > 0 \quad \forall\omega \\
|
||
|
\Leftrightarrow & \left| H_L w_I \right| (2 + |w_I|) \le 1, \quad 1 - |w_I H_L| > 0 \quad \forall\omega \\
|
||
|
\Leftrightarrow & \left| H_L w_I \right| (2 + |w_I|) \le 1 \quad \forall\omega
|
||
|
\end{align*}
|
||
|
|
||
|
|
||
|
Robust stability is then guaranteed by having the low pass filter \(H_L\) satisfying \eqref{eq:robust_stability}.
|
||
|
\begin{equation}
|
||
|
\label{eq:robust_stability}
|
||
|
\text{RS} \Leftrightarrow |H_L| \le \frac{1}{|w_I| (2 + |w_I|)}\quad \forall \omega
|
||
|
\end{equation}
|
||
|
|
||
|
To ensure robust stability condition \eqref{eq:nominal_perf_hl} can be used if \(w_L\) is designed in such a way that \(|w_L| \ge |w_I| (2 + |w_I|)\).\\
|
||
|
|
||
|
\subsubsection{Robust Performance (RP)}
|
||
|
\label{sec:org8bff000}
|
||
|
Robust performance is a property for a controlled system to have its performance guaranteed even though the dynamics of the plant is changing within specified bounds.
|
||
|
|
||
|
For robust performance, we then require to have the performance condition valid for all possible plants in the defined uncertainty set:
|
||
|
\begin{subnumcases}{\text{RP} \Leftrightarrow}
|
||
|
|w_H S| \le 1 \quad \forall G^\prime \in \Pi_I, \ \forall\omega \label{eq:robust_perf_S}\\
|
||
|
|w_L T| \le 1 \quad \forall G^\prime \in \Pi_I, \ \forall\omega \label{eq:robust_perf_T}
|
||
|
\end{subnumcases}
|
||
|
|
||
|
Let's transform condition \eqref{eq:robust_perf_S} into a condition on the complementary filters
|
||
|
\begin{align*}
|
||
|
& \left| w_H S \right| \le 1 \quad \forall G^\prime \in \Pi_I, \ \forall\omega \\
|
||
|
\Leftrightarrow & \left| w_H \frac{1}{1 + G^\prime G^{-1} H_H^{-1} H_L} \right| \le 1 \quad \forall G^\prime \in \Pi_I, \ \forall\omega \\
|
||
|
\Leftrightarrow & \left| \frac{w_H H_H}{1 + \Delta w_I H_L} \right| \le 1 \quad \forall \Delta, \ |\Delta| \le 1, \ \forall\omega \\
|
||
|
\Leftrightarrow & \frac{|w_H H_H|}{1 - |w_I H_L|} \le 1, \ \forall\omega \\
|
||
|
\Leftrightarrow & | w_H H_H | + | w_I H_L | \le 1, \ \forall\omega \\
|
||
|
\end{align*}
|
||
|
|
||
|
The same can be done with condition \eqref{eq:robust_perf_T}
|
||
|
\begin{align*}
|
||
|
& \left| w_L T \right| \le 1 \quad \forall G^\prime \in \Pi_I, \ \forall\omega \\
|
||
|
\Leftrightarrow & \left| w_L \frac{G^\prime G^{-1} H_H^{-1} H_L}{1 + G^\prime G^{-1} H_H^{-1} H_L} \right| \le 1 \quad \forall G^\prime \in \Pi_I, \ \forall\omega \\
|
||
|
\Leftrightarrow & \left| w_L H_L \frac{1 + w_I \Delta}{1 + w_I \Delta H_L} \right| \le 1 \quad \forall \Delta, \ |\Delta| \le 1, \ \forall\omega \\
|
||
|
\Leftrightarrow & \left| w_L H_L \right| \frac{1 + |w_I|}{1 - |w_I H_L|} \le 1 \quad \forall\omega \\
|
||
|
\Leftrightarrow & \left| H_L \right| \le \frac{1}{|w_L| (1 + |w_I|) + |w_I|} \quad \forall\omega \\
|
||
|
\end{align*}
|
||
|
|
||
|
Robust performance is then guaranteed if \eqref{eq:robust_perf_a} and \eqref{eq:robust_perf_b} are satisfied.
|
||
|
\begin{subnumcases}{\text{RP} \Leftrightarrow}
|
||
|
| w_H H_H | + | w_I H_L | \le 1, \ \forall\omega \label{eq:robust_perf_a}\\
|
||
|
\left| H_L \right| \le \frac{1}{|w_L| (1 + |w_I|) + |w_I|} \quad \forall\omega \label{eq:robust_perf_b}
|
||
|
\label{eq:robust_performance}
|
||
|
\end{subnumcases}
|
||
|
|
||
|
One should be aware than when looking for a robust performance condition, only the worst case is evaluated and using the robust stability condition may lead to conservative control.
|
||
|
|
||
|
\subsection{Procedure}
|
||
|
\label{sec:org06fe5c9}
|
||
|
\label{sec:procedure}
|
||
|
In order to apply this control technique, we propose the following procedure:
|
||
|
\begin{enumerate}
|
||
|
\item Identify the plant to be controlled in order to obtain \(G\)
|
||
|
\item Design the weighting function \(w_I\) such that all possible plants \(G^\prime\) are contained in the set \(\Pi_i\)
|
||
|
\item Translate the performance requirements into upper bounds on the complementary filters (as explained in Sec. \ref{sec:trans_perf})
|
||
|
\item Design the weighting functions \(w_H\) and \(w_L\) and generate the complementary filters using \(\hinf\text{-synthesis}\) (as further explained in Sec. \ref{sec:hinf_filters}). If the synthesis fails to give filters satisfying the upper bounds previously defined, either the requirements have to be reworked or a better model \(G\) that will permits to have a smaller \(w_I\) should be obtained. If one does not want to use the \(\mathcal{H}_\infty\) synthesis, one can use pre-made complementary filters given in Sec. \ref{sec:analytical_complementary_filters}
|
||
|
\item If \(K = \left( G H_H \right)^{-1}\) is not proper, a low pass filter should be added
|
||
|
\item Design a pre-filter \(K_r\) if requirements on input usage or response to reference change are not met
|
||
|
\item Control implementation: Filter the measurement with \(H_L\), implement the controller \(K\) and the pre-filter \(K_r\) as shown on Fig. \ref{fig:sf_arch_class_prefilter}
|
||
|
\end{enumerate}
|
||
|
|
||
|
This procedure will be applied on a numerical model in Sec. \ref{sec:simulations}.
|
||
|
|
||
|
\section{H-Infinity synthesis of complementary filters}
|
||
|
\label{sec:org59c82c0}
|
||
|
\label{sec:hinf_filters}
|
||
|
First order complementary filters are easy to synthesize. For instance, one can use the following filters
|
||
|
\begin{equation}
|
||
|
H_H(s) = \frac{s/\w_0}{1 + s/\w_0}; \quad H_L(s) = \frac{1}{1 + s/\w_0}
|
||
|
\end{equation}
|
||
|
with \(\w_0\) is the tuning parameter corresponding to the crossover frequency of the filters.
|
||
|
|
||
|
However, the manual design of higher order complementary filters is far more complex and we have to use an automatic synthesis technique.
|
||
|
|
||
|
|
||
|
As shown in Sec. \ref{sec:trans_perf}, most of the performance requirements can be expressed as upper bounds on the magnitude of the complementary filters.
|
||
|
|
||
|
Thus, the \(\mathcal{H}_\infty\) framework seems adapted and we here propose a technique to synthesis complementary filters while specifying uppers bounds on their magnitudes.
|
||
|
|
||
|
\subsection{\(\hinf\) problem formulation}
|
||
|
\label{sec:orgad6c64c}
|
||
|
\label{sec:hinf_conf}
|
||
|
In this section, we formulate the \(\hinf\) problem for the synthesis of complementary filters.
|
||
|
|
||
|
The synthesis objective is to shape an high pass filter \(H_H\) and a low pass filter \(H_L\) while ensuring their complementary property (\(H_H + H_L = 1\)).
|
||
|
|
||
|
To do so, we define two weighting functions \(w_L\) and \(w_H\) that will respectively used to shape \(H_L\) and \(H_H\).
|
||
|
|
||
|
The synthesis problem is then
|
||
|
\begin{subnumcases}{\text{Find } H_L, H_H \text{ such that}}
|
||
|
H_L \text{ and } H_H \text{ are stable} \label{eq:hinf_cond_stability}\\
|
||
|
H_L + H_H = 1 \label{eq:hinf_cond_complementarity} \\
|
||
|
|w_L H_L| \le 1 \quad \forall\omega \label{eq:hinf_cond_hl} \\
|
||
|
|w_H H_H| \le 1 \quad \forall\omega \label{eq:hinf_cond_hh}
|
||
|
\end{subnumcases}
|
||
|
|
||
|
|
||
|
To express this synthesis problem into an \(\hinf\) synthesis problem, we define the following generalized plant \(P\) (also shown on Fig. \ref{fig:sf_hinf_filters_plant_b}):
|
||
|
\begin{equation}
|
||
|
\label{eq:generalized_plant}
|
||
|
\colvec{w\\u} = P \colvec{z_H \\ z_L \\ v}; \quad P = \begin{bmatrix} w_H & -w_H \\ 0 & w_L \\ 1 & 0 \end{bmatrix}
|
||
|
\end{equation}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/sf_hinf_filters_plant_b.pdf}
|
||
|
\caption{\label{fig:sf_hinf_filters_plant_b}
|
||
|
Generalized plant for the synthesis of the complementary filters}
|
||
|
\end{figure}
|
||
|
|
||
|
The \(\hinf\) synthesis objective is then to design a stable filter \(H_L\) (Fig. \ref{fig:sf_hinf_filters_b}) such that the \(\mathcal{H}_\infty\) norm of the transfer function from \(w\) to \([z_H, \ z_L]\) is less than \(1\):
|
||
|
\begin{equation}
|
||
|
\hnorm{\begin{matrix} (1 - H_L) w_H \\ H_L w_L \end{matrix}} \le 1
|
||
|
\end{equation}
|
||
|
Which is equivalent to
|
||
|
\begin{equation}
|
||
|
\label{eq:hinf_problem}
|
||
|
\hnorm{\begin{matrix} H_H w_H \\ H_L w_L \end{matrix}} < 1 \text{ by choosing } H_H = 1 - H_L
|
||
|
\end{equation}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/sf_hinf_filters_b.pdf}
|
||
|
\caption{\label{fig:sf_hinf_filters_b}
|
||
|
\(\hinf\text{-synthesis}\) of complementary filters}
|
||
|
\end{figure}
|
||
|
|
||
|
Performance conditions \eqref{eq:hinf_cond_hl} and \eqref{eq:hinf_cond_hl} are satisfied by \eqref{eq:hinf_problem}.
|
||
|
Complementary condition \eqref{eq:hinf_cond_complementarity} is satisfied by design: \(H_H = 1 - H_L\) and thus \(H_L + H_H = 1\).
|
||
|
The stability condition \eqref{eq:hinf_cond_stability} is guaranteed by the \(H_\infty\) synthesis (\textbf{reference}).
|
||
|
|
||
|
|
||
|
Using this synthesis method, we are then able to shape at the same time the high pass and low pass filters while ensuring their complementary.
|
||
|
|
||
|
\subsection{Control requirements as \(\mathcal{H}_\infty\) norm of complementary filters}
|
||
|
\label{sec:orgefb2905}
|
||
|
As presented in Sec. \ref{sec:trans_perf}, almost all the requirements can be specified with upper bounds on the complementary filters.
|
||
|
However, robust performance condition \eqref{eq:robust_perf_a} is not.
|
||
|
|
||
|
With the \(\mathcal{H}_\infty\) synthesis the condition \eqref{eq:hinf_problem} only ensure
|
||
|
\begin{align*}
|
||
|
\hnorm{\begin{matrix} H_H w_H \\ H_L w_L \end{matrix}} \le 1 &\Leftrightarrow \max_\omega \sqrt{|w_L H_L|^2 + |w_H H_H|^2} \le 1\\
|
||
|
&\Rightarrow |w_L H_L| + |w_H H_H| \le \sqrt{2} \quad \forall\omega
|
||
|
\end{align*}
|
||
|
|
||
|
And thus we have almost robust stability.
|
||
|
|
||
|
\subsection{Choice of the weighting functions}
|
||
|
\label{sec:org1036539}
|
||
|
\label{sec:hinf_weighting_func}
|
||
|
We here give some advice on the choice of the weighting functions used for the synthesis of the complementary filters.
|
||
|
|
||
|
The shape should be such that the performance requirements are met as explain in Sec. \ref{sec:trans_perf}.
|
||
|
|
||
|
However, one should be careful when designing the complementary filters, and should only use stable and minimum phase transfer functions.
|
||
|
The order of the weights should stay reasonably small as this will increase the complexity of the optimization problem.
|
||
|
|
||
|
One should not forget the fundamental limitations of feedback control such that \(S + T = 1\).
|
||
|
Similarly, we here have that \(H_L + H_H = 1\) which implies that \(H_L\) and \(H_H\) cannot be made small at the same time.
|
||
|
|
||
|
\subsection{Trade-off between performance and robustness}
|
||
|
\label{sec:org086ffaf}
|
||
|
|
||
|
\subsection{Analytical formula of complementary filters}
|
||
|
\label{sec:org5816349}
|
||
|
\label{sec:analytical_complementary_filters}
|
||
|
To simplify the synthesis, one can use already synthesized filters
|
||
|
|
||
|
\begin{align}
|
||
|
H_L(s) = \frac{1}{1 + \frac{s}{\omega_0}}\\
|
||
|
H_H(s) = \frac{\frac{s}{\omega_0}}{1 + \frac{s}{\omega_0}}
|
||
|
\end{align}
|
||
|
|
||
|
\begin{align}
|
||
|
H_L(s) &= \frac{(1+\alpha) (\frac{s}{\omega_0})+1}{\left((\frac{s}{\omega_0})+1\right) \left((\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1\right)}\\
|
||
|
H_H(s) &= \frac{(\frac{s}{\omega_0})^2 \left((\frac{s}{\omega_0})+1+\alpha\right)}{\left((\frac{s}{\omega_0})+1\right) \left((\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1\right)}
|
||
|
\end{align}
|
||
|
|
||
|
\begin{align}
|
||
|
H_L(s) &= \frac{\left(1+(\alpha+1)(\beta+1)\right) (\frac{s}{\omega_0})^2 + (1+\alpha+\beta)(\frac{s}{\omega_0}) + 1}{\left(\frac{s}{\omega_0} + 1\right) \left( (\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1 \right) \left( (\frac{s}{\omega_0})^2 + \beta (\frac{s}{\omega_0}) + 1 \right)}\\
|
||
|
H_H(s) &= \frac{(\frac{s}{\omega_0})^3 \left( (\frac{s}{\omega_0})^2 + (1+\alpha+\beta) (\frac{s}{\omega_0}) + (1+(\alpha+1)(\beta+1)) \right)}{\left(\frac{s}{\omega_0} + 1\right) \left( (\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1 \right) \left( (\frac{s}{\omega_0})^2 + \beta (\frac{s}{\omega_0}) + 1 \right)}
|
||
|
\end{align}
|
||
|
|
||
|
\section{Numerical Simulations}
|
||
|
\label{sec:org1d9ad44}
|
||
|
\label{sec:simulations}
|
||
|
In this section, the \textbf{xxx} method is applied on a simple control problem.
|
||
|
|
||
|
\subsection{Plant}
|
||
|
\label{sec:org4017a66}
|
||
|
Let's consider the problem of controlling an active vibration isolation system that consist of a mass \(m\) to be isolated, a piezoelectric actuator and a geophone.
|
||
|
|
||
|
We represent this system by a mass-spring-damper system as shown Fig. \ref{fig:mech_sys_alone} where \(m\) typically represents the mass of the payload to be isolated, \(k\) and \(c\) represent respectively the stiffness and damping of the mount.
|
||
|
\(w\) is the ground motion.
|
||
|
The values for the parameters of the models are
|
||
|
\[ m = \SI{20}{\kg}; \quad k = 10^4\si{\N/\m}; \quad c = 10^2\si{\N\per(\m\per\s)} \]
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/mech_sys_alone.pdf}
|
||
|
\caption{\label{fig:mech_sys_alone}
|
||
|
Model of the positioning system}
|
||
|
\end{figure}
|
||
|
|
||
|
The model of the plant \(G(s)\) from actuator force \(F\) to displacement \(x\) is then
|
||
|
\begin{equation}
|
||
|
G(s) = \frac{1}{m s^2 + c s + k}
|
||
|
\end{equation}
|
||
|
|
||
|
Its bode plot is shown on Fig. \ref{fig:bode_plot_mech_sys}.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/bode_plot_mech_sys.pdf}
|
||
|
\caption{\label{fig:bode_plot_mech_sys}
|
||
|
Bode plot of the transfer function \(G(s)\) from \(F\) to \(x\)}
|
||
|
\end{figure}
|
||
|
|
||
|
\subsection{Requirements}
|
||
|
\label{sec:orgee6bd2b}
|
||
|
The control objective is to isolate the displacement \(x\) of the mass from the ground motion \(w\).
|
||
|
|
||
|
The disturbance rejection should be at least \(10\) at \(\SI{2}{\hertz}\) and with a slope of \(-2\) below \(\SI{2}{\hertz}\) until a rejection of \(10^4\).
|
||
|
|
||
|
Closed-loop bandwidth should be less than \(\SI{20}{\hertz}\) (because of time delay induced by limited sampling frequency?).
|
||
|
|
||
|
Noise attenuation should be at least \(10\) above \(\SI{40}{\hertz}\) and \(100\) above \(\SI{500}{\hertz}\)
|
||
|
|
||
|
Robustness to unmodelled dynamics.
|
||
|
We model the uncertainty on the dynamics of the plant by a multiplicative weight
|
||
|
\begin{equation}
|
||
|
w_I(s) = \frac{\tau s + r_0}{(\tau/r_\infty) s + 1}
|
||
|
\end{equation}
|
||
|
where \(r_0=0.1\) is the relative uncertainty at steady-state, \(1/\tau=\SI{100}{\hertz}\) is the frequency at which the relative uncertainty reaches \(\SI{100}{\percent}\), and \(r_\infty=10\) is the magnitude of the weight at high frequency.
|
||
|
|
||
|
All the requirements on \(H_L\) and \(H_H\) are represented on Fig. \ref{fig:spec_S_T}.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/spec_S_T.pdf}
|
||
|
\caption{\label{fig:spec_S_T}
|
||
|
Specifications}
|
||
|
\end{figure}
|
||
|
|
||
|
\subsection{Design of the filters}
|
||
|
\label{sec:org60cabe3}
|
||
|
\label{sec:hinf_example}
|
||
|
We then design \(w_L\) and \(w_H\) such that their magnitude are below the upper bounds shown on Fig. \ref{fig:hinf_filters_result_weights}.
|
||
|
\begin{subequations}
|
||
|
\begin{align}
|
||
|
w_L &= \frac{(s+22.36)^2}{0.005(s+1000)^2}\\
|
||
|
w_H &= \frac{1}{0.0005(s+0.4472)^2}
|
||
|
\end{align}
|
||
|
\end{subequations}
|
||
|
|
||
|
After the \(\hinf\text{-synthesis}\), we obtain \(H_L\) and \(H_H\), and we plot their magnitude on phase on Fig. \ref{fig:hinf_filters_result_weights}.
|
||
|
|
||
|
\begin{subequations}
|
||
|
\begin{align}
|
||
|
H_L &= \frac{0.0063957 (s+1016) (s+985.4) (s+26.99)}{(s+57.99) (s^2 + 65.77s + 2981)}\\
|
||
|
H_H &= \frac{0.9936 (s+111.1) (s^2 + 0.3988s + 0.08464)}{(s+57.99) (s^2 + 65.77s + 2981)}
|
||
|
\end{align}
|
||
|
\end{subequations}
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/hinf_filters_result_weights.pdf}
|
||
|
\caption{\label{fig:hinf_filters_result_weights}
|
||
|
Bode plot of the obtained complementary filters}
|
||
|
\end{figure}
|
||
|
|
||
|
\subsubsection{{\bfseries\sffamily TODO} Plot the complementary filters with the phase?}
|
||
|
\label{sec:org7e224ea}
|
||
|
|
||
|
\subsection{Controller analysis}
|
||
|
\label{sec:orgd1d6460}
|
||
|
The controller is \(K = \left( H_H G \right)^{-1}\).
|
||
|
A low pass filter is added to \(K\) so that it is proper and implementable.
|
||
|
|
||
|
The obtained controller is shown on Fig. \ref{fig:bode_Kfb}.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/bode_Kfb.pdf}
|
||
|
\caption{\label{fig:bode_Kfb}
|
||
|
Bode plot of the controller \(K\)}
|
||
|
\end{figure}
|
||
|
|
||
|
It is implemented as shown on Fig. \ref{fig:mech_sys_alone_ctrl}.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/mech_sys_alone_ctrl.pdf}
|
||
|
\caption{\label{fig:mech_sys_alone_ctrl}
|
||
|
Control of a positioning system}
|
||
|
\end{figure}
|
||
|
|
||
|
The loop gain is
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/bode_plot_loop_gain_robustness.pdf}
|
||
|
\caption{\label{fig:bode_plot_loop_gain_robustness}
|
||
|
Bode plot of the loop gain \(K G H_L\)}
|
||
|
\end{figure}
|
||
|
|
||
|
\subsection{Robustness analysis}
|
||
|
\label{sec:orgc3b5f01}
|
||
|
The robust stability can be access on the nyquist plot (Fig. \ref{fig:nyquist_robustness}).
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/nyquist_robustness.pdf}
|
||
|
\caption{\label{fig:nyquist_robustness}
|
||
|
Nyquist plot of the uncertain system}
|
||
|
\end{figure}
|
||
|
|
||
|
The robust performance is shown on Fig. \ref{fig:robust_perf_tikz}.
|
||
|
|
||
|
\begin{figure}[htbp]
|
||
|
\centering
|
||
|
\includegraphics[scale=1]{./figs/robust_perf.pdf}
|
||
|
\caption{\label{fig:robust_perf_tikz}
|
||
|
Robust Performance}
|
||
|
\end{figure}
|
||
|
|
||
|
\section{Discussion}
|
||
|
\label{sec:org9b13015}
|
||
|
\subsection{Limitations}
|
||
|
\label{sec:org0f10cfa}
|
||
|
\label{sec:limitations}
|
||
|
One should be aware that this control architecture suffers from the same limitations as classical feedback control.
|
||
|
\(S + T = 1\) similarly to \(H_H + H_L = 1\).
|
||
|
|
||
|
Should I put that at the end of the paper?
|
||
|
|
||
|
\begin{itemize}
|
||
|
\item The synthesis of the filters does not take into account the plant. The limitation linked to the filters are fundamental limitations of feedback control: \(S + T = 1\).
|
||
|
\item The limitations are appearing when inverting the model of the plant (inverse based control) => RHP-zeros are becoming RHP-poles
|
||
|
\end{itemize}
|
||
|
|
||
|
\section{Conclusion}
|
||
|
\label{sec:orgbe3804d}
|
||
|
\label{sec:conclusion}
|
||
|
In the following work, this will be generalized to MIMO systems
|
||
|
|
||
|
\section{Acknowledgment}
|
||
|
\label{sec:orgd7a27e3}
|
||
|
\bibliography{ref}
|
||
|
\end{document}
|