You are on page 1of 5

A control structure for autonomous model helicopter

Gilbert Lai, Kingsley Fregene, 'David Wang
Department of Electrical and Computer Engineering,
University of Waterloo, Waterloo, Ont., Canada N2L 3Gl
{gmylai, kocfrege, dwang}

Abstract: A hierarchical design for the guidance

and control of a small autonomous helicopter system
and some preliminary results are presented in this paper. At the top of the hierarchy is a navigation manager which specifies mission requirements via a flight
path controller to the actual aerial vehicle. The entire
design is based on a nonlinear model of the helicopter
that accpunts for the rotary wing dynamics, the force
and moment generation mechanism and the rigid body
dynamics. A time-varying optimal control scheme is
applied to the nonlinear model to achieve attitude stabilization while a PI outer loop is used for height control. Simulation results demonstrate the performance
of the system for some representative mission scenarios.

using concepts from air traffic management systems.

This paper discusses the design of a flight management architecture and control system for the Waterloo
Aerial Robotics Group (WARG) [14] autonomous helicopter ghetto bird (see Figure 1). The nonlinear dynamic model is adapted from the work of [l]and [4] in
which the helicopter is treated as a rigid body under
the influence of aerodynamic forces and moments.


Considerable interest has developed recently in the

construction, modelling and control of small-scale autonomous helicopters ([l],[2], [3]) due to the possibility of applying variants of these as unmanned aerial
vehicles (UAVs) in diverse areas like search and rescue
missions, surveillance, inspection of power/gas lines
and military applications [4]. The difficulties associated with complete modelling/control of a full-scale
helicopter (see for instance [5], [6] and [7]) not only
carry over to model helicopters, but are compounded
by the fact that the dynamic behaviour of model helicopters are considerably different from those of fullscale models. Therefore existing control approaches
need to be carefully reconsidered and modified to fit
in with the autonomous control framework required for
UAVs [4]. One of the earliest successful works used an
intelligent control approach with linguistic rule bases
to achieve command and guidance of the helicopter
[8], with the condition that the dynamics were not explicitly accounted for. Control approaches somewhat
similar to this are reported in [9] and [lo]. Although
it is clear that the dynamics of a model helicopter will
be nonlinear, multivariable and coupled [5], a number
of linear models has been developed for the helicopter
(e.g. [3], [ll])and used for control purposes. Lee and
co-workers presented a linear control design based on
a nominal model of the model helicopter about hover
[12]. In the recent work of [l],[2], [4] a nonlinear model
of the helicopter was considered and nonlinear control
schemes were proposed with encouraging results. A
hierarchical hybrid architecture that governs the operation of a helicopter-based UAV is proposed in [13]

Figure 1: The WARG autonomous helicopter

The architecture is made up of navigation, path,
and stabilization layers. The stabilization layer consists of a time-varying attitude controller and a height
control unit. Generation of desired attitudes and positions required for autonomous execution of particular manouevres requested by the navigation manager
is done by the flight path controller. The navigation
layer is the topmost layer, acting as an overall mission
controller/planner. It issues desired position coordinates and navigation modes to the system. The whole
set-up is depicted in Figure 2.
Although each of these layers is significant in the
total system operation, this work will focus more extensively on the stabilizing layer and modelling in order to discuss controller design approaches being investigated in our work.
The organization of this paper is as follows: Section 2 presents the nonlinear helicopter dynamic model
used in this work. The overall control and guidance
architecture is described in Section 3 while Sections 4
and 5 discuss the attitude stabilizing and height controllers respectively. Some preliminary simulation results are then presented and discussed in Section 6 fol-

02000 IEEE


Authorized licensed use limited to: Bu hizmeti TUBITAK EKUAL kapsaminda ULAKBIM saglar. Downloaded on July 24, 2009 at 07:15 from IEEE Xplore. Restrictions apply.

case of an autonomous helicopter, the computer controller) changes the control stick position, which causes
the actuators t o make corresponding changes in the
blade pitch angles. The actuator dynamics are much
faster than those of the helicopter, hence it is common
practice to ignore them when modelling the system.
This makes the control signals appear to be affecting
the physical quantities (in this case, the blade pitch
angle) directly, bypassing the actuators. As a result,
it is a common practice to ignore the actuator dynamics and assume the blade pitch angles can be controlled
(adjusted) directly [12],[2]. This assumption will also
be made for the rest of this paper for simplicity.

Navigation Manager



2.2. Rotary Wing Aerodynamics

