IEEE Robotics & Automation Magazine - September 2015 - 164

generating twist commands to the BaseController component to follow a given trajectory. Let us now consider a different application in which the robot has to follow a moving
target (e.g., another robot). The TrajectoryFollower component is replaced with the LeaderFollower component that
periodically generates twist commands for the robot according to the position of the target estimated by the sensors.
The HyperFlex allows
representation of the navigation strategy as a variaA robot control system is
tion point that can be
composed of tens of components. resolved by selecting at
deployment time either
the LeaderFollower component or the TrajectoryFollower component. Figure 5
shows the Feature Model of the navigation system. Green
boxes represent the selected features. The triangles below the
boxes indicate the cardinality of the variation point. In particular, it means that, for each variation point, only one variant can be selected. A black circle indicates that the child
feature is mandatory.
The selection of desired features triggers model-to-model
transformations that configure the template architecture.
Several types of transformations can be defined, such as
removing a component, changing the properties of a component, and changing the connections between components.
For example, the selection of the feature LeaderFollower triggers a transformation that replaces the TrajectoryFollower
component with the LeaderFollower component and configures the connectors. The HyperFlex toolchain offers the possibility to compose hierarchically Feature Models in such a
way that higher-level Feature Models abstract the subsystems
functional features. Here, the idea is to model features at different levels of abstractions for different types of users.
Typically, the expert in robotic functionalities is interested
in a representation of the functional features that highlights
the different algorithms implemented in the robot control
system. On the contrary, the application domain expert is

Listing 3. The Specification of a Differential
Constraint.
BEGIN DifferentialDrive
ACTION: ul, ur;
PARAM: L, r;
CONFIG: x, y, theta;
d(x) = r/2 * (ul + ur) * cos(theta);
d(y) = r/2 * (ul + ur) * sin(theta);
d(theta) = r/L * (ur - ul);
END;

interested in a representation of the control system capabilities that highlight the application requirements. For example,
the robot is able to navigate in an environment, which might
be static or populated by moving obstacles (e.g., people). It
might be an open space with wide passages or a small room
crowded with tiny obstacles. The selection of a feature corresponding to an application requirement triggers the automatic selection of features corresponding to robot capabilities. For
example, if the environment is a static and crowded space, the
robot should be configured with a complete (and likely slow)
motion planner; instead, in dynamic environments, a fast and
approximate motion planner is more effective.

Modeling Robotic Resources
A model of the robot embodiment (the kinematic structure,
the device characteristics, and so on) and a model of the
operational environment (the objects to recognize, avoid,
grasp, and so on) are crucial for object manipulation and
navigation. They act as shared resources among multiple
robot functionalities, such as perception, planning, and control. Most algorithms that implement these functionalities
are parametric with respect to the embodiment and world
models. This means that the robot control system can be
configured at deployment time according to the specific
application requirements and can be reused without modification for different tasks and
different robotic systems.
Blumenthal and Bruyninckx
[49] present a textual domainNavigation
specific modeling language for
Local
modeling the structural aspects
Navigation
of the robot embodiment and
Navigation
environment as a Scene Graph,
Strategy
i.e., a description of relevant obTrajectory
Motion
Kinematic
1f1
jects and the relations among
Adaptation
Behavior
Model
them. These relations are orga1f1
1f1
1f1
nized in a Direct Acyclic Graph.
The Scene Graph can express
prior semantic knowledge
Leader
Trajectory
Differential
Reactive Smooth
Omni
DWA
VFH
Follower
Follower
Drive
about a scene, such as the morphology and appearance of an
object (e.g., a table) that the
Figure 5. The HyperFlex Feature Model of the navigation system. DWA: dynamic window
approach; VFH: vector field histogram.
robot should recognize

164

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

September 2015



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