Bsc Sonnevend

51
azm´ any P´ eter Catho lic University Faculty of Information Technology Computer Engineering Analysis and model based control of a quadrotor helicopter by Ilona Sonnevend Supervisor: dr G´ ab or Sz ederenyi Budapest, 2010.

Transcript of Bsc Sonnevend

Page 1: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 1/51

Pazmany Peter Catholic University

Faculty of Information Technology

Computer Engineering

Analysis and model based control

of a quadrotor helicopter

by

Ilona Sonnevend

Supervisor: dr Gabor Szederkenyi

Budapest, 2010.

Page 2: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 2/51

Contents

Contents i

List of Symbols v

1 Introduction and motivations 1

1.1 Related works in the literature . . . . . . . . . . . . . . . . . . . . . 2

2 Controller design in continuous time 4

2.1 The applied model . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Simulink model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3 Angle stabilization using LQ-servo control technique . . . . . . . . . 9

2.3.1 Theoretical background . . . . . . . . . . . . . . . . . . . . . 10

2.3.2 Controller design and simulation results . . . . . . . . . . . 12

2.4 Height stabilization using LQ-servo control technique . . . . . . . . 15

2.4.1 Design of the controller and simulation results . . . . . . . . 152.5 Height stabilization using bounded LQR technique . . . . . . . . . 17

2.5.1 Theoretical background . . . . . . . . . . . . . . . . . . . . . 17

2.5.2 Design of the controller and simulation results . . . . . . . . 18

2.6 Height stabilization using non-linear feedback input-output lineari-

sation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.6.1 Theoretical background . . . . . . . . . . . . . . . . . . . . . 19

2.6.2 Design of the controller and simulation results . . . . . . . . 20

2.6.3 Comparison between the performances of the linear and non-

linear controller . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.7 Position stabilization using non-linear feedback control technique . . 222.7.1 Design of the controller and simulation results . . . . . . . . 22

3 Discrete time analysis and control 27

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.2 Theoretical background . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.3 Discretization of the angle controller . . . . . . . . . . . . . . . . . 30

3.3.1 Estimation of the sampling time . . . . . . . . . . . . . . . . 30

3.3.2 Simulation results . . . . . . . . . . . . . . . . . . . . . . . . 32

3.4 Discretization of the height controller in linear case . . . . . . . . . 34

Page 3: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 3/51

CONTENTS ii

3.4.1 Estimation of the sampling time . . . . . . . . . . . . . . . . 35

3.4.2 Simulation results . . . . . . . . . . . . . . . . . . . . . . . . 35

3.5 Discretization of the height controller in linear bounded case . . . . 35

3.6 Discretization of the height controller in the case of non-linear feedback 36

3.6.1 Simulation results . . . . . . . . . . . . . . . . . . . . . . . . 37

3.7 Discretization of the position controller in non-linear case . . . . . . 38

3.7.1 Simulation results . . . . . . . . . . . . . . . . . . . . . . . . 38

3.8 Robustness testing of the position controller under Gaussian noise . 39

4 Summary and Conclusions 41

4.1 Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Bibliography 42

List of Figures 44

Page 4: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 4/51

Tartalmi kivonat

A szakdolgozat temaja negyrotoros helikopter, vagy masneven quadrokopter mod-

ellezese, szabalyozasa es szimulacioja. A helikopter modelljet es a szabalyozokat

MATLAB kornyezetben implementaltam. A szakdolgozat folytonos es diszkret

idoben (halozati kommunikacios kornyezet feltetelezesevel) egyarant vizsgalja, hogy

milyen hatekonysaggal mukodnek a kulonbozo linearis es nemlinearis szabalyozasi

technikak.Szog-, magassag- es pozıcioszabalyozokat terveztem LQR, LQ-szervo, polus-

athelyezeses, nemlinearis input-output es feedback linearizacios szabalyozasi tech-

nikak felhasznalasaval. Ahol lehetseges, ott egyazon problema megoldasara tobb

szabalyozot is bemutatok, ıgy lehetoseg nyılik a szabalyozok teljesıtmeny alapu

osszehasonlıtasara is. Eloszor a folytonos ideju szabalyozok tervezeset ismertetem,

majd azt, hogy hogyan lehet olyan maximalis mintaveteli idot becsulni a szabalyozo

diszkretizalasahoz, amely mellett a szabalyozott rendszer stabilitasi tulajdonsagai

garantaltan nem romlanak. Ez a ma ismert legelesebb becslesi technika alapjan

tortent.A szakdolgozat linearis es nemlinearis szabalyozasi korok egyedi kombinaciojat

mutaja be a szog-, magassag, es pozıcioszabalyozashoz. Ugyanakkor bemutatja a

nemlinearis szabalyozasi technikak alkalmazasanak elonyeit es hatranyait. Vegul

pedig diszkret ideju, implementalasra kesz szabalyozokat ismertet, ahol a mintaveteli

ido hatarait elmeleti es szimulacios modszerekkel vizsgalja.

Page 5: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 5/51

Abstract

This thesis deals with the modelling, control and simulation of a helicopter with

four rotors, also referred as quadrocopter. Helicopter model and controllers are

built in MATLAB Simulink environment. The thesis also investigates the perfor-

mance of various linear and non-linear control strategies, both in continuous and

discrete time assuming a networked communication model.

Angle, height and position controllers are designed and presented using LQR,LQ-servo, pole placement, non-linear input-output feedback and feedback lineari-

sation techniques. Where it was possible, several controllers were developed for

the same task to compare the performance and effectiveness of the various control

strategies. Firstly, controllers are designed in continuous time, and then I try to

give an estimation for such a maximal sampling time that maintains the stabil-

ity properties of the original closed loop system. For the estimation, I used the

sharpest technique that is presently known.

This thesis introduces a new combination of linear and non-linear control loops

for angle-, height-, and position controlling. It shows also the benefits and deficitsof using non-linear techniques. Finally, it provides controllers in discrete time,

ready for implementation, where the limit of the sampling time was estimated on

a theoretical basis.

Page 6: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 6/51

List of Symbols

A propeller disk area [m2]

Ac fuselage area [m2]

b thrust factor [Ns2]

c propeller chord [m]

C propulsion group cost factor

d drag factor [N ms2]g acceleration due to gravity [kg m

s2]

h vertical distance: Propeller center to CoG [m]

H hub force [N]

I xx,yy,zz inertia moments [kgm2]

J r rotor inertia [kgm2]

l horizontal distance: propeller center to CoG [m]

m overall mass [kg]

n number of propellers

Q drag moment [Ns]R rotation matrix

Rm rolling moment [Ns]

T thrust force [N]

U control input vector

x, y, z position in body coordinate frame [m]

Φ pitch angle [rad]

ρ air density [ kg

m3 ]

Θ roll angle [rad]

Ψ yaw angle [rad]

Ω propeller angular rate [rads

]

Ωr overall residual propeller angular speed [ rads

]

Page 7: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 7/51

CHAPTER 1Introduction and motivations

Lately, significant research work have been performed in the fields of modeling andcontrol of UAVs (Unmanned Autonomous Vehicles). Flying objects have ever ex-

erted a great fascination on man and given the motivation to all kinds of research.

Nowadays they have been proved to be very useful in many areas, not only for mil-

itary applications: for certain kinds of dangerous observations, like measurements

in radioactive zones etc. it is easier to send unmanned vehicles.

There are many different types of UAVs from mini-aircrafts to mini helicopters.

It took a long time until the technology made it possible to precisely control a

helicopter with plenty of degrees of freedom. In this thesis research and analysis

is done on a 6 DOF aircraft with four rotors, also known as quadrocopter. This

vehicle is hard to be controlled manually but with the development of control-

technology, research started to turn to this construction again, and tried to control

it automatically.

The model of a quadrocopter, investigated in the thesis, consists of 12 differen-

tial equations, and it is highly non-linear. It is an ideal model for trying to test the

performances of linear control strategies against non-linear ones. Literature shows,

that many linear and non-linear controllers were made to the quadrocopter, but

very few provided a real analysis on the performance of various applied controllers.

The implementation of linear controllers is easy, but robustness and appropriate

