Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is...

13
By Robert Mahony, Vijay Kumar, and Peter Corke 20 IEEE ROBOTICS & AUTOMATION MAGAZINE SEPTEMBER 2012 1070-9932/12/$31.00ª2012IEEE Digital Object Identifier 10.1109/MRA.2012.2206474 Date of publication: 27 August 2012 T his article provides a tutorial introduction to modeling, es- timation, and control for multi- rotor aerial vehicles that includes the common four-rotor or quad- rotor case. Aerial robotics is a fast-growing field of robotics and multirotor air- craft, such as the quadrotor (Fig- ure 1), are rapidly growing in popularity. In fact, quadrotor aerial robotic vehicles have become a standard platform for robotics research worldwide. They already have sufficient payload and flight endurance to support a number of indoor and outdoor applications, and the improvements of battery and other technology is rapidly increasing the scope for commercial opportunities. They are highly ma- neuverable and enable safe and low-cost experimentation in mapping, navigation, and control strategies for robots that move in three-dimensional (3-D) space. This ability to move in 3-D space brings new research challenges com- pared with the wheeled mobile robots that have driven mobile robotics research over the last decade. Small quadrotors have been demon- strated for exploring and mapping 3-D environ- ments; transporting, manipulating, and assembling objects; and acrobatic tricks such as juggling, balancing, and flips. Additional rotors can be added, leading to general- ized N-rotor vehicles, to improve payload and reliability. Modeling, Estimation, and Control of Quadrotor ©ISTOCK PHOTO.COM/© ANDREJS ZAVADSKIS

Transcript of Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is...

Page 1: Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is achieved by differential control of the thrust generated by each rotor. Pitch,

•By Robert Mahony,Vijay Kumar,and Peter Corke

20 • IEEE ROBOTICS & AUTOMATION MAGAZINE • SEPTEMBER 2012 1070-9932/12/$31.00ª2012IEEE

Digital Object Identifier 10.1109/MRA.2012.2206474

Date of publication: 27 August 2012

This article provides a tutorialintroduction to modeling, es-timation, and control formulti-rotor aerial vehicles that includesthe common four-rotor or quad-rotor case.

Aerial robotics is a fast-growingfield of robotics and multirotor air-craft, such as the quadrotor (Fig-ure 1), are rapidly growing inpopularity. In fact, quadrotor aerialrobotic vehicles have become astandard platform for roboticsresearch worldwide. They alreadyhave sufficient payload and flightendurance to support a number ofindoor and outdoor applications,and the improvements of batteryand other technology is rapidlyincreasing the scope for commercialopportunities. They are highly ma-

neuverable and enable safe andlow-cost experimentation in mapping,

navigation, and control strategies forrobots that move in three-dimensional

(3-D) space. This ability to move in 3-Dspace brings new research challenges com-

pared with the wheeled mobile robots thathave driven mobile robotics research over the

last decade. Small quadrotors have been demon-strated for exploring and mapping 3-D environ-

ments; transporting, manipulating, and assemblingobjects; and acrobatic tricks such as juggling, balancing,

and flips. Additional rotors can be added, leading to general-izedN-rotor vehicles, to improve payload and reliability.

Modeling, Estimation,

and Control of Quadrotor

©ISTOCK PHOTO.COM/© ANDREJS ZAVADSKIS

Page 2: Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is achieved by differential control of the thrust generated by each rotor. Pitch,

This tutorial describes the fundamentals of the dynamics,estimation, and control for this class of vehicle, with a biastoward electrically powered micro (less than 1 kg)-scalevehicles. The word helicopter is derived from the Greekwords for spiral (screw) and wing. From a linguistic perspec-tive, since the prefix quad is Latin, the term quadrotor ismore correct than quadcopter and more common than tet-racopter; hence, we use the term quadrotor throughout.

Modeling of Multirotor VehiclesThe most common multirotor aerial platform, the quadro-tor vehicle, is a very simple machine. It consists of fourindividual rotors attached to a rigid cross airframe, asshown in Figure 1. Control of a quadrotor is achieved bydifferential control of the thrust generated by each rotor.Pitch, roll, and heave (total thrust) control is straightfor-ward to conceptualize. As shown in Figure 2, rotor i rotatesanticlockwise (positive about the z axis) if i is even andclockwise if i is odd. Yaw control is obtained by adjustingthe average speed of the clockwise and anticlockwise rotat-ing rotors. The system is underactuated, and the remainingdegrees of freedom (DoF) corresponding to the transla-tional velocity in the x-y plane must be controlled throughthe system dynamics.

Rigid-Body Dynamics of the AirframeLet f~x,~y,~zg be the three coordinate axis unit vectorswithout a frame of reference. Let {A} denote a right-handinertial frame with unit vectors along the axes denotedby f~a1,~a2,~a3g expressed in {A}. One has algebraicallythat~a1 !~x, ~a2 !~y,~a3 !~z in {A}. The vector r ! (x, y, z) 2fAg denotes the position of the center of mass of the vehicle.Let {B} be a (right-hand) body fixed frame for the airframewith unit vectors f~b1,~b2,~b3g, where these vectors are theaxes of frame {B} with respect to frame {A}. The orientationof the rigid body is given by a rotation matrix ARB !R ! "~b1,~b2,~b3# 2 SO(3) in the special orthogonal group.One has~b1 ! R~x, ~b2 ! R~y, ~b3 ! R~z by construction.

We will use Z-X-Y Euler angles to model this rotation,as shown in Figure 3. To get from {A} to {B}, we first rotateabout a3 by the the yaw angle, w, and we will call this inter-mediary frame {E} with a basis f~e1,~e2,~e3g where ~ei isexpressed with respect to frame {A}. This is followed by arotation about the x axis in the rotated frame through theroll angle, /, followed by a third pitch rotation about thenew y axis through the pitch angle h that results in thebody-fixed triad f~b1,~b2,~b3g

R !cwch$ s/swsh $c/sw cwsh% chs/swchsw% cws/sh c/cw swsh$ cwchs/$c/sh s/ c/ch

0

@

1

A,

where c and s are shorthand forms for cosine and sine,respectively.

Let v 2 fAg denote the linear velocity of {B} withrespect to {A} expressed in {A}. Let X 2 fBg denote the

angular velocity of {B} with respect to {A}; this timeexpressed in {B}. Let m denote the mass of the rigid object,and I 2 R33 3 denote the constant inertia matrix (expressedin the body fixed frame {B}). The rigid body equations ofmotion of the airframe are [2] and [3]

_n ! v, (1a)

m _v ! mg~a3 % RF, (1b)_R ! RX3 , (1c)

I _X ! $X 3 IX% s: (1d)

The notationX3 denotes the skew-symmetric matrix, suchthat X3 v ! X 3 v for the vector cross product 3 and anyvector v 2 R3. The vectors F, s 2 fBg combine the princi-pal nonconservative forces and moments applied to thequadrotor airframe by the aerodynamics of the rotors.

Dominant AerodynamicsThe aerodynamics of rotors was extensively studied duringthe mid 1900s with the development of manned helicop-ters, and detailed models of rotor aerodynamics are avail-able in the literature [4], [5]. Much of the detail about theseaerodynamic models is useful for the design of rotorsystems, where the whole range of parameters (rotor

x

yz

{B}

T1

T2

T3

T4d

Front

!i

Figure 2. Notation for quadrotor equations of motion. N ! 4;Uiis a multiple of p=4 (adapted with permission from [1]).

Figure 1. A quadrotor made by Ascending Technologies withVICON markers for state estimation.

MIC

HA

EL

SH

OM

IN,C

MU

SEPTEMBER 2012 • IEEE ROBOTICS & AUTOMATION MAGAZINE • 21

Page 3: Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is achieved by differential control of the thrust generated by each rotor. Pitch,

geometry, profile, hinge mechanism, and much more) arefundamental to the design problem. For a typical roboticquadrotor vehicle, the rotor design is a question for choos-ing one among five or six available rotors from the hobbyshop, and most of the complexity of aerodynamic model-ing is best ignored. Nevertheless, a basic level of aerody-namic modeling is required.

