Path
Planning and Computational Geometry
- Calculating
Weighted
Shortest
Paths
on
Polyhedral
Surfaces
Outdoor
robots
must
also
be
able
to
cope
with
various types of terrain (e.g., asphalt,
grass, dirt, sand, snow). The terrain surface will affect
the required time and energy for a robot to travel from one point to
another. We have been investigating algorithms to compute
efficient shortest paths between two points on various polyhedral
surfaces.
Mobile robots must also take into account the slope of the terrain as
it navigates along a path. Slopes too steep are either
impossible or dangerous for most robots to climb. Therefore, in
addition to computing paths that take into account the terrain type, we
also developed algorithms that take into account the slope of the path
solutions. Such paths are called shortest anisotropic
paths. The solutions are quite different and allow the
robot safer travel.
Finally, since terrain data is often quite large (e.g., potentially
terabytes of data), it is extremely time-consuming to process the
information with a single computer/processor. We therefore
developed distributed computing algorithms for computing these terrain
paths by allowing multiple computers/processors to share the workload
in computing the solutions.
- Calculating
an
Efficient
Meeting
Location
for
a Team of Robots On a Weighted Terrain
Surface
Mobile
robots
have
a
limited
amount
of
energy
(i.e.,
battery, gasoline,
propane, etc...). Therefore, they are limited in the
distance that
they are able to travel before their energy runs out.
Various factors such as terrain steepness and terrain type weigh
heavily on energy
usage. Consider a team of robots dropped into a terrain via
parachute
at various locations. Assume that these robots need to meet
together
in order to accomplish their task at hand. We have been
developing
algorithms to take into account the various terrain factors in order to
compute an efficient meeting location for these robots that will
minimize the total energy usage of the team, thereby maximizing the
amount of remaining energy (e.g., battery power) at the meeting
location.
- An interactive
Application for Demonstrating 2D Roadmap-Based Path Planning Algorithms
(Honours project of Frank Perks)
In
robotics
one
common/complex
navigation
problem
is to determine a safe
and efficient path for a robot to travel along between two
locations. 2D Roadmap-based path planning algorithms are a
group of algorithms that are utilized when we have full knowledge of
the robots environment. This project involved the creation of an
interactive application for the purpose of demonstrating how various 2D
roadmap-based path planning algorithms work. Various
decomposition methods algorithms were tested based on triangulations,
Voronoi diagram decomposition, grid sampling and probabilistic
algorithms using rapidly exploring random trees.
- Heuristic Path
Determination in Partially Known 3D Terrains (Honours
project of Mladen Gavrilovic)
This
project
investigated
algorithms
for
determining
efficient paths from
one location to another on a terrain surface based on limited knowledge
of the terrain. That is, assume that a robot is standing at
one location on a terrain and it has a kind of laser range finder that
lets it map a small portion of the terrain nearby in all
directions. The problem is to try and head efficiently
towards a goal location by computing a "best guess" partial path based
on the current limited terrain knowledge. As the robot
moves towards the goal, it obtains new terrain readings and formulates
additional "best-guess" paths.
- Polygon Path
Coverage Algorithms (Honours project of Chang Huang)
Assuming a fixed-width circular robot, we implemented an algorithm that
will allow the robot to cover the interior of a polygon by making a lap
around the polygon and then working itself inwards by computing
recursively a smaller polygon(s) representing the uncovered
areas. In the image below, the purple line indicates the
path that the robot travelled, while the green lines represent the
smaller recursive polygons that are covered in turn. The
blue portions are unreachable areas of the environment, which is
defined by the robot's thickness.
- Partitioning
Simple Polygons (Honours project of Damien Dery)
This project investigated various strategies for determining efficient
decomposition of a polygonal environment in order to evenly distribute
the amount of environment that each robot is responsible
for. In the image below, the environment (e.g.,
building schematic) is decomposed into 4 colored areas which would be
assigned to individual robots for task purposes.
Various techniques for decomposing the environment were investigated
based on attempts to equalize the area, perimeter, maximum distance
across or number of triangular regions that each robot would need to
cover.
- Patrolling
Polygons (Honours project of Brian Herron)
This project incorporated two previous projects by first determining an
efficient decomposition of a polygonal environment and then assigning
portions of the environment to individual robots for them to cover
their portion for security or cleaning tasks. In the image
below, the environment (e.g., building schematic) is decomposed into 10
colored areas which would be assigned to individual robots.
- Simulation of
Robots in a Line Formation Travelling over a 3D Landscape
(Honours
project of Brett Melbourne)
In this project, we developed algorithms to allow groups of robots to
travel on a 3D surface while maintaining line formation.
While travelling, each robot needed to remain within "line-of-sight"
with their neighbours on the line. This allows the
team to ensure that any defective or malfunctioning robots are
detected along the way so that no robot gets lost.
- Computing
Efficient Locations for Guarding Treasures Among Simple Polygons
(Honours
project of Raymond Dang)
Consider an unbounded (i.e., open) environment with some obstacles.
Imagine a "treasure" that must be guarded from anyone
approaching. In this project, we developped an algorithm to
compute efficient locations for guards to stand at in order to protect
the treasure from any incoming robbers. The algorithm
attempts to find a minimum amount of "imaginary fencing" lines that
will enclose the treasure and then places a sufficient number of guards
along the fence pieces at "arms-length" distance from one another so
that they are able to prevent any access through the imaginary fence
line.
- Estimating the Geodesic Center of
Guards in a Simple Polygons (Honours
project of Perry Manashe)
This project dealt with trying to find the geodesic center of a group
of robots (points) placed inside a simple polygon. The geodesic
center
is the point within the polygon where all the robots should move such
that the maximum distance travelled (completely within the polygon) by
each of the robots is minimized. This will be an optimal
meeting
point for a group or robots if the goal is to ensure that each robot
arrives at the meeting location with the maximum amount of power still
remaining in its battery or gas tank.
- Guard Placement in Rectilinear
Polygons (graduate course project)
This project involved implementing an algorithm for placing guards in a
simple rectilinear polygon. I implemented this in the
Computational Geometry Workbench which was organized by Prof. J-R.
Sack. The algorithm involved performing a plane sweep to create a
quadrileteralization of the polygon and then coloring the graph
representing the dual tree of this newly created subdivision. The
image above is a scan of a printout of a snapshot from the workbench
showing a quadrilateralization of a rectilinear polygon.