time-domain behaviour are also required here that are difficult to guarantee. Thatleads us to the development and test of non-linear controllers. However, it is im-

portant to investigate when it is worth to choose a non-linear controller over an

easy-to-implement linear one.

Most often, the starting phase of nonlinear controller design is performed in

continuous time, but the practical implementation requires a stable controller in

discrete time. This thesis also deals with a theoretical estimation of the sampling

times in the case of the linear controllers, and gives a working sampling time to

each of the controllers. A state of the art, and most effective known estimation

Page 8: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 8/51

CHAPTER 1. INTRODUCTION AND MOTIVATIONS 2

technique is introduced here briefly and applied to the controllers working on a

linear system model.

This thesis provides new controller combinations for the angle-, height-and

position control tasks, were non-linear and linear controllers are working together,

based on a backstepping schema, both in continuous and discrete time, ready for

implementation. The analysis described here can be useful to one dealing with a

quadrotor helicopters to implement the controllers, and also to one interested in

control theory.

1.1 Related works in the literature

As mentioned before, numerous papers and theses are dealing with the problem of

modelling and controlling a quadrotor aircraft. The most detailed publication from

this thesis point of view is the PhD thesis [1]. In this paper a highly non-linear

model of a quadrocopter is introduced that describes the dynamics very precisely,

but also makes some simplifications with respect to indoor flying. The thesis also

applies various control strategies to the model, like PID, PD, LQR, Lyapunov sta-

bilisation and backstepping control design. But there were also other interesting

papers, that affected this thesis. Paper [2] deals with designing non-linear control

strategy for stabilization. It deals with a similar but partially simplified model,

than the one described in the thesis mentioned above. Controllers based on Lya-

punov stabilisation and backstepping based PID controlling were constructed here.

Paper [3] deals with a non-linear but very simple state-space model, and it shows

explicitly, that applying non-linear control theory can improve the performance of the controller and enable tracking of aggressive trajectories. It implies that way,

that it is worth to apply non-linear control techniques, that are more difficult to

implement than linear ones, to achieve more robust controllers. This paper also

introduced the idea to handle stabilisation of the different angles and position

coordinates with independent control loops (with one control loop one angle and

position coordinate is handled). It also applies some simplifications during the

design of non-linear controller, that enables to get still easy to implement non-

linear feedbacks. These simplification ideas also inspired the designs introduced in

my thesis.Thesis [4] also deals with non-linear control of a quadrocopter. The model

used here is also a highly non-linear one, but it is given in a quite different form

than in the mentioned PhD thesis [1]. It applies LQR technique, backstepping

control schema and the inversion method. The applied thechniques here are very

interesting, but the non-linear control strategies made the control sometimes very

complicated.

Paper [7] shows, that the model of a quadrocopter is suitable to apply advanced

control techniques, because of its complexity. It gives inspiration to apply further

control techniques, and analyse them using this model, even though various con-

Page 9: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 9/51

CHAPTER 1. INTRODUCTION AND MOTIVATIONS 3

trollers were presented in the past few years solving angle and height stabilisation

and trajectory tracking issues. This paper also presents controllers to trajectory

tracking and planning suitable for surveillance.

The paper [8] deals with the control of a large quadrocopter robot. Hence it

deals with a quite different model under the circumstances of outdoor flying. But

one interesting thing about it is, that it explicitly deals with the discretisation of

the controller designed in continuous time. It estimates the sampling time with

the matched pole-zero discretisation method, so it tries to find a good sampling

time analytically, not only based on simulation results. Another paper [9] from

the same journal introduces a H1 controller design to the very same model then

described in paper [1].

Many other papers are dealing with developing VTOLs (vertical take off and

landing UAVs), or implementing some applications to a quadrocopter like obser-

vation or object tracking. These show, how important it is to have a precisely

working controller with a very high performance. Paper [5] e.g. deals with devel-oping non-linear controller techniques related to visual flow [6].

It can be seen, that the controllers described in the literature use mostly LQR,

PID and backstepping control schema. The feedbacks resulting from the non-linear

controllers are often very complex ones. Only just few of the articles and theses

are dealing seriously with the issue of discretisation.

In my thesis, further linear and non-linear strategies are used to control the

quadrocopter, like LQ-servo, bounded LQR, and non-linear feedback technique,

with the aim to find easy to implement feedbacks. This thesis also gives a unique

construction of linear and non-linear controllers, and it deals with finding samplingtimes analytically for dicretisation of the controllers, with the sharpest known

sampling time estimation technique.

Sandor Alpar, former student at the Pazmany University, built a quadrotor

robot [10] and presented a simple angle controller. Controllers developed by this

thesis are suitable to the built robot, and were simulated using its parameters.

Page 10: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 10/51

CHAPTER 2Controller design in continuous

time

Page 11: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 11/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 5

2.1 The applied model

The literature about quadrocopters is nowadays very extensive. Lots of papers are

dealing with finding a good physical model to a quadrocopter. The solutions, one

can find in the literature are very diverse. Some of them include lots of simpli-

fication making the model less non-linear to be able to implement linear controlstrategies more easily. Some others consider too many actuators, to make an as

good as possible approach to the dynamics of the actuators in the case of out-door

flying.

After doing some research, the physical model described in thesis [1] was cho-

sen. On one hand those actuator dynamics can easily be incorporated into the

model which are important in the case of a quadrocopter, and its assumptions are

applicable in case of designing controllers to a mini-helicpoter for in-door flying.

On the other hand, Sandor Alpar, former student at the Pazmany University, built

a mini-quadrotor, and used the same physical model to design an angle-controller[10]. Since the goal of this thesis is both to obtain some results in the analysis of

the different control strategies and to prepare the controllers for implementation on

the existing mini-aircraft, using the mentioned physical model was the best choice.

The physical model. Since the applied physical model was developed for in-door

flight of a mini-helicopter, the following assumptions can be made:

• The structure is supposed to be rigid.

• structure is assumed to be symmetric.

• The center of gravity (CoG) and the body fixed frame origin are assumed to

coincide.

• The propellers are supposed rigid.

• Thrust and drag are proportional to the square of propeller’s speed.

The physical model given in Newton-Euler formalism [1] (list of symbols and their

untis can be found at page vi):

Page 12: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 12/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 6

I xxΦ = ΘΨ(I yy − I zz) + J rΘΩr + l(−T 1 + T 4) − h(4

i=1 H yi) +4

i=1(−1)(i+1)Rmxi

I yyΘ = ΦΨ(I zz − I xx) − J rΦΩr + l(T 1 − T 3) + h(

4i=1 H xi) +

4i=1(−1)(i+1)Rmyi

I zzΨ = ΘΦ(I xx − I yy) + J rΩr +4

i=1(−1)iQi + l(H x2 − H x4) + l(−H y1 + H y3)

mz = mg − (cΨcΦ)4

i=1 T i

mx = (sΨsΦ + cΨsΘcΦ)4

i=1 T i −4

i=1 H xi − 12

C xAcρx|x|

my = (−cΨsΦ + sΨsΘcΦ)4

i=1 T i −4

i=1 H yi − 12

C yAcρy|y|

To get a better understanding of the equations above, figure 2.1 gives a schematic

draw of the quadrocopter indicating the most important parameters [2], and fig-

ure 2.2 shows the quadrotor concept motion description, where the arrow width is

proportional to propeller rotational speed [11].

Figure 2.1: Schematic draw of the quadrocopter

The derived state-space model. To be able to design controllers, these equations

must be rewritten as a state-space model. Since the equations above are highly

non-linear, the resulting state-space model is also a non-linear one. Non-linear

input affine state-space models can be written in the following form:

x = f (x) + g(x)U

State variables:

x = (x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12) = (Φ Φ Θ Θ Ψ Ψ z z x x y y)

Page 13: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 13/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 7

Figure 2.2: Quadrotor concept motion description, the arrow width is

proportional to propeller rotational speed.

Inputs:

U = (U 1 U 2 U 3 U 4)

With:

U 1 = b(Ω21 + Ω22 + Ω23 + Ω24)U 2 = b(−Ω2

2 + Ω24)

