IEEE Robotics & Automation Magazine - March 2013 - 69
everything that does not fall into this region as an obstacle; we
follow an approach similar to that proposed in [13], albeit
with monocular vision, rather than using a stereo head.
The first step is to segment the image into constituent
regions. For this, we use the watershed algorithm, since it is
fast enough to work in real time [15]. We take the original
image [Figure 4(a)] and begin by applying the well-known
Canny edge-detection, as shown in Figure 4(b). A distance
transform is then applied such that each pixel is given a value
that represents the minimum Euclidean distance to the nearest edge. This results in the relief map as shown in Figure
4(c), with a set of peaks (the farthest points from the edges)
and troughs (the edges themselves). The watershed segmentation algorithm itself is applied to this relief map, using the
peaks as markers, which results in an image with a (large)
number of segments [see Figure 4(d)]. To reduce the number
of segments, the adjacent regions with similar average colors
are merged. Finally, the average color of the region that has
the largest number of pixels along the base of the image is
considered to be the floor. All the remaining regions in the
image are classified either as obstacles or as navigable floor,
depending on how closely they match the newly defined
floor color. The result is shown in Figure 4(e), where the
detected obstacles are highlighted in red.
Since we know the relative position of the camera and its
lens distortion parameters, we are able to build a local occupancy grid that can be used by the shared controller, as is
described in the following section.
Updating the Occupancy Grid
At each time-step, the occupancy grid is updated to include
the latest sample of sensory data from each sonar and the output of the computer vision obstacle-detection algorithm. We
extend the histogram grid construction method described in
[16] by fusing information from multiple sensor types into
the same occupancy grid. For the sonars, we consider a ray to
be emitted from each device along its sensing axis. The likelihood value of each occupancy grid cell that the ray passes
through is decremented, while the final grid cell (at the distance value returned by the sonar) is incremented. A similar
process is applied for each column of pixels from the computer vision algorithm, as shown in Figure 5. The weight of
each increment and decrement is determined by the confidence we have for each sensor at that specific distance. For
example, the confidence of the sonar readings being correct in
the range 3-50 cm is high, whereas outside this range it is
zero (note that the sonars are capable of sensing up to 6 m,
but given that they are mounted low on the wheelchair, the
reflections from the ground yield a practical limit of 0.5 m).
Similarly, the computer vision algorithm only returns valid
readings for distances between 0.5 and 3 m. Using this
method, multiple sensors and sensor modalities can be integrated into the planning grid.
As the wheelchair moves around the environment, the
information from the wheel-encoder-based dead-reckoning
system is used to translate and rotate the occupancy grid cells
(x, y)
d = f(x, y)
Figure 5. Each column of pixels is scanned from bottom to top in
order to detect the nearest obstacle (assuming it intersects with
the ground). The estimated distance from the wheelchair to this
obstacle is a function of the (x, y) pixel coordinates and the camera
distortion parameters.
such that the wheelchair
Many BCI implementations
remains at the center of
the map. In this way, the
rely on the subject
cells accumulate evidence
over time from multiple
attending to visual stimuli
sensors and sensor modalities. As new cells enter the
presented on a screen.
map at the boundaries,
they are set to "unknown,"
or "50% probability of
being occupied," until new occupancy evidence (from sensor
readings) becomes available.
Motion Planning
All the motion planning is done at the level of the occupancy
grid, which integrates the data from multiple sensors. We base
Detection Zones
LF2
F2
LF1
RF2
RF1
F1
y
LC1
RC1
x
RB1
LB1
Wheelchair
Figure 6. Diagram of the wheelchair centered in an 8 # 8-m
occupancy grid (to scale). The wheelchair obstacle-detection zones
are labeled, and the origin of the coordinate system is on the center
of the wheelchair's driving axle.
March 2013
*
IEEE ROBOTICS & AUTOMATION MAGAZINE
*
69
Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - March 2013
IEEE Robotics & Automation Magazine - March 2013 - Cover1
IEEE Robotics & Automation Magazine - March 2013 - Cover2
IEEE Robotics & Automation Magazine - March 2013 - 1
IEEE Robotics & Automation Magazine - March 2013 - 2
IEEE Robotics & Automation Magazine - March 2013 - 3
IEEE Robotics & Automation Magazine - March 2013 - 4
IEEE Robotics & Automation Magazine - March 2013 - 5
IEEE Robotics & Automation Magazine - March 2013 - 6
IEEE Robotics & Automation Magazine - March 2013 - 7
IEEE Robotics & Automation Magazine - March 2013 - 8
IEEE Robotics & Automation Magazine - March 2013 - 9
IEEE Robotics & Automation Magazine - March 2013 - 10
IEEE Robotics & Automation Magazine - March 2013 - 11
IEEE Robotics & Automation Magazine - March 2013 - 12
IEEE Robotics & Automation Magazine - March 2013 - 13
IEEE Robotics & Automation Magazine - March 2013 - 14
IEEE Robotics & Automation Magazine - March 2013 - 15
IEEE Robotics & Automation Magazine - March 2013 - 16
IEEE Robotics & Automation Magazine - March 2013 - 17
IEEE Robotics & Automation Magazine - March 2013 - 18
IEEE Robotics & Automation Magazine - March 2013 - 19
IEEE Robotics & Automation Magazine - March 2013 - 20
IEEE Robotics & Automation Magazine - March 2013 - 21
IEEE Robotics & Automation Magazine - March 2013 - 22
IEEE Robotics & Automation Magazine - March 2013 - 23
IEEE Robotics & Automation Magazine - March 2013 - 24
IEEE Robotics & Automation Magazine - March 2013 - 25
IEEE Robotics & Automation Magazine - March 2013 - 26
IEEE Robotics & Automation Magazine - March 2013 - 27
IEEE Robotics & Automation Magazine - March 2013 - 28
IEEE Robotics & Automation Magazine - March 2013 - 29
IEEE Robotics & Automation Magazine - March 2013 - 30
IEEE Robotics & Automation Magazine - March 2013 - 31
IEEE Robotics & Automation Magazine - March 2013 - 32
IEEE Robotics & Automation Magazine - March 2013 - 33
IEEE Robotics & Automation Magazine - March 2013 - 34
IEEE Robotics & Automation Magazine - March 2013 - 35
IEEE Robotics & Automation Magazine - March 2013 - 36
IEEE Robotics & Automation Magazine - March 2013 - 37
IEEE Robotics & Automation Magazine - March 2013 - 38
IEEE Robotics & Automation Magazine - March 2013 - 39
IEEE Robotics & Automation Magazine - March 2013 - 40
IEEE Robotics & Automation Magazine - March 2013 - 41
IEEE Robotics & Automation Magazine - March 2013 - 42
IEEE Robotics & Automation Magazine - March 2013 - 43
IEEE Robotics & Automation Magazine - March 2013 - 44
IEEE Robotics & Automation Magazine - March 2013 - 45
IEEE Robotics & Automation Magazine - March 2013 - 46
IEEE Robotics & Automation Magazine - March 2013 - 47
IEEE Robotics & Automation Magazine - March 2013 - 48
IEEE Robotics & Automation Magazine - March 2013 - 49
IEEE Robotics & Automation Magazine - March 2013 - 50
IEEE Robotics & Automation Magazine - March 2013 - 51
IEEE Robotics & Automation Magazine - March 2013 - 52
IEEE Robotics & Automation Magazine - March 2013 - 53
IEEE Robotics & Automation Magazine - March 2013 - 54
IEEE Robotics & Automation Magazine - March 2013 - 55
IEEE Robotics & Automation Magazine - March 2013 - 56
IEEE Robotics & Automation Magazine - March 2013 - 57
IEEE Robotics & Automation Magazine - March 2013 - 58
IEEE Robotics & Automation Magazine - March 2013 - 59
IEEE Robotics & Automation Magazine - March 2013 - 60
IEEE Robotics & Automation Magazine - March 2013 - 61
IEEE Robotics & Automation Magazine - March 2013 - 62
IEEE Robotics & Automation Magazine - March 2013 - 63
IEEE Robotics & Automation Magazine - March 2013 - 64
IEEE Robotics & Automation Magazine - March 2013 - 65
IEEE Robotics & Automation Magazine - March 2013 - 66
IEEE Robotics & Automation Magazine - March 2013 - 67
IEEE Robotics & Automation Magazine - March 2013 - 68
IEEE Robotics & Automation Magazine - March 2013 - 69
IEEE Robotics & Automation Magazine - March 2013 - 70
IEEE Robotics & Automation Magazine - March 2013 - 71
IEEE Robotics & Automation Magazine - March 2013 - 72
IEEE Robotics & Automation Magazine - March 2013 - 73
IEEE Robotics & Automation Magazine - March 2013 - 74
IEEE Robotics & Automation Magazine - March 2013 - 75
IEEE Robotics & Automation Magazine - March 2013 - 76
IEEE Robotics & Automation Magazine - March 2013 - 77
IEEE Robotics & Automation Magazine - March 2013 - 78
IEEE Robotics & Automation Magazine - March 2013 - 79
IEEE Robotics & Automation Magazine - March 2013 - 80
IEEE Robotics & Automation Magazine - March 2013 - 81
IEEE Robotics & Automation Magazine - March 2013 - 82
IEEE Robotics & Automation Magazine - March 2013 - 83
IEEE Robotics & Automation Magazine - March 2013 - 84
IEEE Robotics & Automation Magazine - March 2013 - 85
IEEE Robotics & Automation Magazine - March 2013 - 86
IEEE Robotics & Automation Magazine - March 2013 - 87
IEEE Robotics & Automation Magazine - March 2013 - 88
IEEE Robotics & Automation Magazine - March 2013 - 89
IEEE Robotics & Automation Magazine - March 2013 - 90
IEEE Robotics & Automation Magazine - March 2013 - 91
IEEE Robotics & Automation Magazine - March 2013 - 92
IEEE Robotics & Automation Magazine - March 2013 - 93
IEEE Robotics & Automation Magazine - March 2013 - 94
IEEE Robotics & Automation Magazine - March 2013 - 95
IEEE Robotics & Automation Magazine - March 2013 - 96
IEEE Robotics & Automation Magazine - March 2013 - 97
IEEE Robotics & Automation Magazine - March 2013 - 98
IEEE Robotics & Automation Magazine - March 2013 - 99
IEEE Robotics & Automation Magazine - March 2013 - 100
IEEE Robotics & Automation Magazine - March 2013 - 101
IEEE Robotics & Automation Magazine - March 2013 - 102
IEEE Robotics & Automation Magazine - March 2013 - 103
IEEE Robotics & Automation Magazine - March 2013 - 104
IEEE Robotics & Automation Magazine - March 2013 - 105
IEEE Robotics & Automation Magazine - March 2013 - 106
IEEE Robotics & Automation Magazine - March 2013 - 107
IEEE Robotics & Automation Magazine - March 2013 - 108
IEEE Robotics & Automation Magazine - March 2013 - 109
IEEE Robotics & Automation Magazine - March 2013 - 110
IEEE Robotics & Automation Magazine - March 2013 - 111
IEEE Robotics & Automation Magazine - March 2013 - 112
IEEE Robotics & Automation Magazine - March 2013 - 113
IEEE Robotics & Automation Magazine - March 2013 - 114
IEEE Robotics & Automation Magazine - March 2013 - 115
IEEE Robotics & Automation Magazine - March 2013 - 116
IEEE Robotics & Automation Magazine - March 2013 - 117
IEEE Robotics & Automation Magazine - March 2013 - 118
IEEE Robotics & Automation Magazine - March 2013 - 119
IEEE Robotics & Automation Magazine - March 2013 - 120
IEEE Robotics & Automation Magazine - March 2013 - 121
IEEE Robotics & Automation Magazine - March 2013 - 122
IEEE Robotics & Automation Magazine - March 2013 - 123
IEEE Robotics & Automation Magazine - March 2013 - 124
IEEE Robotics & Automation Magazine - March 2013 - 125
IEEE Robotics & Automation Magazine - March 2013 - 126
IEEE Robotics & Automation Magazine - March 2013 - 127
IEEE Robotics & Automation Magazine - March 2013 - 128
IEEE Robotics & Automation Magazine - March 2013 - Cover3
IEEE Robotics & Automation Magazine - March 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