The steady-state thrust generated by a hovering rotor(i.e., a rotor that is not translating horizontally or verti-cally) in free air may be modeled using momentum theory[5, Sec. 2.26] as

Ti :! CTqAri r2i -

2i , (2)

where, for rotor i, Ari is the rotor disk area, ri is the radius,-i is the angular velocity, CT is the thrust coefficient thatdepends on rotor geometry and profile, and q is the densityof air. In practice, a simple lumped parameter model

Ti ! cT-2i (3)

is used, where cT > 0 is modeled as a constant that can beeasily determined from static thrust tests. Identifying thethrust constant experimentally has the advantage that itwill also naturally incorporate the effect of drag on the air-frame induced by the rotor flow.

The reaction torque (due to rotor drag) acting on theairframe generated by a hovering rotor in free air may bemodeled as [5, Sec. 2.30]

Qi :! cQ-2i , (4)

where the coefficient cQ (which also depends on Ari , ri, andq) can be determined by static thrust tests.

As a first approximation, assume that each rotor thrustis oriented in the z axis of the vehicle, although we notethat this assumption does not exactly hold once the rotorbegins to rotate and translate through the air, an effect that

is discussed in “Rotor Flapping.” For an N-rotor airframe,we label the rotors i 2 f1 & & &Ng in an anticlockwise direc-tion with rotor 1 lying on the positive x axis of the vehicle(the front), as shown in Figure 2. Each rotor has associatedan angle Ui between its airframe support arm and thebody-fixed frame x axis, and it is the distance d from thecentral axis of the vehicle. In addition, ri 2 f$1,%1gdenotes the direction of rotation of the ith rotor:%1 corre-sponding to clockwise and $1 to anticlockwise. The sim-plest configuration is for N even and the rotors distributedsymmetrically around the vehicle axis with adjacent rotorscounter rotating.

The total thrust at hover (TR) applied to the airframe isthe sum of the thrusts from each individual rotor

TR !XN

i!1jTij ! cT

XN

i!1-2

i

!

: (5)

The hover thrust is the primary component of the exoge-nous force

F ! TR~z% D (6)

in (1b), where D comprises secondary aerodynamic forcesthat are induced when the assumption that the rotor is inhover is violated. Since F is defined in {B}, the direction ofapplication is written ~z, although in the frame {A} thisdirection is~b3 ! R~z.

The net moment arising from the aerodynamics (thecombination of the produced rotor forces and air resistan-ces) applied to the N-rotor vehicle use are s ! (s1, s2, s3).

s1 ! cTXN

i!1di sin (Ui)-2

i ,

s2 ! $cTXN

i!1di cos (Ui)-2

i ,

s3 ! cQXN

i!1ri-2

i : (7)

For a quadrotor, we can write this in matrix form

TR

s1

s2

s3

0

BBBB@

1

CCCCA!

cT cT cT cT

0 dcT 0 $dcT$dcT 0 dcT 0

$cQ cQ $cQ cQ

0

BBBB@

1

CCCCA

|!!!!!!!!!!!!!!!!!!!!!!!!!!{z!!!!!!!!!!!!!!!!!!!!!!!!!!}C

-21

-22

-23

-24

0

BBBB@

1

CCCCA, (8)

and given the desired thrust and moments, we can solvefor the required rotor speeds using the inverse of the con-stant matrix C. In order for the vehicle to hover, one mustchoose suitable -i by inverting C, such that s ! 0 andTR ! mg.

x, b1

y, b2

e2

e1X, a1

Y, a2

Z, a3

Z, b3

C

O"

"

#

{A}

{B}{E}

Figure 3. The vehicle model. The position and orientation ofthe robot in the global frame are denoted by n and R,respectively.

22 • IEEE ROBOTICS & AUTOMATION MAGAZINE • SEPTEMBER 2012

Page 4: Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is achieved by differential control of the thrust generated by each rotor. Pitch,

Blade Flapping and Induced DragThere are many aerodynamic and gyroscopic effects asso-ciated with any rotor craft that modify the simple forcemodel introduced above. Most of these effects cause onlyminor perturbations and do not warrant consideration fora robotic system, although they are important for thedesign of a full-sized rotor craft. Blade flapping andinduced drag, however, are fundamental effects that are ofsignificant importance in understanding the natural stabil-ity of quadrotors and how state observers operate. Theseeffects are particularly relevant since they induce forces inthe x-y rotor plane of the quadrotor, the underactuateddirections in the dynamics, that cannot be easily dominatedby high gain control. In this section, we consider a singlerotor and we will drop the subscript i used in the “DominantAerodynamics” section to refer to particular rotors.

Quadrotor vehicles are typically equipped with light-weight, fixed-pitch plastic rotors. Such rotors are not rigid,and the aerodynamic and inertial forces applied to a rotorduring flight are quite significant and can cause the rotorto flex. In fact, allowing the rotor to bend is an importantproperty of the mechanical design of a quadrotor and fit-ting rotors that are too rigid can lead to transmission ofthese aerodynamic forces directly through to the rotor huband may result in a mechanical failure of the motormounting or the airframe itself. Having said this, rotors onsmall vehicles are significantly more rigid relative to theapplied aerodynamic forces than rotors on a full-scalerotor craft. Blade-flapping effects are due to the flexing ofrotors, while induced drag is associated primarily with therigidity of the rotor, and a typical quadrotor will experi-ence both. Luckily, their mathematical expression isequivalent and a single term is sufficient to represent botheffects in a lumped parameter dynamic model.

When a rotor translates laterally through the air it dis-plays an effect known as rotor flapping (see “RotorFlapping”). A detailed derivation of rotor flapping involvesa mechanical model of the bending of the rotor subject toaerodynamic and centripetal forces as it is swept through afull rotation [5, Sec. 4.5]. The resulting equations of motionare a nonlinear second-order dynamical system with adominant highly damped oscillatory response at the forcedfrequency corresponding to the angular velocity of therotor. For a typical rotor, the flapping dynamics convergeto steady state with one cycle of the rotor [5, p. 137], andfor the purposes of modeling, only the steady-stateresponse of the flapping dynamics need be considered.

Assuming that the velocity of the vehicle is directlyaligned with the X axis in the inertial frame, v ! (vx, 0, 0),a simplified solution is given by

b :! $ lA1c

1$ 12l

2" # , b? :! $ lA1s

1% 12 l2

" # (9)

for positive constants A1c and A1c, and where l :! jvxj=-ris the advance ratio, i.e., the ratio of magnitude of

the horizontal velocity of the rotor to the linear velocityof rotor tip. The flapping angle b is the steady-state tilt ofthe rotor away from the incoming apparent wind and b? isthe tilt orthogonal to the incident wind. Here, we use equa-tions (4.46) and (4.47) from [5, p. 138], noting that addingthe effects of a virtual rotor hinge model [5, Sec. 4.7] resultsin additional phase lag between the sine and cosine com-ponents of the flapping angles [5, Question 4.7, p. 157] thatare absorbed into the constants A1c and A1s in (9).

Rotor flapping is important because the thrust gener-ated by the rotor is perpendicular to the rotor plane andnot to the hub of the rotor. Thus, when the rotor disk tiltsthe rotor thrust is inclined with respect to the airframe andcontains a component in the x and y directions of thebody-fixed frame.

