133
Modeling, Simulation and Control of a Quadrotor Carrying a Slung Load Modellierung, Simulation und Regelung eines Quadrokopters mit aufgehängter Nutzlast Master Thesis Masterarbeit presented by von Bähner, Franz David Supervisor (US-ETSI): Manuel Vargas Villanueva, Ph.D. Supervisor (RWTH-IRT): Björn Schäfer, Dipl.Ing. Departamento de Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla

Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

Embed Size (px)

Citation preview

Page 1: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

Modeling, Simulation and Control of aQuadrotor Carrying a Slung Load

Modellierung, Simulation und Regelung eines Quadrokopters mitaufgehängter Nutzlast

Master ThesisMasterarbeit

presented byvon

Bähner, Franz David

Supervisor (US-ETSI): Manuel Vargas Villanueva, Ph.D.Supervisor (RWTH-IRT): Björn Schäfer, Dipl.Ing.

Departamento de Ingeniería de Sistemas y AutomáticaEscuela Técnica Superior de Ingeniería

Universidad de Sevilla

Page 2: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe
Page 3: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

AbstractAutonomous quadrotor flight is already a well-investigated area of research. Nonetheless,it must still be considered contemporary engineering science. Applications span from ad-vanced aerial maneuvering to swarm flight; in this work the case of a quadrotor carryinga slung load is analyzed. In a novelty approach the ambition of directly controlling theload position is pursued. This has become possible by the development of fast and reli-able monitoring systems, as encountered in a variety of vision based control tasks. Thefirst step toward the objective is achieved by deriving well-founded models of the sys-tem at hand, using Newton-Euler as well as Lagrange-Euler formalisms for redundancyreason. Secondly, an appropriate two-dimensional model is found. At hand of this sim-plified model, linear and non-linear control strategies are assessed with respect to theirapplicability. Beyond this, a trapezoidal trajectory generator is developed. It may takenon-zero initial as well as final velocities into account and synchronizes multi-dimensionalprofiles. Ultimately, linear quadratic control approaches seem to be most promising andare applied successfully to the three-dimensional model.

Page 4: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe
Page 5: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

List of Symbols

a Displacement of Rotors from COGα Vector of stabilizing functionsC Coriolis matrix of systemd 1,0 or -1 denoting a directionD Damping matrix of systeme Control errorη Vector of generalized coordinates of quadrotor-load systemfi Thrust force of rotorfj Force vector of force jfj Total scalar value of force jf Vectorial functionG Transfer functiong Gravitational constantG Gravity vector of systemGbc Closed-loop transfer functionh Vectorial functionI3×3 Three times three unity matrixIB Inertia tensor of vehicleIii Inertia about axis iIL Inertia of payloadJLQR Feedback-invariant in LQ approachK Kinetic energy of a systemK State-feedback matrix in LQ approachκth Thrust coefficientL Lagrangian of a systemλi Eigenvalue of matrixM Mass matrix of systemν Derivation of generalized coordinates w.r.t. time

v

Page 6: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

∅3×3 Three times three zero matrixω Angular velocity rates in body-fixed frameΩi Rotor Speedp Body-fixed rotational velocity about xP Potential energy of a systemP Symmetric positive definite matrix in LQ approachφ Roll angleψ Yaw angleWpB Position of vehicle in inertial frameWpL Position of payload in inertial frameBpL Position of payload in body-fixed frameLpB Position of vehicle in load-fixed frameQ Weight matrix in LQ approachq Generic set of generalized coordinatesq Body-fixed rotational velocity about yQfri Friction forceQ Vector of generalized forcesQi Generalized force in iR Weight matrix in LQ approachr (t) Reference signalr Body-fixed rotational velocity about zRRRi Rotation about axis irj Location of force jTa Acceleration timeti Inter-body force of body iτ Actuation vector of systemτi Moment about axis i (vectorial)τi Value of moment about axis iθ Pitch angleu Vector of manipulated variablesui Manipulated variable iV Lyapunov function candidateV Friction functionvc Cruising velocityvw Peak velocity of wedge profile

vi

Page 7: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

W Transform time derivatives of roll, pitch, yaw to body-fixed angular velocityx State vectorxi State iFxi x-value of position vector in frame FFyi y-value of position vector in frame Fy Output vectoryi Output iFzi z-value of position vector in frame Fzi Error state/signalζ Angle-triad in inertial coordinates

vii

Page 8: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe
Page 9: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

List of Abbreviations

COG Center of gravityDOF Degree of freedomGPS Global Positioning SystemIMU Inertial measurement unitLFC Lyapunov Function CandidateLTI Linear time-invariantLQ Linear quadraticMEMS Micro Electromechnical SystemsMIMO Multiple input multiple outputSISO Single input single outputUGAS Uniformly globally asymptotically stableUML Unified modeling languageVTOL Vertical take-off and landing

ix

Page 10: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe
Page 11: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

Contents

List of Figures xv

List of Tables xvii

1 Introduction 1

2 Theoretical Background 32.1 Assumptions and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Deriving the Equations of Motion . . . . . . . . . . . . . . . . . . . . . . . 72.3 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3.1 Quadrotor Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.2 Load Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.4 Rigid Body Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.4.1 Dynamic Model: Newton - Euler Formalism . . . . . . . . . . . . . 132.4.2 Dynamic Model: Euler - Lagrange Formalism . . . . . . . . . . . . 15

2.5 Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.5.1 Linearized State-Space Expression . . . . . . . . . . . . . . . . . . . 17

3 Trajectory Generation 193.1 Trapezoidal Velocity Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1.1 One- vs. Multi-Dimensional Trajectories . . . . . . . . . . . . . . . 213.1.2 Trapezoidal Profiles with zero Initial / Final Velocities . . . . . . . 223.1.3 Trapezoidal Profiles with non-zero Initial / Final Velocities . . . . . 253.1.4 Preassigned Durations with reduced Accelerations . . . . . . . . . . 333.1.5 Superordinate Structure . . . . . . . . . . . . . . . . . . . . . . . . 343.1.6 Input Shaping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2 Smooth Acceleration Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . 37

xi

Page 12: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

Contents

4 Planar Model 394.1 Derivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.1.1 Manipulated Variables . . . . . . . . . . . . . . . . . . . . . . . . . 394.1.2 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.1.3 Equations of Motion - Newton-Euler Formalism . . . . . . . . . . . 424.1.4 Equations of Motion - Euler-Lagrange Formalism . . . . . . . . . . 43

4.2 Non-Linear Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.2.1 Matrix Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.3 Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.3.1 Linearized State Space Expression . . . . . . . . . . . . . . . . . . . 484.3.2 Laplace Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5 Linear Control Design (Planar Case) 515.1 PID Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.1.1 Altitude Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535.1.2 Attitude Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.1.3 Position Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.1.4 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.2 Linear Quadratic Optimal Control . . . . . . . . . . . . . . . . . . . . . . . 605.2.1 LQ Non-Zero Set Point Control . . . . . . . . . . . . . . . . . . . . 635.2.2 LQ Servo Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695.2.3 Adaptivity Approach . . . . . . . . . . . . . . . . . . . . . . . . . . 71

6 Non-Linear Control Design (Planar Case) 756.1 Lyapunov Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6.1.1 Autonomous Systems . . . . . . . . . . . . . . . . . . . . . . . . . . 766.1.2 Nonautonomous Systems . . . . . . . . . . . . . . . . . . . . . . . . 776.1.3 Input-to-State Stability . . . . . . . . . . . . . . . . . . . . . . . . . 80

6.2 Backstepping Controller for Translational Sub-System . . . . . . . . . . . . 826.2.1 Control Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836.2.2 Improved Air Resistance Consideration . . . . . . . . . . . . . . . . 876.2.3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 886.2.4 Extension to the Load-Controlled Flight-Mode . . . . . . . . . . . . 91

6.3 Feedback Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936.3.1 Collocated Linearization . . . . . . . . . . . . . . . . . . . . . . . . 93

xii

Page 13: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

Contents

6.3.2 Control Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956.3.3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

6.4 Non-Collocated Linearization - Extension to the Load-Controlled Flight-Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

7 Control Robustness 99

8 Full model (3D) 1018.1 Graphical Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038.2 Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048.3 Control and Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . 106

9 Conclusion and Outlook 109

Bibliography 113

xiii

Page 14: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe
Page 15: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

List of Figures

2.1 Rotor Configurations [Araar and Aouf, 2014] . . . . . . . . . . . . . . . . . 32.2 Reference Frames for the Planar Case . . . . . . . . . . . . . . . . . . . . . 8

3.1 Trapezoidal Velocity Profile . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2 Synchronized Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3 Wedge Profile, vMax = 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.4 Time-Optimal Velocity Profiles with non-zero Initial / Final Values . . . . 263.5 Effect of insufficient Sign Allocation Procedure (right) . . . . . . . . . . . . 273.6 Possible Velocity Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.7 Procedure of Identifying and Calculating the different Profiles . . . . . . . 323.8 Reducing both: Coasting Velocity and Acceleration . . . . . . . . . . . . . 343.9 Superordinate Structure of Generator . . . . . . . . . . . . . . . . . . . . . 353.10 Gantry Crane [Singh and Singhose, 2002] . . . . . . . . . . . . . . . . . . . 363.11 Shaped Inputs [Singh and Singhose, 2002] . . . . . . . . . . . . . . . . . . 37

4.1 Modified Control Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.1 Structure of Cascaded PD Control . . . . . . . . . . . . . . . . . . . . . . . 525.2 Root Locus - Altitude Controller . . . . . . . . . . . . . . . . . . . . . . . 545.3 Root locus - Translational Control Approach 2 . . . . . . . . . . . . . . . . 565.4 Step Response of Outer Loop - Approach 2 . . . . . . . . . . . . . . . . . . 595.5 Trajectory Tracking of PD Control Scheme . . . . . . . . . . . . . . . . . . 605.6 LQ Regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.7 LQ non-zero Set Point Controller . . . . . . . . . . . . . . . . . . . . . . . 655.8 Step Response of LQ Set Point Controller . . . . . . . . . . . . . . . . . . 665.9 Step Response of adjusted LQ Set Point Controller . . . . . . . . . . . . . 675.10 Trajectory Tracking of LQ Set Point Controller . . . . . . . . . . . . . . . 685.11 LQ Servo Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.12 Trajectory Tracking of LQ Servo Controller . . . . . . . . . . . . . . . . . . 71

xv

Page 16: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

List of Figures

5.13 LQ Set Point Controller with Pre-Calculated Offset . . . . . . . . . . . . . 725.14 LQ Servo Controller with Pre-Calculated Offset . . . . . . . . . . . . . . . 73

6.1 Smooth Trajectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896.2 Trajectory Tracking of backstepping Controller . . . . . . . . . . . . . . . . 906.3 System Poses (Notable Overswing) . . . . . . . . . . . . . . . . . . . . . . 916.4 Trjactory Tracking in the Presence of 2D Attitude Dynamics . . . . . . . . 926.5 Trajectory Tracking of feedback-linearized System . . . . . . . . . . . . . . 97

8.1 Simplified Depiction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048.2 Full Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048.3 Tracking in x and y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

xvi

Page 17: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

List of Tables

2.1 Identified Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Page 18: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe
Page 19: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

1 Introduction

For more or less a decade, micro aerial vehicles, often in form of an autonomously flyingdrones, have been receiving ever-increasing attention. This is due to many factors, amongthem their ability to perform vertical take-offs and landings (VTOL) as well as hoveringin mid-air. Already then, [Bouabdallah et al., 2004a] noted that ’recent developmentsin high density power storage, integrated miniature actuators and MEMS (Micro Elec-tromechnical Systems) have made autonomous miniaturized flying robots possible’. Greatadvances in the utilized equipment have been made since, and nowadays sufficiently ac-curate technology is affordable and diversely deployable. Hence, VTOL’s, often in formof quadrotors, find frequent use not only in academic circles. In many scenarios it may beof interest to suspend a load below the vehicle. This can be motivated by the mere intentof transporting a high-priority cargo from A to B in a quick and safe manner, relievingtraffic volume from the street to a widely unused flight zone. The vehicle is then referredto as a delivery drone, which have been news item recently and begin to find establish-ment in everyday life. In case of a cargo transport, one might think about consideringthe load as a parameter uncertainty or an external disturbance, and derive a sufficientlyrobust control, as the important requirement in this task is to ensure stability [Bisgaardet al., 2010]. In the latter work, an adaptive control scheme with a slung load estimatorthat allows swing-stable transport has been developed. Beyond this, assistance in rescueand exploratory missions, also in contaminated and hazardous surroundings, the distribu-tion of pesticides, environmental monitoring or cooperative manipulation [Palunko et al.,2012] come to mind. Often, these applications bear the necessity of positioning the pay-load more or less rigorously, wherefore robust approaches without explicit considerationof the load dynamics, or even position, cease to suffice. In outdoor applications this iswithout question largely complicated by environmental factors like wind gusts, which arenot predictable and, thus, neither fully compensable. In indoor and close to ground op-erations, trajectory tracking capacities are of prevailing significance. Due to its indirectactuation and free swing effects, rigorous positioning of the payload is a sophisticated task.This may be accomplished by means of differential flatness [Sreenath et al., 2013a,b] or

1

Page 20: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

1 Introduction

model-based trajectory optimization [Tang and Kumar, 2015]. We pursue the objective ofaccomplishing this task - notably, not in the case of aggressive maneuvers - with simplerand widely established means. Herein lies predominant motivation for the project itself,and in the following sections a variety of control approaches is to be evaluated with regardto performance as well as real-life applicability.

2

Page 21: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2 Theoretical Background

The most distinctive feature of any quadrotor is given by its four pairwise counteractingrotors. This configuration allows the vehicle to carry out advanced aerial maneuvers, whilefurthermore putting an end to the necessity of providing a tail rotor. Torque is inducedby variation of the respective rotor speeds, as pictured in Figure 2.1. In spite of theseseemingly numerous configurations, a quadrotor is always an under-actuated system, as ithas four actuators facing six degrees of freedom (DOF) a rigid body exhibits in Euclideanspace.

Figure 2.1: Rotor Configurations [Araar and Aouf, 2014]

3

Page 22: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2 Theoretical Background

By introducing a point mass, suspended with a taut cable, two more DOF’s are added. Intotal, this yields a system with four degrees of under-actuation, wherefore thought mustbe put to which DOF’s are to be controlled. Forces (and ultimately moments) exerted bythe rotors may be approximated from the respective rotor speeds Ωi:

fi = κth Ω2i , (2.1)

Here, κth denotes the thrust factor. Roll and pitch torque are induced by rotor displace-ment from center of gravity a. Lastly, the yaw torque is generated by the difference incounter torque between the two pairs of rotors, in dependence on the drag factor κdr.In the work at hand, attitude as well as trajectory tracking controllers are designed withrespect to the virtual control output [f, τφ, τθ, τψ]T , which reads total thrust, roll-, pitch-and yaw-torque, in this order. Thereby, model as well as control derivations are facilitatedsignificantly. The transformed outputs are related to the actual output in the followingway:

f = f1 + f2 + f3 + f4 (2.2)

τx = τφ = a (f2 − f4) (2.3)

τy = τθ = a (f1 − f3) (2.4)

τz = τψ = κdrκth

(f1 − f2 + f3 − f4) (2.5)

which, if brought to matrix form, may be rewritten asf

τφ

τθ

τψ

= M

f1

f2

f3

f4

, M =

1 1 1 10 a 0 −aa 0 −a 0κdrκth−κdrκth

κdrκth

−κdrκth

. (2.6)

This is a regular matrix, and the inverse reads

M−1 =

14 0 1

2a14κthκdr

14

12a 0 −1

4κthκdr

14 0 − 1

2a14κthκdr

14 −

12a 0 −1

4κthκdr

, (2.7)

wherefore transforming between the two depictions is unproblematic. Thrust and drag

4

Page 23: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2.1 Assumptions and Parameters

coefficients have also been determined in a previous work and are listed in Table 2.1.

2.1 Assumptions and Parameters

As the focus of this work lies in the first assessment of control strategies for the under-actuated system, the model is chosen with a suitable level of complexity. This comes atcost in accuracy, but the subsequently described simplifying assumptions should allowa realistic evaluation of various control approaches. As already stated, the quadrotoritself is considered a rigid body. In addition to the geometry specifications this findsrepresentation in body mass mB as well as body tensor of inertia IB. The latter has beendetermined in a previous work and is formulated with respect to the quadrotor’s principalaxis, reducing it to

IB =

Ixx 0 00 Iyy 00 0 Izz

. (2.8)

In the calculation of air resistance coefficients, the body is assumed to be a sphere in afirst draft. These coefficients are therefore identical for motion in all directions. It hasalso been part of a previous work, and the rough estimates are given in Table 2.1.In absence of direct actuation and enhanced by the free suspension effect, the load issubject to moderate angular accelerations, wherefore its representation as a point massis a well-founded assumption. This is further supported by the fact that its moment ofinertia with respect to the inherent main-axis is negligible in comparison to the actinginertia when rotated around the suspension point. Ultimately, with Steiner’s Theorem,load inertia accounts to

IL = mL l2 .

Beyond this, the equations of motion are derived under the assumption that body centerof gravity (COG) and suspension joint coincide; furthermore, that the rope is thin, non-elastic and taut at all times. Therefore, it is not provided with quantities such as mass,drag coefficients or spring constants. This is a commonly chosen simplification [Palunkoet al., 2012], but has been criticized and revised by [Bernard and Kondak, 2009], as therope may start to oscillate itself. However, in the aforementioned work, significantly largerweights featuring (1.5− 4.5 kg) have been transported, so it is likely an apt approach toforgo these effects in the work at hand.

5

Page 24: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2 Theoretical Background

A detailed model of the electrically driven rotors with respect to mechanical and aerody-namic properties, as roughly described in Section 2, is foregone. As motor reaction timesare small in comparison to the quadrotor system as a whole, this is a proper simplifi-cation [Hehn and D’Andrea, 2011a]. However, as actuator saturation causes the risk ofyielding the actuators not responsive, their output is capped by introducing a saturationat maximum propulsion. In general, the gained facilitation in deriving control algorithmslikely accounts for the loss in accuracy and, naturally, the model can be expanded byrotor dynamics as well as explicit models of the electric motors at any later point.The total of four rotors is assumed to exert

fmax = 2 · (mB +mL) · g , (2.9)

if all motors run at full speed, which is very close to the measured values. From fmax, themaximum thrust of one rotor can be calculated:

fi,max = 14 · fmax = 1

2 · (mB +mL) · g . (2.10)

mB 2.24 kg Mass of QuadrotormL 0.118 kg Mass of suspended Loada 0.332m Displacement of Rotors from COGIxx 0.0363 kg

m2 Body Moment of Inertia - xIyy 0.0363 kg

m2 Body Moment of Inertia - yIzz 0.0615 kg

m2 Body Moment of Inertia - zl 0.62m Length of suspension Cableκth 9.5 · 10−6 Thrust Coefficientκdr 1.7 · 10−7 Drag Coefficientb 0.0011 Nm

rad·s Friction Coefficient in JointcB 1.2 N

(m/s)2 Drag of Body - unidirectionalcL 0.3 N

(m/s)2 Drag of Load - unidirectional

Table 2.1: Identified Parameters

6

Page 25: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2.2 Deriving the Equations of Motion

The resultant torques for pitch and roll are obtained easily and account to

τθ,max = τφ,max = a fi,max , (2.11)

whereas the yawing-moment is significantly smaller with

τψ,max = 2 · κdrκth

fi,max . (2.12)

2.2 Deriving the Equations of Motion

The following section offers background on kinetics as well as kinematics of the multi-body system. The derived model is complex, and it will be reduced accordingly for thesubsequent control design.

2.3 Kinematics

In order to properly describe position and pose of quad-copter and load, three frames areprovided. The inertial- or world frame will be depicted with W. It defines the directionsof the unit vectors and moreover the inertial origin. In Figure 2.2 the simplified planar case([xW , zW ]) is depicted. Velocities are assumed to be slow enough to neglect Coriolis-effectscaused by the earth’s rotation, a common and reasonable simplification [Palunko et al.,2012]. The position of the vehicle, more precisely that of its center of gravity, expressedin inertial coordinates, is given by a translation along WpB; the load, analogously, byWpL. The vehicle’s COG itself denotes the origin of the body-fixed frame B. Thelatter is a moving reference frame whose axes always parallel the body’s principal axes.It accounts for the instantaneous vehicle orientation - relative to the inertial frame. Thedefinition with respect to the principal axes is helpful in the formulation of the equations ofmotion, particularly in case of momentum balances, as will be seen shortly. Furthermore,all gyroscopic measurements provide data in body-fixed coordinates, wherefore means oftransforming between B and W must be found in any case. Lastly, the load-frameL is introduced. Its origin is placed in the COG of the load itself and the zL-axis isaligned such that it always points toward the suspension joint.

7

Page 26: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2 Theoretical Background

a

Figure 2.2: Reference Frames for the Planar Case

2.3.1 Quadrotor Kinematics

