YabAPI: API to develop a RoboCupRescue Agent in Java


What's YabAPI?

YabAPI is a bare essential API to develop an RoboCupRescue agent (RCR agent) in Java. The developers have to only describe action of each unit time and reaction to auditory information in a skeleton of an agent, as follows.

import java.net.*;
import java.util.*;
import yab.agent.*;
import yab.agent.object.*;

class FireBrigadeAgent extends AbstractFireBrigadeAgent {
    FireBrigadeAgent(InetAddress address, int port) { super(address, port); }

    protected void act() throws ActionCommandException {
        Collection fires = isBurning.extract(world.buildings);
        extinguishNearFire(fires);
        moveToFire(fires);
    }

    protected void extinguishNearFire(Collection fires) throws ActionCommandException {
        Collection nearFires = isNear.extract(fires);
        if (!nearFires.isEmpty())
            extinguish((Building) burningTime.min(nearFires));
    }

    protected void moveToFire(Collection fires) throws ActionCommandException {
        if (!fires.isEmpty())
            move(entrance.collect(fires));
    }

    protected void hear(RealObject sender, String message) {
        // reaction to auditory information
    }
}

Tha latest version of YabAPI is available at http://ne.cs.uec.ac.jp/~morimoto/rescue/yabapi/.

Overview

YabAPI consists of four packages:

YabAIP packages

Documentation

There are documents for YabAPI:

Sample RCR Agents

The developers are recommended to refer to sample RCR agents in the sample directory.

Download

Version Date Source Files and Documents Requirements
1.00 Nov. 10th 2002 yabapi-1.00.tar.gz Java 1.4

Takeshi Morimoto (morimoto@takopen.cs.uec.ac.jp)