IEEE Robotics & Automation Magazine - September 2010 - 58

2 3 2
p
ch
4q5 ¼ 4 0
r
sh

F2
F3

M2
L

zB yB

M3

xB

F1

F4

M1
M4

mg

zW

r

yW
xW

Figure 2. Coordinate systems and forces/moments acting on a
quadrotor frame.

axes xW , yW , and zW , with zW pointing upward. The body
frame, B, is attached to the center of mass of the quadrotor,
with xB coinciding with the preferred forward direction and
zB perpendicular to the plane of the rotors pointing vertically
up during perfect hover (see Figure 2). Rotor 1 is on the positive xB axis, Rotor 2 on the positive yB axis, Rotor 3 on the
negative xB axis, and Rotor 4 on the negative yB axis. We use
Z À X À Y Euler angles to model the rotation of the quadrotor in the world frame. To get from W to B, we first rotate
about zW by the yaw angle, w, then rotate about the intermediate x axis by the roll angle, /, and finally rotate about the yB
axis by the pitch angle, h. The rotation matrix for transforming
the coordinates from B to W is given by
2

cwch À s/swsh
R ¼ 4 chsw þ cws/sh
Àc/sh

3

Àc/sw
c/cw
s/

cwsh þ chs/sw
swsh À cwchs/ 5,
c/ch

In addition to forces, each rotor produces a moment perpendicular to the plane of rotation of the blade, Mi . Rotors 1 and
3 rotate in the ÀzB direction while Rotors 2 and 4 rotate in
the zB direction. Since the moment produced on the quadrotor is opposite to the direction of rotation of the blades, M1
and M3 act in the zB direction while M2 and M4 act in the
ÀzB direction. We let L be the distance from the axis of rotation of the rotors to the center of the quadrotor. The moment
of inertia matrix referenced to the center of mass along the
xB À yB À zB axes, I, is found by weighing the individual
components of the quadrotor and building a physically accurate model in SolidWorks. The angular acceleration determined by the Euler equations is
2 3 2
3 2 3 2 3
L(F2 À F4 )
p
p
p_
5 À 4 q 5 3 I 4 q 5: (2)
I 4 q_ 5 ¼ 4
L(F3 À F1 )
r
M1 À M2 þ M3 À M4
r
r_
Motor Model
Each rotor has an angular speed xi and produces a vertical
force Fi according to
Fi ¼ kF x2i :

(3)

Experimentation with a fixed rotor at steady state shows that
kF % 6:11 3 10À8 N=(r=min2 ). The rotors also produce a
moment according to

where ch and sh denote cos (h) and sin (h), respectively, similarly for / and w. The position vector of the center of mass in
the world frame is denoted by r. The forces on the system are
gravity in the ÀzW direction and the forces from each of the
rotors, Fi , in the zB direction. The equation governing the
acceleration of the center of mass is
2
3
3
0
0
m€r ¼ 4 0 5 þ R4 0 5:
Àmg
RFi

32 3
0 Àc/sh
/_
1
s/ 54 h_ 5:
0 c/ch
w_

2

(1)

The components of angular velocity of the robot in the body
frame are p, q, and r. These values are related to the derivatives of
the roll, pitch, and yaw angles according to

Mi ¼ kM x2i :

(4)

The constant, kM , is determined to be about 1:5 3 10À9
N Á m=(r=min2 ) by matching the performance of the simulation to the real system.
The results of a system-identification exercise suggest that
the rotor speed is related to the commanded speed by a firstorder differential equation
x_ i ¼ km (wides À wi ):
This motor gain, km , is found to be about 20 sÀ1 by matching
the performance of the simulation to the real system. The
desired angular velocities, xdes
i , are limited to a minimum and
maximum value determined through experimentation to be
approximately 1,200 and 7,800 r=min.

Robot Controllers
ΔωF

r T (t)
r(t )

Position
Control