In practice the rotors are stiff and oppose the aerody-namic force which is lifting the advancing blade so that itsincreased thrust due to tip velocity is not fully counteractedby a lower angle of attack and lower lift coefficient—thethrust is increased. Conversely for the retreating blade thethrust is reduced. For any airfoil that generates lift (in ourcase the rotor blade) there is an associated induced drag

•Rotor FlappingWhen a rotor translates horizontally through the air, theadvancing blade has a higher absolute tip velocity and willgenerate more lift than the retreating blade. Thinking of therotor as a spinning disk, the mismatch in lift generates anoverall moment on the rotor disk in the direction of theapparent wind (Figure S1). The high angular momentum ofthe rotor disk makes it act like a gyroscope, which causesthe rotor disk to tilt around the axis given by the crossproduct of rotor hub axis and the torque axis, i.e., an axisthat is offset from the apparent wind by 90! in the horizon-tal plane of the rotor. Since the motor shaft is vertical, theblade flaps up as it advances into the wind and back downagain as it retreats from the apparent wind. Equilibrium isestablished because the advancing blade rises anddecreases its angle of attack, which reduces its lift coeffi-cient, thereby countering the additional lift that would havebeen generated due to its increased tip velocity. Converselyfor the retreating blade, the reduced lift due to decreased tipvelocity is countered by the increased angle of attack andincreased thrust coefficient. In this state, the rotor will havea stable constant tilt away from the apparent wind causedby a translational motion of the rotor. This effect is known asrotor flapping and is ubiquitous in rotor vehicles [6].

Inclined Lift

Vehicle Velocity

Flapping Angle

Ti

TiAflapRTv

Apparent Wind$

si

Figure S1

SEPTEMBER 2012 • IEEE ROBOTICS & AUTOMATION MAGAZINE • 23

Page 5: Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is achieved by differential control of the thrust generated by each rotor. Pitch,

due to the backward inclination of aerodynamic forcewith respect to the airfoil motion. The induced drag isproportional to the lift generated by the airfoil. In normalhover conditions for a rotor, this force is equally distrib-uted in all directions around the circumference of therotor and is responsible for the torque Q (4). However,when there is a thrust imbalance, then the sector of therotor travel with high thrust (for the advancing rotor) willgenerate more induced drag than the sector where therotor generates less thrust (for the retreating blade). Thenet result will be an induced drag that opposes the direc-tion of apparent wind as seen by the rotor, and that isproportional to the velocity of the apparent wind. Thiseffect is often negligible for full scale rotor craft, however,it may be quite significant for small quadrotor vehicleswith relatively rigid blades. The consequence of bladeflapping and induced drag taken together ensures thatthere is always a noticeable horizontal drag experiencedby a quadrotor even when maneuvering at relativelyslow speeds.

We will now use the insight from the discussion aboveto develop a lumped parameter model for exogenous forcegeneration (6). We assume that all four rotors are identicaland rotate at similar speeds so that, at least to a firstapproximation, the flapping responses of the rotors andthe unbalanced aerodynamic forces are the same. It followsthat the reactive torques on the airframe transmitted bythe rotor masts due to rotor stiffness cancel. For generalmotion of the vehicle, the apparent wind results in theadvance ratio

l !$$$$$$$$$$$$$$$$$$v0x

2 % v0y2

q=-r,

where v0 ! R>v is the linear velocity of the vehicleexpressed in the body-fixed frame, with v0x and v

0y being the

components in the body-fixed x-y plane. Define

Aflap !1

-R

A1c $A1s 0A1s A1c 00 0 0

0

@

1

A,

where - is the set point for the rotor angular velocity.This matrix describes the sensitivities of the flapping angleto the apparent wind in the body-fixed frame, given that lis small and l2 is negligible in the denominators of (9).The first row encodes (9) for the velocity along the body-fixed frame x axis. The second row of Aflap is a p=2 rotationof this response to account for the case where a componentof the wind is incoming from the y axis, while thethird row projects out velocity in the z axis of the body-fixed frame.

We model the stiffness of the rotor as a simple torsionalspring so that the induced drag is directly proportional tothis angle and is scaled by the total thrust. The flappingangle is negligible with regard to the orientation of the

induced drag, and in the body-fixed frame the induceddrag is

Dind:v0 ' diag (dx , dy, 0)v0,

where dx ! dy is the induced drag coefficient.The exogenous force applied to the rotor can now be

modeled by

F :! TR~z$ TRDv0, (10)

where D ! Aflap % diag (dx , dy, 0), and TR is the nominalthrust (5).

An important consequence of blade flapping andinduced drag is a natural stability of the horizontal dynam-ics of the quadrotor [7]. Define

Ph :! 1 0 00 1 0

% &(11)

to be the projection matrix onto the x-y plane. The hori-zontal component of a velocity expressed in {A} is

vh :! Phv ! (vx, vy)> 2 R2: (12)

Recalling (1b) and projecting onto the horizontal compo-nent of velocity, one has

m _vh ! $TRPh ~z% RDv0( ):

If the vehicle is flying horizontally, i.e., vz ! 0, thenv ! P>h vh and one can write

m _vh ! $TRPh~z$ PhRDR>P>h vh, (13)

where the last term introduces damping since, for a typicalsystem, the matrix D is a positive semidefinite.

A detailed dynamic model of the quadrotor, includingflapping and induced drag, is included in the robotics tool-box for MATLAB [8]. This is provided in the form ofSimulink library blocks along with a set of inertial andaerodynamic parameters for a particular quadrotor. Thegraphical output of the animation block is shown in Fig-ure 4. Simulink models, based on these blocks, that illus-trate path following and vision-based stabilization aredescribed in detail in [1].

The discussion provided above does not considerseveral additional aerodynamic effects that are impor-tant for high-speed and highly dynamic maneuvers for aquadrotor. In particular, we do not consider transla-tional lift and drag that will effect thrust generationat high speed, axial flow modeling and vortex statesthat may effect thrust during axial motion, and groundeffect that will affect a vehicle flying close to theground. It should be noted that high gain control candominate all secondary aerodynamic effects, and high

24 • IEEE ROBOTICS & AUTOMATION MAGAZINE • SEPTEMBER 2012

Page 6: Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is achieved by differential control of the thrust generated by each rotor. Pitch,

performance control of quadrotor vehicles has beendemonstrated using the simple static thrust model [23],[24]. The detailed modeling of the blade flapping andinduced drag is provided due to its importance in under-standing the state estimation algorithms introducedlater the tutorial.

Size, Weight, and Power (SWAP)Constraints and Scaling LawsReducing the scale of the quadrotor has an interestingeffect on the inertia, payload, and ultimately the maximumachievable angular and linear acceleration. To gain insightinto scaling, it is useful to develop a simple physics modelto analyze a quadrotor’s ability to produce linear and angu-lar accelerations from a hover state.

If the characteristic length is d, the rotor radius r scaleslinearly with d. The mass scales as d3 and the moments ofinertia as d5. On the other hand, from (3) and (4), it isclear that the lift or thrust, T, and drag, Q, from the rotorsscale with the square of the rotor speed, -2. In otherwords, T * -2d4 and Q * -2d4, the linear accelerationa ! _v, which depends on the thrust and mass, andthe angular acceleration a ! _X, which depends onthrust, drag, the moment arm, and the moments of iner-tia, scale as

a * -2d4

d3! -2d, a * -2d5

d5! -2:

To explore the scaling of rotor speed with length, it isuseful to adopt the two commonly accepted approachesto study scaling in aerial vehicles [9]. Mach scaling isused for compressible flows and essentially assumes thatthe blade tip speed, vb, is a constant leading to- * (1=r). Froude scaling is used for incompressibleflows and assumes that, for similar aircraft con-figurations, the Froude number, (v2b=dg) ! (-2r2=dg),is constant. Here, g is the acceleration due to gravity.

Assuming r * d, we get - * (1=$$rp

). Thus, Machscaling predicts

a * 1d, a * 1

d2, (14)

while Froude scaling leads to the conclusion

a * 1, a * 1d: (15)

Of course, Froude or Mach number similitudes takeneither motor characteristics nor battery properties intoaccount. While motor torque increases with length, theoperating speed for the rotors is determined by matchingthe torque–speed characteristics of the motor to the dragversus speed characteristics of the rotors. Further, themotor torque depends on the ability of the battery tosource the required current. All these variables are tightlycoupled for smaller designs since there are fewer choicesavailable at smaller length scales. Finally, as discussed inthe previous subsection, the assumption that rotor bladesare rigid may be wrong. Further, the aerodynamics of theblades may be different for blade designs optimized forsmaller helicopters and the quadratic scaling of the lift withspeed may not be accurate.

In spite of the simplifications in the above similitudeanalysis, the key insight from both Froude and Mach num-ber similitudes is that smaller quadrotors can producefaster angular accelerations while the linear acceleration isat worst unaffected by scaling. Thus, smaller quadrotorsare more agile, a fact that is easily validated from experi-ments conducted with the Ascending Technologies Pelicanquadrotor [10] (approximately 2 kg gross weight whenequipped with sensors, 0.75 m diameter, and 5,400 r/minnominal rotor speed at hover), the Ascending Technolo-gies Hummingbird quadrotor [11] (approximately 500 ggross weight, 0.5 m diameter, and 5,000 r/min nominalrotor speed at hover), and laboratory experimental proto-types developed at GRASP laboratory at the University ofPennsylvania (approx. 75 g gross weight, 0.21 m diameter,and approximately 9,000 r/min nominal rotor speed).

Estimating the Vehicle StateThe key state estimates required for the control of a quad-rotor are its height, attitude, angular velocity, and linearvelocity. Of these states, the attitude and angular velocityare the most important as they are the primary variablesused in attitude control of the vehicle. The most basicinstrumentation carried by any quadrotor is an inertialmeasurement unit (IMU) often augmented by some formof height measurement, either acoustic, infrared, baromet-ric, or laser based. Many robotics applications requiremore sophisticated sensor suites such as VICON systems,global positioning system (GPS), camera, Kinect, or scan-ning laser rangefinder.

1

0.8

0.6

0.4

0.2

01

0.50

–0.5–1 –1

–0.50

0.51

xy

z (H

eigh

t Abo

ve G

roun

d)

Figure 4. Frame from the Simulink animation of quadrotordynamics.

SEPTEMBER 2012 • IEEE ROBOTICS & AUTOMATION MAGAZINE • 25

Page 7: Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is achieved by differential control of the thrust generated by each rotor. Pitch,

Estimating AttitudeA typical IMU includes a three-axis rate gyro, three-axisaccelerometer, and three-axis magnetometer. The rate gyromeasures the angular velocity of {B} relative to {A}expressed in the body-fixed frame of reference {B}

XIMU ! X% bX % g 2 fBg,

where g denotes the additive measurement noise and bX

denotes a constant (or slowly time-varying) gyro bias. Gen-erally, the gyroscopes installed on quadrotor vehicles arelightweight microelectromechanical systems (MEMS) devi-ces that are reasonably robust to noise and quite reliable.

The accelerometers (in a strap down IMU configura-tion) measure the instantaneous linear acceleration of {B}due to exogenous force

aIMU ! R>( _v $ g~z )% ba % ga 2 fBg,

where ba is a bias term, ga denotes additive measurementnoise, and _v is in the inertial frame. Here, we use the nota-tion ~z !~a3 since we will need to deal with the algebraicexpressions of the coordinate axes throughout this section.Accelerometers are highly susceptible to vibration and,mounted on a quadrotor, they require significant low-passmechanical and/or electrical filtering to be usable. Mostquadrotor avionics will incorporate an analogue anti-aliasing filter on a MEMS accelerometer before the signalis sampled.

A commonly used technique to estimate the bias bX

and ba is to average the output of these sensors for a fewseconds while the quadrotor is on the ground and themotors are not yet active. The bias is then assumed con-stant for the duration of the flight.

The magnetometers provide measurements of theambient magnetic field

mIMU ! R>Am% Bm % gb 2 fBg,

where Am is the Earth’s magnetic field vector (expressed inthe inertial frame), Bm is a body-fixed frame expression forthe local magnetic disturbance, and gb denotes themeasurement noise. The noise gb is usually low for magne-tometer readings; however, the local magnetic disturbanceBm can be significant, especially if the sensor is placed nearthe power wires to the motors.

The accelerometers and magnetometers can be used toprovide absolute attitude information on the vehicle whilethe rate gyroscope provides complementary angular veloc-ity measurements. The attitude information in the magne-tometer signal is straightforward to understand; in theabsence of noise and bias, mIMU provides a body-fixedframe measurement of R>Am and, consequently, con-strains two DoF in the rotation R.

The case for using the accelerometer signal for attitudeestimation is far more subtle. Using the simplest model (6)

with D + 0, aIMU ! R>( _v $ g~z) ! (TR=m)~z ' g~z. Thisshows that the measured acceleration, for this simplemodel, would always point in the body-fixed frame direc-tion~z and provides no attitude information. In practice, itis the blade-flapping component of the thrust that contrib-utes attitude information to the accelerometer signal [7].Recalling (10) and ignoring bias and noise terms, themodel for aIMU can be written as

aIMU ! $TR

m~z$ TR

mDR>v: (16)

As we show later in the section, only the low-frequencyinformation from the accelerometer signal will be used inthe observer construction. Thus, it is only the low-frequencyor approximate steady-state response !v of the velocity v thatwe need to estimate to build a model for the low-frequencycomponent of aIMU. Setting _v ! 0 in (1b), substituting forforce (10), and rearranging, we obtain an estimate of thelow-frequency component of the velocity signal

DR>!v ' R>~z$~z:

Substituting DR>!v for DR>v in (16), we obtain

!aIMU ' $TR

mR>~z, (17)

where !aIMU denotes the low-frequency component of theaccelerometer signal. That is, the low-frequency content ofaIMU when the vehicle is near hover is the body-fixed frameexpression for the supporting force that is the negativegravitational vector expressed in the body-fixed frame.Most robotics applications involve a quadrotor spendingsignificant periods of time in hover, or slow forward flight,with _v ' 0, and using the accelerometer reading as an atti-tude reference during this flight regime has been shown towork well in practice.

The attitude kinematics of the quadrotor are given by(1c). Let R̂ denote an estimate for attitude R of the quadrotorvehicle. The following observer [12] fuses accelerometer,magnetometer, and gyroscope data as well as other directattitude estimates RE (such as provided by a VICON or otherexternal measurement system) should they be available:

_̂R :! R̂ XIMU $ b̂' (

3$ a,

_̂b :! kba,

a :! kag2

((R̂>~z)3 !aIMU)%

kmjAmj2

((R̂>Am)3mIMU)

!

3

% kEPso(3) R̂R>E" #

, (18)

where ka, km, kE, and kb are arbitrary nonnegative observergains and Pso(3)(M) ! (M $M>)=2 is the Euclidean

26 • IEEE ROBOTICS & AUTOMATION MAGAZINE • SEPTEMBER 2012

Page 8: Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is achieved by differential control of the thrust generated by each rotor. Pitch,

