Modeling and Controlof aCo-Axial Helicopter · 3.10 Control inputs of the attitude controller,...
Transcript of Modeling and Controlof aCo-Axial Helicopter · 3.10 Control inputs of the attitude controller,...
Modeling and Control of a Co-Axial Helicopter
by
Farid Zare Seisan
A thesis submitted in conformity with the requirementsfor the degree of Master of Applied Science
Graduate Department of Electrical and Computer EngineeringUniversity of Toronto
Copyright c© 2012 by Farid Zare Seisan
Abstract
Modeling and Control of a Co-Axial Helicopter
Farid Zare Seisan
Master of Applied Science
Graduate Department of Electrical and Computer Engineering
University of Toronto
2012
This thesis lays the foundations for the development of a small autonomous coaxial
helicopter. This is an helicopter with two propellers mounted on the same axis and
revolving in opposite directions. To steer the helicopter, this thesis proposes a mechanism
that moves the helicopter’s centre of mass. Although such a mechanism has already been
investigated experimentally in the literature, it has never been rigorously modeled, and
a theoretical analysis has never been performed. This thesis, for the first time, presents
an accurate mathematical model of the coaxial helicopter which takes into account the
gyroscopic effects of the rotors, the reaction forces and torques exerted by the moving
mass actuator on the helicopter body, and the fact that the inertia of the helicopter is
time-varying. A nonlinear controller is rigorously derived which makes the helicopter
hover at desired positions in three-space. A number of physical prototypes are discussed.
None of them is capable of autonomous flight yet, but the experimental and simulation
results provide reassurances that the proposed methodology is viable.
ii
Dedication
In loving memory of my father, Salman, and for my kind and loving mother, Sirosiyeh.
iii
Acknowledgements
I would like to thank my thesis supervisor Dr. Manfredi Maggiore for his support and
guidance througout my graduate studies. His enthusiasm and great knowledge for control
has been inspirational even through the hardest of times. His interest and clarity during
his lectures were motivation for me to pursue a career in the field of control systems.
I would also like to thank Dr. Edward J. Davison for sharing his astonishing life
experiences in the control system field that inspired me to pursue my education in this
field early in my studies.
Furthermore, I would like to thank Don Gardner for designing and helping me build
the physical prototypes, Cameron Fulford and the rest of the Quanser team for their
continued help and support.
iv
Contents
List of Figures vii
List of Tables ix
1 Introduction 1
1.1 Configurations and steering mechanisms . . . . . . . . . . . . . . . . . . 3
1.2 Literature review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Thesis contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Modeling 7
2.1 Setup of the coaxial helicopter and coordinate frames . . . . . . . . . . . 7
2.2 Rotational motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1 Rotational kinematics . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 Internal forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.3 Rotational dynamics . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Dynamics of the moving mass mechanism . . . . . . . . . . . . . . . . . . 18
2.4 Translational motion of helicopter . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Aerodynamic thrust generated by the two rotors . . . . . . . . . . . . . . 24
2.6 Complete model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3 Preliminary Helicopter Prototypes and Attitude Stabilization 27
3.1 Helicopter prototypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
v
3.2 Simplified rotational dynamics and attitude control . . . . . . . . . . . . 34
3.3 Discussion of experimental results . . . . . . . . . . . . . . . . . . . . . . 38
4 Position Control Design 43
4.1 Simplified model for control design . . . . . . . . . . . . . . . . . . . . . 43
4.2 Position control design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2.1 Step 1: design for translational subsystem . . . . . . . . . . . . . 47
4.2.2 Step 2: design for rotational subsystem . . . . . . . . . . . . . . . 50
4.2.3 Step 3: Asymptotic stability of χ⋆ . . . . . . . . . . . . . . . . . . 53
4.3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5 Conclusion 64
Appendix 66
A Derivative of the Inertia Tensor 66
Bibliography 68
vi
List of Figures
1.1 A rendering of a coaxial helicopter with moving mass mechanism. . . . . 2
1.2 Torque generation with moving mass mechanism . . . . . . . . . . . . . . 4
2.1 Coaxial helicopter’s main components . . . . . . . . . . . . . . . . . . . . 8
2.2 Illustration of coordinate frames used in modelling the helicopter. . . . . 9
3.1 Side views of the first prototype . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Detail of the moving mass actuator . . . . . . . . . . . . . . . . . . . . . 30
3.3 Side views of the second prototype . . . . . . . . . . . . . . . . . . . . . 31
3.4 Top views of the second prototype . . . . . . . . . . . . . . . . . . . . . . 31
3.5 Side view of the third prototype with a small battery . . . . . . . . . . . 32
3.6 Top view of the third prototype with a small battery . . . . . . . . . . . 32
3.7 Side view of the third prototype with a large battery . . . . . . . . . . . 33
3.8 Simulation result of the attitude controller for the Euler angles . . . . . . 38
3.9 Control inputs of the attitude controller for the rotors’ torque . . . . . . 39
3.10 Control inputs of the attitude controller, position of the COG of the body. 40
3.11 Result of robustness test of the attitude controller, Euler angles . . . . . 41
3.12 Attitude controller input with parameter perturbations, rotors torque . . 41
3.13 Attitude controller input with PP, position of the COG of the body . . . 42
3.14 First prototype mounted on the platform used for yaw control tests. . . . 42
4.1 Block diagram of proposed position controller . . . . . . . . . . . . . . . 47
vii
4.2 Test 1: components of the helicopter displacement vector riio. . . . . . . . 56
4.3 Test 1: Euler angles Θ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.4 Test 1: angular speeds of the rotors. . . . . . . . . . . . . . . . . . . . . . 58
4.5 Test 1: position of the COG of the helicopter w.r.t. the body frame . . . 58
4.6 Test 2: components of the helicopter displacement vector riio. . . . . . . . 59
4.7 Test 2: Euler angles Θ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.8 Test 2: angular speeds of the rotors. . . . . . . . . . . . . . . . . . . . . . 60
4.9 Test 2: position of the COG of the helicopter w.r.t. the body frame . . . 61
4.10 Test 3: components of the helicopter displacement vector riio. . . . . . . . 61
4.11 Test 3: Euler angles Θ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.12 Test 3: angular speeds of the rotors. . . . . . . . . . . . . . . . . . . . . . 62
4.13 Test 3: rotor torques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.14 Test 3: position of the COG of the helicopter w.r.t. the body frame . . . 63
viii
List of Tables
2.1 Definition of various special points . . . . . . . . . . . . . . . . . . . . . 10
3.1 Initial condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2 Simulation parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3 Perturbed parameters for robustness test . . . . . . . . . . . . . . . . . . 40
4.1 Controller parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2 Reference position and yaw angle. . . . . . . . . . . . . . . . . . . . . . . 55
4.3 Actual plant parameters v.s. parameters used in the controller for test 2 59
ix
Chapter 1
Introduction
Unmanned aerial vehicles (UAVs) are aircrafts that are controlled remotely or flown auto-
matically without any human on board. The history of UAVs goes back to as far as 1916,
soon after the human fascination with flying conquered the sky. As embedded micro-
processors have become faster and battery technology has improved, so the development
of UAVs has progressed. Nowadays, UAVs are employed for surveillance, security, and
rescue missions. They can also be used for educational purposes in research laboratories
because of their compact sizes.
UAVs can be broadly classified as either fixed-wing (airplane-line) or rotary-wing
(helicopter-like). Rotary-wing aircrafts have the advantage of being able to hover, and for
this reason they are used in surveillance applications. In recent years, most UAV research
on rotary-wing aircrafts has focused on quadrotor helicopters. These are aircrafts with
four rotors rotating around four distinct parallel axes. The popularity of quadrotors may
be due to their maneuverability and ease of control. A number of companies (in Canada,
we mention Draganfly, Aeryon Labs, and Quanser) are commercializing quadrotors in
the civilian and educational markets. In contrast to quadrotors, coaxial helicopters are
aircrafts with two rotors rotating in opposite directions around the same axis. Compared
to quadrotors, coaxial helicopters consume less power for the same payload, and they can
1
Chapter 1. Introduction 2
Figure 1.1: A rendering of a coaxial helicopter with moving mass mechanism.
be made much smaller. However, coaxial helicopters are more difficult to control. This is
perhaps the reason that coaxial helicopters have received significantly less attention than
quadrotors, and their commercialization is limited (to the best of our knowledge, the
only company commercializing autonomous coaxial helicopters is Skybotix Technologies
in Switzerland).
The focus of this thesis is on laying out the foundations for the development of an
educational UAV in the form of an autonomous coaxial helicopter. An illustration of
one of the prototypes presented in this thesis is found in Figure 1. Unlike a conventional
helicopter in which one main rotor creates lift and a secondary rotor provides yaw control,
a coaxial helicopter is built using a pair of rotors rotating in opposite directions around
the same axis. Coaxial helicopters have a number of advantages over other configurations.
Some of these advantages are compactness, symmetry, power efficiency, and high payload.
These are described later in this chapter in more detail. To steer the helicopter, in this
thesis we propose to use a mechanism that moves the helicopter’s centre of mass. Even
though the moving mass mechanism further simplifies the rotor system, it increases the
complexity of the dynamical equations of motion due to a time varying inertia and the
reaction forces it exerts on the helicopter body. The advantages of using a moving centre
Chapter 1. Introduction 3
of mass steering mechanism over the standard swash plate commonly used in conventional
helicopters are explained in the following.
The design of the helicopter starts with developing an accurate mathematical model
of the system. A number of physical prototypes are presented that represent successive
improvements in the design. A nonlinear position controller is designed and tested in
simulation. Although none of the physical prototypes is capable of autonomous flight,
our experimental results and theoretical analysis strongly indicate that the moving mass
paradigm is viable and indeed promising.
1.1 Configurations and steering mechanisms
The main design choices in developing a rotary wing aircraft are the number of rotors (at
least two), their configuration, and the steering mechanism. Conventional helicopters use
one main rotor to produce lift and a secondary tail rotor to control yaw, i.e., to prevent
the helicopter from spinning around its vertical axis. The main rotor is mounted on a
clever mechanism called a swash plate which varies the pitch of the blades over the course
of each revolution in such a way that the thrust vector can be controlled by the pilot.
A quadrotor helicopter utilizes four rotors rotating around four distinct parallel axes.
To prevent the aircraft from spinning around its vertical axis, two rotors revolve clockwise,
and the remaining two revolve counter-clockwise. By varying the rotor speeds, torques
can be generated to steer the helicopter. The advantages of this configuration over
the conventional one is that all rotors produce lift. Moreover, the torque generation
mechanism is elementary and it does not require a swash plate. The disadvantage is
that the configuration of rotors takes space, and it poses a fundamental limit to the
miniaturization of the aircraft.
A coaxial helicopter features two rotors mounted on the same axis and revolving in
opposite directions. As in quadrotor helicopters, both rotors generate lift. The yaw
Chapter 1. Introduction 4
angle of the helicopter is controlled by the differential rotor velocity. Since the rotors are
mounted on the same axis, the coaxial configuration is compact, and it can be miniatur-
ized. While quadrotor helicopters have redundant actuation, coaxial helicopters have the
minimum number of rotors needed for stable flight, and as a result they are more power
efficient. By that it is meant that for the same payload, coaxial helicopters consume less
power than quadrotors.
T
r
τ = r × T
COM
Figure 1.2: A moving mass actuator steers the helicopter by shifting the centre of mass
of the helicopter on a plane perpendicular to the thrust vector. If the centre of mass of
the helicopter is moved off the thrust axis through a displacement vector r, the thrust
vector T produces a torque τ = r× T . By controlling r, we can produce torques around
any axis on the shaded plane.
There are two ways to generate steering torques in coaxial helicopters. One may
either use a swash plate or move the centre of mass of the helicopter using a suitable
mechanism. In this thesis we will adopt this latter approach. Figure 1.2 provides a
schematic representation of how torques are generated by a moving mass mechanism.
Such a mechanism avoids the complexity and reliability problems inherent with swash
plates (miniature helicopters are prone to crashes or abrupt landings). There are, how-
ever, challenges with centre of mass steering. The main challenge is the design of a fast
and accurate moving mass actuator. A secondary challenge is the fact that the reac-
tion forces and torques caused by the moving mass actuator on the helicopter body can
potentially have negative effects on its performance. Finally, it must be noted that a
Chapter 1. Introduction 5
moving mass actuator requires some power expenditure [2] so it decreases somewhat the
theoretical power efficiency of the aircraft.
1.2 Literature review
The literature on UAVs is vast and it covers all aspects of implementation and flight
control. Significant work has been done on the attitude and position control problems.
The reader can refer to, for instance, [18, 20, 11, 7, 12, 4, 6, 3, 21, 16, 1, 2].
The papers in [2, 3] present a coaxial helicopter with centre of mass steering attained
by moving the battery. The battery is mounted on a spherical pendulum at the bottom
of the aircraft. The paper does not present the mathematical model of the system. A
PD controller is used to control the attitude of the helicopter and the distance of the
helicopter from the ground. We surmise that a pilot must manually control the position
of the helicopter to prevent drifts. As mentioned earlier, the battery is used to move the
centre of mass of the helicopter. This is the same idea adopted in this thesis. However,
rather than moving the battery along the surface of a sphere, in our setup the battery
moves on the horizontal plane. This has the advantage of giving a linear relationship
between the movement of the battery and that of the centre of mass. Another difference
between the approach proposed in this thesis and the one in [2, 3] is the fact that in
our setup the moving battery is placed near the centre of mass of the helicopter. This
provides greater sensitivity of the rotational motion of the helicopter with respect to the
control input, and therefore greater maneuverability.
The work in [21] proposes a coaxial helicopter, but the implementation details provided
are insufficient. For instance, the steering mechanism is not presented. While a clear
mathematical model is not presented in [21], some arguments are made that refer to a
mathematical model. The coaxial helicopter configuration is the only conspicuous simil-
arity between the work done in [21] and the work done in this thesis.
Chapter 1. Introduction 6
In [16] the authors propose a deformable steering structure for a coaxial helicopter,
but the mathematical model and experimental results are not presented.
1.3 Thesis contributions
This thesis makes three contributions:
• It presents, for the first time, an accurate mathematical model of a coaxial heli-
copter steered by a moving mass actuator. This is done in Chapter 2. The model
takes into account the gyroscopic effects of the rotors, the reaction forces and
torques exerted by the actuator on the helicopter body, and the fact that the iner-
tia of the helicopter is time-varying.
• It presents a number of physical helicopter prototypes. This is done in Chapter 3.
None of the prototypes is capable of autonomous flight yet, but experimental as well
as simulation results indicate that the proposed moving mass steering mechanism
is viable.
• It develops, in Chapter 4, a nonlinear position controller with a rigorous stability
analysis and extensive simulation results.
Chapter 2
Modeling
In this chapter we develop a detailed mathematical model of a coaxial helicopter with
a moving mass steering mechanism. This model is used for simulation purposes. A
simplified version of the model in which the reaction forces caused by the moving mass
mechanism are ignored is used in Chapter 4 for position control design.
This chapter is organized as follows. We begin, in Section 2.1, by presenting the
structure of the helicopter and its main components. In Section 2.2 we model the rota-
tional dynamics. In Section 2.3 we model the dynamics of the moving mass mechanism.
In Section 2.4 we model the translational dynamics of the helicopter. In Section 2.5
we determine an expression for the thrust produced by the two propellers. Finally, in
Section 2.6 we present the complete helicopter model.
2.1 Setup of the coaxial helicopter and coordinate
frames
A sketch of the coaxial helicopter investigated in this thesis is presented in Figure 2.1.
The helicopter is divided into two sections: the rotor system and the fuselage.
The rotor system is composed of the main shaft and the two propellers, or rotors. The
7
Chapter 2. Modeling 8
Figure 2.1: The main components of the coaxial helicopter.
propellers, mounted on top of each other on a coaxial shaft, rotate in opposite directions,
and they both generate lift. The counter-rotation is used to prevent the helicopter from
spinning around the rotation axis of the propellers.
The fuselage, otherwise known as the main body of the helicopter, supports the
moving mass actuator, the motors, the battery, the processor, the sensors, the data
acquisition board (DA), and the legs of the helicopter. The battery is mounted on top of
a moving mass actuator. This actuator is built using two servomotors (rotary or linear,
depending on the implementation), and is used to accurately control the displacement of
the battery on the xo-yo plane (refer to Figure 2.1). The effect of this actuation is to move
the center of gravity (COG) of the helicopter and, in so doing, generate torques around
the xo and yo axes. More specifically, assuming that the total thrust of the helicopter is
parallel to the zo axis, a displacement of the COG along the xo axis generates a torque
Chapter 2. Modeling 9
around the yo axis, while a displacement along the yo axis generates a torque around the
xo axis. Various implementation details are presented in the next chapter.
Figure 2.2: Illustration of coordinate frames used in modelling the helicopter.
Our model relies on a number of coordinate frames, depicted in Figure 2.2, and several
special points listed in Table 2.1, and described next.
We fix an inertial frame with origin i, and axes xiyizi. We place a body frame
rigidly on the helicopter, with origin o and axes xoyozo. When the helicopter is hovering,
axes xoyo are parallel to the ground, and axis zo points downward. The origin o is
chosen to be the position of the COG of the helicopter when this latter is hovering. The
instantaneous COG of the helicopter is denoted by c. Due to the moving mass in the
fuselage, generally when the helicopter is not hovering, c 6= o.
We place two coordinate frames at the COG of the top and bottom rotors. Their
origins are denoted t and b, respectively. These frames move rigidly with the rotors, but
Chapter 2. Modeling 10
point meaning
i origin of inertial frame
o origin of the body frame, position of the COG of the helicopter
during hovering
c instantaneous position of the COG of the helicopter
t COG of the top rotor
b COG of the bottom rotor
j revolute joint where the coaxial shaft of the rotors joins the fuselage
s position of the COG of the moving mass during hovering
f instantaneous position of the COG of the moving mass
Table 2.1: Definition of various special points
axes zt and zb are parallel to zo.
We will let j denote the point where the coaxial shaft of the rotors joins the fuselage.
Finally, in order to specify the displacement of the moving mass, we will denote by s
the position of the COG of the moving mass when the helicopter is hovering (this is also
referred to as the “trimmed” or “rest” position of the moving mass), and we will denote
by f the instantaneous position of the COG of the moving mass. Clearly, s = f when
the helicopter is hovering.
Throughout this chapter we will use the following notation. If a and b are two points,
we will denote by rab the geometric vector b− a, and by dab the length of this vector. If
v is a geometric vector, and xoyozo is an orthonormal coordinate frame, we will denote
by vo the representation of v in the coordinates of xoyozo. The three components of such
a representation will be labelled using subscripts x, y, z. To illustrate our conventions,
the vector rooc is the displacement of the instantaneous COG of the helicopter, c, from its
Chapter 2. Modeling 11
hovering position, o, expressed in the body frame xoyozo. Its components are
rooc =
roocx
roocy
roocz
.
2.2 Rotational motion
In this section we model the rotational dynamics of the coaxial helicopter. We begin by
writing the kinematic equations. We then determine the internal forces, and use them
to write the dynamic equations.
2.2.1 Rotational kinematics
We denote by Ro the rotation matrix between inertial and body frames so that, if v is a
geometric vector, the relationship between its coordinate representations in the inertial
and body frames is given by vi = Rovo. As is customary in the modeling of aircrafts, we
parametrize Ro using yaw (ψ), pitch (θ), and roll (φ) angles. These angles are also called
the ZYX Euler angles associated with Ro, and have the following geometric meaning. To
get the body frame, one must rotate the inertial frame around its z axis by angle ψ, then
rotate the resulting frame around its y axis by angle θ, and finally rotate this third frame
around its x axis by angle φ. Thus,
Ro =
cosψ − sinψ 0
sinψ cosψ 0
0 0 1
cos θ 0 sin θ
0 1 0
− sin θ 0 cos θ
1 0 0
0 cosφ − sinφ
0 sinφ cosφ
.
Using the short-hand notation cθ, sθ for cos(θ) and sin(θ), the rotation matrix becomes,
Ro =
cθcψ sφsθcψ − cφsψ cφsθcψ + sφsψ
cθsψ sφsθsψ + cφcψ cφsθsψ − sφcψ
−sθ sφcθ cφcθ
.
Chapter 2. Modeling 12
This parametrization of Ro is singular at θ = ±π2, but the helicopter is not expected to
operate at this attitude (when the thrust vector is horizontal). In what follows, we will
denote
Θ = [φ θ ψ]⊤.
Letting ω denote the angular velocity of the helicopter, and using the fact that [9], for
any geometric vector v, Rovo = Ro(ω
o × vo), we have
ωo =
φ− φ sinφ
θ cosφ+ ψ cos θ sinφ
−θ sinφ+ ψ cos θ cosφ
=
1 0 − sin θ
0 cosφ cos θ sinφ
0 − sin φ cos θ cosφ
Θ.
Letting
Y (Θ) =
1 0 − sin θ
0 cosφ cos θ sinφ
0 − sin φ cos θ cos φ
,
the time derivative of the vector of Euler angels is given by
Θ = Y −1(Θ)ωo, (2.1)
where Y −1(Θ) is the inverse of Y (Θ) and is given by
Y −1(Θ) =
1 sinφ tan θ cosφ tan θ
0 cosφ − sin φ
0 sin φ sec θ cosφ sec θ
.
Equation (2.1) represents the rotational kinematics of the helicopter. Note that Y −1(Θ)
is undefined when θ = ±π/2. This is a consequence of the singularity in the Euler angle
parametrization discussed earlier.
2.2.2 Internal forces
In order to write the rotational dynamics of the helicopter, we need to determine the
internal force arising from the revolute joint j connecting the coaxial shaft of the rotors
Chapter 2. Modeling 13
to the fuselage. We will denote this force FI , and we will let Ft, Fb be the contributions
to FI due to the top and bottom rotors, respectively, so that FI = Ft+Fb. Furthermore,
we will let Ωt and Ωb denote the angular velocities of the top and bottom propellers,
respectively, and we will let τt and τt be the z-components of the torques exerted by the
motors on the top and bottom rotors. Finally, we will let I tt and Ibb denote the inertia
matrices of the two rotors in the respective rotor frames, and assume that these are
diagonal matrices.
Before proceeding further, we need to understand the relationship between the rotor
inertia in the rotor frames and its representation in the body frame. We will assume that
the two rotors are identical, so we have
I tt = I tb = diag(Irxx , Iryy , Irzz).
Letting Rt, Rb be the rotation matrices between the body frame and the two rotor frames,
we have
Iot = RtIttR
⊤t , I
ob = RbI
bbR
⊤b .
The frame of the top rotor is obtained by rotating the body frame around its z axis by
some angle ψt, so that after matrix multiplication,
Iot =
c2ψtIrxx + s2ψtIryy cψtsψtIrxx − cψtsψtIryy 0
cψtsψtIrxx − cψtsψtIryy s2ψtIrxx + c2ψtIryy 0
0 0 I trzz
.
Exploiting the symmetry of the rotor, we have Irxx = Iryy , and so we conclude that
Iot = diag(Irxx, Irxx , Irzz). By following an analogous reasoning one can see that the same
expression holds for Iob , and so
Iot = Iob = diag(Irxx , Irxx, Irzz).
Next, we write the equations of motion of the two rotors in the body frame,
Iot Ωot + Ωot × IotΩ
ot = rojt × F o
t +[
0 0 τ ot − b(
Ωotz)2]⊤
Iob Ωob + Ωob × IobΩ
ob = rojb × F o
b +[
0 0 −(
τ ob − b(
Ωobz)2)]⊤
,
(2.2)
Chapter 2. Modeling 14
where b(
Ωotz)2
and b(
Ωobz)2
are the torques due to air resistance, and b > 0 is a physical
parameter dependent on the air density, the propeller geometry, and other factors (see
[4], [18], and [12] for more details). Note the sign difference in the torques τ ot − b(
Ωotz)2
and −(
τ ob − b(
Ωobz)2)
. This is due to the fact that the engines apply torques in opposite
directions and the propellers are counter-rotating. Since the points j, t, b lie on the axis
zo, we have rojt = [0 0 − djt]⊤ and rojb = [0 0 − djb]
⊤. Using the expressions for Iot , Iob
found earlier, the components of the dynamics of the top rotor (first equation in (2.2))
read as
IrxxΩotx+ ΩotyΩ
otz(Irzz − Iryy) = djtFty (2.3)
IryyΩoty+ ΩotxΩ
otz(Irxx − Irzz) = −djtFtx (2.4)
IrzzΩotz= τ ot − b(Ωotz)
2. (2.5)
The same equation holds for the bottom rotor by replacing the subscript t with b and
changing the sign of the right-hand side of (2.5). The revolute joint imposes the con-
straint that the components of the rotor angular velocities in the xoyo plane coincide
with analogous components of the body angular velocity, i.e.,
ωox = Ωotx = Ωobx , ωoy = Ωoty = Ωoby .
Substituting these identities in the rotor dynamics (2.3), (2.4), and solving for Ftx , Fty ,
Fbx , and Fby we obtain
Ftx = −Iryy ω
oy + ωoxΩ
otz(Irxx − Irzz)
djt
Fty =Irxxω
ox + ωoyΩ
otz(Irzz − Iryy)
djt
Fbx = −Iryy ω
oy + ωoxΩ
obz(Irxx − Irzz)
djb
Fty =Irxxω
ox + ωoyΩ
obz(Irzz − Iryy)
djb
The xo and yo-components of the total force F oI are given by F o
Ix= Ftx + Fbx , F
oIy
=
Chapter 2. Modeling 15
Fty + Fby , and so
F oIx
= −Iryy ω
oy(djt + djb) + ωox(djbΩ
otz+ djtΩ
obz)(Irxx − Irzz)
djtdjb
F oIy
=Irxxω
ox(djt + djb) + ωoy(djbΩ
otz+ djtΩ
obz)(Irzz − Iryy)
djtdjb.
The equation above can be simplified if we assume that djb = djt. This approximation is
reasonable because |djt − djb| ≪ min|djt|, |djb|. With this approximation we obtain
F oIx
= −2Iryy ω
oy + ωox(Ω
otz+ Ωobz)(Irxx − Irzz)
djt
F oIy
=2Irxxω
ox + ωoy(Ω
otz+ Ωobz)(Irzz − Iryy)
djt.
(2.6)
The expressions above will be used in the next section to determine the rotational dy-
namics of the helicopter body.
2.2.3 Rotational dynamics
Euler’s equation describing the rotational motion the helicopter in body coordinates is
(see [5])
dLocdt
+ ωo × Lo = τ oc ,
where Loc is the body-referenced angular momentum of the helicopter fuselage at its COG,
Ioc is the body-referenced inertia matrix of the fuselage at its COG, and τ oc is the sum of
all the torques about the COG of the helicopter body. The angular momentum is given
by Loc = Iocωo. In computing the time derivative of Loc, we must take into account the
fact that, due to the moving mass, the inertia matrix is time-dependent. Accordingly,
the rotational dynamics of the helicopter in body coordinates are given by
Ioc ωo + ωo × Iocω
o + Iocωo = τ oc , (2.7)
There are four torques acting on the helicopter.
Torque due to internal force. As we have seen in the previous section, at the
revolute joint j there is an internal force FI exerted on the rotors, and a reaction force
Chapter 2. Modeling 16
−FI exerted on the helicopter body. This latter force produces a torque
τ oFI =
0
0
djo
× (−F o) =
djoFoIy
−djoF oIx
0
=djodjt
2Irxxωox + ωoy(Ω
otz+ Ωobz)(Irzz − Iryy)
2Iryyωoy + ωox(Ω
otz+ Ωobz)(Irxx − Irzz)
0
.
Torque due to the engines. The two engines produce torques with magnitude τ ot and
−τ ob on the two rotors, and two reaction torques in the opposite direction on the body,
whose net effect is the torque
τ oE =
0
0
−τ ot + τ ob
.
Torque due to the moving mass actuator. The moving mass actuator imparts a
force FA on the moving mass. This force vector is horizontal in body coordinates, i.e., it
lies on the xoyo plane. The reaction force, −FA, produces a torque at the COG of the
fuselage, as follows
τ oFA = rocf × (−F oA).
We will express the displacement rocf in terms of rooc, the displacement of the helicopter’s
COG from the origin of the body frame which, as we will see, is part of our state vector.
Using the identities rof = roc + rcf , and rof = ros + rsf , we have
rocf = roos + rosf − rooc.
Recall that rosf is the displacement of the moving mass relative to its rest position. This
displacement is responsible for the displacement of the centre of mass of the helicopter
from its equilibrium position, rooc. Specifically, the relationship between these two dis-
Chapter 2. Modeling 17
placements is rosf = (M/m)rooc. Substituting in the expression for rocf , we get
rocf = roos +M −m
mrooc.
Since both vectors F oA and rooc lie in the xoyo plane (i.e., they are horizontal in body
coordinates), the torque produced by the moving mass actuator is
τ oFA =
F oAyroosz
−F oAxroosz
F oAxroosy − F o
Ayroosx +
M−mm
(F oAxroocy − F o
Ayroocx)
.
Torque due to the aerodynamic thrust. The two rotors produce a thrust vector
FT at the point o, pointing upward along the negative zo axis. In body coordinates, the
thrust vector is given by F oT = [0 0 − T ]⊤, where T depends on the rotors’ angular
velocities, and it will be determined later. At the COG of the helicopter, the torque
produced by the thrust vector is
τ oFT = roco ×
0
0
−T
= rooc ×
0
0
T
=
Troocy
−Troocx
0
.
Going back to the dynamics in (2.7), the total torque at the COG of the helicopter body
is τ oc = τ oFI + τ oE + τ oFA + τ oFT . Substituting in the expressions for these torques found
above we obtain the final expression for the rotational dynamics of the fuselage in body
coordinates
(Ioc + Jor )ωo + [(Ωotz + Ωobz)L
or + Ioc ]ω
o + ωo × Iocωo
=
F oAyroosz + Troocy
−F oAxroosz − Troocx
F oAxroosy − F o
Ayroosx +
M−mm
(F oAxroocy − F o
Ayroocx)− τ ot + τ ob
,(2.8)
Chapter 2. Modeling 18
where
Jor =2djodjt
diag(Irxx, Iryy , 0)
Lor =djodjt
0 Irzz − Iryy 0
Irxx − Irzz 0 0
0 0 0
.
The term [(Ωotz + Ωobz)Lor]ω
o in the left-hand side of equation (2.8) models the impact of
the gyroscopic effect of the two propellers on the rotational dynamics of the helicopter.
Since the propellers are counter-rotating, at near-hovering conditions the sum of the
angular speeds (Ωotz + Ωobz) is approximately zero, and therefore the gyroscopic effect of
the two propellers is negligible. This is an important advantage of co-axial helicopters
over traditional helicopters.
2.3 Dynamics of the moving mass mechanism
In this section we model the translational dynamics of the moving mass mechanism. Let
M be the total mass of the helicopter, and m be the moving mass, so that the mass of
the helicopter without the moving apparatus isM −m. The moving mass motor imparts
a force FA on the mass m, and a reaction force −FA on the mass M −m. Both masses
are affected by the gravity force. Moreover, mass M−m is subjected to the aerodynamic
thrust FT produced by the rotors. Finally, the constraint that mass m slides on top
of mass M − m is modeled by a constraint force FC acting on mass M − m, with the
corresponding reaction force −FC acting on mass m. Since the moving mass slides in the
xoyo plane in body coordinates, the constraint force is directed along the zo axis, and it
representation in body coordinates is FC = [0 0 C]⊤.
Referring to Table 2.1, recall that f is the instantaneous position of the COG of the
moving mass, and o, the origin of the body frame, is the position of the COG of the
helicopter during hovering. It is reasonable and realistic to assume that o coincides with
Chapter 2. Modeling 19
the COG of the helicopter without the moving mass. In conclusion, the displacement of
the COG of mass m is rif , while that of the COG of mass M −m is rio.
Newton’s equations for masses M −m and m in inertial coordinates are:
(M −m)riio = Ro
0
0
−T + C
+
0
0
(M −m)g
− F iA,
mriif = Ro
0
0
−C
+
0
0
mg
+ F iA.
Our objective in this section is to write the dynamics of moving mass m in body coordin-
ates. Recall that the displacement of the moving mass from the origin of the body frame
is the vector rof . In light of the fact that the displacement roc of the helicopter’s COG
with respect to its rest position is related to rof by
rooc =m
Mrosf =
m
M(roof − roos), (2.9)
where roos is a constant vector, we will equivalently represent the motion of the moving
mass in terms of rooc. This is useful because the first two components of rooc affect the
rotational dynamics in (2.8).
Since rof = rif − rio, using the two Newton equations above we get
riof = Ro
0
0
Tm(M−m)
− MCM−m
+M
m(M −m)F iA. (2.10)
Next, we need to rewrite the above equation in body coordinates. To this end, we use
the fact that riof = Roroof . Taking the time derivative of both sides of this equation, and
using the identity Rovo = Ro(ω
o × vo), we get
riof = Roroof + Ror
oof = Ro(r
oof + ωo × roof).
Chapter 2. Modeling 20
Taking one more time derivative we obtain
riof = Ro(roof + ωo × roof + ωo × roof) +Ro(ω
o × (roof + ωo × roof))
= Ro(roof + 2ωo × roof + ωo × roof + ωo × (ωo × roof)). (2.11)
Substituting this expression in (2.10) and multiplying from the left by R⊤o we obtain
roof +2ωo× roof + ωo×roof +ω
o× (ωo×roof ) =
0
0
Tm(M−m)
− MCM−m
+M
m(M −m)F oA. (2.12)
Next, we need to determine the intensity of the constraint force, C. To this end, we use
the constrain that mass m is only allowed to slide horizontally in body coordinates, so
that
[0 0 1]roof = 0, or e⊤3 roof = 0,
where e3 = [0 0 1]⊤. Left-multiplying both sides of (2.12) by e⊤3 and using the constraint
above we obtain
T
m(M −m)−
MC
M −m= e⊤3 (2ω
o × roof + ωo × roof + ωo × (ωo × roof ))−M
m(M −m)e⊤3 F
oA.
The actuator force F oA lies in the xoyo plane, and therefore, e⊤3 F
oA = 0. Using this fact
and substituting the expression above into (2.12) we obtain
roof + 2ωo × roof + ωo × roof + ωo × (ωo × roof ) = e3e⊤3 (2ω
o × roof + ωo × roof + ωo × (ωo × roof ))
+M
m(M −m)F oA.
Collecting terms, we have
roof + (I − e3e⊤3 )[
2ωo × roof + ωo × roof + ωo × (ωo × roof )]
=M
m(M −m)F oA. (2.13)
We are only interested in the first two components of roof because the moving mass slides
horizontally in body coordinates, and because F oA is horizontal as well. To this end, let
Π =
1 0 0
0 1 0
,
Chapter 2. Modeling 21
and for a vector vo, denote
vo =
vox
voy
= Πvo.
From (2.13) we have
Π[
roof + 2ωo × roof + ωo × roof + ωo × (ωo × roof )]
=M
m(M −m)F oA. (2.14)
The expression above will be used in the next section to derive the translational dynamics
of the helicopter. Now we derive the dynamics of the vector rooc = Πrooc.
Using (2.9), we have roof = roos +Mmrooc. Moreover, roof = roos + rosf , and since points s
and f lie on the same horizontal line in body coordinates, the third component of the
vector roof is roosz , so that roof = col(roof , roosz
). Therefore,
roof = roos +M
mcol(rooc, 0). (2.15)
The vector roos is independent of the displacement of the moving mass, and therefore its
time derivative is zero, implying that
roof =M
mcol( ˙rooc, 0), roof =
M
mcol(¨rooc, 0). (2.16)
Substituting these expressions into (2.14) we get
¨rooc = −Π
m
M(ωo × roos + ωo × (ωo × roos))
+ 2ωo ×
˙rooc
0
+ ωo ×
rooc
0
+ ωo ×
ωo ×
rooc
0
+
F oA
M −m.
(2.17)
This second-order differential equation for rooc expresses the motion of the helicopter’s
COG in body coordinates. The constant vector roos, representing the displacement
between the origin of the body coordinates and the rest position of the moving mass, can
be determined experimentally.
Chapter 2. Modeling 22
2.4 Translational motion of helicopter
We are now ready to determine the translational motion of the helicopter. In particular,
we want to characterize the dynamics of roio, the displacement of the origin of the body
frame from the origin of the inertial frame expressed in body coordinates. Newton’s
equation for the helicopter’s COG is
Mriic = F i,
where F i is the sum of all the external forces acting on the helicopter. Using the fact
that ric = rio + roc, we have
Mriio +Mrioc = F i. (2.18)
Following the same steps leading to the expression in (2.11), we get
rioc = Ro(rooc + 2ωo × rooc + ωo × rooc + ωo × (ωo × rooc)). (2.19)
Recall the relationship in (2.9) between the vector roc, representing the displacement of
the COG of the helicopter with respect to its rest position, and the vector rsf , rooc =
(m/M)(roof − roos). Recall that the vector roos, representing the displacement between the
origin of the body coordinates and the rest position of the moving mass, is constant.
Substituting (2.9) and (2.19) into (2.18) and using the fact that roos = roos = 0, we obtain
Mriio +mRo
[
− ωo × roos − ωo × (ωo × roos)
+ roof + 2ωo × roof + ωo × roof + ωo × (ωo × roof)]
= F i.
(2.20)
Now we focus on the second line of equation (2.20), and we bring in the moving mass
dynamics of equation (2.14). Noticing that the identity matrix can be partitioned as
I =
Π
e⊤3
,
Chapter 2. Modeling 23
premultiplying the second line of (2.20) by the above expression, and using equation (2.14)
we get
roof+2ωo×roof+ωo×roof+ω
o×(ωo×roof ) =
MF oA
m(M−m)
e⊤3(
2ωo × roof + ωo × roof + ωo × (ωo × roof))
,
where we have used the fact that e⊤3 roof = 0. Using the identities (2.15)-(2.16) and letting
µ(rooc, ˙rooc, ω
o, ωo) = e⊤3
(
m
M(ωo × roos + ωo × (ωo × roos))
+2ωo ×
˙rooc
0
+ ωo ×
rooc
0
+ ωo ×
ωo ×
rooc
0
,
(2.21)
we have
roof + 2ωo × roof + ωo × roof + ωo × (ωo × roof) =M
m
F oA
M−m
µ(rooc, ˙rooc, ω
o, ωo)
.
Substituting this expression in the second line of (2.20) we get
Mriio +mRo
−ωo × roos − ωo × (ωo × roos) +
M
m
F oAM−m
µ(rooc, ˙rooc, ω
o, ωo)
= F i.
We are left with the characterization of the total external force F i. This is simply the
sum of the force due to gravity and the aerodynamic thrust generated by the rotors,
F i =
0
0
Mg
+Ro
0
0
−T
.
In conclusion, the translational dynamics of the helicopter are given by
riio = Ro
m
M(ωo × roos + ωo × (ωo × roos))−
F oAM−m
µ(rooc, ˙rooc, ω
o, ωo) + TM
+
0
0
g
.
(2.22)
Chapter 2. Modeling 24
2.5 Aerodynamic thrust generated by the two rotors
The thrust generated by a propeller is modeled in great detail in [9]. In this thesis we
adopt a simplified aerodynamic model in which the thrust produced by each rotor is
proportional to its squared angular speed, so that the vertical component of the total
thrust produced by the two rotors is given by
T = Γ[(
Ωotz)2
+(
Ωobz)2], (2.23)
where Γ > 0 is a parameter that depends on the physical properties of the propellers and
other factors (please see [18], [12], and [14] for more details). The parameter Γ can be
experimentally estimated using a torque-force sensor.
2.6 Complete model
In this section we summarize the mathematical model of the helicopter. The model
contains the following components:
• The propeller dynamics in (2.5) whose states are the angular speeds Ωotz , Ωobz.
• The translational dynamics in (2.22) whose state is (riio, riio).
• The rotational kinematics in (2.1) whose state is the vector of Euler angles Θ, and
the rotational dynamics in (2.8) whose state is the angular velocity ωo.
• The moving mass dynamics in (2.17) with states the horizontal displacement vector
rooc and the velocity vector ˙rooc.
The overall state of the system is (Ωotz ,Ωobz, riio, r
iio,Θ, ω
o, rooc, ˙rooc). The control inputs are
the engine torques τ ot , τob , and the actuator force F o
A = col(F oAx, F o
Ay). The complete
Chapter 2. Modeling 25
helicopter dynamics are as follows:
IrzzΩotx= τ ot − b(Ωotz)
2 (2.24)
IrzzΩobz= −
(
τ ob − b(Ωobz)2)
(2.25)
riio = Ro
m
M(ωo × roos + ωo × (ωo × roos))−
F oAM−m
µ(rooc, ˙rooc, ω
o, ωo) + TM
+
0
0
g
(2.26)
Θ = Y −1(Θ)ωo (2.27)
(Ioc + Jor )ωo + [(Ωotz + Ωobz)L
or + Ioc ]ω
o + ωo × Iocωo
=
F oAyroosz + Troocy
−F oAxroosz − Troocx
F oAxroosy − F o
Ayroosx +
M−mm
(F oAxroocy − F o
Ayroocx)− τ ot + τ ob
(2.28)
¨rooc = −Π
m
M(ωo × roos + ωo × (ωo × roos))
+ 2ωo ×
˙rooc
0
+ ωo ×
rooc
0
+ ωo ×
ωo ×
rooc
0
+
F oA
M −m. (2.29)
Chapter 2. Modeling 26
In the above, we have
µ(rooc, ˙rooc, ω
o, ωo) = e⊤3
(
m
M(ωo × roos + ωo × (ωo × roos))
+2ωo ×
˙rooc
0
+ ωo ×
rooc
0
+ ωo ×
ωo ×
rooc
0
T = Γ[(
Ωotz)2
+(
Ωobz)2]
Y −1(Θ) =
1 sinφ tan θ cosφ tan θ
0 cosφ − sin φ
0 sinφ sec θ cos φ sec θ
Jor =2djodjt
diag(Irxx, Iryy , 0)
Lor =djodjt
0 Irzz − Iryy 0
Irxx − Irzz 0 0
0 0 0
Π =
1 0 0
0 1 0
.
The matrix Ioc in (2.28) can be computed analytically as a function of (rooc, rooc). We refer
the interested reader to Appendix A.
Chapter 3
Preliminary Helicopter Prototypes
and Attitude Stabilization
This chapter presents three helicopter prototypes built in collaboration with Quanser,
and a basic PD attitude stabilizer tested both in simulation and experimentally. By
attitude stabilization one refers to the problem of stabilizing the rotation matrix of the
body frame of the helicopter to a desired rotation matrix. In terms of the vector of
Euler angles Θ used in this thesis, the attitude control problem corresponds to making
Θ → Θd, where Θd is the vector of desired Euler angles.
This chapter is organized as follows. In Section 3.1 we present three physical proto-
types, pointing out the challenges that were faced in their implementation. In Section 3.2
we present a simplified mathematical model of the rotational dynamics that conforms to
the characteristics of the moving mass actuator. Then, we present a simple PD attitude
stabilizer and the associated simulation results. Finally, in Section 3.3 we discuss the
experiment results of the attitude stabilizer.
27
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization28
3.1 Helicopter prototypes
Before building a physical prototype, we performed parameter sensitivity analysis by
simulating the mathematical model presented in Section 2.6. The sensitivity analysis
is required to find the optimal parts and optimal position for the vital components of
a helicopter within the physical prototype. For example, the size of the motors and
propellers, weight of the moving mass and its maximum displacement, and the position
of the moving mass were among the decisions made based on the simulation results of
the sensitivity analysis for variety of possible designs. The most important result of
the sensitivity analysis was the optimal location of the moving mass mechanism. The
simulation results verified that the moving mass mechanism is more effective if it is
placed as close as possible to the centre of gravity of the helicopter. Placing the moving
mass mechanism near the centre of gravity of the helicopter decreases the helicopter’s
inertia and subsequently increases its maneuverability. Also, some components of the
reaction torques caused by the moving mass actuators are reduced when the moving
mass mechanism is placed near the centre of gravity of the helicopter. The sensitivity
analysis also verified that the moving mass mechanism should not be placed above the
centre of gravity of the helicopter (on the negative z axis), because the reaction torques
from the moving mass actuator would be acting on the body in the opposition direction
of the desired torque from the thrust.
Three prototypes were built during the course of this thesis research, and a fourth
prototype is being built by Quanser at the time of writing this document. The moving
mass mechanisms and the prototypes were designed by Don Gardner of Quanser. We
now describe the three prototypes and the challenges we faced with each of them.
Prototype 1. The first prototype, seen in Figure 3.1, was built using an AEO-
RC CR23L coaxial motor to drive the propellers, two Turnigy BLS980 Digital Brushless
Heli Rudder Servos as the moving mass mechanism (one for each direction) and four
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization29
Figure 3.1: Side views of the first prototype.
aluminum legs. The moving mass mechanism is illustrated in Figure 3.2. Sensors, wireless
connection, and the processor on board were provided by HiQ, the microcontroller board
developed by Quanser. The body of the helicopter was designed by Quanser engineers
using SolidWorks and built using a 3D printer. The helicopter was powered by a single
3-cell, 2500mAh, 11.1V Lithium-ion polymer battery. Two counter-rotating propellers of
the same size, 10× 5in, were used for this model. The total weight of the prototype was
about 700g. This prototype had several problems. The coaxial motor was not sufficiently
powerful and proved to be poorly manufactured. The square shape of the body resulted
in a problematic air flow for the rotors. The aluminum legs were too short and heavy.
The helicopter was very close to the ground, which resulted in a significant ground effect.1
Prototype 2. The second prototype, seen in Figures 3.3 and 3.4, used the same
battery and servo motors as prototype 1, but a different coaxial motor, the AEO-RC
CR28M. This time the helicopter body was designed to improve the air flow of the
1The ground effect is described in [10] as follows: “Because the ground must be a streamline tothe flow, the rotor slipstream tends to rapidly expand as it approaches the surface. This alters theslipstream velocity, the induced velocity in the plane of the rotor, and, therefore, the rotor thrust andpower. Similar effects are obtained both in hover and forward flight, but the effects are strongest in thehovering state. When the hovering rotor is operating in ground effect, the rotor thrust is found to beincreased for a given power.”
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization30
Figure 3.2: Detail of the moving mass actuator. Two servomotors, mounted perpendic-
ular to each other, pull two linkages pinned on the helicopter body. The servomotors
are mounted on linear guides. By pulling the linkage, the servomotor slides on the linear
guide.
propellers. The legs were made of carbon fiber, and were longer and lighter than the
aluminum legs used in prototype 1. Two counter-rotating propellers, 12 × 4.5in, were
used.
The improvements afforded by this prototype were better airflow for the rotors, greater
lift, and a reduced ground effect. However, the motor proved to be unreliable.
Prototype 3. The third prototype was made in three different configurations using
the Himax CR2816-1100 coaxial motor. All three configurations used the same servo
motors as the first and second prototypes. The batteries and the weight of the moving
masses separate the three configurations from one another. The third prototype was the
heaviest among the three, between 1kg and 1.3kg. The first configuration used a 3cell,
2500mAh, 11.1V Lithium-ion polymer battery. With a heavier helicopter body, the
moving mass actuator of Figure 3.2 did not displace sufficient mass in order to move the
COG of the helicopter by a significant amount. Additionally, the battery only provided
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization31
Figure 3.3: Side views of the second prototype.
Figure 3.4: Top views of the second prototype.
enough power for about 4 minutes of flying, which was not long enough for testing.
The second configuration, shown in Figure 3.7, used a higher capacity 3cell, 5000mAh,
11.1V Lithium-ion polymer battery. We increased the moving mass by attaching brass
plates to each of the servomotors. The larger battery provided higher current and lasted
longer, giving more flight time, but the battery increased the total weight making the
moving mass insufficient to move the COG of the helicopter by a significant amount. At
this point of our development it became clear that the main implementation challenge
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization32
Figure 3.5: Side view of the third prototype with a small battery.
Figure 3.6: Top view of the third prototype with a small battery.
was the design of the moving mass actuator. The actuator should displace a large enough
mass to significantly affect the displacement of the COG of the helicopter. At the same
time, the actuator response should be sufficiently fast to guarantee closed-loop stability.
In an attempt to address the limitations of the two configurations just described, the third
configuration used two 3cell, 2500mAh, 11.1V Lithium-ion polymer batteries connected in
parallel to each other. This time, each battery was attached to one of the servos, moving
in the x and y directions. In this configuration, the moving mass was large enough that
the actuator was able to displace the COG of the helicopter by a significant amount. This
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization33
Figure 3.7: Side view of the third prototype with a large battery.
prototype showed promise, and allowed us to successfully test a PD attitude controller
presented in what follows. Unfortunately, the moving mass mechanism proved to be
unreliable, and its performance started to deteriorate after a few tests. The actuator
mechanism showed in Figure 3.2 exerts a torsional force at the juncture between each
servomotor and the respective linear guide. The result is that the torque produced by
the servomotor places excessive stress on the shaft of the motor as well as the juncture,
causing friction and a progressive degradation of the motor. Additionally, with the
added mass of the batteries the servomotors cannot reach their rated speed of 10 cm/s,
and hence the performance of the helicopter is affected. The fourth prototype being
developed uses a completely different actuation mechanism which should overcome the
problems described above.
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization34
3.2 Simplified rotational dynamics and attitude con-
trol
Recall the rotational dynamics of the helicopter presented in Section 2.6:
IrzzΩotz= τ ot − b(Ωotz)
2
IrzzΩobz= −
(
τ ob − b(Ωobz)2)
Θ = Y −1(Θ)ωo
(Ioc + Jor )ωo + [(Ωotz + Ωobz)L
or + Ioc ]ω
o + ωo × Iocωo
=
F oAyroosz + Troocy
−F oAxroosz − Troocx
F oAxroosy − F o
Ayroosx +
M−mm
(F oAxroocy − F o
Ayroocx)− τ ot + τ ob
(3.1)
¨rooc = −Π
m
M(ωo × roos + ωo × (ωo × roos))
+ 2ωo ×
˙rooc
0
+ ωo ×
rooc
0
+ ωo ×
ωo ×
rooc
0
+
F oA
M −m.
The control inputs in the model above are the engine torques τ ot , τob , and the actuator
force F oA = col(F o
Ax, F o
Ay). The moving mass actuator depicted in Figure 3.2 relies on
two servomotors. Servomotors accept a reference position in input, rather than a force,
and it is customary to assume that the actuator dynamics are fast enough that the ref-
erence position is attained instantaneously. This fact creates a discrepancy between the
mathematical model of the moving mass and the actuator implementation: in the math-
ematical model, the displacement of the moving mass and its derivative are essentially
states2; in the actuator, the displacement of the actuator is the control input. To resolve
this inconsistency, we need to simplify the mathematical model above by neglecting the
2Actually, the displacement of the COG of the helicopter, rooc, and its derivative rooc, are states. Theseare related to the displacement of the moving mass and its derivative through (2.15)-(2.16).
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization35
actuator dynamics, and considering the planar displacement of the helicopter’s COG,
rooc = col(roocx , roocy
), as the new control input. The difficulty in neglecting the actuator
dynamics arises from the fact that the actuator force F oA affects the torque vector in (3.1).
However, assuming that the components of the vector roos are small, the terms in (3.1) in-
volving F oA can be neglected. This is justified provided that the moving mass is designed
so that its rest position is very close to the COG of the helicopter. With the assumption
that dos ≪ 1, the rotational dynamics model becomes
IrzzΩotz= τ ot − b(Ωotz )
2
IrzzΩobz= −
(
τ ob − b(Ωobz)2)
Θ = Y −1(Θ)ωo
(Ioc + Jor )ωo + [(Ωotz + Ωobz)L
or + Ioc ]ω
o + ωo × Iocωo =
Troocy
−Troocx
−τ ot + τ ob
.
As discussed earlier, the control inputs are (τ ot , τob , r
oocx, roocy). We will assume that the
Euler angles in Θ, and the angular velocity in body coordinates, ωo, are available for
feedback. In practice, rate gyroscopes provide an estimate of ωo. Sensing Θ, on the other
hand, is far more difficult. In a laboratory setting, camera feedback can be used for this
purpose.
Let Θd = [φd θd ψd]⊤ be a vector of desired Euler angles. The attitude of the helicopter
can be controlled using decentralized PD controllers.
τ ot = −KP1(ψ − ψd)−KD1
ωoz + τ ot
τ ob = KP1(ψ − ψd) +KD1
ωoz + τ ob
roocx = KP2(θ − θd) +KD2
ωoy
roocx = −KP3(φ− φd)−KD3
ωox,
where KPi > 0, KDi > 0, for i = 1, 2, 3.
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization36
The roocx and roocy feedbacks control the roll and pitch. Note that
τ ot − τ ob = −2KP1(ψ − ψd)− 2KD1
ωoz .
This is a yaw controller. The bias terms τto, τb
o are chosen so as to assign the total thrust
generated by the two rotors. In steady-state, if the torques are constant then the two
rotor speeds are given by (Ωotz)2 = τ ot /b, (Ω
obz)2 = τ ob /b. The total thrust is, therefore,
T = Γ(τ ot /b + τ ob /b). Since only the attitude of the helicopter is of importance at this
point, we would like to keep the thrust around the hovering point, which is T = Mg.
Therefore, we set
τto =
bMg
2Γ, τb
o =bMg
2Γ.
The control gains KPi and KDi can be found using any conventional control theory
methods. We will not present any stability analysis since in the next chapter we will
present a detailed control design for a position controller. For now, it suffices to say that
the control structure we have presented above is standard.
The PD controller above is tested via simulation using the parameters given in Table
3.2 and the reference attitude Θd = [0 0 0]⊤, with the initial conditions given in Table
3.1. Figures 3.8 to 3.10 are the results of the PD attitude controller simulation test. The
robustness of the PD attitude controller is tested later on in this section.
State Value Unit
φ 0.2 rad
θ 0.3 rad
ψ −0.1 rad
ωox −2 rad/s
ωoy 1 rad/s
ωoz 3 rad/s
Table 3.1: Initial condition.
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization37
Parameter Value Unit
M 1.5306 Kg
g 9.8 m/s2
m 0.5 Kg
b 4× 10−4
roosx 8 mm
roosy 6 mm
roosz 25 mm
Iocxx 33× 10−4 Kg.m2
Iocxy −7 × 10−6 Kg.m2
Iocxz 1× 10−5 Kg.m2
Iocyy 34× 10−4 Kg.m2
Iocyz 7× 10−6 Kg.m2
Ioczz 183× 10−5 Kg.m2
Irxx 2× 10−5 Kg.m2
Iryy 2× 10−5 Kg.m2
Iczz 4× 10−5 Kg.m2
Table 3.2: Simulation parameters.
To test the robustness of the PD controller some perturbation in the system paramet-
ers have been introduced. Table 3.3 compares the actual values to the perturbed values
of the parameters used by the controller. The simulations are done for the same set of
initial conditions as before, Table 3.1, and the results are given in Figures 3.11 to 3.13.
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization38
0 1 2 3 4 5−0.1
−0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
Seconds
Rad
ians
RollPitchYaw
Figure 3.8: Simulation result of the PD attitude controller for the Euler angles: Θ.
3.3 Discussion of experimental results
The attitude controller presented in the previous section was tested on all three helicopter
prototypes, and movies were recorded. The experiments were divided into two steps.
First, we tested the yaw controller to avoid spinning of the helicopter around its vertical
axis. To do that, the physical prototypes were mounted on the platform shown in Figure
3.14. The platform was used to constraint the motion of the helicopter so that it could
only spin about the zo axis. In this setting, the yaw controller worked well. The second
step of the experiment was the test and tuning of the full attitude controller. Due to
the limitations of the moving mass actuator described in the previous section, the full
attitude controller did not perform well and it was not able to achieve any stability for
the first two prototypes and for the first two configurations of the third prototype. The
full controller seemed to work well and it was able to stabilize the last configuration of
the third prototype when the helicopter was tethered to the ground. Unfortunately, the
moving mass mechanism performance started to deteriorate after a few tests; however,
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization39
0 1 2 3 4 56.19
6.195
6.2
6.205
6.21
6.215
6.22
6.225
6.23
6.235
Seconds
New
ton
met
er
Magnitude of the input torque for the top rotorMagnitude of the input torque for the bottom rotor
Figure 3.9: Control inputs of the attitude controller for the top and bottom rotors torque:
τ ot and τ ob .
the result of the PD attitude stabilizer for the last prototype was promising before the
failure of the moving mass mechanism.
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization40
0 1 2 3 4 5−1
−0.5
0
0.5
1
1.5
2
2.5
3
3.5x 10
−3
Seconds
Met
ers
Position of the COG w.r.t. the body frame in x directionPosition of the COG w.r.t. the body frame in y direction
Figure 3.10: Control inputs of the attitude controller for the position of the COG of the
body with respect to the origin of the body frame in x and y directions: roocx androocy .
Parameter Actual Value Perturbed Value Unit
M 1.5306 1.3 Kg
m 0.5 0.65 Kg
Iocxx 33× 10−4 20× 10−4 Kg.m2
Iocxy −7 × 10−6 −5× 10−6 Kg.m2
Iocxz 1× 10−5 15× 10−6 Kg.m2
Iocyy 34× 10−4 44× 10−4 Kg.m2
Iocyz 7× 10−6 9× 10−6 Kg.m2
Ioczz 183× 10−5 283× 10−5 Kg.m2
Irxx 2× 10−5 1× 10−5 Kg.m2
Iryy 2× 10−5 15× 10−6 Kg.m2
Iczz 4× 10−5 5× 10−5 Kg.m2
Table 3.3: Perturbed parameters for robustness test.
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization41
0 1 2 3 4 5−0.2
−0.1
0
0.1
0.2
0.3
0.4
0.5
Seconds
Rad
ians
RollPitchYaw
Figure 3.11: Simulation result of the attitude controller for the Euler angles in the
presence of parameter perturbations.
0 1 2 3 4 56.17
6.18
6.19
6.2
6.21
6.22
6.23
6.24
6.25
6.26
Seconds
New
ton
met
er
Magnitude of the input torque for the top rotorMagnitude of the input torque for the bottom rotor
Figure 3.12: Control inputs of the attitude controller for the top and bottom rotors
torque in the presence of parameter perturbations.
Chapter 3. Preliminary Helicopter Prototypes and Attitude Stabilization42
0 1 2 3 4 5−2
−1
0
1
2
3
4
5x 10
−3
Seconds
Met
ers
Position of the COG w.r.t. the body frame in x directionPosition of the COG w.r.t. the body frame in y direction
Figure 3.13: Control inputs of the attitude controller for the position of the COG of the
body with respect to the origin of the body frame in x and y directions in the presence
of parameter perturbations.
Figure 3.14: First prototype mounted on the platform used for yaw control tests.
Chapter 4
Position Control Design
In this chapter we design a controller which makes the helicopter converge to a desired
position in three-space and hover. We begin in Section 4.1 by simplifying the helicopter
model to take into account issues arising from the nature of the actuators employed in
our implementation. In Section 4.2 we present the control design in three steps. The
philosophy of our design is similar to backstepping, but it does not rely on intermediate
Lyapunov functions. Finally, in Section 4.3 we present simulation results.
4.1 Simplified model for control design
As discussed in Chapter 3, while the control inputs of the helicopter model in Section 2.6
are the engine torques (τ ot , τob ) and the moving mass actuator force F o
A = col(F oAx, F o
Ay), in
reality the moving mass actuator accepts reference positions as inputs. For this reason,
here as in Chapter 3 we will take rooc = col(roocx , roocy
) in place of F oA as control input.
In order to do that, we need to neglect the actuator dynamics and the effect that their
associated reaction forces generate on the helicopter dynamics. Accordingly, our control
design in this chapter will rely on a number of assumptions, listed next.
Modeling assumptions.
(i) The rest position of the moving mass is close to the COG of the helicopter, so that
43
Chapter 4. Position Control Design 44
roos ≈ 0.
(ii) The displacement and velocity of the helicopter’s COG, rooc and ˙rooc, and the actuator
force F oA are small enough that
F oA
M −m≈ 0, µ(rooc, ˙r
ooc, ω
o, ωo) ≈ 0, F oAxroocy − F o
Ayroocx ≈ 0.
(iii) The displacement of the moving mass from its rest position has a negligible effect
on the inertia matrix Ioc of the helicopter, so that Ioc ≈ 0.
(iv) The total gyroscopic effect due to the two rotors can be neglected, i.e., [(Ωotz +
Ωobz)Lor]ω
o ≈ 0.
(v) The diagonal components of the inertia matrix of the rotors are much smaller than
the components of the helicopter inertia matrix Ioc and of its total mass M , so that
the rotor dynamics can be ignored.
Assumptions (i) and (v) are reasonable in that they are satisfied in the physical imple-
mentation of the helicopter. Assumption (v), in particular, is standard and is commonly
found in the literature (e.g., [13]). Assumption (iv) is motivated by the fact that the
rotor speeds Ωotz and Ωobz have opposite sign and their sum is approximately zero near
hovering conditions. Assumption (ii), on the other hand, is somewhat problematic be-
cause it places a constraint on the control input rooc, on its time derivative ˙rooc, and on
the actuator force F oA. In truth this assumption is debatable, but it is made to render
the control problem treatable. Later on in this chapter we will verify through simulation
that the terms we are neglecting in this assumption do not affect the stability of the
closed-loop system. A similar consideration holds for assumption (iii). Concerning this
latter assumption, one has that the conditions rooc ≈ 0 and ˙rooc ≈ 0 imply Ioc ≈ 0, so
assumption (iii) is implied by assumption (ii).
Chapter 4. Position Control Design 45
The main consequence of the assumptions above is that we can neglect the rotor and
actuator dynamics. In particular, recall the rotor dynamics
IrzzΩotz= τ ot − b(Ωotz )
2
IrzzΩobz= −
(
τ ob − b(Ωobz)2)
.
We will set
τ ot = b(Ωotz)2 −K(Ωotz − Ωotz(χ)), τ ob = b(Ωobz)
2 +K(Ωobz − Ωobz(χ)), (4.1)
where K > 0 is a design parameter, and Ωotz(χ), Ωobz(χ)) are functions to be assigned. In
light of the assumption that Irzz ≪ 1, we can use a singular perturbation argument and
assume that Ωotz = Ωobz = 0, so that Ωotz = Ωotz , Ωobz= Ωobz , and therefore,
τ ot = b(Ωotz )2, τ ob = b(Ωobz)
2. (4.2)
In light of the above, the rotor velocities Ωotz and Ωobz can be assumed to be control inputs
in place of τ ot , τob . We stress, once again, that once feedbacks Ωotz(χ), Ω
obz(χ) have been
determined, the actual torque control inputs are given by (4.1).
In light of assumptions (i)-(v) and identity (4.2), the helicopter model becomes
riio =
−Γ[(Ωotz )
2+(Ωobz
)2]
M(sφsψ + cφcψsθ)
Γ[(Ωotz )2+(Ωo
bz)2]
M(sφcψ − cφsψsθ)
g −Γ[(Ωotz )
2+(Ωobz
)2]
Mcφcθ
(4.3)
Θ = Y −1(Θ)ωo
Ioc ωo + ωo × Iocω
o =
Γ[(Ωotz)2 + (Ωobz)
2]roocy
−Γ[(Ωotz )2 + (Ωobz)
2]roocx
b(−(Ωotz )2 + (Ωobz)
2)
,(4.4)
where
Y −1(Θ) =
1 sφtθ cφtθ
0 cφ −sφ
0 sφ/cθ cφ/cθ
.
Chapter 4. Position Control Design 46
The control inputs in the above model are (Ωotz ,Ωobz, roocx , r
oocy
). In what follows, we will
denote χ := (riio, riio,Θ, ω
o).
4.2 Position control design
In this section we design a feedback stabilizing a desired position r⋆io and a desired yaw
angle ψ⋆. Here, as in Chapter 3, we will assume that the full state of the helicopter is
available for feedback. In practice, estimating the displacement riio and the Euler angles
in Θ is far from trivial. One way to perform this estimation is to employ feedback from
stationary cameras, but we will not dwell on this subject in this thesis.
Referring to the simplified helicopter model in equations (4.3)-(4.4), setting the right-
hand side of these equations to zero we obtain that, at equilibrium, riio = 0, φ = θ = 0,
ωo = 0, rooc = 0. Letting Θ⋆ = col(0, 0, ψ⋆) and χ⋆ = (r⋆io, 0,Θ⋆, 0), the equilibrium we
wish to stabilize is χ = χ⋆. Our control strategy has three steps:
Step 1: We begin by considering the translational subsystem (4.3); viewing the Euler
angles (φ, θ) and the total thrust, Γ[(Ωotz)2 + (Ωobz)
2], as control inputs, and as-
suming that the yaw angle is equal to its desired value, ψ = ψ⋆, we design feed-
backs φ(χ), θ(χ) that asymptotically stabilize the equilibrium (riio, riio) = (r⋆io, 0)
for (4.3).
Step 2: Next, we focus on the rotational subsystem (4.4), and design feedbacks Ωotz(χ),
Ωobz(χ), roocx
(χ), roocy(χ) that stabilize the set
S = χ : Θ = Θ(χ) := (φ(χ), θ(χ), ψ⋆), ωo = Y (Θ(χ))˙Θ(χ),
where˙Θ(χ) is the derivative of Θ(χ) along the vector field (4.3)-(4.4).
Step 3: Using the reduction principles for asymptotic stability found in [17], we show
that χ⋆ is asymptotically stable for the closed-loop system.
Chapter 4. Position Control Design 47
Helicopterχ
Attitude Controller
Step 1
Set stabilizer
Step 2
Mov. mass act.
Engines
(r⋆io, ψ⋆)
Θ(χ)
ωo(χ)
roc(χ)
Ωot,b(χ)
F oA
τot,b
Figure 4.1: Block diagram of proposed position controller.
A controller block diagram showing conceptual dependencies among the various control
design steps is shown in Figure 4.1.
4.2.1 Step 1: design for translational subsystem
Consider system (4.3) with ψ = ψ⋆,
riio =
−Γ[(Ωotz )
2+(Ωobz
)2]
M(sφsψ⋆ + cφcψ⋆sθ)
Γ[(Ωotz )2+(Ωo
bz)2]
M(sφcψ⋆ − cφsψ⋆sθ)
g −Γ[(Ωotz )
2+(Ωobz
)2]
Mcφcθ
(4.5)
Viewing the angles (φ, θ), together with the total thrust Γ[(Ωotz)2 + (Ωobz)
2], as control
inputs, we now design a bounded feedback that globally asymptotically stabilizes the
equilibrium (r⋆io, 0). To this end, we employ a result by A. Teel concerning the global
stabilization of chains of integrators with bounded controls [19] (see also [15]). We impose
−Γ[(Ωotz )
2+(Ωobz
)2]
M(sφsψ⋆ + cφcψ⋆sθ)
Γ[(Ωotz )2+(Ωo
bz)2]
M(sφcψ⋆ − cφsψ⋆sθ)
g −Γ[(Ωotz )
2+(Ωobz
)2]
Mcφcθ
= −σ2(K2riio+σ1(K1(r
iio−r
⋆io)+(K1/K2)r
iio)), (4.6)
where K1, K2 > 0 are two design parameters, and σ1, σ2 : R3 → R
3 are smooth saturation
functions satisfying
(i) (∀x ∈ R3) σi(x) = col(σi1(x1), σi2(x2), σi3(x3)), i = 1, 2.
(ii) For i = 1, 2, j = 1, 2, 3, sσij(s) > 0 whenever s 6= 0.
Chapter 4. Position Control Design 48
(iii) For i = 1, 2, j = 1, 2, 3, σ′ij(0) 6= 0.
(iv) For i = 1, 2, j = 1, 2, 3, |σij(s)| ≤ Mij for all s ∈ R, with M1j < M2j/2, and
M23 < g.
Theorem 2.1 in [19] (see also [15]) guarantees that for all K1, K2 > 0 the equilibrium
(r⋆io, 0) is globally asymptotically stable for system (4.5) with the bounded control law
in (4.6). The control law (4.6) guarantees that the total thrust requested to the helicopter
never exceeds a desired bound. Moreover, the fact that |σ23(s)| < g for all s ∈ R ensures
that the helicopter does not have a vertical downward acceleration of g, which corresponds
to free fall. A class of functions satisfying properties (i)-(iv) above is
σij(s) =Mij tanh(nijs), nij > 0.
Denoting
ρ(χ) := ge3 + σ2(K2riio + σ1(K1(r
iio − r⋆io) + (K1/K2)r
iio)), (4.7)
we may rewrite (4.6) as
Γ[(Ωotz)2 + (Ωobz)
2]
M
(sφsψ⋆ + cφcψ⋆sθ)
−(sφcψ⋆ − cφsψ⋆sθ)
cφcθ
= ρ(χ).
Using the fact that the vector on the left-hand side of the above equation has unit norm,
we get
(Ωotz)2 + (Ωobz)
2 =M
Γ‖ρ(χ)‖ . (4.8)
This requirement on (Ωotz)2 + (Ωobz)
2 will be met in the next section by our choice of
feedbacks Ωotz(χ), Ωobz(χ).
The property that |σ23| < g guarantees that ‖ρ(χ)‖ > 0. Now note that
sφ =[
sψ⋆ − cψ⋆ 0] ρ(χ)
‖ρ(χ)‖, tθ =
[
cψ⋆ sψ⋆ 0]
ρ(χ)
e⊤3 ρ(χ).
Chapter 4. Position Control Design 49
Solving for φ and θ, we obtain the desired feedbacks φ(χ), θ(χ),
φ(χ) = arcsin
(
[
sψ⋆ − cψ⋆ 0] ρ(χ)
‖ρ(χ)‖
)
θ(χ) = arctan
(
[
cψ⋆ sψ⋆ 0]
ρ(χ)
e⊤3 ρ(χ)
)
,
(4.9)
As mentioned earlier, the property that |σ23(·)| < g guarantees that ‖ρ(x)‖ > 0, and
that the expressions above are everywhere well-defined. In particular, we remark that[
sψ − cψ⋆ 0]
ρ(χ)/‖ρ(χ)‖ = ±1 if and only if the vectors[
sψ⋆ − cψ⋆ 0]
and ρ(χ) are
aligned, which is not the case because the third component of the vector ρ(χ) is bounded
away from zero. Therefore, the image of the function φ(χ) is contained in a closed subset
of the interval (−π/2, π/2) which can be made as small as it is desired. Analogously,
since e⊤3 ρ(χ) > 0, the image of the function θ(χ) is contained in a closed subset of the
interval (−π/2, π/2).
Now let Θ(χ) := col(φ(χ), θ(χ), ψ⋆). Using (4.8) and (4.9), the translational dynamics
in (4.3) can be rewritten as
riio = −σ2(K2riio + σ1(K1(r
iio − r⋆io) + (K1/K2)r
iio)) + ‖ρ(χ)‖δ(Θ, Θ(χ)), (4.10)
where δ(·) is a perturbation term arising from the discrepancy between Θ and Θ(χ), and
it has the properties: δ(Θ, Θ) = 0 and ‖δ(Θ, Θ(χ))‖ ≤ 2 for all χ. Note that if we had
that δ(·) = 0, the equilibrium (r⋆io, 0) would be globally asymptotically stable for (4.10).
Define the set
S =
χ : Θ = Θ(χ), ωo = Y (Θ(χ))˙Θ(χ)
, (4.11)
where˙Θ(χ) is calculated along the vector field of the translational subsystem (4.3) using
identity (4.8). The function˙Θ(χ) depends on the states riio, r
iio, and Θ, but not on ωo.
Since δ(Θ, Θ) = 0 on S, it follows that the equilibrium χ⋆ is globally asymptotically
stable relative to S. In other words, χ⋆ is globally asymptotically stable when initial
conditions are restricted to lie in S. Next, we will asymptotically stabilize S.
Chapter 4. Position Control Design 50
4.2.2 Step 2: design for rotational subsystem
Consider the rotational subsystem
Θ = Y −1(Θ)ωo
Ioc ωo + ωo × Iocω
o =
Γ[(Ωotz)2 + (Ωobz)
2]roocy
−Γ[(Ωotz )2 + (Ωobz)
2]roocx
b(−(Ωotz )2 + (Ωobz)
2)
.
In this section we design feedbacks Ωotz(χ), Ωobz(χ), roocx(χ), r
oocy
(χ) for the system above
that asymptotically stabilize1 the set S in (4.11). To this end, denote
τ :=
Γ[(Ωotz)2 + (Ωobz)
2]roocy
−Γ[(Ωotz)2 + (Ωobz)
2]roocx
b(−(Ωotz )2 + (Ωobz)
2)
,
ωo(χ) := Y (Θ)˙Θ(χ).
(4.12)
and define the Lyapunov function candidate
V (χ) =1
2K3(Θ− Θ(χ))⊤(Θ− Θ(χ)) +
1
2(ωo − ωo(χ))⊤Ioc (ω
o − ωo(χ)),
where K3 > 0 is a design constant. Note that the zero level set of V is precisely the set
S we wish to stabilize. The time derivative of V along the vector field of the system is
V = K3(Θ− Θ(χ))⊤Y −1(Θ)(ωo − ωo(χ)) + (ωo − ωo(χ))⊤(Ioc ωo − Ioc
˙ωo(χ)).
In the above, ˙ωo(χ) is the derivative of ωo(χ) along the vector field (4.3)-(4.4). More
specifically, we have
˙ωo(χ) = Y (Θ)˙Θ(χ) + Y (Θ)
¨Θ(χ).
In computing the time derivatives Y (Θ),˙Θ(χ), and
¨Θ(χ), we use the identity (4.8) to
express the sum (Ωotz)2 + (Ωobz)
2. The matrix Y (Θ) depends on the states Θ and ωo, but
1The notion of asymptotic stability of the set S is defined as follows. For all ǫ > 0, there exists aneighborhood N of S such that for all χ(0) ∈ N , the solutions χ(t) are such that ‖χ(t)‖S < ǫ for allt ≥ 0. Moreover, N can be chosen such that for all χ(0) ∈ N , ‖χ(t)‖S → 0 as t → ∞. In the above,‖p‖S denotes the point-to-set distance of a point p to S.
Chapter 4. Position Control Design 51
not on ωo. Similarly, since as pointed out earlier the function˙Θ(χ) depends on the states
riio, riio, and Θ, but not on ωo, its derivative
¨Θ(χ) does not depend on ωo. In conclusion,
˙ωo(χ) does not depend on ωo, and it does not depend on τ either.
Returning to the expression for V , collecting the term (ωo − ωo(χ)) and using (4.4)
to express Ioc ωo, we obtain
V = (ωo − ωo(χ))⊤(
K3Y−⊤(Θ)(Θ− Θ(χ))− ωo × Iocω
o − Ioc˙ωo(χ) + τ
)
= (ωo − ωo(χ))⊤(
K3Y−⊤(Θ)(Θ− Θ(χ))− (ωo − ωo(χ))× Iocω
o − ωo(χ)× Iocωo
−Ioc ˙ωo(χ) + τ
)
= (ωo − ωo(χ))⊤(
K3Y−⊤(Θ)(Θ− Θ(χ))− ωo(χ)× Iocω
o − Ioc˙ωo(χ) + τ
)
.
Now choose
τ(χ) = Ioc˙ωo(χ) + ωo(χ)× Iocω
o −K3Y−⊤(Θ)(Θ− Θ(χ))−K4(ω
o − ωo(χ)), (4.13)
so that
V = −K4‖ωo − ωo(χ)‖2.
Note that since, as we argued earlier, ˙ωo(χ) is independent of τ , the definition of τ above
is not circular. By solving (4.12) with τ as in (4.13) and (Ωotz)2 + (Ωobz)
2 as in (4.8) we
get
rocx(χ) = −τ2(χ)
M‖ρ(χ)‖, rocy(χ) =
τ1(χ)
M‖ρ(χ)‖, (4.14)
and
(Ωotz)2 − (Ωobz)
2 = −τ3(χ)
b.
This equation together with (4.8) gives
Ωotz(χ) =
√
1
2
(
M
Γ‖ρ(χ)‖ −
τ3(χ)
b
)
, Ωobz(χ) = −
√
1
2
(
M
Γ‖ρ(χ)‖+
τ3(χ)
b
)
. (4.15)
Proposition 1. Consider the simplified helicopter model in (4.3)-(4.4) with feedbacks
roocx(χ), roocy
(χ), Ωotz(χ), Ωobz(χ) as in (4.14), (4.15), where ρ(χ) and τ(χ) are defined
in (4.7), (4.13), respectively, with K1, . . . , K4 > 0. Then, the set S in (4.11) is asymp-
totically stable for the closed-loop system.
Chapter 4. Position Control Design 52
Proof. We begin by showing that all solutions originating in a neighborhood of S are
bounded. Since V ≤ 0, the sublevel sets of V are positively invariant. On any such
sublevel set, ‖Θ(t) − Θ(χ(t))‖ and ‖ωo(t) − ωo(χ(t))‖ are bounded. The image of the
function Θ is (−π/2, π/2)× (−π/2, π/2)× ψ⋆, a bounded set, so the boundedness of
‖Θ(t)−Θ(χ(t))‖ implies that Θ(t) is bounded. Recall that the rotational subsystem (4.4)
has a singularities at θ = ±π/2. Since the sublevel sets of V are positively invariant
and since, when χ ∈ S = χ : V (χ) = 0, Θ = (φ, θ, ψ) = (φ(χ), θ(χ), ψ⋆) with
θ(χ) ∈ (−π/2, π/2), it follows that there exists a sufficiently small c > 0, such that
for all χ ∈ χ : V (χ) ≤ c, θ ∈ (−π/2, π/2), so that the singularities are avoided on
the set χ : V (χ) ≤ c. Next, consider the translational subsystem in (4.10). Using
arguments similar to those found in the proof of Lemma 9.2 in [8], one can show that
there exists N > 0 such that if ‖ρ(χ)‖‖δ(Θ, Θ)‖ < N , then all solutions (riio(t), riio(t))
of (4.10) are bounded. Since the term ‖ρ(χ)‖‖δ(Θ, Θ(χ))‖ is bounded from above by
2(g + ‖ col(M21,M22,M23)‖), and it is zero on S = χ : V (χ) = 0, we have that for
all ǫ > 0 there exists c > 0 such that V (χ) ≤ c implies ‖ρ(χ)‖‖δ(Θ, Θ(χ))‖ ≤ ǫ. In
other words, the bound on ‖ρ(χ)‖‖δ(Θ, Θ(χ))‖ can be made arbitrarily small by picking
sufficiently small level sets of V , and it is uniform over each such level set. In particular,
by making if necessary c smaller we may assume that ‖ρ(χ)‖‖δ(Θ, Θ(χ))‖ < N for all
χ ∈ χ : V (χ) ≤ c. Therefore, all solutions such that χ(0) ∈ χ : V (χ) ≤ c are
such that Θ(t), riio(t), and riio(t) are bounded. Moreover, since ωo(χ) = Y (Θ)˙Θ(χ) is a
smooth function of riio, riio, and Θ, the boundedness of ‖ωo(t) − ωo(χ(t))‖ implies that
ωo(t) is bounded. This proves that all solutions χ(t) such that χ(0) ∈ χ : V (χ) ≤ c
are bounded and such that θ(t) ∈ (−π/2, π/2).
Now we apply the LaSalle invariance principle. Assume that V (t) ≡ 0, or ωo(t) ≡
ωo(χ(t)), which implies that ωo(t)− ˙ωo(χ(t)) ≡ 0. Using the fact that Ioc ωo+ωo×Iocω
o = τ ,
and using the expression for τ in (4.13) we have
−Ioc ˙ωo(χ)−ωo×Iocω
o+Ioc˙ωo(χ)+ωo(χ)×Iocω
o−K3Y−⊤(Θ)(Θ−Θ(χ))−K4(ω
o−ωo(χ)) = 0,
Chapter 4. Position Control Design 53
where for convenience we have dropped the time dependence of various signals. Simpli-
fying and collecting terms, and using the fact that ωo(t)− ωo(χ(t)) ≡ 0, we get
K3Y−⊤(Θ(t))(Θ(t)− Θ(χ(t))) ≡ 0,
which implies that Θ(t) ≡ Θ(χ(t)). We have thus proved that that maximal invariant
subset of the set χ : ωo = ωo(χ) is contained in S, and thus by the LaSalle invariance
principle it follows that S is asymptotically stable, and the set χ : V (χ) ≤ c is contained
in its domain of attraction.
4.2.3 Step 3: Asymptotic stability of χ⋆
In the previous sections, we have designed the control law
rocx(χ) = −τ2(χ)
M‖ρ(χ)‖
rocy(χ) =τ1(χ)
M‖ρ(χ)‖
Ωotz(χ) =
√
1
2
(
M
Γ‖ρ(χ)‖ −
τ3(χ)
b
)
Ωobz(χ) = −
√
1
2
(
M
Γ‖ρ(χ)‖+
τ3(χ)
b
)
(4.16)
where
τ(χ) = Ioc˙ωo(χ) + ωo(χ)× Iocω
o −K3Y−⊤(Θ)(Θ− Θ(χ))−K4(ω
o − ωo(χ))
Θ(χ) =
arcsin(
[
sψ⋆ − cψ⋆ 0]
ρ(χ)‖ρ(χ)‖
)
arctan
([
cψ⋆ sψ⋆ 0]
ρ(χ)
e⊤3ρ(χ)
)
ψ⋆
ωo(χ) = Y (Θ)˙Θ(χ)
ρ(χ) = ge3 + σ2(K2riio + σ1(K1(r
iio − r⋆io) + (K1/K2)r
iio)).
Above, K1, . . . , K4 > 0 are design parameters, and σ1, σ2 : R3 → R3 are smooth satur-
ation functions whose components satisfy |σij | ≤ Mij with M1j < M2j/2 and M23 < g.
Chapter 4. Position Control Design 54
Moreover, the time derivatives˙Θ(χ) and ωo(χ) are computed along the vector field of
the closed-loop system formed by system (4.3)-(4.4) with control law (4.16).
In Proposition 1, we proved that the control law (4.16) asymptotically stabilizes the
set S in (4.11) for the simplified helicopter model in (4.3)-(4.4). Moreover, in Section 4.2.1
we have seen that the desired equilibrium χ⋆ is globally asymptotically stable relative to
S. In this section we use a corollary of Seibert-Florio’s reduction principle for asymptotic
stability of compact sets to show that χ⋆ is asymptotically stable for the closed-loop
system.
Proposition 2. Consider a dynamical system Σ : x = f(x), with state space X ⊆ Rn
and locally Lipschitz vector field f : X → Rn. Let S1 ⊂ S2 be two subsets of X that are
positively invariant for Σ, and assume that S1 is a compact set. If S1 is asymptotically
stable relative to S2, and S2 is asymptotically stable, then S1 is asymptotically stable for
Σ.
Proposition 2 follows from Theorem 3.4, Theorem 4.13, and Corollary 4.11 in [17].
Setting S1 = χ⋆, and S2 = S, and applying Proposition 2 to the simplified helicopter
model with control law (4.16), we get the following.
Corollary 1. The control law (4.16) asymptotically stabilizes the equilibrium χ⋆ =
(r⋆io, 0,Θ⋆, 0) for the simplified helicopter model in (4.3)-(4.4).
Proof. Since χ⋆ is asymptotically stable relative to S, and since S is a closed set which
is positively invariant for the closed-loop system, it follows that the limit of solutions on
S is in S, and therefore χ⋆ ∈ S. Now apply Proposition 2 to get the required result.
As a final remark, we recall that the physical control inputs in the helicopter engines
are the torques τ ot , τob . In practice, the feedbacks Ωotz(χ), Ω
obz(χ) are used in the torque
controller as follows,
τ ot = b(Ωotz)2 −K(Ωotz − Ωotz), τ ob = b(Ωobz)
2 −K(Ωobz − Ωobz), (4.17)
where K > 0 is a sufficiently large gain.
Chapter 4. Position Control Design 55
4.3 Simulation Results
In this section we present simulation results for the controller (4.16). The controller
parameters used throughout our simulations are found in Table 4.1. We perform three
Parameter Value Parameter Value
M11 1 M21 3
M12 1 M22 3
M13 1 M23 3
n11 1 n21 1
n12 1 n22 1
n13 1 n23 1
K1 1 K2 1
K3 2 K4 2
Table 4.1: Controller parameters.
State Desired Value Unit
riiox −20 cm
riioy −30 cm
riioz −50 cm
ψ 0.2 rad
Table 4.2: Reference position and yaw angle.
tests.
Test 1: Simulation using simplified helicopter model. Using the simplified
helicopter model in (4.3) and (4.4), and the plant parameters given in Table 3.2 of
Chapter 3, we initialize the helicopter at the origin (rest) and stabilize the reference pos-
ition and yaw angle given in Table 4.2. Figures 4.2 to 4.5 show the simulation results for
Chapter 4. Position Control Design 56
this test. The simulations confirm the asymptotic stability of the equilibrium predicted
by Corollary 1.
0 5 10 15
−0.5
−0.4
−0.3
−0.2
−0.1
0
0.1
Seconds
Met
ers
xyz
Figure 4.2: Test 1: components of the helicopter displacement vector riio.
Test 2: Simulation using simplified helicopter model and perturbed plant
parameters. Now, we perturb the plant parameters used by the controller as in Table 4.3.
The helicopter is initially at rest, and it is stabilized to the same setpoint as before. The
results are given in Figures 4.6 to 4.9. As seen in Figure 4.6, the parameter perturba-
tions cause a steady-state error in the vertical position of the helicopter, due to the fact
that the controller does not have the correct mass of the helicopter. This problem can
of course be corrected using integral action. Otherwise, the controller displays a good
performance in spite of the imperfect knowledge of the plant parameters.
Chapter 4. Position Control Design 57
0 5 10 15−0.05
0
0.05
0.1
0.15
0.2
Seconds
Rad
ians
RollPitchYaw
Figure 4.3: Test 1: Euler angles Θ.
Test 3: Now we test the controller on the full helicopter model presented in Sec-
tion 2.6 of Chapter 2, without parameter perturbations. The rotors torques needed by
the model are found using (4.17), with K = 5. In order to simulate the moving mass
actuator, we estimated the velocity and acceleration of the COG of the helicopter using
a first and second order derivative filters, respectively. The velocity and acceleration of
the COG of the helicopter are saturated according to the moving mass actuator of the
physical prototype. The derivative of the inertia, matrix Ioc , is computed analytically as
a function of (rooc, rooc) (see Appendix A for more details). As before, the helicopter is
initialized at the origin and it is stabilized to the reference position and yaw angle given
in Table 4.2. The results are given in Figures 4.10 to 4.14. These simulations illustrate
that the controller (4.16), designed based on a simplified model, performs equally well
on the full mathematical model of the helicopter.
Chapter 4. Position Control Design 58
0 5 10 15124
125
126
127
128
129
130
131
132
133
134
Seconds
Rad
ians
/Sec
onds
Magnitude of the input angular velocity of the top rotorMagnitude of the input angular velocity of bottom rotor
Figure 4.4: Test 1: angular speeds of the rotors.
0 5 10 15−2
−1
0
1
2x 10
−4
Seconds
Met
ers
Position of the COG w.r.t. the body frame in x directionPosition of the COG w.r.t. the body frame in y direction
Figure 4.5: Test 1: position of the COG of the helicopter with respect to the origin of
the body frame, roocx and roocy .
Chapter 4. Position Control Design 59
Parameter Actual Value Perturbed Value Unit
M 1.5306 1.4306 Kg
m 0.5 0.65 Kg
Iocxx 33× 10−4 20× 10−4 Kg.m2
Iocxy −7 × 10−6 −5× 10−6 Kg.m2
Iocxz 1× 10−5 15× 10−6 Kg.m2
Iocyy 34× 10−4 44× 10−4 Kg.m2
Iocyz 7× 10−6 9× 10−6 Kg.m2
Ioczz 183× 10−5 283× 10−5 Kg.m2
Irxx 2× 10−5 1× 10−5 Kg.m2
Iryy 2× 10−5 15× 10−6 Kg.m2
Iczz 4× 10−5 5× 10−5 Kg.m2
Table 4.3: Actual plant parameters versus parameters used in the controller for test 2.
0 5 10 15
−0.5
−0.4
−0.3
−0.2
−0.1
0
0.1
Seconds
Met
ers
xyz
Figure 4.6: Test 2: components of the helicopter displacement vector riio.
Chapter 4. Position Control Design 60
0 5 10 15−0.05
0
0.05
0.1
0.15
0.2
Seconds
Rad
ians
RollPitchYaw
Figure 4.7: Test 2: Euler angles Θ.
0 5 10 15124
125
126
127
128
129
130
Seconds
Rad
ians
/Sec
onds
Magnitude of the input angular velocity of the top rotorMagnitude of the input angular velocity of bottom rotor
Figure 4.8: Test 2: angular speeds of the rotors.
Chapter 4. Position Control Design 61
0 5 10 15−2
−1
0
1
2x 10
−4
Seconds
Met
ers
Position of the COG w.r.t. the body frame in x directionPosition of the COG w.r.t. the body frame in y direction
Figure 4.9: Test 2: position of the COG of the helicopter with respect to the origin of
the body frame, roocx and roocy .
0 5 10 15
−0.5
−0.4
−0.3
−0.2
−0.1
0
0.1
Seconds
Met
ers
xyz
Figure 4.10: Test 3: components of the helicopter displacement vector riio.
Chapter 4. Position Control Design 62
0 5 10 15−0.05
0
0.05
0.1
0.15
0.2
Seconds
Rad
ians
RollPitchYaw
Figure 4.11: Test 3: Euler angles Θ.
0 5 10 15124
125
126
127
128
129
130
131
132
133
134
Seconds
Rad
ians
/Sec
onds
Magnitude of the input angular velocity of the top rotorMagnitude of the input angular velocity of bottom rotor
Figure 4.12: Test 3: angular speeds of the rotors.
Chapter 4. Position Control Design 63
0 5 10 156
7
8
9
10
11
12
13
14
15
16
Seconds
New
ton
met
er
Magnitude of the input torque for the top rotorMagnitude of the input torque for the bottom rotor
Figure 4.13: Test 3: rotor torques.
0 5 10 15−2
−1
0
1
2x 10
−4
Seconds
Met
ers
Position of the COG w.r.t. the body frame in x directionPosition of the COG w.r.t. the body frame in y direction
Figure 4.14: Test 3: position of the COG of the helicopter with respect to the origin of
the body frame, roocx and roocy .
Chapter 5
Conclusion
This thesis presented a detailed mathematical model of a coaxial helicopter whose steer-
ing method is based on displacing the center of gravity. The model accounts for the
reaction forces induced by the moving mass actuator and by the rotor engines. A num-
ber of physical prototypes were developed. Although the latest prototype does not fly, our
preliminary experiments gave us a strong indication that the proposed principle of oper-
ation is viable, and it allowed us to develop a good understanding of the main challenges
one needs to overcome in realizing a moving mass actuator.
On the theoretical side, this thesis presented a rigorous derivation of a position con-
troller which works under the assumption that the full state of the helicopter is available
for feedback. This is obviously not the case in practice, but standard estimation schemes
can be employed to estimate the full state when feedback from stationary cameras is
available.
Future Work
This thesis leaves open a number of theoretical and applied problems. On the experi-
mental side, a new moving mass actuator should be implemented which overcomes the
limitations of the existing prototype described in Chapter 3, and illustrated in Figure 3.2.
64
Chapter 5. Conclusion 65
Based on the experience accumulated in this thesis, we believe that with this actuator
the basic attitude controller presented in Chapter 3 should allow the helicopter to hover.
On the theoretical side, the problem of estimating the helicopter state using only
measurements provided by the inertial measurement unit (which comprises acceleromet-
ers, magnetometers, and rate gyroscopes) remains open and deserves investigation. The
nonlinear controller presented in this thesis performs position control. The next step is
to design a controller allowing the helicopter to follow paths in three-space specified by
the user.
Appendix A
Derivative of the Inertia Tensor
The inertia derivative needs to be estimated for simulation purposes. The approach to
find the estimation of Ioc is explained in the following paragraphs.
Ioc =
Iocxx Iocxy Iocxz
Iocyx Iocyy Iocyz
Ioczx Ioczy Ioczz
,
for each component of the inertia tensor,
Iocxx Iocxy Iocxz
Iocyx Iocyy Iocyz
Ioczx Ioczy Ioczz
≈
d(∑Ni=1
mi(y2i+z2
i ))
dt
d(−∑Ni=1
mixiyi)
dt
d(−∑Ni=1
mixizi)
dt
d(−∑Ni=1
mixiyi)
dt
d(∑Ni=1
mi(x2
i+z2
i ))
dt
d(−∑Ni=1
miyizi)
dt
d(−∑Ni=1
mixizi)
dt
d(−∑Ni=1
miyizi)
dt
d(∑Ni=1
mi(x2
i+y2
i ))
dt
.
Only the moving mass (steering mass) is displaced significantly from the COG of the
body and every other part of the helicopter is not displaced significantly from the COG
of the body, i.e. rooc ≈ 0 at all times. The mass of the moving mass is noted by m,
Iocxx Iocxy Iocxz
Iocyx Iocyy Iocyz
Ioczx Ioczy Ioczz
≈
d(m[(
rocfy
)
2
+(rocfz)2
)])
dt
d(−mrocfx
rocfy
)
dt
d(−mrocfx
rocfz
)
dt
d(−mrocfx
rocfy
)
dt
d(m[(rocfx)2
+(rocfz)2
)])
dt
d(−mrocfy
rocfz
)
dt
d(−mrocfx
rocfz
)
dt
d(−mrocfy
rocfz
)
dt
d(m[(rocfx)2
+(
rocfy
)
2
])
dt
,
66
Appendix A. Derivative of the Inertia Tensor 67
using the identities rocf =M−mm
rooc+ roos and r
oocz
= 0, and knowing that roosz is a constant:
Iocxx Iocxy Iocxz
Iocyx Iocyy Iocyz
Ioczx Ioczy Ioczz
≈
d(m([M−mm
]roocy+roosy)
2
)
dt
d(−m[(M−mm
)roocx+roosx
][(M−mm
)roocy+roosy
])
dt
d(−m[(M−mm
)roocx+roosx
]roosz )
dt
Iocxyd(m([M−m
m]roocx+r
oosx)
2
)
dt
d(−m[(M−mm
)roocy+roosx
]roosz )
dt
Iocxz Iocyzd(m[([M−m
m]roocx+r
oosx)
2
+([M−mm
]roocy+roosy)
2
])
dt
.
Placing the moving mass at the COG of the helicopter such that roosz = 0 simplifies the
equations above (along with reducing the inertia and increasing the manoeuvrability).
Let α = M −m, without making any assumptions about the moving mass location and
using chain rule,
Iocxx Iocxy Iocxz
Iocyx Iocyy Iocyz
Ioczx Ioczy Ioczz
≈
2α2
m(roocy +
mroosyα
)roocy (∗) −αroocxroosz
(∗) 2α2
m[roocx +
mroosxα
]roocx −αroocyroosz
−αroocxroosz
−αroocyroosz
2α2
m
(
[roocx +mroosxα
]roocx + [roocy +mroosyα
]roocy
)
, (1)
where
(∗) =−α2
m
(
[roocx +mroosxα
]roocy + [roocy +mroosyα
]roocx
)
.
Bibliography
[1] A. Bogdanov, M. Carlsoon, G. Harvey, J. Hunt, D. Kieburtz, R. Merwe, and E. Wan.
State-dependent riccati equation control of a small unmanned helicopter. In AIAA
Guidance Navigation and Control Conference, pages 1–11, August 2003.
[2] S. Bouabdallah, R. Siegwar, and G. Caprari. Design and control of an indoor coaxial
helicopter. In IEEE/RSJ Itn. Conf. on Intelligent Robots and Systems, pages 1–6,
October 2006.
[3] C. Bremes, K. Sartori, D. Schafroth, S. Bouabdallah, and R. Siegwart. Control of a
coaxial helicopter with center of gravity steering. In Intl. Conf. on Simulation, Mod-
elling and Programming for Autonomous Robots, pages 492–500, November 2008.
[4] P. Castillo, R. Lozano, and A. Dzul. Stabilization of a mini rotorctaft with four
rotors. IEEE Control System Magazine, pages 45–55, December 2005.
[5] H. Goldstein, C.P. Poole, and J.L. Safko. Classical Mechanics. Addison Wesley,
third edition, 2001.
[6] A. Isidori, L. Marconi, and A. Serrani. Robust nonlinear motion control of a heli-
copter. IEEE Transactions on Automatic Control, 48(3):413–426, March 2003.
[7] S. M. Joshi, A. G. Kelkar, and J. T. Wen. Robust attitude stabilization of spacecraft
using nonlinear quaternion feedback. IEEE Transactions on Automatic Control,
40(10):1800–1803, October 1995.
68
BIBLIOGRAPHY 69
[8] H. K. Khalil. Nonlinear Systems. Prentice Hall, Upper Saddle River, New Jersey,
3rd edition, 2002.
[9] S. K. Kim and D. M. Tilbury. Mathematical modeling and experimental identific-
ation of an unmanned helicopter robot with flybar dynamics. Journal of Robotic
Systems, 21(3):95–116, 2004.
[10] J. G. Leishman. Principles of Helicopter Aerodynamics. Cambridge University Press,
New York, USA, 2006.
[11] F. Lizarralde and J. T. Wen. Attitude control without angular velocity measurment:
A passive approach. In IEEE Itn. Conf. on Robotics and Automation, pages 1–6,
1995.
[12] R. Mahony and T. Hamel. Adaptive compensation of aerodynamic effects during
takeoff and landing manoeuvres for a scale model autonomous helicopter. European
Journal of Control, 7(1):43–58, 2001.
[13] A. Mokhtari, A. Benallegue, and Y. Orlov. Exact linearization and sliding mode
observer for s quadrotor unmanned arial vehicle. International Journal of Robotics
and Automation, 21(1):39–49, 2006.
[14] R. W. Prouty. Helicopter Performance, Stability and Control. Krieger Publishing
Company, Melbourne, Australia, 1995.
[15] V.G. Rao and D.S. Bernstein. Naive control of the double integrator. IEEE Control
Systems Magazine, 21(5):86–97, 2001.
[16] P. Samuel, J. Sirohi, F. Bohorquez, and R. Couch. Design and testing of a rotary
wing MAV with an active structure for stability and control. In AHS 61st Annual
Forum, pages 1–11, June 2005.
BIBLIOGRAPHY 70
[17] P. Seibert and J. S. Florio. On the reduction to a subspace of stability properties of
systems in metric spaces. Annali di Matematica pura ed applicata, CLXIX:291–320,
1995.
[18] A. Tayebi and S. McGilvray. Attitude stabilization of a VTOL quadrotor aircraft.
IEEE Transactions on Control Systems Technology, 14(3):562–571, May 2006.
[19] A.R. Teel. Global stabilization and restricted tracking for multiple integrators with
bounded controls. Systems and Control Letters, 18:165–171, 1992.
[20] J. Ting, Y. Wen, and K. Delgado. Attitude control problem. IEEE Transactions on
Automatic Control, 36(10):1148–1162, October 1991.
[21] W. Wang, G. Song, K. Nonami, M. Hirata, and O. Miyazawa. Autonomous control
for micro-flying robot and small wireless helicopter X.R.B. In IEEE/RSJ Itn. Conf.
on Intelligent Robots and Systems, pages 1–6, October 2006.