Вы находитесь на странице: 1из 5

Application of Fuzzy Control to Helicopter Navigation

Carla Cavalcante*, Janette Cardoso*, Josu J. G. Ramos**, Othon R. Neves**


* LCMI-EEL-UFSC, CP 476, 88040-900 Florianpolis (SC), Brasil
** CTI/Gyron Tecnologia, Florianpolis (SC), Brasil
e-mail carla@lcmi.ufsc.br - janete@lcmi.ufsc.br
a defuzzyfication interface, which produces a non-fuzzy
control action from an inferred fuzzy control action.
In this work, we focus on the system navigation structure
and knowledge base design, describing the choice of
variables, sets and rules.
This paper is organized as follows. Section two introduces
the helicopter, its control and movements, as well as the
control problems to be considered while designing the
navigation system. The system navigation design, the tasks it
should execute and its hierarchical structure (the mission
interpreter, the task level and the fuzzy controller) are
described in section three. Section four presents the fuzzy
controller and the choice of input and output variables, fuzzy
sets and fuzzy rules. Section five shows the simulation
results for hover flight, with comments about the tuning
phase. Finally, the conclusion and future work are presented
in section six.

AbstractFuzzy control has shown to be useful in


handling non-linear systems and ill-defined or imprecise
problems that depend on the operator skill, as is the case
of helicopters.
This paper presents a simulated environment
application of fuzzy control to a helicopter navigation
system. This work corresponds to a suitability analysis
for the implementation of this system on board of an
unmanned helicopter developed by Gyron Tecnologia.
The system organization is described, along with the
knowledge base controller design. The results obtained
for hover flights are shown.

I. Introduction
This paper shows a fuzzy control application to helicopter
navigation system. A helicopter is an intrinsic complex, nonlinear, unstable process, with coupled modes. Several control
techniques have been used by designers aiming to control
this kind of aircraft, generally using linearized models
([FGF76], [Apk89], [CP72], [Tak93]). Our approach
consists in translating the linguistic control strategy
described by a helicopter pilot into an automatic control
strategy. This qualitative approach allows to consider the
pilot expertise on conducting unstable aircrafts, making it
possible to the system to execute the pilot actions, as take off,
landing and hover. In fact, applications of fuzzy control
([Lee90], [SK92], [SGB93], [MS85]) have indicated
effective utilization of fuzzy control in the context of
complex ill-defined processes that can be controlled by
skillful human operators, as the helicopter.
The basic configuration of a fuzzy logic controller
comprises four components [Lee90]:
a fuzzyfication interface, which performs a scale mapping
on the range of values of input variables into corresponding
universes of discourse;
a knowledge base, which consists of a data base and a
linguistic fuzzy control rule base;
a decision-making logic, which simulates human decisionmaking;

Figure 1: Helicopter aerodynamics components [Pall83]

Hierarchical Structure
Mission Interpreter Level

II. Helicopters

Task Level

Lets now introduce the concepts involved in helicopter


guidance.
Helicopters are vertical take off and landing aircrafts that
use rotating blades to obtain forces to lift and move. Its
controls allow several kinds of operations, like hover flight,
vertical climb and descent, horizontal flight in any direction
and autorotation.
In figure 1 are shown the main aerodynamic components
of helicopters:
main rotor, which generates thrust and manouevrability to
the aircraft;
tail rotor, which counteracts the helicopter body torque
reaction;
vertical and horizontal stabilizers, which contribute to
maintain the aircraft in normal fight position (leveled off
and nose forward ).
The helicopter has six degrees of freedom, named
(considering a three axes system with origin in the helicopter
center of gravity) [Pro90]:
movement along x: longitudinal;
movement along y: lateral;
movement along z: vertical;
movement around x: roll;
movement around y: pitch;
movement around z: yaw.
The vertical movements (take off and landing) depend on
the relation between the aircraft weight and the lift force
generated by the rotating blades. If this force is greater than
the weight, the helicopter accelerates up; if it is less than the
weight, it accelerates down; and if they are equal, the aircraft
remains hovering at a constant altitude. In order to increase
and decrease the intensity of the lift force the pilot acts on
the "collective pitch control" or simply "collective".
The horizontal movements (longitudinal and lateral)
occur when there is a horizontal force component. In order
to generate this horizontal component, the lift force is
inclined towards the desired direction. To control this
inclination the pilot acts on the "cyclic pitch control", or
simply "cyclic". The "lateral cyclic" tilts the lift force left or
right sideward, and the "longitudinal cyclic" tilts the lift
forward and backward. These horizontal movements start
with the helicopter's body inclination to the desired
direction. So, if a forward motion is desired, the aircraft tilts
the nose down. If the movement is to the right, the aircraft
rolls right.
The pilot changes the aircraft azimuth acting on the "tail
rotor collective control", or simply "tail". This control alters
the force generated by the tail rotor, whose function is to
react to the helicopter turning tendency [CT86].
Due to helicopter construction characteristics, some of the
commands result in undesired movements, distinguishing
the existence of cross-coupling modes.
Some of the couplings on helicopter movements are:

Take off

Hover

Forward
...
Flight

Landing

Control Level

Fig. 2: System Hierarchical Structure

when the lift force is inclined, creating a horizontal


component, the vertical component intensity decreases,
causing altitude lost;
in the longitudinal movement, due to the transverse
airflow, the aircraft nose tends to pitch, while in the lateral
movement, the helicopter tends to roll;
the tail rotor force may cause lateral movement and rolling
moment.
The helicopter couplings listed above should be foreseen
and counterbalanced by the navigation system, using the four
controls: collective, lateral cyclic, longitudinal cyclic and
tail.

III. Navigation System


The aim of the navigation system is to replace the pilot in
the control of a mission. The mission is a set of specific
movements of the helicopter, called tasks, that starts with
take off and finishes with landing, for example:
1. take off to a certain altitude;
2. change the azimuth angle;
3. flight forward to a specified point;
4. hover for a period of time;
5. land.
Each task must follow a set point within a precision
range. To the take off task, this value is the height; to the
hover task these values are the position in the tridimensional
space and the time duration.
A. The Hierarchical Control Architecture
Due to its complexity, the navigation system is decomposed
hierarchically into the following levels: mission interpreter
level, task level and control level, as shown in figure 2.

Collective
Increment
Altitude
Vertical
Velocity

Following, the input and output variables as well as the


sets and rules of each block are described.

Tail Collective Longitudinal Lateral Cyclic


Increment
Cyclic
Yaw Angle Longitudinal
Lateral
Position
Position
Yaw Angle Longitudinal
Lateral
Velocity
Velocity
Velocity
Pitch Angle
Roll Angle
Pitch Angle
Velocity

A. Input and Output Variables


The input variables are errors (altitude error, position error
and yaw angle error, for example) and variation of errors.
The controller goal is to zero error and variation of error.
The collective block uses as input variables only the
altitude error and the variation of altitude error, while the
tail block uses the yaw angle error and the variation of yaw
angle error. The cyclic block (longitudinal and lateral cyclic
blocks) uses position error (lateral and longitudinal error)
and its variations, attitude angle error (pitch and roll angle)
and its variation.
The helicopter has inherent delays associated with its
controls, not reacting immediately to a command. Therefore
the pilot uses smooth corrections, or impulse commands.
The observation of a pilot practice shows that, in fact, he (or
she) uses different procedures for each of the controls. In the
case of the collective and tail controls, they are weight
dependent, with adjustable trim point to each flight situation.
The pilot uses smooth corrections around this instantaneous
trim point. That is why the output variables of collective and
tail blocks are the variation of the collective and tail
commands. In the case of the cyclic controls, the pilot makes
the corrections around fixed zero points. So, the command
itself is the output variable in cyclic blocks.

Roll Angle
Velocity

Figure 3: Blocks and Rules Variables

Mission interpreter: analyses the mission, breaks it down


into tasks that will be executed individually and sequentially
by the task level;
Task level: in this level, the rules are split up into blocks
that correspond to the four commands of the helicopter:
collective, tail, longitudinal and lateral cyclic. It is a natural
choice, because the rule variables of each block are
independent from the others. The task level chooses the
active blocks according to the current task being executed,
taking into account the existing couplings. For example, the
horizontal movement (cyclic controls) only depends on the
x-y position, and not on the altitude. The coupling is
considered through the simultaneous activation of the
vertical movement (collective control).
This level also verifies if all the conditions defined in the
task were achieved, like distance to the desired point, aircraft
leveled off and so on.
Control level: implements the fuzzy control of the
helicopter firing the rules of the blocks chosen by the task
level.
Figure 3 shows the variables associated with the rules
blocks. For instance, the collective block is related to the
altitude and vertical velocity and the longitudinal cyclic is
related to longitudinal position, longitudinal velocity, pitch
angle and pitch angle velocity.