When the blades of the helicopter rotate, lift (thrust)
is generated through aerodynamic effects. Several factors affect the generation of the thrust: blade pitch angle, the shape of the blade airfoil, and rotation speed
of the rotor, . . . etc. However, among them, the blade
pitch angles contribute most significantly to the control of the thrust. It is obvious that for a particular helicopter configuration, the blade airfoil shape is
fixed. In addition, most rotor engines operate more or
less at a constant rotating speed in order to avoid the
complication of rotation speed variation. As a result,
the blade pitch angle is the one that can be altered
directly by the actuators.
There are two ways that the actuators can affect
the blade pitch angles. One way is called the collective
pitch, which affects the pitch angle of the blades (angle of attack) evenly about the whole revolution. The
magnitude of the resulting lift is proportional to the
effective pitch angle (angle of attack). In contrast, the
second way, called the cyclic pitch, affects the angle of
attack asymmetrically about the rotation (the angle of
attack is adjusted cyclically each rotation). The collective pitch controls the magnitude of the net thrust generated by the blades whereas the cyclic pitch controls
the direction of the thrust. Often, the cyclic pitch is
represented by two parameters a1 and b l , corresponding to longitudinal and lateral tilts of the thrust vector
respectively. For example, Figure 4 shows the relations
between the tilt angles and the direction of the main
rotor thrust vector.

Figure 2: Overall Hierarchical Structure

lowed by concluding remarks and likely areas of future
work in Section 7.


A helicopter can be viewed as a system composed of
three major subsystems that interact together, resulting in the overall system dynamics. The three subsystems are actuator dynamics, rotary wing dynamics,
and rigid body dynamics [4] as seen in Figure 3.





Forcc and



Figure 3: Helicopter Dynamics

The helicopter accepts control LLcommandsfrom
the operator in the form of control stick positions.
These commands will then be translated (converted)
by the actuators into physical control action that alters the aerodynamics of the helicopter. Changes in
the wing aerodynamics for both the main and tail rotors in turn affect the net force and torque acting on
the body of the helicopter. Finally, the position and
orientation of the helicopter in the air is governed by
the equations of motion which are functions of the net
force and torque generated by the rotary wing aerodynamics.

Figure 4: Thrust Orientation

2.1. Actuator Dynamics

