# A Robust \(H_{\infty}\) Application for Motor-Link Control Systems of Industrial Manipulators
## 5 A New Implementation Approach  
The proposed modification is based on the idea of keeping the plant dynamics as partially _visible_ from the control action. The elimination of the resonant zeros of the motor loop plant occurs in the standard implementation, when computing the closed-loop transfer function, because such zeros appear as poles of the controller transfer function. This derives from the choices made for the definition of the two weighting functions. As already explained, the weighting functions represent a mathematical way to describe the requirements that the system has to guarantee. The idea is then to let them also include the necessity to maintain the plant transmission zeros in the definition of the closed-loop function, in addition to the frequency domain requirements. The proposed approach can be sketched as follows. Let us consider a plant transfer function expressed as:  
\[P(s)=\frac{K(s^{2}+as+b)}{(s+c)(s^{2}+ds+e)} \tag{15}\]  
where \(P(s)\) has the same structure of the model in (12), defining the relationship between the motor torque and the motor velocity. The first step to perform is to choose the control specifications. Usually, in order to have a responsive system, it is preferable to close the control loop at a frequency higher than the plant vibration mode, defined by the plant resonant zeros. This means that if a vibration is registered at \(\alpha\) frequency, our purpose will be to have a control system working at \((\alpha+\delta)\) frequency. It is possible to understand that the frequency requirements are very important, and they have to be chosen carefully. In fact, they represent the starting point for the new definition of the \(W_{S}(s)\) and \(W_{T}(s)\) weighting functions. In the standard implementation, developed in the previous sections, the sensitivity and the complementary sensitivity functions have been shaped starting from the value of the frequency \(\omega_{n}\) of the imposed poles, derived from transient specifications, as:  
\[T(s)=\frac{\omega_{n}^{2}}{s^{2}+2\zeta\omega_{n}s+\omega_{n}^{2}} \tag{16}\]  
\[S(s)=\frac{s(s+2\zeta\omega_{n})}{s^{2}+2\zeta\omega_{n}s+\omega_{n}^{2}} \tag{17}\]  
The key point of the new implementation is the derivation of \(T(s)\) and \(S(s)\) in such a way that they can both directly summarize the frequency control requirements and realize weighting functions able to guarantee proper motor and link responses. In this sense, the standard expression of \(T(s)\) given in (16) is substituted by:  
\[T^{*}(s)=\frac{K_{T}(s^{2}+as+b)(s^{2}+f_{1}s+f_{2})}{(s+\beta)(s+\gamma)(s^{2 }+f_{3}s+f_{4})} \tag{18}\]  
including the numerator of \(P(s)\) in (15). The additional polynomial \((s^{2}+f_{1}s+f_{2})\) at numerator has high-frequency roots, and it is added in order to make the function proper, while the denominator represents the translation in the s-domain of the control frequency requirements, as usual. In particular, the roots of polynomial \((s^{2}+f_{3}s+f_{4})\) are the imposed dominant poles, usually chosen close to the nominal plant vibration mode (i.e., 5 Hz in the considered case), with a very high damping factor (0.99 has been set in our implementation). \(\beta\) and \(\gamma\) are positive real numbers, defining two further stable poles, located at higher frequencies. The sensitivity function is then determined from the complementary sensitivity function according to the following well-known relation:  
\[S^{*}(s)=1-T^{*}(s) \tag{19}\]The computation of \(S^{*}(s)\) starting from \(T^{*}(s)\) can result in a very low frequency zero that usually is approximated by Matlab with a zero in the origin, making the function not suitable to be used in the definition of the weighting function, which would not be BIBO stable, as well as the corresponding generalized plant thus obtained to be adopted in the solution of the optimization problem. If this is the case, the pole in \(s=0\) in \(W^{*}_{S}(s)\) will be substituted by a low-frequency pole corresponding to the factor \((s+\lambda)\).