A common approach for the definition of vehicle orientation in aerospace applications isgiven by the Yaw-Pitch-Roll, or Tait-Bryan formalism. It denotes a sequence of rotationson SO (3), utilizing Euler angles, however, about all three axes. It is, therefore, a slightlyalternated form of the Euler-formalism, and in case of intrinsic rotations about the currentaxes, the sequence reads z−y′−x′′. In general, a rotation about the z-axis that transformsa vector from the originating to the new frame is given by

RRRz (ψ) = Rψ =

cos (ψ) − sin (ψ) 0sin (ψ) cos (ψ) 0

0 0 1

. (2.13)

An equally directed rotation about the y-axis is achieved through

RRRy (θ) = Rθ =

cos (θ) 0 sin (θ)

0 1 0− sin (θ) 0 cos (θ)

, (2.14)

8

Page 27: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2.3 Kinematics

and in case of rotations about x, the matrix accounts to

RRRx (φ) = Rφ =

1 0 00 cos (φ) − sin (φ)0 sin (φ) cos (φ)

. (2.15)

The total rotation resulting from the series therefore reads

BWRRR = RRRφRRRθRRRψ =

cψ cθ cθ sψ −sθ

cψ sφ sθ − cφ sψ cφ cψ + sφ sψ sθ cθ sφ

sφ sψ + cφ cψ sθ cφ sψ sθ − cψ sφ cφ cθ

(2.16)

and denotes the total rotation of a vector from the world- to the body-fixed frame. Forclarity reasons c = cos , s = sin. The reverse operation can be carried out by inverting thematrix, or, as rotational matrices are orthogonal, by reversing the sequence of transposedmatrices:

WB RRR = RRR′ψRRR

′θRRR′φ . (2.17)

Therefore, the vehicle pose is unambiguously defined by

ζ =

φ

θ

ψ

. (2.18)

This transformation is applicable to thrust force and translational motion components.In case of the rotational sub-system, circumstances are less obvious, as the chosen inertialangular velocities and accelerations are defined in their respective current frames. Thismust be considered, and the body-fixed angular rates therefore result from a summationof non-equally transformed inertial rates:

BωB:=ω =

p

q

r

= BφRφ+ B

θRθ + BψRψ . (2.19)

9

Page 28: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2 Theoretical Background

Intrinsic inertial rotations are expressed separately in their current frames, wherefore wecan rewrite the above as:

ω = BφR

φ

00

+ BθR

0

+ BψR

00ψ

=

BφR

1 0 00 0 00 0 0

+ BθR

0 0 00 1 00 0 0

+ BψR

0 0 00 0 00 0 1

φ

θ

ψ

(2.20)

Obviously, all line-by-line particular transformations can be united in a single matrix -henceforth and commonly denoted with W . Transforming from inertial- to body-fixedcoordinates, the formulation is relatively straightforward. The reciprocal operation, how-ever, is much less intuitive. As ω is a summation of all inertial angular velocities, theirrepresentative quanta in the body-fixed frame would have to be identified, and trans-formed separately into the current frames. Luckily, this can be foregone by inverting theresulting overall transformation matrix W . In deriving the latter, it is advisable to startwith the interdependence between p and φ. The rotation about φ with respect to thex′′-axis correlates the body-fixed frame with the last of the intermediate frames. As φ isdirected along x′′, it is intuitive to state from understanding that

p = φ , (2.21)

which is easily proven with (2.20) in mind, as

BφR = Rφ =

1 0 00 cos (φ) − sin (φ)0 sin (φ) cos (φ)

(2.22)

andRφ (1, 1) = 1 . (2.23)

If this is carried out analogously for the remaining two inertial angular velocities,

BθR = RφRθ (2.24)BψR = RφRθRψ , (2.25)

10

Page 29: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2.3 Kinematics

one ultimately obtains

W =

1 0 − sin (θ)0 cos (φ) sin (φ) cos (θ)0 − sin (φ) cos (φ) cos (θ)

, (2.26)

which allows to transform between inertial and body-fixed rotational coordinates as fol-lows:

ω = Wζ . (2.27)

The reverse operation requires

W−1 =

1 sin (φ) tan (θ) cos (φ) tan (θ)0 cos (φ) − sin (φ)0 sin(φ)

cos(θ)cos(φ)cos(θ)

. (2.28)

Notably, as det (W ) = cos (θ), pitch angles will have be lower than 90 degrees at alltimes. This, however, depicts an extreme scenario, wherefore it is not problematic with thepresent ambitions in mind. The link between inertial and body-fixed angular accelerationsis obtained by deriving (2.27) with respect to time, yielding

ω = W ζ +Wζ . (2.29)

2.3.2 Load Kinematics

As mentioned above, L is chosen to be located in the loads COG, and accordingly,rotated around the cable suspension. It is aligned in such a way, that the translationfrom load to body, inside the load-frame itself, is given by a simple translation along theinstantaneous zL-axis:

LpB =

00l

(2.30)

The assumed sequence of rotations from W to L is, intrinsically expressed, y − x′,and the position of the load in the inertial frame and relative to the vehicle accounts to

WpL = WpB + WL R (−LpB) , (2.31)

11

Page 30: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2 Theoretical Background

whereWL R = L

WR−1 = (Rx (φL) Ry (θL))−1 . (2.32)

Expressing the vehicle’s position with respect to the load is accomplished by bringing thesecond term of (2.31) to the other side. Thereby, one may easily choose to express thesystem in [xB, yB, zB]T , or, if desired, featuring [xL, yL, zL]T . Velocities as well as accelerationsare obtained without problems by deriving the respective components.

2.4 Rigid Body Dynamics

In order to develop a dynamic model of the copter-load system, the equations of motionare to be derived according to both, Newton-Euler as well as Lagrange-Euler formalisms.The Newton-Euler approach, being the less abstract of both, combines Newton’s secondlaw for describing translational - with Euler’s equation for rotational motion of a rigidbody. Assuming a body-fixed frame that origins in its center of mass and whose axesalign with the principal axes, the equations of motion can be expressed as m I3×3 ∅3×3

∅3×3 J

+ ω ×mvω × Jω

= fτ

, (2.33)

where J denotes the rigid body’s tensor of inertia and I3×3 a three-dimensional identitymatrix. v is the translational velocity vector. f and τ are the externally induced forcesand torques that are assumed to act directly on the COG. In case of a multi-body system,as present, these equations must be set up for each component, taking the inter-bodyforces and torques into account.For redundancy reasons, the multi-body systems is to be described by means of theLagrange-Euler formalism - a good overview of which is found in [Sagatun and Fossen,1991]. The Lagrangian of a system is given by

L = K − P , (2.34)

where K denotes the total kinetic energy, and P a referenced potential energy. Theseenergies must be set up utilizing a suitable set of generalized coordinates q, with

f i (q1, ..., qn, t) = 0 , i = 1, ..., k , (2.35)

12

Page 31: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2.4 Rigid Body Dynamics

namely, coordinates that are independent of each other. For a conservative system, theLagrangian equations of the second kind read

0 = d

dt

(∂L∂qi

)− ∂L∂qi

. (2.36)

To a certain extent, they are applicable on non-conservative systems. A vector of gener-alized forces, usually denoted with Q, may be introduced. Its entries are defined as

Qi =∑j

fj ·∂rj∂qi

, (2.37)

and represents a projection of the induced forces fj into the configuration space spannedby the chosen generalized coordinates. The introduction of a dissipation function V ,with

Qfri = −∂V

∂qi

allows the inclusion of velocity-dependent dissipation, such as air resistance or frictionterms. With generalized forces and a dissipation function, Lagrangian equations of thesecond kind can be set up for the system of interest as

Qi = d

dt

(∂L∂qi

)− ∂L∂qi

+ ∂V∂qi

, (2.38)

thereby furthermore yielding equations of motion of a form that shows certain advantagesin control design tasks (c.f. Section 6.2).

2.4.1 Dynamic Model: Newton - Euler Formalism

It is convenient to derive the translational EQM’s by formulating the equilibria of forcesin the inertial instead of the body-fixed frame, thereby avoiding the necessity of includingfictional forces. This is carried out for vehicle as well as load and, for the former, gives

mB pB = f +mB g + tL − fr , (2.39)

with WpB:=pB for readability reasons - this notational simplification will be applied to allvectors expressed in the world-frame. The induced forces represent thrust, gravitationaleffects, the tension force in the suspension, and lastly an optional air resistance term - in

13

Page 32: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2 Theoretical Background

this order, and expressed in the inertial frame. In case of the load, which is not directlyactuated, the according term is dropped, yielding

mL pL = mL g + tB − fr . (2.40)

The notation is chosen in the same simplified manner from above. These equations arelinked via the tension force. By elimination, three translational equations of motion areobtained. However, as thrust is expressed in the body-fixed frame, it must be transformedaccordingly

f = WB RRR

00f

. (2.41)

The inclusion of linear friction is trivial, and air resistance in form of quadratic dragaccounts to

fr,i = |vi| vi cj,i , (2.42)

for each translational velocity component i, body j, and associated air resistance coeffi-cient cj,i. Transformations can be forgone under the assumption of a sphere, which canbe extended to better accuracy at any later point in time.The formulation of the rotational equations of motion must be performed with care.If they were to be set up in the inertial frame, this would require the utilization of anon-diagonal inertia tensor as well as accordingly transformed torques. Therefore, it isadvisable to utilize the body-fixed frame in the formulation (2.33) and transform the ob-tained angular accelerations subsequently, according to (2.29). The load is considered byformulating a momentum balance around the suspension, which, expressed in the worldframe, accounts to

mL ·

WL R

00−l

× pL = mL ·

WL R

00−l

× g , (2.43)

× denoting the cross product of vectors. Thereby, the set of equations is complete andmay be solved for the respective accelerations with regard to a formulation in either loador vehicle coordinates.

14

Page 33: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2.4 Rigid Body Dynamics

2.4.2 Dynamic Model: Euler - Lagrange Formalism

With the kinematic relations at hand, the Lagrangian equations can be set up withcomparably little effort. Translational kinetic energy

Ktrans = 12v

Tmv (2.44)

must be set up for copter and load. Special attention must be paid to the formulation ofthe rotational energy term of the copter, which accounts to

Krot = ζTW TIBWζ . (2.45)

Expanded, this reads

Krot =Ixx(φ− ψ sin (θ)

)2+ Iyy

(θ cos (φ) ψ sin (φ) cos (θ)

)2

+ Izz(θ sin (φ)− ψ cos (φ) cos (θ)

)2,

(2.46)

which can be confirmed from [Bouabdallah, 2007]. Potential energy in relation to theinertial system is given by

P = mgz , (2.47)

and, analogous to the above, has to be set up for copter as well as load. Up to this point,developing the Lagrangian system is certainly as straightforward as it is the case in theNewton derivation. The constitutive equations are hereby given, and by utilization of thealready established kinematic relations, the un-actuated model is complete.However, regard must be paid to the formulation of the generalized forces and moments asstated in (2.37). This denotes a crucial part in the derivation of the Lagrangian equations,as these expressions change when a different set of generalized coordinates is chosen. Inany scenario at hand, this is straightforward for the generalized forces - one merely needsto select the respective element of f . It is, however, less obvious in case of the generalizedmoments, as they must be transformed into their respective sub-frames. Therefore, incase of the attitude-dynamics, neither matrix W nor its inverse are applicable.The generalized moment in the φ-sub-frame, resulting from the actual moments expressedin the body-frame requires the transformation R−1

φ , from (2.22). Analogously, the θ-sub-space requires the calculation of R−1

θ R−1φ , and in case of ψ one needs R−1

ψ R−1θ R

−1φ = W

B RRR.Subsequently, the respective entries must be selected, and ultimately the generalized

15

Page 34: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2 Theoretical Background

moments may be obtained:Qφ

=

1 0 00 0 00 0 0

R−1φ +

0 0 00 1 00 0 0

R−1θ R

−1φ

+

0 0 00 0 00 0 1

R−1ψ R

−1θ R

−1φ

τφ

τθ

τψ

=

1 0 00 cos (φ) − sin (φ)

− sin (θ) cos (θ) sin (φ) cos (θ) cos (φ)

τφ

τθ

τψ

(2.48)

A similar procedure is of need, if the generalized moments acting in the load-sub-framesare to be determined. Again, r, from (2.37), denotes the location of the exerted forceor moment. We can take from (2.32) that r = f (pL, φL, θL) if a set of generalized coor-dinates with [xL, yL, zL]T is chosen. However, if a set of generalized coordinates featuring[xB, yB, zB]T is elected, this yields r = f (pB) = pB. As we derive with respect to φL orθL, the latter results in zero-entries at the respective positions of the generalized forcevector. Therefore, only the second of the two sets of coordinates is examined in detail, atleast in case of the full 3D system. This is subsequently checked against the derivation bymeans of Newton-Euler to ascertain that both are flawless. As stated in Section 2.3.2, anexpression in [xL, yL, zL]T then merely requires an inversion of the kinematics in case of theNewton-Euler approach, as the constitutive equations remain unchanged. The desired setof equations is thereby obtained with less effort and nevertheless certain to be correct.This procedure will be presented in more detail in Chapter 8.Non-conservative velocity dependent dissipative forces are calculated making use of dis-sipation functions. These account to

V1 = 12 bi |wrel|2 (2.49)

in the case of linear (here: angular)- and

V2 = 13 ci,j |vrel|

3 (2.50)

16

Page 35: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2.5 Linearization

in case of quadratic resistance (c.f. (2.42)). Ultimately, with these tools at hand, thenon-linear model of the copter-load system can be developed.

2.5 Linearization

In order to deploy linear control strategies such as pole-placement or linear quadraticregulation, a linear time-invariant (LTI) model of the system is required. This will happenat hand of the previously derived non-linear equations. In general, linearization in theproximity of an operating point [x1...xn] is achieved by means of a Taylor-series, whichis discontinued after the linear term. In the following, xδ denotes deviations from thestationary point

xi = xi + xδi . (2.51)

Then, for an arbitrary non-linear function h, the Taylor-series is given by

h (x1...xn) ≈ h(x1...xn) +i=n∑i=1

∂h∂xi

∣∣∣∣∣x1...xn

(xi + xδi − xi

), (2.52)

2.5.1 Linearized State-Space Expression

A linear state space representation of the model bears many advantages with regard tosystem analysis in general, and is obligatory in the development of any LQ regulator. Anon-linear model of the form

dx

dt= f(x,u) (2.53)

is required. Here, u denotes a vector containing the manipulated variables, the vector

y = g (x,u) (2.54)

measured or observed output. Deviations from the operating point are depicted as fol-lows

x = x+ xδ , u = u+ uδ , y = y + yδ , (2.55)

17

Page 36: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

2 Theoretical Background

and the Taylor-series is formulated. Here, the derivatives are replaced by Jacobian ma-trices of the vectorial functions, giving

˙x+ xδ ≈ f(x, u) + ∂f∂x

∣∣∣∣∣x,u

xδ + ∂f∂u

∣∣∣∣∣x,u

uδ , (2.56)

and˙y + yδ ≈ g(x, u) + ∂g

∂x

∣∣∣∣∣x,u

xδ + ∂g∂u

∣∣∣∣∣x,u

uδ . (2.57)

If the locations of world and load frame are selected to coincide, 2.56 is reduced to

xδ ≈ ∂f∂x

∣∣∣∣∣x,u

xδ + ∂f∂u

∣∣∣∣∣x,u

uδ , (2.58)

and under the assumption that y ≈ g(x, u), Equation 2.57 becomes

yδ ≈ ∂g∂x

∣∣∣∣∣x,u

xδ + ∂g∂u

∣∣∣∣∣x,u

uδ . (2.59)

Consecutively, the Jacobian matrices

A = ∂f∂x

∣∣∣∣∣x,u

, B = ∂f∂u

∣∣∣∣∣x,u

, C = ∂g∂x

∣∣∣∣∣x,u

, D = ∂g∂u

∣∣∣∣∣x,u

(2.60)

are introduced. In a breach of notation δ is omitted, and as of now, x, u and y describethe vicinity around the stationary point in the linearized model. Thus, equations (2.58)and (2.59) may be rewritten as

x (t) = Ax (t) +Bu (t) (2.61)

andy (t) = Cx (t) +Du (t) , (2.62)

the common way of depiction for a LTI system.

18

Page 37: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3 Trajectory Generation

In general, a trajectory generation problem arises when any automatic machine is to besubjected to a desired change in state. In many cases, such as autonomous flight, achange in position is denoted. Any controlled motion requires the generation of a feasibleprofile with respect to the physical restrictions, e.g. actuator limitations; insight thatis gained from knowledge of the system dynamics. Ultimately, this allows generating apath characterized by a correlation between time and position at any given point on theformer. Various approaches to trajectory generation exist, and one distinguishes betweentrajectories in the operational space, which, in this case, are given by the position ofthe vehicle in time and space, and trajectories in the actuator- or joint space. The latterrepresents the time-evolution of the joint or actuator states that may have to be calculatedfrom the operational space trajectory in accordance with the chosen controller structure,so that the desired motion is achieved. However, as all controllers designed later on are fedwith load- (or body) position coordinates, this issue is not of concern in the ongoing work.A functional way of defining a trajectory is specifying a certain amount of intermediatepoints on a path and finding some means of ’filling the gaps’. Often this is achievedby interpolation, utilizing a polynomial of adequate order to satisfy preset boundary (oreven intermediate) conditions. Low-order polynomials naturally reduce the achievableperformance, whereas more complex profiles allow defining a variety of constraints. Stateof the art tools for efficient global optimization even allow real-time generation of complextrajectories. Regarding quadrotors, the reader is referred to [Mellinger and Kumar, 2011],featuring a flatness-based approach for the generation of minimum-snap trajectories forobstacle-inhibited indoor flight, or to [Hehn and D’Andrea, 2011b], achieving extremeaerial maneuvers with close to model-predictive performance by calculating optimal jerk-limited trajectories. Differential flatness for the quadrotor-load system with a set ofgeneralized coordinates featuring body- or load position has been shown in [Sreenathet al., 2013b], and feed-forward inputs have been calculated successfully even for load-position controlled flight. In the course of this project, however, simpler means will beapplied. This is justified by the fact that much focus is put upon linear control strategies.

19

Page 38: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3 Trajectory Generation

Therefore, the controllers will not be able to cope with necessary large deviations fromhover, which are to be expected as a result of any aggressive trajectory. Furthermore, itis again interesting to determine if the comparably sophisticated task of controlling theposition of a suspended load may be successfully mastered with established and simplemeans.

3.1 Trapezoidal Velocity Profiles

Trajectories utilizing trapezoidal velocity profiles are applied in many areas of automaticcontrol. They are fairly easy to generate using analytical means and offer a sufficientamount of adjustment options. A characteristic feature is the linear velocity constraintthat yields constant accelerations and, ultimately, a second order polynomial for theposition, following

p (t) = p0 + v0t+ 12at

2 . (3.1)

To achieve the trapezoidal form, the entire stretch between any initial and final positionis divided into three segments. Motion is initialized by a phase of constant accelerationwhich has to be chosen in accordance with the actuator limitations. As soon as the desiredvelocity is reached, the cruising or coasting phase begins. This section denotes movementwith a constant velocity, which is perceived as a natural way being in motion. The processis concluded with a deceleration phase, and ultimately a profile as pictured in Figure 3.1is obtained. It is notable, that the inconsistencies encountered in the time-evolution of allacceleration profiles theoretically yield infinite jerk. Unlike the constant motion bit, thismay be perceived unnatural by humans and is somewhat unfavorable for actuators andequipment. However, as all exerted forces are comparably small and slack will be induceddue to the pure feedback-structure of the controllers, this should not be considered a causeof problems.

20

Page 39: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3.1 Trapezoidal Velocity Profiles

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Po

siti

on

[m

]

0

1

2

3

4

Trapezoidal Trajectory

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Vel

oci

ty [

m/s

]

0

0.2

0.4

0.6

0.8

1

Time [s]0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Acc

eler

atio

n [

m/s

2]

-1

-0.5

0

0.5

1

Figure 3.1: Trapezoidal Velocity Profile

3.1.1 One- vs. Multi-Dimensional Trajectories

Fed a desired destination (p3), the trajectory generator is to calculate a time-optimalprofile subject to the velocity and acceleration constraints defined by the user. In thecase of a one-dimensional trajectory this is straightforward. If the action is exerted inmore than one dimension, however, some more thought should be put to the arisingcircumstances. In case of time-optimal trajectories only, the object would normally cometo a halt in some dimension(s), before eventually reaching the desired final position. Thisis, again, unnatural. More importantly, as the workload of the commands is distributedamong the same actuators, it is also prone to creating problems caused by saturatingactuators in the acceleration phase. Therefore, a different approach is proposed, andthe end-times are synchronized (Figure 3.2). To achieve this, time optimal profiles arecalculated for each of the DOF’s, and the largest value is used as a reference for theremainder.

21

Page 40: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3 Trajectory Generation

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Po

siti

on

[m

]

0

1

2

3

4

Synchronized Trajectories

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Vel

oci

ty [

m/s

]

0

0.2

0.4

0.6

0.8

1

Time [s]0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Acc

eler

atio

n [

m/s

2]

-1