Actuator dynamics describe the actuator responses in
the period between the assertion of the control signal
and the completion of that command by the actuator.
An example situation is when an operator (or in the

The aerodynamics map the collective (e,) and cyclic

pitch (a1 and b l ) to the thrust vectors (TMand TT
for main and tail rotor respectively):


Authorized licensed use limited to: Bu hizmeti TUBITAK EKUAL kapsaminda ULAKBIM saglar. Downloaded on July 24, 2009 at 07:15 from IEEE Xplore. Restrictions apply.


Upon examining the model presented in the foregoing, it can be seen that the overall helicopter characteristic is composed of different layers of characteristics. The aerodynamics generate thrust vectors
which then affect the equations of motion at the rigid
body. In light of this, a layered hierarchical control
scheme is proposed. Figure 2 shows the various layers
in such a control scheme. The innermost component
contains the helicopter and sensor dynamics, representing the target system to be controlled. A level
up from the dynamics is the stabilizing/height controllers. This layer is responsible for maintaining the
stability of the aircraft (i.e. it will try to keep the helicopter in the air). This layer will be implemented
as a tight control loop as it affects the stability of
the whole system. The task of maintaining the helicopter in a certain location in 3-dimensional space
is the responsibility of the path control. The path
controller will take in a series of locations (forming
path) and will try to bring the helicopter to these locations. It is almost impossible to keep the helicopter
hovering at the exact same spot. Therefore, the path
controller should be able to recognize when the helicopter is close enough to the setpoint and prevent
excessive switching of control signals. A fuzzy system is then a suitable candidate for implementing a
path controller. Finally, the uppermost layer is the
navigation manager whose main purpose is to decide
where the helicopter should go next. It makes navigation decision based on the goal or objective that the
helicopter is trying achieve in the current mission. Because of the requirement to make inference on where
to go next based on the helicopters current status, an
intelligent controller/decision network, is particularly
suitable for implementing the navigation manager.

Since the actual interaction between the pitch angles (both the collective and cyclic) and the resulting
thrusts are quite complex, it is often assumed that
the thrust (both the magnitude and direction) can be
measured and controlled directly [4]. With this assumption, then the helicopter can be modelled as a
rigid body having some external forces (the net thrust
vectors) acting on it (see next subsection).

2.3. Rigid Body Dynamics

Once the net thrusts have been identified (either by
aerodynamic analysis or by assumption), the equations of motion for the rigid body dynamics of the
helicopter can be obtained by applying Newtons and
Eulers equations:



where f and r are the netforce and moment about

the centre of gravity, 1 is the inertia matrix, v is the
linear velocity of the helicopter, and w is the angular

2.4. Overall Helicopter Model

A model of the helicopter caribe defined with the equations of motion described in (1). The selected state
variables are:

X=[x y z x

i 4, 0



w, wy w,IT

The attitude stabilizing controller maintains tight control of the aircraft attitude angles and acts to quickly
regulate them to zero just after manouevres. It is
based on the Linear Quadratic Regulator (LQR) principle [15] and is designed to vary with the attitude of
the helicopter. It is depicted in the dotted region of
Figure 5.
In order to apply this technique, the aircraft dynamics are initially linearized about the hover condition so that a state space form may be written as

where w = [w, wy u,IT is the angular velocity of the

Using this state vector, the helicopter model is
given by [l],[4]:

1-l(.(U) - w x Zw)

X ( t ) = A ( t ) X ( t ) B(t)U(t)
P(t) = C(t>X(t)



where X ( t ) ,U ( t ) ,p(t) are the respective state, input

and output vectors at time instant t.
In LQR design, the goal is to compute an optimal feedback gain matrix (Klqp.
in Figure 5) such that
defining the system input as

where P = [x y TI.
is the position vector, v = P is
is the Euler angles,
the velocity vector, 0 = [4 0
Z is the inertia matrix, R is the rotation matrix, and
Q is the mapping between the angular velocity and the
Euler angle derivatives [I]. The output ,B = [P @IT.


= -KlqTX


Authorized licensed use limited to: Bu hizmeti TUBITAK EKUAL kapsaminda ULAKBIM saglar. Downloaded on July 24, 2009 at 07:15 from IEEE Xplore. Restrictions apply.

( 5)

Nominufly lineor model


Augmenting (4) with X , (where X , = Zh - z ) lhas a

net PI effect on the height. With this configuration
and maintaining the assumption that the system is
nominally linear at each timing instant , the following
state-space description applies (see [16] p.244);




Figure 5: Attitude stabilizing/tracking control system

[ C 01[:,]




side positions can be prescribed for the helicopter.



( X ( t ) Q X ( t )+ u ( t )T R u ( t ) )

The simulation results presented in this section are
preliminary and were obtained for a particular value
of KlqT computed around hover with P = 1.332 and
I = 0.262. Subsequent work will present more results
showing the effectiveness of varying the controller with
the attitude angles.
In the first simulation, the helicopter is assumed to
be operating a t a height of 30m above the ground. It is
allowed to descend from this position in order to see if
the attitude stabilizing controller will facilitate stable
landing (ground effects are not modelled). The performance is depicted in Figures 6 and 7. The result shows
that the attitude angles are rapidly regulated while the
aircraft executes a stable landing operation. The similarity in the characteristics of x and y positions may
be due to coupling.

and gives a closed-loop stable system; Q and R are

matrices used to weight the state and the input respectively. Q is selected and tuned to penalize the
attitude angles most while R is taken be an identity
matrix of dimension 4. With this selection, the attitude angles tend to converge rapidly to zero thereby
causing other states to converge too (not necessarily
to zero). The optimal feedback gain is computed from

Klqr = R-'BTP
where P satisfies the standard Riccati equation [15]

A T P +- P A - PBR-'BTP

If required, the dimension of X , may be increased (i.e.

by feeding back other positions) so that forward and

minimizes the performance index given by



+CTQC = 0

and P = PT 2 0.

f i ( t )= [4(4W I T .
Rather than compute new values for the matrices in (4)
and Klqr at each instant, the time-varying controller
is designed to change only when

llfi(t)llm > E


where E is an appropriate upper bound on how much

the body roll and pitch angles are allowed to change
before control action is activated. Three main assumptions necessary for this approach to be successful are
i) all the states of the helicopter are available for feedback; ii) at any instant, the dynamics of the helicopter
can (nominally) be represented by a linear system to
which the optimal control law (5) applies and iii) the
finite time required for the control (5) to stabilize the
helicopter a t the operating region is not unduly large.

Figure 6: Attitude stabilizing control - landing from

30m (position)
Next, a typical linguistic command to the path
layer is simulated. The instructions are its follows
climb to 20m + hold this altitude for 15s + climb
to 4Om -+ hold this altitude for about 1 min + return
to the ground. This is depicted in Figures 8 and 9.
Observe the increase in yaw angle (up to 7 de& during initial climb, this (and roll/pitch effects) are all
brought under control by the inner loop controller.

This is the outer loop of the control system and is
implemented as a PI tracking controller. The equilibrium state of (4) and (5) is X = 0. Therefore z = 0.


Authorized licensed use limited to: Bu hizmeti TUBITAK EKUAL kapsaminda ULAKBIM saglar. Downloaded on July 24, 2009 at 07:15 from IEEE Xplore. Restrictions apply.

Figure 7: Attitude stabilizing control - landing from

30m (Euler angles)

Figure 9: Climb-hold-climb-landmaneuver (Euler angles)

[2] H. Shim, T. Koo and S. Sastry. A comprehensive study of

control design for a n autonomous helicopter. Proc. 37th IEEE
Conf. Decision and Control, pages 3653-3658, December 1998.
[3] J . Morris, M. van Nieuwstadt and P. Bendotti. Identification
and control of a model helicopter in hover. PTOC.
control conference, pages 1238-1242, 1994.
[4] R. Mahony, T. Hamel and A. Dzul. Hover control via lyapunov
control for a n autonomous helicopter. Proc. 38th .IEEE Cont.
on Decision and Control, pages 3490-3495, December 1999.
[5] R.W. Prouty. Helicopter performance, stability tmd control.
Krieger Publishing Co., 1986.

Figure 8: Climb-hold-climb-land maneuver (position)

[6] R. K.Heffley and M. A. Mnich. Minimum complexity helicopter

simulation math model. Technical Report NASA Contractor
Report 177476,NASA Aeroflightdynamics Directorate, Moffett
Field, CA 94035,April 1988.


[7] Y. Cao. A new inverse solution technique for studying helicopter maneuvering flight. Journal of the American Helicopter
Society, 45(1):43-53, January 2000.

Aspects of the work currently being undertaken in the

area of autonomous helicopter guidance and control
have been presented. A control structure made of
three functional layers has been discussed with more
emphasis on the dynamics and control of the helicopter. An optimal controller which varies with significant changes in the attitude has been suggested with
preliminary simulation results. It is clear however that
some analyses will be required to study the robustness and switching properties of the control scheme
if it must be of any use. Results from simulations
alone do not necessarily lead to a definitive conclusion regarding these properties. It is also desirable
to compare this method with some nonlinear control
schemes proposed for the same applicatip (but based
on reduced-order models of the helicopter) in terms of
computational overhead and suitability for real-world
applications. Most importantly, we need t o know what
kind of structures would be required for multi-vehicle
control and coordination. These and other closely related areas will be the subject of continuing research

[8] M. Sugeno, I. Hirano, S. Nakamura and S . Kotsu. Development of a n intelligent unmanned helicopter. IEEE International conf. fuzzy systems, pages 33-34, 1995.
[9] T.Y. Jiang, J.V.R.Prasad, and A.J. Calise. Adaptive fuzzy
logic flight controllers for rotorcraft. Proc. AIAA Guidance,
Navigation and Control conf., pages 1-8, July 1996.

[lo] J.E. Corban, A.J. Calise, and J.V.R. Prasad. Implementation

of adaptive nonlinear control for flight test on an unmanned

helicopter. Proc. 37th IEEE Conf. on Decision iind Control,
pages 3641-3646, December 1998.

[ll] J . W. Fletcher.

A model structure for identification of linear models of the uh-60 helicopter in hover .md forward
flight. Technical Report 110362, NASA Technical Memorandum, NASA Ames Research Center, Moffett Field, CA 94035,
August 1995.

[12] E.H.Lee, H. Shim, H. Park and K.I. Lee. Design of hovering attitude controller for a model helicopter. Proc. Soc. of
Instrument and Control Engineers, pages 1385-:L389,August
[13] T.J. Koo, F. Hoffmann, H. Shim, B. Sinopoli and S. Sastry.
Hybrid control of an autonomous helicopter. Proc. IFAC workshop on motion control, Grenoble, France, September 1998.
[14] University of waterloo aerial robotics group (warp). Last accessed: March 8,
[15] B. D. 0.Anderson and J . B. Moore.
Prentice-Hall, 1989.


Optimal Control.

[16] C-T Chen. Linear system theory and design (3rd ed.). Oxford
University Press, London, U.K., 1999.

[l] T.J. Koo and S. Sastry. Output tracking control design of a he-

licopter model based on approximate linearization. Proc. 37th

IEEE Conf. Decision a n d Control, pages 3635-3640, December 1998.


Authorized licensed use limited to: Bu hizmeti TUBITAK EKUAL kapsaminda ULAKBIM saglar. Downloaded on July 24, 2009 at 07:15 from IEEE Xplore. Restrictions apply.