IEEE Robotics & Automation Magazine - September 2012 - 29

for rotor commutation and high-frequency pulsewidth
modulation (PWM) to control motor voltage. The
simplest systems generally use a direct voltage control of
the motors since steady-state motor speed is proportional to voltage; however; the dynamic response is
second-order due to the mechanical and electrical
dynamics. Improved performance is obtained by incorporating single-input single-output control at the
motor/rotor level
Vi ¼ k(-Ãi À -i ) þ Vff (-Ãi ),

(23)

where Vi is the applied motor voltage, -Ãi is the desired
speed, and the actual motor speed -i can be measured
from the electronic commutation in the embedded
speed controller. This can help to overcome a common
problem where the rotor speed for a given PWM command setting will decrease as the battery voltage
reduces during flight. The significant load torque due to
aerodynamic drag will lead to a tracking error that can
be minimized by high proportional gain (k) and/or a
feedforward term. A positive benefit of the drag
torque is that the system is heavily damped, which
precludes the need for derivative control. The feedforward term Vff (-Ãi ) compensates for the steady-state
PWM associated with a given velocity set point by
incorporating the best available thrust model determined using static thrust tests and possibly including
battery voltage.
The performance of the motor controllers is ultimately
limited by the current that can be supplied from the batteries. This may be a significant limiting factor for smaller
vehicles. Overly aggressive tuning and extreme maneuvers
may cause the voltage bus to drop excessively, reducing
the thrust from other rotors and, in extreme cases, causing
the onboard electronics to brownout. For this reason, it
is common to introduce a saturation, although this
destroys the linearity of the motor/rotor response during
aggressive maneuvers.
Attitude Control
We first consider the design of an exponentially converging controller in SO(3). Given a desired airframe attitude
R? , we want to first develop a measure of the error in rotations. We choose the measure
eR 3 ¼

Á
1À Ã T
(R ) R À RT RÃ ,
2

(24)

which yields a skew-symmetric matrix representing the
axis of rotation required to go from R to RÃ and whose
magnitude is equal to the sine of the angle of rotation.
To derive linear controllers, we linearize the dynamics
about the nominal hover position at which the roll (/) and
pitch (h) are close to zero and the angular velocities are
close to zero. If we write R ¼ A RB as a product of the yaw

rotation A RE (w) and E RB (/, h), which is a composition of
the roll and pitch, we can linearize the rotation about
(w, /, h) ¼ (w0 , 0, 0)
A

RB ¼

A

RE (w0 þ Dw) E RB (D/, Dh)

0

cos w

B
B
¼ B sin w
@

À sin w
cos w

ÀDh

Dh cos w þ D/ sin w

1

C
C
Dh sin w À D/ cos w C,
A

D/

1

where w ¼ w0 þ Dw. If R? ¼ A RB (w0 þ Dw, D/, Dh) and
R ¼ A RB (w0 , 0, 0), (24) gives
0

0

B
eR 3 ¼ B
@ ÀDw
Dh

Dw
0

ÀDh

1

C
D/ C
A,

ÀD/

(25)

0

which, as we expect, corresponds to the error vector
eR ¼ (D/, Dh, Dw)> ,
with components in the body-fixed frame. If the desired
angular velocity vector is zero, we can compute the
proportional and derivative error to obtain the PD control law
u2 ¼ ÀkR eR À kX eX ,

(26)

where kR and kX are positive definite gain matrices. This
controller guarantees stability for small deviations from
the hover position.
To obtain convergence for larger deviations from
the hover position, it is necessary to revert back to (24)
without linearization. This allows us to directly compute
the error on SO(3). By compensating for the nonlinear
inertial terms and by including the correct error term,
we obtain
u2 ¼J(ÀkR eR ÀkX eX )þX 3 JXÀJ(X 3 RT R? X? ÀRT R? X_ ? ):
(27)
This controller is guaranteed to be exponentially
stable for almost any rotation [23]. From a practical
standpoint, it is possible to neglect the last three terms
in the controller and achieve satisfactory performance,
but the correct calculation of the error term is important [24].
Trajectory Control
We now turn our attention to the control of the trajectory along a specified trajectory n? (t). As before, we
first consider linear controllers by linearizing the dynamics about n ¼ n? (t), h ¼ / ¼ 0, w ¼ w? (t), n_ ¼ 0, and
SEPTEMBER 2012

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