U 3 = b(Ω21 + Ω2

3)

U 4 = b(−Ω21 + Ω2

2 − Ω23 + Ω2

4)

The resulting state-space model after some simplifications (hub forces and rolling

moments are neglected and thrust and drag coefficients are supposed constant) can

be written as:

f (x) =

x2

a1x4x6 + a2Ωrx4

x4

a3x2x6 + a4Ωrx2

x6

a5x4x2

x8

−g

x10

0

x12

0

g(x) =

0 0 0 0

0 b1 0 0

0 0 0 0

0 0 b2 0

0 0 0 0

0 0 0 b30 0 0 0

ut1m

0 0 0

0 0 0 0

ux1m

0 0 0

0 0 0 0

uy 1m 0 0 0

Page 14: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 14/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 8

Parameter Value

Ixx 8.11858e-005Iyy 8.11858e-005Izz 6.12233e-005Jr 6e-5

l 0.235b 3.13e-5d 7.5e-7m 0.506

Table 2.1: Model parameter values

With:a1 = I yy−I zz

I xxb1 = l

I xx

a2 = J rI xx

b2 = lI yy

a3 = I zz−I xxI yy

b3 = lI zz

a4 = J rI yy

a5 = I xx−I yyI zz

ut = cosΦcosΘ

ux = (cosΦsinΘcosΨ + sinΦsinΨ)

uy = (cosΦsinΘcosΨ − sinΦcosΨ)

At this point it must be noticed, that the speeds of the propellers are the real

inputs and outputs of the system, but the state-space model deals only with Us.

The propeller speeds can be calculated easily with the following linear relation:

Ω21

Ω22

Ω23

Ω24

=

0.25 0 0.5 0.25

0.25 −0.5 0 0.25

0.25 0 −0.5 −0.25

0.25 0.5 0 0.25

·

U 1/b

U 2/b

U 3/b

U 4/b

It can be seen, that this system is an under-actuated system, because the

number of inputs is four, but the degree of freedom is six (three angles and three

coordinates). It can be also seen, that the positions depend on the angles, but

not on each other, and the angles only depend from each other but not from the

positions. That way it is possible to decompose the height and position control

loops.

The values of the parameters in the state space model can be found in [10],

where these values are estimated based on the built model at the Pazmany

university. These parameters can be seen at table 2.1 .

Page 15: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 15/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 9

2.2 Simulink model

The model based on the described state-space model above was built in MATLAB

Simulink. Each controller, even the linear ones, are applied to this model.

Figure 2.3: Model built in Simulink

The block on the top is computing the equations related to the angles, and

the block on the bottom computes the equations related to the positions. The

sequence of the lines corresponds to the sequence of the state variables.

2.3 Angle stabilization using LQ-servo control tech-

nique

To perform various tasks with a quadrocopter, the first step is always to be able to

control the angles. In this physical system, the angles have a dedicated role. The

angles determine whether the helicopter hovers, or heads toward a direction. To

be able to control this construction, fast and robust angle controllers are needed.

That is why the angle controller is the ”heart” of every robot-pilot designed to a

quadrocopter.

Page 16: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 16/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 10

2.3.1 Theoretical background

To be able to hover with the quadrocopter is not the only goal here, therefore a

control strategy was needed that is capable of performing a reference tracking. LQ-

servo is such a technique, and usually it handles the differences between a linear

and non-linear system model quite well, so it is also known as a sufficiently robustcontrol technique.

The idea beyond the construction of an LQ-servo control loop is to extend the

model with an error variable, that shows the difference between the desired and

the actual state [17]. So the task is find a feedback that brings the value of the

error vector to zero.

We have the following linear time invariant state-space model:

x = Ax + Bu

y = Cx

This system can be extended with an error vector. r stands for a desired constant

reference value.x = Ax + Bu

z = r − y = r − Cx

In matrix form: x

z

=

A 0

−C 0

x

z

+

B

0

u +

0

I

r

The goal is to make z asymptotically converge to zero. This means that a full

state feedback must be applied, with other words, the value of K feedback must

be calculated: u = −K

x

z

,where K is a block matrix:

K =

K x K z

The feedback gain K is designed using the LQR control strategy, that solves the

Control Algebraic Ricatti equation minimizing the J functional:

J = ∞

0

xT Qx + uT Rudt

We remark that K can also be computed using other stabilizing controller design

methods (e.g. pole-placement), but the advantageous robustness properties of the

LQ loop might be lost in this case.

The linear state-space model To design the K feedback in a linear way, a linear

state space model is needed, so the non-linear state-space model must be linearised.

The non-linear state space model:

x = f (x) + g(x)U

Page 17: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 17/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 11

Figure 2.4: Schema of the LQ-sevo controller

The equilibrium point of a model is following:

(x∗, U ∗) : f (x∗) + g(x∗)U ∗ = 0

The linear model is:

A =∂f

∂x|x=x∗

B = g(x∗)

The equilibrium point of the quadrocopter:

(U ∗, x∗) :

U ∗1 = mg

U ∗23 4 = 0

x∗12345681012 = 0

x∗7911 = constant

That means, that the quadrocopter hovers in its equilibrium point, so the angles

are zero, and each position is a constant. The resulting linear model is:

A =

0 1 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 1 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 1 0 0

0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 1

0 0 0 0 0 0 0 0 0 0 0 0

B =

0 0 0 0

0 b1 0 0

0 0 0 0

0 0 b2 0

0 0 0 0

0 0 0 b30 0 0 01m

0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

Page 18: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 18/51

Page 19: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 19/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 13

Figure 2.5: The LQ-servo controller in Simulink

The initial state of the angles is: Φ0 = 0.3, Θ0 = −0.5, Ψ0 = 0.5, the references

are zeros, respectively. Using the above described controller with K feedback, weget following results:

Figure 2.6: Angles and angular speeds controlled with a servo controller

using pole-placement technique

It can be seen at 2.6, that the controller works effectively it handles the non-

linear system well and the overshooting is acceptable.

It must be remarked that equipping the original linearised model with addi-

tional integrators through the servo control scheme will allow us to follow not only

constant but also more complex angle references that will be useful later when the

position is controlled using a cascade structure.

Design LQ-servo feedback using LQR technique. It’s difficult to design effective

controllers with the pole-placement technique, if the angles are not near zero,

Page 20: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 20/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 14

so if the difference between the linear and the non-linear model is getting more

significant. LQR technique is known as a very robust control strategy, so in case of

the angle controller is better to rely on that technique. The idea of this technique is

to find a K feedback, that minimizes the J functional, with given Q and R matrices:

J =

0

xT Qx + uT Rudt

solving the Control Algebraic Ricatti equation:

AT x + xA − xBR−1BT x + Q = 0

The property of the controller can be given with the Q and R matrices. The

performance of the controller depends essentially on the ratio between the norms

of the matrices Q and R.

Q = 0.001 ·

20 0 0 0 0 0 0 0 0

0 20 0 0 0 0 0 0 0

0 0 20 0 0 0 0 0 0

0 0 0 20 0 0 0 0 0

0 0 0 0 20 0 0 0 0

0 0 0 0 0 20 0 0 0

0 0 0 0 0 0 8 0 0

0 0 0 0 0 0 0 8 0

0 0 0 0 0 0 0 0 8

R =

1 0 0

0 1 0

0 0 1

Having these Q and R matrices we get the feedback:

K =

0.4384 0.1425 0 0 0 0 −0.6057 0 0

0 0 0.4384 0.1425 0 0 0 −0.6057 0

0 0 0 0 0.4372 0.1416 0 0 −0.6045

If we look at the structure of K it can be seen, that finally the LQ optimal

control design procedure gives a PID controller structure. This also justifies the

use of additional integrators through the servo design method. The proportional,

derivator and integrator coefficients can be found in each row. That means, that

the angle stabilization can be solved with 3 independent PID control loops, so K

gives an optimal and easy to implement controller.

The initial states of the angles are: Φ0 = −1.2, Θ0 = 1.5, Ψ0 = 1.1, the

references are zeros, respectively. Using the above described controller with K

feedback, we get following results:

It can be seen at 2.7, that the controller works effectively, with less overshooting

than the pole-placement controller, and it handles the non-linear system very well,

even if the angles are not near zero.

Page 21: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 21/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 15

Figure 2.7: Angles and angular speeds controlled with LQ-servo controller

2.4 Height stabilization using LQ-servo control tech-

nique

The controllers described above only affect the angles. That means, that even if the

controller manages to control the angles, that does not mean, that the helicopter

will stay in one position. That is why further control loops are needed to the height

and positions control. The first step is to design a height controller. This task isalso a reference-tracking task, so an LQ-servo technique can be used here, too.

2.4.1 Design of the controller and simulation results

Linear controller with one control loop. Since the height stabilization is also a ref-

erence tracking issue, it is possible to find a solution to the angle and height

stabilization with one LQ-servo control loop. This means, that besides the system

described in the angle stabilization, the equations describing the motion among the

z coordinate are also needed, and the error vector must be extended with the dif-

ference between the z coordinate and the desired height. So the resulting extended

Page 22: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 22/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 16

linearised system is the following:

A =

0 1 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 1 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 1 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0

−1 0 0 0 0 0 0 0 0 0 0 0

0 0 −1 0 0 0 0 0 0 0 0 0

0 0 0 0 −1 0 0 0 0 0 0 0

0 0 0 0 0 0 −1 0 0 0 0 0

B =

0 0 0 0

b1 0 0 0

0 0 0 0

0 b2 0 00 0 0 0

0 0 b3 0

0 0 0 0

0 0 0 1/m

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

The construction using pole-placement based servo controller did not produce

satisfying results, so an LQ design is described below.

Q = 0.1 ·

20 0 0 0 0 0 0 0 0 0 0 0

0 20 0 0 0 0 0 0 0 0 0 0

0 0 20 0 0 0 0 0 0 0 0 0

0 0 0 20 0 0 0 0 0 0 0 0

0 0 0 0 20 0 0 0 0 0 0 0

0 0 0 0 0 20 0 0 0 0 0 0

0 0 0 0 0 0 20 0 0 0 0 00 0 0 0 0 0 0 20 0 0 0 0

0 0 0 0 0 0 0 0 8 0 0 0

0 0 0 0 0 0 0 0 0 8 0 0

0 0 0 0 0 0 0 0 0 0 8 0

0 0 0 0 0 0 0 0 0 0 0 8

R =

1 0 0 0

0 1 0 0

0 0 1 00 0 0 1

Having these Q and R matrices, we got K feedback:

K =

2.13 1.41 0 0 0 0 0 0 −0.89 0 0 0

0 0 2.13 1.41 0 0 0 0 0 −0.89 0 00 0 0 0 2.13 1.41 0 0 0 0 −0.89 0

0 0 0 0 0 0 2.40 2.10 0 0 0 −0.89

The structure of K gives PID controller again, so with these methods, an opti-

mal and easy to implement feedback could be found.

Simulation results with initial states Φ0 = −1, Θ0 = 1, Ψ0 = 1,z0 = 0 and

references (0, 0, 0, 1), respectively:

It can be seen at 2.8, that with besides a quite significant undershooting the

controller handles the height stabilization together with the angle stabilization.

Page 23: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 23/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 17

Figure 2.8: Angles and angular speeds, inputs and height controlled with

LQ-servo controller using LQR technique

2.5 Height stabilization using bounded LQR tech-

nique

At the height stabilization problem, where the task is getting quite difficult, it is

important to watch the output of the controller, that means to pay attention to the

magnitude of the inputs. The model built in our robotics laboratory can handle

a maximum 25 N thrust force. So it is important to keep the inputs below that

range. Bounded input controller can be designed using bounded LQR technique.

2.5.1 Theoretical background

Considering the linear system:

x = Ax + Bu

y = Cx

There exists a stabilizing state feedback K such that for every initial condition x(0)

with x(0) ≤ 1 , the resulting control satisfies u(t)max < U max for all t ≥ 0,

if and only if there exist an matrix Q and an matrix R satisfying the equality

constraint [18]:

Q − QT

= 0

Page 24: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 24/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 18

and the inequality constraints:

Q ≥ 0

−AQ − QAT − BR − BT RT > 0

U 2maxI R

RT Q > 0

in which case one such K can be constructed as:

K = RQ−1

2.5.2 Design of the controller and simulation results

The same LQ-servo structure will be used as in the section above, but inside the

LQ-servo controller, the error vector will be driven to zero with bounded LQR

technique. Having A and B matrices as above, the set of matrix equalities and

inequalities need to be solved. This can be easily done in MATLAB using theyalmip toolbox [14]. Setting U max = 800 the resulting Q and R matrices are:

R = −103

0.27 0.13 0 0 0 0 0 0 0.068 0 0 0

0 0 0.27 0.13 0 0 0 0 0 0.068 0 0

0 0 0 0 0.048 0.024 0 0 0 0 0.012 0

0 0 0 0 0 0 2600 1700 0 0 0 750

Q = 105·

4.7 −1.9 0 0 0 0 0 0 1.9 0 0 0

−1.9 7.8 0 0 0 0 0 0 1.5 0 0 0

0 0 4.7 −1.9 0 0 0 0 0 1.9 0 0

0 0 −1.9 7.8 0 0 0 0 0 1.5 0 0

0 0 0 0 4.7 −1.9 0 0 0 0 1.9 0

0 0 0 0 −1.9 7.8 0 0 0 0 1.5 0

0 0 0 0 0 0 4.7 −1.8 0 0 0 1.9

0 0 0 0 0 0 −1.8 6.5 0 0 0 1.5

1.9 1.5 0 0 0 0 0 0 7.8 0 0 0

0 0 1.9 1.5 0 0 0 0 0 7.8 0 0

0 0 0 0 1.9 1.5 0 0 0 0 7.8 0

0 0 0 0 0 0 1.9 1.5 0 0 0 7.8

The resulting K feedback is:

K = 10−5·

84 42 0 0 0 0 0 0 −21 0 0 0

0 0 84 42 0 0 0 0 0 −21 0 0

0 0 0 0 15 7.52 0 0 0 0 −3.69 0

0 0 0 0 0 0 8900 5800 0 0 0 −2400

The structure of K gives a PID controller again, so the bounded input problem

can be solved with four optimal PID control loops (three to the angles and one to

the height).

Page 25: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 25/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 19

Simulation results with initial states Φ0 = −1, Θ0 = 1, Ψ0 = 1,z0 = 0 and

references (0, 0, 0, 1), respectively (same as at the section above):

Figure 2.9: Angles and angular speeds, inputs and height controlled with

LQ-servo controller using bounded LQR technique

It can be seen in 2.9, that the performance of the controller slows down, because

of the input bounds. At the linear height controller in the section above, the norm

of the vector U was 836.4056, in the bounded case, we got an U vector with bound

62.859, which is about ten times smaller.

2.6 Height stabilization using non-linear feedback input-

output linearisation

Since the height stabilization problem can be handled independently from the angle

stabilization it became worth to try non-linear control strategies, like the feedback

input-output linearisation [15].

2.6.1 Theoretical background

[15] The basic idea of input-output linearisation is to find a nonlinear static feed-

back that makes the system look linear from the input-output point of view. The

Page 26: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 26/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 20

non-linear state-space model:

x = f (x) + g(x)U

y = h(x)

The relative degree of this system at x0 is r, if following statements are true:

• LgLrkh(x) = 0 for all x in the near of x0 for all k < r − 1

• LgLr−1f h(x0) = 0

The goal is to find U in the form U = α(x)+β(x)·v, so that the system looks linear

from the input to the output. That way, a linear control strategy can be applied

to the system. The relative degree of freedom of the system can be maximum n,

where n is the dimension of the state-space.

2.6.2 Design of the controller and simulation results

While designing a control loop to the height stabilisation problem, the following

two equations are considered:

x7 = x8

x8 = (cosx1cosx3)1

mU 1 − g

The steps of the input linearisation are the followings: Let U 1 = (cosx1cosx3) 1m

U 1.

Then we will have the following equations:

x7 = x8

