SciELO - Scientific Electronic Library Online

 
vol.35 issue3Analysis of stresses in ADI internal gears mounted with interference: distortion and residual stresses effects author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

  • Have no cited articlesCited by SciELO

Related links

  • Have no similar articlesSimilars in SciELO

Share


Latin American applied research

Print version ISSN 0327-0793

Lat. Am. appl. res. vol.35 no.3 Bahía Blanca July/Sept. 2005

 

Real-time H2 and H¥ control of a gyroscope using a polynomial approach

J. L. Orozco M.1, J. Ruiz-León1, D. Henrion2,3 and M. Šebek4

1 CINVESTAV-IPN, Unidad Guadalajara, P.O. Box 31-438, Guadalajara, 44550 Jalisco, Mexico
{jorozco, jruiz}@gdl.cinvestav.mx

2 Laboratoire d'Analyse et d'Architecture des Systèmes, Centre National de la Recherche Scientifique Toulouse, France,
henrion@laas.fr

3 Institute of Information Theory and Automation, Academy of Sciences of the Czech Republic Prague, Czech Republic.
4 Center for Applied Cybernetics, Dept. of Control Eng., Czech Technical University in Prague Czech Republic,
m.sebek@polyx.cz

Abstract — In this paper H2 and H¥ control techniques are applied to the real-time control of a gyroscope with two degrees of freedom. The controllers are designed based on a polynomial approach and using routines from the Polynomial Toolbox for MATLAB. Real-time results are presented, showing a good performance of the controllers.

Keywords — Control System Design. Optimization H2. Optimization H¥. Polynomial Approach. Gyroscope. Polynomial Toolbox.

I. INTRODUCTION

Practical applications of modern control techniques to physical systems are fundamental in control engineering. These modern techniques allow controlling complex dynamic systems satisfying particular design objectives. The efficiency of the control schemes is tested and verified in the application process.

Computational routines and software, on the other hand, are important tools for the application of control schemes. The analysis of dynamic systems and the design of controllers, usually involving complex computations, can be easily carried out using computer programs.

The aim of this work is to apply H2 and H¥ optimization techniques to the control of a gyroscope with two degrees of freedom. The controllers are designed using routines from the Polynomial Toolbox 2.5 for MATLAB1, which are based on a polynomial approach. One of the advantages of the polynomial approach is that the controllers for the linear model of the system can be designed directly from a transfer function description, which can be usually obtained from input-output information, avoiding the need for a state-space model of the system.

The main contribution of this paper is the application of modern optimization control techniques to the control of a gyroscope in real time. To this end, we obtain a suitable description of the system, and explain with detail the design of the corresponding controllers. Real-time results are presented, showing a good performance of the controllers. Also, the application proposed in this paper can serve very well as a lab for students. Indeed, the polynomial approach is relatively simple to apply, and the analysis and design can be easily carried out using routines from the Polynomial Toolbox.

Roughly speaking, H2-optimization consists in finding a controller which minimizes the H2 norm of the closed-loop transfer function and internally stabilizes the system. The closed-loop transfer function to be minimized is located between the external signal and the control error signal, where the external signal comprises external inputs, including perturbations, measuring noise and reference inputs.

The standard H2 problem was solved by Doyle et al. (1989), and the authors present a solution to this problem considering a state-space description of a linear multivariable system. In Hunt et al. (1994), a solution is presented to the standard H2 problem based on the polynomial solution to the LQG problem from Kučcera (1979). The proposed polynomial solution is based on square complements and Diophantine equations. Another polynomial solution to the standard H2 problem is given in Meinsma (2000), which is based on factorizations over polynomials and stable matrices. Later on, Kwakernaak (2000) presents another solution based on factorizations over polynomial matrices and Diophantine equations. This solution uses a generalized plant as a starting point, which allows to solve a number of problems, for example the mixed sensitivity problem and Wiener Hopf optimization, in a simple and methodological way.

