Научная статья на тему 'Non-linear backstepping ship course controller'

Non-linear backstepping ship course controller Текст научной статьи по специальности «Медицинские технологии»

CC BY
88
39
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
backstepping / Lapunov function / asymptotic stability

Аннотация научной статьи по медицинским технологиям, автор научной работы — Witkowska Anna, Śmierzchalski Roman

A ship, as an object for course control, is characterised by a nonlinear function describing the static manoeuvring characteristics. One of the methods, which can be used, for designing a non-linear course controller for ships is the backstepping method. It was used here for designing the configurations of nonlinear controllers, which were then applied for ship course control. The parameters of the obtained non-linear control structures were tuned to optimise the operation of the control system. The optimisation was performed using genetic algorithms. The quality of operation of the designed control algorithms was checked in simulation tests performed on the mathematical model of the tanker completed by steering gear

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Non-linear backstepping ship course controller»

NON-LINEAR BACKSTEPPING SHIP COURSE CONTROLLER

Witkowska Anna

University of Technology, Gdansk, Poland

Smierzchalski Roman

Maritime University, Gdynia, Poland

Keywords

backstepping, Lapunov function, asymptotic stability Abstract

A ship, as an object for course control, is characterised by a nonlinear function describing the static manoeuvring characteristics. One of the methods, which can be used, for designing a non-linear course controller for ships is the backstepping method. It was used here for designing the configurations of nonlinear controllers, which were then applied for ship course control. The parameters of the obtained non-linear control structures were tuned to optimise the operation of the control system. The optimisation was performed using genetic algorithms. The quality of operation of the designed control algorithms was checked in simulation tests performed on the mathematical model of the tanker completed by steering gear.

1. Introduction

In recent ten to twenty years a number of new methods were developed for designing controllers to control non-linear dynamic systems. These are usually recursive methods, such as backstepping, forwarding, and methods being the mixture of these two. A common concept in these two recursive methods is the design of a globally stable control system, revealing a cascade structure, for a class of non-linear dynamic systems. In particular, the backstepping method is bases on the Lapunov function theory [10] but its origin can be found in some theories of linear control, such as the feedback liberalisation method, or the LQR method.

The beginning of development of the backstepping method oriented on the design of a non-linear control systems can be dated on the turn of Eighties and Nineties of the last century, a list and discussion of publications issued in that time can be found in an overview by Kokotovic and Arcak [7], and also in Fossen [5] and in fundamentally book of backstepping methods [8]. The backstepping method directly bases on the mathematical model of the examined system, introducing to it new variables in the form depending of the state variables, controlling parameters, and stabilising functions. The task of a stabilising function is to compensate non-linearity's that occur in the system and affect the stability of its operation. The liberalisation methods used in the feedback-based systems usually aim at eliminating the non-linearity's in the system. The use of the backstepping method makes it possible to form, in an arbitrary way, additional non-linearities and introduce them to the control system. However, only the undesirable non-linearities are eliminated from the system [3]. The backstepping method allows to obtain a global stability in cases when the feedback linearisation method only secures local stability.

In marine technology, the presented backstepping method was used in systems steering a ship on its course [12], to secure course stabilisation. In 1999, Fossen published a work [4], which focuses on practical use of the backstepping method in mechanical systems and its application to ship steering. However, attempts to apply this method in real marine systems revealed numerous problems, which needed solving. One of them is the structure and selection of stabilisation functions and identification of their parameters. In order to obtain optimal quality of control of the designed non-linear course controller, its parameters need tuning. The presented in the literature design systems that make use of the beckstepping method are optimised using classical methods, usually based on the solution of the Riccati equation [9].

The article presents the method of automatic optimisation of ship course controller parameters, performed with the aid of a genetic algorithm. So far, this technique has not been employed to solve such kind of problems. The operation of the genetic algorithm bases on generating solutions by imitating the evolutionary process [6], [11].

2. Model of the ship

The geometry of the ship motion is defined in the coordinate system Xo, Yo, while the motion of the ship itself is described in the relative coordinate system (x,y), fixed to the ship. Motion of the ship is shown in Figure 1.

Figure 1. Ship motion co-ordinate system