x8 = U 1 − g

Let U 1 = U 1 − g, and let x7 = href − x7, since we have also a reference tracking

issue at the height stabilisation. Then we will have the following equations:

x7 = x8

x8 = U 1

The resulting equations form a linear system, it is now possible to define the matrixform of the linearised state-space model.

A =

0 1

0 0

B =

0

1

This is a controllable system, that can be stabilized with a U 1 = K

x7

x8

feedback.

From that we can compute the value of U 1 :

U 1 =

g − U 1

cosx1cosx3

Page 27: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 27/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 21

We can get the K feedback with LQR technique:

Q =

1 0

0 1

R = 1 K =

0.1 0.04583

Simulation results with initial states Φ0 = −1, Θ0 = 1, Ψ0 = 1,z0 = 0 andreferences (0, 0, 0, 1), respectively:

Figure 2.10: Angles and angular speeds, inputs and height controlled with

LQ-servo and non-linear feedback input-output linearisation

It can be seen in 2.10, that with a smooth overshooting, the controller handles

the task very well, even with initial angle values, that are not near to zero. This

controller, combined from linear and non-linear control loops (linear LQ-servo for

angle stabilisation, and feedback input-output linearisation for the height stabili-

sation) works quite well.

2.6.3 Comparison between the performances of the linear and

non-linear controller

In the linear case the resulted feedback is an optimal PID controller, so the task in

the linear case can be solved with four independent PID loops, and the performance

of the controller is satisfactory. In the non-linear case an optimal PID controller

can be used to the angle stabilization as well, but the feedback to the height

Page 28: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 28/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 22

stabilization task is a non-linear one, but it is easy to handle, since only cosine

functions are needed.

In 2.11 angles and height can be seen in the linear case at the top, and in the

non-linear case at the bottom, with initial states Φ0 = −0.1, Θ0 = 0.1, Ψ0 =

0.15,z0 = 0 and references (0, 0, 0, 1), respectively. Having these small, near zero

initial values to the angle, it can be seen, that the non-linear controller works

more satisfactory since it produces no undershoot. The angle stabilisation remains

satisfactory in both cases.

At 2.12 angles and height can be seen in the linear case at the top, and in

the non-linear case at the bottom, with initial states Φ0 = −1.4, Θ0 = 1.5, Ψ0 =

1.3,z0 = 0 and references (0, 0, 0, 5), respectively. Having these more significant

initial values to the angles, it can be seen, that the non-linear controller shows a

quite better performance to the angle stabilisation as well.

One other important advantage of the non-linear controller is, that it is very

easy to tune its parameters. In the linear case, the controller was very sensitiveto its parameters. Even small changes in the parametrization could lead to an

unstable controller. But in the non-linear case, the parameters can be changed

easily, depending on the needed performance.

2.7 Position stabilization using non-linear feedback

control technique

At the height stabilization it was shown that even if the controller stabilizes theangles, it is not guaranteed, that the helicopter will stay in a given position. So

it is necessary to deal with position stabilization as well. Also when we want to

perform trajectory tracking tasks, it is important to be able to move the helicopter

to a given position. Controllers were designed in a back-stepping schema, which

is a non-linear schema [16], so for the height and the position stabilization only

non-linear controllers will be shown .

2.7.1 Design of the controller and simulation results

To perform the position stabilization, separate control loops must be applied tothe state variables x9, x10 and x11, x12. These loops were designed with the non-

linear input-output feedback control technique. To simplify the equations, let us

assume that x5 = 0, so that the rotation around the z axis is zero. The controller

applied to x7, x8 gives the feedback to U 1. At the position stabilization it has to be

calculated, which angles are needed to take the helicopter into the given position.

So we consider x1 and x3 as inputs here. Let us design the controller to stabilize

the y coordinate first.

˙x11 = x12

Page 29: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 29/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 23

Figure 2.11: Comparison of the linear and non-linear controllers in case

of small, near zero angles and small height reference

˙x12 = uy

1

mU 1

with uy = cosx1sinx3sinx5 − sinx1cosx5 = −sinx1.

Let x11 = yref − x11 and let uy = uy1m

U 1. Then we have the following linear

equations:˙x11 = x12

˙x12 = uy

The resulting state-space model:

A = 0 1

0 0 B = 0

1

Page 30: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 30/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 24

Figure 2.12: Comparison of the linear and non-linear controllers in case

of large, near zero angles and small height reference

This is a controllable model, which can be stabilized with an

uy = K ·

x11

x12

feedback. This feedback can be designed using LQR technique. Having Q and R

matrices as described at the non-linear height stabilization, we get the feedback:

K =

0.1000 0.04583

This means, that

uy =

uym

U 1

Page 31: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 31/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 25

From uy we can calculate the value of x1 easily:

x1 = arcsin(−uy)

Now let us design a controller, that stabilizes the x coordinate.

x9 = x10

˙x10 = ux

1

mU 1

with ux = cosx1sinx3cosx5 + sinx1sinx5 = cosx1sinx3.

Let x9 = xref − x9 and let ux = ux1m

U 1. Then we have the following linear

equations:˙x9 = x10

˙x10 = ux

The resulting state-space model:

A =

0 1

0 0

B =

0

1

This is a controllable model, which can be stabilized with an

ux = K ·

x9

x10

feedback. This feedback can be designed using LQR technique. Having Q and R

matrices as described at the non-linear height stabilization, we get the feedback:

K =

0.1000 0.04583

This means, that

ux =uxm

U 1From ux we can calculate the value of x3 easily:

x3 = arcsin(ux

cosx1

)

where the value of x1 is calculated from the feedback at the control loop for co-

ordinate y. Now we have two feedbacks to x1 and x3. These feedbacks will givethe reference values to the LQ-servo control loops at the angle stabilization. The

non-linear height stabilization stays as an independent control loop.

We got the following results with initial values: x7 = 0, x9 = 0, x11 = 0, and

reference values 10, 12, 15 respectively:

It can be seen in 2.13 that the controller combined from linear and non-linear

control loops handles the position stabilizing in a very satisfying way. Overshoot-

ing is acceptable, and the different loops do not slow down the performance of

each other. To get a better view on the helicopters trajectory during the position

stabilizing 2.14 shows the 3D curve of the motion of the helicopter.

Page 32: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 32/51

CHAPTER 2. CONTROLLER DESIGN IN CONTINUOUS TIME 26

Figure 2.13: Angles and angular speeds, inputs and positions controlled

with LQ-servo and non-linear feedback input-output linearisation

Figure 2.14: Position curve of the quadrocopter

Page 33: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 33/51

CHAPTER 3Discrete time analysis and control

Page 34: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 34/51

CHAPTER 3. DISCRETE TIME ANALYSIS AND CONTROL 28

3.1 Introduction

The goal of this thesis is not only to provide working controllers to the quadrocopter

and analyse the applied control strategies, but to prepare these controllers for

implementation. To implement the controllers, they must work in discrete time.

So it is a remaining question, how to choose a working sampling time to thesecontrollers. In this chapter sampling times to the controllers described in chapter

1 will be provided.

3.2 Theoretical background

Where it is possible, this chapter will give an estimated sampling time based on

the paper [12]. This work provides the sharpest estimation technique known today,

based on that, a sampling time can be given, to which it is proven, that the discrete

system keeps the main stability properties of the continuous time system.

Usually the actuators, sensors and controllers are connected via a separate or

shared network, as it can be seen in figure 3.1 [13].

Figure 3.1: networked control system

Variables:

x p plant state vector

xc controller state vector

y plant output

u controller output

y most recently transmitted plant output

u most recently transmitted controller output

We assume that data is transmitted between the nodes (individual sensors andactuators connected to the network) at time instants t0, t1,...,ti where i ∈ N. The

transmission time instants satisfy:

< t j+1 − t j ≤ τ for j ≥ 0, where , τ > 0

The upper interval bound τ is called the maximum allowable transfer interval,

MATI. Error caused by the network transmission:

e(t) = y(t) − y(t)

u(t) − u(t)

Page 35: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 35/51

CHAPTER 3. DISCRETE TIME ANALYSIS AND CONTROL 29

