7
Modeling, Simulation and Flight Testing of an Autonomous Quadrotor Rahul Goel a , Sapan M. Shah b , Nitin K. Gupta c,1 , N. Ananthkrishnan c,d a Department of Aeronautics and Astronautics, MIT, USA b Whirlybird Electronics Pvt. Ltd., Mumbai c IDeA Research and Development Pvt. Ltd., Pune d Coral Digital Technologies Pvt. Ltd., Bangalore Abstract: Rotary-wing Unmanned Mini Aerial Vehicles (RUMAV) represent a useful class of flying robots because of their strong abilities of VTOL, high maneuverability and controlla- bility, especially in enclosed areas. In this paper, we present the development of an autonomous four-rotor RUMAV, called Quadrotor. Starting with modeling, simulation, and control design, this paper presents the results from flight experiments conducted on a flying platform. A clas- sical control approach (PID) is used to design the control law. Once the control algorithm is validated using simulations and 3D visualization, it is implemented on hardware and experi- ments on a test-rig and in free flight are conducted. Key words: Quadrotor, automation, dynamics, modeling, simulation, control, autopilot NOMENCLATURE A rotation matrix A p area of propeller B body fixed frame D drag moment F wI forces due to translational velocity and wind G gear ratio h altitude of vehicle I inertial frame I xx , I yy , I zz quadrotor moments of inertia about body x, y, z axes, respectively I ct inertial counter torque J moment of inertia matrix J p moment of inertia of single propeller k d aerodynamic drag moment coecient k i current constant of motor k r friction coecients due to rotational velocities k s , k u friction coecients due to translational velocities k t aerodynamic thrust coecient k v speed constant of motor L distance of center of propeller from origin M matrix relating Euler time derivatives with body angular rates Email addresses: [email protected] (Rahul Goel), [email protected] (Sapan M. Shah), [email protected] (Nitin K. Gupta), [email protected] (N. Ananthkrishnan) URL: http://www.idearesearch.in (Nitin K. Gupta) 1 Corresponding author M f friction torque M g gyroscopic moments m mass of quadrotor vehicle assembly P pitch of propeller blade R resistance of motor R p radius of propeller T thrust force V voltage applied to motor w wind velocity ˙ X 0 i , ˙ Y 0 i forward and sideward velocity in horizontal plane ˙ X i , ˙ Y i velocities in inertial frame α angular speed of propeller φ, θ, ψ Euler angles φ b , θ b base Euler angles commanded τ torque τ t disturbance torque τ m motor torque ω angular rates of quadrotor in body frame Subscripts 1, 2, 3, 4 propeller number b coordinates in body frame c commanded value d desired value i coordinates in inertial frame o obtained value Proceedings of ICEAE 2009

Modeling and Control Simulation for Autonomous Quadrotor GN-070

Embed Size (px)

Citation preview

Page 1: Modeling and Control Simulation for Autonomous Quadrotor GN-070

Modeling, Simulation and Flight Testing of an Autonomous Quadrotor

Rahul Goela, Sapan M. Shahb, Nitin K. Guptac,1, N. Ananthkrishnanc,d

aDepartment of Aeronautics and Astronautics, MIT, USAbWhirlybird Electronics Pvt. Ltd., MumbaicIDeA Research and Development Pvt. Ltd., PunedCoral Digital Technologies Pvt. Ltd., Bangalore

Abstract: Rotary-wing Unmanned Mini Aerial Vehicles (RUMAV) represent a useful classof flying robots because of their strong abilities of VTOL, high maneuverability and controlla-bility, especially in enclosed areas. In this paper, we present the development of an autonomousfour-rotor RUMAV, called Quadrotor. Starting with modeling, simulation, and control design,this paper presents the results from flight experiments conducted on a flying platform. A clas-sical control approach (PID) is used to design the control law. Once the control algorithm isvalidated using simulations and 3D visualization, it is implemented on hardware and experi-ments on a test-rig and in free flight are conducted.

Key words: Quadrotor, automation, dynamics, modeling, simulation, control, autopilot

NOMENCLATURE

A rotation matrixAp area of propellerB body fixed frameD drag momentFwI forces due to translational velocity and windG gear ratioh altitude of vehicleI inertial frameIxx, Iyy, Izz quadrotor moments of inertia about body

x, y, z axes, respectivelyIct inertial counter torqueJ moment of inertia matrixJp moment of inertia of single propellerkd aerodynamic drag moment coefficientki current constant of motorkr friction coefficients due to rotational velocitiesks, ku friction coefficients due to translational

velocitieskt aerodynamic thrust coefficientkv speed constant of motorL distance of center of propeller from originM matrix relating Euler time derivatives with

body angular rates

Email addresses: [email protected] (Rahul Goel),[email protected] (Sapan M. Shah), [email protected](Nitin K. Gupta), [email protected] (N. Ananthkrishnan)

URL: http://www.idearesearch.in (Nitin K. Gupta)1Corresponding author

M f friction torqueMg gyroscopic momentsm mass of quadrotor vehicle assemblyP pitch of propeller bladeR resistance of motorRp radius of propellerT thrust forceV voltage applied to motorw wind velocityX′i , Y ′i forward and sideward velocity in horizontal

planeXi, Yi velocities in inertial frameα angular speed of propellerφ, θ, ψ Euler anglesφb, θb base Euler angles commandedτ torqueτt disturbance torqueτm motor torqueω angular rates of quadrotor in body frame

Subscripts1, 2, 3, 4 propeller numberb coordinates in body framec commanded valued desired valuei coordinates in inertial frameo obtained value

Proceedings of ICEAE 2009

Page 2: Modeling and Control Simulation for Autonomous Quadrotor GN-070

Development of an Autonomous Quadrotor!

!

!

"#$%##&'! ()#)! *&+)%,! -&.)/,&! 01"(*-23! /%,,&'!

45%'+676+8! 45%'+676+! )9! %! 9:97&$! /6#9)97)#;! 6<! <65+!

)#'&=&#'&#7! =+6=&,,&+9! %77%/.&'! %7! &%/.! /6+#&+! 6<! %! /+699!

<+%$&! 0>);8! ?28! @7! .%9! A&+7)/%,! 7%B&C6<<! %#'! ,%#')#;! 0-DEF2!

/%=%G),)7)&9! H.)/.! ;)A&9! )7! .);.&+! $%#&5A&+%G),)7:! %#'!

.6A&+)#;!/%=%G),)7)&98!

D.&!/6#/&=7!6<!45%'+676+!H%9!<)+97!&I=&+)$&#7&'!)#!?JKL!G:!

M+&;5&7! %#'! 1)/.&7! 0F&)9.$%#28! M57! 7.&)+! ,%+;&3! .&%A:3!

$%##&'!A&.)/,&! )9! +&=6+7&'! 76! .%A&! ,)<7&'! 6#,:! 6A&+! %! 9$%,,!

.&);.7! %#'! <6+! 9.6+7! '5+%7)6#8! N)#/&! 7.&#3! 7.&+&! .%9! G&&#!

7+&$&#'659! +&9&%+/.! %#'! '&A&,6=$&#7! )#! 7.&! <)&,'! 6<!

+676+/+%<73! G57! 7.&! 45%'+676+! /6#/&=7! ')'! #67! ;&7! $5/.!

%77&#7)6#8! O6H&A&+3! 6A&+! 7.&! ,%97! <&H! :&%+93! $%#:! ;+65=9!

0M65%G'%,,%.!&7!%,83!O%$&,!&7!%,83!(%.6#:!&7!%,83!P)/&!&7!%,83!

D%:&G)!&7!%,83!%#'!D6$,)#!&7!%,82!%+&!H6+B)#;!6#!7.)9!)#!6+'&+!

76! &I=,6)7! 7.&! =67&#7)%,! %'A%#7%;&9! 6<! 45%'+676+9! %9!

1"(*-9!6<!<575+&8!

*9! 9.6H#! )#! >);8! ?3! 6#&! =%)+! 6<! 6==69)7&! =+6=&,,&+9! 6<!

45%'+676+! +67%7&9! /,6/BH)9&3! H.&+&%9! 7.&! 67.&+! =%)+! +67%7&9!

%#7)/,6/BH)9&8!D.)9!H%:!)7! )9!%G,&!76!%A6)'!7.&!:%H!'+)<7!'5&!

76!+&%/7)A&!76+Q5&98!D.)9!/6#<);5+%7)6#!%,96!.%9!7.&!%'A%#7%;&!

