RoboCupRescue 2014 - Rescue Simulation League Team Description Ri-one (Japan)
Ko Miyake, Shinya Oguri, Masahiro Takashita, Takashi Fukui, Takuma Mori, Yosuke Takeuchi, Naoyuki Sugi
Ritsumeikan University, Japan
Abstract This paper describes the features which Ri-one have developed for the RoboCup Rescue Simulation (RCRS) 2014. Last year, our team implemented a clustering algorithm by the use of k-means, computed the density of buried humans, and also estimated the time of death for each civilian. This year, our team have managed to develop a more efficient communicating system by appointing a center agent to command actions to individual agents. Furthermore, we looked at the connection between ambulance teams and civilians, made use of the convex hull to determine the degree of influence of a fire to its surrounding buildings, and increased the efficiency at which the police force contribute towards rescuing humans. This paper describes each of the algorithms and the their applications to the agents.
Introduction
The RoboCup Rescue Simulation is a multi-agent simulation for the disaster relief. The RCRS server simulates disasters which resemble a city after an earthquake. The aim is to make use of the virtual agents in order to rescue buried victims, extinguish fires, and clear obstacles.
Last year, our team implemented a clustering algorithm by the use of k-means, computed the density of buried humans in order of priority to be helped, and also estimated the time of death for each civilian. This year, our team have considered the connection between ambulance teams and civilians by looking further into the relationship between the estimated times of deaths and the degree of influence a fire can cause to its surrounding buildings.
Section 2 introduces the changes made in the techniques which the police force use to clear obstacles, involving the alterations of the RCRS. Section 3 introduces a more efficient communicating system which we developed, allowing individual agents to have more choice in their actions. Section 4 will be in 3 parts, firstly describing the changes we made through looking at the connection between the ambulance teams and the civilians. Secondly, we will discuss how we made use of the convex hull to determine the degree of influence of a fire to its surrounding buildings and the way in which a fire brigade agent reacts to this. Lastly, we will show the changes we have made in the way the police force act in order to rescue the civilians.
WorldModel
In 2013, RCRS altered the method of clearing obstacles on the simulation server in order to make the rescue simulation more realistic. In order to deal with this new change, Ri-one have altered our method of clearing obstacles. Before the change, agents in our team selected obstacles to clear by using the Point of Visibility Navigation Graph, generating the shortest path to the target entity and appointing obstacles which interfered with this path,. After the change, we altered this clearing method to one which assigns coordinates instead of independant obstacles. Using this new method means that the time taken to appoint these coordinates have an effect on the efficiency of clearing obstacles.
This year, we adopted the method used by our team in 2012, using the Point of Visibility Navigation Graph [1]. Alterations were made to the method, in a way that the graph now computes the direction and coordinates of the obstacle in need of clearing. First, agents compute the shortest path to a target entity without considering obstacles and then, nodes occurring on that path are considered. Nodes are singular points occurring along every road. All routes are structured by stringing many line segments together, created by connecting adjacent nodes. Secondly, each agent evaluates whether or not there are intersections between these line segments and the outline of obstacles on that path. In cases where a route is found with no intersection, agents will move along that path. However when an obstacle which intersects is found, an agent will start clearing that obstacle in the direction of the coordinates (P) of the intersection. In order to fix the amount of an obstacle cleared at one time, agents have been programmed to only clear obstacles which have coordinates a fixed distance away from it.
By repeating this method, agents can now clear just the obstacles occurring on the shortest path to reach the target entity. However, given that agents move towards a target entity only considering distance, it is not uncommon that an agent is in fact not clearing the obstacle in a way to create the shortest path possible. Fig.1 shows the ideal situation in which the agent(A) is standing in a position which results in clearing a large amount of the obstacle at once. This is the case when the agent is close to the line segment created between $\alpha$ and $\beta$. On the other hand, Fig.2 shows the agent standing further away from the line segment, resulting in only deleting a small fraction. This will decrease the efficiency, consequently costing us more cycles to clear the obstacle. Taking this into consideration, improving our current program so that agents are able to specify directions and clear obstacles in an even more efficient manner, is our next upcoming challenge.
Communication
Communication has an important role in helping an agent to take efficient actions. The world model of each agent is updated by communication and the information it is obtaining from its view. In each world model, all information which is not obtained from the agents view is provided by communication. Consequently, this means that most information in an agent world model relies upon communication. An agent selects its actions based on the information from its own world model only, making them completely dependant on it. Given that there is a limit to the actions an agent can select from only the updated information that it sees, the additional information updated by communication becomes crucial. Thus, by improving the content of this communication, an agent can take more effective action.
In terms of communication between the agents in our team last year, it was only to share its own location and view information obtained. Each agent took action only using information from its own world model. An agent could neither affect another nor be influenced by another agent's actions.
As a solution, we propose to add new information to each agent's world model, consisting of several commands for agents to take specific actions. These instructions include information about the source of command, the location of the receiving agent, destination, action, priority, and the time at which the order was posted. We have appointed a role as center agent, to command these actions. The center agent creates an order with judgement on a broader basis, and must decide what is the most efficient action for each individual agent to take. Moreover, the agent which receives these orders must decide whether the order should be processed or not, according to the degree of the order's priority. However, it should be kept in mind that the action of an agent does not have to rely on an order.
Using this method, an agent is able to select and achieve actions which it could not deduce from its own calculations. It must be said that though this new communication system is introduced, being in a No-Communication situation with the center agent does not necessarily make matters worse for the individual agents. It merely means that they can only move and make decisions within their individual scope as before. The information given in the orders by the center agent work only as an ancillary to increase the number of options available for action.
Agent Skills
This section describes the improvements made to the ambulance team, fire brigade, and police force agents.
Ambulance Team
The role of an ambulance team agent is to rescue victims who are stuck in a building or under an obstacle, and to take them to a refuge. In RCRS, it is important that as many victims as possible stay alive. Until last year, an agent would go to rescue its closest victim whenever access was possible. In situations where victims were stuck under an obstacle in need of help and unable to get at, an agent would wait by that victim to be there as soon as the obstacle is cleared, making it possible to take them to a refuge. However, using this method meant that agents could not especially prioritize injured people in need of more urgent help.
This year, further conditions have been considered to make the rescuing process more efficient. We looked at the distance between each ambulance team agent and every civilian in need of urgent help, and also computed the degree of priority for each of these victims by looking at the remainder of their life cycles. By doing this, it is now made possible to appoint each ambulance team agent to a specific victim. The equation used to compute the victim's degree of priority is shown below.
Degree of priority = (1/remainder of life cycle) × (1/distance between agent and victim)
This equation is founded on the basis of two observations. The first is that the shorter the remainder of a life cycle, the more urgent it is for the victim to be rescued. The second is that the closer an ambulance team agent is to a victim, the more efficient and less time consuming it is for that particular agent to head towards the victim in need of help. By carrying out this equation, it is now possible for agents to prioritize rescuing civilians who are seriously injured and are in need of more urgent help. This will result in rescuing many more people overall.
Until last year, if two ambulance team agents A and B found two civilians $\alpha$ and $\beta$ in need of help in a building near them, both the agents would rescue these two victims as shown in the left hand image of Fig.3. However this year, agents have been programmed to recognise priority as well as helping victims at a close distance. For example as shown in the right hand image of Fig.3, if there is another civilian $\gamma$ who is in need of more urgent help than civilian $\alpha$ and $\beta$, the closer ambulance team agent A will prioritize helping civilian $\gamma$. The algorithm applied this year is based on the Maximum Weight Perfect Matching Algorithm [2]. By using the original algorithm itself, we obtain perfect conbinations of ambulance team agents and civilians regarding priority. However this takes $O(n^3)$ and consumes too much time in computing the perfect matches within the time given. As a solution, we have introduced a heuristic substitute to lower the order of computation time. Below shows procedures of the altered algorithm.
For all the data, both the first row and first column define the ID of each victim and ambulance team agent. The numbers in the grid have been computed using the equation from above, showing the degree of priority. Once the figures have been computed, each agent will first choose the victim with the highest degree of priority as seen in Table 2. At this point if there is no overlap between the civilians chosen, the process stops here. However it is possible for more than one agent to choose the same civilian, as we can see from agents 2,3 and 1,4 once again in Table 2. We then compare the figures of the two agents with the same victim and take the agent with the lower number. This agent must now choose its victim with the second highest degree of priority, out of the victims which are not yet chosen. By doing this, we obtain results as seen in Table 3. This process carries on until there are no overlaps in the combinations between all agents and victims.
This program has proven to increase the efficiency of rescuing victims, however there are still problems which need to have measures taken against. At any one time, not all ambulance team agents will have an assigned victim to go and rescue. This means that there will still be duplications in victims, given that agents without a specified victim will go and rescue its nearest human in need of help. We are currently working on a countermeasure in the form of dispersing the destinations of ambulance team agents without allocated victims, to prevent overlaps from happening as much as possible.
Table 1. Data obtained on priority
| AT Victim | 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| 1 | 6 | 3 | 4 | 8 |
| 2 | 4 | 3 | 2 | 3 |
| 3 | 6 | 4 | 3 | 5 |
| 4 | 3 | 4 | 8 | 9 |
Table 2. The largest figures are selected
| AT Victim | 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| 1 | 6 | 3 | 4 | (8) |
| 2 | (4) | 3 | 2 | 3 |
| 3 | (6) | 4 | 3 | 5 |
| 4 | 3 | 4 | 8 | (9) |
Table 3. Matching each agent to a victim
| Victim AT | 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| 1 | 6 | 3 | (4) | 8 |
| 2 | 4 | (3) | 2 | 3 |
| 3 | (6) | 4 | 3 | 5 |
| 4 | 3 | 4 | 8 | (9) |
Fire Brigade
The aim of the fire brigade is to extinguish fires caused by disaster. It is important to prevent the spread of fire and to limit the damage it causes. Burning buildings raise the temperature of the surrounding buildings. Therefore, fire brigade agents must extinguish the outer circumference of burning areas and prevent the spread of fire.
In order to achieve this, last year the k-means technique was applied on the map which we had previously obtained through area partition analysis, and also the convex hull. However, these techniques require a lot of time for their computations. This year, we have determined the influence of the fires to its surrounding buildings which are not yet burning, and using the convex hull, concentrated on extinguishing fires which measured the highest risk of spreading. The equation used to calculate the degree of influence is shown below.
Degree of influence = Temperature of the burning building / (Distance to its nearest building)²
As of 2013, gas stations have been placed. Taking this into account, one of our coping strategies is to increase the degree of influence when a building on fire is at risk of spreading out to a petrol station within close proximity. Within the group of buildings already burning, we assumed that the outermost buildings of that group are the most likely to spread to buildings which have not yet caught fire. From this, it is also assumed that these will be the buildings with the highest degree of influence. By prioritising these outermost buildings, we are able to reduce the spread of fire and also the size of the fire itself.
Fig.4 shows a map of when the degree of influence to all the buildings are taken into consideration. Fig.5 shows a map considering only the buildings which have not yet caught fire. As Fig.5 evidently shows, it is more efficient and easier to deduce the convex hull when considering only the surrounding buildings where the fire is yet to reach. However, the downfall to this equation is that we cannot compute the degree of influence for fires which have not been discovered. For this reason, fire brigade agents carry on extinguishing inner parts of the fire until the program recognizes that the fire has spread out. This means that other agents must constantly be aware of the buildings which are at risk of catching fire and pay particular caution to extinguishing smaller fires which may be occurring around them.
Police Force
The main role of a police force agent is to clear obstacles which are caused by disaster. The action of each police force agent influences all agents and civilians in the virtual city. All possible routes for every agent to take action, are determined by the range of passable roads. The police force are the only agents who are capable of clearing obstacles, making it possible to walk through a road which was once blocked. As written in the sections above, the role of an ambulance team agent is to rescue victims in a building, and the role of a fire brigade agent is to respond quickly to a fire and start extinguishing. However neither of these actions are possible if the destination of these agents is unreachable due to an obstacle. It is important, not only for a police force agent to widen the range of actions possible for each agent, but for them to clear roads in an effective order to make the actions of the ambulance team and each fire brigade agent more efficient.
In 2013, we computed the density of buried humans in a given space to examine which area should be prioritised, and to deduce which obstacle should be cleared next. Using this method, the rescuing of buried victims was made more efficient. This year, another program has been introduced to allow new information to cut in. This allows the police force agents to use their time more efficiently, resulting in clearing more obstacles overall. If a police force agent is moving on the map using last years method without any new information cutting in, the agent will carry on moving to its original destination to complete the action it has already started. This was the case even if a police force agent came accross a problem which should have been prioritized, such as clearing an obstacle to help a buried victim nearby. Given that the agent would have to go back on its self to complete the problem it passed, this cannot be said to be an efficient method of clearing obstacles. Time spent in an agent moving from one place to another should be reduced to a minimum.
In this years method, we use the distance measured between each police force agent and buried victim. Depending on this length, the agent decides whether it is a situation where it is possible to rescue the victim quickly or not. If it is, then the agent should prioritize this action by letting it cut in before completing their previous action. In order for this to happen, the police force agent must determine whether an ambulance team agent is able to get to the buried victim quickly. As a solution to this problem, a specific area has been defined in which buried humans will be rescued by a police force agent. If the victim is in a building on a road juxtaposed to the road on which the agent itself is on, then the agent will change its course of action to help this victim. By introducing this method, we can avoid obtaining the following situation. If the defined area were to be computed by distance only, we get a situation as shown in Fig.6, including buildings which are harder to get at. However as shown in Fig.7, using our method means that only buildings which are easily accessible are included in the defined area.
By applying this method, police force agents are now able to prioritize rescuing a human, even when they are in the middle of carrying out a different process. Thanks to this new method introducing priority in action, the number of buried humans who are rescued by the ambulance team will increase, resulting in a rise of the rate of peoples lives being saved. By this, we can say that the police force agents are clearing obstacles in a more efficient manner.
Result
Using various maps from the RCRS competition held in 2012, Table 4, 5, and 6 show the comparison between the damage made to buildings using our program from 2013 and in 2014. Under the same conditions, Table 7, 8, and 9 show the comparison of the Civilian component. From this data, we can conclude that using our new program from 2014 did not show much difference from last year considering building damage. On the other hand, the Civilian component has shown some improvement, showing an increase in figures. The latter result was obtained thanks to the new clearing method introduced for the police force agents, and the heuristic of the Perfect Matching Algorithm for the ambulance team agents to follow.
Table 4. Comparison of Building damage on Preliminaries Day 1
| Berlin1 | Eindvoven1 | Kobe1 | Mexico1 | Paris1 | VC1 | |
|---|---|---|---|---|---|---|
| Ri-one2013 | 0.323 | 0.140 | 0.580 | 0.110 | 0.267 | 0.147 |
| Ri-one2014 | 0.297 | 0.140 | 0.270 | 0.110 | 0.220 | 0.090 |
Table 5. Comparison of Building damage on semifinals
| Berlin3 | Berlin4 | Eindhoven3 | Istanbul2 | Kobe3 | |
|---|---|---|---|---|---|
| Ri-one2013 | 0.315 | 0.505 | 0.100 | 0.280 | 0.550 |
| Ri-one2014 | 0.300 | 0.500 | 0.100 | 0.280 | 0.140 |
Table 6. Comparison of Building damage on finals
| Berlin5 | Eindhoven4 | Eindhoven5 | Kobe4 | Mexico3 | Paris4 | |
|---|---|---|---|---|---|---|
| Ri-one2013 | 0.313 | 0.070 | 0.060 | 0.473 | 0.100 | 0.140 |
| Ri-one2014 | 0.295 | 0.070 | 0.060 | 0.380 | 0.100 | 0.030 |
Table 7. Comparison of Civilian Component on Preliminaries Day 1
| Berlin1 | Eindvoven1 | Kobe1 | Mexico1 | Paris1 | VC1 | |
|---|---|---|---|---|---|---|
| Ri-one2013 | 38.027 | 32.987 | 65.430 | 11.743 | 99.517 | 84.743 |
| Ri-one2014 | 40.033 | 32.653 | 65.940 | 14.090 | 97.015 | 83.400 |
Table 8. Comparison of Civilian Component on semifinals
| Berlin3 | Berlin4 | Eindhoven3 | Istanbul2 | Kobe3 | |
|---|---|---|---|---|---|
| Ri-one2013 | 56.935 | 65.825 | 37.775 | 39.365 | 88.980 |
| Ri-one2014 | 57.440 | 65.320 | 37.270 | 42.400 | 74.420 |
Table 9. Comparison of Civilian Component on finals
| Berlin5 | Eindhoven4 | Eindhoven5 | Kobe4 | Mexico3 | Paris4 | |
|---|---|---|---|---|---|---|
| Ri-one2013 | 74.403 | 55.010 | 68.845 | 67.397 | 6.750 | 88.403 |
| Ri-one2014 | 67.370 | 55.840 | 65.830 | 67.400 | 11.140 | 87.400 |
Acknowledgment
We are deeply indebted to Chihiro Hatakeyama, Sho Okazaki and Takahiro Nakagawa for their advices.
References
- M. Tsushima, K. Yasuda, S. Okazaki, T. Nakagawa, and Y. Kurose. RoboCupRescue 2012-Rescue Simulation League. Team Description. Ri-one(Japan), 2012.
- Korte, Bernhard H. and Vygen, Jens and Takao Asano and Yasuhito Asano and Ono Takao and Tomio Hirata . Combinatorial optimization : theory and algorithms, Second Edition. Springer Japan, 2009. ISBN 9784431100218.