block it is planning to select is occluded by an obsta-
cle or a wall, as shown in Figure 3. In this scenario
too, the robot has to select a previously unexplored lo-
cation to start defining a new block. Selecting a new
location requires the robot to check its own short term
coverage history, as well as its fused long term cov-
erage history. The scenario in which a robot selects
an unexplored location is shown in Figure 3. The
robot first selects a virtual polygonal area p at random
within the environment. It then calculates the overlap
between this region p and the region it is aware of as
being covered from its coverage history. If the per-
centage overlap is below a threshold that is initialized
to O
T hr,init
, the virtual polygon p is accepted as the
polygon to start coverage from next and the robot se-
lects one vertex of p to as the start vertex for using sin-
gleBlockDefine with this polygon. If the percentage
overlap crosses the threshold for n
T RIES
successive at-
tempts, the robot reattempts to select another virtual
polygon at a different location while increasing the
threshold by a factor δ
T hr
. If a polygon with over-
lap below O
T hr,max
cannot be found, the robot aborts
trying to select an unexplored location and stops. If
the selectUnexploredLocation algorithm successfully
returns a valid location, the robot uses an A* search
algorithm to plan its path to reach the location.
3 EXPERIMENTAL RESULTS
For verifying our coverage algorithm we have run sev-
eral experiments using Corobot robots within a robot
simulator called Webots. The Corobot robot is a four-
wheeled platform. Two cross-beam IR sensors with
a maximum range of 80 cm were placed on the front
of the robot for obstacle avoidance while one IR sen-
sor with a maximum range of 80 cm was placed on
each side of the robot to enable wall-following. Each
robot has wireless communications capabilities, and
a localization module (Hagisonic Stargazer RS kit)
that provides 2-D coordinates of the robot’s position
within the reference frame of the environment and has
an accuracy within ±2 cm of the robot’s actual loca-
tion. A photograph of the Corobot robot is shown in
Figure 4(a). The default speed of the robot was set to
5.2 cm/sec. A robot defined a single block as a square
(n = 4) with each side’s length as d = 1 m. The dis-
tance at which a robot checks if it is still inside the vir-
tual block while following a wall is set to 0.1 m (one
half the length of a side of the robot). For the map
compression algorithm, the fitness threshold value for
discarding a compressed polygon is f
T Hr
= 0.0 to
achieve a fair balance between introducing undesir-
able region and discarding desirable regions. Finally,
for the selectUnexploredLocation algorithm, the ini-
tial and maximum values of the overlap threshold
for discarding a polygon are O
T hr,init
= 0.0 (start op-
timistically with a target of finding a polygon with
no overlap), and O
T hr,max
= 0.95 (stop finding new
locations for starting a block define when 95% of
two polygons overlap in successive tries) respectively.
The threshold increment, in case of successive n
T RIES
failures, is δ
T hr
= 0.05, so that the selectUnexplored-
Location algorithm does not take excessively long to
reach the termination condition when successive at-
tempts to find a new location end in failure.
Evaluating the min-ε Compression Algorithm. In
our first set of experiments we measure the efficiency
of the min- ε algorithm used for coverage informa-
tion compression in our coverage algorithm. For the
dataset used as input for this algorithm, we generated
2-D point-sets with set-sizes ranging from 4 − 200.
Each point set corresponds to a set of polygons within
a 10 × 10 m
2
region. Figure 4(b) shows the effect of
using the standard zip algorithm called deflate (Sa-
lomon, 2006) to compress different sizes of the point
sets. We observe that the zip algorithm achieves very
nominal compression, close to 2% for point set sizes
> 150. This can be attributed to the fact that the data
points in each point set are generated randomly and
there is very little, if at all any, correlation between
the points in each set. In contrast, our coverage infor-
mation algorithm first computes a convex hull of the
points in each point set, then performs min-ε com-
pression on the hull, ensuring that the amount of data
stored is constant. However, constant data size comes
at the cost of the accuracy of the region enclosed by
the polygons in the point sets. In Figure 4(c), we
show the decrease in the fidelity of the region when
we approximate the region in a convex hull using the
min-ε algorithm. We see that when the compression
ratio is higher (3 points per convex hull), the accu-
racy quickly decreases to about 65%. On the other
hand, using more points in the min-ε compression re-
sults in higher accuracy of the region. Based on these
results, for the rest of our experiments we have used
4 points (as parameter m) in the min-ε algorithm to
approximate the region enclosed by the convex hull,
which yields about 90% accuracy in the approximated
region.
Webots Experiments. For our next series of exper-
iments we verified the operation of our coverage al-
gorithm. The arena for these experiments is 20 × 20
m
2
square region. We consider four different envi-
ronments within this arena: (a) no obstacles (b) 10%
of the arena’s area occupied by obstacles, (c) 25% of
its area occupied by obstacles, and, (d) walled office
space with two narrow regions connected by a nar-
MULTI-ROBOT COVERAGE WITH DYNAMIC COVERAGE INFORMATION COMPRESSION
239