-0.5

0

0.5

1

Figure 3.2: Synchronized Profiles

3.1.2 Trapezoidal Profiles with zero Initial / Final Velocities

Constraining the initial and final velocities to zero exhibits great shortcomings when apath with one or more intermediate points is defined, as it is not possible to create a con-tinuous motion. This effect can be attenuated by planning and introducing a new profilebefore motion comes to a halt [Biagiotti and Melchiorri, 2008, p:67], but this procedureis somewhat imprecise and better solutions are possible. Therefore, in this section, theimplemented procedure is presented in a simplified manner in order to facilitate under-standing the problems of greater complexity that are presented subsequently.

Time-Optimal Profiles

In general - as cruising velocity (vc) and acceleration (a) are predefined - the necessarycalculations are reduced to determining the switching times t1 and t2 that define the

22

Page 41: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3.1 Trapezoidal Velocity Profiles

acceleration and deceleration phases. However, one must account for two special cases.Firstly, the case of backward-motion; secondly, a distance that is not sufficiently extensiveto allow reaching and maintaining maximum velocity. Assuming that none of the latteris the case, the standard calculations may be carried out. Defining the acceleration timeas

Ta = vca, (3.2)

(by definition, the input values of vc and a are positive at this point) the significant timesmay be calculated easily:

t1 = t0 + Ta

t2 = t1 + p3 − p0 − aT 2a

vc

t3 = t2 + Ta

Hereafter, the respective polynomial expression for the position can be formulated:

p(t) =

p0 + 12aAcc (t− t0)2 , t0 ≤ t < t1

p1 + vc (t− t1) , t1 ≤ t < t2

p2 + vc (t− t2) + 12aDec (t− t2)2 , t2 ≤ t < t3

(3.3)

Due to the simple expressions and the integrative connection between acceleration, ve-locity and position, only the latter is presented in detail. Heading backward is easilyincluded by providing an a priori sign testing procedure

d = sign (p3 − p0) , d ∈ 1, 0,−1 (3.4)

directions of cruising, acceleration as well as deceleration are then set as

vc = d · vc (3.5)

aAcc = d · a (3.6)

aDec = −aAcc (3.7)

In caset2 ≤ t1 ≡ aT 2

a ≥ |p3 − p0| , (3.8)

23

Page 42: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3 Trajectory Generation

there is not enough room to establish a coasting motion, in which case a wedge profile(Figure 3.3) is generated.

Po

siti

on

[m

]

-0.1

0

0.1

0.2

0.3

0.4

0.5

Vel

oci

ty [

m/s

]

0

0.2

0.4

0.6

0.8

Time [s]0 0.5 1 1.5

Acc

eler

atio

n [

m/s

2]

-1

-0.5

0

0.5

1

Figure 3.3: Wedge Profile, vMax = 1

The peak velocity can be calculated analytically to

|vw| =√a |p3 − p0| , (3.9)

and the trajectory may then be calculated similar to the trapezoidal one, the differences

24

Page 43: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3.1 Trapezoidal Velocity Profiles

being that t1 and t2 correspond and that vc is being replaced by vw.

Preassigned Durations

Introducing a given end-time, which was the degree of freedom in the calculation of time-optimal profiles, creates the need of relaxing the velocity constraint, the accelerationconstraint, or both of the former. A reduced coasting velocity can, for instance, beachieved by shortening acceleration as well as deceleration time by the same amount. Incase of null initial and final velocities, an analytical solution is found by calculating thistime-interval

∆ = −A2 +√A2

4 , (3.10)

which is taken from [Haschke et al., 2008] and slightly alternated, with

A = T − p3 − (p0 + (p1 − p0) + (p3 − p2))vc

(3.11)

andT = t3,New − t0 . (3.12)

The new switching times are then obtained easily as

t′1 = t1 −∆ , t′2 = T − ((t3 − t2)−∆) , t′3 = T , (3.13)

and by substituting them into the set of equations given in (3.3), the adjusted profile iscompleted.

3.1.3 Trapezoidal Profiles with non-zero Initial / Final Velocities

As mentioned above, it is necessary to allow for arbitrary velocity specifications on thesection bounds if continuous path motion is to be achieved. Hereby, the task of gener-ating time-optimal as well as time-constrained trajectories is complicated significantly,particularly in case of the latter, as will be seen shortly.

25

Page 44: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3 Trajectory Generation

Time-Optimal Profiles

The first major deviation from the procedure presented above lies in the fact that trape-zoidal and wedge profiles are not sufficient for achieving time-optimality with all con-stellations of initial / final velocities and positions. Therefore, a profile that features anacceleration or deceleration phase only, must be introduced. The resulting velocity profileis a line connecting v0 and v3 (Figure 3.4), which, however, may be followed by a cruisingphase.

Figure 3.4: Time-Optimal Velocity Profiles with non-zero Initial / Final Values

Furthermore, caution must be exercised when identifying the signs of constant velocitiesand accelerations. The assignment procedure from section 3.1.2 must be replaced by amore extensive one: Firstly, the minimally required time for a transition from initial tofinal velocity is calculated as

tMin = |v3 − v0|a

, (3.14)

which is then succeeded by identifying the corresponding travel distance:

pMin = tMinv0 + v3

2 . (3.15)

The signs are then identified according to

d = sign (p3 − pMin) , (3.16)

26

Page 45: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3.1 Trapezoidal Velocity Profiles

which is also taken partly from [Haschke et al., 2008] and extended in such a way that itmay take commanded final velocities into account. Having a closer look at the physicalcontext, it becomes apparent that not only the displacement defines the direction ofcruising, but rather the entirety of velocities and positions. The generator as designedeven incorporates demands such as positive displacements that end with negative finalvelocities, or displacements that are not reachable without a period of translation in theopposite direction, as pictured in Figure 3.5.

Time [s]0 0.5 1 1.5 2

Acc

eler

atio

n [

m/s

2]

-1

-0.5

0

0.5

1

Vel

oci

ty [

m/s

]

-1

-0.5

0

0.5

1

Po

siti

on

[m

]

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4New sign Allocation

Time [s]0 0.5 1 1.5 2

-1

-0.5

0

0.5

1

-1

-0.5

0

0.5

1

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4Classical sign Allocation

Figure 3.5: Effect of insufficient Sign Allocation Procedure (right)

27

Page 46: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3 Trajectory Generation

Furthermore, another practical side benefit is exerted: Any scenario with pMin = p3 willfeature the line-profile. In this - and only in this - case, d will turn zero - an eventuality thatmay be identified easily with a simple if-construct, thereby putting an end the necessityof any further, perhaps sophisticated, calculations. The interpolation is trivial, however,one aspect has to be noted: The need to identify the sign remains, and in this case, onemust use an implicit formulation setting a := v3−v0

TMin. The scenarios featuring trapezoidal

as well as wedge profiles remain unchanged, and the procedure is similar to the above.Firstly, the characteristic points in time and position are calculated:

∆t1 = |vc − v0|a

(3.17)

∆t3 = |v3 − vc|a

(3.18)

∆p1 = v0 + vc2 ∆t1 (3.19)

∆p3 = v3 + vc2 ∆t3 (3.20)

Again, the calculation of feasible time-spans is guaranteed as a is positive by definition.For a proper computation of any ∆p, the sign-allocation to vc must be carried out inadvance, and subsequently one obtains:

t1 = t0 + ∆t1 (3.21)

p1 = p0 + ∆p1 (3.22)

p2 = p3 −∆p3 (3.23)

At this point, the check for a straight-line profile has been carried out inevitably andthe remaining cause to be identified is whether to generate a wedge- or a trapezoidalprofile. This is achieved by calculating the duration of the cruising period, which, withthe previously obtained data, accounts to

∆t2 = p3 − (p0 + ∆p1 + ∆p3)vc

. (3.24)

In case the calculation yields a negative time-span, coasting velocity cannot be reachedand a wedge-profile must be calculated. For the case of an existing coasting segment,

28

Page 47: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3.1 Trapezoidal Velocity Profiles

equations (3.3) apply when alternated so that the first one reads

p (t) = p0 + v0 (t− t0) + 12aAcc (t− t0)2 , t0 ≤ t < t1 . (3.25)

For a wedge-profile, again, new switching times and positions must be obtained. This canbe achieved analytically according to

p1 = p2 = p0 + p3

2 + v3 − v0

2 aAccv0 + v3

2 (3.26)

t1 = t2 = t0 −v0

aAcc+√(

v0

aAcc

)2+ 2 p1 − p0

aAcc(3.27)

with a peak velocity ofv1 = v′c = v0 + aAcc (t1 − t0) , (3.28)

and again equations (3.3) with (3.25) apply, so long as the middle one is foregone and vcis replaced by v′c.

Preassigned Durations

The scenario presented in this Section bears, by far, the greatest complexity of all proce-dures that are treated in the course of this work. The general idea is simple: To achievecoinciding end times in all directions, the respective cruising velocity is adjusted accord-ingly. The accelerations remain unchanged, and in general this should yield the mostnatural case of longest possible cruising periods. In [Haschke et al., 2008], a double-deceleration profile that may be of need when trajectories featuring initial velocities aresubjected to a time-constraint is noted. If extended to non-zero final velocities, this forcesthe inclusion of a double acceleration profile (Figure 3.6, Case 1) as well. Moreover, nowinitial and final velocities may differ in their signs, and the direction of cruising, again, isalso influenced by the distance to be traveled. Furthermore, a downward-directed trape-zoid with velocities all smaller than cruising, or its negative complement, may appear insome cases. These are all portrayed in Figure 3.6. It is of importance to note once more,that arbitrary combinations of positive/negative initial, final as well as cruising velocitiesare possible.

29

Page 48: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3 Trajectory Generation

Figure 3.6: Possible Velocity Profiles

Relief can be drawn from the fact that the straight-line and wedge profiles may be dropped,as they appear exclusively in the presence of time-optimality. The rare case of equal max-imum final times for more than one direction is detected in advance and leads to thecalculation of time-optimal trajectories for the respective DOF’s, as described in moredetail in Section 3.1.5. The prospective calculations will all be carried out under theassumption that the adjusted profiles are always split into three parts - two accelerationor deceleration bits, and one with coasting motion. In theory, the latter may be infinites-imally small. Furthermore, the sign allocation is carried out as in (3.4). However, insteadof defining the directions of acceleration, deceleration and coasting, deviating from Section3.1.2, the entire profile is flipped by setting

vi = d vi

pi = d pi , i = 1..n(3.29)

once before, and once after the calculation of the respective profile, as proposed in [Bia-giotti and Melchiorri, 2008]. With the sign-adjusted boundary conditions and the time-

30

Page 49: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3.1 Trapezoidal Velocity Profiles

constraint, the profiles may be generated by solving

p3 − p0 = ∆t1

vr + v0

2 + ∆t3

vr + v3

2 + vr (T −∆t1 −∆t3) (3.30)

for vr, using (3.12) and (3.17). This is not trivial, as the equation is quadratic in vr

and furthermore includes absolute values. After the unsuccessful assessment of relevantliterature, the only solution that has proven to work sufficiently stable is the following:The absolute values are broken down by hand for the presented four profiles (Figure 3.6),the resulting quadratic equation is then solved using the MATLAB R©/Symbolic MathToolbox, and the appropriate constitutive equations for vr are identified. In the trajec-tory generator itself, all possible vr are calculated and subsequently checked against theboundary conditions on the velocities. In rare cases, more than one possible profile ex-ist, wherefore the energetically favorable double acceleration and deceleration profiles areevaluated before the trapezoidal ones using an if-elseif selection algorithm, which allowsidentifying the best possible profile unambiguously. The latter is ultimately fed to the in-terpolation polynomials in order to generate the time-evolution of the adjusted trajectory.For the sake of clarity, this procedure is depicted in UML Activity Diagram notation inFigure 3.7. As signs on accelerations and decelerations can not be set in advance, this isaccomplished by using the implicit method setting (a := vr−v0

∆t1) for the first acceleration

part, and (a := v3−vr∆t3

) in the last segment. As the durations are calculated in accordancewith the values for a and vr, this is accurate and yields the required signs (after the profilehas been flipped back):

p(t) =

p0 + v0 (t− t0)) + 12vr − v0

∆t1

(t− t0)2 , t0 ≤ t < t1

p1 + vr (t− t1) , t1 ≤ t < t2

p2 + vr (t− t2) + 12v3 − vr

∆t3

(t− t2)2 , t2 ≤ t < t3

(3.31)

In the event of a straight-line profile for the time-optimal trajectory to be adjusted, thecode will not find a feasible solution, which lies in the nature of the utilized equations.This is easily understood, as pMin = p3, and to this point, the accelerations are fixed- therefore, any induced period of cruising would overshoot the target position by therespective amount. One could evade this by forcing a continuous motion, much likeit is done in Figure 3.5. Another option would be moving the accelerating part to anintermediate point in time and position, thereby relieving the actuators. As of now,

31

Page 50: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3 Trajectory Generation

however, a different solution is found: The acceleration is artificially reduced by 5%. Thisallows for some continuous motion, and due to the small reduction, the risk of creatingan infeasible scenario is almost negligible. Nevertheless, it is checked and will prompt anerror-message to inform the user.

Figure 3.7: Procedure of Identifying and Calculating the different Profiles

32

Page 51: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3.1 Trapezoidal Velocity Profiles

3.1.4 Preassigned Durations with reduced Accelerations

It might be of interest to adjust not only the cruising velocity, but also the accelera-tion values. Thereby, the actuator workloads are lowered and, generally, smoother mo-tion is achieved. However, the wedge profile featuring acceleration phases only is notfeasible for all boundary conditions under the constraint of limited acceleration and ve-locity. Therefore, either a wedge profile with two differing accelerations, or an alteredtrapezoid-calculation is of need. Developing this is, however, associated with a lot of ef-fort. Furthermore, if a lower-than-maximum cruising velocity is allowed, this constitutesan optimization problem. For the aforementioned reasons, simpler means that, to a greatextent, make use of the framework that has already been developed are to be found.Using the given code, one has the option of enclosing it in a while loop that graduallylowers the acceleration constraint, until the solution becomes infeasible or the final timeis exceeded, in which case one reverts to the penultimate values. This could be donefor the time-optimal code as well as for the time-constrained one; the latter bears theadvantage of reducing the cruising velocity as well. However, this course of action hasshown some undesirable effects, such as inconsistent switching between the profiles, andfurthermore, often leads to great overshoot with respect to the final position. While thisyields the lowest-possible acceleration values, it might still be unfavorable in many cases,for instance in the presence of obstacles, wherefore a different approach is adopted: Theprofile is selected in advance with the original values, and the loop is run for this caseonly. Furthermore, a path consistency constraint according to (3.16) is set, breaking thewhile loop as soon as the acceleration in the first segment undergoes a change in direc-tion. Naturally, the last condition may be foregone if overshoot is not a problem, therebyyielding the lowest acceleration values. An exemplary scenario with limited overshoot isdisplayed in Figure 3.8. Velocity as well as acceleration are limited at one, and the desiredend-time is six seconds. This procedure works well in many cases, however, there existsome combinations of initial/final values and durations, that cause errors in a seeminglyrandom fashion. Due to scheduling reasons, this remains a work-in-progress, but theframework is there and should be revisable at a later point without exceeding effort.

33

Page 52: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3 Trajectory GenerationP

osi

tio

n [

m]

-1

-0.5

0

0.5

Vel

oci

ty [

m/s

]

-0.4

-0.2

0

0.2

Time [s]0 1 2 3 4 5 6A

ccel

erat

ion

[m

/s2]

-0.3

-0.2

-0.1

0

Figure 3.8: Reducing both: Coasting Velocity and Acceleration

3.1.5 Superordinate Structure

After having established the background on the development of either time-optimal orscaled trajectories with arbitrary combinations of velocities, all tools that are necessary forthe actual generator are at hand. It is fed the desired initial / final as well as momentaryvalues, and implemented according to the scheme outlined in Figure 3.9. Thereby, theambition of synchronized motion for arbitrary boundary conditions - as long as the sets arefeasible - is achieved in a computationally efficient manner, that allows online re-planningwith respect to exhibited offset errors, if desired.

34

Page 53: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3.1 Trapezoidal Velocity Profiles

Figure 3.9: Superordinate Structure of Generator

35

Page 54: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3 Trajectory Generation

3.1.6 Input Shaping

Another motivation for choosing the trapezoidal velocity profile lies in the fact, that ithas certain advantageous features when dealing with translated suspension mechanisms -especially in the case of rest-to-rest motion, as exhibited, for instance, by gantry cranes(Figure 3.10). Taking into account that the quadrotor altitude controller can, if desired,work faster than the translational one, this not at all far off from the scenario dealtwith in this work. The idea is simple and efficient: Any impulse exerted to initiate orterminate motion is adjusted in a manner that accounts for the induced oscillations andintends to minimize them in advance. The most trivial case is pictured in Figure 3.11. Ifperfect knowledge of the system dynamics is assumed, and no external perturbations areintroduced, this allows creating a motion profile that yields zero residual vibration.

Figure 3.10: Gantry Crane [Singh and Singhose, 2002]

This procedure is well known and has been subject of research for more than half a decade,among the first was [Smith, 1957], establishing the term ’Posicast Control’. Obviously,the assumptions made above do not apply to real systems, and residual oscillation will re-main; in particularly with the initially developed procedures this poses a problem, as theywere very susceptible to parameter uncertainties resulting in the calculation of erroneousnatural frequencies. In recent years, much progress has been made regarding robustness[Singh and Singhose, 2002] as well as non-zero initial states [Dhanda et al., 2009], and avast amount of well-founded documentation is available. Therefore, it states a promisingapproach that might be worth looking into, as it could greatly relieve the feedback loopfrom its oscillation-reduction properties, allowing a more task-oriented design. However,

36

Page 55: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3.2 Smooth Acceleration Profiles

as this particular work focuses on direct control of the load-position instead of the quadro-tor (’trolley’) position, the compatibility of the approaches is questionable, and ultimatelyit has not been applied to any of the systems presented in the course of this work.

Figure 3.11: Shaped Inputs [Singh and Singhose, 2002]

3.2 Smooth Acceleration Profiles

For the most part, trapezoidal trajectories suffice in the ongoing work. Their advan-tages and shortcomings have been stated in the previous sections. Fifth order polynomialtrajectories may become of significance when acceleration discontinuities - that pose aburden on the electromechanical components - are to be reduced. However, in case of thequadrotor-load system, the motivation is of a different nature. In Section 6.2, a backstep-ping controller (for the body-position) is introduced. It is able to fully compensate thedynamic trajectory changes in case of a smooth acceleration profile. Therefore, a generic5th order planner is implemented.A polynomial of fifth order reads

p (t) = a0 + a1 (t− t0) + a2 (t− t0)2 + a3 (t− t0)3 + a4 (t− t0)4 + a5 (t− t0)5 , (3.32)

the six coefficients p0, a1, ..., a5 are to be noted. They allow defining a smooth trajectorybetween starting point (p0) and target (p1), for which acceleration, velocity and position

37

Page 56: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

3 Trajectory Generation

values have been predefined:

p (t0) = p0 , p (t1) = p1

p (t0) = v0 , p (t1) = v1

p (t0) = a0 , p (t1) = a1

The according coefficients in (3.32) may be obtained analytically [Biagiotti and Melchiorri,2008] for a specified end-time t1:

a0 = p0

a1 = v0

a2 = 12a0

a3 = 12T 3

(20h− (8v1 + 12v0)T − (3a0 − a1)T 2

)a4 = 1

2T 4

(−30h+ (14v1 + 16v0)T + (3a0 − 2a1)T 2

)a5 = 1

2T 5

(12h− 6 (v1 + v0)T + (a1 − a0)T 2

)

(3.33)

Following the underlying work, the notation is chosen such that T = t1−t0 and h = p1−p0.This denotes the simplest case of a 5th order trajectory, as all magnitudes may evolveunconstrained on the profile as long as they meet the boundary conditions. Furthermore,neither time-optimality is demanded, nor has it been adjusted to the multi-dimensionalcase. As the trajectory generator is only required in order to assess the controller perfor-mance individually, the above suffices at this point. However, for a holistic assessment ofcontroller and trajectory performance, a more sophisticated generator will be of need.

38

Page 57: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

4 Planar Model

With the intent of reducing complexity, a two dimensional scenario is considered in afirst approach. This allows an easier understanding of the physical interrelationships, andfacilitates the deployment of various control strategies with relatively little implementationoverhead. Thereby, inadequate design approaches can be discarded before they are appliedto the full 3D case at greater expenditure.

4.1 Derivation

On the one hand, the derivation incorporates generating the equations of motion by meansof Newton-Euler and Lagrange formalisms. Naturally, the reduction to a two-dimensionalmodel reduces the set of equations and similarly the utilized parameters. The only inertiaof interest is given by Iyy, as only rotation in the x − z plane is allowed. Furthermore,thought must be put to finding a convenient representation of actuator specifications andlimitations in this simplified scenario.

4.1.1 Manipulated Variables

