SEU-Jolly 2012 Soccer Simulation Team Description
Duan Pengfei, Zhao Bolu, Tan Yingzi
RoboCup Lab, Southeast University, Nanjing 210096, China
Abstract The purpose of seu-jolly, with a previous name called SEU-RedSun, is to develop a re-usable agent which can behave in a human-like way. This paper describes the main features of seu-jolly soccer 3D simulation team. seu-jolly improves itself to adapt the changes in Iran Open 2012. This year our most work is making the location information more accurate, optimizing the basic skills such as walking and kicking, strengthen the cooperation between agents. At last, it describes the future work we will do.
Introduction
To get the ultimate goal of the RoboCup project, the RoboCup competition improved itself in different fields from the simulation platform to competition rules. And the influence of competition is increasing which is good for the research of robot.
As simspark is becoming more stable and real, it is easier for us to experiment on methods and algorithms for humanoid soccer behaviors. To close the reality, restricted vision preceptor is installed on NAO. On the other hand, to make developing more convenient, Accelerometer sensor which gives the information of linear acceleration was added, and sync mode was added.
This paper describes the main features and implementation of seu-jolly. Section 2 describes our agent architecture. Section 3 discusses the humanoid behavior generation in dynamic and adversarial environment. Section 4 shows our future work.
Agent Architecture
Considering of that the simspark is still under development, and many new features will be added in the future, we try to make our team enough flexible to adapt new changes. So we use the plug-in architecture based on on-strict layered agent architecture with singleton modules [2]. With plug-in architecture, we could just change the plug-ins.
Humanoid Behavior Generation
Humanoid behavior generation is a key problem in humanoid robot research. A competitive team needs both personal ability and teamwork. An Agent's Personal ability mainly refers to robust basic skills including biped walking, running, kicking, getting-up, etc. The teamwork needs good cooperative strategy and communication. And the basic skills which we want to design are that agent should behave in a human-like way and that it could transplant to real robot easily.
Agent makes decision base on its WorldModel. So the agent must get accurate information about the playground, the ball, itself and teammates. As the restrict vision, we use Noise Filtration and Zoning to make localization work.
At strategy part, we use Rational Passing Decision based on Region (RPDR) method which was used by our 3D sphere agent simulation. And we improve the communication model to support the strategy.
Localization with Restricted Vision
(Localization subsection)
Noise Filtration
For the expanding of playground, the noise's influence increases. We use Kalman filter to solve this problem.
The Kalman filter is an efficient recursive filter that estimates the internal state of a linear dynamic system from a series of noisy measurements. [3] This means that only the estimated state from the previous time step and the current measurement are needed to compute the estimate for the current state. [3]
We impalement the Kalman filter to filter out the noise of the ball information, but it is impossible to figure out an accurate motion model of agent. Unlike the simulation of spherical agent, the driving force acted on agent is not controllable. Thus, Kalman filter is not useful for filtering the noise in self-localization, not to mention the noise in other agent's position.
Localization
According to our team's locating algorithm, vision perceptor and gyro rate perceptor are required for self-localization. Theoretically, only one flag is enough, but there is accumulated error in gyro rate. We use vision perceptor to correct the error. As vision restrict, agent may not see enough flags to locate. They need to rotate their head to find enough flags. But rotating head costs much time. Therefore, we divide the playground in different regions. And in different region, the agent turns its head to right or left direction. So it can search the flags and the ball more quickly and do other motions smoothly.
Keeping Object in View
When a tank is running fast on a bumpy ground, FireControl System can keep it aiming at target. A similar controller is implemented to keep some object in view when robot is moving, such as football and goal.
Accelerometer
When an agent is standing on the ground or walking stably, we'll get relatively steady data from the accelerometer. If the accelerometer shows a strange value compared to the expected value which represents standing or walking, it's reasonable for us to believe that this agent is not in balanced state.
Communication
As the competition change to 6V6, the communication between agents becomes more important.
Say and Hear model were used send and receive message. Fig.2 shows our communication model. As messages are restricted to a maximal length (currently 20 bytes)[5], we design a message class to deal different sentence.
Rational Passing Decision based on Region
According paper [4], we divide playground as 11 region (Fig. 3). Three edges are left(L), center(C), right(R). Three rows are front(F), middle(M), back(B); and special region: Shoot(S) and Dangerous(D).
The calculate process as follow:
- (1) calculate different kinds of region;
- (2) calculate the intersection of the regions
- (3) select the target region.
Passing ball to a region instead of a point could decrease the calculation and increase the success.
World Model (WM) of Agent
Vision information obtained is polar coordinates. WM analyzes vision information and calculates something to create a Cartesian coordinate system which is static to the court. WM describe information about agents and their environment in this global coordinate system, such as agent's position and goal's potion. In strategy level, it's so easy to make decision depend on global coordinates provided by WM. Because global coordinate is complete information for thinking (sometimes global coordinates need to be transformed into local coordinates).
In the past, vision information sent by server is maximized, that means agent could see all things in the environment. So, it's easy to create a global coordinate system and data in this coordinate system is relatively accurate in WM.
Currently, vision sense is restricted by server and larger court leads to bigger error in vision information. Agent cannot see both the ball and the flags simultaneously for most of the time. If he sees only a ball, he would not able to create the global coordinate system. Else if he sees only flags, there would be no information of the ball. So we now use both relative position and global position, to improve the accuracy. And history position is used when agent can't locate its position.
Future Work
The results achieved by our team are very hopeful. But there is much work to do in the future. Both basic skills and decision making will be the primary work of seu-jolly. On the one hand we should improve the stability of walking, decrease the time of adapting kicking, on the other hand, we should design a good formation and strategy.
Considering that the agent often fall after shooting, we should improve the accurate of vision and optimize the kicking.
As the number of teammates increased, we will adapt the position of agents and use the communication between agents to keep the balance of offensive and defensive.
At the same time, we are keeping on developing the development tool and improving the server in the future.
This description is written in Jan of 2012, we are devoting to change our walking mode and information processing part. We hope we could improve our code much when the IranOpen begins.
And we will open our source code soon, while we are preparing the website now, more work around writing teaching documentations for new guys of 3d will be done.
References
[1] Chen Si, Zhou Yanjun, Yi Yimin and Tan Yingzi, SEU-RedSun 2009 Soccer Simulation Team Description, .In RoboCup 2009: RoboCup IranOpen 2009, Iran, April,2009. [2] Xu Yuan, Jiang Chunlu, and Tan Yingzi. Seu-3d 2006 soccer simulation team description. In RoboCup 2006: Robot Soccer World Cup X, Bremen, Germany, June 2006. [3] WIKIPEDIA , http://en.wikipedia.org/wiki/Kalman_filter [4] Xu Yuan. Research of robocup humanoid soccer simulation robot the design and development of seu-redsun soccer simulation team. Master's thesis, Southeast University, Nanjing, China, 2008. (in Chinese). [5] Joschka Boedecker, Klaus Dorer, Markus Rollmann, Yuan Xu, Feng Xue, Marian Buchta, Hedayat Vatankhah, SimSpark User's Manual, Version 1.2, Page 17-18. [6] Xu Yuan, Shen Hui, Qian Cheng, Chen Si, and Tan Yingzi, SEU-RedSun 2008 Soccer Simulation Team Description.In RoboCup 2008: RoboCup IranOpen 2008, Iran, April,2008.