It should be stated that the previously mentioned solutions to the standard H2 problem are not entirely equivalent. Because of the different mathematical tools applied, the problems are solved at different levels of generality under different assumptions.

The design of the H2 controller to be applied in this work to the gyroscope is based on the results of Kwakernaak (2000). The reason for this choice is due to the simplicity of the polynomial approach and to thefactthatthere existcomputer routines in the software Polynomial Toolbox, which allow obtaining the corresponding controller in a relatively simple way.

Investigation on H¥-optimization for control systems was initiated by Zames (1981), who considered the minimization of the maximum magnitude over frequency of the sensitivity function of a scalar linear feedback system. There exist various solutions to the standard H¥ problem, the most important being the so-called "two Riccati equation" solution (Glover and Doyle, 1988; Doyle et al., 1989), which relies on a state space representation of the problem and requires the solution of two indefinite algebraic Riccati equations. A frequency domain solution to the standard H¥ problem is presented in Kwakernaak (1996), based on polynomial matrix techniques and spectral factorizations. The corresponding scheme consists on a generalized plant interconnected with the feedback compensator, and the H¥-optimization problem consists basically in finding a controller K which minimizes the H¥ norm and stabilizes the closed-loop system. While the H2 norm of a signal is the mean energy with respect to the frequency, the H¥ norm is the maximum energy with respect to the frequency. The design of the H¥ controller to be applied to the gyroscope will be based on the frequency domain solution of Kwakernaak (1996).

This work is organized as follows. The system under study, a gyroscope of two axes, is presented in section II. Section III deals with the application of H2-optimization to the gyroscope. The corresponding controller is obtained using routines from the Polynomial Toolbox and an adequate choice of the filters. Real-time simulation results of this controller applied to the gyroscope are also presented in this section. In section IV, application of H¥-optimization is considered, presenting also the controller design and real-time simulation results. Finally, we end with some conclusions.

II. DESCRIPTION OF THE SYSTEM

Gyroscopes are used to measure the angular movement with respect to a fixed structure, and are a key component of plane automatic pilots, rocket guidance systems, spatial vehicle altitude systems, navigation gyrocompasses, etc. (Cannon, 1967).

The system considered in this work is a gyroscope of two axes, shown schematically in Fig. 1, which is a lab experiment developed by Quanser Inc. (see www.quanser.com). The gyroscope consists basically of the following components: a support plate holding the gyro module with a rotor which rotates at a constant speed, its movement being produced by a DC motor, sensors for the angles α and ,and a data acquisition card connecting the gyroscope to a computer.

Angle α defines the angular position of the structure with the rotor, with respect to the gyro module, while angle is located between the gyro module and the support plate.


Figure 1. Scheme of the gyroscope.

The purpose of the controller to be designed for this system is to maintain the direction at which the gyroscope is pointing, while the support plate rotates relative to the base plate. In other words, the gyro module must keep its position relative to the base plate in the presence of perturbations or any movement of the support plate. This mimics the problem of a ship on which a radar is mounted, and it is desired to maintain the direction in which the radar beam points independent of the unknown yawn of the ship due to disturbances and steering. The control input of the system is the voltage δ applied to the DC motor, and the output will be considered to be the angle .

The transfer function of the gyroscope between the input δ and the output , obtained from the dynamic equations and from the parameters of the system, is given by

The zeros and poles of the system represented by the transfer function P(s) are given by

zeros = 67.267
- 67.267
poles = 0
0.056239
- 0.89238 + 372.92i
- 0.89238 - 372.92i,

from which it can be seen that the system is non-minimum-phase and unstable. The Bode diagram of the transfer function P(s) is shown in Fig. 2.


Figure 2. Bode diagram of the transfer function P(s).

III. H2 CONTROL

In this section we present first the design of the H2 controller and afterwards the real time simulations of the controller applied to the gyroscope. The controller to be designed should be such that the gyro module keeps its position in presence of perturbations or movements of the base plate, while providing stability, performance and robustness to the closed-loop system.