Even though seemingly ahead of time, it is advisable to put some thought in the expressionof the manipulated variables at this point already. Translation and rotation in the x− zplane are achieved by two rotors. More specifically, rotors 1 and 3, which are located onthe principal body axis xB. If mass and inertia quantities were to remain unadjusted, thiswould create the need of altering the rotor saturation. Maximum total thrust from (2.9)is now exerted by rotors one and three, altering (2.10) to:

f ′i,max = 12 · fmax = (mB +mL) · g = 2 · fi,max , (4.1)

39

Page 58: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

4 Planar Model

allocating them twice the power of the rotors in the full scenario. Following the schemepresented in the introduction, this output can be transformed to f ′

τ

= 1 1a −a

f1

f3

(4.2)

for facilitated handling, as pictured in Figure 4.1. This will yield a correct depiction of thetranslational dynamics with respect to the saturated actuators. Looking at the attitudedynamics, however, the procedure is problematic. In a 2D scenario, the only relevanttorque is given by pitch about yB. As

τ ′θ,max = a f ′i,max , (4.3)

the attitude control may react with twice the rate of the full scenario.Therefore, instead of forgoing rotors two and four, they are included implicitly into themodel. Looking at 2.7, we call to mind that actual control output is a summation ofthe virtual output f as well as torque τ . No torque is to be exerted about xB or zB atany point in time in the 2D case. Thus, these summands do not influence the actualcontrol output. Thrust f , however, is distributed equally in between the four pairwisecounteracting rotors, thereby avoiding the induction of torque. Under the assumptionthat induced yaw effects will be negligible (κd/κt = 0.0716), total thrust, expressed in thefull model, may be rewritten as

ftotal = f1 + f2 + f3 + f4 = (f1 + f3) · 2 (4.4)

without altering the outcome. This knowledge is included in the transformation matrix,which will be denoted with M2, and ultimately yields f

τ

= M2

f1

f3

= 2 2a −a

f1

f3

. (4.5)

In the course of the planar considerations, τθ will be denoted as τ for clarity reasons.Ultimately, all control strategies in the planar model can be developed with regard toactuator limitations that restrict the design in nearly the same way they do in the 3Dmodel, allowing for a better comparability between the scenarios.

40

Page 59: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

4.1 Derivation

Figure 4.1: Modified Control Outputs

4.1.2 Kinematics

Conditions in the planar case are strongly simplified, as the momentary pose of the quadro-tor may be expressed utilizing one body angle, and accordingly, no intermediate frames.The previously necessary series of rotations is therefore reduced to a single operation, thematrix itself to two dimensions. It is given by

WB RRR =

cos (θB) sin (θB)− sin (θB) cos (θB)

, (4.6)

and the extent of the facilitation with regard to necessary matrix calculations becomesapparent. Similarly, to account for the load position, one angle representing rotation inthe x − z sphere suffices. The current position of the load - moving in relation to theCOG, expressed in the inertial frame, then accounts to

pL = pB + cos (θL) sin (θL)− sin (θL) cos (θL)

0−l

. (4.7)

41

Page 60: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

4 Planar Model

The resulting kinematic equations account to:

xB = xL + l sin (θL) (4.8)

zB = zL − l cos (θL) (4.9)

xB = xL + θL l cos (θL) (4.10)

zB = zL − θL l sin (θL) (4.11)

xB = xL − l sin (θL) θ2L + θL l cos (θL) (4.12)

zB = zL − l cos (θL) θ2L − θL l sin (θL) (4.13)

Note, that these equations are easily rearranged such that an expression with the gener-alized coordinates [xB, zB]T is achieved. In any case, the symbol θB is chosen instead of θto improve readability.

4.1.3 Equations of Motion - Newton-Euler Formalism

Below, the - in case of the 2D scenario reduced - equations of motion of the quadrotor-loadsystem are derived in Newton-Euler fashion. They are constituted by a balance of forces indirection of each translational degrees of freedom, furthermore by two momentum balancesin the angular spaces. All motion is expressed in absolute world-frame coordinates, whichis, again, not denoted with a superscript. If the tension force is eliminated, as proposedin Section 2.4.1), the equilibria of forces in x and z give

mB · xB +mL · xL = f sin (θB)− cB · xB|xB| − cL · xL|xL| , (4.14)

and

mB · zB +mL · zL = f cos (θB)− cB · zB|zB| − cL · zL|zL| − (mB +mL) g . (4.15)

The first angular equilibrium is phrased for the vehicle body itself

Iyy · θB = τ − b ·(θB − θL

), (4.16)

42

Page 61: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

4.1 Derivation

and under the assumption of a taut cable at all times, the momentum balance for theload around the suspension joint results in

mL · l ·(l θL + zB sin (θL)− xB cos (θL)

)= −g mL l sin (θL)

−zL · |zL| · cL · l sin (θL) + xL · |xL| · cL · l cos (θL) + b · (θB − θL) .(4.17)

With the kinematic correlations presented in Section 4.1.2 the equations of motion canbe formulated and expressed formally in [xB, zB]T or [xL, zL]T and [θB, θL]T .

4.1.4 Equations of Motion - Euler-Lagrange Formalism

As mentioned afore, the cable is perceived and treated as taut throughout all motion,thus suitable sets of generalized coordinates for the system are given by

η = [xL, zL, θB, θL]T ,

or, if desired,η = [xB, zB, θB, θL]T .

The total kinetic energy of the system adds up to

K = 12 ·mB ·

(x2

B + z2B

)+ 1

2 ·mL ·(x2

L + z2L

)+ 1

2 · Iyy · θ2

B , (4.18)

and the potential energy gives

P = g · (mB · zB +mL · zL) . (4.19)

Q accounts to[f sin (θB) , f cos (θB) , τ, 0]T ,

if an expression with respect to [xB, zB]T is elected. A set of generalized coordinatesdeploying [xL, zL]T alters the vector, which, in this case, is given by

[f sin (θB) , f cos (θB) , τ, l cos (θL) · f sin (θB)− l sin (θL) · f cos (θB)]T .

43

Page 62: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

4 Planar Model

The dissipation function V considering quadratic drag and friction in the suspension jointaccounts to

V = 13 ·(cL ·

(|xL|3 + |zL|3

)+ cB · |xB|3 + cB · |zB|3

)+ 1

2 · b ·(θB − θL

)2. (4.20)

With generalized forces and dissipation function, the Lagrangian equations of second kindcan be set up for the system of interest. This is carried out utilizing MATLAB R©/SymbolicMath Toolbox, and the results verify the previously derived equations of motion.

4.2 Non-Linear Model

As mentioned in Section 4.1.2, controlled movement of the load along a specified trajectoryis the desired control objective for now, wherefore an expression of the systen in [xL, zL]T

is chosen. The equations give a first understanding of the restrictions that are imposed onthe multi-body system by the interrelationships. For clarity reasons, neither air resistanceterms, nor joint friction is pictured, and m = mB +mL.

m · xL = f sin (θB)−mB l(− sin (θL) θ2

L + θL cos (θL))

(4.21)

m · (zL + g) = f cos (θB) +mB l(cos (θL) θ2

L + θL sin (θL))

(4.22)

I · θB = τ (4.23)

mL · l (cos (θL) · xL − sin (θL) · (zL + g)) = 0 . (4.24)

Noteworthy, the last equation may be rewritten as

mBl2θL = −l sin (θL) f cos (θB) + l cos(θL) f sin (θB) , (4.25)

which will be of importance shortly.

4.2.1 Matrix Models

In many - especially in the case of non-linear - control derivations, it is of need to presentthe model in matrix form:

η = ν (4.26)

44

Page 63: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

4.2 Non-Linear Model

M (η) ν +C (η, ν)ν +G (η) +Dν = τ . (4.27)

This may be accomplished for the system in load- as well as in body coordinates, andboth will be presented below. Noteworthy, in either scenario it is possible to express thematrices in a form that yields the matrix M (η) − 2C (η, ν) skew-symmetric. This isdesirable for many Lyapunov stability related calculations, as

yT(M (η)− 2C (η, ν)

)y = 0 (4.28)

for any vector y of appropriate dimension.

Matrix Model - Body Coordinates

Firstly, the model for the case of vehicle-position controlled flight mode is presented.While the focus in this work lies on the novelty approach of controlling the load-positiondirectly, this will become necessary in some cases as a familiarization with sophisticatedcontrol schemes. If the coordinates are chosen in the order

η = [xB, zB, θL, θB]T , (4.29)

the matrices and vectors in (4.27) account to:

MB (η) =

mB +mL 0 −lmL cos (θL) 0

0 mB +mL lmL sin (θL) 0−lmL cos (θL) lmL sin (θL) mLl

2 00 0 0 Iyy

(4.30)

CB (η, ν) =

0 0 lmLθL sin (θL) 00 0 lmLθL cos (θL) 00 0 0 00 0 0 0

(4.31)

GB (η) =[0, −g (mB +mL) , glmL sin (θL) , 0

]T(4.32)

45

Page 64: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

4 Planar Model

τB (η) =

f sin (θB)f cos (θB)

(4.33)

If friction forces are to be considered, these are placed in the damping matrix D (η).For the joint friction, which will be foregone in many non-linear control designs for itsnegligible impact on the translational system, this would be straightforward. The chosenquadratic air drag, however, is to be regarded carefully. If considered, this yields absolutevalues in the damping matrix, thereby rendering all global stability-examinations infeasi-ble. Therefore, this is forgone for the most part. In Section 6.2.2 a damping matrix forlinear air resistance is proposed and included into control design successfully. Eventually,the controller even performs well in a simulation featuring quadratic drag. As air resis-tance has a large effect on the load-dynamics, some more thought could be put to it at alater point in time.

Matrix Model - Load Coordinates

The first major difficulty lies in the fact that the system in

η = [xL, zL, θL, θB]T , (4.34)

as used before and obtained from the Newton-approach, does not exhibit the necessaryskew-symmetry if expressed in matrix form. This is not surprising, as [From et al., 2012]have noted, that these structural properties may be lost if a different set of generalizedcoordinates is chosen - notably, in the case of robot manipulators. In a second approach,and following [Sagatun and Fossen, 1991], the equations of motion that result directly fromthe Lagrange derivation are evaluated, and show for the desired properties, if brought tomatrix form. Ultimately, this setup can be re-created for the Newton-approach, if theredundant formulations (4.24) and (4.25) are combined such.

ML (η) =

mB +mL 0 lmB cos (θL) 0

0 mB +mL −lmB sin (θL) 0lmB cos (θL) −lmB sin (θL) mBl

2 00 0 0 Iyy

(4.35)

46

Page 65: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

4.3 Linearization

CL (η, ν) =

0 0 −lmBθL sin (θL) 00 0 −lmBθL cos (θL) 00 0 0 00 0 0 0

(4.36)

GL (η) =[0, g (mB +mL) , −glmB sin (θL) , 0

]T(4.37)

As a consequence of having adjusted the matrices to meet the skew-symmetry properties,the force vector is altered to

τL (η) =

f sin (θB)f cos (θB)

−l sin(θL) f cos (θB) + l cos(θL) f sin (θB)τ

, (4.38)

which will ultimately cause some problems.

4.3 Linearization

As the linear control design will be confined to the load-controlled flight mode, only therespective model in [xL, zL]T will be regarded. For a local linearization in the vicinity of anoperating point, the stationary states and inputs must be found. They can be determinedby setting all derivatives in the equations of motion (Section 4.2) to zero, which yields

f · sin(θB

)= 0 , (4.39)

f · cos(θB

)= mg , (4.40)

0 = τ (4.41)

and− l mL sin

(θL

)= 0 . (4.42)

It is obvious, that the sinusoidal terms induce infinite possible zero-crossings, however,all except θL = θB = 0 represent unphysical or repeating setups of load- and body an-gles. The stationary inputs account to τ = 0 and f = mg. The former set of variablesrepresents the intuitively given equilibrium of a vehicle in hovering condition, where the

47

Page 66: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

4 Planar Model

load remains suspended motionless below the vehicle. This bears disadvantages, as thevehicles propulsion force for horizontal motion correlates with its deviation from hoveringpose. Furthermore, it is notable that all air friction effects disappear in the linear equa-tions. Therefore, the linearized model is neither representative for fast movement norfor large angles (body or load). As particularly linear-quadratic control is known for itsrobustness and advantageous handling when designing an error-tracking controller, theseapproaches will be pursued in spite of these shortcomings. With the operating point athand, aforementioned linearization technique is directly applicable to the derived model,and the linearized system is given by equations (4.43) to (4.46).

m · xδL = f · θδB − lmB · θδL = mg · θδB − lmB · θδL (4.43)

m · zδL = f δ (4.44)

I · θδB = τ δ − b(θδB − θδL

)(4.45)

b(θδB − θδL

)− lgmL · θδL + lmL · xδL = 0 (4.46)

4.3.1 Linearized State Space Expression

A minimal set of variables describing the system state conclusively is given by

x =[xL , zL , θB , θL , xL , zL , θB , θL

]T.

In order to establish a state-space description, the constitutive equations (4.21) to (4.24)need to be expanded by the following integral links

d

dtxL = xL ,

d

dtzL = zL ,

d

dtθB = θB ,

d

dtθL = θL . (4.47)

Combining the above, a non-linear state-space representation of the form (2.53) is found.Naturally, the manipulated variables u will be given by τ and f . Measured outputcoincides with the system state, as full knowledge of all variables at all times is presumedfrom measurements and a Kalman Filter implementation:

y = x . (4.48)

48

Page 67: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

4.3 Linearization

The derivation of a linear state-space representation of the non-linear model at hand givesthe following system matrix

A =

0 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 10 0 0 g 0 0 − b

lmLb

lmL

0 0 0 0 0 0 0 00 0 0 0 0 0 − b

IyybIyy

0 0 gmlmB

− gmlmB

0 0 bml2 mB mL

− bml2 mB mL

(4.49)

and the input matrix accounts to

B =

0 00 00 00 00 01m

00 1

Iyy

0 0

. (4.50)

As mentioned, all output is measured or observed, wherefore C is given by I8×8, whichdenotes, again, an identity matrix. The feed-through matrix D is ∅8×2.

4.3.2 Laplace Transform

With the ambition of applying linear control strategies, a Laplace transform of the systemis needed. Analogously, the linearized model is transformed, and a frequency domainrepresentation of the system yields

xL (s) = g

s2 θB (s)− lmB

mθL (s) , (4.51)

zL (s) = 1ms2 f (s) , (4.52)

49

Page 68: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

4 Planar Model

θB (s) = 1s (Iyys+ b)τ (s) + b

Iyys+ bθL (s) , (4.53)

andθL (s) = lmLs

2

bs+ lgmLxL (s) + bs

bs+ lgmLθB (s) . (4.54)

If these equations are substituted properly, they can be rewritten in input-output form:

xL (s)τ (s) = −s3 b l mB + sb g m+ l g2mLm

s4 (s2Iyy l2mBmL + s (b l2mBmL + Iyy bm) + Iyy g l mLm) (4.55)

θB (s)τ (s) = s2l2mBmL + sbm+ g l mmL)

s2 (s2Iyy l2mBmL + s (b l2mBmL + Iyy bm) + Iyy g l mLm) (4.56)

θL (s)τ (s) = (sb+ g l mL) m

s2 (s2Iyy l2mBmL + s (b l2mBmL + Iyy bm) + Iyy g l mLm) (4.57)

Transfer functions may also be calculated at hand of the LTI model derived in Section2.5.1, as

G (s) =[C (sI −A)−1B +D

]. (4.58)

This expression is used to determine the closed loop transfer functions that allow com-paring linear and non-linear model outcome in the following sections.

50

Page 69: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5 Linear Control Design (Planar Case)

At this point, the model has been sufficiently prepared for the application of linear controlstrategies. Linear systems are desirable for many reasons, among them the use of thesuperposition principle for signals, Laplace transforms for frequency domain analysis, andextensive documentation. Particlarly for the latter, an elaborate introduction is forgone.

5.1 PID Control

PID controllers that give an output according to

u (t) = Kp e (t) +Ki

∫ t

0e (t) dt+Kd

d

dte (t) , (5.1)

e denoting the control error, find frequent use in academic as well as industrial applica-tions. One reason for this lies within their relatively simple structure. The latter enhancesunderstanding and facilitates implementation. As a consequence, they have been subjectof countless studies for more than half a century, and various analytical and empiricalapproaches at tuning PID controllers exist. One mayor disadvantage is, that they canonly be applied to MIMO systems if the cross couplings between the signals are smallenough to split the control task into multiple single-signal loops. Therefore, a suitableSISO controllable approach is searched for the problem at hand.Looking at the non-linear model in Section 4.2, it is notable that θB is a function of θL

as well as τ . As the friction coefficient in the joint is very small, the torque induced byrotors 1 and 3 will certainly have the predominant effect. In general, this independenceof the attitude system from lateral motion components can be extended to the three-dimensional case and has been noted by others, among them [Bouabdallah et al., 2004a].It is therefore only intuitive to propose manipulating the vehicle attitude, in the planarcase reduced to the pitch angle, by τ . In case of translation, one finds himself confrontedwith more complex dynamics. This is understandable, particularly with the effect of a

51

Page 70: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5 Linear Control Design (Planar Case)

suspended load in hindsight. In [Hehn and D’Andrea, 2011a] the reactive forces of aninverted pendulum on a quadrotor are foregone under the premise that its mass accountsto less than 5 percent of that of the vehicle. In this work the circumstances are simi-lar, as load weight accounts to 5.27 percent of the vehicle. Regardless of this, controlsare designed with respect to exerted load effects. This has, on the one hand, becomenecessary by the choice of controlled variables. Beyond this, it is motivated by systemunderstanding to be gained, ultimately allowing an easier expansion to heavier payloads.Linear feedback control in the vicinity of hovering is common for quad-copter applica-tions, yet [Palunko and Fierro, 2011] could not achieve a satisfactory result for a systemwith a changing center of gravity utilizing PD controllers. On the contrary, [Bernardand Kondak, 2009] have successfully tested for larger suspended weights in case of au-tonomous helicopter flight. Therefore, we intend to assess the outcome of the approachourselves. Deriving a concept for translational motion, the equations in Section 4.2 are,again, meaningful. Leaving air resistance effects aside, translational accelerations arefunctions of

(f, θB , θL , θL , θL

), and looking at (4.52), it seems - not surprisingly - promis-

ing to control vehicle altitude directly by f . Lateral motion will be achieved by means ofa cascade control: A reference value for θB is generated in a superordinate controller withrespect to the desired trajectory, and this reference angle is then fed to the attitude controlsystem. The entire setup is pictured in Figure 5.1. The controllers are initially designedat hand of the linearized model to match performance and design criteria according totime domain quantities, such as rise time, overshoot and settling time.

Figure 5.1: Structure of Cascaded PD Control

52

Page 71: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5.1 PID Control

Subsequently, they are applied on the non-linear model and adjusted iteratively until sat-isfactory behavior is achieved. Robustness is tested later-on by introducing perturbationsas well as inducing parameter uncertainties to all relevant quantities.

5.1.1 Altitude Control

As mentioned afore, precise positioning of the load is an interesting task for close to groundoperations in particular. The latter - as implied by the name - have little tolerance forchanges in altitude, wherefore sudden drops of the load must be avoided at all cost.This may not only be caused by external disturbances - internal perturbations, namelythe cross-coupling effects in between control loops - bear notable risks. Therefore, if apersistently precise altitude is desired, the according controller must work sufficiently fastin order to account for internal process changes caused by the position and ultimately theattitude controller. Determined by geometry and lightweight construction of quadrotorvehicles, one is able to achieve high angular accelerations resulting in corresponding timeconstants. In various publications, for instance [Hehn and D’Andrea, 2011a] or [Klausenet al., 2015], one has even omitted the angular dynamics in deriving the controls. While wepursue an approach with a more explicit consideration of these dynamics, the maximum-achievable rotational acceleration of almost 60 rad

s2 suggests that, of altitude and attitudedynamics, the latter is likely not the limiting factor. Therefore, the altitude controlleris designed to match a response time of more or less 500ms firstly, using the root locusmethod. Thereafter, the attitude system is chosen to match the obtained performance.The transfer function f (s) → zL (s) is given by a double integrator system, which canbe taken from Equation (4.52). It may be stabilized using a PD-controller, the Laplacetransform of which is given by

C (s) = Kp · (1 + TDs) , (5.2)

assuming an unfiltered derivative. With this, the closed loop transfer function reads

Gbcz (s) = zL (s)

zL,ref (s) = TDs+ 1mKPs2 + TDs+ 1 , (5.3)

and looking at the denominator, it becomes evident that the closed loop denotes a stablesecond-order system for positive controller parameters. This information can also bedrawn from the graphical depiction in Figure 5.2, where only stable poles are placeable

53

Page 72: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5 Linear Control Design (Planar Case)

Figure 5.2: Root Locus - Altitude Controller

for all Kp > 0. Real-world applications create the necessity of including a derivative filterof some sort in order to smoothen the error signal, thereby avoiding controller-inherentamplification of measurement noise. In the present work, the total signal is passed througha first order filter and fed to the controller subsequently. This finds representation in theintroduction of a high free pole p, altering the controller transfer function to