The control system discussed in the article was designed for steering a ship on the course. In the system, the controlled parameter is the ship course, y(t), while the controlling parameter is the rudder angle, S(t). The equations describing dynamical characteristics of the ship were derived from Newtonian dynamics laws. It was assumed that for large displacement ships, tankers for instance, transverse movements can be neglected. In the presented investigations, the mathematical model of dynamical characteristics of the ship was assumed that of a model tanker described by Astrom and Wittenmark in „Adaptive Control" [1], [2] and modelled by a non-linear second-order differential equation, referred to as the Norrbin model [1]. The obtained model is given by the following equation.

T -w{t) + HN {W (t)) = KS(t). (1)

Function

Hn ((t) )=a V 3(t) + ( V (t)

expresses the steady-state relation between c>(t) and \p(t) .The parameters a and ( are real constants and

determined from the "spiral test", taking values a = ( = 1 in the model. The parameters T = T0(L/u), where T = T,0 + T20 - T30 and K was determined from relation (2).

K = Ko|LJ, T = Tt0| L I, i = 1,2,3

(2)

The model parameters were determined at speed u = 5 [m/s]. The length of the examined tanker is L = 350 [m]. In the article, the tanker in two loading states is examined. The first state is the ship without cargo (liquid), in this case ballast tanks are filled with water and it is a so called the ballasting state. For the examined tanker in this loading state the model parameters take the values:

Ko = 5.88, T10 = -16.91, T20= 0.45, T30 = 1.43.

The second state of operation refers to the tanks fully laden with the transported liquid and bears the name of the full load state. In this case the model parameters take the values:

K0 = 0.83, T10 = -2.88, T20 = 0.38, T30 = 1.07.

The model of dynamic characteristics of the ship was completed by the model of the steering gear, described by [14] and schematically shown in Figure 2.

ä äax

o-

Steering machine

Figure 2. Steering gear system block diagram

In this article it was assumed that the rate of rudder motion is approximately limited to ^max = 6 [deg/s] until \Sz < 3 [deg], when the rudder operates in the linear region of the characteristic. The maximum rudder angle is Jmax = 35 [deg]. For this assumption the steering gear dynamical characteristic was given by the following equation (3), in which TR =156 [s] and KR =96 [deg].

K 1

S(t) = -R Sz (t) - — S(t).

T

í Í?

T

Í?

(3)

The discussed model of dynamic characteristics of the tanker, and the model of the steering gear, were modelled in Matlab/Simulink.

3. Designing non-linear controllers

As mentioned before, the controller was designed using the backstepping method. When designing the steering rules with the aid of this method, new state variables z¡ and stabilising functions a¡ are introduced, in a recurrence way, in i-th step. The number of steps depends on the number of state variables used in the mathematical model of the examined object.

In the present article, the backstepping method was used for developing two algorithms of nonlinear ship course control (nonlinear controllers), denoted as version A and version B. The form of dynamical characteristics of the ship used in version A and B for deriving control rules for the nonlinear controllers is given by formula (1). When deriving the rules of the nonlinear control in version A, dynamical characteristics of the steering gear described by equation (3) was neglected and the control rule were obtained in two steps of backstepping procedure. In version B dynamical characteristics of the steering gear were taken into account and control rule were obtained in three steps

^(O =

X2(t) =- J HN (X2(t)) + U(t),

(4)

K

ä

R

TrS+1

HN (x2(/)) = -|x23(/) + x2(/).

Version A

Step 1: In the first step new variables are introduced. The first virtual variable zi is the control error defined as

z = A V(t) = V(t) - V,(t) = x (t) - V,(t), (5)

while the second variable z2 is the virtual variable determined from the relation

z 2 = x2(t) -a1( z1), (6)

where a1(z1) is the virtual control introduced in the first step. After differentiating Eq. (5) with respect to time and placing relation (4) and (6) we arrive at

¿1 = ^(t) - (t) = Xz(t) - (t) = z2 +a(z1)-(t). (7)

Then the first Lapunov function is defined as

i (¿1 )=2 ¿12.

(8)

The derivative of the first Lapunov function along the solution (7) takes the form

V^ ) = Z1Z1 = Z1[Z2 +a(Z)- fz (t)]. (9)

From relation (9) the virtual control ai(zi) is derived as

- ¿1Z1 = a (Z1)-\jfI (t). (10)

Transforming Eq. (10) leads to

a1 (Z1 ) = -k Z1 + wz (t). (11)

After placing the derived relation (11) in Eq. (9) we get the formula for the first derivative of the Lapunov function in this step

V (Z1 ) = -k1 z2 + Z1 z 2. (12)

Comparing equations (7) and (11) gives us the formula for the first derivative of the newly introduced variable zj

Z1 = -k1 z1 + z2. (13) Based on relation (11) and (13) the derivative a (z1) for the next design step is also derived, as

a (Z1)=-k1(- kz + Z2)+^ (t), (14)

which is the virtual control derivative in step 1.

Step 2: The derivative of the second variable is determined from Eq. (6) and (4).

Z2 = X2(t)-a1(Z1) = - T HN ((2(t)) + U(t)-aC1(Z1). (15)

The second Lapunov function and its derivative takes the form

V2 (z„ Z2 ) = Vx ( ) + 2 Z(16)

V2 (Z1, Z2 )=-k1 Zf + Z1Z2 + Z2 Z2 , (17) After placing relation (15) into Eq. (17), we get

K, (, z2) = -kjZj2 + z2

Z1 - T HN (x2(t)) + u(t)-a1(z1)

(18)

Form the second derivative given by formula (18) the control is determined as

u(t) = -k2z2 -z + THn(x2(t)} + <i1(zl), (19)

By substitution the obtained control rule (19) into relation (18), we arrive at the final form of the Lapunov function derivative

V2 (1, Z2 ) = -kj z2 - k2z\, (20)

which is negatively determined for k1, k2 > 0. Tuning parameters k1 and k2 of the control rule derived with the aid of the backstepping method and given by Eq. (19) is performed using the genetic algorithm described in Chapter 4.

4.6 Version B

The mathematical model of the ship was complemented by the equation of the steering machine (3), which can describe by state equation in form of

••• X3(t) = - T- X3(t) + K^uit), (21)

where x3(t) is the rudder angle and u(t)is the controlling input. For an object described by state equations (4)

and (21) the procedure to design the non-linear control rule was introduced similarly like in the version A but in three steps. The different was in third step, where we introduced third new state variable z3(t) = x3(t) -a2(z1,z2), where a2 is the second stabilizing function. Then the control rule for the ship and

the steering gear as an object is determined as

T 1

u(t) =-TT (-k3 Z3 + ~ x3(t) + & 2 (Z1, z 2 ) - z2), (22)

K„ 1B

where the time derivative á 2 (z1, z2) is described by equations

¿2(3, z) =-¡22 -¿i +^kN{x2{t))-kl{-kzl +¿2)+i/z(t), (23)

H N (x2(t)) = 3 — x22 x2 + x2, (24)

for ki, k2, k3> 0.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4. Parameters of non-linear controllers

The optimisation of the parameters for the derived control rules of the non-linear controllers given by the formula (19) and (22) were performed using genetic algorithm. Figure 3 shows, in a block schematic form, the structure of the genetic algorithm used in the present analysis for tuning parameters of the examined ship course controller. The tuning programme works until conditions for its stop are met. Two types of algorithm stop conditions are possible. The first condition consists in limiting the maximum number of generations in the optimisation process, while in the second condition the algorithm checks whether the newly generated populations improve considerably the previously obtained solutions. The entire process is repeated until the maximum number of generations is reached. In the examined case, the maximum number of generations was equal to 100, which on the basis of previous investigations was assumed satisfactory. The final solution was the best solution in the most recent population. Below described are particular steps of operation of a genetic algorithm.

Creating the initial population. In order to initiate the initial population the chromosomes are generated randomly using the bit-by-bit method. The length of the chromosome depends on the number of parameters to be coded, their maximum and minimum values kmax, kmin and their accuracy n, according to the formula

(k - k )-10< 2m--1 (25)

V max mm/ — f

where: n - number of meaningful decimal places defining the accuracy of the parameter, mi - length of the code sequence for the coded parameter.

Decoding. From the chromosome extracted are the successive sequences of bits that correspond to the coded parameters. The decimal value for each parameter is calculated using the following formula where: decimal (1010...0112) is equal to the decimal value of the binary chain.

k = kmin + decimal(1010. ..0112 ) . (26)

Simulations and evaluation cost. The quality of control of the ship course controller was evaluated here with the aid of a digitised version of the integral quality coefficient, having the form:

1 N 1 N

je = N £(a^ (t) )2 ), (27)

N i=1 N i=1

where N is an integer number of iterations in control simulations, A is the scale factor, in the examined case A = 0.1, Ay/ft) is the i-th course error determined by subtracting the obtained course from its set value, Sift) is the i-th angle of the rudder deflection. The genetic algorithm minimises the value of the function (27), by minimising both the course error Ayand the rudder angle S(t). The component connected with the rudder angle is scaled to have similar amplitude to that of the course error.

