IEEE Robotics & Automation Magazine - September 2012 - 49

fusion component fuses the proprioceptive and exteroceptive sensor data. Mission-dependent recognition of world
features, such as persons or interesting objects, is done in
the recognition module. World representation, as well as
planning and decision-making functionalities, is realized in
the cognition layer. Lastly, the action layer is involved in stabilizing and moving the UAV in the desired manner. Such
categorization allows for a clear definition of the interfaces
between components and the minimum required set of
component functionalities. The realization of this structure
in our experimental system can be presented more clearly
when grouped by the layer subdivision.
Perception
The UAV should be able to fly in structured indoor environments as well as outdoors. The indoor environments consist
of clearly defined vertical structures (walls) that can be
detected by a laser scanner. However, poor lighting conditions
and a low number of environment features make indoor environments unsuitable for a camera-based odometry system.
Conversely, the outdoor environments lack clear structures.
Sunlit environments contain light in the part of the spectrum
that coincides with that used by infrared laser scanners, disturbing the measurements. This makes low-powered lightweight laser scanners, which are commonly employed on
flying systems, unsuitable for such environments. Outdoor
environments have many natural features and good lighting
conditions, which makes them well suited for visual odometry
systems. In such environments, previous camera images can be
easily recognized, so the camera can be used for loop closure.
In our approach, we use both laser and stereo odometry
for pose estimation. The combination of two odometry
approaches allows compensating drawbacks of a single sensor. Moreover, the estimation of all six degrees of freedom
(6 DoF) states can be done using only one filter. This differs
from other approaches, where either laser odometry [6] or
monocular visual odometry [7] is used for pose estimation.
The stereo camera in our system points downward not
only to ensure that the odometry is available in outdoor areas
but also to enable detection of a target from above. Drift
errors can be compensated by using key frames in the visual
odometry system, as well as recognition of known landmarks
in a topological map. For the indoor exploration mission, the
map is fixed and predefined, as known landmarks include the
window, door, and chimney. Their exact position is known
with respect to the house, so they can be used to correct drift
errors. These are detected and tracked using front-facing and
upward-facing cameras (not shown in Figure 1), respectively.
Two separate cameras provide more stable tracking than a
pan-tilt unit with one camera of the same weight.
Odometry
Laser Odometry
The laser odometry system is based on Censi's canonical
scan matcher [12]. The laser scan is projected to the ground

plane in the laser transform component, using attitude information from the data fusion component (Figure 2). The projected data are only valid for scan matching if the scanned
environment objects contain vertical planes. This assumption is valid for most indoor environments. The algorithm
uses an iterative closest point (ICP) variant to compute
three-dimensional (3-D) delta movement information
[change in (x, y) position and yaw angle] between two points
in time and the corresponding measurement covariance.
Visual Odometry
A correlation-based algorithm [13], [14] is used to obtain a
disparity image from two time-synchronized camera
images in the stereo-processing component. Based on this
3-D information, the six-dimensional delta position and
orientation between two points in time as well as the corresponding measurement covariance are calculated [15]. The
algorithm supports a key frame buffer so that the delta
measurement refers not just to the last acquired image but
also to the image in the buffer that gives the delta measurement with the smallest absolute covariance.
As shown in the "Experimental Results" section, the
estimated variances for laser and camera odometry are a
good indicator to classify the environment into indoor and
outdoor. In the variance calculation for each sensor, it is
assumed that there are no outliers in the measurement.
During the experiments, we have found that, under bad
sensor conditions, outliers in the measurements occurred.
These could not be detected by an outlier rejection mechanism using Mahalanobis distance. Therefore, the measurement variance is invalid. Fusing these measurements
would lead to unpredictable behavior of the filter. Because
of this, we switch to the sensor that works well in a specific
environment. We assume that the sensor with the smallest
measurement variance is best suited in the current environment and is therefore used for fusion.
Data Fusion
The proprioceptive sensor information from the IMU and
the exteroceptive odometry information have to be fused
to get the current system state estimate. There are two
main challenges.
First, the odometry data give only relative position and
orientation information. Second, the odometry data are time
delayed because of measurement and data processing time.
Precise times of measurement are obtained through hardware synchronization triggers. The total delay of the laser
odometry in the experimental system is about 100 ms with
an update frequency of 10 Hz, and for the visual odometry,
the delay is more than 300 ms, with a frequency of 3 Hz.
Therefore, the measurement refers to a state in the past. As
the estimate is used to control the UAV, and the quadrotor
dynamics are fast compared to the measurement delays, the
latter have to be considered in the data fusion algorithm.
This is realized using an indirect feedback Kalman filter with
state augmentation [16] using two state vectors.
SEPTEMBER 2012

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