C (s) = Kp · (1 + TDs)1 + s

p

. (5.4)

This filter implementation does not alter the position of the zero for a PD-controller inideal form, and, if the pole is placed far enough in the left half-plane, has no notableinfluence on the time domain properties in general. A time constant forty-times smallerthan the dominant system one is a common placement guideline and persecuted here.Experiments have shown, that the analytically derived design is not sufficiently aggressive,therefore the controller parameters are adjusted iteratively utilizing the non-linear model.The respective design results in a rise time of 0.65 s for a step response of 1m. The optimalachievable performance for a bang-bang control scheme applied to the non-linear modelis given by more or less 0.5 s, which is not significantly faster, and the designed controller

54

Page 73: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5.1 PID Control

causes notable actuator saturation. Concluding, in case of restricted motion on a z =const. plane, this is likely unproblematic and leads to very accurate altitude consistency,but it may have to be revised when multi-dimensional trajectories are approached.

5.1.2 Attitude Control

The system of interest for the inner loop of the cascaded position control is given byEquation (4.53), which may be rewritten as

θB (s) = 1s (Is+ b) (τ (s) + bsθL (s)) . (5.5)

If the virtual control actionuθB(s) = τ (s) + bsθL (s) (5.6)

is introduced, the transfer function to be controlled accounts to

GθB (s) = θB (s)uθB(s)

= 1s (Iyys+ b) =

1b

s(Iyybs+ 1

) , (5.7)

and the actual control output is then calculated as

τ (s) = uθB(s) − bsθL (s) . (5.8)

The PD-controller is chosen to compensate the pole at s = − bIyy

, giving a closed looptransfer function of

GbcθB

= 1bKps+ 1

= 1τ1s+ 1 . (5.9)

In theory, this system can be adjusted to match any response time without overshoot, butthe real system is inhibited by limited actuator outputs. In dependence on the altitudecontroller, it is desired to achieve a pitch angle of 10 deg in T1 = 0.65 s. This is representedby a time constant of τ1 ≈ 0.65 s

3 ≈ 0.2167 s in the according first order transfer function.In theory, this is attained by setting the proportional gain of the controller toKp = 0.0046.However, experiments at hand of the non-linear model have shown that it performs closerto the desired fashion when set to 0.006. Surely, these controls will have to be optimizedfurther once implemented on the actual drone, but this gives a good impression of themagnitudes as well as the restrictions that are to be expected. Initially, the derivative

55

Page 74: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5 Linear Control Design (Planar Case)

Figure 5.3: Root locus - Translational Control Approach 2

filter pole is placed in such a way that it acts 40 times faster than the desired systemresponse. Yet, this leads to strange behavior caused by saturating actuator output. Forall reference angles greater than 4 deg, the non-linear model yields a significant offset.It can be compensated by tuning the derivative filter pole, inhibiting the strong derivatepart of the controller output enough to restrain it inside the bounded actuator outputs. Ifit is set to ten-times of the demanded reaction time, the desired performance is achieved,and the outer control loop can be implemented.

5.1.3 Position Control

Two approaches at controlling the lateral position are presented in this section. The first,which is persecuted solely out of theoretical interest, includes the angular acceleration ofthe load angle into the calculated controller output, and is therefore not implementableon the actual platform. The structure is, again, derived at hand of the linearized model

56

Page 75: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5.1 PID Control

equations, and calling to mind (4.51), one is inclined to introduce a virtual control action

xL (s) = 1s2

[gθB (s)− s2 lmB

mθL (s)

]︸ ︷︷ ︸

uδx

. (5.10)

This gives yet another double integrator system to be controlled, with the actual controloutput accounting to

θB,ref (s) =uδx + s2lmB

mθL (s)

g. (5.11)

For uninhibited outer loop dynamics, the inner loop should act with at least five timesits velocity, therefore an outer loop response time around 3.5 s is a profound guideline.Root locus design is used here as well, and a controller is synthesized. The actual behaviordeviates greatly from the predictions based on the linear transfer function, and an iterativeredesign at hand of the non-linear model cannot be avoided. Furthermore, in order toobtain a somewhat acceptable result, a pre-filter compensating the derivative zero mustbe included. Nevertheless, the end-result is not sufficient for implementation.

Compensation Controller

The second approach features substituting Equation (4.46) into (4.43), giving

xL (s) = −s3 b l mB + s bmg + l mmL g2

s2 (mB mL l2 s2 + bm s+ g mmL l)θB (s) , (5.12)

but also here PID controller designs cease to suffice. Ultimately, a more complex controlleris to be designed in a new approach, overthrowing the initial idea of utilizing PID controlschemes only. The root locus diagram of the transfer function stated above is givenin Figure 5.3 and the complexity of the system becomes apparent. In addition to thedouble integrator in the origin, there are two complex-conjugated poles located in thevicinity of the imaginary axis. Furthermore a pair of complex zeros and a non minimum-phase real zero are likely to induce problematic dynamic behavior. To compensate someof these dynamics, the controller is designed to cancel the conjugated pairs of poles at−0.0126± 4.0812i and zeros at −11.2546± 19.0616i, leaving a double integrator systemwith a positive real zero to be accounted for. The double integrator is again altered bythe introduction of a negative real zero, pulling the root locus curve into the left half-plane, which allows placing the closed loop poles in such a way that stability is achieved.

57

Page 76: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5 Linear Control Design (Planar Case)

To attain a causal controller, another pole must be added, again fast enough as not toinfluence the dynamic behavior significantly. Lastly, a pre-filter smoothing the zero effectsis provided.

5.1.4 Simulation Results

After an iterative adjustment of the proportional gain, the step response shown in Figure5.4 is obtained. The system exhibits very good altitude consistency, and the actuators donot work in the area of limitation. It can therefore be considered a somewhat promisingapproach. Generally, in addition to the non-linear simulation, the (unsaturated) controloutput is fed to the linear closed-loop transfer function of the respective degree of freedom.This allows for some means of comparison between the outcome at hand of the non-linearmodel and the linearized system that was used in the control derivation. The drone itselfstays very consistently above the load and does not exhibit oscillations or over-swing,wherefore its position will not be denoted in the diagrams.The step responses of attitudeand altitude controllers are equally ordinary and a depiction will be forgone, with theanew remark that the much faster response time in z will lead to unbalanced trackingperformance in multi-dimensional motion tasks. This is observable in Figure 5.5, and,notably, some undershoot is exhibited in case of the non-linear system response. Thelatter is, however, caused by cross-couplings from the aggressive z-loop, and does notdenote a system-inherent property of the translational cascade control. Utilizing a lessaggressive altitude control will soften this effect, and if z is chosen to remain constant,it vanishes completely. The significant tracking error, however, remains. An approachat dynamically altering the trajectory in a way that reduces this error exists and willbe presented later-on. This procedure has, however, performed the worst with the setupseen here. Furthermore, this controller is not easily tunable, particularly in comparison tothe LQ regulators, wherefore this approach should not be considered the most favorableof choices. Nevertheless, if it is to be implemented on the actual drone, it might beadvisable to work with two sets of controller parameters. Firstly, one with aggressivealtitude properties for good consistency, motion is then only to be exhibited in x or, lateron, in x and y. Secondly, a set where the parameters of the x and z loops have beenadjusted such that reaction times are aligned and, thereby, similar tracking errors areshown.

58

Page 77: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5.1 PID Control

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

[m]

-0.5

0

0.5

1

1.5Time Evolution in x

refnon-linearlinear

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

[m]

×10-4

-10

-5

0

5Time Evolution in z

refnon-linearlinear

Time(Seconds)0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

[N]

0

5

10

Thrust Force of Rotors 1 & 3

Figure 5.4: Step Response of Outer Loop - Approach 2

59

Page 78: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5 Linear Control Design (Planar Case)

0 1 2 3 4 5 6 7 8 9 10

[m]

-2

0

2

4

6Time Evolution in x

refnon-linearlinear

0 1 2 3 4 5 6 7 8 9 10

[m]

-0.5

0

0.5

1

1.5Time Evolution in z

refnon-linearlinear

Time(Seconds)0 1 2 3 4 5 6 7 8 9 10

[N]

0

5

10

Thrust Force of Rotors 1 & 3

Figure 5.5: Trajectory Tracking of PD Control Scheme

5.2 Linear Quadratic Optimal Control

In a different approach, multivariable controllers with full state feedback are to be assessed.This is also enabled by the Kalman Filter observing the load angle. LQ controllers findcommon application in the area of quad-copter control, examples can be found in theworks of [Bouabdallah et al., 2004b, Cowling et al., 2006, Hoffmann et al., 2004], whoeven extended the controller to adaptivity. In this work, the state-feedback parametersare derived by means of optimal control theory for the model linearized around hover,

60

Page 79: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5.2 Linear Quadratic Optimal Control

and a linear quadratic non-zero set point controller as well as a linear quadratic servocontroller are implemented. The general idea of any linear quadratic approach is explainedsubsequently at the example of a LQ regulator (Figure 5.6), which stabilizes an arbitrarycontrollable LTI system at an equilibrium configuration x = 0. Optimality is achieved byfinding the control input uδ (t) , t ∈ [0,∞) that minimizes the performance index

JLQR:=∫ ∞

0||xδ (t) ||2 + ||uδ (t) ||2 dt . (5.13)

The terms ||xδ (t) ||2 and ||uδ (t) ||2 can be understood as the energies corresponding tocontroller output and controlled output, respectively.

Figure 5.6: LQ Regulator

The function objective is to minimize both energies, but in most cases one might want topenalize deviations from the equilibrium point more harshly than the actuation effort. Inany case it is useful to rephrase the problem as

JLQR:=∫ ∞

0xTQx+ uTRu dt , (5.14)

where, again for clarity reasons, xδ and uδ are denoted as x and u. Q and R are to beunderstood as weighting matrices that allow shaping a trade off between energies. Theoutput of a state feedback controller accounts to u (t) = −Kx (t), leaving (5.14) as

JLQR =∫ ∞

0xTQx+ xTKTRKx dt , (5.15)

orJLQR =

∫ ∞0xT

(Q+KTRK

)x dt . (5.16)

61

Page 80: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5 Linear Control Design (Planar Case)

If this infinite integral can be minimized so that

limt→∞

JLQR → const. , (5.17)

implying thatlimt→∞

x (t)→ 0 , (5.18)

it shows the existence of an optimal controller output u (t) that also ensures a stablesystem. In order to solve the minimization problem, a constant and symmetric matrix Pthat meets

d

dt

(xTPx

)= −xT

(Q+KTRK

)x , (5.19)

is introduced. If this is substituted into Equation (5.16) - under the assumption of astable system - one obtains

JLQR =∫ ∞

0− d

dt

(xTPx

)dt = − lim

t→∞

(xT (t)Px (t)

)︸ ︷︷ ︸

→0

+xT (0)Px (0)︸ ︷︷ ︸J0

. (5.20)

For an appropriately chosen matrix P , the constant term xT (0)Px (0) = : J0 representsthe optimal performance index of the LQR problem, and is associated with the optimalcontrol output u (t). Expanding the left side of (5.19) yields

d

dt

(xTPx

)= xTPx+ xTP x = xT (A−BK)T Px+ xTP (A−BK)x , (5.21)

and combining both of the above, we can state that

J0 +∫ ∞

0xT (A−BK)T Px+ xTP (A−BK)x dt = 0 (5.22)

for the appropriately chosen matrix P . In order to force this optimum value into theoriginal integral expression (5.16), (5.22) is added, yielding

JLQR = J0︸︷︷︸(5.20)

+∫ ∞

0xT

(A−BK)T P + P (A−BK)︸ ︷︷ ︸(5.21)

+Q+KTRK

x dt . (5.23)

As x (t) may be non-zero, the optimal solution is found when

(A−BK)T P + P (A−BK) +Q+KTRK = 0 . (5.24)

62

Page 81: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5.2 Linear Quadratic Optimal Control

This is a matrix quadratic equation which can be modified by completing the squares.If

K = R−1BTP (5.25)

is selected, (5.24) is altered to

ATP + PA+Q− PBR−1BTP = 0 , (5.26)

commonly referred to as the Algebraic Riccati Equation. The solution for P can becomputed numerically, under the condition that

A−BK = A−R−1BTP (5.27)

gives a stable system, which was demanded for (5.20).

5.2.1 LQ Non-Zero Set Point Control

As the quad-copter is intended to follow a time-varying trajectory, the LQ regulator mustbe extended in order to process a changing reference signal. Therefore, the set point valuer that corresponds to a new equilibrium point xr is introduced for the controlled outputz. The extended system is given by

x = Ax+Bu

z = Cx+Du ,(5.28)

and at a new equilibrium, one has

Axr +Bur = 0

Cxr +Dur = r .(5.29)

With z:=z − r and u:=u− ur an altered LQ problem is formulated:

JLQS:=∫ ∞

0zTQz + uTRu dt . (5.30)

If an optimal control approach with state feedback is to be accomplished, the auxiliarystate vector x:=x− xr has to be introduced analogously. As the system is linearized, one

63

Page 82: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5 Linear Control Design (Planar Case)

can write ˙x = x, thereby allowing a reformulation of the problem to

˙x = Ax+Bu = A (x− xr) +B (u− ur) +Axr +Bur︸ ︷︷ ︸0

z = Cx+Du = C (x− xr) +D (u− ur) +Cxr +Dur − r︸ ︷︷ ︸0

.(5.31)

With (5.29) and the substituted auxiliary states, this simplifies to

˙x = Ax+Bu

z = Cx+Du .(5.32)

Optimal control can be calculated for the auxiliary system assuming full state feedback

u (t) = −Kx (t) , (5.33)

which allows concluding the actual control output

u (t) = −K (x (t)− xr) + ur . (5.34)

It becomes apparent, that the calculation of the stationary states and inputs at the newand referenced equilibrium is a prerequisite. This is facilitated by a reformulation of(5.29) to A B

C D

xu

= 0r

, (5.35)

which has a solution if the number of controlled outputs is matched by the manipulatedvariables and the extended matrix is regular. In this case, the equilibrium states andinputs may be rewritten as

xr = Fr

ur = Nr ,(5.36)

giving the controller structure presented in Figure 5.7. In the work present, values for xand z are fed as a reference trajectory. Due to the integrative nature of the process, thefeed-forward control output Nr may be omitted, as the new equilibrium control outputwill be the same as before, u = ur. In a first approach, Bryson’s rules are applied in theattempt to find an appropriate matrix K, but prove insufficient and are hence discarded

64

Page 83: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5.2 Linear Quadratic Optimal Control

Figure 5.7: LQ non-zero Set Point Controller

and succeeded by an iterative tuning process.

Simulation Results

Regarding horizontal motion, the system outperforms the compensating-controller withease, as can be taken from Figure 5.8. A translation of one meter is achieved in just twoseconds, a substantial improvement with respect to the compensation controller, whichfurthermore develops a tendency to swing when tuned to react more aggressively. It canbe seen that linear and non-linear response do not coincide for the most part, but as noinstabilities are induced, this need not be regarded problematic. Yet, one has to note thealtitude drop of 6 cm, which is not acceptable. This effect is drastically softened if thestep amplitude is reduced, and already here one is inclined to think that an aggressivecontroller will be able to handle a trajectory tracking task quite well. Anyhow, this isa good opportunity to show the flexible applicability of the LQ approach. The drop iscaused by a large initial pitch angle, which leads to a significant horizontal displacementbetween load and vehicle. This cannot be compensated by the altitude control, once theload begins its follow-up swing motion. To avoid this, the pitch angle is penalized witha relatively large weight, increasing the rise time, but reducing the altitude drop to 2 cm.In case of a 0.1m step in horizontal motion, it is even reduced to less than a millimeter,thereby likely exceeding the accuracy of the utilized model as well as available monitoringequipment.

65

Page 84: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5 Linear Control Design (Planar Case)

0 0.5 1 1.5 2 2.5 3

[m]

-0.5

0

0.5

1

1.5Time Evolution in x

refnon-linearlinear

0 0.5 1 1.5 2 2.5 3

[m]

-0.08

-0.06

-0.04

-0.02

0

0.02Time Evolution in z

refnon-linearlinear

Time(Seconds)0 0.5 1 1.5 2 2.5 3

[N]

0

5

10

Thrust Force of Rotors 1 & 3

Figure 5.8: Step Response of LQ Set Point Controller

66

Page 85: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5.2 Linear Quadratic Optimal Control

0 0.5 1 1.5 2 2.5 3

[m]

-0.5

0

0.5

1

1.5Time Evolution in x

refnon-linearlinear

0 0.5 1 1.5 2 2.5 3

[m]

-0.03

-0.02

-0.01

0

0.01Time Evolution in z

refnon-linearlinear

Time(Seconds)0 0.5 1 1.5 2 2.5 3

[N]

0

5

10

Thrust Force of Rotors 1 & 3

Figure 5.9: Step Response of adjusted LQ Set Point Controller

It does not seem appropriate to spend a lot of time tuning these parameters, as they willhave to be revisited when ran on the actual drone. However, the conclusion to be drawnat this point is, that a wide variety of controller parameters are applicable without leavinga stable area. This favorable behavior is likely due to the nature of the controller, wherethe full state is fed back and the regulating part pulls the system to the equilibrium pointsalong the trajectory. An interesting property to be noted is, that the resulting K-matrixyields a PD controller for the altitude sub-system, supporting the choice made in Section5.1.1. Moreover, the tunability is rather user-friendly, as the interconnections betweencontroller parameters and system behavior are quite straightforward. This is helpful in

67

Page 86: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5 Linear Control Design (Planar Case)

obtaining a second set of parameters for the trajectory tracking scenario. As predicted,also here the LQ approach performs quite well. This can be drawn from Figure 5.10, whichshows for good behavior, at least with regard to steadiness and actuator saturation. Bychoice of displacement mainly in x the rotor workload is small in general. Furthermore,velocities and accelerations are chosen moderately, yielding good consistency betweenlinear and non-linear system response. Nevertheless, a significant tracking error remainsand is understandable for a lack of dynamic compensation of the trajectory changes. Yet,all tries at including a feed-forward controller, as found frequently in motion control tasks,have failed - even in the presence of smooth trajectories.

0 1 2 3 4 5 6 7 8 9 10

[m]

-2

0

2

4

6Time Evolution in x

refnon-linearlinear

0 1 2 3 4 5 6 7 8 9 10

[m]

0

0.5

1

1.5Time Evolution in z

refnon-linearlinear

Time(Seconds)0 1 2 3 4 5 6 7 8 9 10

[N]

0

5

10

Thrust Force of Rotors 1 & 3

Figure 5.10: Trajectory Tracking of LQ Set Point Controller

68

Page 87: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5.2 Linear Quadratic Optimal Control

This is likely reducible to the fact that passive degrees of freedom are controlled, andsensitivity to the respective actuator outputs depends on the current system state. Thelatter creates need of shaping a somewhat adaptive feed-forward controller if diversescenarios are to be handled, and with great likelihood sufficient results will be achievableonly if flatness based approaches are considered [Sreenath et al., 2013b]. This conceptwill not be taken into account in the work at hand for project-scope reasons, but later ona simple proposition for an adaptivity concept is introduced (c.f. Section 5.2.3). Lastly,one should call to mind once more that these graphics depict motion of a suspendedpayload. Without shaping the input signal (c.f. Section 3.1.6), the load comes to restnearly swing-free (all in case of the damped, non-linear system). Furthermore, it movesvery smoothly throughout the entire stretch. The drone itself is not depicted in thediagrams, but remains equally steady. Particularly in comparison to Section 6.2.3, wheresignificant residual payload swing is experienced, this is notable. Therefore, it confirmsthat system design based on [xL, zL]T poses an interesting concept for this control task.

5.2.2 LQ Servo Control

In yet a different optimality approach, a LQ servo control is to be implemented. It ischaracterized by the introduction of an integral error state. This results in a generallyslower system, but supposedly enhances robustness, making it an interesting option forthe task at hand. The relevant system output z (t) again is intended to follow a referencetrajectory r (t). The integral error xI (t) is calculated from

xI (t) = r (t)− z (t) , (5.37)

and to be penalized in the optimization problem. Thus, an extended LTI system is setup: x

xI

= A ∅−C ∅

xz

+ B∅

u+ ∅r

(5.38)

If a LQ problem is formulated with respect to the extended state vector xz =[xT ,xTI

]T,

the optimal controller output is given by

u (t) = −Kzxz (t) = −Kx (t)−KIxi (t) , (5.39)

69

Page 88: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5 Linear Control Design (Planar Case)

the structure of a controller of such kind is visualized in Figure 5.11.

Figure 5.11: LQ Servo Controller

Simulation Results

