Rescue Agents

From RoboCup

(Redirected from Rescueagents)
Jump to: navigation, search

Contents

Introduction

Screenshot from the 2D viewer. Agents are the red, blue and white dots; civilians are green or black. Coloured buildings are on fire or extinguished. Crosses signify blocked roads.
Screenshot from the 2D viewer. Agents are the red, blue and white dots; civilians are green or black. Coloured buildings are on fire or extinguished. Crosses signify blocked roads.

The Rescue Agents part of RoboCup Rescue (also known as the Agent Simulation Competition) is a simulated disaster scenario. A model of an earthquake in an urban centre is simulated and teams compete to produce efficient response policies for the simulated emergency services. The earthquake model covers building collapse, roads blocked by rubble and other debris, traffic movement, fire, and injuries to civilians and emergency services workers.

The Rescue Agents league has two main goals:

  • Development of efficient response policies for emergency services given a set of simulators. This is the main competition aspect.
  • Development of new simulators, scenarios and research problems. This is the "infrastructure" aspect of the competition.

The simulated world

The rescue agents league simulates an earthquake in an urban centre. The entities and their features that are simulated are:

  • Buildings
    • Fire
    • Collapse
    • Refuges are special buildings that will heal injured civilians and can refill fire brigades
  • Roads
    • Traffic movement
    • Blocked roads due to rubble etc
  • Emergency services
    • Fire brigades
    • Ambulance teams
    • Police forces

See the Version 1 page for details of these entities.

Simulator Development and Documentation

Development and maintenance of new and existing simulators is strongly encouraged. SourceForge.net provides a number of tools for aiding software development, including a git repository and tools for reporting bugs, feature requests and submitting patches.

See Simulator Development for more information about filing bug reports and development.

We are currently working towards Version 1 of the rescue kernel. If you would like to help then please subscribe to the Robocup Rescue Simulation League developers mailing list and send an email describing your skills and what you would like to work on. Alternatively, you could just download the code and start hacking away and submit a patch when you're finished.

Developers can check out the latest source code with git: git clone git://roborescue.git.sourceforge.net/gitroot/roborescue

Agent Competition

The goal of the agent competition is to implement control policies for emergency services such that the maximum number of lives are saved and fires extinguished. Emergency services are split into platoon agents and centre agents that represent mobile emergency services (e.g. fire trucks) and their corresponding control centres (e.g. fire stations).

A quick overview follows; for more information see Agent Simulation Competition.

Score function

There are currently two score functions in use. The legacy score function measures the number of civilians and agents still alive and the proportion of buildings that are burnt. The score is:

<math>score = (A + \frac{H}{H_{initial}}) \times \sqrt{\frac{B}{B_{total}}}</math>

The new score function is the score vector. This was introduced in the 2009 competition and measures a greater range of variables, including distance travelled and the efficiency of the team. See the Score Vector page for more details.

Simulators

The agent competition uses a defined set of simulators.

  • Fire: The fire simulator determines how fires spread and the effect of pouring water onto the fires.
  • Traffic: The traffic simulator handles all movement commands, including loading/unloading of civilians into ambulances.
  • Collapse: Simulates building collapse after the earthquake.
  • Blockades: Determines the degree to which roads are initially blocked.
  • Misc: Calculates civilian damage, buriedness and road clearing times.

Agents

There are three types of platoon agent and three types of centre agent in the competition.

Fire

  • Platoon agents: fire brigades
  • Centre agents: fire stations

The fire agents are responsible for extinguishing fires. Fire brigades can pour water onto fires at a limited rate, and they have a limited supply of water which can only be replenished at refuges. Fire brigades cannot pass blocked roads.

Ambulance

  • Platoon agents: ambulance teams
  • Centre agents: ambulance centres

Ambulance teams can rescue civilians that are trapped in collapsed buildings and transport them to refuges. Ambulances can only carry one civilian at a time but can work together to rescue a single civilian.

Police

  • Platoon agents: police forces
  • Centre agents: police offices

Police are responsible for clearing blocked roads. They can clear roads at a fixed rate and multiple police forces on a single road does not result in faster clearing of the road.

Infrastructure competition

This part of the competition is intended to promote development of the simulator. Teams present their contribution at the Robocup conference and an award is given by popular vote. Entrants are strongly encouraged to contribute their code to the development effort regardless of whether they win the infrastructure competition or not.

Getting Started

This is a quick step-by-step guide to installing the software.

1. Ensure you have the following tools to compile the software:

  • Linux (there is no support for Windows at present)
  • GCC 4.0
  • Sun JDK 1.5
  • Gnu Make

2. Download the latest version from sourceforge.

3. Unpack the software and you will get the following directory structure:

  • rescue-<version>
    • boot
    • doc
    • maps
      • Kobe
      • Foligno
      • ...
    • programs
      • kernel
      • librescue
      • gis
      • ...

4. Enter the "programs" directory and run "make" to compile all the components.

If you have any problems with installation then please consult the installation FAQ before contacting the package maintainers.

Running your agents

To run a simulation enter the "boot" directory and run the "all.sh" script. This will run the Kobe map by default, or you can specify the map to use by running "all.sh <mapname>". The directory "mapname" must exist in the "maps" directory. This will start up the kernel and all the simulators.

You can now start your agents.

See the FAQ for queries about running your agents.

See DevelopingAgents for more information about developing Robocup Rescue agents.

Description of the directories

boot is a collection of shell scripts used for running the simulation. For example, "all.sh" begins the simulation, using the Kobe map by default. "all.sh Foligno" begins it with another map.

doc contains some useful documentation.

maps contains various maps which may be used by the simulator. Each directory describes one map/scenario.

  • blockades.lst - a list of road blockades
  • road.bin/node.bin/building.bin - these three files describe the roads, road network and buildings in the map respectively.
  • galpolydata.dat, shindopolydata.dat - these describe the earthquake parameters.
  • gisini.txt - locations of civilians, fires, refuges and agents. This can be changed to generate a new scenario for the map.

Finally, programs contains all the simulator components.

  • blockade - the road blockade simulator
  • civilian - the civilian simulator
  • collapsesimulator - building collapse simulator
  • firesimulator - the fire simulator
  • gis - GIS tool for reading the various map files
  • kernel - the core of the simulator
  • miscsimulator - miscellaneous simulator
  • traffic - traffic simulator
  • viewer - viewer component
  • rescuecore/librescue - Java and C++ libraries for developing agents/simulators/viewers

Constitution

See the Constitution page for details of the simulation league constitution.

External Links

Personal tools