Re: A proposal of Civilian

From: Kosuke Shinoda (kshinoda@carc.aist.go.jp)
Date: Sun 16 Dec 2001 - 18:51:14 GMT


Dear DoboCupper

We Implement Civilian for RoboCupRescue simulator. You can download form
        http://cave.carc.aist.go.jp/~kshinoda/R_Civilian/
 on Web. But, this program is unstable and is not enough for our previous
 proposal. So we will have to update this program after.
 Please, read README file.

Feature:
 This program, this version, can act as similar as Koto's samplecivilian.

> Dear RoboCupper,
>
> I like propose new civilians for RoboCup-2002. Basically, the
> behaviors are based on the current civilians (RoboCup-2001). We are
> trying to re-write the code using a kind of rule-base behavior engine
> for the future development. Also, it uses new syntax of ACL.
>
> Here is a proposal.
>
> --Itsuki
>
> ----------------------------------------------------------------------
> %% -*- Mode: Memo -*-
>
> [] A proposal of Behaviors of Civilian Agents
>
> Civilian agents are consists of three groups, selfish agents, obedient
> agents, and volunteer agents. Behaviors of those agents are based on
> civilian agents used in RoboCup 2001, and re-written using a rule-base
> behavior engine.
>
> The rule-base behavior engine generates behaviors based on multiple
> scenarios, which is a set of rules and state-transitions.
>
> The details of behaviors of each type of agents are as follows:
>
> %%----------------------------------------------------------------------
> [.] Selfish Agents
>
> Selfish agents behaves only based on their own sensing information.
> So, the agents do not take care about messages from other agents.
>
> [..] Building Scenario
>
> If the agent is in a building, then it tries to evacuate from
> the building.
>
> After for a while (10 minutes) after the evacuation, if the building
> looks safe, the agent try to go back into the building
> to pick-up important things in a certain possibility (20%).
>
> [..] Refuge Scenario
>
> Do nothing for a while (10 minutes) in a state of shock.
>
> If the agent can see a refuge, then move to the refuge.
>
> If the agent knows the direction of refuge, then move toward the
> direction.
>
> If the agent does not know the refuge, then try blind-search.
>
> When the agent arrives to the refuge, stay there until end of the
> simulation.
>
> [..] Avoiding-Fire Scenario
>
> If a fire is near of the agent (within 5m), then
> try to escape from the fire.
>
> [..] Looking-Fire Scenario
>
> Do nothing for a while (10 minutes) in a state of shock.
>
> If a fire is relatively near of the agent (5m to 20m), then
> stay there for a while (10 minutes) in a certain possibility (50%).
>
>
> [..] Cry-Help Scenario
>
> If the agent is buried, then cry "help!" in a certain interval
> (once in 3 minutes.)
> The syntax of the message is as follows.
>
> %%----------------------------------------------------------------------
> [.] Obedient Agents
>
> Obedient agents have a behavior to follow requests by rescue agents
> in addition to the selfish agents.
>
>
> [..] Obey Scenario
>
> Do nothing for a while (10 minutes) in a state of shock.
>
> When a rescue agent say a request message to move,
> then the civilian agent tries to obey the move request.
> The rescue agent can specify the direction of the move
> by roads, nodes (crossings), and refuges in sight of the
> civilian agent.
> The syntax of the message is as follows.
>
> %%----------------------------------------------------------------------
> [.] Volunteer Agents
>
> Volunteer agents have a behavior to inform a rescue agents
> about the location where they heard "help" messages.
>
> [..] Inform-help Scenario
>
> Do nothing for a while (10 minutes) in a state of shock.
>
> When the agent hear "help" message, it memories
> the current location.
>
> When the agent meets a rescue agent, then it says
> the location of the message.
>
> The agent stop to inform after informing N times (N = 2)
> or a certain duration (120 minutes).
>
> %%======================================================================
> [.] Syntax of Message
>
> [..] help
>
> (request :sender (agent :id 100)
> :receiver (agent :tid T1)
> :content (do :action (help)
> :object (agent :id 100)))
>
> (request :sender (agent :id 100)
> :content (do :action (help)
> :object (agent :id 100)))
>
> [..] request to move
>
> (request :sender (agent :id 100)
> :receiver (agent :id 200)
> :content (do :subject (agent :id 200)
> :action (move)
> :destination LOC))
> where
> LOC ::= (road :from 150 :to 250)
> | (node :id 150)
> | (refuge :id 300)
>
> [..] inform the location of help
>
> (inform :sender (agent :id 100)
> :receiver (agent :id 200)
> :content (do :subject (agent :id 100)
> :action (hear)
> :content (help)
> :location LOC
> :time 1200))
>
> LOC ::= (road :from 150 :to 250)
> | (node :id 150)
> | (building :id 300)

------------------------------------------------
Kosuke Shinoda(kshinoda@jaist.ac.jp)
School of Knowledge Science,
Japan Advanced Institute of Technology & Science, Japan.



This archive was generated by hypermail 2.1.4 : Sun 22 Sep 2002 - 18:52:58 GMT