Simulation experiments have shown the expected sluggish behavior. The load tends toovershoot - its horizontal reference position in particular - if large values are placed in thecorresponding entries of the weighting matrix. Therefore, the overall translation systemmust be controlled timidly, which yields a slow response and, in case of trajectory tracking,the previously experienced error. A rise time of 3 s can be achieved for the step, which issimilar to that of the position-controller derived in Section 5.1.3. Yet, it reveals a smootherprofile, which might make it preferable to the latter. In case of trajectory tracking, theservo controlled system performs a bit worse than the LQ set point setup (c.f. Figure5.12) regarding tracking error, furthermore tends to overshoot slightly. However, both islikely within a tolerable area. Tuning the servo controller is less user-friendly, as weightsare put on the integral error state as well as the regulating part that pulls the systemto a momentary equilibrium. These weights counteract each other and must be adjustedcarefully to achieve a good trade-off between tracking performance - dominated by theintegral part - and overshoot, which can be restricted by the regulating fraction.

70

Page 89: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5.2 Linear Quadratic Optimal Control

0 1 2 3 4 5 6 7 8 9 10

[m]

-2

0

2

4

6Time Evolution in x

refnon-linearlinear

0 1 2 3 4 5 6 7 8 9 10

[m]

0

0.5

1

1.5Time Evolution in z

refnon-linearlinear

Time(Seconds)0 1 2 3 4 5 6 7 8 9 10

[N]

0

5

10

Thrust Force of Rotors 1 & 3

Figure 5.12: Trajectory Tracking of LQ Servo Controller

5.2.3 Adaptivity Approach

Regarding real-life applicability, trajectory tracking must be considered the primary ob-jective. Thus, some more thought is put into how to improve the model outcome withoutsophisticated means such as flatness based calculation of feed forward control actions, orcomplex model predictive approaches in general. Trapezoidal velocity profiles, besidestheir convenience regarding shaped inputs (Section 3.1.6), show for another advantageousproperty: Namely, the coasting part, which is characterized by a period of constant mo-tion. Ultimately, this results in a tracking error that remains steady for the most part,

71

Page 90: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5 Linear Control Design (Planar Case)

as can be seen in figures 5.10 or 5.12. Tests with a variety of trajectories have shownthis behavior, as long as moderate velocities and accelerations are predefined. Calling tomind the good step-response properties of the controls derived above, we propose sup-plying a trajectory that has been shifted in time, precisely by the maximum time-lagthat is exhibited by the linearized model. This can be obtained at hand of an a-priorycalculation utilizing the known closed-loop linear dynamics. Hereby, the tracking errorcan be reduced significantly without including a feed-forward control action. Beyond this,the outcome is improved for a wide variety of trajectories without introducing anotherparameter to be tuned - a welcome feature. Concluding, results are presented in figures5.13 and 5.14.

0 1 2 3 4 5 6 7 8 9 10

[m]

-2

0

2

4

6Time Evolution in x

refnon-linearlinear

0 1 2 3 4 5 6 7 8 9 10

[m]

0

0.5

1

1.5Time Evolution in z

refnon-linearlinear

Time(Seconds)0 1 2 3 4 5 6 7 8 9 10

[N]

0

5

10

Thrust Force of Rotors 1 & 3

Figure 5.13: LQ Set Point Controller with Pre-Calculated Offset

72

Page 91: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

5.2 Linear Quadratic Optimal Control

At hand of the trajectory from above, the gain in performance becomes visible. In bothLQ systems, the error is reduced significantly. The servo control is prone to overshootingin the end, while a bit too slow in the beginning, whereas the set point controlled systemshows for some residual offset. Both might be further-tunable, yet with the reasoningstated above not much time is spent on it. The general idea as well as its potentialhave, however, been demonstrated. It should be noted, that the procedure as proposed isapplicable only in point-to-point motion scenarios; in case of continuous paths, a new, orat least an adjusted concept is mandatory.

0 1 2 3 4 5 6 7 8 9 10

[m]

-2

0

2

4

6Time Evolution in x

refnon-linearlinear

0 1 2 3 4 5 6 7 8 9 10

[m]

0

0.5

1

1.5Time Evolution in z

refnon-linearlinear

Time(Seconds)0 1 2 3 4 5 6 7 8 9 10

[N]

0

5

10

Thrust Force of Rotors 1 & 3

Figure 5.14: LQ Servo Controller with Pre-Calculated Offset

73

Page 92: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe
Page 93: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6 Non-Linear Control Design (Planar Case)

The following section incorporates first approaches at controlling the copter-load-systememploying non-linear control schemes. Whereas essentially all real world systems arenon-linear in some way, many times linear control theory suffices for the derivation ofa satisfactory algorithm regarding performance and stability. There are, however, caseswhen this has to fail. A comprehensible example is given by any continuously perturbedsystem (e.g. a heated room surrounded by a colder environment) with a hysteresis con-troller, as no equilibrium point is ever reached; in this case one speaks of limit cycles.Thus, the need for more sophisticated means of analyzing stability is created. In thiswork, however, the motivation for extending the control concepts to non-linear ones liesrather in the possibly achievable increase in performance - regarding, for instance, speed,accuracy or, later-on, even such things as energy efficiency.

6.1 Lyapunov Stability

Lyapunov stability theory constitutes a potent tool in the analysis of non-linear controlsystems. It is the generalization of the analysis tools for linear (time invariant) systems,which are subject to the superposition principle and have but one stable, marginally stableor unstable equilibrium point. Calling the proceeding in case of these systems to mind,all one had to do was carefully placing every pole in the left half-plane, and would therebyensure stability in the vicinity of that equilibrium point. In case of the LQ regulator thiswas even an inherent property, again, given that the system is not deflected too far. Thetechniques to be presented will have to do without facilitations like Laplace transformsor knowledge of the solutions to the differential equations. In addition to non-linearitiesthey may have to account for time-dependent systems. In order to achieve this, Lyapunovand comparison functions will be introduced.

75

Page 94: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6 Non-Linear Control Design (Planar Case)

6.1.1 Autonomous Systems

Introductory, an autonomous system of the form

x = f (x) , (6.1)

with f : D 7→ Rn being a locally Lipschitz continuous map for x ∈ D ⊂ Rn is consid-ered. The Lipschitz continuity will hereinafter be denoted as Lipschitz and state that thetotal derivative of f is bounded for x ∈ D. Conclusive with Section 2.5, x is to denote anequilibrium configuration of the system, and again, by an appropriate change of variables,the latter may be moved into the origin. A more general definition of stability is thengiven by [Khalil and Grizzle, 1996, Def.4.1]:

Definition 6.1.1. The equilibrium point x = 0 of (6.1) is

• stable if, for each ε > 0, there is δ = δ (ε) > 0 such that

||x (0) || < δ ⇒ ||x (t) || < ε (6.2)

• unstable if it is not stable

• asymptotically stable if it is stable and δ can be chosen such that||x (0) || < δ ⇒ lim

t→0x (t) = 0

Note that for readability reasons the habit of denoting vectorial magnitudes with boldletters has been forgone in definitions. Lyapunov theory utilizes generalized energy con-cepts to examine stability. Choosing a quadratic Lyapunov Function Candidate (LFC)is common in mechanical or electrical applications, but any function may be chosen, aslong as certain requirements are fulfilled. This knowledge in mind, the Lyapunov stabilitytheorem [Khalil and Grizzle, 1996, Thm.4.1] may be posed.

Theorem 6.1.1. Let x = 0 be an equilibrium point for (6.1) and D ⊂ Rn be a domaincontaining x = 0. Let V : D 7→ R be a continuously differentiable function such that

V (0) = 0 and V (x) > 0 in D − 0 (6.3)

V (x) ≤ 0 in D (6.4)

76

Page 95: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6.1 Lyapunov Stability

Then, x = 0 is stable. Moreover, if

V (x) < 0 in D − 0 (6.5)

then x = 0 is asymptotically stable.

This is intuitive as soon as one calls to mind that a negative derivative of an energyfunction implies that some energy is dissipated. Therefore, the total system energy willdecrease until V (x) reaches zero. If it remains zero or negative, this understandablyrenders the origin x = 0 (equivalent to x) stable, and in case V (x) < 0 is continuouslynegative for all but the origin, this must denote an asymptotically stable system.

6.1.2 Nonautonomous Systems

In order to be able to evaluate systems that are in some way time-varying,

x = f (t,x) , (6.6)

the concept of comparison functions is introduced. Thereby, the application area of Lya-punov theory is expanded even more.

Definition 6.1.2. A continuous function α : [0, a)→ [0,∞) is said to belong to class Kif it is strictly increasing and α (0) = 0. It is said to belong to class K∞ if a = ∞ andα (r)→∞ as r →∞.Definition 6.1.3. A continuous function β : [0, a) × [0,∞) → [0,∞) is said to belongto class KL if, for each fixed s, the mapping β (r, s) belongs to class K with respect to rand, for each fixed r, the mapping β (r, s) is decreasing with respect to s and β (r, s)→ 0as s→ 0.Lemma 6.1.1. Let V : D → R be a continuous positive definite function defined on adomain D ⊂ Rn that contains the origin. Let Br ⊂ D for some r > 0. Then, there existclass K functions α1 and α2, defined on [0, r], such that

α1 (||x||) ≤ V (x) ≤ α2 (||x||) (6.7)

for all x ∈ Br. If D = Rn, the functions α1 and α2 will be defined on [0,∞) and theforegoing inequality will hold for all x ∈ Rn. Moreover, if V (x) is radially unbounded,

77

Page 96: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6 Non-Linear Control Design (Planar Case)

then α1 and α2 can be chosen to belong to class K∞.

For quadratic positive definite functions, as encountered when dealing with Lyapunovstability, Lemma 6.1.1 follows from the inequalities

λmin (P ) ||x||22 ≤ xTPx ≤ λmax (P ) ||x||22 (6.8)

where λi denotes an eigenvalue of the system. This inequality will be used accordingly inthe subsequent proceedings. All of the above are taken from [Khalil and Grizzle, 1996,Ch.4.1], to which the reader is referred to for further background, including a set ofrepresentative example functions. Below, (6.6) will only feature f : [0,∞) × D 7→ Rn

that are piecewise continuous in t and locally Lipschitz (6.1.1) on [0,∞) × D, again,with D ⊂ Rn containing x = 0. By means of a coordinate change (in this case alsowith respect to time), any equilibrium point can be moved to the origin, whereforethe notions of stability and asymptotic stability apply in a similar manner as in The-orem 6.1.1. However, under the slightly altered definition of stability that now reads||x (t0) || < δ ⇒ ||x (t) || < ε , ∀t ≥ t0. This creates need of reformulating Definition6.1.1:

Definition 6.1.4. The equilibrium point x = 0 of (6.6) is

• stable if, for each ε > 0, there is δ = δ (ε, t0) > 0 such that

||x (t0) || < δ ⇒ ||x (t) || < ε , ∀t ≥ t0 ≥ 0 (6.9)

• uniformly stable if, for each ε > 0, there is δ = δ (ε) > 0, independent of t0 suchthat (6.9) is satisfied

• unstable if it is not stable

• asymptotically stable if it is stable and there is a positive constant c = c (t0) suchthat x (t)→ 0 as t→∞, for all ||x (t0) || < c.

• uniformly asymptotically stable if it is uniformly stable and there is a positive con-stant c, independent of t0, such that for all ||x (t0) || < c, ||x (t) || → 0 as t → ∞,uniformly in t0; that is, for each η > 0, there is T = T (η) > 0 such that

||x (t) || < η, ∀t ≥ t0 + T (η) , ∀||x (t0) || < c (6.10)

78

Page 97: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6.1 Lyapunov Stability

• globally uniformly asymptotically stable if it is uniformly stable, δ (ε) can be chosento satisfy lim

ε→∞δ (ε) = ∞, and, for each pair of positive numbers η and c, there is

T = T (η, c) > 0 such that

||x (t) || < η, ∀t ≥ t0 + T (η, c) , ∀||x (t0) || < c (6.11)

Notably, the definition of non-uniform stability is to be considered unsatisfactory withregard to applicability in real-life applications, as it lacks generalization, wherefore solelyuniform stability will be persecuted in the following sections. Making use of the previouslydefined comparison functions, the corresponding definitions may be rephrased in a morepresentable manner.

Definition 6.1.5. The equilibrium point x = 0 of (6.6) is

• uniformly stable if and only if there exist a class K function α and a positive constantc, independent of t0, such that

||x (t) || ≤ α (||x (t0) ||) , ∀t ≥ t0 ≥ 0, ∀||x (t0) || < c (6.12)

• uniformly asymptotically stable if and only if there exist a class KL function β anda positive constant c, independent of t0, such that

||x (t) || ≤ β (||x (t0) , t− t0||) , ∀t ≥ t0 ≥ 0, ∀||x (t0) || < c (6.13)

• globally uniformly asymptotically stable if and only if inequality (6.13) is satisfiedfor any initial state x (t0)

That in mind, the necessary framework for the derivation of required system propertiesis given. In analogy to the autonomous case, a stability theorem utilizing Lyapunov’senergy based approach may be rephrased, this time making use of comparison functions.

Theorem 6.1.2. Let x = 0 be an equilibrium point for (6.6) and D ⊂ Rn be a domaincontaining x = 0. Let V : [0,∞)×D → R be a continuously differentiable function suchthat

W1 (x) ≤ V (t, x) ≤ W2 (x) (6.14)

79

Page 98: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6 Non-Linear Control Design (Planar Case)

∂V

∂t+ ∂V

∂xf (t, x) ≤ 0 (6.15)

∀t ≥ 0 and ∀x ∈ D, where W1 (x) and W2 (x) are continuous positive definite functionson D. Then x = 0 is uniformly stable.

It must be seen in analogy to Theorem 6.1.1 that has now been extended by the possiblytime-dependent functionsW1 (x) andW2 (x), which may become necessary in the presenceof time-varying systems. Theorem 6.1.2 can be altered such that it accounts for (global)uniform asymptotic stability, as done for autonomous systems, by demanding that

∂V

∂t+ ∂V

∂xf (t, x) ≤ −W3 (x) , (6.16)

W3 (x) being a continuous positive definite function on D. This concept can also be ex-tended to global exponential stability.

Theorem 6.1.3. Let x = 0 be an equilibrium point for (6.6) and D ⊂ Rn be a domaincontaining x = 0. Let V : [0,∞)×D → R be a continuously differentiable function suchthat

k1||x||a ≤ V (t, x) ≤ k2||x||a (6.17)∂V

∂t+ ∂V

∂xf (t, x) ≤ −k3||x||a (6.18)

∀t ≥ 0 and ∀x ∈ D, where k1, k2, k3 and a are positive constants. Then x = 0 is ex-ponentially stable. If the assumptions hold globally, then x = 0 is globally exponentiallystable.

The strong connection between Theorem 6.1.3 and Lemma 6.1.1 is easily noted and willbe exploited in the control design shortly.

6.1.3 Input-to-State Stability

In this work, the concept of input-to-state stability will be of importance. Definitionsand theorems in this section are also taken from [Khalil and Grizzle, 1996]. If (6.6) isextended by an input u (t), it reads

x = f (x, t, u) . (6.19)

80

Page 99: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6.1 Lyapunov Stability

Assuming that the unforced system

x = f (x, t, 0) . (6.20)

with u (t) = 0, ∀t ≥ t0 ≥ 0 has a stable equilibrium point at the origin x = 0, input-to-state stability allows evaluating the system in the presence of an input, which, howevermust fulfill certain criteria. Namely, it allows for an u (t) that is piecewise continuous andbounded for all t ≥ t0.

Definition 6.1.6. The system (6.19) is said to be input-to-state stable if there exist aclass KL function β and a class K function γ such that for any initial state x (t0) andany bounded input u (t), the solution x (t) exists for all t ≥ t0 and satisfies

||x (t) || ≤ β (||x (t0) , t− t0||) + γ

(supt0<τ<t

||u (τ ||))

(6.21)

In analogy to the above, the definition is succeed by the system-prerequisites.

Theorem 6.1.4. Let V : [0,∞)×Rn → R be a continuously differentiable function suchthat

α1 (||x||) ≤ V (t, x) ≤ α2 (||x||) (6.22)∂V

∂t+ ∂V

∂xf (t, x, u) ≤ −W3 (x) , ∀||x|| ≥ ρ (||u||) > 0 (6.23)

∀ (t, x, u) ∈ [0,∞) × Rn × Rm, where α1, α2 are class K∞ functions, ρ is a class Kfunction, and W3 (x) is a continuous positive definite function on Rn. Then, the system(6.19) is input-to-state stable with γ = α−1

1 α2 ρ.Lemma 6.1.2. Suppose f (t, x, u) is continuously differentiable and globally Lipschitz in(x, u), uniformly in t. If the unforced system (6.20) has a globally exponentially stableequilibrium point at the origin x = 0, then the system (6.19) is input-to-state stable.

Thereby, all definitions and theorems that are required for the subsequent non-linearcontrol approaches are stated.

81

Page 100: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6 Non-Linear Control Design (Planar Case)

6.2 Backstepping Controller for TranslationalSub-System

Firstly, a reduced (2D) version of the controller presented in [Klausen et al., 2015] isre-derived and implemented. Thereby the derivation is greatly simplified, and the sophis-ticated 3D calculations need be carried out only if the approach shows to be promising inregard to applicability to the load-controlled flight mode. Following the underlying work,attitude dynamics are foregone under the hypothesis of sufficiently fast behavior. Thiswas already mentioned to be a reasonable assumption according to [Hehn and D’Andrea,2011b], and simulations ran in course of this work further support that assumption. Theoutputs [xB, zB]T are controlled under consideration of the coerced load dynamics. Toachieve this, the dynamical model must be brought to matrix-form, such that the skew-symmetry frequently exhibited by mechanical systems may be exploited in the controldesign. A model of the form presented in (4.27) is considered, and the notation has beenchosen to match that of the underlying work, with η = [ xB, zB︸ ︷︷ ︸

p

, θL ]T and τ = [fx, fz, 0]T .

This is yet another transformation of the physical thrust forces f1 and f3. Mappingbetween the expressions is, however, no more complicated than before, as

f =√f 2x + f 2

z (6.24)

andθB = arctan

(fxfz

). (6.25)

Regardless of the simplicity of the former terms, implementation in MATLABTM/Simulinkmust be administered with care, as fx

fzposes the risk of inducing a singularity. Therefore,

the calculated signal is transmitted directly to a saturation block indexed to run beforepassing on the signal to the next component. Thereby, the outcome is ascertained to matcha sufficiently large but finite value. As, in this case, the consecutive operation is arctan (u)- let u denote the signal - this goes without any problems, as lim

u→∞

(∂∂u

arctan (u))→ 0, and

one may see that the sensitivity to the input signal is negligible for sufficiently large values.In the original publication, a further singularity is mentioned. It is exhibited when loadpitch approaches π/2. One may prevented this by introducing a slight model-perturbation,chosen in a way that does not harm the skew-symmetric properties. However, as thisproblem only comes up in the full 3D case, no regard will be paid to it for now.

82

Page 101: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6.2 Backstepping Controller for Translational Sub-System

With the stated assumptions, the matrices in (4.27) account to:

M (η) =

mB +mL 0 −lmL cos (θL)

0 mB +mL lmL sin (θL)−lmL cos (θL) lmL sin (θL) mLl

2

(6.26)

C (η, ν) =

0 0 lmLθL sin (θL)0 0 lmLθL cos (θL)0 0 0

(6.27)

G (η) =[0, −g (mB +mL) , glmL sin (θL)

]T(6.28)

As desired, the matrix M (η) − 2C (η, ν) is skew-symmetric, wherefore the propertiesthat arise from (4.28) are exploitable. In analogy to the cited publication and deviatingfrom the model derived in this work, a simplified linear air drag is considered at first. Itacts on the load only

D = diag [0, 0, d] (6.29)

and poses a shortcoming of the approach, wherefore it is to be examined in detail at alater point.

6.2.1 Control Design

In order for the controller to allow compensating the inertia load, a sufficiently smoothtrajectory r (t), which can be taken from the generic 5th order generator, is needed. WithSection 3 in hindsight, this is somewhat unfortunate, but will likely be accountable for bysmoothing the generated signal. Consecutively, two error signals are defined, namely

z1:=p− r (6.30)

andz2:=ν −α . (6.31)

The first is necessary for trajectory tracking, the second one will incorporate stabilizingproperties by choosing appropriate functions α = [α1, α2, α3]T . As not all DOF’s areactuated, some will evolve without direct control, and a separation into two sub-systems

83

Page 102: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6 Non-Linear Control Design (Planar Case)

is of need. With the according selection matrix

H = 1 0 0

0 1 0

(6.32)

and (4.26), the derivative of the first error signal reads

z1 = Hν − r . (6.33)

In analogy, and extended by M , the z2-dynamics yield

M (η) z2 = M (η) ν −M (η) α

= τ −C (η, ν)ν −G (η)−Dν −M (η) α ,(6.34)

the latter substitution is carried out with (4.27). In the following segment, the stabiliz-ing functions for the actuated DOF’s ([xB, zB]T ) are to be derived. In accordance withbackstepping technique, stability for the entire system is shown later-on utilizing a nestedLyapunov function. The under-actuation, however, induces a slight deviation from pro-tocol and creates need for a somewhat more sophisticated stability analysis. With aLyapunov function candidate

V1 (z1, t) = 12z

T1 z1 (6.35)