29



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

IEEE Robotics & Automation Magazine - September 2012 - Cover1
IEEE Robotics & Automation Magazine - September 2012 - Cover2
IEEE Robotics & Automation Magazine - September 2012 - 1
IEEE Robotics & Automation Magazine - September 2012 - 2
IEEE Robotics & Automation Magazine - September 2012 - 3
IEEE Robotics & Automation Magazine - September 2012 - 4
IEEE Robotics & Automation Magazine - September 2012 - 5
IEEE Robotics & Automation Magazine - September 2012 - 6
IEEE Robotics & Automation Magazine - September 2012 - 7
IEEE Robotics & Automation Magazine - September 2012 - 8
IEEE Robotics & Automation Magazine - September 2012 - 9
IEEE Robotics & Automation Magazine - September 2012 - 10
IEEE Robotics & Automation Magazine - September 2012 - 11
IEEE Robotics & Automation Magazine - September 2012 - 12
IEEE Robotics & Automation Magazine - September 2012 - 13
IEEE Robotics & Automation Magazine - September 2012 - 14
IEEE Robotics & Automation Magazine - September 2012 - 15
IEEE Robotics & Automation Magazine - September 2012 - 16
IEEE Robotics & Automation Magazine - September 2012 - 17
IEEE Robotics & Automation Magazine - September 2012 - 18
IEEE Robotics & Automation Magazine - September 2012 - 19
IEEE Robotics & Automation Magazine - September 2012 - 20
IEEE Robotics & Automation Magazine - September 2012 - 21
IEEE Robotics & Automation Magazine - September 2012 - 22
IEEE Robotics & Automation Magazine - September 2012 - 23
IEEE Robotics & Automation Magazine - September 2012 - 24
IEEE Robotics & Automation Magazine - September 2012 - 25
IEEE Robotics & Automation Magazine - September 2012 - 26
IEEE Robotics & Automation Magazine - September 2012 - 27
IEEE Robotics & Automation Magazine - September 2012 - 28
IEEE Robotics & Automation Magazine - September 2012 - 29
IEEE Robotics & Automation Magazine - September 2012 - 30
IEEE Robotics & Automation Magazine - September 2012 - 31
IEEE Robotics & Automation Magazine - September 2012 - 32
IEEE Robotics & Automation Magazine - September 2012 - 33
IEEE Robotics & Automation Magazine - September 2012 - 34
IEEE Robotics & Automation Magazine - September 2012 - 35
IEEE Robotics & Automation Magazine - September 2012 - 36
IEEE Robotics & Automation Magazine - September 2012 - 37
IEEE Robotics & Automation Magazine - September 2012 - 38
IEEE Robotics & Automation Magazine - September 2012 - 39
IEEE Robotics & Automation Magazine - September 2012 - 40
IEEE Robotics & Automation Magazine - September 2012 - 41
IEEE Robotics & Automation Magazine - September 2012 - 42
IEEE Robotics & Automation Magazine - September 2012 - 43
IEEE Robotics & Automation Magazine - September 2012 - 44
IEEE Robotics & Automation Magazine - September 2012 - 45
IEEE Robotics & Automation Magazine - September 2012 - 46
IEEE Robotics & Automation Magazine - September 2012 - 47
IEEE Robotics & Automation Magazine - September 2012 - 48
IEEE Robotics & Automation Magazine - September 2012 - 49
IEEE Robotics & Automation Magazine - September 2012 - 50
IEEE Robotics & Automation Magazine - September 2012 - 51
IEEE Robotics & Automation Magazine - September 2012 - 52
IEEE Robotics & Automation Magazine - September 2012 - 53
IEEE Robotics & Automation Magazine - September 2012 - 54
IEEE Robotics & Automation Magazine - September 2012 - 55
IEEE Robotics & Automation Magazine - September 2012 - 56
IEEE Robotics & Automation Magazine - September 2012 - 57
IEEE Robotics & Automation Magazine - September 2012 - 58
IEEE Robotics & Automation Magazine - September 2012 - 59
IEEE Robotics & Automation Magazine - September 2012 - 60
IEEE Robotics & Automation Magazine - September 2012 - 61
IEEE Robotics & Automation Magazine - September 2012 - 62
IEEE Robotics & Automation Magazine - September 2012 - 63
IEEE Robotics & Automation Magazine - September 2012 - 64
IEEE Robotics & Automation Magazine - September 2012 - 65
IEEE Robotics & Automation Magazine - September 2012 - 66
IEEE Robotics & Automation Magazine - September 2012 - 67
IEEE Robotics & Automation Magazine - September 2012 - 68
IEEE Robotics & Automation Magazine - September 2012 - 69
IEEE Robotics & Automation Magazine - September 2012 - 70
IEEE Robotics & Automation Magazine - September 2012 - 71
IEEE Robotics & Automation Magazine - September 2012 - 72
IEEE Robotics & Automation Magazine - September 2012 - 73
IEEE Robotics & Automation Magazine - September 2012 - 74
IEEE Robotics & Automation Magazine - September 2012 - 75
IEEE Robotics & Automation Magazine - September 2012 - 76
IEEE Robotics & Automation Magazine - September 2012 - 77
IEEE Robotics & Automation Magazine - September 2012 - 78
IEEE Robotics & Automation Magazine - September 2012 - 79
IEEE Robotics & Automation Magazine - September 2012 - 80
IEEE Robotics & Automation Magazine - September 2012 - 81
IEEE Robotics & Automation Magazine - September 2012 - 82
IEEE Robotics & Automation Magazine - September 2012 - 83
IEEE Robotics & Automation Magazine - September 2012 - 84
IEEE Robotics & Automation Magazine - September 2012 - 85
IEEE Robotics & Automation Magazine - September 2012 - 86
IEEE Robotics & Automation Magazine - September 2012 - 87
IEEE Robotics & Automation Magazine - September 2012 - 88
IEEE Robotics & Automation Magazine - September 2012 - 89
IEEE Robotics & Automation Magazine - September 2012 - 90
IEEE Robotics & Automation Magazine - September 2012 - 91
IEEE Robotics & Automation Magazine - September 2012 - 92
IEEE Robotics & Automation Magazine - September 2012 - 93
IEEE Robotics & Automation Magazine - September 2012 - 94
IEEE Robotics & Automation Magazine - September 2012 - 95
IEEE Robotics & Automation Magazine - September 2012 - 96
IEEE Robotics & Automation Magazine - September 2012 - 97
IEEE Robotics & Automation Magazine - September 2012 - 98
IEEE Robotics & Automation Magazine - September 2012 - 99
IEEE Robotics & Automation Magazine - September 2012 - 100
IEEE Robotics & Automation Magazine - September 2012 - 101
IEEE Robotics & Automation Magazine - September 2012 - 102
IEEE Robotics & Automation Magazine - September 2012 - 103
IEEE Robotics & Automation Magazine - September 2012 - 104
IEEE Robotics & Automation Magazine - September 2012 - 105
IEEE Robotics & Automation Magazine - September 2012 - 106
IEEE Robotics & Automation Magazine - September 2012 - 107
IEEE Robotics & Automation Magazine - September 2012 - 108
IEEE Robotics & Automation Magazine - September 2012 - 109
IEEE Robotics & Automation Magazine - September 2012 - 110
IEEE Robotics & Automation Magazine - September 2012 - 111
IEEE Robotics & Automation Magazine - September 2012 - 112
IEEE Robotics & Automation Magazine - September 2012 - 113
IEEE Robotics & Automation Magazine - September 2012 - 114
IEEE Robotics & Automation Magazine - September 2012 - 115
IEEE Robotics & Automation Magazine - September 2012 - 116
IEEE Robotics & Automation Magazine - September 2012 - 117
IEEE Robotics & Automation Magazine - September 2012 - 118
IEEE Robotics & Automation Magazine - September 2012 - 119
IEEE Robotics & Automation Magazine - September 2012 - 120
IEEE Robotics & Automation Magazine - September 2012 - 121
IEEE Robotics & Automation Magazine - September 2012 - 122
IEEE Robotics & Automation Magazine - September 2012 - 123
IEEE Robotics & Automation Magazine - September 2012 - 124
IEEE Robotics & Automation Magazine - September 2012 - 125
IEEE Robotics & Automation Magazine - September 2012 - 126
IEEE Robotics & Automation Magazine - September 2012 - 127
IEEE Robotics & Automation Magazine - September 2012 - 128
IEEE Robotics & Automation Magazine - September 2012 - Cover3
IEEE Robotics & Automation Magazine - September 2012 - 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