matrix projection onto skew-symmetric matrices. If anyone of the measurements in the innovation a are not avail-able or unreliable, then the corresponding gain should beset to zero in the observer. Note that both the attitude R̂and the bias corrected angular velocity X̂ ! XIMU $ b̂ areestimated by this observer. The observer (18) has beenextensively studied in the literature [12], [13] and shownto converge exponentially (both theoretically and experi-mentally) to the desired attitude estimate of attitude with b̂converging to the gyroscope bias b. The filter has a com-plementary nature, using the high-frequency part of thegyroscope signal and the low-frequency parts of themagnetometer, accelerometer, and external attitudemeasurements [12]. The roll-off frequencies associated witheach of these signals is given by the gains ka, km, and kE inrad.s$1, and good performance of the observer depends onhow these gains are tuned. In particular, the accelerometergains must be tuned to a frequency below the normal band-width of the vehicle motion, less than 5 rad.s$1 for a typicalquadrotor. The magnetometer gain and external gain canbe tuned for a higher roll-off frequency depending on thereliability of the signals. The bias gain kb is typically chosenan order of magnitude slower than the innovation gainskb < ka=10, leading to a rise time of the bias estimate asslow as 30 s or more. This dynamic response is necessary totrack slowly varying bias and decouples the bias estimatefrom the attitude response; however, it is necessary to initi-alize the observer with a bias estimate at take off to avoid along transient in the filter response.

A particular advantage of this observer formulation isthat the gains can be adjusted in real time as long as care istaken that the bias gain is small. Adjusting the gains in realtime allows one to use the accelerometer during a periodwhen the vehicle is in hover and then set the gain ka ! 0during acrobatic maneuvers when the low-frequencyassumptions on !aIMU no longer hold. The nonlinearrobustness, guaranteed asymptotic stability, and flexibilityin gain tuning make this observer a preferred candidate forquadrotor attitude estimation compared with classical fil-ters such as the extended Kalman filter (EKF), multiplica-tive EKF, or more sophisticated stochastic filters.

Estimating Translational VelocityThe blade-flapping response provides a way to build anobserver for the horizontal velocity of the vehicle based onthe IMU sensors [7], at least while the vehicle is flying inthe horizontal plane. Assume that a good estimate of thevehicle attitude R̂ is available and that the vehicle is flyingat constant height.

Recalling the projector (11), the horizontal componentof the inertial acceleration can be measured by

Aah :! PhAa ! PhRa ' PhR̂a, (19)

where the signals a and R̂ are available. Since we assumethat the vehicle is flying at a constant height, one has

vz ' 0, and recalling (12), P>h vh ' v. Further, the thrustTR ' mg must compensate the weight of the vehicle.Recalling (16) and taking the horizontal component,one has

Aah ' $gPhR̂~z$ gPhR̂DR>P>h vh: (20)

Assuming that the attitude filter estimate is good, i.e.,R̂ ! R, then (19) and (20) can be solved for an estimateof vh

vh ' $1g

PhR̂DR̂>P>h

h i$1Aah % gPhR̂~z" #

: (21)

This estimate of vh will be well defined as long as the 23 2matrix PhR̂DR̂>P>h is invertible, a condition that will holdas long as the vehicle pitches or rolls by less than 90! dur-ing flight.

Equation (21) provides a measurement of the horizon-tal velocity; however, since it directly incorporates theunfiltered accelerometer readings, it is generally too noisyto be of much use. Its low-frequency content can, however,be used to drive a velocity complementary observer thatuses the attitude estimate and the system model (1b) alongwith the thrust model (10) for its high-frequency compo-nent. Let v̂h be an estimate of the horizontal component ofthe inertial velocity of the vehicle. Recalling (1b), we pro-pose the following observer

_̂vh ! $gP>h R̂~z% R̂DR̂>P>h v̂h

' ($ kw(v̂h $ vh), (22)

where vh is given by (21). The gain kw > 0 provides a tun-ing parameter that adjusts the roll-off frequency for theinformation from v̂h that is used in the filter. It also uses anestimated velocity v̂h to provide an approximation of themore correct RDR>P>h vh term in the feedforward velocityestimate; however, since the underlying dynamics associ-ated with this term are stable, the observer is stable evenwith this approximation.

Estimating PositionThe final part of state that must be estimated is position,which is typically considered separately as position in theplane and height. Considering the height first, there are infact two separate heights that are of importance: the first isthe absolute height of the vehicle and the second is the rela-tive height over the terrain at a given time. Unfortunately,there is no effective way to use the IMU to estimate abso-lute height; at best, some low-frequency information fromthe z axis of the accelerometer provides limited informa-tion about vertical motion. Most quadrotors include abarometric sensor that can resolve absolute height to a fewcentimeters. Absolute height can also be estimated usingGPS, VICON, or a full SLAM system. Relative height canbe estimated using acoustic, laser-ranging or infrared

SEPTEMBER 2012 • IEEE ROBOTICS & AUTOMATION MAGAZINE • 27

Page 9: Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is achieved by differential control of the thrust generated by each rotor. Pitch,

sensors. Once a sufficiently accurate height measurementis available, it is better to use this directly in the controlthan add additional levels of complexity in designing aheight observer, especially since, for a typical system, theonly feedforward information available is the noisy accel-erometer readings.

Position in the plane can also be determined in a rela-tive or absolute way. Absolute position can be obtainedfrom a GPS (few-centimeter accuracy at up to 10 Hz [6])or an external localization device such as a VICONmotion capture system (50 lm accuracy at 375 Hz). How-ever, a GPS does not work indoors and motion-capturesystems are expensive, and their sensor array has alimited spatial extent that is impractical to scale up forlarge indoor environments.

Relative position can be estimated by measuring the dis-tance to objects in the environment from onboard sensors,typically small onboard laser range finders (LRFs) orRGBD camera systems such as the Kinect. Well-knownSLAM techniques, borrowing LRF-based techniquessimilar to those developed for mobile ground robots overthe last decade, have been applied to quadrotors [14].However, LRFs provide only a cross section of the 3-Denvironment and this scan plane tilts as the vehicle maneu-vers, resulting in apparent changes to the distance of walls,and, in extreme cases, the scan plane can intersect the flooror ceiling. LRFs are heavy and power hungry, which pre-vents their application to the next generation of muchsmaller quadcopters.

Vision has the advantage that the sensor is small, light-weight, and low power, which will become increasinglyimportant as the size of aerial vehicles decreases. Visioncan provide essential navigational competencies such asodometry, attitude estimation, mapping, place and objectrecognition, and collision detection. There is a long historyof applying vision to aerial robotic systems [15]–[19] forindoor and outdoor environments, and the well-knownParrot AR.Drone game device makes strong use of visionfor attitude and odometry [20]. Vision can also be used forobject recognition based on color, texture, and shape, aswell as collision avoidance.

Vision is not without its challenges. First, vision is com-putationally intense and can result in a low sample rate.Since onboard computational power is limited (by SWAPconsumption), most reported systems transmit the imageswirelessly to a ground station, which increases system

complexity, control latency, and the susceptibility to inter-ference and dropouts. However, processor speed continuesto improve, and we can also utilize the vision and controltechniques used by flying insects that perform complextasks with very limited sensing and neural capability [21].Second, there is an ambiguity between certain rotationaland translational motions, particularly, when a narrowfield of view perspective camera is used. Third, the under-actuated quadrotor uses the roll and pitch DoF to point thethrust vector in the direction of the desired translationalmotion. For a camera that is rigidly attached to the quadro-tor, this attitude control motion induces a large apparentmotion in the image. It is therefore necessary to estimatevehicle attitude at the instant the image was captured bythe sensor to eliminate this effect. Biological systems facesimilar problems, and interestingly, mammals and insectshave developed similar solutions: gyroscopic sensors(the vestibular sensors of the inner ear and the halteres,respectively) [22]. Finally, there exists a problem withrecovering motion scale when using a single camera. Stereois possible, but the baseline is constrained, particularly asvehicles get smaller.