that fulfills all prerequisites demanded in Theorem 6.1.1, one obtains the time-derivativealong the trajectory of x as

V1 = ∂V

∂z1

∂z1

∂t= zT1 z1 . (6.36)

Notably, by choosing this candidate function, the Jacobian matrix accounts to the line-vector zT1 . With (6.33) and the actuated fraction of (6.31), this can be rewritten as

V1 = zT1 (Hν − r) = zT1

α1

α2

+Hν − r , (6.37)

and if the stabilizing functions

α1:2 =α1

α2

= r −K1z1 (6.38)

84

Page 103: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6.2 Backstepping Controller for Translational Sub-System

are chosen as above and with K1 being a symmetric positive definite matrix, (6.37)becomes

V1 (z1, t) = −zT1 K1z1 + zT1 Hz2 . (6.39)

At this point, a second Lyapunov function candidate

V2 (z1, z2, t) = V1 (z1, t) + 12z

T2 M (η) z2 (6.40)

is provided. Again, all prerequisites from 6.1.1 are met and the derivate is set up inanalogy to (6.37), yielding

V2 (z1, z2, t) = −zT1 K1z1 + zT1 Hz2︸ ︷︷ ︸V1

+zT2 M (η) z2 + 12z

T2 M (η) z2 . (6.41)

This may be aggregated in the following way

V2 (z1, z2, t) = −zT1 K1z1 + zT2(M (η) z2 +HTz1 + 1

2M (η) z2

), (6.42)

as zT1 Hz2 = zT2 HTz1, and substituting with (6.34) one obtains

V2 (z1, z2, t) = −zT1 K1z1

+zT2 (τ −G (η)−Dν −M (η) α+HTz1 + 12M (η) z2 −C (η, ν)ν ) .

(6.43)

Calling the skew symmetry of M (η)−2C (η, ν) with the related properties and further-more (6.31) into mind, this simplifies to

V2 (z1, z2, t) = −zT1 K1z1

+zT2 (τ −C (η, ν)α−G (η)−Dν +HTz1 −M (η) α ) .(6.44)

If the control signal is then set to

τ = C (η, ν)α+G (η) +Dα−HTz1 +M (η) α−K2z2 , (6.45)

K2 being, again, a symmetric and positive definite matrix, the derivative (6.41) reads

V2 (z1, z2, t) = −zT1 K1z1 − zT2 K2z2 − zT2 Dz2 , (6.46)

85

Page 104: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6 Non-Linear Control Design (Planar Case)

which, with the already known properties forK1,K2 andD guarantees a uniform globallyasymptotically stable system (UGAS) according to Theorem 6.1.1. At this point, theconsiderations must be extended and adjusted in such a way that they are congruentwith the constraints imposed by the passive DOF’s. As it is not possible to exert amoment about the suspension point, one must ascertain that the system performs asintended without demanding such, wherefore, in case of a 2D system, the third row from(6.45) is constrained to zero:

τ3!= 0 = C3:3 (η, ν)α3 +G3 (η) +D3:3α3 +M3:3 (η) α3︸ ︷︷ ︸

sought

+M3:1,2 (η) α1:2︸ ︷︷ ︸known

−K2;3z2;3

(6.47)This (here: scalar) equation, taken directly from [Klausen et al., 2015], must be contem-plated with care. The assumption of a simplified drag, that yielded a diagonal matrixD with entries in the lower-right corner only, allows extracting the respective elements- just like in the case of C, which, by nature, has the same structural properties. K2,however, has only been demanded to be a symmetrical, positive definite matrix. Theseparation, as carried out above, however, holds solely if it is also diagonal in the area ofinterest. With a fully diagonal matrix, the controller has been implemented successfully.The disconnected expressions of the sub-terms fromMα, which have been under-bracedfor understandability reasons, allow rephrasing (6.47) as a dynamic constraint on thesystem, since

• α1:2 is known from (6.38):

α1:2 = r −K1z1

= r −K1Hz2 +K1K1z1(6.48)

(with (6.31), (6.33) and (6.38))

• the trajectory r (t) is sufficiently smooth, and

• the respective sub-matrix is invertible (here: M3:3: scalar → even without perturb-ing the model)

This concludes the first part of the control design, the remainder of the section focuseson proving the dynamic state

Mα (η) α3 = −D3:3α3 −C3:3 (η, ν)α3 + uγ (η, z1, z2, r) (6.49)

86

Page 105: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6.2 Backstepping Controller for Translational Sub-System

stable. In analogy to [Klausen et al., 2015] let Mα:=M3:3 and Cα:=C3:3 for clarityreasons. Furthermore,

uγ (η, z1, z2, r) =

−G3 (η) +K2;3z2;3 −M3:1,2 (η) (r −K1Hz2 +K1K1z1)(6.50)

will act as a pseudo-input on the sub-system. In order to verify stability, Theorem 6.1.4will be consulted. Accordingly, the unforced system (uγ (η, z1, z2, r) = 0) is regarded tobegin with. A Lyapunov function candidate

Vα (α3, t) = 12α

T3Mα (η)α3 , (6.51)

in analogy to (6.44), yields the derivative

Vα (α3, t) = αT3 (−Dα + uγ (η, z1, z2, r)) , (6.52)

as Mα (η) − 2Cα (η, ν) retains the skew symmetric property. Again, this is trivial forthe 2D system, where α3 denotes a scalar. With Mα (η) and Dα being positive defi-nite matrices - again easy to show, particularly in the 2D case with simplified drag, asthey are actually positive scalars - this yields a globally exponentially stable system foruγ (η, z1, z2, r) = 0 according to Theorem 6.1.3 - Lemma 6.1.1 and (6.8) in mind, as then:k1 = k2 = l2mL, k3 = d and a = 2. Secondly, the boundedness of uγ (η, z1, z2, r) 6= 0must be verified, which is accomplished without much effort, as

• z1 and z2 have already been shown to be UGAS

• r is chosen such

• η enters Gα (η) and Mα (η) through the bounded functions sin and cos

Thereby, according to Theorem 6.1.4 with Lemma 6.1.2, the α-sub-system is input-to-state stable.

6.2.2 Improved Air Resistance Consideration

Reverting to the 2D system, the damping matrix D is to be reflected thoroughly. Adiagonal matrix as in (6.29) is not representative for any real system. Even if the dragcoefficient for the drone itself is foregone, which is reasonable at low speeds featuring a

87

Page 106: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6 Non-Linear Control Design (Planar Case)

relatively heavy vehicle, respect must be paid to the fact that the load moves in relationto the body itself. Therefore, the matrix

Dext (η) =

dL 0 −dLl cos (θL)0 dL dLl sin (θL)

−dLl cos (θL) dLl sin (θL) dLl2

, (6.53)

dl being uniform linear drag coefficients for the load, is proposed. Forcing a cable ofpositive length, its eigenvalues account to

λ1 = dL

λ2 = dL

(l2 + 1

)λ3 = 0 ,

(6.54)

and one can see that it is in fact a semi positive definite matrix. Therefore, at first sight,it is quickly stated that the stability properties of the z1, z2 system (cf. (6.46)) remainunaffected. The α-sub-system, however, is a bit more sensitive. Equation (6.47) must beextended by the term Dext;3,1:2 (η)α1:2, under consideration of (6.38) along with the factthat the z1 system has already been proven stable and r is chosen accordingly, this maybe arranged in the uγ-term and treated as a bounded input. The remainder of the proofgoes unchanged, wherefore the extended system is also shown to be UGAS. If desired,a drag coefficient for the body may be introduced in a similar manner. In this case,the respective matrix accounts to DB = diag (dB, dB, 0), and does not alter the stabilityproperties if considered in the calculation of the control signal. Ultimately, the system isimplemented featuring both of the latter matrices and results are presented in the nextsection.

6.2.3 Simulation Results

In order to test the controller, a sufficiently smooth trajectory has to be generated. Asimple 5th-order polynomial trajectory with zero initial/final velocities is generated andused to evaluate the trajectory tracking capabilities (c.f. Figure 6.1).

88

Page 107: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6.2 Backstepping Controller for Translational Sub-System

0 0.5 1 1.5 2 2.5 3 3.5

Po

siti

on

[m

]

0

0.5

1

1.5

2

Position

0 0.5 1 1.5 2 2.5 3 3.5

Vel

oci

ty [

m/s

]

0

0.2

0.4

0.6

0.8

1

1.2Velocity

Time [s]0 0.5 1 1.5 2 2.5 3 3.5

Acc

eler

atio

n [

m/s

2]

-1.5

-1

-0.5

0

0.5

1

1.5Acceleration

Figure 6.1: Smooth Trajectory

In case of the linear air resistance and no perturbations, the controller is able to trackthe trajectory perfectly, wherefore the scenario is rendered a bit more demanding. Thepreviously utilized equations featuring quadratic drag terms are used in the dynamicalmodel, and the controller - designed for linear drag - is deployed. Remarkably, the systemstill performs very well, as can be seen in Figure 6.2.

89

Page 108: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6 Non-Linear Control Design (Planar Case)

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

[m]

0

0.5

1

1.5

2

2.5Time Evolution in x

refbodyload

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

[m]

-1

0

1

2

3Time Evolution in z

refbodyload

Time(Seconds)0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

[N]

2

4

6

8

10

12Thrust Force of Rotors 1 & 3

Figure 6.2: Trajectory Tracking of backstepping Controller

The arising load angles are in a similar order of magnitude as in case of the linear controlstrategies. In Figure 6.3 one may note some over-swing of the load, but the copter’sCOG stays very precisely on the trajectory regarding time as well as position throughoutthe entire period of motion. The latter figure is also a good depiction of the graphicalenvironment that has been used for a quick visual assessment of the simulation outcome.As the attitude dynamics are foregone, both rotors will exert the same force, but they arewell within the un-saturated area. The exhibited attitude should not bring the system

90

Page 109: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6.2 Backstepping Controller for Translational Sub-System

in a critical state regarding actuator limitations. This has, however, been provoked andtested by imposing demanding trajectories, and the controller does not cope well when thecontrol outputs saturate, wherefore trajectories must be chosen with care. The load swingcan be reduced by applying a filter as proposed in Section 3.1.6, which, understandably,is done in the underlying publication.In a next step, the control has been applied to the system with attitude dynamics, andwith the previously developed PD controller satisfying results could be achieved. Thevehicle will deviate slightly from the reference at times, but very well within a tolerableorder of magnitude. This is depicted in Figure 6.4.

6.2.4 Extension to the Load-Controlled Flight-Mode

According to the current understanding, it is not possible to classify this control conceptamong the promising ones with respect to applicability to a load-controlled scenario.However, non-linear approaches likely pose a promising chance in the long run, whereforethe obtained knowledge will be recorded.

x - [m]-1 -0.5 0 0.5 1 1.5 2 2.5

y -

[m]

-1

-0.5

0

0.5

1

1.5

2

2.5

Figure 6.3: System Poses (Notable Overswing)

91

Page 110: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6 Non-Linear Control Design (Planar Case)

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

[m]

0

0.5

1

1.5

2

2.5Time Evolution in x

refbodyload

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

[m]

-1

0

1

2

3Time Evolution in z

refbodyload

Time(Seconds)0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Thr

ust /

Rot

or [N

]

2

4

6

8

10

12Thrust Force of Rotors 1 & 3

Figure 6.4: Trjactory Tracking in the Presence of 2D Attitude Dynamics

Taking and reducing the model from Section 4.2.1, the control derivation from Section6.2.1 can be iterated for the most part with:

ML (η) =

mB +mL 0 lmB cos (θL)

0 mB +mL −lmB sin (θL)lmB cos (θL) −lmB sin (θL) mBl

2

(6.55)

CL (η, ν) =

0 0 −lmBθL sin (θL)0 0 −lmBθL cos (θL)0 0 0

(6.56)

GL (η) =(0, g (mB +mL) , −glmB sin (θL)

)T(6.57)

92

Page 111: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6.3 Feedback Linearization

Ultimately, however, the design must fail, as the force-vector now reads

τL (η) =

fx

fz

−l sin(θL) fz + l cos(θL) fx

(6.58)

and we see that adjusting the matrix expression comes at a cost. The last row of τL (η),that previously contained zero, now is a function of the control output fx and fz. Theseare, however, itself functions of α and α, wherefore (6.49), obtained from (6.47), now isill-defined.

6.3 Feedback Linearization

In a different attempt, the principle of feedback linearization is to be assessed. [Spong,1998] has noted, that this concept is applicable to under-actuated systems if they fulfillcertain structural prerequisites. It is then referred to as partial feedback linearization,and a distinction between ’collocated’ and ’non collocated’ linearization is drawn. Theformer denotes linearizing the actuated degrees of freedom, the latter applies to passiveones. A matrix model in Lagrangian formulation, as presented in (4.27), is expected.Furthermore, it needs to be presentable in such a way that a separation of the actuatedand non-actuated degrees of freedom is exhibited:

M11 (η) ν1 +M12 (η) ν2 +C1 (η, ν)ν +G1 (η) = τ (6.59)

M21 (η) ν1 +M22 (η) ν2 +C2 (η, ν)ν +G2 (η) = 0 (6.60)

6.3.1 Collocated Linearization

Once more, the body-position-controlled system is evaluated firstly to get a better under-standing of the proceeding. Collocated linearization of under-actuated systems must beseen as a special case of Input/Output linearization [Khalil and Grizzle, 1996]. With thevalidated assumptions of sufficiently fast attitude dynamics the matrices stated in Section

93

Page 112: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6 Non-Linear Control Design (Planar Case)

6.2 can be adopted. A separation into the actuated DOF’s

η1 = [xB, zB]T (6.61)

and non-actuated DOFη2 = θL (6.62)

is possible with a force-vector that reads

τ =

fx

fz

0

. (6.63)

Note, that η2 denotes a scalar for the planar scenario. Ultimately, the system is given asdemanded, and in case of the inertia matrix, the according sub-matrices account to

M (η) = M11 M12

M21 M22

=

mB +mL 0 −lmL cos (θL)

0 mB +mL lmL sin (θL)−lmL cos (θL) lmL sin (θL) mLl

2

. (6.64)

Matrix C (η, ν) and G (η) can be separated accordingly, it is, however, trivial and willtherefore not be pictured. The controlled output [xB, zB]T must be derived two timesuntil the input appears, and with the ambition of eliminating the non-actuated degreesof freedom from (6.59), Equation (6.60) is rephrased as follows

ν2 = −M−122 (η) [M21 (η) ν1 +C2 (η, ν)ν +G2 (η)] , (6.65)

which is certainly possible due to M being symmetric positive definite. If this is substi-tuted into (6.59), the latter reads

M11ν1 + C1 (η, ν)ν + G1 (η) = τ , (6.66)

withM11 (η) = M11 (η)−M12 (η)M−1

22 (η)M21 (η) (6.67)

and C1 (η, ν) as well as G1 (η) defined in the same manner. [Spong, 1994] shows thatM11 is also a symmetric positive definite matrix, wherefore (6.66) may be used to obtain

94

Page 113: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6.3 Feedback Linearization

a control lawτ = M11 (η)uδ + C1 (η, ν)ν + G1 (η) (6.68)

that yields the systemν1 = uδ , (6.69)

M22 (η) ν2 +C2 (η, ν)ν +G2 (η) = −M21 (η)uδ , (6.70)

where uδ represents a control signal that is yet to be specified - at hand of the nowfeedback linearized system. Introducing, again, an error state z1:=η1 − r as well as itsderivatives, the complete system reads

z1 = z2 (6.71)

z2 = uδ (6.72)

η2 = ν2 (6.73)

ν2 = M−122 (η)

[M21 (η)uδ +C2 (η, ν)ν +G2 (η)

](6.74)

and we see that the z-subsystem may as well be expressed in LTI-notation z = Az+Buδ,allowing for a wide variety of linear design tools in order to establish desired behavior, aslong as A is chosen to be Hurwitz. The η2 subsystem may, however, yield the merged sys-tem unstable and needs to be examined. Notably, similar to the case of the backsteppingcontroller, the z-subsystem has already been shown stable, wherefore a consideration ofthe zero-dynamics of η2 suffices.

6.3.2 Control Design

At hand of the model in [xB, zB]T , the linearizing control commands are calculated to

fx = lmL sin (θL) θ2L + cos (θL) sin (θL)mL (zB + g)

+ uδx(mB +mL sin (θL)2

) (6.75)

and

fz = lmL cos (θL) θ2L + gm+ sin (θL)mL (cos (θL) xB + sin (θL) g)

+ uδz(mB +mL cos (θL)2

).

(6.76)

95

Page 114: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6 Non-Linear Control Design (Planar Case)

The resulting linear system is controlled utilizing PD controllers, which have already beenshown favorable in presence of a double integrator. A feed-forward term for a dynamiccompensation of the trajectory changes could be included, but is forgone at this pointaccepting a tracking error, as it facilitates the deployment of the trapezoidal trajectorygenerator. In any case, the θL-dynamics must be taken into account if stability is to beascertained. They read

θL = 1l2mL

(−zBlmL sin (θL) + xBlmL cos (θL)− glmL sin (θL)) , (6.77)

and as mentioned above, evaluating the zero-dynamics is sufficient. The differential equa-tion

θL = −gl

sin (θL) (6.78)

is stable, as can be shown easily at hand of the Lyapunov function candidate

V (x) = a (1− cos (x1)) + 12x

22 , (6.79)

where x =[θL, θL

]T= [x1, x2]T . This denotes the well documented case of an undamped

pendulum and is thereby a stable, however, not asymptotically stable system. This isunderstandable, as friction forces are foregone in control derivation as well as stabilityevaluation, but air drag will eventually have the pendulum coming to rest at the origin.

6.3.3 Simulation Results

Controller performance is tested under the conditions stated in Section 6.2.3, namelyincluding quadratic drag and tracking the trajectory pictured in Figure 6.1. The resultsare comparable - apart from the already predicted tracking error, which is well within atolerable order of magnitude, as can be seen in Figure 6.5. Notably, this method allowsdesigning the control loops such that similar reaction times are achieved in x and z withoutmuch tuning. This, while still yielding a tracking error in the time evolution, allows forvery good path-tracking with respect to position states only. Including an attitude looprenders the system a bit sluggish. In all likelihood, this need not be regarded problematic,as the outer loops may easily be configured to act in a sufficiently slow manner, therebyrelieving workload from the attitude loop.

96

Page 115: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6.4 Non-Collocated Linearization - Extension to the Load-Controlled Flight-Mode

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

[m]

0

0.5

1

1.5

2

2.5Time Evolution in x

refbodyload

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

[m]

-1

0

1

2

3Time Evolution in z

refbodyload

Time(Seconds)0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

[N]

2

4

6

8

10

12Thrust Force of Rotors 1 & 3

Figure 6.5: Trajectory Tracking of feedback-linearized System

6.4 Non-Collocated Linearization - Extension to theLoad-Controlled Flight-Mode

Similar to the course of action taken in designing the backstepping controller, the ex-tendability to a load-controlled system is examined. However, also here one finds himselfconfronted with hindrances caused by the complex and interrelated dynamics that acton the payload. For the sake of readability, the associated inertia matrices are presented

97

Page 116: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

6 Non-Linear Control Design (Planar Case)

anew, regardless of recurrences. From the Lagrangian approach one obtains

ML (η) =

mB +mL 0 lmB cos (θL)

0 mB +mL −lmB sin (θL)lmB cos (θL) −lmB sin (θL) mBl

2

,

as stated in (6.55). This was, however, connected to a force-vector that reads

τL (η) =

fx

fz

−l sin(θL) fz + l cos(θL) fx

.

It becomes evident, that the structural separation into actuated and non-actuated degreesof freedom, as demanded in [Spong, 1994], is not present. The latter may be accountedfor by adopting to the EQM’s generated originally with the Newton-Euler formalism. Inthis case, the vector of generalized forces accounts to

τL (η) =

fx

fz

0

, (6.80)

and is therefore compliant to the prerequisite structure. The inertia matrix, however,evolves to

ML (η) =

mB +mL 0 lmB cos (θL)

0 mB +mL −lmB sin (θL)lmB cos (θL) −lmB sin (θL) 0︸︷︷︸

M22

, (6.81)

and, while the force-vector is as demanded,M22 (c.f. (6.60)) cannot only not be inverted,but is amiss completely. All approaches at arranging the system in a satisfactory mannerhave failed. Thus, ultimately, neither backstepping nor feedback-linearization seem tobe applicable to the load-controlled system. Or, at any rate, not without much effort.The reason for these setbacks lies in the already mentioned cross couplings between theinputs. As seen in the previous sections, these may be eliminated by linearizing thesystem about hover, and as a whole, the controller derived in Section 5.1.3 can be seen asa specialization of the exact linearization technique. The linearization has been carriedout mathematically and only holds in the vicinity of the origin, but the controller similarlyaccounts for the - now linear - dynamics.

98

Page 117: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

7 Control Robustness

Utilizing the non-linear model, performance and stability of the obtained linear controllersare to be assessed in the presence of parameter and process disturbances. The latter areintroduced in the form of sinusoidal and random perturbations placed at various stages ofthe process. To test robustness in the presence of parameter uncertainties, all significantmodeled magnitudes are varied within a large range. Thereby, we ascertain that theinduction of instabilities is not at risk in the vicinity of the measured values (Table 2.1).These tests have shown that no instabilities appear in a range of +

