# A Robust \(H_{\infty}\) Application for Motor-Link Control Systems of Industrial Manipulators
## 2 \(H_{\infty}\) Control Approach Basics
### The Weighting Functions  
In addition to the indispensable stability requirement, a feedback control system must guarantee adequate performances as regards reference tracking, disturbance rejection, sensor noise attenuation, control sensitivity minimization, and robustness to modeling errors. All these requirements can be depicted by means of proper definitions of the sensitivity function \(S(s)\) and complementary sensitivity function \(T(s)\). Ideally, both functions should be kept as small as possible in wide frequency ranges to accomplish all the requirements, but since \(S(s)\) and \(T(s)\) are such that \(S(s)+T(s)=1\), it is not possible to simultaneously keep them small in any frequency region. Since reference trajectories and disturbances are usually low-frequency signals, while sensor noise and modeling errors are concentrated at high frequencies, a convenient trade-off is achieved making \(S(s)\) small at low frequencies and \(T(s)\) at high ones. The \(H_{\infty}\) algorithm uses weighting functions to summarize the design requirements and the open- and closed-loop response characteristics. \(W_{S}(s)\) and \(W_{T}(s)\) are the mirrors of \(S(s)\) and \(T(s)\), respectively. They are rational, stable, and minimum-phase transfer functions. The critical issue of this kind of approach is that most of times they are formulated by using trial and error procedures, which slow down the design procedure and do not always guarantee optimal results. Since there is not a predefined, automatic way to build them, in the literature, several different formulations can be found, and their suitability strongly depends on the particular application field. A possible choice for \(W_{S}(s)\), e.g., following the guidelines in [20], is:  
\[W_{S}(s)=\frac{1+1.414\frac{s}{\omega_{2}}+\frac{s^{2}}{\omega_{2}^{2}}}{as(1+ \frac{s}{\omega_{1}})} \tag{4}\]  
in which both the numerator and the denominator are given by _Butterworth polynomials_, to obtain a frequency response as flat as possible in the bandwidth of interest (Figure 4). Figure 4: \(W_{S}(s)\) Weighting Function—Black line: Sensitivity function; Red line: Weighting function. In (4), the coefficients \(a\), \(\omega_{1}\), and \(\omega_{2}\) have to be properly defined in order to fulfill the frequency specifications. Selecting all the parameters by using a trial and error technique is not efficient, since it might require several iterations to reach a function form as close as possible to the desired one. For this reason, only the first two parameters are actually chosen by trial and error, while \(\omega_{2}\) is determined from them imposing the following two conditions:  
\[\lim_{s\to 0}\ \frac{1}{s}W_{S}^{-1}(s)=a \tag{5}\]  
where \(a\) is a constant parameter that has to be chosen to obtain a weighting function resembling the sensitivity one, and  
\[\lim_{s\to\infty}\ W_{S}^{-1}(s)=S_{p0} \tag{6}\]  
where \(S_{p0}\) is the maximum allowed resonant peak of \(W_{S}(s)\). The last coefficient \(\omega_{2}\) in \(W_{S}(s)\) is then derived by imposing:  
\[S_{p0}=\frac{a\omega_{2}^{2}}{\omega_{1}} \tag{7}\]  
thus obtaining:  
\[\omega_{2}=\sqrt{\frac{\omega_{1}S_{p0}}{a}} \tag{8}\]  
\(W_{T}(s)\) can be designed as a simple low-pass filter (as in Figure 5):  
\[W_{T}(s)=\frac{(1+\frac{s}{\omega_{3}})^{2}}{T_{p0}} \tag{9}\]  
where \(\omega_{3}\) is chosen again by trial and error. The definition of the weighting functions represents the crucial aspect of the design. They reflect the system frequency requirements, but they also influence the system robustness and the quality of the time responses. Even if, in their original formulation, they are able to satisfy the robustness performances of the system, it is not guaranteed that a satisfying behavior is achieved in the time domain. Moreover, \(W_{S}(s)\) and \(W_{T}(s)\) cannot be used exactly as in (4) and (9), since they are not stable and proper functions: \(W_{S}(s)\) has a pole at the origin, while \(W_{T}(s)\) is an improper function.