The equations of the networked control system:

x = f (t,x,e,w), t ∈ [ti−1, ti]

e = g(t,x,e,w), t ∈ [ti−1, ti]

with x = [xT p xT

c ]T ∈ R, and disturbance vector w. The change of e during trans-

mission instants:

e(t+i ) = (I − Ψ(i, e(ti)))e(ti)

e(t+i ) = ∧(i, Ψ(i, e(ti))e(ti), (ti))

with e decision vector of the network scheduler, Ψ scheduling function, and ∧

decision update function.

Theorem(Tabbara et al, 2007): Suppose that the NCS scheduling protocol is

uniformly persistently exciting in time T and the following assumptions hold:

• There exists Q positive definite symmetric matrix and continuous output of

the form y(x, w) = G(x) + w so that the error dynamics e = g(t,x,e,w)

satisfies:

g(t,x,e,w) Qe + y(x, w)

for all (x,e,w) for t ∈ (ti, ti+1) and for all i ∈ N. Note, that x y ≡ xi ≤

yi for i = 1,...,n, and x = [|x1|, ..., |xn|]T

• x = f (t,x,e,w) is L p stable from (e, w) to G(x) with gain γ for some p ∈

[1, ∞]

• The MATI satisfies τ ∈ (, τ ∗), ∈ (0, τ ∗), where

τ ∗ =ln(v)

|Q|T

with v solution of

v(|Q| + γT ) − γT v1−1

T − 2|Q| = 0

Then the NCS is L p stable form w to (G(x), e) with linear gain. Naturally, equidis-

tant discretization in time can be regarded as a special case of networked control

described above. This means, that with a t < τ ∗ sampling time the system can be

safely discretized with a zero order hold function.

We remark that the sampling time need not to be constant as long as it is less

than the computed MATI. This means that the examined continuous time control

laws can be directly applied in discrete time in a network environment if the MATI

condition is satisfied.

Page 36: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 36/51

CHAPTER 3. DISCRETE TIME ANALYSIS AND CONTROL 30

3.3 Discretization of the angle controller

The mentioned paper [12] provides a method, how to compute τ ∗. The computation

is quite straightforward in case of linear systems and linear controllers but it can

be challenging in the case of nonlinear models. Now, the method is applied to the

discretization of the angle controller, described at section 2.3, that uses LQ-servocontrol strategy.

3.3.1 Estimation of the sampling time

[13]At the following computations we assume, that

• zero order hold is at the controller output

• network or discretization induced error is simplified to e = y − y

• w = 0

The system model is:

x p = A px p + B pu

y = C px p

with feedback:

ut = Ky = KCx p

So the closed loop state equation is:

x p = (A p + B pKC p)x p

We have the following error term

e(t) = y(t) − y(t) =⇒ y = e + y

Then the actual state equation is

x p = (A p + B pKC p)x p + B pKe

and the error dynamics is:

e = −y = −C px p = −C p(A p + B pKC p)x p − C pB pKe

NCS model form:

x p = Φ11x + Φ12e

e = Φ21x + Φ22e

Finding Q and y for the elementwise inequality:

g(t,x,e,w) = Qe + y(x, w)

Page 37: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 37/51

CHAPTER 3. DISCRETE TIME ANALYSIS AND CONTROL 31

g(t,x,e,w) = Φ21x + Φ22e

a good choice in the linear case is:

qij = max|[Φ22]ij|, |[Φ22] ji|

y = Φ21x

So the L p gain γ should be computed for:

x = Φ11x + Φ12e

y = Φ21x

Then we have to solve the equation:

v(|Q| + γT ) − γT v1−1

T − 2|Q| = 0

and finally we get τ ∗ = ln(z)|Q|T

.

In this case T = 4 and the Φ matrices are:

Φ11 =

0 1.00 0 0 0 0 0 0 0

−7.75 −4.14 0 0 0 0 9.28 0 0

0 0 0 1.00 0 0 0 0 0

0 0 −7.75 −4.14 0 0 0 9.28 0

0 0 0 0 0 1.00 0 0 0

0 0 0 0 −26.70 −10.33 0 0 35.35−1.00 0 0 0 0 0 1.00 0 0

0 0 −1.00 0 0 0 0 1.00 0

0 0 0 0 −1.00 0 0 0 1.00

Φ12 =

0 0 0 0 0 0 0 0 0

−7.75 −4.14 0 0 0 0 9.28 0 0

0 0 0 0 0 0 0 0 0

0 0 −7.75 −4.14 0 0 0 9.28 0

0 0 0 0 0 0 0 0 0

0 0 0 0 −26.70 −10.33 0 0 35.35

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

Page 38: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 38/51

CHAPTER 3. DISCRETE TIME ANALYSIS AND CONTROL 32

Φ21 =

0 1.00 0 0 0 0 0 0 0

−7.75 −4.14 0 0 0 0 9.28 0 0

0 0 0 1.00 0 0 0 0 0

0 0 −7.75 −4.14 0 0 0 9.28 00 0 0 0 0 1.00 0 0 0

0 0 0 0 −26.70 −10.33 0 0 35.35

−1.00 0 0 0 0 0 1.00 0 0

0 0 −1.00 0 0 0 0 1.00 0

0 0 0 0 −1.00 0 0 0 1.00

Φ22 =

0 0 0 0 0 0 0 0 0

−7.75 −4.14 0 0 0 0 9.28 0 0

0 0 0 0 0 0 0 0 00 0 −7.75 −4.14 0 0 0 9.28 0

0 0 0 0 0 0 0 0 0

0 0 0 0 −26.70 −10.33 0 0 35.35

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

So we have

Q =

0 7.745 0 0 0 0 0 0 0

7.745 4.14 0 0 0 0 9.28 0 0

0 0 0 7.75 0 0 0 0 0

0 0 7.75 4.14 0 0 0 9.28 0

0 0 0 0 0 26.70 0 0 0

0 0 0 0 26.70 10.33 0 0 35.35

0 9.28 0 0 0 0 0 0 0

0 0 0 9.28 0 0 0 0 0

0 0 0 0 0 35.35 0 0 0

and γ = 122.91. That gives us τ ∗ = 1.4528e − 005. So with a minimum 670 kHz

sampling time the resulting discrete model will be stable.

3.3.2 Simulation results

The initial states of the angles are: Φ0 = −1.2, Θ0 = 1.5, Ψ0 = −1.1, the refer-

ences are zeros, respectively, same as at section 2.3 . Having the same controller, as

described in section 2.3, (LQ-servo controller), and sampling time 100 kHz (MAT-

LAB could not handle a smaller sampling time), we got following results: It can

be seen at 3.2 that there is essentially no difference between the performance of

the continuous (figure 2.7) and the discrete controller.

Page 39: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 39/51

CHAPTER 3. DISCRETE TIME ANALYSIS AND CONTROL 33

Figure 3.2: Angles and angular speeds controlled with LQ-servo controller,discrete case, sampling frequency 100 kHz

But the sampling time can not be increased arbitrarily, because if a lot bigger

sampling time is applied, then the estimated optimal bound, the controller can

loose lot from its performance. If the model is discretized with 5 kHz, the perfor-

mance of the controller slows down significantly, as it can be seen at 3.3, and under

1 KHz the controller becomes unstable.

Figure 3.3: Angles and angular speeds controlled with LQ-servo controller,

discrete case, sampling frequency 5 kHz

It can be seen, that the MATI estimation is very sensitive to γ , the L p gain

of the system. So to increase the sampling time, the parameters of the controller

Page 40: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 40/51

CHAPTER 3. DISCRETE TIME ANALYSIS AND CONTROL 34

must be reconfigured. Having the same controller, as above, but with different Q

and R matrices:

Q = 10−8 ·

20 0 0 0 0 0 0 0 0

0 20 0 0 0 0 0 0 0

0 0 20 0 0 0 0 0 00 0 0 20 0 0 0 0 0

0 0 0 0 20 0 0 0 0

0 0 0 0 0 20 0 0 0

0 0 0 0 0 0 8 0 0

0 0 0 0 0 0 0 8 0

0 0 0 0 0 0 0 0 8