φ des(t )
θ des(t )
ψ des(t )

··r

Attitude
Control

1

Δωφ
Δωθ
Δωψ
1

Ti, Mi Rigid-Body
Motor
Dynamics
Dynamics

·
·
·
p (t ), q(t ), r (t )

Figure 3. The nested control loops for position and attitude control.
58

IEEE Robotics & Automation Magazine

Each robot is controlled independently
by nested feedback loops, as shown in
Figure 3. The inner attitude control loop
uses onboard accelerometers and gyros
to control the roll, pitch, and yaw angles
and runs at approximately 1 kHz [5],
while the outer position control loop
uses the estimates of position and velocity of the center of mass to control the
SEPTEMBER 2010



Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - September 2010

IEEE Robotics & Automation Magazine - September 2010 - Cover1
IEEE Robotics & Automation Magazine - September 2010 - Cover2
IEEE Robotics & Automation Magazine - September 2010 - 1
IEEE Robotics & Automation Magazine - September 2010 - 2
IEEE Robotics & Automation Magazine - September 2010 - 3
IEEE Robotics & Automation Magazine - September 2010 - 4
IEEE Robotics & Automation Magazine - September 2010 - 5
IEEE Robotics & Automation Magazine - September 2010 - 6
IEEE Robotics & Automation Magazine - September 2010 - 7
IEEE Robotics & Automation Magazine - September 2010 - 8
IEEE Robotics & Automation Magazine - September 2010 - 9
IEEE Robotics & Automation Magazine - September 2010 - 10
IEEE Robotics & Automation Magazine - September 2010 - 11
IEEE Robotics & Automation Magazine - September 2010 - 12
IEEE Robotics & Automation Magazine - September 2010 - 13
IEEE Robotics & Automation Magazine - September 2010 - 14
IEEE Robotics & Automation Magazine - September 2010 - 15
IEEE Robotics & Automation Magazine - September 2010 - 16
IEEE Robotics & Automation Magazine - September 2010 - 17
IEEE Robotics & Automation Magazine - September 2010 - 18
IEEE Robotics & Automation Magazine - September 2010 - 19
IEEE Robotics & Automation Magazine - September 2010 - 20
IEEE Robotics & Automation Magazine - September 2010 - 21
IEEE Robotics & Automation Magazine - September 2010 - 22
IEEE Robotics & Automation Magazine - September 2010 - 23
IEEE Robotics & Automation Magazine - September 2010 - 24
IEEE Robotics & Automation Magazine - September 2010 - 25
IEEE Robotics & Automation Magazine - September 2010 - 26
IEEE Robotics & Automation Magazine - September 2010 - 27
IEEE Robotics & Automation Magazine - September 2010 - 28
IEEE Robotics & Automation Magazine - September 2010 - 29
IEEE Robotics & Automation Magazine - September 2010 - 30
IEEE Robotics & Automation Magazine - September 2010 - 31
IEEE Robotics & Automation Magazine - September 2010 - 32
IEEE Robotics & Automation Magazine - September 2010 - 33
IEEE Robotics & Automation Magazine - September 2010 - 34
IEEE Robotics & Automation Magazine - September 2010 - 35
IEEE Robotics & Automation Magazine - September 2010 - 36
IEEE Robotics & Automation Magazine - September 2010 - 37
IEEE Robotics & Automation Magazine - September 2010 - 38
IEEE Robotics & Automation Magazine - September 2010 - 39
IEEE Robotics & Automation Magazine - September 2010 - 40
IEEE Robotics & Automation Magazine - September 2010 - 41
IEEE Robotics & Automation Magazine - September 2010 - 42
IEEE Robotics & Automation Magazine - September 2010 - 43
IEEE Robotics & Automation Magazine - September 2010 - 44
IEEE Robotics & Automation Magazine - September 2010 - 45
IEEE Robotics & Automation Magazine - September 2010 - 46
IEEE Robotics & Automation Magazine - September 2010 - 47
IEEE Robotics & Automation Magazine - September 2010 - 48
IEEE Robotics & Automation Magazine - September 2010 - 49
IEEE Robotics & Automation Magazine - September 2010 - 50
IEEE Robotics & Automation Magazine - September 2010 - 51
IEEE Robotics & Automation Magazine - September 2010 - 52
IEEE Robotics & Automation Magazine - September 2010 - 53
IEEE Robotics & Automation Magazine - September 2010 - 54
IEEE Robotics & Automation Magazine - September 2010 - 55
IEEE Robotics & Automation Magazine - September 2010 - 56
IEEE Robotics & Automation Magazine - September 2010 - 57
IEEE Robotics & Automation Magazine - September 2010 - 58
IEEE Robotics & Automation Magazine - September 2010 - 59
IEEE Robotics & Automation Magazine - September 2010 - 60
IEEE Robotics & Automation Magazine - September 2010 - 61
IEEE Robotics & Automation Magazine - September 2010 - 62
IEEE Robotics & Automation Magazine - September 2010 - 63
IEEE Robotics & Automation Magazine - September 2010 - 64
IEEE Robotics & Automation Magazine - September 2010 - 65
IEEE Robotics & Automation Magazine - September 2010 - 66
IEEE Robotics & Automation Magazine - September 2010 - 67
IEEE Robotics & Automation Magazine - September 2010 - 68
IEEE Robotics & Automation Magazine - September 2010 - 69
IEEE Robotics & Automation Magazine - September 2010 - 70
IEEE Robotics & Automation Magazine - September 2010 - 71
IEEE Robotics & Automation Magazine - September 2010 - 72
IEEE Robotics & Automation Magazine - September 2010 - 73
IEEE Robotics & Automation Magazine - September 2010 - 74
IEEE Robotics & Automation Magazine - September 2010 - 75
IEEE Robotics & Automation Magazine - September 2010 - 76
IEEE Robotics & Automation Magazine - September 2010 - 77
IEEE Robotics & Automation Magazine - September 2010 - 78
IEEE Robotics & Automation Magazine - September 2010 - 79
IEEE Robotics & Automation Magazine - September 2010 - 80
IEEE Robotics & Automation Magazine - September 2010 - 81
IEEE Robotics & Automation Magazine - September 2010 - 82
IEEE Robotics & Automation Magazine - September 2010 - 83
IEEE Robotics & Automation Magazine - September 2010 - 84
IEEE Robotics & Automation Magazine - September 2010 - 85
IEEE Robotics & Automation Magazine - September 2010 - 86
IEEE Robotics & Automation Magazine - September 2010 - 87
IEEE Robotics & Automation Magazine - September 2010 - 88
IEEE Robotics & Automation Magazine - September 2010 - 89
IEEE Robotics & Automation Magazine - September 2010 - 90
IEEE Robotics & Automation Magazine - September 2010 - 91
IEEE Robotics & Automation Magazine - September 2010 - 92
IEEE Robotics & Automation Magazine - September 2010 - 93
IEEE Robotics & Automation Magazine - September 2010 - 94
IEEE Robotics & Automation Magazine - September 2010 - 95
IEEE Robotics & Automation Magazine - September 2010 - 96
IEEE Robotics & Automation Magazine - September 2010 - 97
IEEE Robotics & Automation Magazine - September 2010 - 98
IEEE Robotics & Automation Magazine - September 2010 - 99
IEEE Robotics & Automation Magazine - September 2010 - 100
IEEE Robotics & Automation Magazine - September 2010 - 101
IEEE Robotics & Automation Magazine - September 2010 - 102
IEEE Robotics & Automation Magazine - September 2010 - 103
IEEE Robotics & Automation Magazine - September 2010 - 104
IEEE Robotics & Automation Magazine - September 2010 - Cover3
IEEE Robotics & Automation Magazine - September 2010 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com