Genetic operations. Genetic operations comprise selection, crossover, and mutation. More information about used genetic operation can find [14].

Cjenerating initial population

.Decoding

Simulation evaluation cost

End

Figure 3. Block diagram of operations performed by a genetic algorithm

5. Simulation tests

In order to evaluate the quality of the derived algorithm of non-linear control, simulation tests were performed using the programme package Matlab/Simulink.

Tuning the course controller's parameters with the aid of the genetic algorithm made use of the ship dynamic characteristic equations with the parameters set for the ballasting state. The set course was rapidly changed by 40 [deg]. The quality coefficient, given by formula (27), was determined from the tests trials performed within 500 [s] with sampling period 0.01 [s]. The parameters of the genetic algorithm were: the probability of crossover was pc = 0.60, while the probability of mutation was pm = 0.01.

The best values of the tuned parameters for the examined controller in version A were k1=0.0152, k2=335.8. The best values of the tuned parameters for the examined controller in version B were k1=436.07, k2=1973.3, k3=0,0196. These are the parameter values at which the minimum values of the quality coefficient were obtained at the stage of tuning with the aid of the genetic algorithm. The example results of tuning the parameters of the non-linear controller with two tuned parameters (version A) are collected in Table 1. In this case the identical minimum values of the quality coefficient were obtained in as many as three tests. The example process of tuning parameters for the non-linear controller with two parameters is shown in Figure 4.

