Page 189 - Introduction to Autonomous Mobile Robots
P. 189
Chapter 4
174
In Shakey’s environment, edges corresponded to nonfloor objects, and so the floor plane
extraction algorithm simply consisted of the application of an edge detector to the mono-
chrome camera image. The lowest edges detected in an image corresponded to the closest
obstacles, and the direction of straight-line edges extracted from the image provided clues
regarding not only the position but also the orientation of walls and polygonal obstacles.
Although this very simple appearance-based obstacle detection system was successful,
it should be noted that special care had to be taken at the time to create indirect lighting in
the laboratory such that shadows were not cast, as the system would falsely interpret the
edges of shadows as obstacles.
Adaptive floor plane extraction. Floor plane extraction has succeeded not only in artifi-
cial environments but in real-world mobile robot demonstrations in which a robot avoids
both static obstacles such as walls and dynamic obstacles such as passersby, based on seg-
mentation of the floor plane at a rate of several hertz. Such floor plane extraction algorithms
tend to use edge detection and color detection jointly while making certain assumptions
regarding the floor, for example, the floor’s maximum texture or approximate color range
[78].
Each system based on fixed assumptions regarding the floor’s appearance is limited to
only those environments satisfying its constraints. A more recent approach is that of adap-
tive floor plane extraction, whereby the parameters defining the expected appearance of the
floor are allowed to vary over time. In the simplest instance, one can assume that the pixels
at the bottom of the image (i.e., closest to the robot) are part of the floor and contain no
obstacles. Then, statistics computed on these “floor sample” pixels can be used to classify
the remaining image pixels.
The key challenge in adaptive systems is the choice of what statistics to compute using
the “floor sample” pixels. The most popular solution is to construct one or more histograms
based on the floor sample pixel values. Under “edge detection” above, we found histograms
to be useful in determining the best cut point in edge detection thresholding algorithms.
Histograms are also useful as discrete representations of distributions. Unlike the Gaussian
representation, a histogram can capture multi-modal distributions. Histograms can also be
updated very quickly and use very little processor memory. An intensity histogram of the
I
I
“floor sample” subregion of image is constructed as follows:
f
I
• As preprocessing, smooth , using a Gaussian smoothing operator.
f
,
• Initialize a histogram array H with n intensity values: H i[] = 0 for i = 1 …, . n
• For every pixel xy,( ) in increment the histogram: HI xy,([ f )] += 1.
I
f
The histogram array serves as a characterization of the appearance of the floor plane.
H
Often, several 1D histograms are constructed, corresponding to intensity, hue, and satura-
tion, for example. Classification of each pixel in as floor plane or obstacle is performed
I