IEEE Robotics & Automation Magazine - September 2015 - 98

controllers or steering functions for these systems. Kinodynamic planners in OMPL fall back in such cases on sampling random controls. This makes planning for these
systems extremely challenging; however, if controllers are
available, then OMPL can use them. With a few lines of
code, the command line tool can be modified to allow new
planning algorithms or new types of planning problems to
be specified in the configuration files.
The benchmark configuration files can be created with the
graphical user interface (GUI) included with OMPL.app. A
user can load meshes in a large variety of formats, define start
and goal states, try to solve the problem with different planners, and save the configuration file. The user can also visualize the tree/graph produced by a planning algorithm to get a
sense of the difficulty of a particular problem. In the configuration file, the user can specify whether the solution paths (all
or just the best one) should be saved during benchmarking.
Saved paths can be played back with the GUI.
When defining motion planning problems in code, many
of the limitations of the command line tool go away. Arbitrary state spaces and kinodynamic systems can be used and
different notions of state validity and different optimization
objectives can be defined. In addition, any user-defined planning algorithm can be used. The OMPL application programmer interface (API) imposes only minimal
requirements on new planning algorithms. In particular, the
API is not limited to sampling-based algorithms (in [8], for example, several nonsampling-based planners are integrated
Runs
into OMPL). The low barrier to entry has
P
id INTEGER
lead to numerous contributions of planexperimentid INTEGER
F
ning algorithms from other groups: OMPL
1.0 includes 29 planning algorithms. Since
plannerid INTEGER
F
all these algorithms use the same low-level
graph_states INTEGER
functionality for, e.g., collision checking,
time REAL
benchmarking highlights the differences in
solution_length REAL
the motion planning algorithms themsolution_clearance REAL
selves.
status ENUM
The benchmarking facilities in MoveIt!
[9] are based on and compatible with those
approximate_solution BOOL
in OMPL. The problem setup is somewhat
simplified_solution_length REAL
similar to the OMPL command line tool.
iterations INTEGER
In MoveIt!, robots are specified by Unified
Robot Description Format (URDF) files,
which specify a robot's geometry and kine(Many More Attributes)
matics. Motion planning problems to be
benchmarked are stored in a database.

Defining Motion Planning Problems
The most common benchmark motion planning problems
are those where robots are modeled as rigid bodies due to
their simplicity (it is easy for users to intuitively assess performance). We have developed a simple plain-text file format that describes such problems with a number of
key-value pairs. Robots and environments are specified by
mesh files. The state validity function is, in this case, hardcoded to be a collision checker. Besides the start and goal
positions of the robot, the user can also specify an optimization objective, such as path length, minimum clearance
along the path, or mechanical work. There are several planning algorithms in OMPL that optimize a path with respect
to a specified objective.
(Others that do not supThere is no universal metric port optimization simply
ignore this objective.) It
is also possible to specify
to assess performance of
simple kinodynamic moplanning algorithms across tion planning problems.
OMPL.app, the application layer on top of the
all benchmarks.
core OMPL library, predefines the following systems that can be used: 1) a first-order car, 2) a second-order
car, 3) a blimp, and 4) a quadrotor. We have not developed

Experiments
P
id INTEGER
name VARCHAR(512)
totaltime REAL
timelimit REAL
totaltime REAL
memorylimit REAL
runcount INTEGER
version VARCHAR(128)
hostname VARCHAR(128)
cpuinfo TEXT
date DATETIME
seed INTEGER
setup TEXT

PlannerConfigs
id INTEGER
name VARCHAR(512)
settings TEXT

P

Progress
runid INTEGER
time REAL
best_cost REAL
iterations INTEGER

P

F
P

Figure 2. The schema for a database of benchmark results. The P and F denote the
primary and foreign keys of each table, respectively.

98

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

September 2015

Specifying Planning Algorithms
Once a motion planning problem has been
specified, the next step is to select one or
more planners that are appropriate for the
given problem. Within OMPL, planners
are divided into two categories: 1) geometric/kinematic planners and 2) kinodynamic planners. The first category can be



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

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