49



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

IEEE Robotics & Automation Magazine - September 2012 - Cover1
IEEE Robotics & Automation Magazine - September 2012 - Cover2
IEEE Robotics & Automation Magazine - September 2012 - 1
IEEE Robotics & Automation Magazine - September 2012 - 2
IEEE Robotics & Automation Magazine - September 2012 - 3
IEEE Robotics & Automation Magazine - September 2012 - 4
IEEE Robotics & Automation Magazine - September 2012 - 5
IEEE Robotics & Automation Magazine - September 2012 - 6
IEEE Robotics & Automation Magazine - September 2012 - 7
IEEE Robotics & Automation Magazine - September 2012 - 8
IEEE Robotics & Automation Magazine - September 2012 - 9
IEEE Robotics & Automation Magazine - September 2012 - 10
IEEE Robotics & Automation Magazine - September 2012 - 11
IEEE Robotics & Automation Magazine - September 2012 - 12
IEEE Robotics & Automation Magazine - September 2012 - 13
IEEE Robotics & Automation Magazine - September 2012 - 14
IEEE Robotics & Automation Magazine - September 2012 - 15
IEEE Robotics & Automation Magazine - September 2012 - 16
IEEE Robotics & Automation Magazine - September 2012 - 17
IEEE Robotics & Automation Magazine - September 2012 - 18
IEEE Robotics & Automation Magazine - September 2012 - 19
IEEE Robotics & Automation Magazine - September 2012 - 20
IEEE Robotics & Automation Magazine - September 2012 - 21
IEEE Robotics & Automation Magazine - September 2012 - 22
IEEE Robotics & Automation Magazine - September 2012 - 23
IEEE Robotics & Automation Magazine - September 2012 - 24
IEEE Robotics & Automation Magazine - September 2012 - 25
IEEE Robotics & Automation Magazine - September 2012 - 26
IEEE Robotics & Automation Magazine - September 2012 - 27
IEEE Robotics & Automation Magazine - September 2012 - 28
IEEE Robotics & Automation Magazine - September 2012 - 29
IEEE Robotics & Automation Magazine - September 2012 - 30
IEEE Robotics & Automation Magazine - September 2012 - 31
IEEE Robotics & Automation Magazine - September 2012 - 32
IEEE Robotics & Automation Magazine - September 2012 - 33
IEEE Robotics & Automation Magazine - September 2012 - 34
IEEE Robotics & Automation Magazine - September 2012 - 35
IEEE Robotics & Automation Magazine - September 2012 - 36
IEEE Robotics & Automation Magazine - September 2012 - 37
IEEE Robotics & Automation Magazine - September 2012 - 38
IEEE Robotics & Automation Magazine - September 2012 - 39
IEEE Robotics & Automation Magazine - September 2012 - 40
IEEE Robotics & Automation Magazine - September 2012 - 41
IEEE Robotics & Automation Magazine - September 2012 - 42
IEEE Robotics & Automation Magazine - September 2012 - 43
IEEE Robotics & Automation Magazine - September 2012 - 44
IEEE Robotics & Automation Magazine - September 2012 - 45
IEEE Robotics & Automation Magazine - September 2012 - 46
IEEE Robotics & Automation Magazine - September 2012 - 47
IEEE Robotics & Automation Magazine - September 2012 - 48
IEEE Robotics & Automation Magazine - September 2012 - 49
IEEE Robotics & Automation Magazine - September 2012 - 50
IEEE Robotics & Automation Magazine - September 2012 - 51
IEEE Robotics & Automation Magazine - September 2012 - 52
IEEE Robotics & Automation Magazine - September 2012 - 53
IEEE Robotics & Automation Magazine - September 2012 - 54
IEEE Robotics & Automation Magazine - September 2012 - 55
IEEE Robotics & Automation Magazine - September 2012 - 56
IEEE Robotics & Automation Magazine - September 2012 - 57
IEEE Robotics & Automation Magazine - September 2012 - 58
IEEE Robotics & Automation Magazine - September 2012 - 59
IEEE Robotics & Automation Magazine - September 2012 - 60
IEEE Robotics & Automation Magazine - September 2012 - 61
IEEE Robotics & Automation Magazine - September 2012 - 62
IEEE Robotics & Automation Magazine - September 2012 - 63
IEEE Robotics & Automation Magazine - September 2012 - 64
IEEE Robotics & Automation Magazine - September 2012 - 65
IEEE Robotics & Automation Magazine - September 2012 - 66
IEEE Robotics & Automation Magazine - September 2012 - 67
IEEE Robotics & Automation Magazine - September 2012 - 68
IEEE Robotics & Automation Magazine - September 2012 - 69
IEEE Robotics & Automation Magazine - September 2012 - 70
IEEE Robotics & Automation Magazine - September 2012 - 71
IEEE Robotics & Automation Magazine - September 2012 - 72
IEEE Robotics & Automation Magazine - September 2012 - 73
IEEE Robotics & Automation Magazine - September 2012 - 74
IEEE Robotics & Automation Magazine - September 2012 - 75
IEEE Robotics & Automation Magazine - September 2012 - 76
IEEE Robotics & Automation Magazine - September 2012 - 77
IEEE Robotics & Automation Magazine - September 2012 - 78
IEEE Robotics & Automation Magazine - September 2012 - 79
IEEE Robotics & Automation Magazine - September 2012 - 80
IEEE Robotics & Automation Magazine - September 2012 - 81
IEEE Robotics & Automation Magazine - September 2012 - 82
IEEE Robotics & Automation Magazine - September 2012 - 83
IEEE Robotics & Automation Magazine - September 2012 - 84
IEEE Robotics & Automation Magazine - September 2012 - 85
IEEE Robotics & Automation Magazine - September 2012 - 86
IEEE Robotics & Automation Magazine - September 2012 - 87
IEEE Robotics & Automation Magazine - September 2012 - 88
IEEE Robotics & Automation Magazine - September 2012 - 89
IEEE Robotics & Automation Magazine - September 2012 - 90
IEEE Robotics & Automation Magazine - September 2012 - 91
IEEE Robotics & Automation Magazine - September 2012 - 92
IEEE Robotics & Automation Magazine - September 2012 - 93
IEEE Robotics & Automation Magazine - September 2012 - 94
IEEE Robotics & Automation Magazine - September 2012 - 95
IEEE Robotics & Automation Magazine - September 2012 - 96
IEEE Robotics & Automation Magazine - September 2012 - 97
IEEE Robotics & Automation Magazine - September 2012 - 98
IEEE Robotics & Automation Magazine - September 2012 - 99
IEEE Robotics & Automation Magazine - September 2012 - 100
IEEE Robotics & Automation Magazine - September 2012 - 101
IEEE Robotics & Automation Magazine - September 2012 - 102
IEEE Robotics & Automation Magazine - September 2012 - 103
IEEE Robotics & Automation Magazine - September 2012 - 104
IEEE Robotics & Automation Magazine - September 2012 - 105
IEEE Robotics & Automation Magazine - September 2012 - 106
IEEE Robotics & Automation Magazine - September 2012 - 107
IEEE Robotics & Automation Magazine - September 2012 - 108
IEEE Robotics & Automation Magazine - September 2012 - 109
IEEE Robotics & Automation Magazine - September 2012 - 110
IEEE Robotics & Automation Magazine - September 2012 - 111
IEEE Robotics & Automation Magazine - September 2012 - 112
IEEE Robotics & Automation Magazine - September 2012 - 113
IEEE Robotics & Automation Magazine - September 2012 - 114
IEEE Robotics & Automation Magazine - September 2012 - 115
IEEE Robotics & Automation Magazine - September 2012 - 116
IEEE Robotics & Automation Magazine - September 2012 - 117
IEEE Robotics & Automation Magazine - September 2012 - 118
IEEE Robotics & Automation Magazine - September 2012 - 119
IEEE Robotics & Automation Magazine - September 2012 - 120
IEEE Robotics & Automation Magazine - September 2012 - 121
IEEE Robotics & Automation Magazine - September 2012 - 122
IEEE Robotics & Automation Magazine - September 2012 - 123
IEEE Robotics & Automation Magazine - September 2012 - 124
IEEE Robotics & Automation Magazine - September 2012 - 125
IEEE Robotics & Automation Magazine - September 2012 - 126
IEEE Robotics & Automation Magazine - September 2012 - 127
IEEE Robotics & Automation Magazine - September 2012 - 128
IEEE Robotics & Automation Magazine - September 2012 - Cover3
IEEE Robotics & Automation Magazine - September 2012 - 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