A. Controller Design

The controller will be designed based on the procedure indicated in Kwakernaak (2000). Let us consider the block diagram of Fig. 3, where P(s) is the transfer function of the system, K(s) is the compensator to be designed, v comprises the external inputs, including perturbations, measurement noise and reference inputs, z is the control error signal, y is the measured output, u is the control input, and V1(s), V2(s), W1(s)and W2(s) are shaping filters. The H2 mixed sensitivity problem consists in finding a controller K(s) which minimizes the H2 norm of the closed-loop transfer function and internally stabilizes the system. This generalized problem allows for colored disturbances and measurement noise, whose frequency contents are determined by V1(s), and V2(s), and frequency weightings of the controlled output and of the input determined by W1(s)and W2(s).


Figure 3. The H2 mixed sensitivity problem.

The design objectives of achieving stability, performance and robustness can be accomplished by making the loop gain large at low frequencies, small at high frequencies, and keeping the loop gain away from the critical point -1 at crossover frequencies.

The loop gain has a direct effect on important closed-loop transfer functions which determine the 2-norm, such as the sensitivity S(s) and the complementary sensitivity T(s). For the conuration of Fig. 3, these functions are given by

S(s)=[I + P(s)K(s)]-1
T(s)= P(s)K(s)[I + P(s)K(s)]-1
(1)

where P(s) is the open-loop transfer function of the system.

The sensitivity function S(s) determines the effect of the disturbance on the output of the control system. The complementary sensitivity T(s) satisfies the identity S(s) + T(s) = I, and it is important for the closed-loop response, the effect of measurement noiseand theamountofcontrol effort. In terms of these two functions the design objectives can be accomplished by making the sensitivity S(s) small at low frequencies, making the complementary sensitivity T(s) small at high frequencies, and preventing both S(s) and T(s) from peaking at crossover frequencies.

For simplicity, we consider that V2(s) = 0, which is equivalent to supposing that there does not exist measuring noise. In order to use the Polynomial Toolbox, we need the generalized plant given by

(2)

The instruction h2 from the Polynomial Toolbox for the design of the controller which solves the H2 problem we are considering in this work, is of the form

[Y, X, clpoles, fixed]= H2(N, D, ncon, nmeas)

where N and D are a left coprime matrix fraction description of the generalized plant G, ncon is the number of driving inputs, and nmeas is the number of measured outputs. This instruction returns the controller K = Y/X, the nonfixed closed-loop poles, and the fixed poles of the plant.

The weighting functions V1(s), W1(s)and W2(s) will be assigned following the procedure indicated in Kwakernaak (2000) as follows. Several recommendations are given in this reference for the choice of V1(s), oneofthembeing thefollowing: if the transfer function of the plant P(s)isstrictlyproperthen V1(s) is recommended to be of the form , where the constant α1 is a design parameter. It can be seen that the presence of a pole at 0 in V1(s) forces the sensitivity function S(s) to be 0 at s = 0. If S(s) does not have a zero at 0 then the 2-norm cannot be finite. If the plant P(s) has a pole at 0, thenitisnot necessary to include a pole at 0 in V1(s) except if it is desired to design a system with more than one integrator. This situation is also in accordance with the internal model principle, where the open loop transfer function of the plant with the compensator must contain the model of the perturbation.

In our case, and since the transfer function of the gyroscope has already a pole at 0, instead of the previous choice, the function V1(s) will have the form

where d(s) is the denominator of the plant P(s) and m(s) is a polynomial to be properly assigned. With this form of V1(s), it can be shown in the mixed sensitivity problem formulation that the polynomial m(s) cancels against a corresponding factor in the closed-loop characteristic polynomial X(s)d(s) + Y(s)n(s) of the feedback system (Kwakernaak, 1993). Then, the roots of m(s) will actually be poles of the closed-loop system, situation which is referred in Kwakernaak (1993) as the partial pole placement technique. Therefore, the selection of V1(s) is one of the key steps in the controller design.