R =

1 0 0

0 1 0

0 0 1

Using the matrices above to design the controller, a sampling time 0.0037 could

be achieved, which is more than 102 times better, than the one before. Using

the modified controller with the new sampling time, we got following simulationresults:

Figure 3.4: Angles and angular speeds controlled with LQ-servo controller,

discrete case, sampling frequency 1 kHz

It can be seen at 3.4, that the controller got ’weaker’, so its performance became

slower, but the system could be indeed discretized with 1 kHz.

3.4 Discretization of the height controller in linear

case

In section 2.4 a linear controller can be seen, designed for the angle and height

stabilisation task. It could be seen, that this controller only works at angle values,

Page 41: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 41/51

CHAPTER 3. DISCRETE TIME ANALYSIS AND CONTROL 35

that are near zero. In this section, a discertization time will be estimated for this

controller, with the technique introduced at the section before.

3.4.1 Estimation of the sampling time

Making the same computations as above, with the controller settings used in section2.4, the upper bound of MATI became 5 · 10−8. Matlab Simulink could not handle

the task with a sampling time like that, so the parameters of the controller needed

to be changed. The L p gain of the closed loop with the controller form 2.4 was

4.7 · 106 which very high. Setting the matrices Q and R to the values as following:

Q = 0.01·

20 0 0 0 0 0 0 0 0 0 0 0

0 20 section0 0 0 0 0 0 0 0 0 0

0 0 20 0 0 0 0 0 0 0 0 0

0 0 0 20 0 0 0 0 0 0 0 0

0 0 0 0 20 0 0 0 0 0 0 0

0 0 0 0 0 20 0 0 0 0 0 0

0 0 0 0 0 0 20 0 0 0 0 0

0 0 0 0 0 0 0 20 0 0 0 0

0 0 0 0 0 0 0 0 8 0 0 0

0 0 0 0 0 0 0 0 0 8 0 0

0 0 0 0 0 0 0 0 0 0 8 0

0 0 0 0 0 0 0 0 0 0 0 8

R =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

we got γ = 8.5 · 105

, and τ ∗

= 2.84 ∗ 107

which means, that with 10 MHz the modelcan be discretized.

3.4.2 Simulation results

Since τ ∗ computed above is only an estimation, simulations were tried with 10

kHz. Simulation has shown, as it can be seen at 3.5 that the performance of the

controller in discrete time was satisfactory, so there is no remarkable difference

between the behaviour of the continuous and discrete controller.

3.5 Discretization of the height controller in linear

bounded case

Applying the same computations using the controller described at section 2.5, τ ∗

became 0.020863. That means, that with 50 Hz the system can be discretized.

This very low sampling frequency can be explained with the input bounds that

were applied to the design of the controller. These bounds make the controller

’weaker’ in the sense that they do not allow the controller to create control inputs

with high norm. Therefore, the less aggressive the behaviour of the controller

Page 42: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 42/51

CHAPTER 3. DISCRETE TIME ANALYSIS AND CONTROL 36

Figure 3.5: Angles, angular speeds, forces and height controlled with linear

LQ-servo control, discrete case, sampling frequency 10 kHz

is, the more the sampling time can be increased. The simulation results with a

sampling time of 50 Hz, can be seen at 3.6. These results are essentially the same,as in the continuous case, seen at 2.9.

3.6 Discretization of the height controller in the case

of non-linear feedback

In the non-linear case, the necessary computations (and some estimations in par-

ticular) to compute the MATI are quite hard. Therefore the sampling times to the

controllers designed at section 2.6 and 2.7 will be examined only through simula-

tions. At section 3.3 it could be seen, that the angle controller must be ’weakened’

to get a better and easier to implement sampling time. So the LQ-servo angle

controller loop in the case of the non-linear height and position stabilisation will

Page 43: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 43/51

CHAPTER 3. DISCRETE TIME ANALYSIS AND CONTROL 37

Figure 3.6: Angles, angular speeds, forces and height controlled with

bounded linear control, discrete case, sampling frequency 50 Hz

be designed with the following Q and R matrices:

Q = 10−6·

20 0 0 0 0 0 0 0 0 0 0 00 20 0 0 0 0 0 0 0 0 0 0

0 0 20 0 0 0 0 0 0 0 0 0

0 0 0 20 0 0 0 0 0 0 0 0

0 0 0 0 20 0 0 0 0 0 0 0

0 0 0 0 0 20 0 0 0 0 0 0

0 0 0 0 0 0 20 0 0 0 0 0

0 0 0 0 0 0 0 20 0 0 0 0

0 0 0 0 0 0 0 0 8 0 0 0

0 0 0 0 0 0 0 0 0 8 0 00 0 0 0 0 0 0 0 0 0 8 0

0 0 0 0 0 0 0 0 0 0 0 8

R =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

3.6.1 Simulation results

Simulation has shown that with 1000 Hz the height controller described, at section

2.6 can be discretized properly. It can be seen at 3.7, that there are no essential

differences compared to the results in the continuous case, seen at 2.10 besides,

that we use a ’weaker’ angle controller in this case to get a satisfactory sampling

time.

Page 44: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 44/51

CHAPTER 3. DISCRETE TIME ANALYSIS AND CONTROL 38

Figure 3.7: Angles, angular speeds, forces and positions with non-linear

control, discrete case, sampling frequency 1 kHz

3.7 Discretization of the position controller in non-

linear case

The controller examined here was described in section 2.7. In this case, the sam-

pling time was examined using simulations, too.

3.7.1 Simulation results

Simulation has shown that with 1000 Hz the system can be discretized properly. It

can be seen at 3.8, that there are no essential differences compared to the results

in the continuous case, seen at 2.13 besides, that we use a ’weaker’ angle controller

in this case to get a satisfactory sampling time.

But again, it needs to be mentioned, that the sampling time can not be in-

creased lot further. With sampling frequency lower than 100 Hz, the controller got

unstable. But at 3.9 it can be seen, that even with 100 Hz sampling frequency, the

controller keeps its robustness, so the simulation results show no essential difference

to the results of the continuous one, seen at 2.13.

Page 45: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 45/51

CHAPTER 3. DISCRETE TIME ANALYSIS AND CONTROL 39

Figure 3.8: Angles, angular speeds, forces and positions with non-linear

control, discrete case, sampling frequency 1 kHz

3.8 Robustness testing of the position controller un-

der Gaussian noise

Since the position controller incorporates all the designed controllers (angle and

height controller loops are also included in it), by testing the performance of this

construction the robustness of all control subsystems can be shown. The tests are

aim to prove that the non-linear height and position stabilizing loops hold their

performance even under significant noise in the sensor data.

During the simulation 100 Hz sampling frequency was applied. The angle sensor

data were corrupted with additive Gaussian white noise in the range of degrees

(between -3 and +3 degree), the height and position sensor data were added withan Gaussian white noise in the range of centimetres (between -15 and +15 cm).

Figure 3.10 shows, that the controller maintains its robustness and performance.

Page 46: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 46/51

CHAPTER 3. DISCRETE TIME ANALYSIS AND CONTROL 40

Figure 3.9: Angles, angular speeds, forces and positions with non-linear

control, discrete case, sampling frequency 100 Hz

Figure 3.10: Angles, angular speeds, forces and positions with non-linear

control, discrete case, sampling frequency 100 Hz, Gaussian noise applied

to sensor data

Page 47: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 47/51

CHAPTER 4Summary and Conclusions

In this thesis various controllers were provided to stabilize angles, height and po-sition of a quadrocopter. Each controller is ready for implementation, and an

appropriate sampling time was given for each either through an analytic estima-

tion or through simulations. The most meaningful achievement in this thesis is

the construction of a unique control strategy to the position stabilizing task. The

controller described combines linear and non-linear controllers in a non-linear back-

stepping based schema. That means, that to the tasks, where linear controllers can

be used, the easy to implement linear controllers can be kept, and to those parts,

that are more successfully handled with a non-linear controller, an appropriate

non-linear control loop can be designed. To the purely linear controllers, there is

a sampling time provided, which was estimated based on the sharpest estimation

