You are on page 1of 17

Elective in Robotics

Quadrotor Modeling
(Marilena Vendittelli)

Introduction
Modeling
Control Problems
Models for control
Main control approaches
Elective in Robotics - Quadrotor Modeling (M.Vendittelli)

Hummingbird

DraganFlyer X4

CEA Quadrotor

Mesicopter

Stanford University

Draganfly Innovations Inc.

Ascending Technologies GmbH

applications
surveying, maintenance
aerial transportation, manipulation
communication networks
search and rescue operations
all these activities require
vertical, stationary, slow flight
Pelican
a quadrotor is characterized by
high maneuverability
vertical take-off and landing (VTOL)
hovering capabilities

microdrones GmbH

STARMAC

Stanford University

MIT in coll. with Ascending Technologies GmbH

Elective in Robotics - Quadrotor Modeling (M.Vendittelli)

...

NanoQuad
KMel Robotics

four motors located at the extremities of a cross-shaped frame


controlled by varying the angular speed of each rotor

Elective in Robotics - Quadrotor Modeling (M.Vendittelli)

actuation

u = (T,u=, (T,
, ), , )

force distribution

f1

f2
R,2

R,1

!1

!2

2 1, . . . , 4
fi = b fi2i = bi=
i = 1, . . . , 4
i

R,i = di2 = d 2
R,i
i
f4

f3

b thrust factor, d drag factor


both depend on the rotor

!4

!3

R,4

R,3

geometry and profile, its disk area


and radius and on air density
can be determined by static
thrust test

motor control

a low level controller stabilizes the rotational speed of each blade


!d

C(s)

Elective in Robotics - Quadrotor Modeling (M.Vendittelli)

Table 1. List of symbols

configuration

s possible if we

x, y, z
xb , y b , z b
, ,
[X, Y, Z]T
p, t
V

Inertial frame axes


Body frame axes
Euler angles Z,Y,X '
two steps. In a
Position vector w.r.t. an inertial frame
enerates control
xb
Pan
and
tilt
angles
SRB for actuated camera
aw control input
Vector of vehicle linear
w.r.t. an inertial frame
yb velocities
r the roll angle, x
#

Vector
of
vehicle
angular
velocities
w.r.t. an inertial frame
SRI
zb on image plane
y s = [s1 , s2 ]
Target coordinates
sd = [sd1 , sd2 ]
Target desired position on image plane
(16)
z
Tib
Transformation matrix from UAV body frame to inertial frame
Tbc
Transformation matrix from camera frame to UAV body frame
H
Transformation matrix from camera frame to point feature
g
Gravity acceleration
(17)
T
Aircraft speed along x body axis
B Analytical Jacobian
I
J
Ji
Interaction Matrix
we can close a
Jc
Jacobian sub-matrix relative to control inputs
e:
B
I
Jc
Right pseudo-inverse of Jc
Jd
Jacobian sub-matrix relative to variables causing drift
(18)

(x, y, z) position of SR

origin in SR

