RoboCupRescue 2009 - Rescue Simulation League Team Description Ri-one (Japan)
Yuto Otsuki, Hiroshi Aoki, Kyohei Nishide, Yu Yamaguchi, Hiroshi Ueno, Yuuki Matsuda, Akifumi Komukai, Katsuari Kamei
Ritsumeikan University Japan
http://spice.ci.ritsumei.ac.jp/˜robocup/public/index.php
Abstract This paper describes the features of Ri-one rescue simulation team. Our agents decide on their actions by themselves. They predict other agents' action based on shared information and cooperate with each other by this prediction. In addition, they can distinguish between the critical regions and not ones by the disaster layering system. We define communication line models to respond to all of the envisioned situations. Our agents can select correctly one from among the communication line models in accordance with their situations. We also develop a three-dimensional monitor and a debugger.
1 Introduction
RoboCup Rescue Simulation (RCRS) is one of the most complicated multi-agent systems. In this simulation, the disaster breaks out and damages many people and buildings. Our agents must rescue more victims effectively.
Based on our experience in the last year, we improve our agents. Our trial-and-error experience and our unique ideas support our agent development. On the other hand, we introduce a general approach and famous algorithms into our new agents.
Our agents had two fatal weak points that were fire brigades and agent cooperation. To solve these problems, we restructure the theory of Layer proposed in our TDP 2008 [1]. Besides, we focus on voice communication to improve sharing information. Because the specification of voice communication has changed in the world competition 2008. The new specification opens up a possibility of dynamic switching of the communication the line model.
We also develop two useful monitoring tools. One is a three-dimensional monitor. This monitor is very useful for presentation of RCRS because it gives the audience strong optical effects. The other is a debugger which can print strings and draw various figures.
This paper describes the details of our agents' features in the following sections.
2 Agent skills and action selection
2.1 Police Forces
Police forces control their action with Task. Task has two attributes: the place to remove blockades and its priority. Police forces act according to the task priority level. However, they defer executing Task when they cannot reach the destination by traffic jam. Task has three places as follows:
- Refuge's entrances whether the agents may be able to reach.
- Blocked roads surrounded by fire.
- Places of the agents that cannot move from the first place by blockades.
In addition, police forces preferentially remove the reported blockades which the agents excluding the police forces strike frequently.
2.2 Ambulances
Ambulances decide on the priority of victims to be rescued and the number of ambulances to rescue each victim. They set the priority on the basis of three factors: agents except civilians, civilians buried on the periphery of fire and the dying civilians in a shortest time. The ambulance does the cooperated action based on this information. Each ambulance predicts the action of other agents. They rescue more victims by minimizing the number of ambulance to each victim.
2.3 Fire Brigades
The main task of fire brigades is to extinguish fire and prevent the burning area from spreading. To achieve the task, they grasp the situation of the fire. When plural fires occur, the fire brigades must decide how many agents extinguish each fire. Therefore, they must have a criterion for the cooperated action.
Fire brigades use FireGroup and BuildingGroup for the criterion. FireGroup is the collection of fire and BuildingGroup is the collection of buildings. More detail about them is described in the next section. Fire brigades choose a building to extinguish by the following steps.
- Adopt FireGroup for selection of target
- Get all the BuildingGroups belonging the FireGroup
- Adopt BuildingGroup for selection of target
- Choose a burning building in the selected BuildingGroup
Fire brigades select small FireGroup so they can extinguish an initial fire. Moreover, the fire brigades select a lower burning ratio. Fire brigades extinguish the fire effectively according to the above steps.
3 World modeling
Layer and District make complex disasters more distinct in RCRS. The layer is composed of information about each disaster. The prior district is composed of maps overlapped with layers.
There are three disasters such as fires, blockades and collapse in the World of RCRS. These disasters occur independently. However, they are not so simple as to be able to tackle by one agent. Layer and District solve this problem. We implement Layer and District system by expanding our last year's approach [1].
3.1 FireLayer: FireGroup & BuildingGroup
FireGroup and BuildingGroup make the deal of fires and buildings easy by collecting fires or neighbor buildings. They correspond to FireLayer. FireGroup deal in conflagrations as one object. FireGroup is defined as "a burning building group whose ignition point is the same firing point". If FireGroups pile up, they are integrated into one FireGroup. Fire brigades select their target from FireGroups.
BuildingGroup is composed of a set of adjacent buildings. Agents can include the peculiarity that can judge whether the fire spreads to neighbor buildings or not. Prior zones are formed by following approach. When the fire caught a BuildingGroup, the border buildings becomes the prior area to extinguish fire. Since victims in the BuildingGroup which is likely to catch fire need to rescue preferentially, such BuildignGroup become the prior zone to rescue victims.
3.2 BlockadeLayer: ReachableArea
A ReachableArea is decided by whether an agent can reach a point on the basis of blockades and traffic information. This Layer is an improvement of Blockade-Layer of our previous team.
In every action start of agents, moving agents make a ReachableArea. They check the all nodes, roads and buildings sequentially from the agent position and set each object in three conditions, reachable, unreachable and unknown. If all the routes to reach a building are blocked, the building is unreachable even if the building is not recognized.
To decide on whether an agent can reach a point is useful for the decision of the action and the destination. For example, an unreachable area becomes the prior area to search the victims for police forces. However, it may become the searching area to be eliminated for other agents.
3.3 BuriedLayer: CivilianExistance
CivilianExistence has the information of the place and the range where civilians are. This Layer is the improvement of BuriedLayer of the team Ri-one 2008.
Civilians who are injured or buried under the debris use voice communication to call for help at a constant probability every cycle. The agents who hear the voice know that the civilian is within 30 meters because the voice communication cannot reach over 30 meters. The agents add the range to CivilianExistence. The agents find civilians early because they search the range preferentially.
4 Agent Coordination and Communication
Our moving agents decide on their action without the order from center agents. The moving agents predict the next action of other agents in accordance with the disaster information. Thus, the situation of no center agents never give a damage of communications among agents seriously.
4.1 Line Model of Radio Communication
Our team selects a proper line model of radio communication in various maps including no centers or no communication maps. The agents adapt themselves to the map by considering the state of the disaster space. We contrive six line models of radio communication. After the simulation starts, the agents select a proper line model from the six models. The agents cannot always communicate by least one model. Table 1 shows the conditions for applying each model.
Table 1. Conditions for applying each line model of radio communication. A hyphen means no conditions
| Type | Kind | The number of center agents | The number of moving agents | Other condition |
|---|---|---|---|---|
| (a) | static | 3 | - | - |
| (b) | static | 2 | - | the sum of the hearing limits of center agents ≥ the number of center agents + the number of moving agents |
| (c) | static | 1 | - | the sum of the hearing limits of center agents ≥ the number of moving agents |
| (d) | static | 0 | Less than 10 | - |
| (e) | dynamic | 0 | - | - |
| (f) | dynamic | More than 0 | - | - |
The types (a)(b)(c) and (d) in Table 1 are the condition for composing static models in Fig.1 and the types (e) and (f) in Table 1 are dynamic ones in Fig.2. The explanations of each model are as follows:
Fig.1 shows the static line models of radio channel which share information through the hub agents. Hub agents centralize information. In the model Fig.1(a), three center agents exist. If less than three center the agents exist, agents use Fig.1(b)(c) and (d). The center agent is excluded from the network in Fig.1(d). Since the communication ability of a center agent depends on the number of moving agents, its ability in Fig.1(d) equals to the ability of a moving agent. Thus, in Fig.1(d), the center agent should not forward information among the moving agents. The moving agents should communicate with each other directly.
Fig.2(e) and (f) are dynamic line models of radio channel. In these models, the agents change their radio channel of sending information at random every cycle. Agents use these models if they cannot use the models in Fig.1. Since the agents change the channel of sending information at random every cycle, to send particular agents is difficult. However, the agents can make this network in any maps. The model in Fig.2(f) is a dynamic model Fig.2(e) combined with static models of Fig.1 by adding a center agent to the network. In Fig.2(f), even if any agents cannot communicate with center agents, the others can communicate with center agents statically and stably.
Agents always share their information with each other by selecting the proper line model of radio communication.
4.2 Line Model of Voice Communication
Agents use voice communication as an uncertain communication and an assistance of radio communication. If the particular conditions are satisfied, the agents use the voice communication to change their hearing radio communication channel.
The message of voice communication reaches within 30 meters from the sender. Since the agents send information every cycle by voice communication, the agents share information with neighbor agents without the radio communication. However, the grasping of each position and the communication with voice within 30 meters is sometimes difficult for agents. Thus, the voice communication can only assist the radio communication.
If the agents apply model Fig.2(e) and (f) to radio communication, they change their group of hearing radio channel dynamically by using the voice communication. This change improves the efficiency of communication. Since the voice communication has a feature of composing lines of communication, neighbor agents can share their information without the radio communication. Therefore, they should belong to the different hearing channel group to share their information efficiently. To utilize this feature, the agents change the hearing radio channel by the voice communication. Fig.3 shows the example of changing the channel. Changing the channel let agents in the same hearing channel group not to gather at the same position. However, all agents cannot hear the all information on the voice channel because its hearing limit in one cycle may be over even if many agents are near the same position.
4.3 No Communication Strategy
We introduce special agents such as are MessageAggregator and Messenger to share information among the agents in the no communication map. In the no communication map, the agents cannot communicate in the radio but they can communicate in the voice. Thus, the agents should use the special strategy to share information with each other.
A MessageAggregator is an agent that gathers disaster information. A center agent usually plays this role. Moving agents report their information to the MessageAggregator by the periodic movement to the position near the MessageAggregator. The MessageAggregator sends information around agents on voice constantly. Therefore, the MessageAggregator and the other agents can exchange their information. However, the agents cannot execute this strategy when the center agents do not exist. A moving agent becomes a MessageAggregator to resolve this problem. The MessageAggregator stays at the refuge and gets information from agents and sends it to other agents. One agent should act as a MessageAggregator even if the moving agent cannot do its primary jobs. This realizes the proper communication.
A Messenger shares information between MessageAggregators which exist distantly. The Messenger comes from and goes to among the MessageAggregators. Then they take information from a MessageAggregator and give it to other MessageAggregators. Since the MessageAggregator is the information source for many agents, to reduce the difference of the disaster information among the MessageAggregators is important.
5 SoftwareTools
5.1 Rescue 3D Monitor
We developed Rescue 3D Monitor to display RCRS realistically. This tool connects to the kernel through network. Fig.4 shows a screen shot of the simulation by using this tool. The purpose of this tool is to let many people be interested in RCSC. The functions of Rescue 3D Monitor are as follows:
- – Change the view by mouse
- – Auto rotate the view point
- – Display the view based on each agent, its action, fire and smoke
We hope that our Rescue 3D Monitor will be used in many competitions.
5.2 Resuce Visualizer & Debug Client
We developed Rescue Visualizer and Debug Client to debug visually. Debug Client receives information of the agents and sends it to Rescue Visualizer. The information is as follows:
- – Selected buildings, nodes, roads and agents
- – Rectangular coordinates and figures such as line and rectangle
- – Character strings
It also sends information to give color to them. The Rescue Visualizer based on default viewer has the following functions.
- – Display the received information from Debug Client
- – Display the particular information of the agent selected by a button
- – Display HP of all the agent and buriedness
- – Zoom in and zoom out
- – Rewind, halt and play
Fig.5 shows a screen shot of the Rescue Visualizer. Tools with these functions must provide a more comfortable development environment.
6 Acknowledgements
We would like to thank Taiyo Hara whose team is SUNTORI 2008 for teaching much knowledge about RCRS. We are also indebted to Yasuhiro Hiramoto and Kazuhiko Shiraishi for their advices.
7 References
References
- Y. Hiramoto, K. Shiraishi, M. Hasegawa, H. Aoki, Y. Otsuki and K. Kamei: RoboCupRescue 2008-Rescue Simulation League. Team Description. <Rione (Japan)>