7.%7!<6+!,%7&+%,!$67)6#!H&!'6!#67!#&&'!76!/.%#;&!7.&!=)7/.!6<!

7.&! =+6=&,,&+! G,%'&98! >)I&'! =)7/.! 9)$=,)<)&9! +676+!$&/.%#)/9!

%#'! +&'5/&9! 7.&! ;:+69/6=)/! &<<&/798!R6#7+6,! 6<!45%'+676+! )9!

%/.)&A&'! G:! /6$$%#')#;! ')<<&+&#7! 9=&&'9! 76! ')<<&+&#7!

=+6=&,,&+93! H.)/.! )#! 75+#! =+6'5/&9! ')<<&+&#7)%,! %&+6':#%$)/!

<6+/&9! %#'! $6$&#798! S.),&! .6A&+)#;3! %,,! <65+! =+6=&,,&+9!

+67%7&! %7! 9%$&! 9=&&'8!P6H3! 76! ;&#&+%7&! A&+7)/%,!$67)6#3! 7.&!

9=&&'!6<!%,,! <65+!=+6=&,,&+9! )9! )#/+&%9&'!6+!'&/+&%9&'!G:! 7.&!

9%$&! %$65#73! 9)$5,7%#&659,:8! >6+! T)7/.! +67%7)6#! %#'!

/6++&9=6#')#;! ,%7&+%,!$67)6#3! 9=&&'!6<!=+6=&,,&+9!U!%#'!?! )9!

/.%#;&'! /6#A&+9&,:8! N)$),%+,:3! <6+! 16,,! +67%7)6#! %#'! 7.&!

/6++&9=6#')#;! ,%7&+%,!$67)6#3! 9=&&'!6<!=+6=&,,&+9!V!%#'!W! )9!

/.%#;&'!/6#A&+9&,:8!D6!=+6'5/&!X%H! +67%7)6#3! 7.&! 9=&&'!6<!

6#&! =%)+! 6<! 7H6! 6==69)7&,:! =,%/&'! =+6=&,,&+9! )9! )#/+&%9&'!

H.),&! 7.&! 9=&&'! 6<! 7.&! 67.&+! =%)+! )9! '&/+&%9&'! G:! 7.&! 9%$&!

%$65#78! D.)9! H%:3! 6A&+%,,! 7.+597! =+6'5/&'! )9! 9%$&3! G57!

')<<&+&#7)%,!'+%;!$6$&#7!/+&%7&9!:%H)#;!$67)6#8!M573!)#!9=)7&!

6<! <65+! %/75%76+93! 7.&! 45%'+676+! )9! 97),,! %#! 5#'&+C%/75%7&'!

9:97&$8!

D.&! +&97! 6<! 7.&! =%=&+! )9! 6+;%#)Y&'! %9! <6,,6H9Z! 9&/7)6#! V!

')9/599&9!7.&!':#%$)/!$6'&,,)#;8!N&/7)6#!U!')9/599&9!/6#7+6,!

,%H! '&9);#! %#'! =+&9&#7! 96$&! 9)$5,%7)6#! +&95,798! N&/7)6#! W!

),,597+%7&9! .6H! H&! )#7&;+%7&'! 7.&! .%+'H%+&! 0[6:97)/B23!

':#%$)/!$6'&,!%#'!/6#7+6,,&+!)#!!"#$"%&'()*$(+,!%#'!/%++)&'!

657!U\!A)95%,)Y%7)6#!)#!-$(./#.0"18!!

!

!

!

!

>);8!?8!45%'+676+!%I)9!9:97&$!

V8!4"*\1EDE1!\XP*(@R!(E\]F@P^!

F&7! 59! /6#9)'&+! %#! )#&+7)%,! <+%$&3! 2! %#'! %! G6':! <+%$&3!3! %9!

9.6H#! )#! >);8! ?8! "9)#;! ]5,&+! %#;,&! =%+%$&7&+)Y%7)6#3! 7.&!

6+)&#7%7)6#!6<!A&.)/,&! )#!9=%/&! )9!;)A&#!G:!+67%7)6#!$%7+)I!45

0;)A&#! G&,6H2! <+6$! <+%$&! 3! 76! 28! D.&! ':#%$)/! $6'&,! )9!

'&+)A&'!5#'&+!7.&!<6,,6H)#;!%995$=7)6#9Z!

?8 N7+5/75+&!)9!+);)'!%#'!9:$$&7+)/%,8!

V8 D.&!/&#7&+!6<!$%99!6<!A&.)/,&!%#'!6+);)#!6<!3!/6)#/)'&8!

U8 D.&!=+6=&,,&+9!%+&!+);)'!)#!=,%#&8!T)7/.!)9!<)I&'8!

]5,&+!7)$&!'&+)A%7)A&9!%+&!+&,%7&'!76!G6':!%#;5,%+!+%7&9!%9Z!

!

! !!!!

!

! 0?2!

) ) ) G G G

D8 8 8 D D

? ?I : Y I : Y( ( *

R NK

R R

H.&+&3 ( N R K

K K ?

R R R N N N R R N R N N

%#' * N R N N N R R N N R R N

N R N R R

! !" # " # "$ % & ' ( ( ( ' ( ( () *#

+ , ++ ,& &

,

- .% %- .' ! & &- .- .- ./ 0

& % & % 1 ! & 1 & % 1 2 & 13 4- .' & % & % & 2 & 1 & % 1 ! & 1- .- .! % % 1 % 1/ 0

!

!

!

!

!

!

!

!

!

!

!

S.&+&!R!3!N!3!&7/8!%+&!R690!23!N)#0!23!&7/8!

N)#/&!H&!%+&!6#,:!/6#/&+#&'!%G657! 7.&!A&,6/)7:!6<!/&#7+&!6<!

$%99! ,6/%7&'!%7!6+);)#!6<!33!H&!/%#!')+&/7,:!;&7!G6':!<+%$&!

A&,6/)7)&9! <+6$! )#&+7)%,! <+%$&! A&,6/)7)&93! 59)#;! 7.&!

7+%#9<6+$%7)6#!$%7+)I!%9Z!

!

! ! ! ! ! ! !!!!!!!!0V2!

!

5

3 4

8 8 8 8 8 8?

6 6