(', #, ) RPY angles expressing the orientation of SR

by the block dision implements


ol stands for eq.

RB =

c c c s s s c c s c + s s
s c s s s + c c s s c s c
s
c s
c c

Elective in Robotics - Quadrotor Modeling (M.Vendittelli)

w.r.t. SR

(22)

nalytical
Jacobian
, ]sd2s
] Target
Target
desired
position
on image
plane
s s s(16)
+ c csssd==[s
s[s
c
c
(22)
d1

,
s
coordinates
on
image
plane
1 2
teraction
Matrix
Tib
Transformation
matrix from
body
frame to inertial fram
fUAV
1
c
s
c
c
s
=
[s
,
s
]
Target
desired
position
on
image
plane

f
d
d1 d2
2
R,1frame to UAV body fram
(16)
cobian
sub-matrix
relative
inputs
Tbc to control
Transformation
matrix from camera
Tib
Transformation matrix from UAV body frame to inertial

,2
Transformation matrix from camera frame to point feature
of
JH
ght pseudo-inverse

c
Tbc
matrix from !
camera
frame to UAV body
! Transformation
1
1
0
s

g
Gravity
acceleration
2
cobian sub-matrix relative to variables
causing drift '
H
Transformation
matrix
fromaxis
camera frame to point featur

c c s T
= 0(17)
Aircraft (23)
speed along
x body
xb
g
Gravity
acceleration

J
Analytical Jacobian
SRB
0
s
c
c

f4
(17)
T Ji
Aircraft
speed
alongybx body axis
f
3
Interaction
Matrix
x

#
can
close
a

Jacobian
c s s SR
sI c c sJJcc + sAnalytical
sJacobian
sub-matrix relative to control inputs

zb
y J
Matrix of Jc !4
Jc
sclose
sInteraction
cRight
(22)
!3 pseudo-inverse
c
s sa+ c c s si

relativetotovariables
control causing
inputs drift
Jacobian sub-matrix
sub-matrix relative
(18)
VIc=
zy,
z)
JcJdc c Jacobian
s(x,
Jc R,3
Right pseudo-inverse of Jc
R,4
c cJacobian
s c crelative
s
s

c s ssub-matrix

s c +
e block

diaJ
to
variables
causing drift
(18)
I d

equation of motion

M
+a rigid

Jbody
(24)
0
s
dynamics
with
mass
m
subject
s
c
s
s
s
s s c forces
s c applied
B =1J of
R
=
(22)to the

+ c cto
external
B
implements

cmass
s
to
= for0ofeq.
(23)
s c s sc
ccc+ s s
c
center
according
Newton-Eulero
formalism
c
c
c
c
s
s s

ands
block di0 s cI R
cB = s c s
s s + c c s s c s c
(22)
plements
FI = mV I
(23)
translational dynamics in SRI
s
c s
c c
ds for eq. 1
=
FI applied to the com and expressed in SRI
FVI Iexternal
force
m
T
expressed
in SRI
=
(
x,

y,

z)

VI = (vx , vy , vz ) velocity of theVcom


I

+ J
M
=
J
(23)
rotational
dynamics
in
SR
B
B
1

J MB )
(24)
JMB (= J +
J +
MB, J resp. external moment around com and inertia tensor expressed in SRB

1
in SR
=( p, q, r) rotational velocity expressed
V I (25)
=
FI B
m
Elective in Robotics
Quadrotor
Modeling
(M.
Vendittelli)
1

c c c s s s c c s c + s s
ented by the
block
diLmatrix
rotational
M
+ and
+ IAR+B=

B =
D
inertia
svelocity
s c
c s s s + c c s s c
inversion 0implements

s
c s
c c
control stands for eq.

p
1 0
s
Ix 0 0

= q = 0 c c s
J = 0 Iy 0
r
0 s c c
0 0 Iz

control inputs

f2

T = f1+f2+f3+f4

d method

R,2

VI = (x,
y,
z)
T
MB = J +

J f1

R,1

!1

1
' F
T
V I =
I
mxb
SRB
f4
f3
yb
= J 1 ( J +#
MB )

=
l(f
f
)
'
2
4
n, the Visual servoing

(note the substitution

# = l(f1f3)

zb

=( p, q,l r)T

T = R,1 +R,2R,3+R,4 ,3
(19)

)
(p, q, r)
( , ,
in Robotics - Quadrotor Modeling (M.Vendittelli)
Elective
R

R,4

applied forces

)
T(p, q, r)
(

,
,
and
=( p, moments
q, r)

(25)

0
0

,I)
r)
0 ( ,+
0 + FA + FD
FI =
RB( (p,
, ,q,)
mg
T

0
0 + F + F

0weight+ I RL
FI =
(
,
,
)
B
A
D
actuation
aerodynamics
disturbances
MB = L + T+ A + D
mg
0


L

Ix 0 0
MB = L + + A + D
J0 = 0 Iy 0
L
0 0 Iz

Ix 0 0
gyroscopicJeffects
= 0 Iy 0
'
T
0 0 Iz

Elective in Robotics - Quadrotor Modeling (M.Vendittelli)

Iy Ix

Ix

Iy

mathematical
model
of
the
system
= =
=

I
y =

x = vx

=
Iz

y = vy
z = vz
v x = FA,x

T
(cos() sin() cos() + sin() sin())
m

v y = FA,y

(sin() sin() cos()

v z = FA,z + g

cos() cos()

sin()r

Ir
q
Ix

r +

q = A,y +

Ir
p
Iy

r +

Ix

Iy

r = A,z +

Iz

= f ( ) +g(
= f) u
( ) + g( ) u
state

= x,
(x,
vx,
, vy,
, vp,
,r)
, , p, q, r)
z , q,
y, z,
y,
y,z,
z,,

u = (T, u, = ,(T,
) , , )
r

= sin() sec()q + cos() sec()r


p = A,x +

Iy

Iz

qr +

Ix

Ix

pr +

Iy

Ix
Iz
Iy

pq +

average blades rotation velocity

m
T =
[g
Ir blades inertia
cos() cos()

Iz

= f ( ) + g( ) u

= f ( ) + g( ) u

inputs

T
m

= p + sin() tan()q + cos() tan()r


= cos()q

=
Iz

T
=m(x,

sin() cos())

Iz

Iy

Elective in Robotics - Quadrotor Modeling (M.Vendittelli)

Kzp (zd

z)

m
T =
[g Kzp (zd
cos() cos()
xd (t) = cos t
yd (t) = sin t

t
zd (t)xd (t)
= 1=
+ cos t
10

yd (t)

sin t
10

=( p, q, r)
simplified
model
for
control
design
section, the Visual servoing
action
(note the substitution assuming
negligible

r): aerodynamics
(

,
,
)
(p, q, r)
small
'
and
#
)

symmetric
shape
effects

gyroscopic

T
negligible disturbances

0
0
Jd
(19)

I
T
0
0
F
=
+
RB ( , , )
I sin() sin())
x
= (cos() sin() cos() +

mg m
T
0
K >0
T
p /2

y = (sin() sin() cos() sin() cos())
>0

m L

0
MB = L + + A
T
z = cos()
orm a circular trajectory
we cos() m + g
0

nput u a feedforward term

=
is such that:
Ix
/2

=
Iy(20)
0
0

Iz

Elective in Robotics - Quadrotor Modeling (M.Vendittelli)

11

control and planning problems

attitude control
eight control
position control
trajectory planning
trajectory tracking
sensor-based control
Elective in Robotics - Quadrotor Modeling (M.Vendittelli)

12

control system

attitude
control

', #,

'd, #d, d

position
control

Elective in Robotics - Quadrotor Modeling (M.Vendittelli)

xd, yd, zd

13

fi =control
attitude
2
b i

i = 1, . . . , 4

determine the torques ', #, necessary to obtain a stable desired attitude 'd, #d, d

R,i = d i2
= [Kp (d ) + Kd ( d

= [Kp (d

= [K

) + Kd ( d

p (d

) + K

d (d

)]

)]

)]

height control
determine the thrust T necessary to bring and keep the quadrotor to a desired
height zd ) from the z dynamics:

m
T =
[g + zd + Kzp (zd
cos(#) cos(')

z) + Kzd (zd

IMU = + b + 2 SRB

Elective in Robotics - Quadrotor Modeling (M.Vendittelli)

z)]

14

simulation results: error


' error

# error

error

z error

Elective in Robotics - Quadrotor Modeling (M.Vendittelli)

16
15

simulation results: control inputs

'

Elective in Robotics - Quadrotor Modeling (M.Vendittelli)

16

advanced nonlinear control techniques guarantee better


convergence and robustness performance
exteroceptive sensors (camera, laser, sonar) allow
indoor flight and can be used to obtain an accurate
estimation of the system state

References
R. Mahony, V. Kumar, P. Corke, "Multirotor Aerial Vehicles: Modeling, Estimation, and Control of
Quadrotor," IEEE Robotics & Automation Magazine, vol.19, no.3, pp. 20-32, Sept. 2012.

Elective in Robotics - Quadrotor Modeling (M.Vendittelli)

17