The polynomial m(s) in the case of the gyroscope was assigned as

m(s)= (s + 12)(s + 5)(s + 0.001)

basically from time simulations, trying different pole locations until a good performance was obtained. Then V1(s) is strictly proper and has a pole excess (difference between the number of poles and the number of zeros) of one, as recommended in Kwakernaak (2000).

For sensible control systems the sensitivity function S(s) has the property that S(s) = 1 and therefore it is proper but not strictly proper. For this reason, whichever way the weighting function V1(s) is chosen, the product W1(s)V1(s) needs to be strictly proper to allow the 2-norm to be finite. Since we have that V1(s) has a pole at 0, then W1(s) may be used for fine tuning. A safe initial choice, and the value we will actually use is W1(s) = 1.

Since V1(s) has a pole excess of 1, the input sensitivity function

must be such that W2(s)U(s) has pole excess 0. Therefore, W2(s) must be of the form

W2(s) = c(1 + rs)= 0.1(1 + 0.1s)

where the values of c and r were obtained experimentally.

Substituting the functions V1(s), W1(s) and W2(s) in the generalized plant G(s) given by (2), we have that the following is a left coprime polynomial matrix fraction description of G(s)

For this generalized plant, the instruction h2 from the Polynomial Toolbox 2.5 returns the controller K = Y/X,where

Y = 0.000984 - 1.02s + 0.00723s2
+ 0.000775s3 + 0.0000760s4,
X = 1 + 0.346s + 0.0621s2 + 0.00525s3
+ 0.000163s4.

The closed-loop poles of the system are given by

clpoles = 0.89387 + 372.94i
- 0.89387 - 372.94i
- 12
- 9.4935
- 5
- 2.4556 + 2.6019i
- 2.4556 - 2.6019i
- 0.0010000

there are no fixed closed-loop poles

fixed = Empty matrix: 0-by-1,

and the closed-loop zeros are given by

clzeros = 67.267
- 67.267
- 14.949 + 21.471i
-
14.949 - 21.471i
19.717
0.00095600.

The corresponding sensitivity functions S(s) and T(s) given by (1) are shown in Fig. 4, where it can be seen that they have the specified properties to accomplish the design objectives of achieving stability, performance and robustness of the closed-loop system. Indeed, the sensitivity S(s) is small at low frequencies, the complementary sensitivity T(s) is small at high frequencies, and both S(s)and T(s) do not peak at crossover frequencies.


Figure 4. Sensitivity S(s) and complementary sensitivity T(s) for H2 control.

B. Real-time Results

To test the performance of the designed controller in real time, we introduce a perturbation to the system by moving manually the support plate, producing a sequence of step-like functions of different magnitude. Figure 5 shows the angular movement (t) between the support plate and the gyro module caused by the input perturbation. Angle (t) stabilizes at the negative value of the input perturbation for every step-like function.


Figure 5. Angle (t) in real time.

Figure 6 shows angle α(t), where it can be seen that in the presence of a perturbation, angle α(t) opposes to the movement of the gyro module until the perturbation is rejected.

Figure 7 shows the control signal δ(t) applied to the system. The gyro module remains practically without any movement at all while the support plate rotates due to the perturbation introduced, showing a very good performance of the designed H2 controller.


Figure 6. Angle α(t) in real time.


Figure 7. Control signal δ(t) in real time.

As far as the design and operation of the control system are concerned, we noticed that if the sensitivity function S(s) is bigger, the gyroscope is more influenced by the perturbations, and the actuators are saturating due to the appearing peaks. This problem appears in real time, but in simulation the system performed better the bigger the sensitivity function was, and the reason for this is because no noise is considered in the simulations. Observe also that one of the closed-loop poles of the system is very close to the imaginary axis. The system performed better in simulation the more this pole was far away from the imaginary axis, but in real time the system did not work, again because of saturation of the actuators. Even though we tried to find a theoretical explanation why this pole must be close to the imaginary axis to avoid saturation, it must be said that still we do not understand this phenomenon properly.