% % % ( ( (7 8 9 4 7 8 9!" # "' #*) * ) ,+ , +

! !!!!

Figure 1: Quadrotor Axis System

1. INTRODUCTION

Unmanned Mini Aerial Vehicles (UMAVs) have found po-tential applications in military purposes like surveillance,border patrolling, mine detection, crowd control, aerial de-livery of payload, civilian purposes like disaster managementduring floods, earthquakes, fire, commercial missions likeaerial photography, television and cinema shootings, and re-search and development program which need flying vehiclesto perform various experiments. The UMAVs are expected tobecome much more common soon because of their potentialin preventing pilot exposure to danger. In this paper we dis-cuss a kind of Rotary-wing Unmanned Mini Aerial Vehicle(RUMAV), called Quadrotor. Quadrotor is a system consist-ing of four independent propellers attached at each corner ofa cross frame (Fig. 1). It has vertical take-off and landing(VTOL) capabilities which gives it higher maneuverabilityand hovering capabilities.

The concept of Quadrotor was first experimented in 1907by Breguet and Richet [1]. Their large, heavy, manned ve-hicle is reported to have lifted only over a small height andfor short duration. Since then, there has been tremendousresearch and development in the field of rotorcraft, but theQuadrotor concept did not get much attention. However, overthe last few years, many groups [2, 3, 4, 5, 6, 7] are workingin order to exploit the potential advantages of Quadrotors asRUMAVs of future. This paper presents a complete systemsolution to development of a Quadrotor starting from model-ing, simulation, controller design to implementation on hard-ware and conducting flight tests.

As shown in Fig. 1, one pair of opposite propellers ofQuadrotor rotates clockwise, whereas the other pair rotatesanticlockwise. This way it is able to avoid the yaw drift due toreactive torques. This configuration also offers the advantageof lateral motion without changing the pitch of the propellerblades. Fixed pitch simplifies rotor mechanics and reducesthe gyroscopic effects. Control of Quadrotor is achieved bycommanding different speeds to different propellers, which inturn produces differential aerodynamic forces and moments.For hovering, all four propellers rotate at same speed. For

vertical motion, the speed of all four propellers is increasedor decreased by the same amount, simultaneously. In orderto pitch and move laterally in that direction, speed of pro-pellers 3 and 1 is changed conversely. Similarly, for roll andcorresponding lateral motion, speed of propellers 2 and 4 ischanged conversely. To produce yaw, the speed of one pair oftwo oppositely placed propellers is increased while the speedof the other pair is decreased by the same amount. This way,overall thrust produced is same, but differential drag momentcreates yawing motion. In spite of four actuators, the Quadro-tor is still an under-actuated system.

The rest of the paper is organized as follows: Section 2discusses the dynamic modeling. Section 3 presents the con-trol law design and simulation results. Section 4 illustratesthe integrated model with 3D visualization. Finally, hard-ware implementation and flight test results are presented inSection 5.

2. QUADROTOR DYNAMIC MODELING

Let us consider an inertial frame, I and a body frame, Bas shown in Fig. 1. Using Euler angle parameterization, theorientation of vehicle in space is given by rotation matrix A(given below) from frame B to I. The dynamic model is de-rived under the following assumptions:

1. Structure is rigid and symmetrical.2. The center of mass of vehicle and origin of B coincide.3. The propellers are rigid in plane. Pitch is fixed.

Euler time derivatives are related to body angular rates as:

[φ θ ψ

]T= M−1

[ωxi ωyi ωzi

]T

= M−1A[ωxb ωyb ωzb

]T(1)

where, M =

CψCθ

SψCθ 0

−Sψ Cψ 00 0 1

and, A =

CψCθ CψS θSφ − SψCφ CψS θCφ + SψSφSψCθ SψS θSφ + CψCφ SψS θCφ −CψSφ−S θ CθSφ CθCφ

where, Cφ, Sφ, etc. are cos φ, sin φ, etc.

Since we are only concerned about the velocity of centre ofmass located at origin of B, we can directly get body framevelocities from inertial frame velocities, using the transfor-mation matrix as:[

xb yb zb

]T= A−1

[xi yi zi

]T(2)

2.1. Force EquationsAerodynamic force (thrust) of a propeller can be shown

proportional to square of its rotational speed using momen-tum theory [8]. It is modeled as:

Ti = C1

(1 − 2πLCS

Pαi+ 2π

zb − wzb

Pαi

)(3)

Proceedings of ICEAE 2009

Page 3: Modeling and Control Simulation for Autonomous Quadrotor GN-070

Rahul Goel, Sapan M. Shah, Nitin K. Gupta, N. Ananthkrishnan

where, C1 = ktρApα2i R2

p

C = 1 if i = 1 or 4, or C = −1 if i = 2 or 3, and S = ωyb ifi = 1 or 3, or S = ωxb if i = 2 or 4.

Forces due to translational velocity of quadrotor and winddisturbances are modeled as:

FwI = A[

ks(wxb − xb

)ks

(wyb − yb

)ku

(wzb − zb

) ]T(4)

Hence, linear momentum balance in inertial frame gives:

xi

yi

zi

= −

ωxb

ωyb

ωzb

× xi

yi

zi

+ g

001

+FwI

m

−T1 + T2 + T3 + T4

mA

001

(5)

2.2. Moment EquationsAerodynamic drag moment of a propeller can be shown to

be proportional to square of its rotational speed using mo-mentum theory [8]. It is modeled as:

Di = C2

(1 −

2πLCSPαi

+ 2πzb − wzb

Pαi

)(6)

where, C2 = kdρApα2i R3

pInertial counter torque, which is the reaction torque pro-

duced by a change in rotational speed of propellers is mod-eled as:

Ict = Jp (−α1 + α2 − α3 + α4) (7)

Friction torque due to rotational motion is modeled as [4]:

M f = kr

[φ θ ψ

]T(8)

Disturbance torque due to uncontrollable factors (windetc.) is modeled as:

τd =[τxb τyb τzb

]T(9)

Gyroscopic moments, caused by combination of rotationsof four propellers and vehicle frame are modeled as:

Mg = Jp

[θα φα 0

]T(10)

where, α = −α1 + α2 − α3 + α4Hence, angular momentum balance in body frame gives:

ωxb

ωyb

ωzb

= −J−1ω × J

ωxb

ωyb

ωzb

− J−1(M f + τd + Mg

)

+J−1

L (T4 − T2)L (T1 − T3)

D1 − D2 + D3 − D4 + Ict

(11)

where, ω× =

0 −ωzb ωyb

ωzb 0 −ωxb

−ωyb ωxb 0

Table 1: Quadrotor Parameters [5]

Design Variable Value Unitsm 4.493 KgL 0.38 mG 80/12 -Jp 1.46E-3 Kg/m2

Ixx, Iyy 0.177 Kg/m2

Izz 0.334 Kg/m2

Rp 0.228 mP 0.152 mV 5 VoltsR 0.3 Ohmskt 0.008 -kd 0.0013 -ki 3.87E-3 Nm/Ohmskv 0.0004 Volts/RPMkr 0.35 Nms/rad

ks, ku 1 Ns/m

2.3. Motor Dynamics

A standard DC motor with negligible inductance is mod-eled as:

τmi = ki

(Vi −

kvαi

G

)/R

αi =Gτmi − Di

Jp(12)

Table 1 gives the parameters of Quadrotor considered.

3. CONTROLLER DESIGN AND SIMULATION

3.1. Controller

Controller design for the system involves two loops: innerand outer. In the inner loop, four parameters: θ, φ, ψ and hare independently controlled by suitably adjusting the speedof propellers. For controlling θ, speed of propellers 1 and 3is adjusted. For controlling φ, speed of propellers 2 and 4is modified. For controlling ψ and h, speed of all the fourpropellers is suitably adjusted. Four separate PIDs are builtcorresponding to each parameter. Based on the error signals,the inner loop PIDs command differential voltages in orderto reach the set point.

In the outer loop, forward and sideward velocities ( X′i andY ′i ) are controlled (Eq. 13). The velocities commanded arein a frame which is obtained by rotating the inertial frame byψ. Since a joystick is used for navigating the Quadrotor it isfound more practical to command these velocities. Based onsimulation results, look up tables are formulated, to find baseθ and φ required to fly at a particular velocity. These baseangles (θb and φb), act as set points for inner loop controllersof θ and φ. The outer loop PIDs command additional pitch(∆θ) and roll (∆φ) angles based on error in velocities, in orderto reach the set point.

Proceedings of ICEAE 2009

Page 4: Modeling and Control Simulation for Autonomous Quadrotor GN-070

Development of an Autonomous Quadrotor

Table 2: PID Gains Table

Control Output Kp Ki Kd

θ +V1, -V3 0.05 0 0.02φ +V4, -V2 0.05 0 0.02ψ +V1, -V2, +V3, -V4 0.005 0 0.004h +V1, +V2, +V3, +V4 0.01 0.0007 0.01X′i -∆θ -1.5 -0.06 0Y ′i ∆φ 1.5 0.06 0

!

!

!

"#!$%&'(%))*(!+*,-.&!/&+!,-01)/'-%&!

!"#$%&'()&**+)$ $

$234526675! 879:;3! <25! 4=7! 9>947?! :3@26@79! 4A2! 622B9C! :3375!

D38!2E475#!-3!4=7!:3375!622BF!<2E5!BD5D?74759C!!F!"F!#!D38!,!D57!

:387B7387346>! G234526678! H>! 9E:4DH6>! D8IE94:3;! 4=7! 9B778! 2<!

B52B766759#! J25! G2345266:3;!!F! 9B778!2<! B52B766759! K! D38!"! :9!

D8IE9478#! J25! G2345266:3;! "F! 9B778! 2<! B52B766759! L! D38! M! :9!

?28:<:78#! J25! G2345266:3;! #! D38! ,F! 9B778! 2<! D66! 4=7! <2E5!

B52B766759! :9! 9E:4DH6>! D8IE9478#! J2E5! 97BD5D47! N-+9! D57! HE:64!

G25579B238:3;!42!7DG=!BD5D?7475#!OD978!23!4=7!75525!9:;3D69F!

4=7!:3375!622B!N-+9!G2??D38!8:<<75734:D6!@264D;79!:3!25875!42!

57DG=!4=7!974!B2:34#!

-3!4=7!2E475!622BF!<25AD58!D38!9:87AD58!@762G:4:79!P D38 Q!

D57! G234526678! P*R#! K"Q#! '=7! @762G:4:79! G2??D3878! D57! :3! D!

<5D?7!A=:G=! :9!2H4D:378!H>!524D4:3;! 4=7! :3754:D6! <5D?7!H>!##!

,:3G7! D! I2>94:GS! :9! E978! <25! 3D@:;D4:3;! 4=7! TED852425! :4! :9!

<2E38!?257!B5DG4:GD6!42!G2??D38!4=797!@762G:4:79#!OD978!23!

9:?E6D4:23!579E649F!622S!EB!4DH679!D57!<25?E6D478F!42!<:38!HD97!

!! D38!"$ 57RE:578! 42! <6>! D4! D! BD54:GE6D5! @762G:4>#! '=797! HD97!

D3;679!P!

#U

-.

#U

-/

0!D38!"0QF!DG4!D9!974!B2:349!<25!:3375!622B!G2345266759!

2<!!! D38!"#! '=7! 2E475! 622B!N-+9! G2??D38! D88:4:23D6! B:4G=!

P$!Q!D38!5266!P$"Q$D3;679$HD978!23!75525!:3!@762G:4:79F!:3!25875!

42!57DG=!4=7!974!B2:34#!

!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!PK"Q!

# # #U

: : :

# # #U

: : :

V V G29P Q W 9:3P Q

W V 9:3P Q W G29P Q

! " #

! $ " # "

"

N-+!;D:39!2H4D:378!D57!B57973478!:3!'DH67!L!H762AC!

Table 2. PID Gains Table

$234526675! %E4BE4! !!XB X: !!!X8!!!!!!!!! YZKF![Z" \#\]! \! \#\L!

!!!!!!!"! YZMF![ZL \#\]! \! \#\L!

!!!!!!!#!YZKF![ZLF!

YZ"F![ZM\#\\]! \! \#\\M!

!!!!!!!=!YZKF!YZLF!

YZ"F!YZM\#\K! \#\\\^! \#\K!

#U

:V ! [$!! [K#]! [\#\_! \!

! !#U

:W $"! K#]! \#\_! \!

!"1$2-34*5(-&'$

-3! 25875! 42! 4E37! 4=7! G234526675! BD5D?74759F! A7! B75<25?78!

97@75D6!9:?E6D4:239!23!2-34*-'6#!J:594F!4=7!BD5D?74759!2<!:3375!

622B! D57! 4E378#! -3! 4=:9! 9:?E6D4:23! PJ:;#! LQF! 4=7! 4D9S! 2<! 4=7!

G234526675! AD9! 42! 94DH:6:`7! 4=7! 25:734D4:23! D3;679! D4! \\! D38!

D44D:3!,!a!M]!?#!-3:4:D6!G238:4:239!A757C!,!a!"\!?F!"$a$!$a$#$a!

Kb\F!7! a! %! a!&! a! \#! -3:4:D6! 524D4:23D6! 9B778! 2<! B52B766759! :9!

GD6GE6D478!<52?!45:?!G238:4:23!P=2@75!G238:4:23Q#!/!<:c78!947B!

9:`7F!(E3;7[XE44D!926@75F!A:4=!947B!9:`7!974!D9!dDE42eF!:9!E978!

<25! D66! 9:?E6D4:239#! -4! :9! D692! 2H975@78! 4=D4! 4=7! G62978[622B!

579B2397! 2<! 4=7! 9>947?! :9! ?EG=! 962A75! 4=D3! 4=7! 2B73[622B!

579B2397#!

!

J:;#! L#! ,:?E6D4:23! KC! 4=7! 9>947?! =D9! 42! 94DH:6:`7! 4=7!

25:734D4:23! D3;679! D4! \ F! D38! D44D:3!,! a! M]!?F! 94D54:3;! <52?!!!!!

"!a!!!a!#!a!Kb F!D38!,!a!"\!?

\

\

/<475! 4=7! B75<25?D3G7! 2<! :3375! 622B! G2345266759! AD9! <2E38!

9D4:9<DG425>F! 9:?E6D4:239! A757! GD55:78! 2E4! 42! 4E37! 4=7!

BD5D?74759! 2<! 2E475! 622B! G2345266759#! -3! 4=:9! 9:?E6D4:23!!!!!

PJ:;#! "QF! 4=7! 4D9S! 2<! 4=7! G234526675! AD9! 42! 2H4D:3! D! <25AD58!

@762G:4>! P Q! a! K\!?f9! D38! ,! a! ]\!?#! J25! 4=:9! GD97F!?294!

:3:4:D6! G238:4:239!A757! 9D?7! D9! :3!B57@:2E9! 9:?E6D4:23F!A:4=!

4=7! 236>! 8:<<7573G7! 4=D4! :3:4:D6! "$ a$ !$ a$ #$ a! \

#

4>

"Q#!

U

-.

\#! O7:3;! D!

9>??745:G! H28>F! G234526675! <25! 9:87AD58! @762G: ! P#U

-/ Q! :9!

9D?7!D9!4=D4!<25!<25AD58!@762G:4>#!/9!GD3!H7!9773!<52?!J:;9#!

L!D38!"F!D64:4E87!G234526675!:9!96E;;:9=!P&247!4=7!8:<<75734!4:?7!

9GD67!2<!,!@9!':?7!9EHB624!:3!J:;9#!L!D38!

!

J:;#! "#! ,:?E6D4:23! LC! 4=7! 9>947?! =D9! 42! D44D:3! D! <25AD58!

@762G:4>! P Q! a! K\! ?f9F! D38! ,! a! ]\! ?F! 94D54:3;! <52?!!!!!!!!!!

a!\!?f9F!D38!,!a!"\!?!

#

#

U

-.

U

-.

M#!-&'*.(/'*+!0%+*)!

! !!!!

Figure 2: Starting from φ = θ = ψ = 18◦, and h = 30m, the system stabilizesat zero Euler angles, and attains h = 45m

X′i = Xi cosψ + Yi sinψY ′i = −Xi sinψ + Yi cosψ (13)

PID gains obtained are presented in Table 2.

3.2. SimulationThe model developed above is next simulated using

Simulink for verification and in order to tune the controllerparameters. First, the parameters of inner loop are tuned. Inthis simulation (Fig. 2), the task of the controller was to sta-bilize the orientation angles at zero and attain a height of 45meters. Initial conditions were: h = 30m, φ = θ = ψ = 18◦,w = τ = ω = 0. Initial rotational speed of propellers is cal-culated from trim condition (hover condition). A fixed stepsize, Runge-Kutta solver, with ’auto’ step sizing is used forall simulations.

After the performance of inner loop controllers is foundsatisfactory, simulations are carried out to tune the parame-ters of outer loop controllers. In the simulation results shownin Fig. 3, the task of the controller is to obtain a forward ve-locity (X′i ) = 10m/s and h = 50m. For this case, the sameinitial conditions are used as in previous simulation, with theonly difference that initial Euler angles are kept at zero. Be-ing a symmetric body, controller for sideward velocity (Y ′i ) issame as that for forward velocity. As can be seen from Figs. 2

!

!

!

"#!$%&'(%))*(!+*,-.&!/&+!,-01)/'-%&!

!"#$%&'()&**+)$ $

$234526675! 879:;3! <25! 4=7! 9>947?! :3@26@79! 4A2! 622B9C! :3375!

D38!2E475#!-3!4=7!:3375!622BF!<2E5!BD5D?74759C!!F!"F!#!D38!,!D57!

:387B7387346>! G234526678! H>! 9E:4DH6>! D8IE94:3;! 4=7! 9B778! 2<!

B52B766759#! J25! G2345266:3;!!F! 9B778!2<! B52B766759! K! D38!"! :9!

D8IE9478#! J25! G2345266:3;! "F! 9B778! 2<! B52B766759! L! D38! M! :9!

?28:<:78#! J25! G2345266:3;! #! D38! ,F! 9B778! 2<! D66! 4=7! <2E5!

B52B766759! :9! 9E:4DH6>! D8IE9478#! J2E5! 97BD5D47! N-+9! D57! HE:64!

G25579B238:3;!42!7DG=!BD5D?7475#!OD978!23!4=7!75525!9:;3D69F!

4=7!:3375!622B!N-+9!G2??D38!8:<<75734:D6!@264D;79!:3!25875!42!

57DG=!4=7!974!B2:34#!

-3!4=7!2E475!622BF!<25AD58!D38!9:87AD58!@762G:4:79!P D38 Q!

D57! G234526678! P*R#! K"Q#! '=7! @762G:4:79! G2??D3878! D57! :3! D!

<5D?7!A=:G=! :9!2H4D:378!H>!524D4:3;! 4=7! :3754:D6! <5D?7!H>!##!

,:3G7! D! I2>94:GS! :9! E978! <25! 3D@:;D4:3;! 4=7! TED852425! :4! :9!

<2E38!?257!B5DG4:GD6!42!G2??D38!4=797!@762G:4:79#!OD978!23!

9:?E6D4:23!579E649F!622S!EB!4DH679!D57!<25?E6D478F!42!<:38!HD97!

!! D38!"$ 57RE:578! 42! <6>! D4! D! BD54:GE6D5! @762G:4>#! '=797! HD97!

D3;679!P!

#U

-.

#U

-/

0!D38!"0QF!DG4!D9!974!B2:349!<25!:3375!622B!G2345266759!

2<!!! D38!"#! '=7! 2E475! 622B!N-+9! G2??D38! D88:4:23D6! B:4G=!

P$!Q!D38!5266!P$"Q$D3;679$HD978!23!75525!:3!@762G:4:79F!:3!25875!

42!57DG=!4=7!974!B2:34#!

!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!PK"Q!

# # #U

: : :

# # #U

: : :

V V G29P Q W 9:3P Q

W V 9:3P Q W G29P Q

! " #

! $ " # "

"

N-+!;D:39!2H4D:378!D57!B57973478!:3!'DH67!L!H762AC!

Table 2. PID Gains Table

$234526675! %E4BE4! !!XB X: !!!X8!!!!!!!!! YZKF![Z" \#\]! \! \#\L!

!!!!!!!"! YZMF![ZL \#\]! \! \#\L!

!!!!!!!#!YZKF![ZLF!

YZ"F![ZM\#\\]! \! \#\\M!

!!!!!!!=!YZKF!YZLF!

YZ"F!YZM\#\K! \#\\\^! \#\K!

#U

:V ! [$!! [K#]! [\#\_! \!

! !#U

:W $"! K#]! \#\_! \!

!"1$2-34*5(-&'$

-3! 25875! 42! 4E37! 4=7! G234526675! BD5D?74759F! A7! B75<25?78!

97@75D6!9:?E6D4:239!23!2-34*-'6#!J:594F!4=7!BD5D?74759!2<!:3375!

622B! D57! 4E378#! -3! 4=:9! 9:?E6D4:23! PJ:;#! LQF! 4=7! 4D9S! 2<! 4=7!

G234526675! AD9! 42! 94DH:6:`7! 4=7! 25:734D4:23! D3;679! D4! \\! D38!

D44D:3!,!a!M]!?#!-3:4:D6!G238:4:239!A757C!,!a!"\!?F!"$a$!$a$#$a!

Kb\F!7! a! %! a!&! a! \#! -3:4:D6! 524D4:23D6! 9B778! 2<! B52B766759! :9!

GD6GE6D478!<52?!45:?!G238:4:23!P=2@75!G238:4:23Q#!/!<:c78!947B!

9:`7F!(E3;7[XE44D!926@75F!A:4=!947B!9:`7!974!D9!dDE42eF!:9!E978!

<25! D66! 9:?E6D4:239#! -4! :9! D692! 2H975@78! 4=D4! 4=7! G62978[622B!

579B2397! 2<! 4=7! 9>947?! :9! ?EG=! 962A75! 4=D3! 4=7! 2B73[622B!

579B2397#!

!

J:;#! L#! ,:?E6D4:23! KC! 4=7! 9>947?! =D9! 42! 94DH:6:`7! 4=7!

25:734D4:23! D3;679! D4! \ F! D38! D44D:3!,! a! M]!?F! 94D54:3;! <52?!!!!!

"!a!!!a!#!a!Kb F!D38!,!a!"\!?

\

\

/<475! 4=7! B75<25?D3G7! 2<! :3375! 622B! G2345266759! AD9! <2E38!

9D4:9<DG425>F! 9:?E6D4:239! A757! GD55:78! 2E4! 42! 4E37! 4=7!

BD5D?74759! 2<! 2E475! 622B! G2345266759#! -3! 4=:9! 9:?E6D4:23!!!!!

PJ:;#! "QF! 4=7! 4D9S! 2<! 4=7! G234526675! AD9! 42! 2H4D:3! D! <25AD58!

@762G:4>! P Q! a! K\!?f9! D38! ,! a! ]\!?#! J25! 4=:9! GD97F!?294!

:3:4:D6! G238:4:239!A757! 9D?7! D9! :3!B57@:2E9! 9:?E6D4:23F!A:4=!

4=7! 236>! 8:<<7573G7! 4=D4! :3:4:D6! "$ a$ !$ a$ #$ a! \

#

4>

"Q#!

U

-.

\#! O7:3;! D!

9>??745:G! H28>F! G234526675! <25! 9:87AD58! @762G: ! P#U

-/ Q! :9!

9D?7!D9!4=D4!<25!<25AD58!@762G:4>#!/9!GD3!H7!9773!<52?!J:;9#!

L!D38!"F!D64:4E87!G234526675!:9!96E;;:9=!P&247!4=7!8:<<75734!4:?7!

9GD67!2<!,!@9!':?7!9EHB624!:3!J:;9#!L!D38!

!

J:;#! "#! ,:?E6D4:23! LC! 4=7! 9>947?! =D9! 42! D44D:3! D! <25AD58!

@762G:4>! P Q! a! K\! ?f9F! D38! ,! a! ]\! ?F! 94D54:3;! <52?!!!!!!!!!!

a!\!?f9F!D38!,!a!"\!?!

#

#

U

-.

U

-.

M#!-&'*.(/'*+!0%+*)!

! !!!!

Figure 3: Starting from X′i = 0, and h = 30m, the system stabilizes atforward velocity (X′i ) of 10m/s, and h = 50m

!

!

!

"#$! %&! '()*+,(-+.(#/0! !"#$%&$'()*! +/! #12/! )#*$32! 4,(56.!

)(7*,+.#$! */82$! 9:;! ,(32/)2! ()! *)28!

<6..1=>>???@4,(56.52+$@#$5A@! B/.2$4+3(/5! !"#$%&$'()! ?(.6!

+(&"(,! 2))2/.(+,,C! $2D*($2)! )2/8(/5! .62! ).+.2! '23.#$)! 4$#7!

+(&"(,-.#/0"#12! .#3 !"#$%&$'()@! E! 1$23#/4(5*$28! (/.2$4+32!

F,#3G! ?(.6! 4')567(8'3 9"5826'&! #4!+(&"(,! ()! *)28! 4#$! .6()!

1*$1#)2@! "#$! F2..2$! )1228! +/8! 12$4#$7+/320! +(&"(,! +/8!

!"#$%&$'()3 +$2! $*/! #/! )21+$+.2! HI)@! H$2)2/.,C!?2! +$2! *)(/5!

.62! (/F*(,.!7#82,!#4! +!62,(3#1.2$0!J*$#3#1.2$!F#KLM0! 4#$!%&!

'()*+,(-+.(#/!#4!N*+8$#.#$!(/!!"#$%&$'()@!"(5*$2!O!)6#?)!.62!

F,#3G! 8(+5$+7! #4! 6+$8?+$2! (/.25$+.28! 7#82,@! P62!

(71,272/.+.(#/!#4!3#/.$#,,2$!()!)6#?/!(/!"(5@!M!<,+).!1+52A@!B/!

"(5@! M0!9(6'3 :("0'6! F,#3G! )2.)! !,! +/8!",! $2D*($28! .#! 4,C! +.!

82)($28! +/8 @!;<=635>3?0&')3@557! F,#3G! 3#77+/8)!#!!

+/8! #"@! ;<=63 5>3 <11')3 @557! F,#3G! 3#77+/8)! .62! 4#*$!

'#,.+52)@! .(&0)(&#513 (1A3 B(&'3 @#/#&6! F,#3G! 3#/).$+(/)! .62!

'#,.+52)!3#77+/828@!P62!$2)*,.(/5!'#,.+52)!.62/!5#!+)!(/1*.!

.#!.62!N*+8$#.#$!8C/+7(3!7#82,@!

@Q

#C@Q

#D

P62! ,24.7#).! F,#3G)! (/! "(5)@! O! +/8! M! $21$2)2/.)! R#C).(3G!

(/.2$4+32@! E! ).+/8+$8! 4#$32! 4228F+3G! R#C).(3G! <@5$#&'8%E63

F#1$/(13 .&)#2'3 !5)8'3 G=H! ()! *)28! 4#$! )2..(/5! .62! 82)($28!

'+,*2)! #4 0 0!$! +/8!%@! P6()!?+C!?2! 3+/! 5('2! .62! (/1*.)!

.6$#*56!R#C).(3G!(/!$2+,!.(72!+/8!#F)2$'2!.62!'()*+,(-+.(#/!(/!

!"#$%&$'()@! "(5*$2! S! )6#?)! +! )/+1)6#.! .+G2/! 8*$(/5! .62!

)(7*,+.(#/! (/!!"#$%&$'()! ?62/! .62! 7#82,! ?+)! (/(.(+,(-28! +.!!!!

%!T!KLLL!7@!"#$!'()*+,(-+.(#/!(/!!"#$%&$'()*3.62!(/(.(+,!4$+72!

3##$8(/+.2)!+$2!3#/'2$.28! (/.#! ,+.(.*820! ,#/5(.*82!+/8!62(56.!

+.!.62!1,+32!?62$2!?2!?+/.!.#!)22!.62!'()*+,(-+.(#/@!U2!6+'2!

8#/2!+,,!#*$!'()*+,(-+.(#/!)(7*,+.(#/)!+.!V#7F+C!E($1#$.!:#@!

WXY0!?(.6!(/(.(+,!,+.(.*82!T!KZ@LZ

@Q

#C@Q

#D

L!+/8!,#/5(.*82!T!XW@[[L@!P62!

#.62$! (/1*.)! $2D*($28! .#! F2! 5('2/! .#! !"#$%&$'()! 4#$!

'()*+,(-+.(#/!+$2!.62!.6$22!J*,2$!+/5,2)@!

!

"(5@!O@3V,#3G!8(+5$+7!$21$2)2/.+.(#/!#4!B/.25$+.28!\#82,33

M@!!I]:IY;^B]:!E:&!";P;_J!U]_`!

B/! .6()! 1+12$0! ?2! 1$2)2/.28! .62! 1$#5$2))! 7+82! )#! 4+$0! (/!

82'2,#1(/5! +/! +*.#/#7#*)! N*+8$#.#$@! ]*$! /2a.! (7728(+.2!

5#+,!()!.#!3,#)2!.62!.6($8!,##10!(@2@!.#!82'2,#1!+!3#/.$#,,2$!4#$!

1#)(.(#/!3#/.$#,@!U2!?#*,8!+,)#!,(G2!.#!(71$#'2!.62!),*55()60!

62(56.! 3#/.$#,,2$@! B.! ()! (/.2$2).(/5! .#! /#.2! .6+.! .62! HB&!

3#/.$#,,2$)! )6#?28! )+.()4+3.#$C! $2)*,.)0! +/8! .62$2! ()! /#!/228!

.#!?#$G!#/!82'2,#1(/5!+8'+/32!/#/! ,(/2+$!3#/.$#,,2$)@!]/32!

.62! N*+8$#.#$! +/8! .2).F28! +$2! $2+8C0! ?2! ?(,,! F2! +F,2! .#!

'+,(8+.2!.62!7#82,!+/8!3#/.$#,,2$!#/!$2+,!)C).27@!

!

"(5@!S@!^/+1)6#.!#4!)(7*,+.(#/!(/!",(56.52+$!

_J"J_J:IJ^!

V#*+F8+,,+60!^@0!H@!\*$$(2$(0!+/8!_@!^(25?+$.!<WLLOA@!&2)(5/!

+/8!3#/.$#,!#4!+/!(/8##$!7(3$#!N*+8$#.#$@!<1&')1(&#51("3

I51>')'18'3513B5,5&#863(1A340&5/(&#510!:2?!]$,2+/)0!

;^E@!

V$+7?2,,0! E@! _@! ^@0! 9@! &#/20! +/8! &@! V+,74#$8! <WLLKA@!

9)(/J'""E63 K'"#857&')3 =L1(/#86*! W! 28@0! V*..2$?#$.6!

b2(/27+//0!]a4#$80!;`@!

b+72,0!P@0!_@!\+6#/C0!_@!Y#-+/#0!+/8!c@!]).$#?)G(!<WLLWA@!

&C/+7(3! \#82,(/5! +/8! I#/4(5*$+.(#/! ^.+F(,(-+.(#/! 4#$!

+/! dOe",C2$@! MN&%3 O)#'11#("3 F5)"A3 I51$)'663 5>3

<1&')1(&#51("3 !'A')(&#513 5>3 40&5/(&#83 I51&)5"0!

V+$32,#/+0!^1+(/@!

Y2()67+/0!c@!9@0!O%'39)'$0'&PB#8%'&3Q0(A3B5&5)3K'"#857&')3

5>3MRST0!6..1=>>!???@5,*2@*78@28*>f,2()67+/>E2$#!!

\+6#/C0!_@0!E,.*50!J@0!+/8!]).$#?)G(0! c@!H@! <WLLWA@!I#/.$#,!

#4! +! N*+8$#.#$! b2,(3#1.2$! *)(/5! g()*+,! "228F+3G@!

;)58''A#1$635>3USSU3<VVV3I51>')'18'3513B5,5&#863(1A3

40&5/(&#510!U+)6(/5.#/!&I0!11@!XWeXX@!

:(320!J@!V@! <WLLOA@!&2)(5/!#4!+! 4#*$! $#.#$!6#'2$(/5!'26(3,2@!

\^!.62)()0!I#$/2,,!;/('2$)(.C@!

P+C2F(0!E@!+/8!^@!\39(,'$+C!<WLLSA@!E..(.*82!^.+F(,(-+.(#/!#4!

+! gP]Y! N*+8$#.#$! E($3$+4.@! <VVV3 O)(16(8&#5163 513

I51&)5"3.L6&'/63O'8%15"5$L0!Vol. 140!11@!MSWeMXK@!

P#7,(/0! I@! c@0! c@! ^@! c+/50! ^@! Y@! U+),+/82$0! +/8! 9@! \@!

b#447+//! <WLLMA@! \*,.(eE52/.! N*+8$#.#$! P2).F28!

I#/.$#,! &2)(5/=! B/.25$+,! ^,(8(/5! \#82! ')@!

_2(/4#$3272/.!Y2+$/(/5@!<VVV3<1&')1(&#51("3I51>')'18'3

513<1&'""#$'1&3B5,5&63(1A3.L6&'/6*3E,F2$.+0!I+/+8+0311@!

OS[eOX%@!

!

!

!

!

!

!

!

!

!

! !!!!

Figure 4: Block diagram representation of integrated model

and 3, altitude controller is sluggish (note the different timescale of h vs. Time subplot in Figs. 2 and 3).

4. INTEGRATED MODEL

For 3D visualization, Flightgear [9], an open source flightsimulator under GNU license is used. Interfacing Flight-gear with Matlab essentially requires sending the state vec-tors from Matlab/Simulink to Flightgear. A preconfiguredinterface block with Aerospace Blockset of Matlab is usedfor this purpose. For better speed and performance, Matlaband Flightgear are run on separate PCs. We use the inbuiltmodel of a helicopter, Eurocopter Bo105, for 3D visualiza-tion of Quadrotor in Flightgear. Figure 4 shows the blockdiagram of hardware integrated model. The implementationof controller is shown in Fig. 5. Here, base values blocksets θb and φb required to fly at desired X′i and Y ′i . PIDs ofOuter Loop block commands ∆θ and ∆φ. PIDs of Inner Loopblock commands the four voltages. Saturation and Rate Lim-its block constrains the voltages commanded. The resultingvoltages then go as input to the Quadrotor dynamic model.

The leftmost blocks in Figs. 4 and 5 represents joystickinterface. A standard force feedback joystick is used for set-ting the desired values of X′i , Y ′i , ψ and h. This way we cangive the inputs through joystick in real time and observe thevisualization in Flightgear. Figure 6 shows a snapshot takenduring the simulation in Flightgear when the model is initial-ized at h = 1000m. For visualization in Flightgear, the initial

Proceedings of ICEAE 2009

Page 5: Modeling and Control Simulation for Autonomous Quadrotor GN-070

Rahul Goel, Sapan M. Shah, Nitin K. Gupta, N. Ananthkrishnan!

!

! !!!!

!

!

!

!

!

!

!

!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!

"#$%!&%!'()*+(,!-./,0.0)*1*#()

Figure 5: Controller design for Quadrotor!

!

!

"#$! %&! '()*+,(-+.(#/0! !"#$%&$'()*! +/! #12/! )#*$32! 4,(56.!

)(7*,+.#$! */82$! 9:;! ,(32/)2! ()! *)28!

<6..1=>>???@4,(56.52+$@#$5A@! B/.2$4+3(/5! !"#$%&$'()! ?(.6!

+(&"(,! 2))2/.(+,,C! $2D*($2)! )2/8(/5! .62! ).+.2! '23.#$)! 4$#7!

+(&"(,-.#/0"#12! .#3 !"#$%&$'()@! E! 1$23#/4(5*$28! (/.2$4+32!

F,#3G! ?(.6! 4')567(8'3 9"5826'&! #4!+(&"(,! ()! *)28! 4#$! .6()!

1*$1#)2@! "#$! F2..2$! )1228! +/8! 12$4#$7+/320! +(&"(,! +/8!

!"#$%&$'()3 +$2! $*/! #/! )21+$+.2! HI)@! H$2)2/.,C!?2! +$2! *)(/5!

.62! (/F*(,.!7#82,!#4! +!62,(3#1.2$0!J*$#3#1.2$!F#KLM0! 4#$!%&!

'()*+,(-+.(#/!#4!N*+8$#.#$!(/!!"#$%&$'()@!"(5*$2!O!)6#?)!.62!

F,#3G! 8(+5$+7! #4! 6+$8?+$2! (/.25$+.28! 7#82,@! P62!

(71,272/.+.(#/!#4!3#/.$#,,2$!()!)6#?/!(/!"(5@!M!<,+).!1+52A@!B/!

"(5@! M0!9(6'3 :("0'6! F,#3G! )2.)! !,! +/8!",! $2D*($28! .#! 4,C! +.!

82)($28! +/8 @!;<=635>3?0&')3@557! F,#3G! 3#77+/8)!#!!

+/8! #"@! ;<=63 5>3 <11')3 @557! F,#3G! 3#77+/8)! .62! 4#*$!

'#,.+52)@! .(&0)(&#513 (1A3 B(&'3 @#/#&6! F,#3G! 3#/).$+(/)! .62!

'#,.+52)!3#77+/828@!P62!$2)*,.(/5!'#,.+52)!.62/!5#!+)!(/1*.!

.#!.62!N*+8$#.#$!8C/+7(3!7#82,@!

@Q

#C@Q

#D

P62! ,24.7#).! F,#3G)! (/! "(5)@! O! +/8! M! $21$2)2/.)! R#C).(3G!

(/.2$4+32@! E! ).+/8+$8! 4#$32! 4228F+3G! R#C).(3G! <@5$#&'8%E63

F#1$/(13 .&)#2'3 !5)8'3 G=H! ()! *)28! 4#$! )2..(/5! .62! 82)($28!

'+,*2)! #4 0 0!$! +/8!%@! P6()!?+C!?2! 3+/! 5('2! .62! (/1*.)!

.6$#*56!R#C).(3G!(/!$2+,!.(72!+/8!#F)2$'2!.62!'()*+,(-+.(#/!(/!

!"#$%&$'()@! "(5*$2! S! )6#?)! +! )/+1)6#.! .+G2/! 8*$(/5! .62!

)(7*,+.(#/! (/!!"#$%&$'()! ?62/! .62! 7#82,! ?+)! (/(.(+,(-28! +.!!!!

%!T!KLLL!7@!"#$!'()*+,(-+.(#/!(/!!"#$%&$'()*3.62!(/(.(+,!4$+72!

3##$8(/+.2)!+$2!3#/'2$.28! (/.#! ,+.(.*820! ,#/5(.*82!+/8!62(56.!

+.!.62!1,+32!?62$2!?2!?+/.!.#!)22!.62!'()*+,(-+.(#/@!U2!6+'2!

8#/2!+,,!#*$!'()*+,(-+.(#/!)(7*,+.(#/)!+.!V#7F+C!E($1#$.!:#@!

WXY0!?(.6!(/(.(+,!,+.(.*82!T!KZ@LZ

@Q

#C@Q

#D

L!+/8!,#/5(.*82!T!XW@[[L@!P62!

#.62$! (/1*.)! $2D*($28! .#! F2! 5('2/! .#! !"#$%&$'()! 4#$!

'()*+,(-+.(#/!+$2!.62!.6$22!J*,2$!+/5,2)@!

!

"(5@!O@3V,#3G!8(+5$+7!$21$2)2/.+.(#/!#4!B/.25$+.28!\#82,33

M@!!I]:IY;^B]:!E:&!";P;_J!U]_`!

B/! .6()! 1+12$0! ?2! 1$2)2/.28! .62! 1$#5$2))! 7+82! )#! 4+$0! (/!

82'2,#1(/5! +/! +*.#/#7#*)! N*+8$#.#$@! ]*$! /2a.! (7728(+.2!

5#+,!()!.#!3,#)2!.62!.6($8!,##10!(@2@!.#!82'2,#1!+!3#/.$#,,2$!4#$!

1#)(.(#/!3#/.$#,@!U2!?#*,8!+,)#!,(G2!.#!(71$#'2!.62!),*55()60!

62(56.! 3#/.$#,,2$@! B.! ()! (/.2$2).(/5! .#! /#.2! .6+.! .62! HB&!

3#/.$#,,2$)! )6#?28! )+.()4+3.#$C! $2)*,.)0! +/8! .62$2! ()! /#!/228!

.#!?#$G!#/!82'2,#1(/5!+8'+/32!/#/! ,(/2+$!3#/.$#,,2$)@!]/32!

.62! N*+8$#.#$! +/8! .2).F28! +$2! $2+8C0! ?2! ?(,,! F2! +F,2! .#!

'+,(8+.2!.62!7#82,!+/8!3#/.$#,,2$!#/!$2+,!)C).27@!

!

"(5@!S@!^/+1)6#.!#4!)(7*,+.(#/!(/!",(56.52+$!

_J"J_J:IJ^!

V#*+F8+,,+60!^@0!H@!\*$$(2$(0!+/8!_@!^(25?+$.!<WLLOA@!&2)(5/!

+/8!3#/.$#,!#4!+/!(/8##$!7(3$#!N*+8$#.#$@!<1&')1(&#51("3

I51>')'18'3513B5,5&#863(1A340&5/(&#510!:2?!]$,2+/)0!

;^E@!

V$+7?2,,0! E@! _@! ^@0! 9@! &#/20! +/8! &@! V+,74#$8! <WLLKA@!

9)(/J'""E63 K'"#857&')3 =L1(/#86*! W! 28@0! V*..2$?#$.6!

b2(/27+//0!]a4#$80!;`@!

b+72,0!P@0!_@!\+6#/C0!_@!Y#-+/#0!+/8!c@!]).$#?)G(!<WLLWA@!

&C/+7(3! \#82,(/5! +/8! I#/4(5*$+.(#/! ^.+F(,(-+.(#/! 4#$!

+/! dOe",C2$@! MN&%3 O)#'11#("3 F5)"A3 I51$)'663 5>3

<1&')1(&#51("3 !'A')(&#513 5>3 40&5/(&#83 I51&)5"0!

V+$32,#/+0!^1+(/@!

Y2()67+/0!c@!9@0!O%'39)'$0'&PB#8%'&3Q0(A3B5&5)3K'"#857&')3

5>3MRST0!6..1=>>!???@5,*2@*78@28*>f,2()67+/>E2$#!!

\+6#/C0!_@0!E,.*50!J@0!+/8!]).$#?)G(0! c@!H@! <WLLWA@!I#/.$#,!

#4! +! N*+8$#.#$! b2,(3#1.2$! *)(/5! g()*+,! "228F+3G@!

;)58''A#1$635>3USSU3<VVV3I51>')'18'3513B5,5&#863(1A3

40&5/(&#510!U+)6(/5.#/!&I0!11@!XWeXX@!

:(320!J@!V@! <WLLOA@!&2)(5/!#4!+! 4#*$! $#.#$!6#'2$(/5!'26(3,2@!

\^!.62)()0!I#$/2,,!;/('2$)(.C@!

P+C2F(0!E@!+/8!^@!\39(,'$+C!<WLLSA@!E..(.*82!^.+F(,(-+.(#/!#4!

+! gP]Y! N*+8$#.#$! E($3$+4.@! <VVV3 O)(16(8&#5163 513

I51&)5"3.L6&'/63O'8%15"5$L0!Vol. 140!11@!MSWeMXK@!

P#7,(/0! I@! c@0! c@! ^@! c+/50! ^@! Y@! U+),+/82$0! +/8! 9@! \@!

b#447+//! <WLLMA@! \*,.(eE52/.! N*+8$#.#$! P2).F28!

I#/.$#,! &2)(5/=! B/.25$+,! ^,(8(/5! \#82! ')@!

_2(/4#$3272/.!Y2+$/(/5@!<VVV3<1&')1(&#51("3I51>')'18'3

513<1&'""#$'1&3B5,5&63(1A3.L6&'/6*3E,F2$.+0!I+/+8+0311@!

OS[eOX%@!

!

!

!

!

!

!

!

!

!

! !!!!

Figure 6: Snapshot of simulation in Flightgear

frame coordinates are converted into latitude, longitude andheight at the place where the visualization is required. Theother inputs required to be given to Flightgear for visualiza-tion are the three Euler angles.

5. EXPERIMENTAL SETUP AND RESULTS

Once the base studies on modeling and control design for aquadrotor platform are completed, the next task is to conductexperiments and implement the control algorithm on a flyingplatform. Towards this objective a quadrotor model was con-structed and it was interfaced with an autopilot developed atCoral Digital Technologies, Bangalore. The first set of ex-periments are conducted on a 3-DOF test-rig, allowing onlyrotations, in order to test the attitude stabilization capabilityof the vehicle. Once sufficient confidence is gained in atti-tude stabilization, free flights are conducted and autonomoushover is demonstrated.

The quadrotor is designed using X-UFO (commerciallyavailable model) as the baseline. To improve the lifting capa-bility of X-UFO, the brushed motors are replaced with brush-less motors. The final version, capable of lifting autopilot andsuitable battery pack, weighs 320 grams (including battery,autopilot), and has an additional 40 grams payload capabil-ity. The length and width of this prototype are 65 cm, each.

5.1. Hardware DesignThe autopilot uses a single 16 bit 24HJ series PIC mi-

crocontroller for all the computations, communication, and

Figure 7: Autopilot architecture

Figure 8: Flow diagram of autopilot algorithm in manual mode

switching between manual and auto modes. The navigationalgorithm used three gyros and two accelerometers to esti-mate orientation. Altitude and velocity are estimated usingpressure sensors, and position is obtained using the GPS. AZigbee modem is used for communication with the groundcontrol station during flight. An onboard SD card recordsseveral parameters at 50Hz during flight for post flight anal-ysis of flight data. The autopilot hardware architecture alongwith key interfaces and communication protocols used is il-lustrated in Fig. 7.

The ground control station (GCS) is capable of updatingway-points and PID gains during flight. GCS receives datafrom the autopilot in order to monitor vehicle trajectory andother key parameters during flight.

The autopilot design incorporates switching between autoand manual model for safety during flight tests. The flow di-agram of the autopilot algorithm in manual mode is shown inFig. 8. The rate feedback loop is part of the vehicle dynam-

Proceedings of ICEAE 2009

Page 6: Modeling and Control Simulation for Autonomous Quadrotor GN-070

Development of an Autonomous Quadrotor

Figure 9: Schematic of controller in autonomous mode

Figure 10: Quadrotor mounted on a 3-DOF test rig

ics, i.e., even in the manual mode, a rate feedback controllercontinues to work. It would be impossible to fly a quadrotormanually if such a rate feedback is not provided to assist thepilot. Such an architecture also allows to selectively assignany of the four inputs (thrust, roll, pitch, yaw) to manual orauto modes. The outputs of the autopilot correspond to eleva-tor, aileron, rudder, and throttle inputs. These are convertedinto motor RPM commands by the channel splitting block.The schematic of autonomous controller is shown in Fig. 9.

5.2. Indoor Attitude Stabilization ResultsThe vehicle with autopilot is mounted on a 3-DOF test rig

as shown in Fig. 10. The autopilot (mounted on the vehicle)is connected to the PC to monitor attitudes and control actionin real-time. The yaw degree of freedom is restricted, andcontroller performance in pitch and roll is evaluated.

Figs. 11 and 12 show the test rig results. In this case, theexperiment is started with autopilot in manual mode, and is

Figure 11: Pitch angle of the quadrotor on 3-DOF test rig

Figure 12: Roll angle of the quadrotor on 3-DOF test rig

switched to auto mode at t = 19s. During the entire experi-ment, the desired roll and pitch are kept at zero, and a con-stant thrust is maintained. The spikes in Figs. 11 and 12 rep-resent the manual disturbance imparted to the system to testthe controller robustness. The controller is observed to per-form well and reject disturbances suitably in pitch and roll.

5.3. Free Flight ResultsThe free flight experiments are conducted with the aim of

achieving autonomous hover (attitude stabilization and con-trol). During these experiments, only the thrust controlled inmanual mode by the pilot. The results for attitude stabiliza-tion and control are shown in Figs. 13 and 14. The dottedlines represent the commanded value and the solid lines rep-resent the measured attitude of the vehicle. A satisfactoryperformance in attitude stabilization is obtained, and the ve-hicle is able to keep itself afloat in hover with no active pilotinputs. Slow drift in position is observed which could beeliminated once the outer control loop is closed using posi-tion feedback.

6. CONCLUSION AND FUTURE WORK

In this paper, we have presented an approach for model-ing the quadrotor RUMAV, simulation and 3D visualization,controller design, and its implementation on hardware. Thecontroller is shown to work well for attitude stabilization andcontrol during a free flight experiment.

The next stage of work will involve closing the outer con-trol loop, and testing the way-point navigation on this plat-form.

Proceedings of ICEAE 2009

Page 7: Modeling and Control Simulation for Autonomous Quadrotor GN-070

Rahul Goel, Sapan M. Shah, Nitin K. Gupta, N. Ananthkrishnan

Figure 13: Pitch angle of the quadrotor during free flight experiment

Figure 14: Roll angle of the quadrotor during free flight experiment

ACKNOWLEDGMENTS

The authors would like to acknowledge the contributionby Cdr. V.S. Renganathan and Mr. Srikanth towards develop-ment of autopilot hardware, and Mr. Shyam for helping withthe flight tests.

REFERENCES

[1] J. G. Leishman. The Breguet-Richet Quad Rotor Helicopter of 1907,http://www.glue.umd.edu/∼leishman/Aero, accessed Jan. 2009.

[2] S. Bouabdallah, P. Murrieri, and R. Siegwart. Design and control ofan indoor micro Quadrotor, International Conference on Robotics andAutomation, New Orleans, USA, 2004.

[3] T. Hamel, R. Mahony, R. Lozano, and J. Ostrowski. Dynamic Mod-eling and Configuration Stabilization for an X4-Flyer, 15th Trien-nial World Congress of International Federation of Automatic Control,Barcelona, Spain, 2002.

[4] R. Mahony, E. Altug, and J. P. Ostrowski. Control of a Quadrotor Heli-copter using Visual Feedback, Proceedings of 2002 IEEE Conferenceon Robotics and Automation, Washington DC, pp. 72-77, 2002.

[5] E. B. Nice. Design of a four rotor hovering vehicle, MS thesis, CornellUniversity, 2004.

[6] A. Tayebi, and S. McGilvray. Attitude Stabilization of a VTOLQuadrotor Aircraft, IEEE Transactions on Control Systems Technol-ogy, Vol. 14, pp. 562-571, 2006.

[7] C. J. Tomlin, J. S. Jang, S. L. Waslander, and G. M. Hoffmann. Multi-Agent Quadrotor Testbed Control Design: Integral Sliding Mode vs.Reinforcement Learning, IEEE International Conference on Intelli-gent Robots and Systems, Alberta, Canada, pp. 468-473, 2005.

[8] A. R. S. Bramwell, G. Done, and D. Balmford. Bramwells HelicopterDynamics, 2nd ed., Butterworth Heinemann, Oxford, UK, 2001.

[9] http://www.flightgear.org, accessed Jan. 2009.

Rahul Goel Rahul Goel completed his B. Tech.in Aerospace Engineering from IIT Bombay,and is currently pursuing his Masters at Aero-Astro Department of MIT, USA. His current re-search interests include human space flight, hu-

man factors engineering, space systems design, dynamics,modeling and simulation, Finite Element Analysis.

Sapan Shah has a postgraduate degree from IIT Bombay,and is currently working for Whirlybrid Electronics Pvt. Ltd.at Mumbai. He has a very keen interest in UAVs/MAVs, au-tomation and embedded systems.

Nitin Kumar Gupta holds post graduate de-grees from IIT Bombay and University of Mary-land, USA. He is currently serving as the Direc-tor and CEO at IDeA Research, a commercialR&D lab based in Pune. His research interests

include dynamics, modeling, simulation, controls, and em-bedded systems.

Dr. Ananthkrishnan has served on the facultyat IIT Bombay and CalTech, USA. After spend-ing over 15 years in academia, he continues toactively contribute to research as a member ofthe board of directors at IDeA Research, Tetra-

hedrix Engineering and Coral Digital Technologies. His re-search interests include nonlinear dynamics, aerodynamics,control systems, and systems design.

Proceedings of ICEAE 2009