Intelligent Control of Air Combat Maneuvering Automation based on Input-Output Linearization and Particle Swarm Optimizer Shih-Hsun Chen, Tsung-Ying Sun, Member, IEEE, Shang-Jeng Tsai, Student Member, IEEE, Cheng-Han Tsai, Shih-Hsiang Ting and Chin-Mo Wu Department of Electrical and Electronic Engineering National Dong Hwa University Hualien, Taiwan Email:
[email protected]
Abstract—The purpose of this paper is to develop an intelligent control of air-combat maneuvering automation (ICAMA) algorithm for computer generated fighter plane to gain an advantageous status over the enemy target automatically. The ICAMA includes two segments. First, input-output linearization was applied to transform highly non-linear coupled plant to a three-input three-output approximate linear system through states transformation. Second, a pseudo control was generated by applying a state feedback controller. The feedback gains were dynamically adjusted by the particle swarm optimizer (PSO). As long as the pseudo control was determined, ICAMA could calculate the real control applied to the fighter plane through a decoupling matrix. The system was simulated in a Matlab/ Simulink environment. Compare ICAMA with our previous research, this work shows that the trajectories are better and the control efforts are more reasonable.
theory. The methods mentioned above have lots of limitations while solving these problems, the limitations include: pursuer and evader moving with simple dynamics, and saddle-point values of the cost function to each problem must also exist. These limitations make the solution deviate from what is realistic in combat situations of experienced pilots. The objective of developing ICAMA for fighting plane is to obtain advantageous flight status over the enemy target. For example, keeping the enemy in front of the fighter’s shooting envelop, and trying to enter the best shooting distance, attacking the enemy while maintaining an optimal speed and a safe height, are the most important task to do in an air-combat.
I. INTRODUCTION In recent years, the problems of flight guidance, maneuvering automation, and air-combat had been widely discussed. With a powerful computer and the evolutionary algorithm, developing a unmanned fighter plane is no longer a difficult task. The purpose of developing intelligent control of air-combat maneuvering automation (ICAMA) algorithm is to produce genuine, human-orientated air battle supporting decisions in order to improve pilots’ capabilities and survivability in an air combat environment. It does not only reduce the cost for pilot training, but also increases the usability of flight simulators. The prototype of an intelligent decision making mechanism was developed in [1]-[4]. The problems of air-combat are similar to a general evader-pursuer maneuvering automation problem between two highly interactive objects’ dynamic systems. The study of [5]-[10] tried to solve the problem using differential game This work was supported under Grant NSC 95-2623-7-259-001-D by the National Science Council of Taiwan, R.O.C.
Fig.1. The system block diagram
Because the flight dynamics is highly non-linear coupled and air-combat situation changes rapidly, we could hardly analyze the system directly. With input-output linearization [11], the system could be transformed to an approximate linear system. Hence we could design a suitable controller like state feedback controller. However, choosing the proper gain of the feedback controller under conditions of constrained actuators and target’s fleet maneuver is still a difficult problem. To find the proper gain of the feedback controller is a parameter optimization problem. In this paper, ICAMA must define an objective function for a certain flying mission. The proper gain is the global optimal solution of the objective function. There are two major ways to find the optimal solution, such as gradient search method and random search method. In our study, gradient search method is hard to find the global optimal solution and could find the local optimal solution. Fortunately, we could take advantage of the quality of random searching global optimal solution of evolutionary
algorithm to overcome this problem in this paper. Evolutionary algorithm mainly includes two areas, such as genetic algorithm (GA) and particle swarm optimizer (PSO). There are some advantages of PSO comparison to GA, such as calculation speed is faster, the complexity of calculation is lower. In air combat environment, ICAMA must get the control inputs quickly. In this paper, we choose PSO for ICAMA to find the proper gain of the feedback controller. In our previous work [12], we developed a fuzzy air-combat decision support system (FACDSS) to solve the problem mentioned above. But there is still a problem of control input oscillation to be solved. In this paper, we introduced a mechanism called intelligent control of air-combat maneuvering automation (ICAMA) algorithm. The system block diagram is depicted as Fig. 1. The ICAMA acquires the states of enemy target and fighter dynamics to generate the control command for fighter. This paper compares ICAMA with our previous work [12], this mechanism do provide a better performance. The paper is organized as follows: Section I is introduction, Section II presents flight dynamic equations. Section III describes the structure of ICAMA. Section IV exhibits the simulation results and Section V is conclusion. II. FLIGHT DYNAMIC EQUATIONS The three-dimensional dynamic behavior of fighter is described in (1), (2) and (3), where x , y and z are fighter’s positions in the inertia coordinate system, with units in meter. The value of γ presents the path angle between velocity direction of V and the horizontal plane with units in radians. The value of Ψ is the heading angle between the projection of V and the Y-axis (northward direction) with units in radians. Velocity in the direction of x , y and z can be obtained from (1) to (3) with units in meters per second. (1) x& = V cos γ sin Ψ (2) y& = V cos γ cos Ψ (3) &z = V sin γ The flight dynamic behavior of fighter is shown as Fig.2.
Fig. 2. The description of the fighter dynamics
The values of first order differential of V , γ and Ψ are
denoted as V& , γ& and ψ& respectively, as shown in (4), (5)
and (6), where n x , n z and φ are three control variables of fighter. The “g” stands for the acceleration of gravity and its value and unit is 9.8 (meter per square of second). The first control variable n x represents the load factor along the direction of V which can be transformed into the thrust force with g’s units. The second control variable n z is the load factor shown as Fig. 2 which can be transformed into the pitch force, its units are also in g’s. φ is the rolling angle and it can be transformed into the rolling force, and it is the third control variable, its units are in radians. (4) V& = g (n x − sin γ ) g (n z cos φ − cos γ ) V & = gn z sin φ Ψ V cos γ
(5)
γ& =
(6)
The three controls applied to flight are denoted as n x , nz and φ that their units are in g, g, and radians respectively. Due to the inertia of fighter, each control input exist its change rate. This paper defines the change rate of control inputs as from (7) to (9). n& x = qn (7) x n& z = qn (8) z
φ& = qφ
(9)
It is noticed that in general conditions, all change rate of control inputs have constraints, shown in Table I. TABLE I THE CHANGE RATE OF CONTROL INPUTS
Three inputs of the fighter
Max value Min value III.
qnx
qnz
qφ
1.5g/s -1.5g/s
1.8g/s -1.8g/s
πradian/s -πradian/s
THE STRUCTURE OF ICAMA
In order to analyze the highly non-linearity coupling system, input-output (I/O) linearization is developed first. After linearization, we could design a states feedback controller for the linear system. To find the proper gain of the feedback controller is a parameter optimization problem of a certain objective function. The proper gain is the global optimal solution of the objective function. In our study, random search method is easier to find the global optimal solution than gradient search method. Random search method mainly includes two areas, such as particle swarm optimizer (PSO) and genetic algorithm (GA). There are some advantages of PSO comparison to GA, such as calculation speed is faster, the complexity of calculation is lower. In air combat environment, ICAMA must get the control inputs quickly. In this paper, we choose PSO for ICAMA to find the
' ' f2 = −nx g sin γ cosψ ⋅ γ − nx g cos γ sinψ ⋅ψ
proper gain of the feedback controller. A. I/O linearization Applying I/O linearization to the fighter dynamics equations, we now take a first derivative of (1), which yields: && x = n x ( g cos γ sin ψ ) + nz ( g sin φ cos ψ − g cos φ sin γ sin ψ ) (10)
Obviously, the input [ q n , q n , qφ ] does not appear, thus we x
z
differentiate (10): &&& x = qnx ( g cos γ sin ψ ) + qnz ( g sin φ cosψ − g cos φ sin γ sin ψ ) + qφ ( gnz cos φ cosψ + gnz sin φ sin γ sin ψ ) + nx g cos γ cosψ ⋅ψ
'
(11)
− nx g sin γ sin ψ ⋅ γ − gnz sin φ sin ψ ⋅ψ − gnz cos φ cos γ sin ψ ⋅ γ ' '
'
− gnz cos φ sin γ cosψ ⋅ψ
3. c7 ~ c9 and
'
f 3 in (24)~(27) are relative to z direction in
(15). c7 = V sin γ
(24)
c8 = g cos φ cos γ
(25)
c9 = − gnz sin φ cos γ
(26)
+ gnx cos γ ⋅ γ
&&& y = qnx ( g cos γ cosψ ) − qnz ( g cos φ sin γ cosψ + g sin φ sinψ ) + qφ ( gnz sin φ sin γ cosψ − gnz cos φ sinψ ) − nx g sin γ cosψ ⋅ γ
(12)
'
− nx g cos γ sinψ ⋅ψ − gnz cos φ cos γ cosψ ⋅ γ + gnz cos φ sin γ sinψ ⋅ψ ' '
'
'
'
'
(27)
& , &y&& and &z&& as pseudo control. As long as the We define &x& determinant of C is showed as (28), C is clearly invertible since nz ≠ 0 , then we could get the change rate of control inputs through (29).
and
det {C} = − nz g
&&& z = qnx ( g sin γ ) + qnz ( g cos φ cos γ ) + qφ ( − gnz sin φ cos γ ) − nx g sin γ cos φ ⋅ γ + gnx cos γ ⋅ γ
− gnz sin φ cosψ ⋅ψ
f3 = − nx g sin γ cos φ ⋅ γ
'
For the other two inputs, we could get:
− gnz sin φ cosψ ⋅ψ
' − gnz cos φ cos γ cosψ ⋅ γ + gnz cos φ sin γ sinψ ⋅ψ ' (23)
(13)
'
3
−1
Q = C ( P −F )
(28) (29)
'
For simplicity, we rewrite equation (11)~(13) to the matrix representation as (14). P = CQ + F (14) The matrix notations of P, C, Q and F are denoted as (15). The detail of the elements of these matrix are described from (16) to (27), where C is the decoupling matrix, F are non-linearity of the system.
x⎤ ⎡&&& ⎡ c1 ⎢ ⎥ ⎢ P = &&& ⎢ y ⎥ , C = ⎢ c4 ⎢⎣&&& ⎢⎣c7 z ⎥⎦ 1. c1 ~ c3 and
⎡ qnx ⎤ ⎡ f1 c3 ⎤ ⎢ ⎥ ⎢ ⎥ c6 ⎥ , Q = ⎢ qnz ⎥ , F = ⎢ f 2 ⎢ ⎥ ⎢ f3 c9 ⎥⎦ ⎣ ⎣ qφ ⎦
c2 c5 c8
⎤ ⎥ ⎥ ⎥ ⎦
(15) Fig.3. Relationship between fighter and enemy target
f1 in (16)~(19) are relative to &x&& in (15).
c1 = g cos γ sin ψ
(16)
c2 = g sin φ cosψ − g cos φ sin γ sin ψ
(17)
c3 = gnz cos φ cosψ + gnz sin φ sin γ sin ψ
(18)
' ' f1 = nx g cos γ cosψ ⋅ψ − nx g sin γ sin ψ ⋅ γ '
− gnz sin φ sin ψ ⋅ψ − gnz cos φ cos γ sin ψ ⋅ γ ' − gnz cos φ sin γ cosψ ⋅ψ
2. c4 ~ c6 and
In this paper, the object of fighter is to get a proper attacking distance respect to enemy target, shown in Fig.3. We define the error of fighter’s current position and desired position as follows:
ex = xd − x e y = yd − y
(30)
ez = zd − z (19)
The control object is to yield the error to be zero, and the resulting linear system is:
'
f 2 in (20)~(23) are relative to &y&& in (15).
c4 = g cos γ cosψ
(20)
c5 = − g cos φ sin γ cosψ − g sin φ sin ψ
(21)
c6 = gnz sin φ sin γ cosψ − gnz cos φ sin ψ
(22)
s& = As + Bρ h = Ms
(31)
For the linear system, s is new state vector set presented as (32), h is the output vector set, ρ is pseudo control presented as (33).
s = ⎡e x ⎣
e&x
e&&x
ey
e& y
e&&y
ez
e&z
&& ez ⎤
(32)
⎦
(33)
1 0 0 0 0 0 0 0⎤ 0 1 0 0 0 0 0 0⎥
0 0⎤ 0 0⎥
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
0 0 ⎥ 0 0⎥ 0 0⎥
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
⎡0 ⎢0 ⎥ ⎢1 0 ⎥ ⎢ 0⎥ ⎢0 0 ⎥ , B = ⎢0 ⎢0 0⎥ ⎥ ⎢ 0⎥ ⎢0 1⎥ ⎢0 ⎢⎣0 0⎥⎦
0
⎡1 0 0 0 0 0 0 0 0 ⎤ M = ⎢0 0 0 1 0 0 0 0 0 ⎥ ⎢0 0 0 0 0 0 1 0 0 ⎥ ⎣ ⎦
0⎥ ⎥ 0⎥ 0⎥ 1 ⎥⎦
(34)
will be near to one, in other hand, w2 and w3 will be near to (35)
(36)
ex ( kT )
2
E ( kT )
, w2 =
e y ( kT ) E ( kT )
2
, w3 =
ez ( kT ) E ( kT )
4 y
, w4 =
1 E ( kT )
(40)
3 Qmax
E(kT) is the summation of squared error distance presented as (41). The error distance, ex (kT ) , e y (kT ) and ez (kT )
presented as (42), are between desired position and fighter’s position at each direction in three dimensional coordinate system. For instance, ex (kT ) denote the error distance
E ( kT ) = ex ( kT ) + e y ( kT ) + ez ( kT ) 2
(37)
2
2
(41)
ex ( kT ) = xd ( kT ) − x ( kT ) ey ( kT ) = yd ( kT ) − y ( kT )
&&& x = &&& xd + k3e&&x + k2e&x + k1ex &&& y = &&& y + && e + k e& + k e 5 y
w1 =
between desired position xd (kT ) and the position of fighter x(kT ) .
(42)
ez ( kT ) = zd ( kT ) − z ( kT ) In (40), Qmax presented as (43) is the summation of squared maximum value of change rate of control inputs.
Therefore, the pseudo control is derived as (38).
6 y
zero, fitness value will be mostly decided by error of x direction. 2
&&& ez = − k9 e&&z − k8e&z − k7 ez
d
where T, l, kT, (k+l)T and wi represent sample period, control period, k-th, (k+l)-th sample period and weighting number, respectively. In this paper, l=50, T=0.01, which means the control period is 0.5 second. The weighting numbers of errors in each direction in (39), wi , i = 1 ~ 4 , are presented as (40).
larger than error of y direction and error of z direction, w1
Then &&& ex = − k3e&&x − k2 e&x − k1e x &&& e y = − k6 e&&y − k5 e& y − k4 e y
(39)
2
The purpose of weighting numbers is to dynamically adjust the fitness function. For instance, if error of x direction is
B. Pseudo control Assuming all states are available, we design a state-feedback controller as ρ = −Ks :
⎡k1 k2 k3 0 0 0 0 0 0 ⎤ ⎢ ⎥ K = 0 0 0 k 4 k5 k6 0 0 0 ⎢ ⎥ ⎢⎣ 0 0 0 0 0 0 k7 k8 k9 ⎥⎦
+ w3 ( kT ) ⎣⎡ z ( k +l )T − zd ( kT )⎦⎤
2
2 2 2 + w4 ( kT )( q ( kT ) + q ( kT ) + q ( kT )) φ nx nz
⎥
1 0 0
2
+ w2 ( kT ) ⎡⎣ y ( k +l )T − yd ( kT ) ⎤⎦
ρ = ⎡⎣&&& ex &&& ey &&& ez ⎤⎦
⎡0 ⎢0 ⎢0 ⎢ ⎢0 A = ⎢0 ⎢0 ⎢ ⎢0 ⎢0 ⎢⎣0
J ( kT ) = w1 ( kT ) ⎡⎣ x( k +l )T − xd ( kT ) ⎤⎦
(38)
&&& z = &&& zd + k9&& ez + k8e&z + k7 ez C. Particle swarm optimizer The state-feedback gain ki , i = 1 ~ 9 was selected randomly in the interval [0 3], then self tuned by particle swarm optimizer (PSO) [13], [14]. The fitness function was defined as:
2 2 2 Qmax = qn max + qn max + qφ max z x
(43)
According to Table I, Qmax is 15.4. In an air combat, E(kT) is usually larger than Qmax, we should add a weighting number w4 in (40) to make balance between performance and control effort. The architecture of ICAMA is depicted as Fig. 4. D, D2 and D3 block present the first, second and third differential operator respectively. C-1 and F respective present the inverse matrix C and non-linear terms in (15). K is feed-back gain matrix in (36). ( xd , y d , z d ) is the position relative to enemy target that fighter want to pursuit. PSO is particle swarm optimizer algorithm. The pseudo code of ICAMA algorithm is shown as follow:
; PSUEDO CODE of ICAMA ; Input: Desired positions and states of fighter. ; Output: change rate of control inputs. Create and initiate a 9-dimensional PSO. Repeat: 1. Receive error signals 2. Estimate all states of fighter with a period of control inputs FOR each particle Perform a controller with 9 gain parameter k1~k9. Evaluate self position after one control period. Evaluate fitness value by (39). If J(x)