Notice also that the closed-loop system has highly oscillatory poles, which may be a threat to the system stability. These poles are also present in the open loop and it could be expected that the controller cannot compensate for them. However, no important effect produced by these highly oscillatory poles was observed in the real-time simulations.

IV. H¥ CONTROL

A. Controller Design

In order to solve the H¥ mixed sensitivity problem, we need again the generalized plant in the form given by (2). For this, the weighting functions V1(s), W1(s) and W2(s) have to be properly chosen, and the procedure to choose them is very similar to the case of the H2 mixed sensitivity problem (Kwakernaak, 1996; see also Kwakernaak, 1998). One minor difference is that the function V1(s) has to be proper for the H¥ control, and not strictly proper as in the case of the H2 control.

The function V1(s) is then a proper rational function of the form

which must satisfy that W1(s)V1(s) is proper, and where the roots of m(s) become closed-loop poles of the system. The polynomial m(s) was obtained as

m(s)= (s + 42)(s + 15)(s +5)(s +0.001)

basically from time simulations, trying different pole locations until a good performance was obtained.

As in the case of the H2 control, we have that W1(s) = 1. For the function W2(s), and in order that W2(s)U(s) has pole excess 0,we have that

W2(s)= c(1 + rs) = 1(1 + 0s) = 1

where the values of r and s were obtained experimentally.

Substituting the functions V1(s), W1(s)and W2(s) in the generalized plant G(s) given by (2), we have that the following is a left coprime polynomial matrix fraction description of G(s)

The H¥ controller will be obtained using the instruction mixeds from the Polynomial Toolbox. Besides the left polynomial factorization of the generalized plant, this instruction requires the parameters gmin, gmax, accuracy and tol to be specified. The parameters gmin and gmax are respectively lower and upper bounds for the minimal H¥ norm, accuracy specifies how closely the minimal norm is to be approached, and tol defines four tolerances, namely those used in canceling identical pole-zero pairs in the transfer function of the optimal compensator, in various stability tests, in the spectral factorization, and in the left-to-right and right-to-left conversions. For the case of the gyroscope, these values were obtained experimentally from various tests as

gmin = 134.5
gmax = 139
accuracy =1 × 10-4
tol =[1 × 10-4, 1 × 10-9, 1 × 10-15, 1 × 10-8].

With these data and parameters, the instruction mixeds produces the compensator K = Y/X, where

Y = 0.000414 + 0.437s + 0.276s2 - 0.0248s3 + 0.000133s4,
X = - 0.511 - 0.671s - 0.137s2 - 0.00858s3 - 0.000135s4.

The closed-loop poles and zeros of the system are given by

clpoles = - 0.86516 + 372.92i
- 0.86516 - 372.92i
- 42
- 15
- 5
- 0.79247 + 0.79159i
- 0.79247 - 0.79159i
- 0.0010000,
clzeros = 67.267
- 67.267
1843.9
12.628
1.4036
0.00000094.

The corresponding sensitivity functions S(s) and T(s), shown in Fig. 8, have the specified properties to accomplish the design objectives of achieving stability, performance and robustness of the closed-loop system, namely the sensitivity S(s) is small at low frequencies, the complementary sensitivity T(s) is small at high frequencies, and both S(s) and T(s) do not peak at crossover frequencies.


Figure 8. Sensitivity S(s) and complementary sensitivity T(s) for H¥ control.

B. Real-time Results

For the real-time application, and in order to test the performance of the designed controller, we introduced again a perturbation by moving manually the support plate. The angle (t) caused by this input perturbation is shown in Fig. 9. The corresponding behavior of the angle α(t) is shown in Fig. 10, where it can be seen that α(t) opposes to the movement of the gyro module until the perturbation is rejected. The control signal δ(t) is shown in Fig. 11.