B. Fuzzy Sets
In the collective and tail blocks, seven fuzzy sets are used
(NB negative big, NM negative medium, NS negative small,
ZE zero, PS positive small, PM positive medium and PB
positive big) to represent the values of the input variables
(altitude error and altitude error variation). The cyclic lateral
and longitudinal blocks use only five fuzzy sets
(NM,NS,ZE,PS and PM) for the position error and three sets
(negative, zero and positive) for variation of position error,
angle error and variation of angle error. In order to diminish
the number of rules and make the tuning phase easier, the
fuzzy sets number were reduced in the cyclic blocks.
Figure 4 displays the input variables fuzzy sets of
collective and tail blocks. The ZERO sets are tiny, because
they express the error tolerance in steady state. The SMALL
sets are useful in the overshoot avoidance rules. The
MEDIUM sets are used in most corrections, while the BIG
sets are used only in extreme situations.

IV. Fuzzy Controller


The fuzzy controller algorithm is based on [Vio93], with the
knowledge base initialization taking into account the
hierarchical architecture proposed. The controller has the
following characteristics: fuzzy sets are continuous,
triangular- or trapezoidal-shaped; the decision-making uses
forward inference and min-max composition functions
[Zad73].
In the sets and rules design, it is necessary to avoid
overshoot and overcontrol. The overshoot occurs when error
and error variation have different signals and error is near
zero, so the control should be reversed. The overcontrol is
avoided lowering the value of the resulting control.

NB

NM

NS ZE PS

Min

NM

Min

NS

PB

Max

a)
ZE PS

PM

PM

b)

Max

preferentially in SMALL sets. The overshoot avoidance


actuates in rules where the input error is SMALL, and with
an opposite signal to the error variation. This situation
indicates that the system is tending to ZERO, and it may
overshoot it. So, in this case, the command should be
reversed, so that the system stops near ZERO.
In the cyclic blocks, the rules should consider not only the
position error and its variation, but the aircraft attitudes. A
large inclination may cause guidance problems, and should
be corrected by a reverse command.
Figure 5 illustrates a hover task, with the following rule:
"IF position error is Positive Small, position error variation
is Negative Small, roll angle is Positive Small and roll angle
variation is Positive Small THEN lateral cyclic is Negative
Small." We can see in the figure that the position error is
small and decreasing; in this situation the overshoot
avoidance needs to be activated, reversing the cyclic lateral
command. The roll angle is positive and increasing, and so
the inclination should be reduced, reversing the cyclic lateral
command. This situation needs the overshoot avoidance as
well as the attitude correction.
The next section shows an example of a set of tasks.

Figure 4: a) Input Fuzzy Sets; b) Output Fuzzy Sets

V. Results
All the blocks use five fuzzy sets for the output variables.
In the collective and tail blocks, the MEDIUM sets are
used in extreme situations, because they imply great
corrections, and they drive the system towards a MEDIUM
input set. The SMALL fuzzy sets are the most used ones,
since they express corrections to small or medium errors.
The output variables fuzzy sets ZERO are very small, and
indicate the equilibrium point (Trim point) where the
command increment is minimal, as mentioned in section
IV.A. A ZERO output does not mean a ZERO command, but
ZERO command increment.
Otherwise, in the cyclic blocks, the ZERO fuzzy sets
indicate no output, while the SMALL and MEDIUM sets
mean small and big outputs, respectively.

The aim of this section is to show the fuzzy controller


performing the following sequence of tasks: take off, yaw
and hover. The helicopter should take off, until the altitude
of 4 meters is reached. Then, the azimuth angle is changed
to 30 degree East. After that, the helicopter should hover.
The results illustrated here were obtained by a simulator
developed by Gyron Tecnologia, with the following
characteristics:
nonlinear parametrized model;
tridimensional graphical animation;
debugging data: rules and states evolution.
Consider now figure 6, with the scaled curves of altitude,
yaw angle and X-Y position. The steady state errors are

C. Rules
1.4

Yaw

1.2
1

Altitude

0.8

0.6
0.4

-0.4
-0.6

-0.8

Samples

Figure 6: Altitude, Yaw Angle


and XY Position Curves