Table 1. Results of tuning settings for non-linear controller with two parameters with the aid of genetic algorithm _

Test no. N k1 k 2 Je

1 16 0.0156 375.3 12 204 599

2 57 0.0151 337.3 12 202 863

3 52 0.0152 335.8 12 202 858

4 33 0.0151 337.5 12 202 912

5 100 0.0151 334.4 12 202 886

6 53 0.0152 335.8 12 202 858

7 100 0.0156 375.7 12 204 557

8 48 0.0155 375.6 12 204 457

9 100 0.0152 332.8 12 202 913

10 96 0.0152 335.8 12 202 858

The investigations were focused on the effect of changes of object parameters on the quality of control. The controller were tuned for the ship dynamic characteristic equations corresponding to the ballasting state, but in this part of analysis they were used for controlling the ship motion with two different states of load: ballasting and full load. Figure 5a compare results of simulation with two controllers with two tuned parameters (19), marked with solid line and with three tuned parameters (22), marked with a dashed line. In the first 1000 [s] of the tests, the mathematical model of the ship made use of the parameters corresponding to the ballasting state, while during the remaining time the full load parameters were used.

a)

Quality coefficient for the best controller

1.2245 1.224

1.223 1 2225 1.222 1.2215 1.221 1.2205 1 22

10 20 30 40 50 60 70 80 90 100 Generations

b)

0.016

0.015 0.014 0.013

c)

0 10 20 30 40 50 60 70 80 90 100 Gain k2

bOU r II

300 h ?nn L

0 10 20 30 40 50 60 70 80 90 100 Generations

Figure 4. The process of tuning parameters for the non-linear controller with two parameters. (a) quality coefficient for the best controller, (b) parameter k\, (c ) parameter k2

Ship course (solid) and do SI re ship course (d oiled), deg

a)

b)

O 500 1000 1500 2000 2500 3000

Set rudder angle, corrlroller output, dea

Ship course (solid) and desire ship course (dotted), deg.

