# A Robust \(H_{\infty}\) Application for Motor-Link Control Systems of Industrial Manipulators
## 3 Implementation to a Manipulator Axis  
Let us consider for the nominal plant \(G_{pm}(s)\) the following dynamic model of a base axis of a spot-welding Comau industrial manipulator, coherent with the general formulation given in (2), where all the numerical values are obtained expressing the robot physical parameters in SI units, and \(G_{a}(s)=K_{t}=1.053589\) Nm/A:  
\[G_{pm}(s)=\frac{102.46(s^{2}+1.309s+1565)}{(s+0.269)(s^{2}+5.786s+6005)} \tag{12}\]  
The system is not very rigid: as it can be noticed from the Bode diagram of the transfer function module (Figure 6), its vibration mode is around 6 Hz. This makes the control implementation quite complex. Our purpose is to design and implement a control law able both to provide a precise axis response and to damp possible link vibrations. In order to make this possible, the control system has to work over the system modal frequency, e.g, at about 7 Hz. The time requirements to impose in the development of the controller are determined starting from the step response (reported in Figure 7) of a low pass filter satisfying the condition above, considered as the ideal desired behavior of the system. The rise time \(t_{r}\) and the settling time \(t_{s}\) are evaluated from the step response plot as:  
1. \(t_{r}=0.112\) s;
2. \(t_{s}=0.134\) s.  
The last missing requirement regards the overshoot. Ideally, we would like to have a system with no overshoot. Since, in practice, this is hardly obtainable (and not always convenient), a maximum overshoot \(\delta=0.05\) is considered as tolerable. So, the general time specifications used in the control design are:  
1. \(t_{r}=0.112\) s;
2. \(t_{s}=0.134\) s;
3. \(\hat{s}=0.05\). They are then translated into frequency domain requirements, leading to shapes of the sensitivity function \(S(s)\) and the complementary sensitivity function \(T(s)\) as reported in Figure 8.  
According to the definition of the weighting functions (4) and (9), after some iterations, the nominal functions \(W_{S}(s)\) and \(W_{T}(s)\) can be shaped as in Figures 9 and 10, respectively. The controller transfer function is determined by solving the optimization problem through the \"hinflmi\" Matlab function, which implements the LMI-based approach [22]. By considering as state of the plant a vector including all the state variables corresponding to minimal realizations of \(Gpm(s)\), \(W_{S,supp}(s)\), and \(W_{T,supp}(s)\) (which substitute \(W_{S}(s)\) and \(W_{T}(s)\), as previously discussed), the best \(H_{\infty}\) controller transfer function is obtained as:  
Figure 6: \(G_{pm}(s)\) Nominal Plant. Figure 7: Low-pass filter step response, representing the ideal system behavior. \[[\gamma,G_{c}]=\text{hinflmi(M, R, G, tol, opt)}.\]  
The reader is recommended to refer to the Matlab help guide for command details. The toolbox returns the controller in a system matrix form. Its subsequent conversion into the corresponding rational transfer function usually allows to apply some improvements. In fact, the function may include high or low frequency poles and zeros that can be removed to reduce the controller's order, without causing any significant variation in the system time-step response. In addition, the solving procedure adopted by the toolbox does not include possible requirements about the presence of a pole at zero frequency in the controller. For example, by considering the velocity loop, it is useful to have a pole at zero in order to guarantee a null velocity error, while in the position loop, the s-pole derives from the position plant, where it is inserted in order to reach the physical and mathematical conversion from velocity to position. Other changes that can be applied to the controller transfer function can regard its dc-gain, which can make the system slower or quicker. Figure 8: \(S(s)\) (red line) and \(T(s)\) (black line). Figure 9: \(S(s)\) (black line) and \(W_{s}(s)\) (red line).