Figure 5: Hover Task and Rule Associated (IF position error is

PS, position error variation is NS, roll angle is PS and roll 4


angle variation is PS THEN lateral cyclic is NS)

1200

900

600

0
-0.2

300

0.2
0

Scaled Values

As mentioned in section IV.A, the helicopter commands


should be smooth, as in the case of the collective and tail
controls, or small and fast, as in the case of the cyclic
controls. At the same time, the rules should include the pilot
ability to foresee overshoot and couplings. In order to
attenuate the commands, the rules should result

10cm to the altitude, 0.01 radians to the yaw angle and 20cm
to the XY position.
The transitions from one task to another occur when
steady state is reached. To determine the steady state, we
observe if the output remains into a precision range for a
period of time equal to Dt=(t2-t1), where t1 is the initial time
and t2 is the time of half error between set point and the
initial condition.

[CP72] T.R.Crossley, B.Porter, "Synthesis of Helicopter


Stabilization Systems Using Modal Control Theory", J.
Aircraft, vol. 9, N 1, pp. 3-8, January 1972;
[FGF76] A.Fermelia, D.A.Gyorog, V.J.Flanigan, "Helicopter
Mtion: Equation Linearization", IEEE Transactions on
Aerospace abd Electronic Systems, vol. AES-12, N6,
pp.767-782, November 1976;
[MS85] J.Maiers, Y.S. Sherif, "Applicatoins of fuzzy sets
theory", IEEE Transactions on System, Man and
Cybernetics,
vol.
SMC-15,
N
1,
pp.175-189,
January/February 1985;

VI. Conclusion and Future Work


In this paper we have shown that the fuzzy navigation
system proposed can perform pilot tasks, as take off, yaw
and hover, with negligible steady state errors of altitude, yaw
and XY position.
The performance is good when compared with the
observed human pilot results.
It must be pointed out that the tuning phase is very
important. For example, the overshoot problem was detected
in this phase, leading to rules modification. The resulting
rules are described in section IV.C. The take off and yaw
tasks fuzzy sets were also adjusted in this phase, in order to
diminish the steady state oscillation. The SMALL sets were
modified; the overlap between sets SMALL and ZERO is
such that there is an interval where the error values belong
only to the ZERO sets. Doing so, the oscillation decreases,
but the steady state error increases a little bit.
The next steps of this work are:
to smooth the transition between the tasks, trying to
NB

NM

NS ZE

PS

PM

[Lee90] C.C.Lee, "Fuzzy Logic in Control Systems: Fuzzy


Logic Controller", IEEE Transactions on Systems, Man and
Cybernetics, vol. 20, N 2, pp. 404-435, March/April 1990;
[Pal83] E.H.J. Pallet, "Automatic Flight Control", Granada,
London, 1983;
[Pro90] R.W.Prouty, "Helicopter Performance, Stability and
Control", Robert E. Krieger Publishing Company, Malabar,
Florida, 1990;
[SK92] D.G.Schwartz, G.J.Klir, "Fuzzy Logic Flowers in
Japan", IEEE Spectrum, pp.32-35, July 1992;
[SGB93] M.Sugeno, M.F.Griffin, A.Bastian, "Fuzzy
Hierarchical Control of an Unmanned Helicopter", 17th
IFSA World Congress 1993, pp. 179-182;
[Tak93] M.D.Takahashi, "Sythesis and Evaluation of an H2
Control Law for a Hovering Helicopter", Journal of
Guidance, Control and Dynamics, vol. 16, N 3, pp. 579584, May/June 1993;

PB

[Vio93] G.Viot, "Fuzzy Logic using C", Dr. Dobb's Journal,


February 1993, pp. 40-49;
Min

Interval

[Zad73] L.A.Zadeh, "Outline of a new approach to the


analysis of complex systems and decision processes", IEEE
Transactions on Systems, Man and Cybernetics, vol. SMC-3,
N 1, pp. 28-44, January 1973.

Max

Fig. 7: Tuned Fuzzy Sets

translate in a better way the pilot strategy;


to implement other tasks.

VII. References
[Apk89] P.R.Apkarian, "Structured Stability Robustness
Improvement by Eigenspace Techniques: A Hybrid
Methodology", J. Guidance, vol. 12, N 2, pp.162-168,
March/April 1989;
[CT86] L.Collier, K.Thomas, "How to Fly Helicopters",
TAB Books Inc., Blue Ridge Summit, 1986;

Вам также может понравиться