RoboCup 2014 – Rescue Simulation League Team Description
Fu Jiang, Jun Peng, Xiaoyong Zhang, Tao Cao, Muhong Guo, Longlong Jing, Zhifeng Gao, Fangming Zheng
School of Information Science and Engineering, Central South University, 22# South Shaoshan Road, Tianxin District, Changsha, Hunan 410075, China
Abstract In this paper the main work about CSU_Yunlu Rescue Agent Simulation Team within a year is introduced here. An online fire forecasting method based on Particle Filter algorithm is implemented to obtain more accurate estimation of the building temperature. Then the building temperature gradient distribution is used to find the main spread direction of fires. In partitioning, we have changed our simple partitioning method to K-mean++, which guarantees the balance in partitioning. This partitioning is used to improve Ambulance Team distribution in map. The channel allocation model has been changed from dynamic allocation to static. The improvements can be verified by tests.
1. Introduction
The purpose of Rescue Simulation League is to decrease the life and financial losses caused by nature disasters such as earthquakes, floods and etc. In order to achieve this goal, a large urban disaster is simulated. The simulation platform can simulate the real world limits and problems as accurately as possible [1]. And is also a place where the conjunction of artificial intelligence and data mining occurs.
CSU_Yunlu team has participated in the RoboCupRescue competition since 2006. Through these years, we have accumulated valuable experience. Major improvements on our rescue policy and code have been made since 2013 [2]. And the remainder of this section summarizes the improvements.
The following outlines the most important improvements:
- K-mean++ is used to replace the old simple partition method [3].
- The channel allocation model is changed from dynamic allocation to static [4].
- The ambulance task allocation is enhanced [5].
- A simplified fire propagation model is established based on the principle of fire simulator [6]. And an online fire forecasting method based on the particle filter is proposed for the model [7].
- The thought of gradient is used to get the main spread direction of fires based on the forecasting results.
2. Partitioning
In order to get more even and reasonable partitions, the simple partitioning method used before is replaced by K-means++ algorithm. In K-means++ algorithm, a cluster is a group of buildings which are closest to the cluster center. This algorithm cost very short time to divide the map so that we are able to perform more computations during preprocessing. After several testing, it is found that the best number of clusters is equal to the number of ambulance team agents. The best choice can lead to a more efficient rescue.
3. Communication
A successful rescue relies on the team cooperation which needs efficient communication between the agents. Communication between agents is a process of arranging the channel, sending compressed message to the channel, and kernel to handle it and returning coping behavior. In our previous codes, the channel was assigned randomly in each cycle [8] [9]. When there are more than three channels, the random allocation model can only use three channels which is a waste of resources. While in the simulation system fire brigade plays a more important role, and it should receive more messages. So fire brigades should occupy more channel resources. The new allocation model, in which we allocate the channel before the start of the simulation, overcomes the above problems.
4. Ambulance Team
The main task of the Ambulance Team is to rescue more humans and take more trapped civilians to the refuge. To realize this goal, the ambulance team needs accurate information of the humans and a high-efficiency decision making system. In the tactics, our ambulance team shows that it's advanced in the following four aspects:
4.1 Work Area
All the ambulance teams are distributed in their own work area. The work area of every ambulance team contains two parts: static area and dynamic area. The static area which using K-means++ is distributed at the preprocessing time of the simulation. And the dynamic area is a circular area around the ambulance team. And the radius of this circle is determined by the size of map. The ambulance team only performs searching task in the static area, and performs rescuing task in both the static area and dynamic area.
4.2 Task Updating Module
The task updating module updates the ambulance team's task in every cycle. The current task is decided according to the last task and current situation. After updating the task, the ambulance team will execute the corresponding work.
4.3 Injury Type Matching Module
There is an injury type matching module which helps the ambulance team to judge the injury type of the trapped humans according to information of their Health Point (HP) and damage in several cycles. As long as the injury type is obtained, the time to death of the humans can be calculated.
4.4 Rescue Object Managing Module
A rescue object managing module is added to ambulance team to manage the victims in the ambulance team's world model. In every cycle, this module will filter those humans who are no need to be rescued, and choose the optimized object to rescue when the ambulance team is ready to perform rescue. In many cases there will be more than one victim who need to be rescue, and this system always choose the best one based on human's injury type, location and the ambulance team's location.
5. Fire Brigade
No introductory text for this section.
5.1 Update Model of Building Temperature
Rules of fire propagation are complex. In the old code only the radiated energy of fired building is used and this will lead to the limitation of the fire forecasting and decision-making. So a simplified fire propagation model based on the principle of fire simulator is implemented, and a particle based online fire forecasting method is introduced. The specific process of updating building temperature is shown below:
- Updating of building fuel.
$$CF(i) = IF \times f(i) \times Rnd$$
$CF(i)$ is the cost of the fuel in time step $i$, $IF$ is the initial fuel of the building, $f(i)$ is the cost coefficient, $Rnd$ is a random float number.
- Updating of building energy.
Increment of building's energy: $E(i) = E(i) + CF(i)$, and $E(i)$ is the energy of building in time step $i$.
Decrement of building's fuel: $F(i) = F(i) - CF(i)$. If $CF(i) > F(i)$, then $CF(i) = F(i)$.
- Updating of building's water quantity.
The energy difference of building: $\Delta E(i) = [T(i) - Ti] \times c$. $Ti$ is the initial temperature of the world which is $20°C$, and $c$ is the heat capacity of the building.
The effect of water is $effect(i)$.
If $effect(i) < \Delta E(i)$, then the water quantity of building is zero and the energy of building is calculated by: $E(i) = E(i) - effect(i)$.
If $effect(i) > \Delta E(i)$, the energy of building is zero, and the water quantity is calculated by: $WQ_R(i) = WQ_R(i) \times (effect(i) - \Delta E) / effect(i)$
- Radiation process.
The radiation energy of building can be calculated by Stefan-Boltzmann law:
$$T_{rad} = \sigma \times (T(i) + 273)^4 \times S$$
$\sigma$ is Stefan-Boltzmann constant, $S$ is the area of buildings' wall.
5.2 Particle Filter Based Temperature Prediction Method
Particle Filter (PF) algorithm is based on Monte Carlo method. This algorithm can approximate the posterior by a finite number of particles. Here is the state equation:
$$x(t) = f(x(t-1), u(t), w(t))$$
$$y(t) = h(x(t), e(t))$$
Equation 1 is the state transfer equation and equation 2 is the observation equation. $x(t)$ is the state of time $t$. $u(t)$ is the control value $w(t)$ and $e(t)$ are model noise and observation noise respectively. $y(t)$ is the observation value of time $t$. Particle Filter can obtain the estimation of the state $x(t)$ from the observation value $y(t)$, state $x(t-1)$ at time $t-1$ and control value $u(t)$.
The actual temperature of the building in each cycle cannot be got. Conditional probability can't be used to empower the value of the particle in this situation. The distribution of particles can be utilized to predict the true state. When the true temperature can not be received, all the particles are given the same weight value. When the particles are given the same weight, they are in line with uniform distribution. Then the temperature value with the expectation of the uniform distribution can be estimated.
The updating of temperature of particles is calculated by equation 3:
$$present(t+1) = present(t) + \Delta t$$
In equation 3, $present(t)$ is the temperature of the particle in time step $t$, $\Delta t$ is the update value of particles and it can be obtained in the process showing in section 5.1.
The prediction temperature can be calculated by equation 4:
$$T(t)c = \sum{i=1}^{N} present(t)_i / N$$
$T(t)_c$ is the temperature of building at time step $t$. $present(t)_i$ is the temperature of particle $i$ at time step $t$.
5.3 Gradient
Based on the predicted temperature, the fired building can be clustered dynamically. And each cluster can be handled simultaneously. In each fire cluster, buildings temperature gradient distribution can be used to find the main spread direction of fires. By this way, the spread of fires can be prevented in a more efficient way.
6. Acknowledgment
This project has been carried out with the help of many individuals and support from School of Information Science and engineering, Central South University. Particularly, the author would like to acknowledge the support of Professor Min Wu.
References
[1] RoboCup rescue website. http://roborescue.sourceforge.net/ [2] Jiang F., Wang S., Luo Z., Yang Q. and Peng J. RoboCup Rescue 2013–CSU_Yunlu Rescue Simulation Team Description. Robocup 2013 International Symposium, Eindhoven, Holand, July, 2013. [3] Wu X., Kumar V., Quinlan J., Ghosh J., Yang Q., Motoda H., Mclachlan G., Ng A., Liu B., Yu P., Zhou Z., Steinbach M., Hand D., Steinberg D. Top 10 algorithms in data mining. Knowledge and Information Systems, 2008, 14 (1), pp: 1-37 [4] Peng J., Wu M., Zhang X., Xie Y., Jiang F., Liu Y. A collaborative Multi-Agent model with knowledge-based communication for the RoboCupRescue simulation. International Symposium on Collaborative Technologies and Systems, Las Vegas, USA, May, 2006, pp: 341-348. [5] Peng J., Liu Y., Wu M., Zhang X., Jiang F. State Prediction based Dynamic Cooperation Algorithm in Multi-agent System. Journal of System Simulation, 2008, 20 (20), pp: 5511-5515. [6] Liu R., Sun Z. A DBN Model for Fire Spreading in RoboCupRescue Simulation. Collected papers for RoboCup 2007 conference 2007(21) [7] Guan D., Xu Y., Tan Y. Particle Filter Based Study of Fire Forecasting in RCRSS. Nanjing: Southeast University, 2009 [8] Hao X., Cheng M., Wong V. A Stackelberg Game for Cooperative Transmission and Random Access in Cognitive Radio Networks. in Proc. IEEE International Symposium on Personal, Indoor and Mobile Radio Communications, Toronto, Canada, September, 2011, pp: 411-416. [9] Scutari G., Palomar D., Pang J., Facchinei F. Flexible Design of Cognitive Radio Wireless Systems. IEEE Signal Processing Magazine, 2009, 26 (5), pp: 107-123.