ControlThe control problem, to track smooth trajectoriesR,(t), n,(t)( ) 2 SE(3), is challenging for several reasons.First, the system is underactuated: there are four inputsu ! (TR, s>)

>, while SE(3) is six dimensional. Second, theaerodynamic model described above is only approximate.Finally, the inputs are themselves idealized. In practice, themotor controllers must overcome the drag moments togenerate the required speeds and realize the input thrust(TR) and moments (s). The dynamics of the motors andtheir interactions with the drag forces on the propellerscan be difficult to model, although first-order linear mod-els are a useful approximation.

A hierarchical control approach is common for quadro-tors. The lowest level, the highest bandwidth, is in controlof the rotor rotational speed. The next level is in control ofvehicle attitude, and the top level is in control of positionalong a trajectory. These levels form nested feedback loops,as shown in Figure 5.

Controlling the MotorsRotor speed drives the dynamic model of the vehicleaccording to (8), so high-quality control of the motor

speed is fundamentally importantfor overall control of the vehicle;high bandwidth control of thethrust TR, denoted by u1, and thetorques (sx, sy, sz), denoted by u2,lead to high performance attitudeand position control. Most quadro-tor vehicles are equipped withbrushless dc motors that use backelectromotive force (EMF) sensing

Rigid BodyDynamics

MotorControllerAttitude

Controller

PositionController

TrajectoryPlanner R*

R,%

u1

u2Attitude

Planner #,v

#*"*

Figure 5. The innermost motor control loop, the intermediate attitude control loop, andthe outer position control loop.

28 • IEEE ROBOTICS & AUTOMATION MAGAZINE • SEPTEMBER 2012

Page 10: Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is achieved by differential control of the thrust generated by each rotor. Pitch,

for rotor commutation and high-frequency pulsewidthmodulation (PWM) to control motor voltage. Thesimplest systems generally use a direct voltage control ofthe motors since steady-state motor speed is propor-tional to voltage; however; the dynamic response issecond-order due to the mechanical and electricaldynamics. Improved performance is obtained by in-corporating single-input single-output control at themotor/rotor level

Vi ! k(-,i $ -i)% Vff (-,i ), (23)

where Vi is the applied motor voltage, -,i is the desiredspeed, and the actual motor speed -i can be measuredfrom the electronic commutation in the embeddedspeed controller. This can help to overcome a commonproblem where the rotor speed for a given PWM com-mand setting will decrease as the battery voltagereduces during flight. The significant load torque due toaerodynamic drag will lead to a tracking error that canbe minimized by high proportional gain (k) and/or afeedforward term. A positive benefit of the dragtorque is that the system is heavily damped, whichprecludes the need for derivative control. The feed-forward term Vff (-,i ) compensates for the steady-statePWM associated with a given velocity set point byincorporating the best available thrust model deter-mined using static thrust tests and possibly includingbattery voltage.

The performance of the motor controllers is ultimatelylimited by the current that can be supplied from the bat-teries. This may be a significant limiting factor for smallervehicles. Overly aggressive tuning and extreme maneuversmay cause the voltage bus to drop excessively, reducingthe thrust from other rotors and, in extreme cases, causingthe onboard electronics to brownout. For this reason, itis common to introduce a saturation, although thisdestroys the linearity of the motor/rotor response duringaggressive maneuvers.

Attitude ControlWe first consider the design of an exponentially converg-ing controller in SO(3). Given a desired airframe attitudeR?, we want to first develop a measure of the error in rota-tions. We choose the measure

eR3! 1

2(R,)TR$ RTR," #

, (24)

which yields a skew-symmetric matrix representing theaxis of rotation required to go from R to R, and whosemagnitude is equal to the sine of the angle of rotation.

To derive linear controllers, we linearize the dynamicsabout the nominal hover position at which the roll (/) andpitch (h) are close to zero and the angular velocities areclose to zero. If we write R ! ARB as a product of the yaw

rotation ARE(w) and ERB(/, h), which is a composition ofthe roll and pitch, we can linearize the rotation about(w,/, h) ! (w0, 0, 0)

ARB ! ARE(w0 % Dw) ERB(D/,Dh)

!

cosw $ sinw Dh cosw% D/ sinw

sinw cosw Dh sinw$ D/ cosw

$Dh D/ 1

0

BBB@

1

CCCA,

where w ! w0 % Dw. If R? ! ARB(w0 % Dw,D/,Dh) andR ! ARB(w0, 0, 0), (24) gives

eR3!

0 Dw $Dh

$Dw 0 D/

Dh $D/ 0

0

BB@

1

CCA, (25)

which, as we expect, corresponds to the error vector

eR ! (D/,Dh,Dw)>,

with components in the body-fixed frame. If the desiredangular velocity vector is zero, we can compute theproportional and derivative error to obtain the PD con-trol law

u2 ! $kReR $ kXeX, (26)

where kR and kX are positive definite gain matrices. Thiscontroller guarantees stability for small deviations fromthe hover position.

To obtain convergence for larger deviations fromthe hover position, it is necessary to revert back to (24)without linearization. This allows us to directly computethe error on SO(3). By compensating for the nonlinearinertial terms and by including the correct error term,we obtain

u2!J($kReR$kXeX)%X 3 JX$J(X3RTR?X?$RTR? _X?):(27)

This controller is guaranteed to be exponentiallystable for almost any rotation [23]. From a practicalstandpoint, it is possible to neglect the last three termsin the controller and achieve satisfactory performance,but the correct calculation of the error term is impor-tant [24].

Trajectory ControlWe now turn our attention to the control of the trajec-tory along a specified trajectory n?(t). As before, wefirst consider linear controllers by linearizing the dy-namics about n ! n?(t), h ! / ! 0,w ! w?(t), _n ! 0, and

SEPTEMBER 2012 • IEEE ROBOTICS & AUTOMATION MAGAZINE • 29

Page 11: Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is achieved by differential control of the thrust generated by each rotor. Pitch,

_/ ! _h ! _w ! 0, with the nominal input given byu1 ! mg , u2 ! 0. Linearizing (1a), we get

"n1 ! g(Dh cosw? % D/ sinw?),"n2 ! g(Dh sinw? $ D/ cosw?),

"n3 !1mu1 $ g: (28)

To exponentially drive all three components of error, wewant to command the acceleration vector "ncom to satisfy

("n,(t)$ "ncom)% Kd( _n,(t)$ _n)% Kp(n,(t)$ n) ! 0:

From (28), we can immediately write

u1 ! m g % "n,3 % kd, z( _n,3 $ _n3)% kp, z(n,3 $ n3)

' (, (29)

to guarantee (n3(t)$ n?3(t))! 0. Similarly, for the othertwo components, we choose to command the appropriateh? and /? to guarantee exponential convergence

/? ! 1g("ncom1 sinw?(t)$ "ncom2 cosw?(t)), (30a)

h? ! 1g("ncom1 cosw?(t)% "ncom2 sinw?(t)), (30b)

where the above equations are obtained by replacing Dh byh? and D/ by /? in (28). Finally, (w?,/?, h?) are provided asset points to the attitude controller discussed in the previoussection. Thus, as shown in Figure 5, the control problem isaddressed by decoupling the position control and attitudecontrol subproblems, and the position control loop providesthe attitude set points for the attitude controller.

The position controller can also be obtained withoutlinearization. This is done by projecting the position error(and its derivatives) along b3 and applying the input u1that cancels the gravitational force and provides the appro-priate proportional plus derivative feedback

