IEEE Robotics & Automation Magazine - December 2013 - 43

Information Fusion for Control
To ensure high-rate, accurate, and drift-free pose estimates for
feedback control, we use two separate extended KFs (EKFs)
to fuse and boost the pose estimate to 100 Hz. The first EKF
combines the 20-Hz pose estimate and the 10-Hz SLAM pose
correction. The information from the pose estimator and
SLAM is not independent, but the major role of this EKF is to
provide smooth compensation for possible delay in the SLAM
estimate introduced by large-scale loop closure and map corrections. We additionally employ a delayed measurement
update scheme to match the timing of the different sources of
information driving the pose estimate.
The second EKF combines the 20-Hz pose estimate from
the first EKF and the 100-Hz IMU data to provide 100-Hz
pose and linear velocity estimates in the world frame. The
final estimation output has an average delay of 0.01 s and
feeds directly into the feedback control loop of the robot for
position and velocity control.
Environment Representation
Given the estimated global pose of the robot, we can transform
laser scans accordingly and produce a dense 3-D environment
representation for planning and obstacle avoidance. However,
the amount of onboard memory is limited in mobile processors like ours. As we are primarily interested in indoor environments, the majority of obstacles take the form of vertical
walls. Therefore, we use a modified multivolume occupancy
grid map similar to [19] to create a compact occupied space
representation by merging contiguous occupied cells into
common vertical regions. For general indoor environments,
the resulting map typically has a memory cost on the same
order as a two-dimensional (2-D) occupancy grid map.
Planning and Control
Since the focus of this article is primarily the mapping and
localization required for autonomous navigation, we note here
only a general overview of our approach. Given the current
pose estimate of the robot and a map of the environment, we
employ incremental sampling-based planning (RRT*) [20],
where the robot is treated as a point-model kinematic system
with orientation (about z W ). We employ proportional-derivative feedback control laws to transform these kinematic inputs
to appropriate dynamic control inputs [21]. Tuning of control
gains is accomplished via optimal control methods (LQR)
based on a linearized system model.
Extensions
In the previous section, we described the system design and
discussed algorithm selection based on performance requirements and processor/sensor constraints. We now detail extensions to these algorithms that permit real-time operation
across multiple floors. Many of these extensions are based on
approximate solutions that are necessary to enable real-time
implementation. Additionally, we discuss the online estimation and compensation of aerodynamic effects due to wind or
propeller backwash in small corridors or near walls.

Environment Assumptions
As the domain of interest is indoor environments and periphery, we assume 2.5-dimensional (2.5-D) environment models
formed by collections of vertical walls and horizontal ground
planes, all assumed to be piecewise constant. Let 6x s, y s, z s@T
be the laser scan endpoints in the body frame. We can project
the laser scans to a horizontal plane by
6x g , y g , z g@T = R i R z 6x s, y s, z s@T.

We eliminate the scans that hit the floor or ceiling, which are
generally not useful for scan matching, by comparing z g with
the redirected laser scans pointing upward and downward.
Although this approach largely simplifies the challenges
of full 3-D scan matching
using only 2-D laser range
finders, the 2.5-D enviMAVs offer a unique
ronment assumption is
violated in cluttered and
capability for mapping and
outdoor environments
with natural structure. In
exploration in complex
our experiments, we see
that partial structure in
environments.
the environment satisfies
this assumption, and the
overall performance is acceptable.
Altitude Measurement
We measure the variation in altitude with scans pointing to the
floor and use this value to approximate the variance used in
the measurement update of the KF. If the variation is too high,
generally due to uneven surfaces or during a floor level change,
we discard the current laser measurement and defer the measurement update until a stable measurement is obtained. An
additional mirror deflects scans vertically upward toward the
ceiling. These measurements provide additional robustness
should there be no stable downward measurements available.
When no upward or downward laser measurements are available, we use an onboard pressure sensor for short-term measurement updates and force the robot to lower its height.
Corrections of accumulated errors caused by frequent floor
transitions are resolved through loop closure.
Incremental, Approximate Loop Closure
Loop closure for large loops is typically computationally
expensive with significant memory requirements. Although
several methods exist for reducing the computational burden
[18], [22], we found that these methods are too demanding
for a 1.6-GHz processor. With the understanding that we are
more concerned with global consistency than absolute accuracy, we propose a mild extension that results in an incremental but approximate approach.
As shown in Figure 3, the general idea of this approach is
as follows: A robot travels from P1 to P1 . Loop closure is
detected between P1 and P5 ; we contract this loop to P1:5 . We
DECEMBER 2013

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

43



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