Rezvan-3D Team Description
Ali Nadalizadeh, Hamid Paxima, Mohammad Mahdi Mirabootalebi, Sassan Haraji
Computer and Robocup Science Department, Allame-Helli HighSchool of Tehran, Iran
Abstract This paper describes works done in the Allame-Helli high-school on robocup simulation (3D Version). All work we done on this branch consists of several parts listed as : Base code, Physics System, Basic Skills, Some High-Level Actions, and finally a decisioning system. After base code of this project, we separated it to physical calculations and basic skills. All useful formulas discovered and used in the "basic skills" layer. The decisioning system is done in the way that is common between most team. a two layered ranking system. To improve this simple system, we have written a powerful thinking layer for high-level actions.
1 Introduction
Rezvan is a new team developed for 3D Soccer Simulation (2) Competition of Robocup 2006 Bremen. It consists of three students of NODET (National Organization for Development of Exceptional Talents). Rezvan started with SPADES (1) agent library and a simple communication system. It has been written in pure C++ and fully object oriented. We didn't use agent-test base code because it hardens producing independent binaries. This is because it depends to some libraries which aren't unique everywhere.
2 Physics System
One reason of finding such formulas is that we had to guess our future world model. Another profit of the physics system shows itself in noise reducing algorithms which helps agent to play better. Up to now, Rezvan has two main formula, one for agent itself and the other for the ball. All functions of physics system use them. When equations for agent and ball in the 3D world had been solved, we started to find the best coefficients for them. Physical formulas helped us in all stages even in writing high-level skills and it seems that it's necessary for all teams to have this system.
3 Basic Skills
Because working directly with raw commands is very difficult for both decisioning and playing, it's necessary to have basic layer for actions. Our Basic Skills consists of "Moving to a Position" , "Kicking the ball to a specified point" and "Intercept Skill". Intercept skill is now being used by all of actions which includes Basic Skills, Advanced Skills and even the decisioning system. It's notable that Goto-Point skill finds the optimal force to apply and transfers agent in minimum time.
3.1 Moving to a position
This skill enables an agent to move to a global position in the field. In our approach, the distance between agent and target is divided into two parts which in both parts agent gives a maximum force to itself. These forces are searched with a binary like algorithm. By these algorithm agent movesto target at the minimum time.
3.2 Intercept skill
First section of this skill enables agent to catch the ball at the minimum time and the other one computes the bestteammate to go for the ball. For both parts the physics system is so useful. Our last algorithm for this skill is a simple search that simulates agent and ball together and finds the best point between theme .
For the second part, the first algorithm is executed for each agent and the agent with minimum catch time will be selected.
3.3 Kicking the ball to a specific point
This skill enables agent to go to a specific angle of ball and kick it to the target position. It uses intercept skill (described above) to find the best point to catch the ball and moves there by first basic skill (I mean Moving to a Point). There is an equation for finding the kick power and the angle.
4 Advanced Skills
These actions have two layers. A thinking layer which uses physics system and other Advanced Skills and considers all necessary situations and finally returns the results to decisioning system which will be described later. Another layer of these skills is "Apply Layer" which uses Basic Skills to apply the action with the best form. The specified form has been selected in the "Thinking Layer" before.
5 Decisioning System
Rezvan has the most common method of decisioning between 3D teams , a two layer ranking system. (Fig 1) The first layer is separated ranking system for advanced skills. It means that all advanced skills should think and return it's decision about itself. As described above this decisioning is not fully independent. ( i.e. this decision depends on basic skills and even other advanced skills. )
Second layer is the last decisioning layer which decides based on first layer results. It is notable that this system will be replaced by another system named Planning System. For more details refer to nextsection.
6 Future Works
Our future works would mainly based on improving these existing skills and systems and also changing the decisioning system to a planning system. In fact nowadays all teams have an equal basic skill layer, and this is the reason that every team which now really think would be the winner. A layered planning system would help at this stage. this would consists of two phases, first system is assaying the opponent skills, strategies and etc, and the other is selecting the best plan to play with them. The planning system is most like an on-line learning system.
References
- Patrick Riley.SPADES system for Parallel Agent Discrete Event Simulation User's Guide and Reference Manual for version 1.10. Accessible from : http://spades-sim.sf.net
- Oliver Obst. Text Instead of Manual. Accessible from : http://sserver.sf.net
- Vahid Salmani, FaridSeifi, Hossein Moienzadeh. Nexus3D team description 2005.