−50 percent variation -even in case of the compensating controller. This should exceed the achievable precisionin measurements by far. Generally, quantities like mass or geometry specifications willbe without significant measuring errors, whereas inertia or air drag will be known withless precision - but none have to be considered as critical regarding stability. Therefore,performance should ultimately be tunable by adjusting the controller at hand of the actualsystem.

Process disturbances in form of sinusoidal signals pose a notable risk, as this may causeoscillations in the copter that excite the load swing. In the LQ controlled scenarios thishas shown to be less problematic, but the compensating controller tends to cause risingoscillations. In both scenarios problems can be amplified if time-delays are introducedin the measured or observed state signals. This must be looked into once more detailedknowledge of the system setup is available. In particular, as an expression in [xL, zL]T

introduces position and velocity states that are dependent on visual measurements anda Kalman Filter implementation. Compared to the classical setup, this might pose prob-lems, as these values are normally obtained from the IMU and/or GPS measurements,in any case likely somewhat faster. However, looking at real world systems, this shouldhopefully be compensable. LQ control in particular is well known for its robustness andhas been implemented successfully on quad-copter systems. Stability, in general, is influ-enced immediately by the attitude dynamics, which are obtained in the normal manner.Therefore, the control should be able to cope with the process disturbances on the drone

99

Page 118: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

7 Control Robustness

itself. There is no reason for the assumption that the load sub-system will cause incalcula-ble problems if modest motion is imprinted, as vision based control is an established item.Furthermore, the natural frequency of the system is quite large; caused by the relativelylong cable. It seems unlikely that such a sluggish system should be excited by small andfast disturbances. It leads, however, to the thought that swing-up might be experiencedif an inappropriate sinusoidal trajectory is imposed. To a certain extent this is indeed thecase, air drag does, however, soften this effect.

Wind disturbances pose a problem. Due to the modest load-weight, it reacts sensible toconstant winds or gusts. In the performed tests, the controllers are intended to stabilizethe load at zero. In case of an ongoing wind perturbation, compensating- as well as LQset point control perform insufficiently. While they manage to stabilize the system, theycannot compensate the induced change in stationary point, and come to a different halt.Only the LQ servo controller is able to fully compensate wind effects. While in [Araarand Aouf, 2014] wind velocities of almost 3 m

sare imposed on a lighter vehicle, it has to be

noted that a horizontal wind with a velocity of 2 msalready leads to load angles of more

or less 30 degrees. It must therefore be considered an extreme scenario, and if outdoorapplications are intended, a denser load with a larger mass / drag coefficient ratio shouldbe provided.

100

Page 119: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

8 Full model (3D)

Lastly, the 3D model is developed. Featuring body-coordinates, the derivation of theequations of motion is administered in Newton-Euler as well as Lagrange-Euler for-malisms, as presented in Section 2.2. The calculations are, again, carried out utilizingMATLAB R©/Symbolic Math Toolbox and thereby allow comparing the results with near-zero tolerance for mistakes. The translational sub-system is straightforward, as it maybe expressed directly in inertial coordinates, wherefore an explicit depiction is forgone atthis point. The same applies to the load-subsystem. While containing one intermediateframe, is also set up without much complication, as no actuation is imposed. The separaterotational system is well documented, but will be presented in more detail. By choice,and in order to retain a diagonal inertia tensor, the equations of motion are phrased inbody-fixed coordinates. Thus, they can be formulated with seemingly little effort, andultimately account to

p = τφIxx

+ q r (Iyy − Izz)Ixx

, (8.1)

q = τθIyy

+ p r (Izz − Ixx)Iyy

, (8.2)

r = τψIzz

+ q p (Ixx − Iyy)Izz

. (8.3)

Here, body-fixed angular accelerations are denoted again as ω = [p, q, r]T , and friction inthe suspension joint is foregone. Complexity arises when (2.29) is called to mind, as thenecessary matrix derivation yields

W =

0 θ s(φ)

(t(θ)2 + 1

)+ φ c(φ) t(θ) θ c(φ)

(t(θ)2 + 1

)− φ s(φ) t(θ)

0 −φ s(φ) −φ c(φ)0 φ c(φ)

c(θ) + θ s(φ) s(θ)c(θ)2

θ c(φ) s(θ)c(θ)2 − φ s(φ)

c(θ)

. (8.4)

This is, however, necessary if Newton and Lagrangian formulations are to be compared, asbody-fixed angular accelerations may now be eliminated. The derivation of a Lagrange-

101

Page 120: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

8 Full model (3D)

model has been presented in detail in Section 2.4.2, but the vector of generalized forces willbe depicted nevertheless. This is motivated by the fact that, while Lagrangian derivationsare common in case of quadrotor applications, an explicit formulation of the generalizedforces is hard to come by. Ultimately, this vector accounts to

τ =

f (sin(φ) sin(ψ) + cos(φ) cos(ψ) sin(θ))−f (cos(ψ) sin(φ)− cos(φ) sin(ψ) sin(θ))

f cos(φ) cos(θ)τφ

τθ cos(φ)− τψ sin(φ)τψ cos(φ) cos(θ)− τφ sin(θ) + τθ cos(θ) sin(φ)

00

(8.5)

and Newton and Euler approaches align. As mentioned in Section 2.4.1, the Newtonianmodel may be used to obtain an expression in body- or load-coordinates by simply re-versing the kinematics. This does not alter the constitutive equations in any way, andthe calculation is not at all prone to mistakes. Therefore, an explicit calculation of the3D model in load-coordinates following Lagrange formalism is foregone at this point, anda matrix model as given by (4.27) is set up for translational and load sub-systems. Theaccording matrices for the system featuring [xL, yL, zL]T are presented below, the damp-ing matrix D is foregone at the cause of being too large to be depicted in a readablemanner.

M (η) =

mB +mL 0 00 mB +mL 00 0 mB +mL

0 l mL c(θL,x ) c(θL,y ) l mL s(θL,x )−l mL c(θL,x ) c(θL,y ) 0 l mL c(θL,x ) s(θL,y )

−l mB s(θL,x ) s(θL,y ) l mB c(θL,x ) c(θL,y )−l mB c(θL,x ) 0

−l mB c(θL,y ) s(θL,x ) −l mB c(θL,x ) s(θL,y )0 00 0

(8.6)

102

Page 121: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

8.1 Graphical Animation

C (η,ν) =

0 0 0 l mB

(−θL,x c(θL,x ) s(θL,y )− θL,y c(θL,y ) s(θL,x )

)0 0 0 θL,x l mB s(θL,x )0 0 0 θL,y l mB s(θL,x ) s(θL,y )− θL,x l mB c(θL,x ) c(θL,y )0 0 0 00 0 0 0

l mB

(−θL,x c(θL,y ) s(θL,x )− θL,y c(θL,x ) s(θL,y )

)0

θL,x l mB s(θL,x ) s(θL,y )− θL,y l mB c(θL,x ) c(θL,y )00

(8.7)

G (η) =

00

g (mB +mL)g l mL sin(θL,x )

g l mL cos(θL,x ) sin(θL,y )

(8.8)

An illustration of the rotational dynamics in inertial coordinates is also not presentable.The reader is referred to [Bouabdallah, 2007, App.B2], where the mathematical deriva-tion is stated explicitly, however, with some vagueness in the case of generalized forces.All calculations carried out in the course of this work are, however, easily replicable uti-lizing the scripts in MATLAB R©/Symbolic Math Toolbox. This should greatly enhanceunderstanding and furthermore facilitates implementation in MATLAB R©/Simulink.

8.1 Graphical Animation

Quick visual assessment of the simulation outcome is desired in the 3D scenario as well,wherefore a slightly more advanced animation environment is needed. On may chosebetween a three-dimensional perspective and a view from above, which facilitates under-standing the quality of motion in the x − y plane. Both options are pictured below infigures 8.1 and 8.2, and the usefulness of the 2D-depiction becomes visible.

103

Page 122: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

8 Full model (3D)

x - [m]0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

y -

[m]

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

Figure 8.1: Simplified Depiction

2

1.5

x - [m]

1

0.5

00

0.5

y - [m]

1

1.5

0

0.2

0.4

0.6

0.8

1

-0.2

-0.4

-0.6

-0.8

-12

z -

[m]

Figure 8.2: Full Perspective

8.2 Linearization

The equations of motion are quite complex, as can be taken from the matrices in Chapter8. A state-space linearized model about hover is, however, not all that sophisticated,as the Coriolis terms are dropped in the linearization process. This has already beenforeseen, and the according LTI matrices for the linearized system

η = [xL, yL, zL, φ, θ, ψ, φL, θL]T (8.9)

are given below. Concluding, the derivation of an exemplary LQ set point controller is notmuch more sophisticated than it is in the planar case, particularly as model structure and

104

Page 123: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

8.2 Linearization

automated mechanisms for linearization, controller derivation and evaluation are alreadyestablished.

A =

0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 1 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 1 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 1 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 1 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 1 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 g 0 0 0 0 0 0 0 00 0 0 0 0 0 −g 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 g (mB+mL)

l mB0 0 −g (mB+mL)

l mB0 0 0 0 0 0 0 0 0

0 0 0 0 g (mB+mL)l mB

0 0 −g (mB+mL)l mB

0 0 0 0 0 0 0 0

(8.10)

105

Page 124: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

8 Full model (3D)

B =

0 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 01

mB+mL0 0 0

0 1Ixx

0 00 0 1

Iyy0

0 0 0 1Izz

0 0 0 00 0 0 0

(8.11)

8.3 Control and Simulation Results

Ultimately, a series of simulations featuring steps and trajectories with LQ set pointcontrol are carried out. The controller parameters are adopted from the planar system,and it performs in a similar manner, namely offering good stability properties and yieldingsignificant time-lag in the tracking tasks. As the load, for now, has neither dimensionnor orientation, the quadrotor yaw angle is fixed at zero, but the controller has showngood responses in the presence of a step reference without much tuning. An exemplarytrajectory tracking setup is presented in Figure 8.3. The simulation has been run withneither actuator saturation nor joint-friction, but both will, with all likelihood, not yieldproblems, and we see relatively good correspondence between linear and non-linear systemresponses. That is, even though both predominated non-linearity effects, namely Coriolisforces and air drag, have been implemented without simplifications.

106

Page 125: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

8.3 Control and Simulation Results

0 1 2 3 4 5 6 7 8 9 10

[m]

-1

0

1

2

3

4

5

6Time Evolution in x

refnon-linearlinear

0 1 2 3 4 5 6 7 8 9 10

[m]

-1

0

1

2

3

4

5

6Time Evolution in y

refnon-linearlinear

Time(Seconds)0 1 2 3 4 5 6 7 8 9 10

[m]

×10-3

-20

-15

-10

-5

0

5Altitude Consistency

Figure 8.3: Tracking in x and y

107

Page 126: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe
Page 127: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

9 Conclusion and Outlook

The first important milestone to the task at hand is marked by the establishment of awell-founded non-linear model. While extensive documentation on quad-copter kineticsand kinematics is available, a large part of it lacks integrity and background. Therefore,the utilized model is developed autonomously, which is also advantageous with respect tothe acquired system understanding. Redundant models are found utilizing Newton-Eulerand Lagrangian formalisms. Concluding, the obtained equations of motion are comparedand affirm the flawlessness of the derivations. Background as well as course of action aredocumented in extensive detail for future projects. Thereafter, the model is extended toaccount for the suspended load. In a novel approach to quad rotor systems with suspendedpayloads, a set of generalized coordinates containing the load-position is presented. Thisoriginality shows for desirable qualities in the control design, which is to be demonstratedon the basis of simulation studies.

At this point, a multi-dimensional trapezoidal trajectory generator that may take com-manded initial and final velocities into account is developed. Two approaches are takenfrom established literature but cease to suffice. Thus, also here an autonomous approachis developed, and ultimately all demanded requirements can be met.

For the sake of progressivity in the approach, together with the possibility of gainingbetter insight on the system’s properties and behaviors, a simplified planar model isconsidered in a first draft. Thereby, futile control approaches may be discarded prior tobeing implemented in a 3D scenario at greater expenditure. The corresponding planarmodel is chosen carefully such that it yields a reduced but realistic depiction of thesystem dynamics. This procedure is proven recommendable in the course of this work,as a variety of control schemes have to be overthrown. Approaching the control design,the system is linearized around hover, and linear designs are assessed firstly. Noteworthy,PID fails already in the presence of planar translational dynamics, but is successfully

109

Page 128: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

9 Conclusion and Outlook

applied to attitude and altitude sub-systems. Therefore, a more sophisticated horizontalcontroller is designed, compensating some of the linearized dynamics. Consecutively,a first set of simulation studies can be carried out. This allows gaining further systeminsight, and it becomes evident that the holistic consideration of the multi-body dynamics,achieved by choosing the generalized coordinates as stated, is indeed advantageous. Itallows transporting the payload without exerting significant oscillations when motion isinitiated or brought to a halt.

This is succeeded by an approach to linear optimal control, in course of which a linearquadratic non-zero set point controller as well as a linear quadratic servo controller aredeveloped. With the exception of the tracking error resulting from the lack of a feed-forward controller, both perform well in point-to-point trajectory tracking tasks, evenmore so than the compensating controller. Furthermore, the system is elegantly tunableas the interactions between placed weights and system response are straightforward. Allin all, welcome properties, that yet have to prove their potential in real world applications.Conditions will be complicated by the fact that load-position states are obtained from amonitoring system, and velocities must then be observed by means of a Kalman Filterimplementation. Therefore, measurement inaccuracies and time-delays are to be expected,both of which might prove problematic. This will, however, be similarly unfavorable inany scenario that incorporates rigorous consideration or compensation of the coercedload dynamics. Due to the passive actuation, all tries at including a feed-forward controlfail. As project scope would be exceeded by a familiarization with differential flatnessbased approaches, a simplified adaptivity concept at trajectory generation is proposedand performs rather well in simulations.

This is succeeded by an approach to non-linear control. Following recent literature, abackstepping controller is developed for trajectory tracking tasks. Notably, with respectto body-position, but under consideration of load effects. Following the underlying work,attitude dynamics are foregone and a rather unusual air resistance term is included. Thecontroller is then re-derived for the planar scenario, and a proposition for a more appropri-ate air resistance implementation is provided. Ultimately, simulations are run successfullyeven with an included attitude controller. Unfortunately, however, an extension to load-position-controlled flight mode fails. Therefore, the principle of feedback linearization is tobe examined - with the gained knowledge, thus under the assumption of sufficiently fastattitude dynamics. Also here, vehicle-position-controlled flight mode is assessed firstlyand simulations are run successfully in the presence of an attitude controller. However,

110

Page 129: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

also here the extension to load-coordinates fails due to the systems structural properties,and at this point the non-linear control design is left as a work in progress.

Eventually, the full (3D) model is implemented, linearized, and the previously derivedlinear quadratic non-zero set point controller is assessed. As expected, it is capable ofcontrolling the load-position in the 3D scenario in a near equal manner.

Hereby, work is concluded and an extensive simulation framework is left for future projects.

111

Page 130: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe
Page 131: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

Bibliography

Araar, O. and Aouf, N. (2014). Full linear control of a quadrotor UAV, lq vs h∞. InControl (CONTROL), 2014 UKACC International Conference on, pages 133–138.

Bernard, M. and Kondak, K. (2009). Generic slung load transportation system using smallsize helicopters. In Robotics and Automation, 2009. ICRA ’09. IEEE InternationalConference on, pages 3258–3264.

Biagiotti, L. and Melchiorri, C. (2008). Trajectory planning for automatic machines androbots. Springer Science & Business Media.

Bisgaard, M., la Cour-Harbo, A., and Bendtsen, J. D. (2010). Adaptive control system forautonomous helicopter slung load operations. Control Engineering Practice, 18(7):800–811.

Bouabdallah, S. (2007). Design and control of quadrotors with application to autonomousflying. PhD thesis, École Polytechnique federale de Lausanne.

Bouabdallah, S., Murrieri, P., and Siegwart, R. (2004a). Design and control of an indoormicro quadrotor. In Robotics and Automation, 2004. Proceedings. ICRA ’04. 2004IEEE International Conference on, volume 5, pages 4393–4398.

Bouabdallah, S., Noth, A., and Siegwart, R. (2004b). Pid vs lq control techniques appliedto an indoor micro quadrotor. In Intelligent Robots and Systems, 2004.(IROS 2004).Proceedings. 2004 IEEE/RSJ International Conference on, volume 3, pages 2451–2456.IEEE.

Cowling, I. D., Whidborne, J. F., and Cooke, A. K. (2006). Optimal trajectory planningand lqr control for a quadrotor uav. In UKACC International Conference on Control.

Dhanda, A., Vaughan, J., and Singhose, W. (2009). Optimal input shaping filters for non-zero initial states. In American Control Conference, 2009. ACC’09., pages 4141–4146.IEEE.

113

Page 132: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

Bibliography

From, P. J., Schjølberg, I., Gravdahl, J. T., Pettersen, K. Y., and Fossen, T. I. (2012).On the boundedness property of the inertia matrix and skew-symmetric property of thecoriolis matrix for vehicle-manipulator systems. Journal of Dynamic Systems, Measure-ment, and Control, 134(4):044501.

Haschke, R., Weitnauer, E., and Ritter, H. (2008). On-line planning of time-optimal, jerk-limited trajectories. In Intelligent Robots and Systems, 2008. IROS 2008. IEEE/RSJInternational Conference on, pages 3248–3253. IEEE.

Hehn, M. and D’Andrea, R. (2011a). A flying inverted pendulum. In Robotics andAutomation (ICRA), 2011 IEEE International Conference on, pages 763–770. IEEE.

Hehn, M. and D’Andrea, R. (2011b). Quadrocopter trajectory generation and control. InIFAC World Congress, vol. 18., pages 1485–1491. IEEE.

Hoffmann, G., Rajnarayan, D., Waslander, S., Dostal, D., Jang, J. S., and Tomlin, C.(2004). The stanford testbed of autonomous rotorcraft for multi agent control (starmac).In Digital Avionics Systems Conference, 2004. DASC 04. The 23rd, volume 2.

Khalil, H. K. and Grizzle, J. (1996). Nonlinear systems, volume 3. Prentice hall NewJersey.

Klausen, K., Fossen, T. I., and Johansen, T. A. (2015). Nonlinear control of a multirotoruav with suspended load.

Mellinger, D. and Kumar, V. (2011). Minimum snap trajectory generation and control forquadrotors. In Robotics and Automation (ICRA), 2011 IEEE International Conferenceon, pages 2520–2525.

Palunko, I., Cruz, P., and Fierro, R. (2012). Agile load transportation: Safe and effi-cient load manipulation with aerial robots. Robotics & Automation Magazine, IEEE,19(3):69–79.

Palunko, I. and Fierro, R. (2011). Adaptive control of a quadrotor with dynamic changesin the center of gravity. In Proceedings 18th IFAC World Congress, volume 18, pages2626–2631.

Sagatun, S. I. and Fossen, T. (1991). Lagrangian formulation of underwater vehicles’dynamics. In Systems, Man, and Cybernetics, 1991. ’Decision Aiding for ComplexSystems, Conference Proceedings., 1991 IEEE International Conference on, pages 1029–1034.

114

Page 133: Masterarbeit presented bybibing.us.es/proyectos/abreproy/70000/descargar_fichero/...Thisisacommonlychosensimplification[Palunko etal.,2012],buthasbeencriticizedandrevisedby[BernardandKondak,2009],asthe

Bibliography

Singh, T. and Singhose, W. (2002). Input shaping/time delay control of maneuveringflexible structures. In American Control Conference, 2002. Proceedings of the 2002,volume 3, pages 1717–1731. IEEE.

Smith, O. J. (1957). Posicast control of damped oscillatory systems. Proceedings of theIRE, 45(9):1249–1255.

Spong, M. (1994). Partial feedback linearization of underactuated mechanical systems.In Intelligent Robots and Systems ’94. ’Advanced Robotic Systems and the Real World’,IROS ’94. Proceedings of the IEEE/RSJ/GI International Conference on, volume 1,pages 314–321.

Spong, M. W. (1998). Underactuated mechanical systems.

Sreenath, K., Lee, T., and Kumar, V. (2013a). Geometric control and differential flatnessof a quadrotor UAV with a cable-suspended load. In Decision and Control (CDC),2013 IEEE 52nd Annual Conference on, pages 2269–2274.

Sreenath, K., Michael, N., and Kumar, V. (2013b). Trajectory generation and control of aquadrotor with a cable-suspended load - a differentially-flat hybrid system. In Roboticsand Automation (ICRA), 2013 IEEE International Conference on, pages 4888–4895.

Tang, S. and Kumar, V. (2015). Mixed integer quadratic program trajectory generationfor a quadrotor with a cable-suspended payload. In Robotics and Automation (ICRA),2015 IEEE International Conference on, pages 2216–2222. IEEE.

115