FUSION OF HARD AND SOFT CONTROL FOR UNINHABITED AERIAL VEHICLES
Randy C. Hoover, Marco P. Schoen, and D. Subbaram Naidu
Measurement and Control Engineering Research Center,
Idaho State University, Pocatello, ID 83209, USA
Abstract: This paper develops a new approach by integrating hard and soft control
strategies for Guidance, Navigation, and Control of Uninhabited Aerial Vehicles (UAVs).
The desired features from both soft and hard control are incorporated in the development
of a navigation controller and UAV autopilot. The navigation controller is responsible
for the generation of flyable trajectories based on desired GPS waypoint destinations.
The UAV autopilot is responsible for steering the UAV along these desired trajectories
while maintaining stable control. Copyright © 2005 IFAC
Keywords: Autonomous vehicles, Fuzzy control, Intelligent control, Adaptive control
1.
INTRODUCTION
Uninhabited aerial vehicles including those with
combat capabilities have become a topic of research
in recent years for both governmental agencies and
the commercial sector (Naidu, et al. 1997; Wilson
2003). UAV’s are capable of carrying out various
missions including surveillance and intelligence,
search and rescue, atmospheric data collection, and
agricultural data collection. Even more recently,
research has been conducted to study the viability of
using UAV’s in combat situations where the
uninhabited combat aerial vehicle (UCAV) would
not only be used for surveillance, but also engage in
enemy targets while avoiding pop-up threats. The
latter research requires the UCAV to compute online
trajectory generation for several different
coordinates, detect pop-up threats, and regenerate
feasible trajectories in real time to avoid such threats.
It has been shown that real time trajectory generation
is feasible for future UCAV development (Rathbun
and Capozzi, 2002; Prasanth, et al. 2001).
The current paper entails the development of an
intelligent autopilot used to control and stabilize the
UAV, and a navigation controller to generate
appropriate heading and altitude trajectories for the
autopilot to follow based on desired geographical
destinations or enemy targets. The navigation
controller uses the advantages of fuzzy logic to
generate flyable trajectories for the UAV. The UAV
autopilot uses the advantages of fuzzy logic as well
as adaptive control to steer the UAV along such
trajectories while maintaining complete control. It
should be noted that the navigation controller in the
present paper has been developed for the purpose of
testing the UAV autopilot only. The navigation
controller and autopilot are tested on two different
airframes, the Aerosonde from Aerosonde Pty Ltd.,
and the North American Navion from North
American Aviation. The autopilot developed in this
paper has the ability to adapt to the airframe under
control with little or no modification. Simulation
results are shown for both of the above listed
airframes.
2.
λ = ψ UAV + β .
NAVIGATION CONTROLLER
(4)
As mentioned previously, the navigation controller at
the time of this paper has been developed for the
testing of the autopilot only, and has not been
optimized. The current navigation controller consists
of two main parts, a waypoint generator, and a
trajectory generator.
In Eq. 3, ψ wp is the waypoint heading with respect
to the UAV position updated continuously as the
UAV travels in the latitude/longitude plane, and
κ and σ are defined as
The waypoint generator (WG) simply updates the
current waypoint to the next waypoint to be
achieved. The entire waypoint set is generated by
the UAV user and stored in a list. Once a waypoint
has been reached, the WG updates the list and the
UAV is steered to the next waypoint. It should be
noted that the waypoint does not have to be reached
explicitly, but rather a sphere has been developed
around the waypoints center in which if the UAV
reaches the “tolerance” sphere, the waypoint is
considered reached and the WG updates to the next
waypoint. The size of the sphere used in the current
simulations has a diameter of 4m.
In Eq. 4, the actual UAV heading is calculated as the
current UAV heading ψ UAV with the addition of any
UAV sideslip β (Stevens and Lewis, 2003). From
Eq. 2, the new heading trajectory can be generated as
κ = Lon d − Lon UAV , σ = Lat d − Lat UAV . (5)
ψ N = ψ UAV + fψ (eψ ),
where fψ (eψ ) is defined by fuzzy set theory. The
complete navigation portion of the controller can be
seen in Fig. 1. The blocks labeled FNS are defined
as the fuzzy navigation system and are discussed in
detail in the next section.
3.
The second part of the navigation controller is to
generate desired trajectories for the UAV to track in
terms of UAV heading (ψ UAV ) and UAV altitude
( H UAV ). The trajectories are generated based on a
desired set of coordinates to be reached by the
UAV, C d = [Lat d Lon d H d ] , where Latd, Lond,
and Hd are the desired latitude, longitude, and
altitude respectively. Once the UAV reaches the
current coordinate vector Cd within the tolerance
sphere, the vector is updated and new reference
trajectories are generated.
The trajectories of the navigation controller are
generated based on the current UAV position and the
desired UAV position. The first signal generated is
the altitude trajectory in which the altitude error is
computed as e H = H d − H UAV , from this error, a
desired altitude trajectory is generated as
φ N = H UAV + f φ (e H ),
(1)
where f φ (e H ) is defined by fuzzy set theory.
The second signal generated by the navigation
controller is the desired heading trajectory in which
the heading error is calculated based on the current
UAV position, the desired UAV position, and the
current UAV heading. A triangulation method has
been used to compute the error in the lat/lon plane
(Hoover, 2004). The error is calculated as
eψ = ψ wp − λ ,
The fuzzy navigation system is based on a Mamdani
fuzzy system using a centroid of area (COA)
defuzzification scheme defined as (Jang, et al. 1997)
COA =
ψ wp
κ ⎞ 180 ,
= tan ⎜ ⎟
⎝σ ⎠ π
(3)
C ( z ) zdz
,
Z
∫µ
C
(7)
( z ) dz
where µ C ( z ) is the output membership function
(MF) of the Mamdani fuzzy system, and z is the MF
input. The MFs used are a combination of Gaussian
MFs on the input layer, and triangular MFs on the
output layer.
The FNS for the altitude portion of the navigation
system is a single-input, single-output (SISO) fuzzy
logic controller (FLC). The input to the FLC is the
altitude error, and the output is the incremental step
change in UAV altitude. The output of the FLC is
then summed with the current UAV altitude to
generate smooth flyable trajectories for the UAV
autopilot to track Fig 2. The FLC consists of the
following five rules:
WL
From UAV
WG
+
+
−1 ⎛
∫µ
Z
eH
eψ
where
and
FUZZY NAVIGATION SYSTEM
DESIGN
-
(2)
(6)
-
FNS
FNS
+
+
H UAV
φN
To UAV
autopilot
+
+
ψN
ψ UAV
LonUAV
From UAV
Fig. 1. Navigation controller block diagram
LatUAV
βUAV
the UAV attitude, roll, and velocity to achieve near
perfect tracking. The controller design is also
adaptive and has been shown to adapt to the given
airframe without the need for major parameter
adjustments. The five sub-controllers are heading,
velocity, altitude-to-pitch, pitch-to-elevator, and
bank-to-aileron. All five controllers utilize benefits
from fuzzy set theory, as well as adaptive control
theory to achieve the desired results. The entire
block diagram is shown in Fig. 4.
Fig. 2. Desired altitude trajectory for UAV to track
for a change from 50m to 100m
If eH is PL then φ N is PL: large positive errors
If eH is PM then φ N is PM: medium positive errors
If eH is Z then φ N is Z: errors near zero
If eH is NM then φ N is NM: medium negative errors
If eH is NL then φ N is NL: large negative errors
The FNS for the heading portion of the navigation
system is a SISO system defined by an FLC. The
system input is the heading error eψ with respect to
the desired waypoint, and the output is the
incremental change in heading. The output of the
FLC is then summed with the current UAV heading
ψ UAV to generate the desired heading change ψ N .
A sample 6-point heading error minimization
trajectory is shown in Fig 3. The FLC consists of the
following five rules:
If eψ is PL then ψ N is PL: large positive errors
If eψ is PM then ψ N is PS: small positive errors
If eψ is Z then ψ N is Z: errors near zero
If eψ is NM then ψ N is NS: small negative errors
If eψ is NL then ψ N is NL: large negative errors
4.
UAV AUTOPILOT
The UAV autopilot is designed to accept heading and
altitude reference trajectories from the navigation
system previously discussed. The autopilot will then
steer the UAV along these trajectories while
maintaining stable control of the airframe. The main
controller consists of five sub-controllers that control
Desired Waypoint
Final UAV heading after
error calculation is
completed
Longitude
Waypoint Headings w.r.t.
UAV
Initial UAV heading
Latitude
Fig. 3. Sample heading error minimization trajectory
The heading controller is a single-input, multi-output
(SIMO) adaptive fuzzy logic controller (AFLC). The
heading controller input is the error between the
reference signal generated from the navigation
system denoted by ψ N , and λ , where λ is defined
by Eq. 4. The controller then generates appropriate
commands to control the bank angle and rudder
actuator. Since the only real direct measurement of
rudder actuation is measured in the UAV sideslip β ,
there is no direct feedback needed to achieve
appropriate tracking, i.e. the heading controller
directly controls the rudder actuator. The bank angle
however is directly measured and direct feedback can
be applied, therefore, the heading controller
generates appropriate bank angle commands, and
delivers them as inputs to the bank-to-aileron
controller. The bank-to-aileron controller, as well as
the additional four sub controllers, is a SISO AFLC.
The input to the controller is the error between the
bank angle reference command θ d generated from
heading controller, and the actual UAV bank angle
θ UAV . The output of the bank-to-aileron controller is
the input signal for the aileron actuators. The output
of the controller is limited to ±π / 4 to decrease the
risk of actuator saturation.
The altitude-to-pitch controller is responsible for
generating appropriate pitch reference trajectories for
the pitch-to-elevator controller to track based upon
the current UAV altitude, and the desired UAV
altitude. The input signal to the altitude-to-pitch
controller is error between the altitude reference
trajectory generated from the navigation controller
denoted here as φ N , and the actual UAV altitude
H UAV .
The pitch-to-elevator controller is
responsible for driving the elevator actuator in an
attempt to achieve perfect pitch tracking. The input
signal to the pitch-to-elevator controller is the error
between the pitch angle reference signal φ d
generated from the altitude controller, and the actual
UAV pitch angle φUAV . The output of the controller
is limited to ±π / 4 to decrease the risk of actuator
saturation.
The velocity controller acts as a velocity hold
controller in which the user determines the desired
airspeed. The input to the controller is the error
between a desired reference value V d , and the actual
UAV airspeed VUAV . The velocity reference value is
set to a specified value based upon the airframe
ψ UAV , LonUAV , LatUAV , β UAV
To Navigation
H UAV
δR
ψN
From Navigation
Controller Output
φ N+
+
_
Bank to Aileron
AFLC
+ _
H UAV
Vd
Vel to Throttle
AFLC
_
φUAV
+
λ
+
θUAV
+
φd
Alt to Pitch
AFLC
_
_
θd
Heading
AFLC
δT
+
Pitch to
Elevator
AFLC
δA
δE
Sat
UAV
Sat
β
ψ UAV
VUAV
Fig. 4. UAV autopilot block diagram
under control. For the simulations performed in this
paper, this value is approximately 75% of the UAV
maximum airspeed. The output of the velocity
controller drives the UAV throttle directly.
5.
UAV AUTOPILOT DESIGN
The UAV autopilot design is based on a Mamdani
fuzzy system using a COA defuzzification scheme
defined by Eq. 7. The autopilot also utilizes benefits
from adaptive control theory to compensate for
unknown parameters. A similar approach was
developed by Kim and Yuh (2002) in which an
adaptive fuzzy controller was able to steer an
autonomous underwater vehicle along a desired path.
The adaptive capabilities are needed here to reduce
any error between a desired reference input and the
actual UAV output. All five of the sub-controllers
have the same basic structure, the MFs used are a
combination of Gaussian MFs on the input layer, and
triangular MFs on the output layer. The differences
in each controller are based on the position of the
MFs, and the parameters determining there shape
(Hoover, 2004), i.e. a Gaussian MF has the form
f ( x, σ , c ) = e − ( x − c )
2
/σ 2
,
characteristics of the pitch-to-elevator controller.
From the output surface it can be seen that when the
error is zero, the elevator input is also zero. This is
due to the centering of the output MFs about the zero
reference. The problem with this is if the pitch
reference signal calls for a pitch angle of 10 (deg),
the elevator input would need to be greater than zero
to allow for perfect tracking. Since the exact elevator
input needed to achieve perfect tracking is
considered to be an unknown parameter, the output
MFs are updated to generate the appropriate elevator
actuator signal.
The adaptation law utilized in this paper is an
extension to the Lyapunov rule for model reference
adaptive control (MRAC) design. Since perfect
tracking of input reference signal is required, the
adaptive control design could be thought of as a
MRAC with the reference model being unity. This is
due to the fact that in general terms the adaptation
scheme used in MRAC evaluates the error between
the system output, and the output of a reference
model that has been developed by the control
designer to achieve desired performance. The
(8)
where c determines the center of the MF, and
σ determines the shape. The output MFs are
triangular in shape and again have different center
and shape characteristics based on controller design.
As mentioned previously, all five controllers have
adaptive capabilities built into there design. The
adaptive portion of the controller adjusts the centers
of the output MFs to minimize tracking error. The
adaptive feature is necessary in the development of
the fuzzy control design since exact actuator
displacement cannot be determined prior to UAV
flight. For example, Fig. 5 shows the input/output
Fig. 5. Input/Output characteristics of the Pitch-toElevator AFLC. Error vs. Elevator input.
controller parameters are then updated based on this
error. In the case of perfect tracking however,
are then updated according to the error minimization
process.
y m − yUAV ≡ y r − yUAV ,
The heading controller is a SIMO AFLC system in
which the bank angle output is a reference signal for
the bank-to-aileron controller to track, and the rudder
output drives the rudder actuator control surface
directly. Mamdani max/min relations are used with
the COA defuzzification scheme, and five rules for
each signal being generated. The rules for the
heading controller are of the form
If e x is PL then Θ y is PL and δ R is PL
If e x is PM then Θ y is PS and δ R is SL
If e x is Z then Θ y is Z and δ R is Z
If e x is NM then Θ y is NS and δ R is NS
If e x is NL then Θ y is NL and δ R is NL
where e x is the error between the navigation control
reference trajectory, and λ defined by Eq. 4, Θ y is
the output weight response for the AFLC, and δ R is
the rudder actuator deflection.
(9)
where y m is the model output, y r is the reference
signal input, and yUAV is the output of the UAV in
generic terms. Based on Eq. 9, a reference model is
no longer needed when trying to achieve perfect
tracking performance.
The adaptation scheme utilized is as follows:
Consider the instantaneous error between the desired
the actual output of the UAV. The derivative of the
square of this error is (Farinwata, et al. 2000)
∂ek2
∂e
= 2ek k = −2Φ ik ek ,
∂wi
∂wi
(10)
where Φ ik is the output weights of the ith MF, and k is
the discrete time interval based upon the sample time
of the system. From this, it can be seen that the
output weight of the ith rule should be adjusted as
(Farinwata, et al. 2000)
w ki +1 = w ki + γ * Φ ik * e k ,
(11)
where γ is considered to be the adaptation rate. The
adaptation law in Eq. 11 is used in all five subcontrollers with the difference being in the parameter
vector Φ , and the adaptation rate γ .
Since all five sub-controllers are designed in a
similar fashion with only the MF parameters making
them different, a general outline of their design will
be presented here. The sub-controllers, with the
exception of the heading controller, are all SISO
AFLC. The input to each controller is the error
between the reference signal, and the actual signal
measured from the UAV. The output of each
controller is either a reference trajectory for the input
of a lower level controller, or a signal to drive an
actuators control surface. Each controller uses five
Gaussian MFs on the input layer, and five triangular
MFs on the output layer.
The output layer
parameters are then adapted based upon the learning
rate γ , and the input error. Each controller is
designed using Mamdani max/min relations, COA
defuzzification, and five rules. The rules for each
controller are of the form
If e x is PL then Φ y is PL: large positive errors
If e x is PM then Φ y is PS: small positive errors
If e x is Z then Φ y is Z: errors near zero
If e x is NM then Φ y is NS: small negative errors
If e x is NL then Φ y is NL: large negative errors
where e x is the error between the reference signal
and its respective output, and Φ y is the output
weight response for the AFLC. The output weights
6.
SIMULATION RESULTS
The fuzzy navigation controller and adaptive fuzzy
autopilot are tested using two fully nonlinear aircraft
models. The first model is the Aerosonde UAV that
has been used to carry out several missions with a
variety of objectives. The second model is the North
American Navion that is a bottom wing design and
has been used by the USAF for reconnaissance and
light cargo carrying. Both aircraft mathematical
models were developed by Unmanned Dynamics and
are included in their AeroSim blockset for use with
Matlab/Simulink. The first simulation is a nonplanar
trajectory in which the Aerosonde UAV is started at
waypoint W1, and is to be driven to waypoints W2
through W7. The trajectory flown verifies that the
UAVs navigation controller and autopilot can
generate flyable trajectories in all four quadrants of
the latitude, longitude plane. The UAV trajectory
with desired waypoints are shown in Fig. 6, with the
bank angle and pitch angle tracking references in
Figs. 7 and 8 respectively.
The second simulation is of the same nonplanar
trajectory but the airframe under control has changed
to the North American Navion. As shown in Fig. 9,
the Navion is able to fly the trajectory hitting every
waypoint at the prescribe altitude, latitude, and
longitude. It should be noted that the Aerosonde and
the Navion are two very different airframes with
different flight characteristics, but the AFLC
autopilot is able to adapt to control each airframe
with no human intervention. It can also be seen from
Figs. 7,8, and 10, that the low level controllers that
drive the control surface actuators are able to track
almost perfectly the reference inputs generated by the
mid level controllers. Although no simulation results
have been presented here, the UAV autopilot has also
shown very promising results in the event of
atmospheric disturbances.
Fig. 10. North American Navion pitch angle and
reference input for 7-waypoint trajectory
7.
Fig. 6. Aerosonde UAV trajectory with desired 7waypoint crossing
Fig. 7. UAV bank angle, reference input generated
by the heading AFLC, aileron actuator
input, and error
Fig. 8. UAV pitch angle, reference input generated
by the Alt-to-Pitch AFLC, elevator actuator
input, and error
Fig. 9. North American Navion flying the same 7waypoint trajectory as the Aerosonde
CONCLUSION
This paper presents a navigation controller and
autopilot design for uninhabited aerial vehicles that
draws benefits from both hard and soft control
techniques. The navigation controller incorporates
the use of fuzzy logic to generate heading and
altitude trajectories based on desired waypoint
destinations. The UAV autopilot utilizes fuzzy logic
as well as adaptive control to steer the UAV along
these reference trajectories while maintaining
complete control of the UAV. It has been shown that
the autopilots adaptive capabilities can control
multiple aircraft configurations without the need to
adjust major controller parameters. Future research
will focus on the feasibility of producing optimal
reference trajectories with improved performance
characteristics, and updating the velocity controller
to allow more extensive UAV maneuvers.
REFERENCES
Farinwata, S. S., D. Filev, and R. Langari (2000).
Fuzzy Control: Synthesis and Analysis, pg. 341.
John Wiley & Sons, England.
Hoover, R. C. (2004). Fusion of Hard and Soft
Computing for Guidance, Navigation, and Control
of Uninhabited Aerial Vehicles. Master Thesis,
Idaho State University, Pocatello, ID.
Jang, J. –S. R., C. –T. Sun, and E. Mizutani (1997).
Neuro-Fuzzy and Soft Computing: A
Computational Approach to Learning and
Machine Intelligence, pg. 75. Prentice Hall, Upper
Saddle River, NJ.
Kim T. W., and J. Yuh (2002). Application of online neuro-fuzzy controller to AUVs. Information
Sciences, Vol. 145, 169-182.
Naidu, D. S., Banda, S. S., and Chandler, P. R.
(1997). Guidance and control strategies for
tactical unmanned air vehicles: Research areas,
Technical Report T. R. 97/98 008, Idaho State
University, Pocatello, Idaho.
Prasanth, R. K., J. D. Boskovic, S. Li, and R. K.
Mehra (2001). Initial Study of Autonomous
Trajectory Generation for Unmanned Aerial
Vehicles, Proceedings of the40th IEEE Conference
on Decision and Control.
Rathbun, D. and B. Capozzi (2002). Evolutionary
Approaches to Path Planning Through Uncertain
Environments, AIAA UAV conference in
Portsmouth VA, #2002-3455.
Stevens, B. L., and F. L. Lewis, (2002). Aircraft
Control and Simulation, Wiley, New York, NY.
Wilson, J. R., (2003). UAVs: A worldwide roundup.
Aerospace America, Vol. 6, 30-35.