Figure 9. Angle (t) in real time.


Figure 10. Angle α(t) in real time.


Figure 11. Control signal δ(t).

The gyro module remains practically without movement with respect to its initial position in the presence of the introduced perturbation, showing again a good performance of the designed controller.

For the H¥ controller applied to the gyroscope we noticed that if the sensitivity function S(s) was made too small, theoretically the system would perform better. In the real-time application this option did not work because the control law was out of the physical rank it could assume, producing saturation in the actuators. As in the case of the H2 control, the closed-loop system has a pole near the imaginary axis, and highly oscillatory poles.

V. CONCLUSIONS

In this paper, H2 and H¥ control techniques have been applied to the real-time control of a gyroscope of two degrees of freedom. The controllers were designed using routines from the Polynomial Toolbox for MATLAB, based on a polynomial approach. This approach is relatively simple to apply, and the existence of computational routines helps to a great extent in the controllers design.

Real-time results show a good performance of the controllers. The choice of the corresponding filters and parameters for the controllers design was done taking into account the system characteristics and experimental results from simulations. Thus, this selection strongly depends on the particular physical system to be controlled.

Although the H¥ controller performed generally a little better than the H2 controller rejecting step-like perturbations, both controllers performed rather similarly in the time domain, both rejected disturbances, and closed-loop poles location does not differ too much.

Future work has to focus on testing the robustness of the controllers, for instance introducing variations on the parameters of the system.


1 For more information on the Polynomial Toolbox, see www.polyx.com. MATLAB is a trademark of The MathWorks Inc.

ACKNOWLEDGMENTS
The work of M. Šebek has been supported by the Ministry of Education of the Czech Republic under contracts No. LN00B096 and ME 546.
D. Henrion acknowledges support for grant No. 102/02/0709 of the Grant Agency of the Czech Republic and project No. ME 496/2002 of the Ministry of Education of the Czech Republic.

REFERENCES
1. Cannon, R.H., Dynamics of physical systems, McGraw-Hill, New York (1967).         [ Links ]
2. Doyle, J.C., K. Glover, P.P. Khargonekar and B. Francis, "State-space solutions to the standard H2 and H¥ control problems", IEEE Trans. Automat. Contr. 34, 831-847 (1989).         [ Links ]
3. Glover, K. and J.C. Doyle, "State space formulae for all stabilizing controllers that satisfy an H¥-norm bound and relations to risk sensitivity", Systems & Control Letters 11, 167-172 (1988).         [ Links ]
4. Hunt, K.J., M. Šebek and V. Kučera, "Polynomial solution of the standard multivariable H2 optimal control problem", IEEE Trans. Automat. Contr. 39, 1502-1507 (1994).         [ Links ]
5. Kučera, V., Discrete linear control -The polynomial equation approach, Wiley Interscience, Chichester (1979).         [ Links ]
6. Kwakernaak, H., "Robust control and H¥-optimization", Automatica 29, 255-273 (1993).         [ Links ]
7. Kwakernaak, H., "Frequency domain solution of the standard H¥ problem", in M.J. Grimble and V. Kučera, editors, Polynomial methods for control system design, Springer-Verlag (1996).         [ Links ]
8. Kwakernaak H. and M. Šebek, "Polynomial methods for controller design", Course for the graduate school in systems and control, Belgium, Fall 1998-1999, available at www.polyx.cz (1998).         [ Links ]
9. Kwakernaak, H., "H2-Optimization -Theory and applications to robust control design", Plenary paper, IFAC Symposium on Robust Control Design, Prague, Czech Republic (2000).         [ Links ]
10. Meinsma, G., "The standard H2 problem", IFAC Symposium on Robust Control Design, Prague, Czech Republic (2000).         [ Links ]
11. Zames, G., "Feedback and optimal sensitivity: Model reference transformations, multiplicative seminorms, and approximate inverses", IEEE Trans. Automat. Contr. 26, 301-320 (1981).
        [ Links ]

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License