IEEE Robotics & Automation Magazine - December 2019 - 114
scalability. All of our recent humanoid robots [2], [23] share
the same cognitive and functional software architecture
implemented in ArmarX [24], [41]. As a complex humanoid
robot system, ArmarX is not only a robot middleware but
also a complete functional cognitive architecture offering
ready-to-use modules on multiple levels of abstraction. Figure 5 shows the key modules of the architecture, which are
divided into three levels of abstraction: 1) real-time control
and hardware abstraction, 2) perception and the robot memory system, and 3) task planning.
On the lowest level, nearly all data are subsymbolic. The
hardware abstraction layer connects with the robot-agnostic,
real-time control framework. This abstraction level provides
its data to the upper levels and receives commands from the
highest level. On the middle level, perception modules for sensor processing such as object localization, self-localization, and
human pose estimation are located. Their results are stored in
the ArmarX memory system, MemoryX, which includes
modules such as the working memory for a consistent world
state, long-term memory for self-experienced data, and prior
knowledge that contains data provided by robot programmers
(e.g., 3D object and world models) as well as preprogrammed
trajectories. The result of the sensor processing is usually
High Level
Task Controller
represented in (but not restricted to) easy-to-process formats
such as 6D poses or symbolic relations. On the highest
abstraction level, reasoning modules, such as natural language
understanding, symbolic planning, and statecharts, coordinate
the robot subsystems primarily on a symbolic level.
Figure 6 displays an abstract depiction of an exemplary
statechart (in this case, for the handover task described in the
"Human Activity Recognition and Active Handover" section)
and the interconnections between respective perception and
the control modules. All of the modules run in parallel and
provide their data asynchronously to the statecharts, which
generate targets for the controllers that run synchronously in
the real-time layer.
One key principle of the robot architecture is the modularity of the software based on common interfaces. This
facilitates the easy exchange or insertion of new software
modules to be used on multiple robot platforms, which is
especially important for the purpose of research. Due to
this modularity, failures of individual modules do not affect
the complete system. The complexity of the robot's software
system results in a high number of interconnected modules
that create a complicated network of dependencies. To provide an assessment of the system's state, ArmarX presents
Speech Commands and RoNoH Based on NLU
Natural Language
Understanding (NLU)
Scene
Understanding
Symbolic
Planning
RoNoH Based
on Human Pose
Task Coordination
(Statecharts)
Task Triggering
World State
Robot Memory
Middle Level
Prior Knowledge
Long-Term Memory
Key
RoNoH Control
and Data Flow
General Control
and Data Flow
Working Memory
Controller
Parametrization
Perception
Scene Registration
and Self-Localization
Object Localization
Human Pose Estimation
Images and
Point Clouds
Low Level
Real-Time Control Framework
Cartesian Velocity Cartesian Impedance
Controller
Controller
Trajectory
Controller
CCDMP Controller
Torque Controller
Position
Controller
Compliant Velocity
Controller
Velocity Controller
RoNoH Based
on Haptics
Hardware Abstraction Layer
Figure 5. An overview of ArmarX, the functional software architecture of ARMAR-6. The image is divided into its three main conceptual
levels and their principal interconnections. The information is increasingly abstracted from low (e.g., raw sensor values) to high levels
(e.g., symbolic predicates). RoNoH: recognition of the need of help; CCDMP: Coordinate Change Dynamic Movement Primitive.
114
*
IEEE ROBOTICS & AUTOMATION MAGAZINE
*
DECEMBER 2019
IEEE Robotics & Automation Magazine - December 2019
Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - December 2019
Contents
IEEE Robotics & Automation Magazine - December 2019 - Cover1
IEEE Robotics & Automation Magazine - December 2019 - Cover2
IEEE Robotics & Automation Magazine - December 2019 - Contents
IEEE Robotics & Automation Magazine - December 2019 - 2
IEEE Robotics & Automation Magazine - December 2019 - 3
IEEE Robotics & Automation Magazine - December 2019 - 4
IEEE Robotics & Automation Magazine - December 2019 - 5
IEEE Robotics & Automation Magazine - December 2019 - 6
IEEE Robotics & Automation Magazine - December 2019 - 7
IEEE Robotics & Automation Magazine - December 2019 - 8
IEEE Robotics & Automation Magazine - December 2019 - 9
IEEE Robotics & Automation Magazine - December 2019 - 10
IEEE Robotics & Automation Magazine - December 2019 - 11
IEEE Robotics & Automation Magazine - December 2019 - 12
IEEE Robotics & Automation Magazine - December 2019 - 13
IEEE Robotics & Automation Magazine - December 2019 - 14
IEEE Robotics & Automation Magazine - December 2019 - 15
IEEE Robotics & Automation Magazine - December 2019 - 16
IEEE Robotics & Automation Magazine - December 2019 - 17
IEEE Robotics & Automation Magazine - December 2019 - 18
IEEE Robotics & Automation Magazine - December 2019 - 19
IEEE Robotics & Automation Magazine - December 2019 - 20
IEEE Robotics & Automation Magazine - December 2019 - 21
IEEE Robotics & Automation Magazine - December 2019 - 22
IEEE Robotics & Automation Magazine - December 2019 - 23
IEEE Robotics & Automation Magazine - December 2019 - 24
IEEE Robotics & Automation Magazine - December 2019 - 25
IEEE Robotics & Automation Magazine - December 2019 - 26
IEEE Robotics & Automation Magazine - December 2019 - 27
IEEE Robotics & Automation Magazine - December 2019 - 28
IEEE Robotics & Automation Magazine - December 2019 - 29
IEEE Robotics & Automation Magazine - December 2019 - 30
IEEE Robotics & Automation Magazine - December 2019 - 31
IEEE Robotics & Automation Magazine - December 2019 - 32
IEEE Robotics & Automation Magazine - December 2019 - 33
IEEE Robotics & Automation Magazine - December 2019 - 34
IEEE Robotics & Automation Magazine - December 2019 - 35
IEEE Robotics & Automation Magazine - December 2019 - 36
IEEE Robotics & Automation Magazine - December 2019 - 37
IEEE Robotics & Automation Magazine - December 2019 - 38
IEEE Robotics & Automation Magazine - December 2019 - 39
IEEE Robotics & Automation Magazine - December 2019 - 40
IEEE Robotics & Automation Magazine - December 2019 - 41
IEEE Robotics & Automation Magazine - December 2019 - 42
IEEE Robotics & Automation Magazine - December 2019 - 43
IEEE Robotics & Automation Magazine - December 2019 - 44
IEEE Robotics & Automation Magazine - December 2019 - 45
IEEE Robotics & Automation Magazine - December 2019 - 46
IEEE Robotics & Automation Magazine - December 2019 - 47
IEEE Robotics & Automation Magazine - December 2019 - 48
IEEE Robotics & Automation Magazine - December 2019 - 49
IEEE Robotics & Automation Magazine - December 2019 - 50
IEEE Robotics & Automation Magazine - December 2019 - 51
IEEE Robotics & Automation Magazine - December 2019 - 52
IEEE Robotics & Automation Magazine - December 2019 - 53
IEEE Robotics & Automation Magazine - December 2019 - 54
IEEE Robotics & Automation Magazine - December 2019 - 55
IEEE Robotics & Automation Magazine - December 2019 - 56
IEEE Robotics & Automation Magazine - December 2019 - 57
IEEE Robotics & Automation Magazine - December 2019 - 58
IEEE Robotics & Automation Magazine - December 2019 - 59
IEEE Robotics & Automation Magazine - December 2019 - 60
IEEE Robotics & Automation Magazine - December 2019 - 61
IEEE Robotics & Automation Magazine - December 2019 - 62
IEEE Robotics & Automation Magazine - December 2019 - 63
IEEE Robotics & Automation Magazine - December 2019 - 64
IEEE Robotics & Automation Magazine - December 2019 - 65
IEEE Robotics & Automation Magazine - December 2019 - 66
IEEE Robotics & Automation Magazine - December 2019 - 67
IEEE Robotics & Automation Magazine - December 2019 - 68
IEEE Robotics & Automation Magazine - December 2019 - 69
IEEE Robotics & Automation Magazine - December 2019 - 70
IEEE Robotics & Automation Magazine - December 2019 - 71
IEEE Robotics & Automation Magazine - December 2019 - 72
IEEE Robotics & Automation Magazine - December 2019 - 73
IEEE Robotics & Automation Magazine - December 2019 - 74
IEEE Robotics & Automation Magazine - December 2019 - 75
IEEE Robotics & Automation Magazine - December 2019 - 76
IEEE Robotics & Automation Magazine - December 2019 - 77
IEEE Robotics & Automation Magazine - December 2019 - 78
IEEE Robotics & Automation Magazine - December 2019 - 79
IEEE Robotics & Automation Magazine - December 2019 - 80
IEEE Robotics & Automation Magazine - December 2019 - 81
IEEE Robotics & Automation Magazine - December 2019 - 82
IEEE Robotics & Automation Magazine - December 2019 - 83
IEEE Robotics & Automation Magazine - December 2019 - 84
IEEE Robotics & Automation Magazine - December 2019 - 85
IEEE Robotics & Automation Magazine - December 2019 - 86
IEEE Robotics & Automation Magazine - December 2019 - 87
IEEE Robotics & Automation Magazine - December 2019 - 88
IEEE Robotics & Automation Magazine - December 2019 - 89
IEEE Robotics & Automation Magazine - December 2019 - 90
IEEE Robotics & Automation Magazine - December 2019 - 91
IEEE Robotics & Automation Magazine - December 2019 - 92
IEEE Robotics & Automation Magazine - December 2019 - 93
IEEE Robotics & Automation Magazine - December 2019 - 94
IEEE Robotics & Automation Magazine - December 2019 - 95
IEEE Robotics & Automation Magazine - December 2019 - 96
IEEE Robotics & Automation Magazine - December 2019 - 97
IEEE Robotics & Automation Magazine - December 2019 - 98
IEEE Robotics & Automation Magazine - December 2019 - 99
IEEE Robotics & Automation Magazine - December 2019 - 100
IEEE Robotics & Automation Magazine - December 2019 - 101
IEEE Robotics & Automation Magazine - December 2019 - 102
IEEE Robotics & Automation Magazine - December 2019 - 103
IEEE Robotics & Automation Magazine - December 2019 - 104
IEEE Robotics & Automation Magazine - December 2019 - 105
IEEE Robotics & Automation Magazine - December 2019 - 106
IEEE Robotics & Automation Magazine - December 2019 - 107
IEEE Robotics & Automation Magazine - December 2019 - 108
IEEE Robotics & Automation Magazine - December 2019 - 109
IEEE Robotics & Automation Magazine - December 2019 - 110
IEEE Robotics & Automation Magazine - December 2019 - 111
IEEE Robotics & Automation Magazine - December 2019 - 112
IEEE Robotics & Automation Magazine - December 2019 - 113
IEEE Robotics & Automation Magazine - December 2019 - 114
IEEE Robotics & Automation Magazine - December 2019 - 115
IEEE Robotics & Automation Magazine - December 2019 - 116
IEEE Robotics & Automation Magazine - December 2019 - 117
IEEE Robotics & Automation Magazine - December 2019 - 118
IEEE Robotics & Automation Magazine - December 2019 - 119
IEEE Robotics & Automation Magazine - December 2019 - 120
IEEE Robotics & Automation Magazine - December 2019 - 121
IEEE Robotics & Automation Magazine - December 2019 - 122
IEEE Robotics & Automation Magazine - December 2019 - 123
IEEE Robotics & Automation Magazine - December 2019 - 124
IEEE Robotics & Automation Magazine - December 2019 - 125
IEEE Robotics & Automation Magazine - December 2019 - 126
IEEE Robotics & Automation Magazine - December 2019 - 127
IEEE Robotics & Automation Magazine - December 2019 - 128
IEEE Robotics & Automation Magazine - December 2019 - 129
IEEE Robotics & Automation Magazine - December 2019 - 130
IEEE Robotics & Automation Magazine - December 2019 - 131
IEEE Robotics & Automation Magazine - December 2019 - 132
IEEE Robotics & Automation Magazine - December 2019 - 133
IEEE Robotics & Automation Magazine - December 2019 - 134
IEEE Robotics & Automation Magazine - December 2019 - 135
IEEE Robotics & Automation Magazine - December 2019 - 136
IEEE Robotics & Automation Magazine - December 2019 - 137
IEEE Robotics & Automation Magazine - December 2019 - 138
IEEE Robotics & Automation Magazine - December 2019 - 139
IEEE Robotics & Automation Magazine - December 2019 - 140
IEEE Robotics & Automation Magazine - December 2019 - 141
IEEE Robotics & Automation Magazine - December 2019 - 142
IEEE Robotics & Automation Magazine - December 2019 - 143
IEEE Robotics & Automation Magazine - December 2019 - 144
IEEE Robotics & Automation Magazine - December 2019 - 145
IEEE Robotics & Automation Magazine - December 2019 - 146
IEEE Robotics & Automation Magazine - December 2019 - 147
IEEE Robotics & Automation Magazine - December 2019 - 148
IEEE Robotics & Automation Magazine - December 2019 - 149
IEEE Robotics & Automation Magazine - December 2019 - 150
IEEE Robotics & Automation Magazine - December 2019 - 151
IEEE Robotics & Automation Magazine - December 2019 - 152
IEEE Robotics & Automation Magazine - December 2019 - Cover3
IEEE Robotics & Automation Magazine - December 2019 - 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