IEEE Robotics & Automation Magazine - December 2019 - 34

motion or an equilibrium point in a few steps is a simple and effective way to guarantee that it is able to avoid
falling. This also provides a simple method to detect the
risk of an imminent fall to trigger fall-mitigation behaviors when appropriate.
The Comanoid consortium adopted a standard multistage framework for walking motion generation and control: 1) a short sequence of step positions and phase
durations is proposed depending on robot current and goal
states as well as the environment (i.e., obstacles and people); 2) the resulting motion of the CoM and contact forces
are computed, making certain that a cyclic motion or an
equilibrium point can be reached within a few steps; and 3)
the robot is controlled to realize the computed CoM
motion and contact forces.
We devised several approaches wvithin this common
framework to improve reliability and safety. Some address
stages 1 and 2 in the previous paragraph separately [11],
while other approaches do so in a single stage [12]. This is
slightly more involved numerically, but it improves the
robot's capacity to react effectively to a dynamic environment. In static environments, stages 1 and 2 can be considered once every few steps. Otherwise, e.g., with
workers moving around, these stages are reevaluated more
often, using approaches based on model predictive control (MPC).
Capturability approaches guarantee that the robot is consistently in a viable state and is always able to stop safely
[12]. Alternative approaches investigate the more general
concept of boundedness [13]. One approach that integrates
safety guidelines w.r.t. surrounding humans is to adapt the
current goal of the robot w.r.t. the current state of the environment [14]. One can also integrate collision mitigation
and passive safety constraints directly in a combination of
stages 1 and 2 [12]. This is more involved numerically, but it
improves the robot's capacity to navigate safely in the presence of workers.
To negotiate uneven ground and stairs, the robot's
CoM height should be adjustable, thus introducing the
nonlinearities present in stage 2. These nonlinearities are
sometimes neglected, but at the risk of failure. We handle
them explicitly by considering a piecewise, linear 3D trajectory of the DCM  [11], or we bound them by constraining the height variations of the CoM above the
ground, adapting its capturability and boundedness
accordingly [15].
This diversity of approaches has been used to demonstrate two different humanoid robots capable of navigating
in a typical Airbus environment, walking reliably to their
exact destinations to complete effectively the assigned
manipulation tasks. This requires a tight integration of
walking with visual servoing and SLAM, multicontact
phases, and safety guidelines. This tight integration is arguably the biggest achievement of the project, as walking is
not addressed independently from navigation, manipulation, and safety issues.
34

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

DECEMBER 2019

In-Site and In-Craft Localization and Mapping
Autonomous SLAM in aircraft manufacturing is a fundamental capability for practical use of humanoid robots in a
real-world setting. Few real-time (RT) approaches have
been proposed that can account for dynamic environments
and long-term incremental changes (e.g., the manufacturing process and lighting variation) while maintaining positioning accuracy or tolerating loss of tracking. Moreover,
assembly operations require continuous correspondence
between the evolving digital mockup and the reality of the
airplane assembly. Consequently, semantic knowledge is
highly necessary.
Image-based keyframe navigation was used for its efficiency and accuracy in humanoid positioning because it allows
for closing the feedback control loop in the sensor space, subsequently avoiding drift, improving robustness, and enabling
loop closure and relocalization (see the results in the "Integration and Experiments" section).
Keyframe SLAM and Image-Based Navigation
A direct, multi-keyframe approach is used to perform redgreen-blue-depth (RGB-D) SLAM for navigation [16]. The
sensor pose p ! se(3) is estimated w.r.t. the set of closest keyframes by minimizing the error between the current frame
and a predicted one. The current measurement vector for
each intensity and depth i is defined as M i = [P i< I i]< ! R 4.
The predicted keyframe M )i ! R 4 is obtained by blending the
n closest keyframes (typically five) at the last pose estimate.
The point-to-hyperplane iterative closest-point approach [17]
is then used to estimate the pose iteratively from the following
error function:
e i (p) = N )i <(M )i - w (M i, p)),

(2)

4
where the normals N )<
i ! R are computed once on the referenced 4D measurement vector and w ($) is the warping
function that transforms the current image to the reference,
based on the current pose estimate.
This basic alignment procedure is extended to large environments by using a keyframe graph, built and refined incrementally as mapping is performed. To take advantage of the
topometric keyframe representation, the target position is
given as a sensor-based keyframe to reach. This permits the
direct image-based error defined in (2) to be minimized by
the robot controller, effectively allowing the robot to position
itself with high accuracy locally while tolerating global drift.

Map Reuse, Place Recognition, and
Time-Varying Environments
Due to the complexity of the manufacturing site's factors, such
as workers, tools, and assembly increments, a prior keyframe
graph was created from a static environment and then reused
online. To ensure robot positioning, pose uncertainty and
sensor-based errors were monitored to determine tracking
loss and trigger relocalization (i.e., pose estimation w.r.t. the
nearest keyframes). In addition, the robot's viewing direction



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