|
Project: Circle Placement Problems for Mobile Robot
Applications
Student Researchers: Joanna Blanding and Xinmei Cai
Advisor: Amy Briggs
Institution: Middlebury College
GOALS AND PURPOSES
The goal of this project was to design, implement, and experiment with
algorithms for covering a convex polygon with a minimal number of
fixed-radius circles. Our motivation was from the area of mobile
robot navigation, where many applications employ sensors or
transmitters embedded in the environment. In some hospitals, for
example, robots deliver prescriptions to nurses' stations, navigating
the hallways with the aid of tiny radio transmitters installed on the
ceilings. The main problem we investigated this year was how to cover
the environment with overlapping circles, each circle enclosing the
area covered by one device (a transmitter or sensor).
STUDENTS AND MENTOR INVOLVED
The two undergraduate women involved were Joanna Blanding and Xinmei
Cai. Both students worked with Professor Amy Briggs during their
senior year at Middlebury College. The student work was primarily
implementation work in Java. Xinmei also wrote her senior thesis on
some closely related problems in art gallery theory.
METHODS AND PROCESSES
At the start of the project we studied several different approaches to
the circle placement problem. The two most promising algorithms we
started with were a grid-based and a greedy approach. Our initial
idea for the grid-based approach worked as follows: impose a regular
grid of transmitter positions on the plane such that the covering of
the plane is optimal, that is, so that the entire plane is covered and
the area of overlap between circles is minimized. Place the polygon
(representing the environment) on the grid so as to minimize the
number of grid points (transmitters) contained inside the polygon.
The greedy approach was to start at a vertex of the polygon and move
around the boundary placing circles. In the interior region that
remains, repeatedly march around the boundary placing points, working
toward the center until the entire polygon is covered. We worked
together to devise a modified version of the grid-based approach that
was simple and efficient, and then implemented our new algorithm.
Joanna and Xinmei worked together to design the low-level classes and
primitives as well as the overall applet. They refined the applet
with added functionality throughout the year.
CONCLUSIONS AND RESULTS ACHIEVED
The Java applet developed by the students allows the user to mouse in
a polygon, rotate it to align any edge with the horizontal, and then
cover the polygon with circles and report the number used. Any
circles with centers outside the boundary of the polygon can be moved
to put their centers on the boundary. The applet is available at
www.middlebury.edu/~math/Projects/sensor. Currently we are using the
applet to perform experiments on large numbers of random polygons to
evaluate the algorithm's performance and its dependence on circle
radius, polygon size, and length of the starting edge.
|