technique known today [12]. To estimate a realistic sampling time with this tech-

nique is also considered as an achievement. That way it is proven, that with the

given sampling time, the closed loop system will keep its stability properties, and

its behaviour will not change significantly in discrete time.

4.1 Acknowledgement

At first place I would like to thank Gabor Szederkenyi, my supervisor for guiding

my studies for more than over a year, and for his attention and ideas. I would

also like to thank Gyorgy Cserey for giving me the idea to deal with the control

of a quadrocopter. And finally thanks to Alpar Sandor who built the quadro-

copter model in our robotic laboratory, and so made it possible to implement the

controllers in the future.

Page 48: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 48/51

Bibliography

[1] Samir Bouabdallah, Design and control of quadrotors with application to au-

tonomous flying . ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE

Phd thesis, 2007. [cited at p. 2, 3, 5]

[2] Ashfaq Ahmad Mian, Wang Daobo, Modeling and Backstepping-based Nonlin-

ear Control Strategy for a 6 DOF Quadrotor Helicopter . College of Automa-tion Engineering, Nanjing University of Aeronautics and Astronautics, China.

Chinese Journal of Aeronautics, 2008. [cited at p. 2, 6]

[3] Pedro Castillo, Rogelio Lozano and Alejandro Dzul, Experimental implemen-

tation of linear and nonlinear control laws: Stabilization of a Mini Rotor-

craft with Four Rotors. IEEE Control Systems Magazine, December, 2005.

[cited at p. 2]

[4] Muriel Labadille, Non-linear Control of a Quadrotor . Cranfield University

School of Engineering, MSc Thesis, 2007. [cited at p. 2]

[5] Bruno Herisse, Tarek Hamel, Robert Mahony, Francois-Xavier Russotto, A

terrain-following control approach for a VTOL Unmanned Aerial Vehicle using

average optical flow . Springer Science+Business Media, LLC, 2010. [cited at p. 3]

[6] Srinivasan M., Zhang S., Chahl J. S., Barth E., Venkatesh S., How hon-

eybees make grazing landings on flat surfaces. Biological Cybernetics, 2000.

[cited at p. 3]

[7] Ian D. Cowling, Oleg A. Yakimenko, James F. Whidborne, Alastair K. Cooke,

Direct Method Based Control System for an Autonomous Quadrotor . Pub-lished online, US Government, 2010. [cited at p. 2]

[8] P. Pounds, R.Mahony, P.Corke, Modelling and control of a large quadrotor

robot . Control Engineering Practice, Elsevier. 2010. [cited at p. 3]

[9] Guilherme V. Raffo, Manuel G. Ortega, Francisco R. Rubio, An integral pre-

dictive nonlinear H1 control structure for a quadrotor helicopter . Departa-

mento de Ingenierıa de Sistemas y Automatica, Universidad de Sevilla, Spain.

Control Engineering Practice, Elsevier. 2010. [cited at p. 3]

Page 49: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 49/51

BIBLIOGRAPHY 43

[10] Sandor Alpar, Negyrotoros kishelikopter epıtese, ir anyıt asa es k ul¨ onb¨ oz˝ o szen-

zori adatok alapj´ an szab´ alyz´ assal t¨ orten o stabiliz´ al´ asa . Pazmany Peter Kato-

likus Egyetem OTDK, 2007. [cited at p. 3, 5, 8]

[11] SAMIR BOUABDALLAH, PIERPAOLO MURRIERI, ROLAND SIEG-

WART, Towards Autonomous Indoor Micro VTOL. Springer Science + Busi-ness Media, 2005. [cited at p. 6]

[12] Mohammad Tabbara, Dragan Nesic, Andrew R. Teel, Stability of Wireless

and Wireline Networked Control Systems. IEEE Transactions and automatic

control, vol. 52., NO.9 September 2007. [cited at p. 28, 30, 41]

[13] Gabor Szederkenyi, Katalin Hangos, Passivity based control and its use in the

stability and performance analysis of networked control loops. 9th International

PhD Workshop on Systems and Control 2008. [cited at p. 28, 30]

[14] Developped by Dr Johan Lofberg, downloaded from

http://users.isy.liu.se/johanl/yalmip/pmwiki.php?n=Main.HomePage

[cited at p. 18]

[15] K. M. Hangos, J. Bokor, G. Szederkenyi, Analysis and Control of Nonlinear

Process Systems. Springer, 2004. [cited at p. 19]

[16] P. Kokotovic and M. Arcak, Constructive Nonlinear Control: A Historical

Perspective. Automatica, 37:637-662, 2001. [cited at p. 22]

[17] W. N. Wonham, Linear Multivariable Control - A Geometric Approach .Springer-Verlag, New York (Third Edition) 1985. [cited at p. 10]

[18] G. F. Wredenhagen, P. R. Belanger Piecewise-linear LQ control for systems

with input consternates. Automatica, 30:403-416, 1994. [cited at p. 17]

Page 50: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 50/51

List of Figures

2.1 Schematic draw of the quadrocopter . . . . . . . . . . . . . . . . . . . 6

2.2 Quadrotor concept motion description, the arrow width is proportional

to propeller rotational speed. . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Model built in Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4 Schema of the LQ-sevo controller . . . . . . . . . . . . . . . . . . . . . 112.5 The LQ-servo controller in Simulink . . . . . . . . . . . . . . . . . . . . 13

2.6 Angles and angular speeds controlled with a servo controller using pole-

placement technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.7 Angles and angular speeds controlled with LQ-servo controller . . . . . 15

2.8 Angles and angular speeds, inputs and height controlled with LQ-servo

controller using LQR technique . . . . . . . . . . . . . . . . . . . . . . 17

2.9 Angles and angular speeds, inputs and height controlled with LQ-servo

controller using bounded LQR technique . . . . . . . . . . . . . . . . . 19

2.10 Angles and angular speeds, inputs and height controlled with LQ-servo

and non-linear feedback input-output linearisation . . . . . . . . . . . . 21

2.11 Comparison of the linear and non-linear controllers in case of small,

near zero angles and small height reference . . . . . . . . . . . . . . . . 23

2.12 Comparison of the linear and non-linear controllers in case of large, near

zero angles and small height reference . . . . . . . . . . . . . . . . . . . 24

2.13 Angles and angular speeds, inputs and positions controlled with LQ-

servo and non-linear feedback input-output linearisation . . . . . . . . 26

2.14 Position curve of the quadrocopter . . . . . . . . . . . . . . . . . . . . 26

3.1 networked control system . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.2 Angles and angular speeds controlled with LQ-servo controller, discrete

case, sampling frequency 100 kHz . . . . . . . . . . . . . . . . . . . . . 33

3.3 Angles and angular speeds controlled with LQ-servo controller, discrete

case, sampling frequency 5 kHz . . . . . . . . . . . . . . . . . . . . . . 33

3.4 Angles and angular speeds controlled with LQ-servo controller, discrete

case, sampling frequency 1 kHz . . . . . . . . . . . . . . . . . . . . . . 34

3.5 Angles, angular speeds, forces and height controlled with linear LQ-

servo control, discrete case, sampling frequency 10 kHz . . . . . . . . . 36

Page 51: Bsc Sonnevend

7/31/2019 Bsc Sonnevend

http://slidepdf.com/reader/full/bsc-sonnevend 51/51

LIST OF FIGURES 45

3.6 Angles, angular speeds, forces and height controlled with bounded linear

control, discrete case, sampling frequency 50 Hz . . . . . . . . . . . . . 37

3.7 Angles, angular speeds, forces and positions with non-linear control,

discrete case, sampling frequency 1 kHz . . . . . . . . . . . . . . . . . . 38

3.8 Angles, angular speeds, forces and positions with non-linear control,

discrete case, sampling frequency 1 kHz . . . . . . . . . . . . . . . . . . 39

3.9 Angles, angular speeds, forces and positions with non-linear control,

discrete case, sampling frequency 100 Hz . . . . . . . . . . . . . . . . . 40

3.10 Angles, angular speeds, forces and positions with non-linear control,

discrete case, sampling frequency 100 Hz, Gaussian noise applied to

sensor data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40