IEEE Robotics & Automation Magazine - December 2013 - 164

The customizability and power of
FPGAs, as well as the ability to reuse
components in other designs, makes
them a powerful tool in the arsenal of
any roboticist. The prevalence and

rapid evolution of these devices in
industry make it easy to learn more
about FPGAs. This book aids in the
process, providing a clear introduction,
numerous examples, and an excellent

flow-a balance of technical detail and
informative discussion.
-Reviewed by
Alex Simpkins, Jr. , Ph.D.
San Diego, California

Convex Optimization
Steven Boyd and Lieven Vandenberghe,
Cambridge, United Kingdom, 2014,
716 pages.
onvex Optimization by Steven
Boyd and Lieven Vandenberghe is a classic text on optimization. Though there have
been significant recent developments in
the field of optimization, this text still
covers the fundamental concepts that
any researcher or practitioner needs to
know and certainly takes the reader far
beyond the basics. As robotic systems
gain in complexity, dimensionality, and
dynamic task challenges, convex optimization is playing an increasing role in all
aspects. It is useful in control systems,
circuit and mechanical design, statistics,
data analysis and modeling, and more.
As such, it is clear that roboticists should
study and incorporate convex optimization as part of their knowledge base.
The book is broken down into three
main sections ("Theory," "Application,"
and "Algorithms"), 11 chapters, and
three appendices. It also has a list of
references, an index, and a notation
list. Each chapter ends with a bibliography and exercises, making it easy to
take the chapter further and explore
beyond the book.
Chapter 1 gives a mathematical
overview of optimization, introducing
least squares and linear programming,
convex and nonlinear optimization,
local and global problems, and the role
of convex optimization in nonconvex
problems. Finally, the rest of the book
is outlined, and notation to be used
is described.

The "Theory" section is broken down
into Chapter 2 on convex sets, Chapter 3
on convex functions, Chapter 4 on convex optimization problems, and Chapter  5 on duality. Chapter 2 is a key
chapter, beginning with affine sets and
moving to convexity, then covering several relevant examples, convexity in
operations, and (perhaps most importantly) separating and supporting hyper
planes and dual cones. Chapter 3 discusses how convexity and quasiconvexity
as concepts can be extended to functions,
and functions of convexity (such as logconvex functions). The authors describe
that for many nonconvex functions, a
convex hull can be formed using
inequalities. Next, Chapter 4 covers convex optimization problems, standard
forms, equivalent problems, parameters,
local and global criteria, and more. Linear fractional programming is also
touched on, a topic particularly relevant
to uncertain and complex systems. Of
course, quadratic problems are also presented. Chapter 5 shows how convex
optimization problems that are difficult
to solve in their original formulation can
be transformed into Lagrangian dual
problems that can be solved. A good
book provides not only the what and
how but also the why, and here the
authors spend time motivating the dual
problem, constraints, sensitivity, examples, and criteria for feasibility.
The "Applications" section is broken
down into Chapter 6 on approximation
and fitting, Chapter 7 on statistical estimation, and Chapter 8 on geometric
problems. One of the most common
uses of optimization is for approximately (or exactly) solving equations.
The authors craft Chapter 6 into many
sections by first presenting the prob-

lem, then giving several interpretations
or applications. For example, the first
section begins with norm approximation problems, then presents approximation, estimation, geometric, and
design interpretations. Challenging
data and functions can be fit using convex optimization, and the authors highlight this well. Caveats and strategies for
successful application are discussed.
Statistical analysis is a challenging field
and often is not taught from the perspective of optimization. Chapter 7 discusses a variety of statistical problems
and how they can be framed then
solved within the convex optimization
framework. Maximum likelihood estimation is a fundamental concept when
dealing with parametric distributions,
and it is one of many concepts laid out
quite clearly here. This chapter, which
covers testing hypotheses and making
decisions, is useful since robots operating in uncertain environments need
these capabilities. When acting in the
world, geometric problems abound.
Chapter 8 addresses a variety of geometric applications that will be of great
interest to roboticists. For example,
problems dealing with classification
and polynomial discrimination are presented, along with solutions.
The third section of the book,
"Algorithms," contains Chapter 9 on
unconstrained optimization, Chapter
10 on equality constrained optimization, and Chapter 11 on interior-point
methods. Unconstrained minimization
problems, summarized in Chapter 9,
are difficult to solve analytically, so
typically a numerical approach is
taken. The authors here present not
only various methods and examples
but also tests for determining how

