Institut für
Informatik, Universität
Freiburg
Project1: Evidence Grids for
efficient exploration and target selection
Part I - Evidence grids
Function:
An evidence grid is a grid representation of the state space that
assigns to each cell a probability. Implement an evidence grid that
represents the
agent’s current belief
about the location of objects of interest in the RoboCupRescue domain,
such as “burning buildings”, “buried civilian” and
“blocked road”. The module has to provide methods for
updating the grid by evidence given from the senses of the agent, such
as:
“heard civilian”, “broken building” and “free path”. An evidence has to
be given by a probability
distribution over the
objects of interest (houses or street
nodes) or a single probability assigned to one object only. For each
kind of evidence there has to be a particular sensor model in order to
update the grid.
Approach:
Bayesian update by Occupancy grids,
kd-trees, r-trees. See:
M. Martin and H. Moravec. Robot Evidence Grids.
Technical Report CMU-RI-TR-96-
06, The Robotics Institute, Carnegie Mellon University, March 1996.
W. Burgard, D. Fox, M. Moors, R. Simmons,
and S. Thrun. Collaborative multi-robot exploration.
In Proceedings of the IEEE International Conference on Robotics and
Automation (ICRA), San Francisco, CA, 2000. IEEE
J. L. Bentley. Multidimensional binary
search trees used for associative searching. Communications of
the ACM, 18(9):509--517, September 1975.
Implementation:
The data
structure has to be efficient in performing updates from senses and
region queries.
Therefore data has to be stored in a kd-tree or a r-tree like data
structure. This is particularly valuable if agents want to communicate
areas they have explored or areas they plan to explore. Suppose the
agents
did an equal clustering of the state space, then it would suffice to
communicate the cluster number and the assigned utility/probability
rather than the whole set of objects contained in the cluster.
Furthermore it will be more efficient to store only visited objects
during early stages of
the exploration and to represent complete areas by a single value (e.g. 0 if
there is
no civilian) at
later stages
of the exploration.
It is important to examine carefully the range an agent is able to
sense if visiting a place before implementing the according sensor
model.
The
module has to be realized by java interfaces for an
easy
adaptation of the code to other agent types.
Deliverables:
- A simple
visualization/description of
the sensor models for each evidence in the domain.
- An animation or
series
of pictures that visualizes the continuous update of the agent's belief
while executing a random policy (which not necessarily has to depend on
the
agent's current belief).
- Time and space
complexity of the implemented approach.
Part II -
Exploration
Function:
The problem of
exploration can only be poorly solved by a simple random strategy.
Particularly in a multi agent scenario it turns out to be important to
guarantee that areas in the state space are only explored once. In the
case of evidence grids, where there is evidence for
partitions of the state space, it makes sense to make use of this
evidence to explore the environment more efficiently. This can be
achieved by assigning a utility to each cell. However, there
exists a trade-off between the cell utility and the cost of reaching
the particular cell.
Another trade-off
inherent in the problem is to decide whether to reduce the entropy of
unexplored regions or to focus the search on areas with high utility.
Clearly, to decide between the exploitation of given knowledge and the
exploration of an unknown terrain. The optimal setting probably
depends on the time of the simulation and the number of agents assigned
to the exploration task.
Approach:
W. Burgard, D. Fox, M. Moors, R. Simmons,
and S. Thrun. Collaborative multi-robot exploration.
In Proceedings of the IEEE International Conference on Robotics and
Automation (ICRA), San Francisco, CA, 2000. IEEE
W. Burgard, D. Fox, and S. Thrun. Active mobile robot
localization by entropy minimization. Proc. of the Second Euromicro
Workshop on Advanced Mobile Robots (Eurobot). IEEE
Computer Society Press, 1997
Implementation:
Implement a
function that calculates an utility U
for each cell of the evidence grid. The function should be dependent to
the number of assigned agents and simulation cycles at time t.
Implement a function that
chooses the area with the highest
payoff e.g. the area which is safely and fast reachable but leads to
high utility.
Part III -
Multi agent scenario
Implementation:
Implement a
simple communication interface that allows to send messages from the
agents to the station and to broadcast from the station to the agents.
Implement an
additional method for integrating information communicated by other
agents (e.g. explored cluster regions) to the belief.
Modify the
utility function from part II so that it assigns low utilities to areas
explored by other agents (which have also to be communicated).
Part IV -
Evaluation
In order to collect an sufficient amount of test data, it will be
necessary to automate simulation runs. This
includes to randomize the map and to restart the server. Have a look to
the "autorun" tool from the PAKRescue team under
http://www.damas.ift.ulaval.ca/projets/RobocupRescue/Tools.php and to
the "random map generator" from the BlackSheep team under
http://sourceforge.net/project/showfiles.php?group_id=87802.
The evaluation has to compare the following exploration policies:
- Random target selection, single agent.
- Random
target selection, multi agent.
- Informed target
selection, single agent.
- Informed target
selection, multi agent.
Deliverables:
Diagrams that shows the averaged number of targets
found per cycle with each method on different map sizes.
kleiner@informatik.uni-freiburg.de,
20. October 2003