u1 ! m~bT3 "n, % Kd( _n

, $ _n)% Kp(n, $ n)% g~a3

' (: (31)

Note that the projection operation is a nonlinear functionof the roll and pitch angles, and, thus, this is a nonlinearcontroller. In [23], it is shown that the two nonlinear con-trollers (27) and (31) result in exponential stability andallow the robot to track trajectories in SE(3).

Trajectory PlanningThe quadrotor is underactuated, and this makes it difficult toplan trajectories in 12-dimensional state space (6 DoF positionand velocity). However, the problem is considerably simplifiedif we use the fact that the quadrotor dynamics are differentiallyflat [25]. To see this, we consider the output position n and theyaw angle w. We show that we can write all state variables and

inputs as functions of the outputs (n,w) and their derivatives.Derivatives of n yield the velocity v and the acceleration,

_v ! 1mu1~b3 % g~a3:

From Figure 3 we see that

~e1 ! cosw, sinw, 0" #T,

and the unit vectors for the body-fixed frame can be writ-ten in terms of the variables w and _v as

~b3 !_v $ g~a3_v $ g~a3k k

, ~b2 !~b3 3~e1~b3 3~e1)))

))), ~b1 !~b2 3~b3

provided~b3 3~e1 6! 0. This defines the rotation matrix ARB asa function of _v (the second derivative of n) and w. In this way,we write the angular velocity and the four inputs as functionsof position, velocity, acceleration, jerk (c), and snap, or thederivative of jerk (r). From these equations, it is possible to ver-ify that there is a diffeomorphism between the 183 1 vector

nT, vT, aT, cT, rT,wT, _wT, "w

' (T

and

R3 nT, _nT,XT, u1, _u1, "u1, uT2

' (T:

This property of differential flatness makes it easy to designtrajectories that respect the dynamics of the underactuatedsystem. Any four-times-differentiable trajectory in the spaceof flat outputs, (n>(t),w(t))>, corresponds to a feasible trajec-tory—one that satisfies the equations of motion. All inequalityconstraints of states and inputs can be expressed as functionsof the flat outputs and their derivatives. This mapping to thespace of flat outputs can be used to generate trajectories thatminimize a cost functional formed by a weighted combinationof the different flat outputs and their derivatives:

minn(t),w(t)

Z T