C

Digital Object Identifier 10.1109/MRA.2013.2283189
Date of publication: 6 December 2013

164

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

DECEMBER 2013



Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - December 2013

IEEE Robotics & Automation Magazine - December 2013 - Cover1
IEEE Robotics & Automation Magazine - December 2013 - Cover2
IEEE Robotics & Automation Magazine - December 2013 - 1
IEEE Robotics & Automation Magazine - December 2013 - 2
IEEE Robotics & Automation Magazine - December 2013 - 3
IEEE Robotics & Automation Magazine - December 2013 - 4
IEEE Robotics & Automation Magazine - December 2013 - 5
IEEE Robotics & Automation Magazine - December 2013 - 6
IEEE Robotics & Automation Magazine - December 2013 - 7
IEEE Robotics & Automation Magazine - December 2013 - 8
IEEE Robotics & Automation Magazine - December 2013 - 9
IEEE Robotics & Automation Magazine - December 2013 - 10
IEEE Robotics & Automation Magazine - December 2013 - 11
IEEE Robotics & Automation Magazine - December 2013 - 12
IEEE Robotics & Automation Magazine - December 2013 - 13
IEEE Robotics & Automation Magazine - December 2013 - 14
IEEE Robotics & Automation Magazine - December 2013 - 15
IEEE Robotics & Automation Magazine - December 2013 - 16
IEEE Robotics & Automation Magazine - December 2013 - 17
IEEE Robotics & Automation Magazine - December 2013 - 18
IEEE Robotics & Automation Magazine - December 2013 - 19
IEEE Robotics & Automation Magazine - December 2013 - 20
IEEE Robotics & Automation Magazine - December 2013 - 21
IEEE Robotics & Automation Magazine - December 2013 - 22
IEEE Robotics & Automation Magazine - December 2013 - 23
IEEE Robotics & Automation Magazine - December 2013 - 24
IEEE Robotics & Automation Magazine - December 2013 - 25
IEEE Robotics & Automation Magazine - December 2013 - 26
IEEE Robotics & Automation Magazine - December 2013 - 27
IEEE Robotics & Automation Magazine - December 2013 - 28
IEEE Robotics & Automation Magazine - December 2013 - 29
IEEE Robotics & Automation Magazine - December 2013 - 30
IEEE Robotics & Automation Magazine - December 2013 - 31
IEEE Robotics & Automation Magazine - December 2013 - 32
IEEE Robotics & Automation Magazine - December 2013 - 33
IEEE Robotics & Automation Magazine - December 2013 - 34
IEEE Robotics & Automation Magazine - December 2013 - 35
IEEE Robotics & Automation Magazine - December 2013 - 36
IEEE Robotics & Automation Magazine - December 2013 - 37
IEEE Robotics & Automation Magazine - December 2013 - 38
IEEE Robotics & Automation Magazine - December 2013 - 39
IEEE Robotics & Automation Magazine - December 2013 - 40
IEEE Robotics & Automation Magazine - December 2013 - 41
IEEE Robotics & Automation Magazine - December 2013 - 42
IEEE Robotics & Automation Magazine - December 2013 - 43
IEEE Robotics & Automation Magazine - December 2013 - 44
IEEE Robotics & Automation Magazine - December 2013 - 45
IEEE Robotics & Automation Magazine - December 2013 - 46
IEEE Robotics & Automation Magazine - December 2013 - 47
IEEE Robotics & Automation Magazine - December 2013 - 48
IEEE Robotics & Automation Magazine - December 2013 - 49
IEEE Robotics & Automation Magazine - December 2013 - 50
IEEE Robotics & Automation Magazine - December 2013 - 51
IEEE Robotics & Automation Magazine - December 2013 - 52
IEEE Robotics & Automation Magazine - December 2013 - 53
IEEE Robotics & Automation Magazine - December 2013 - 54
IEEE Robotics & Automation Magazine - December 2013 - 55
IEEE Robotics & Automation Magazine - December 2013 - 56
IEEE Robotics & Automation Magazine - December 2013 - 57
IEEE Robotics & Automation Magazine - December 2013 - 58
IEEE Robotics & Automation Magazine - December 2013 - 59
IEEE Robotics & Automation Magazine - December 2013 - 60
IEEE Robotics & Automation Magazine - December 2013 - 61
IEEE Robotics & Automation Magazine - December 2013 - 62
IEEE Robotics & Automation Magazine - December 2013 - 63
IEEE Robotics & Automation Magazine - December 2013 - 64
IEEE Robotics & Automation Magazine - December 2013 - 65
IEEE Robotics & Automation Magazine - December 2013 - 66
IEEE Robotics & Automation Magazine - December 2013 - 67
IEEE Robotics & Automation Magazine - December 2013 - 68
IEEE Robotics & Automation Magazine - December 2013 - 69
IEEE Robotics & Automation Magazine - December 2013 - 70
IEEE Robotics & Automation Magazine - December 2013 - 71
IEEE Robotics & Automation Magazine - December 2013 - 72
IEEE Robotics & Automation Magazine - December 2013 - 73
IEEE Robotics & Automation Magazine - December 2013 - 74
IEEE Robotics & Automation Magazine - December 2013 - 75
IEEE Robotics & Automation Magazine - December 2013 - 76
IEEE Robotics & Automation Magazine - December 2013 - 77
IEEE Robotics & Automation Magazine - December 2013 - 78
IEEE Robotics & Automation Magazine - December 2013 - 79
IEEE Robotics & Automation Magazine - December 2013 - 80
IEEE Robotics & Automation Magazine - December 2013 - 81
IEEE Robotics & Automation Magazine - December 2013 - 82
IEEE Robotics & Automation Magazine - December 2013 - 83
IEEE Robotics & Automation Magazine - December 2013 - 84
IEEE Robotics & Automation Magazine - December 2013 - 85
IEEE Robotics & Automation Magazine - December 2013 - 86
IEEE Robotics & Automation Magazine - December 2013 - 87
IEEE Robotics & Automation Magazine - December 2013 - 88
IEEE Robotics & Automation Magazine - December 2013 - 89
IEEE Robotics & Automation Magazine - December 2013 - 90
IEEE Robotics & Automation Magazine - December 2013 - 91
IEEE Robotics & Automation Magazine - December 2013 - 92
IEEE Robotics & Automation Magazine - December 2013 - 93
IEEE Robotics & Automation Magazine - December 2013 - 94
IEEE Robotics & Automation Magazine - December 2013 - 95
IEEE Robotics & Automation Magazine - December 2013 - 96
IEEE Robotics & Automation Magazine - December 2013 - 97
IEEE Robotics & Automation Magazine - December 2013 - 98
IEEE Robotics & Automation Magazine - December 2013 - 99
IEEE Robotics & Automation Magazine - December 2013 - 100
IEEE Robotics & Automation Magazine - December 2013 - 101
IEEE Robotics & Automation Magazine - December 2013 - 102
IEEE Robotics & Automation Magazine - December 2013 - 103
IEEE Robotics & Automation Magazine - December 2013 - 104
IEEE Robotics & Automation Magazine - December 2013 - 105
IEEE Robotics & Automation Magazine - December 2013 - 106
IEEE Robotics & Automation Magazine - December 2013 - 107
IEEE Robotics & Automation Magazine - December 2013 - 108
IEEE Robotics & Automation Magazine - December 2013 - 109
IEEE Robotics & Automation Magazine - December 2013 - 110
IEEE Robotics & Automation Magazine - December 2013 - 111
IEEE Robotics & Automation Magazine - December 2013 - 112
IEEE Robotics & Automation Magazine - December 2013 - 113
IEEE Robotics & Automation Magazine - December 2013 - 114
IEEE Robotics & Automation Magazine - December 2013 - 115
IEEE Robotics & Automation Magazine - December 2013 - 116
IEEE Robotics & Automation Magazine - December 2013 - 117
IEEE Robotics & Automation Magazine - December 2013 - 118
IEEE Robotics & Automation Magazine - December 2013 - 119
IEEE Robotics & Automation Magazine - December 2013 - 120
IEEE Robotics & Automation Magazine - December 2013 - 121
IEEE Robotics & Automation Magazine - December 2013 - 122
IEEE Robotics & Automation Magazine - December 2013 - 123
IEEE Robotics & Automation Magazine - December 2013 - 124
IEEE Robotics & Automation Magazine - December 2013 - 125
IEEE Robotics & Automation Magazine - December 2013 - 126
IEEE Robotics & Automation Magazine - December 2013 - 127
IEEE Robotics & Automation Magazine - December 2013 - 128
IEEE Robotics & Automation Magazine - December 2013 - 129
IEEE Robotics & Automation Magazine - December 2013 - 130
IEEE Robotics & Automation Magazine - December 2013 - 131
IEEE Robotics & Automation Magazine - December 2013 - 132
IEEE Robotics & Automation Magazine - December 2013 - 133
IEEE Robotics & Automation Magazine - December 2013 - 134
IEEE Robotics & Automation Magazine - December 2013 - 135
IEEE Robotics & Automation Magazine - December 2013 - 136
IEEE Robotics & Automation Magazine - December 2013 - 137
IEEE Robotics & Automation Magazine - December 2013 - 138
IEEE Robotics & Automation Magazine - December 2013 - 139
IEEE Robotics & Automation Magazine - December 2013 - 140
IEEE Robotics & Automation Magazine - December 2013 - 141
IEEE Robotics & Automation Magazine - December 2013 - 142
IEEE Robotics & Automation Magazine - December 2013 - 143
IEEE Robotics & Automation Magazine - December 2013 - 144
IEEE Robotics & Automation Magazine - December 2013 - 145
IEEE Robotics & Automation Magazine - December 2013 - 146
IEEE Robotics & Automation Magazine - December 2013 - 147
IEEE Robotics & Automation Magazine - December 2013 - 148
IEEE Robotics & Automation Magazine - December 2013 - 149
IEEE Robotics & Automation Magazine - December 2013 - 150
IEEE Robotics & Automation Magazine - December 2013 - 151
IEEE Robotics & Automation Magazine - December 2013 - 152
IEEE Robotics & Automation Magazine - December 2013 - 153
IEEE Robotics & Automation Magazine - December 2013 - 154
IEEE Robotics & Automation Magazine - December 2013 - 155
IEEE Robotics & Automation Magazine - December 2013 - 156
IEEE Robotics & Automation Magazine - December 2013 - 157
IEEE Robotics & Automation Magazine - December 2013 - 158
IEEE Robotics & Automation Magazine - December 2013 - 159
IEEE Robotics & Automation Magazine - December 2013 - 160
IEEE Robotics & Automation Magazine - December 2013 - 161
IEEE Robotics & Automation Magazine - December 2013 - 162
IEEE Robotics & Automation Magazine - December 2013 - 163
IEEE Robotics & Automation Magazine - December 2013 - 164
IEEE Robotics & Automation Magazine - December 2013 - 165
IEEE Robotics & Automation Magazine - December 2013 - 166
IEEE Robotics & Automation Magazine - December 2013 - 167
IEEE Robotics & Automation Magazine - December 2013 - 168
IEEE Robotics & Automation Magazine - December 2013 - 169
IEEE Robotics & Automation Magazine - December 2013 - 170
IEEE Robotics & Automation Magazine - December 2013 - 171
IEEE Robotics & Automation Magazine - December 2013 - 172
IEEE Robotics & Automation Magazine - December 2013 - 173
IEEE Robotics & Automation Magazine - December 2013 - 174
IEEE Robotics & Automation Magazine - December 2013 - 175
IEEE Robotics & Automation Magazine - December 2013 - 176
IEEE Robotics & Automation Magazine - December 2013 - Cover3
IEEE Robotics & Automation Magazine - December 2013 - 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