' 0 500 10D0 1500 2D00 2500 300D

Set rudder angle, controller output, deg.

0 500 1000 1500 2000 2500 3000

time, sec

Figure 5. Comparing results of simulation with tuned controllers: a) non-linear controller with two parameters (solid line), non-linear controller with three parameters (dashed line), b) non-linear controller with two parameters (solid line), PD controller (dashed line)

6. Conclusion

The article discusses the two control rules derived for non-linear controllers designed with the aid of the backstepping method and used for controlling the ship motion on the course. The first control rule with two parameters (version A) were design by neglected the steering gear, the second control rule with three parameters (version B) were taken into account the steering gear in aim of improvement of quality controlled, as shown in Figure 5a. Non-linear controllers designed with the aid of the backstepping method require tuning of their parameters to the optimal values. The use of genetic algorithms for this purpose produced excellent results. Sample results illustrating the process of tuning the parameters for the non-linear controller were shown in Figure 4. The tuned non-linear controller with backstepping procedure (version B)

was compared with PD controller. The results were shown in Figure 5b. When the ship was in the full load state better results were produced by the PD controller than by the non-linear controllers designed using the backstepping method. The reason of this regularity lies in the fact that the parameters of the controllers were only tuned for the ballasting state and then were used unaltered for the full load state, which was the source of some error. It turned out that the backstepping method is more sensitive to changes of parameters than the PD controller, which seems to be more robust. Therefore it is necessary to perform the analysis of the model parameters using adaptation techniques, which will be examined in the nearest future.

References

[1] Amerongen, J. (1982). Adaptive steering of ship. A model reference approach to improved manoeuvering and economical course keeping. PhD Thesis, Delft University of Technology, Netherlands.

[2] Astrom, K. J. & Wittenmark, B. (1989). Adaptive Control. Addison Wesley, Reading MA.

[3] Fossen, T. I. & Strand, J. P. (1998). Non-linear Ship Control (Tutorial Paper). Proceedings of the IFAC Conference on Control Application in Marine Systems CAMS'98. Fukuoka, Japan pp. 1D75.

[4] Fossen, T. I. & Strand, J. P. (1999). A Tutorial on Non-linear Backstepping: Applications to Ship Control, Modelling, Identification and Control, MIC-20(2), 83-135.

[5] Fossen, T. I. (2002). Marine Control Systems. Guidance, Navigation, and Control of Ships, Rigs and Underwater Vehicles. Marine Cybernetics. Trondheim, Norway.

[6] Goldberg, D. E. (1989). Genetic algorithms in searching, optimisation and machine learning. Reading, MA: Addison Wesley.

[7] Kokotovic, P. & Arcak, M. (2001). Constructive non-linear control: a historical perspective. Automatica 37(5), 637-662.

[8] Krstic, M. Kanellakopulos, I. & Kokotovic, P. V. (1995). Non-linear and Adaptive Control Design. John Willey & Sons Ltd., New York.

[9] Krstic, M. & Tsiotras, P. (1999). Inverse Optimal Stabilization of a Rigid Spacecraft. IEEE Transactions on Automatic Control, 44(5), 1042-1049.

[10] La Salle, J. & Lefschetz, S. (1966). Zarys teorii stabilnosci Lapunowa i jego metody bezposredniej. BNI. Warszawa..

[11] Michalewicz, Z. (1996). Genetic algorithms + data structures = evolution programs. Berlin, Springer.

[12] Pettersen, K. Y. & Nijmeijer, H. (2004). Global practical stabilization and tracking for an under-actuated ship - a combined averaging and backstepping approach. Modelling, Identification and Control, 20(4), 189-199.

[13] Tomera, M., Witkowska, A. & Smierzchalski, R. (2005). A Nonlinear Ship Course Controller Optimised Using a Genetic Method. Materialy VIII Krajowej Konferencji nt. Algorytmy Ewolucyjne i Optymalizacja Globalna. Korbielow, 255-262.

[14] Velagic, J., Vukic, Z. & Omerdic, E. (2003). Adaptive fuzzy ship autopilot for track-keeping. Control Engineering Practice, 11(4), 433-443.

i Надоели баннеры? Вы всегда можете отключить рекламу.