0L(n, _n, "n, n

&&&, n&&&&

w, _w, "w)dt,

g(n(t),w(t)) - 0: (32)

In [24], minimum snap trajectories were generated byminimizing a cost functional derived from the snap andthe angular yaw acceleration with

L(n, _n, "n, n&&&, n&&&&

w, _w, "w) ! (1$ c)( n&&&&)4 % c( "w)2:

By suitable parameterizing trajectories with basis functions inthe flat space and by considering linear inequalities in the flat

30 • IEEE ROBOTICS & AUTOMATION MAGAZINE • SEPTEMBER 2012

Page 12: Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is achieved by differential control of the thrust generated by each rotor. Pitch,

space to model constraints on states and inputs (e.g., u1 . 0),it is possible to turn this optimization into a quadratic pro-gram that can be solved in real time for planning.

Finally, as shown in [11], it is possible to combine thiscontroller with attitude-only controllers to fly throughvertical windows or land on inclined perches with closeto zero normal velocity. A trajectory controller is used bythe robot to build up momentum, while the attitude con-troller enables reorientation while coasting with the gener-ated momentum.

Vision-Based Perception and ControlThere are two approaches to the question of controlling anaerial vehicle based on visual information. The first is to useclassical robotic SLAM techniques, although with thecaveat that the environment and state estimation are inher-ently 3-D. There are many researchers currently workingon this problem, and we will not attempt to discuss thisapproach further, except to say that should a good-qualityenvironmental estimation and localization algorithm bedeveloped, the control techniques discussed above can beapplied. The second approach is direct sensor-based con-trol [26], the most commonly referred to case, being that ofimage-based visual servo control [27]–[29].

The motion of a point in an image is a function of itscoordinate (u, v) and the camera motion

_u_v

% &! J(u, v, Z)m, (33)

where Z is the point depth, m ! (vx, vy, vz , xx, xy, xz)> is

the spatial velocity of the camera (and vehicle), and J( & ) isthe visual Jacobian or interaction matrix. J can be formu-lated for a perspective camera [30], where (u, v) are pixelcoordinates; or a spherical camera [31] where (u, v) are lat-itude and longitude angles.

The pitch and roll motion of the vehicle are controlledby the attitude subsystem to maintain a position or to fol-low a path in space, and this causes image motion. We par-tition the equations as

_u_v

% &! J1(u, v)(vx, vy, vz , xz)

> % J2(u, v)xx

xy

% &, (34)

where the right-most term describes the image motion dueto the exogenous roll and pitch motion. Rearranging wecan write

_u0

_v0

% &!

_u

_v

% &>$ J2(u, v)

xx

xy

% &(35)

! J1(u, v)(vx, vy , vz , xz)>, (36)

where (u0, v0) represent image points for which the roll andpitch motion has been removed based on the knowledge ofxx and xy, which can be obtained from gyroscopes.

Now consider a point in the image (u0i, v0i) and its

desired location in the image (u,i , v,i ). This desired position

might come from a snapshot of the scene taken when thevehicle was at the desired pose that we wish to returnto. The desired image motion is therefore ( _u,i , _v,i ) !k(u,i / u0i, v

,i / v0i), where the operator / represents the

difference on image plane or sphere. For N points, wecan write

k

_u,1

_v,1

..

.

_u,N

_v,N

0

BBBBBBBBB@

1

CCCCCCCCCA

$

J1(u1, v1)

..

.

J1(uN , vN)

0

BBB@

1

CCCAxx

xy

!

0

BBBBBBBBB@

1

CCCCCCCCCA

!

J2(u1, v1)

..

.

J2(uN , vN)

0

BBB@

1

CCCA

|!!!!!!!!!!!{z!!!!!!!!!!!}B

vx

vy

vz

xz

0

BBBBB@

1

CCCCCA: (37)

If N > 2 and the matrix B is nonsingular, we can solve forthe required translational and yaw velocity to move thevehicle to a pose where the feature points have the desiredimage coordinates (u,i , v

,i ). The desired velocity is input to

a control system as discussed earlier. This is an example ofimage-based visual servoing for an underactuated vehicle,and the technique can be applied to a wider variety ofproblems, such as holding station, path following, obstacleavoidance, and landing.

ConclusionsIn this article, we have provided a tutorial introduction tomodeling, estimation, and control for multirotor aerialvehicles, with a particular focus on the most commonform—the quadrotor. The dynamic model includes therigid body motion of the vehicle in SE(3), the simple aero-dynamics associated with hover, and the extension to thecase of forward motion where blade flapping becomesimportant. State estimation based on accelerometers, gyro-scopes, and magnetometers was discussed for attitude andtranslational velocity, and GPS, motion-capture systems,and cameras for position estimation. A hierarchy of con-trol techniques was discussed, from the individual rotorsthrough attitude control, aggressive trajectory following,and image-based visual control. The future possibilities ofhighly agile small-scale vehicles were laid with a discussionon dimensional scaling for which vision will be an impor-tant sensing modality.

AcknowledgmentThis research was partly supported by the AustralianResearch Council through Future Fellowship FT0991771,

SEPTEMBER 2012 • IEEE ROBOTICS & AUTOMATION MAGAZINE • 31

Page 13: Modeling, Estimation, and Control of Quadrotor€¦ · shown in Figure 1. Control of a quadrotor is achieved by differential control of the thrust generated by each rotor. Pitch,

Foundations of Vision Based Control of Robotic Vehicles,the U.S. Army Research Laboratory Grant W911NF-08-2-0004, and the U.S. Office of Naval Research GrantsN00014-07-1-0829, N00014-09-1-1051, and N00014-08-1-0696.

References[1] P. I. Corke, Robotics, Vision & Control: Fundamental Algorithms in

MATLAB. Berlin: Springer-Verlag, 2011.

[2] T. Hamel, R. Mahony, R. Lozano, and J. Ostrowski, “Dynamic model-

ling and configuration stabilization for an X4-flyer,” in Proc. Int. Federa-

tion of Automatic Control Symp. (IFAC), 2002, p. 6.

[3] S. Bouabdallah, P. Murrieri, and R. Siegwart, “Design and control of

an indoor micro quadrotor,” in Proc. IEEE Int. Conf. Robotics and Auto-

mation (ICRA), Apr. 26–May 1, 2004, vol. 5, pp. 4393–4398.

[4] R. W. Prouty, Helicopter Performance, Stability and Control. Mel-

bourne, FL: Krieger, 1995 (reprint with additions, original edition 1986).

[5] J. Leishman. (2000). Principles of Helicopter Aerodynamics (Cambridge

Aerospace Series). Cambridge, MA: Cambridge Univ. Press. [Online].

Available: http://books.google.com.au/books?id=nMV-TkaX-9cC

[6] H. Huang, G. Hoffmann, S. Waslander, and C. Tomlin,

“Aerodynamics and control of autonomous quadrotor helicopters in

aggressive maneuvering,” in Proc. IEEE Int. Conf. Robotics and Automa-

tion (ICRA), May 2009, pp. 3277–3282.

[7] P. Martin and E. Salaun, “The true role of accelerometer feedback in

quadrotor control,” in Proc. IEEE Int. Conf. Robotics and Automation,

Anchorage, AK, May 2010, pp. 1623–1629.

[8] P. Corke. Robotics toolbox for MATLAB. (2012). [Online]. Available:

http://www.petercorke.com/robot.

[9] C. H. Wolowicz, J. S. Bowman, andW. P. Gilbert, “Similitude require-

ments and scaling relationships as applied to model testing,” NASA,

Tech. Rep. 1435, Aug. 1979.

[10] S. Shen, N. Michael, and V. Kumar, “3D estimation and control for

autonomous flight with constrained computation,” in Proc. IEEE Int.

Conf. Robotics and Automation, Shanghai, China, May 2011, p. 6.

[11] D. Mellinger, N. Michael, and V. Kumar, “Trajectory generation and

control for precise aggressive maneuvers with quadrotors,” Int. J. Robot.

Res., vol. 31, no. 5, pp. 664–674, Apr. 2012.

[12] R. Mahony, T. Hamel, and J.-M. Pflimlin, “Non-linear complemen-

tary filters on the special orthogonal group,” IEEE Trans. Automat.

Contr., vol. 53, no. 5, pp. 1203–1218, June 2008.

[13] S. Bonnabel, P. Martin, and P. Rouchon, “Non-linear symmetry-pre-

serving observers on lie groups,” IEEE Trans. Automat. Contr., vol. 54,

no. 7, pp. 1709–1713, 2009.

[14] A. Bachrach, S. Prentice, R. He, and N. Roy, “Range-robust autono-

mous navigation in GPS-denied environments,” J. Field Robot., vol. 28,

no. 5, pp. 644–666, 2011.

[15] O. Amidi, T. Kanade, and R. Miller, “Vision-based autonomous heli-

copter research at Carnegie Mellon Robotics Institute,” in Proc. Heli

Japan, 1998, vol. 98, p. 6.

[16] P. Corke, “An inertial and visual sensing system for a small

autonomous helicopter,” J. Robot. Syst., vol. 21, no. 2, pp. 43–51, Feb. 2004.

[17] L. Meier, P. Tanskanen, F. Fraundorfer, and M. Pollefeys, “Pixhawk:

A system for autonomous flight using onboard computer,” in Proc. ICRA,

2011, p. 6.

[18] C. Kemp, “Visual control of a miniature quad rotor helicopter,”

Ph.D. dissertation, Univ. Cambridge, Cambridge, U.K., 2006.

[19] M. Achtelik, A. Bachrach, R. He, S. Prentice, and N. Roy, “Stereo

vision and laser odometry for autonomous helicopters in GPS-denied

indoor environments,” in Proc. SPIE Unmanned Systems Technology XI.

Orlando, FL, SPIE, 2009, vol. 7332, p. 10.

[20] P. Bristeau, F. Callou, D. Vissi#ere, and N. Petit, “The navigation and

control technology inside the AR. drone micro UAV,” in Proc. World

Congress, 2011, vol. 18, no. 1, pp. 1477–1484.

[21] V. Srinivasan and S. Venkatesh, From Living Eyes to Seeing

Machines. London, U.K.: Oxford Univ. Press, 1997.

[22] P. Corke, J. Lobo, and J. Dias, “An introduction to inertial and

visual sensing,” Int. J. Robot. Res., vol. 26, no. 6, pp. 519–536, June

2007.

[23] T. Lee, M. Leok, and N. McClamroch, “Geometric tracking control

of a quadrotor UAV on SE(3),” in Proc. IEEE Conf. Decision and Control,

2010, p. 6.

[24] D. Mellinger and V. Kumar, “Minimum snap trajectory generation

and control for quadrotors,” in Proc. Int. Conf. Robotics and Automation

(ICRA), Shanghai, China, May 2011, p. 6.

[25] M. J. V. Nieuwstadt and R. M. Murray, “Real-time trajectory genera-

tion for differentially flat systems,” Int. J. Robust and Nonlinear Control,

vol. 8, no. 11, pp. 995–1020, 1998.

[26] C. Samson, M. Le Borgne, and B. Espiau, Robot Control: The Task

Function Approach (The Oxford Engineering Science Series). Oxford,

U.K.: Oxford Univ. Press, 1991.

[27] T. Hamel and R. Mahony, “Visual servoing of an under-actuated

dynamic rigid-body system: An image based approach,” IEEE Trans.

Robot. Automat., vol. 18, no. 2, pp. 187–198, Apr. 2002.

[28] N. Guenard, T. Hamel, and R. Mahony, “A practical visual servo

control for a unmanned aerial vehicle,” IEEE Trans. Robot., vol. 24, no. 2,

pp. 331–341, Apr. 2008.

[29] R. Mahony, P. Corke, and T. Hamel, “Dynamic image-based visual

servo control using centroid and optic flow features,” J. Dynamic. Syst.,

Meas. Contr., vol. 130, no. 1, p. 12, Jan. 2008.

[30] S. Hutchinson, G. Hager, and P. Corke, “A tutorial on visual servo

control,” IEEE Trans. Robot. Autom., vol. 12, no. 5, pp. 651–670, Oct.

1996.

[31] P. I. Corke, “Spherical image-based visual servo and structure

estimation,” in Proc. IEEE Int. Conf. Robotics and Automation, Anchor-

age, AK, May 2010, pp. 5550–5555.

Robert Mahony, Research School of Engineering, Austra-lian National University, Canberra 0200, Australia. E-mail:[email protected].

Vijay Kumar, Department of Mechanical Engineeringand Applied Mechanics, GRASP Laboratory, Universityof Pennsylvania, Philadelphia, USA. E-mail: [email protected].

Peter Corke, School of Electrical Engineering andComputer Science, Queensland University of Technology,Australia. E-mail: [email protected].

32 • IEEE ROBOTICS & AUTOMATION MAGAZINE • SEPTEMBER 2012