Modeling and Controlof aCo-Axial Helicopter · 3.10 Control inputs of the attitude controller,...

79
Modeling and Control of a Co-Axial Helicopter by Farid Zare Seisan A thesis submitted in conformity with the requirements for the degree of Master of Applied Science Graduate Department of Electrical and Computer Engineering University of Toronto Copyright c 2012 by Farid Zare Seisan

Transcript of Modeling and Controlof aCo-Axial Helicopter · 3.10 Control inputs of the attitude controller,...

Page 1: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 2: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 3: Modeling and Controlof aCo-Axial Helicopter · 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,

Dedication

In loving memory of my father, Salman, and for my kind and loving mother, Sirosiyeh.

iii

Page 4: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 5: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 6: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 7: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 8: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 9: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 10: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 11: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 12: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 13: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 14: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 15: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 16: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 17: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 18: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 19: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 20: Modeling and Controlof aCo-Axial Helicopter · 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,

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θ

.

Page 21: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 22: Modeling and Controlof aCo-Axial Helicopter · 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,

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)

Page 23: Modeling and Controlof aCo-Axial Helicopter · 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,

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

=

Page 24: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 25: Modeling and Controlof aCo-Axial Helicopter · 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,

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-

Page 26: Modeling and Controlof aCo-Axial Helicopter · 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,

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)

Page 27: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 28: Modeling and Controlof aCo-Axial Helicopter · 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,

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).

Page 29: Modeling and Controlof aCo-Axial Helicopter · 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,

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

,

Page 30: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 31: Modeling and Controlof aCo-Axial Helicopter · 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,

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

,

Page 32: Modeling and Controlof aCo-Axial Helicopter · 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,

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)

Page 33: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 34: Modeling and Controlof aCo-Axial Helicopter · 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,

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)

Page 35: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 36: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 37: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 38: Modeling and Controlof aCo-Axial Helicopter · 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,

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.”

Page 39: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 40: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 41: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 42: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 43: Modeling and Controlof aCo-Axial Helicopter · 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,

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).

Page 44: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 45: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 46: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 47: Modeling and Controlof aCo-Axial Helicopter · 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,

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,

Page 48: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 49: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 50: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 51: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 52: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 53: Modeling and Controlof aCo-Axial Helicopter · 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,

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).

Page 54: Modeling and Controlof aCo-Axial Helicopter · 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,

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θ

.

Page 55: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 56: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 57: Modeling and Controlof aCo-Axial Helicopter · 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,

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 ρ(χ).

Page 58: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 59: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 60: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 61: Modeling and Controlof aCo-Axial Helicopter · 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,

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,

Page 62: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 63: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 64: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 65: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 66: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 67: Modeling and Controlof aCo-Axial Helicopter · 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,

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 .

Page 68: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 69: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 70: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 71: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 72: Modeling and Controlof aCo-Axial Helicopter · 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,

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 .

Page 73: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 74: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 75: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 76: Modeling and Controlof aCo-Axial Helicopter · 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,

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

)

.

Page 77: Modeling and Controlof aCo-Axial Helicopter · 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,

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

Page 78: Modeling and Controlof aCo-Axial Helicopter · 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,

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.

Page 79: Modeling and Controlof aCo-Axial Helicopter · 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,

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.