University of Pennsylvania
ScholarlyCommons
Publicly Accessible Penn Dissertations
1-1-2012
Trajectory Generation and Control for Quadrotors
Daniel Warren Mellinger
University of Pennsylvania, dwmellin@gmail.com
Follow this and additional works at: http://repository.upenn.edu/edissertations
Part of the Mechanical Engineering Commons, and the Robotics Commons
Recommended Citation
Mellinger, Daniel Warren, "Trajectory Generation and Control for Quadrotors" (2012). Publicly Accessible Penn Dissertations. Paper
547.
This paper is posted at ScholarlyCommons. http://repository.upenn.edu/edissertations/547
For more information, please contact repository@pobox.upenn.edu.
Trajectory Generation and Control for Quadrotors
Abstract
This thesis presents contributions to the state-of-the-art in quadrotor control, payload transportation with
single and multiple quadrotors, and trajectory generation for single and multiple quadrotors. In Ch. 2 we
describe a controller capable of handling large roll and pitch angles that enables a quadrotor to follow
trajectories requiring large accelerations and also recover from extreme initial conditions. In Ch. 3 we describe
a method that allows teams of quadrotors to work together to carry payloads that they could not carry
individually. In Ch. 4 we discuss an online parameter estimation method for quadrotors transporting payloads
which enables a quadrotor to use its dynamics in order to learn about the payload it is carrying and also adapt
its control law in order to improve tracking performance. In Ch. 5 we present a trajectory generation method
that enables quadrotors to fly through narrow gaps at various orientations and perch on inclined surfaces.
Chapter 6 discusses a method for generating dynamically optimal trajectories through a series of predefined
waypoints and safe corridors and Ch. 7 extends that method to enable heterogeneous quadrotor teams to
quickly rearrange formations and avoid a small number of obstacles.
Degree Type
Dissertation
Degree Name
Doctor of Philosophy (PhD)
Graduate Group
Mechanical Engineering & Applied Mechanics
First Advisor
Vijay Kumar
Keywords
control, quadrotor, trajectory generation
Subject Categories
Mechanical Engineering | Robotics
This dissertation is available at ScholarlyCommons: http://repository.upenn.edu/edissertations/547
TRAJECTORY GENERATION AND CONTROL FOR QUADROTORS
Daniel Mellinger
A DISSERTATION
in
Mechanical Engineering and Applied Mechanics
Presented to the Faculties of the University of Pennsylvania in Partial Ful-
fillment of the Requirements for the Degree of Doctor of Philosophy
2012
Vijay Kumar, PhD, Supervisor of Dissertation
Professor, Department of Mechanical Engineering and Applied Mechanics
Jennifer Lukes, PhD, Graduate Group Chairperson
Associate Professor, Department of Mechanical Engineering and Applied Mechanics
Dissertation Committee:
Mark Yim, PhD, Professor, Mechanical Engineering and Applied Mechanics
Vijay Kumar, PhD, Professor, Mechanical Engineering and Applied Mechanics
Ali Jadbabaie, PhD, Professor, Electrical and Systems Engineering
Raffaello D’Andrea, PhD, Professor, Dynamic Systems and Control
Bruce Kothmann, PhD, Senior Lecturer, Mechanical Engineering and Applied Mechanics
Acknowledgements
During my time at Penn I have learned a lot, worked on interesting research projects, and
had fun. I am grateful to everyone who contributed to any of those things.
Specifically, I would first like to thank my advisor, Vijay Kumar, for all of his support
during my time at Penn.
I have enjoyed the projects we worked on together and his
willingness to let me shape the direction of those projects. Vijay is a dedicated advisor, a
talented engineer, and a good person and I am lucky to have had him as a mentor.
I would also like to thank my thesis committee members, Bruce Kothmann, Mark Yim,
Ali Jadbabaie and Raff D’Andrea, for taking the time to serve on my committee. Bruce has
been especially helpful and has always been excited to talk with me about aerodynamics,
controls, or whatever math puzzle he is thinking about at the time.
My many friends and colleagues at Penn have made it a fun place to work. I thank
them for all the good times inside and outside the lab.
I am indebted to my family for the love and support they have given me over the years.
My older sister, Corie, gave me a head start by teaching me whatever she learned in school.
My parents gave me every opportunity and allowed me to choose my own direction in life.
I can’t thank them enough for everything they have done for me.
Last but not least, I thank my wife Anna who always believes in me and always makes
me smile.
ii
Table of Contents
Acknowledgements
1
Introduction
1.1 Related Work . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Motivation and Contributions . . . . . . . . . . . . . . . . . . . . . . . .
2 Modeling and Control
2.1 Modeling .
. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Dynamic Model
. . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Motor Model
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Small Angle Control
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Attitude Control
. . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2
Position Control
. . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Non-dimensional tuning . . . . . . . . . . . . . . . . . . . . . .
2.3 Large Angle Control
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Model for Control
. . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Differential Flatness
. . . . . . . . . . . . . . . . . . . . . . . .
2.3.3 Control Law . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Experiments .
. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 Controller Performance . . . . . . . . . . . . . . . . . . . . . . .
iii
ii
1
2
3
5
5
5
8
9
9
10
13
13
14
15
19
22
22
23
3 Multi-Vehicle Modeling and Control
3.1
Introduction .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Related Literature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Modeling .
. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Coordinate Systems
. . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Equations of Motion . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Control Basis Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Multi-Vehicle Small Angle Control . . . . . . . . . . . . . . . . . . . . .
3.5.1 Attitude Control
. . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.2 Hover Controller
. . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.3
3D Trajectory Control
. . . . . . . . . . . . . . . . . . . . . . .
3.6 Decentralized Control Law . . . . . . . . . . . . . . . . . . . . . . . . .
3.7 Results .
. .
. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Online Parameter Estimation
4.1
Introduction .
4.2 Background .
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Gripper Design .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 System Dynamics and Control
. . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Dynamic Model
. . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.2 Quadrotor Control
. . . . . . . . . . . . . . . . . . . . . . . . .
4.5 Estimation of Inertial Parameters . . . . . . . . . . . . . . . . . . . . . .
4.5.1 Method Overview . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.2 Application to Quadrotor Dynamics . . . . . . . . . . . . . . . .
4.6 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.1 Estimation of payload parameters during hover
. . . . . . . . . .
4.6.2 Estimation of payload mass in the presence of disturbances . . . .
4.6.3 Estimation of payload inertia . . . . . . . . . . . . . . . . . . . .
4.6.4 Controller Compensation . . . . . . . . . . . . . . . . . . . . . .
27
27
28
30
30
31
32
34
34
34
35
36
37
41
41
43
45
46
47
49
50
50
53
55
55
56
57
57
iv
4.7 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Trajectory Generation via Sequencing
5.1 Control
. .
. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Trajectory Generation via Sequential Composition . . . . . . . . . . . . .
5.2.1
5.2.2
Sequence for Aggressive Trajectories
. . . . . . . . . . . . . . .
Sequence for Robust Perching . . . . . . . . . . . . . . . . . . .
5.3 Sequence for Robust Landing . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Experiment Design and Implementation Details . . . . . . . . . . . . . .
5.5 Results .
. .
. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.1 Aggressive Trajectories . . . . . . . . . . . . . . . . . . . . . . .
5.5.2 Robust Perching . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.3 Robust Landing . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6 Conclusion .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 Minimum Snap Trajectory Generation using Piecewise Polynomials
6.1
Introduction .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Trajectory Generation
. . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.1 Optimal Keyframe Navigation . . . . . . . . . . . . . . . . . . .
6.2.2
Fixed Terminal Time Trajectories
. . . . . . . . . . . . . . . . .
6.3 Experiments
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1
6.3.2
Flying through three static hoops . . . . . . . . . . . . . . . . . .
Flying through a thrown hoop . . . . . . . . . . . . . . . . . . .
6.3.3 Catching a bouncing ball . . . . . . . . . . . . . . . . . . . . . .
7 Trajectory Generation with Mixed-Integer Quadratic Programs for Hetero-
geneous Quadrotor Teams
7.1
Introduction .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
61
63
64
65
68
69
70
70
70
72
72
73
79
79
81
83
88
89
90
91
92
98
98
7.2 Single Quadrotor Trajectory Generation . . . . . . . . . . . . . . . . . . 101
7.2.1 Basic Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
v
7.2.2 Choice of basis functions . . . . . . . . . . . . . . . . . . . . . . 102
7.2.3
Integer Constraints for Obstacle Avoidance . . . . . . . . . . . . 103
7.2.4 Discretization in Time . . . . . . . . . . . . . . . . . . . . . . . 104
7.2.5 Temporal Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.3 Multiple Quadrotor Trajectory Generation . . . . . . . . . . . . . . . . . 106
7.3.1 Relative Cost Weighting . . . . . . . . . . . . . . . . . . . . . . 106
7.3.2
Inter-Quadrotor Collision Avoidance . . . . . . . . . . . . . . . . 107
7.3.3 Computational Complexity and Numerical Algorithm . . . . . . . 108
7.4 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
7.4.1 Three Quadrotors in Plane with Obstacles . . . . . . . . . . . . . 110
7.4.2 Two Heterogeneous Quadrotors through 3-D gap . . . . . . . . . 110
7.4.3
7.4.4
Formation Reconfiguration with Four Quadrotors . . . . . . . . . 111
Solver Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.5 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
8 Concluding Remarks
119
8.1 Summary of Contributions . . . . . . . . . . . . . . . . . . . . . . . . . 119
8.2 Future Work .
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
vi