Bahia3D - A Team of 3D Simulation for Robocup?
Adriano Veiga
Bahia State University (ACSO/UNEB), Salvador, BA, Brazil
Abstract There are many challenges in the development of a soccer playing team for Robocup 3D simulation league. In this article we not only introduce the Bahia3D team but also focus on the logic and design decisions used by the team to deal with problems and choices faced in this category, additionaly a description of the work still under developement.
1 The team
A three-dimensional simulation engenders many challenges, to help in the solution of such challenges the Bahia3D team was formed. The team is part of a larger research group in Artificial Intelligence called BRT (Bahia Robotics Team). The Bahia2D team in Two-dimensional simulation and BahiaMR team in Mixed Reality sub-league are also part of this group. This is the first year of the team is this competition, which proved challenging but nonetheless, very successful.
As a newbie team, we are starting our work using a base team and trying to improve its abilities. In this work the team presents all implemented functionality of the agent, developed to address the requirements of a intelligent soccer player agent in this simulation.
2 The Base Team
A new team has to choose between starting a brand new codebase or develop over an existing framework. The former provides greater freedom of choice and design but it invariably leads to higher code maintenance costs, while the latter constrains the developer and possibly create a dependency over the framework, however it can also help to increase code reuse and diminish the code size, this help on focusing on the fundamental issue, the intelligence.
The Bahia3D team decided that using a currently existing codebase could prove worthy as there would be no need to reinvent the wheel and could be used to quickly grasp the simulation complexity. We choose the libbats library from Little Green Bats [1] which fulfilled many of our initial requirements, such as the realible communication method and vectorial algebra. These qualities and the well written documentation provided the needed support to quickly start the development of the team's intelligence.
Although the library provided the necessary framework, some basic functionalities still remained unimplemented, to avoid work repetition in this initial effort, a libbats-based team, OPU_hana_3D, was used as a starting point. This way it became possible to work based on a existing solution and study the impact of the design choices made by their creators on our actual requirements. As of now it remains under study if the OPU_hana_3D client will remain as the base on upcoming versions of this client.
The team base architecture is based in a hierarchical behavior model, in which each behavior consists of a sequence of steps [1]. Each step can be a sequence of sub-behaviors, which can compete or execute in parallel. The behaviors are organized as a tree, in which lies at the root the high level behaviors and at the leafs, the lower level behaviors.
? This project is partially funded by UNEB, FAPESB and PICIN/UNEB
3 Agent Intelligence
Understand the base code was a challenge in itself, several parameters from distance to kick to behavior where changed and their effects where observed several times. This gave a overview on the general architecture and action creation methodology.
3.1 First Improved Behaviors
The analysis of the kick behavior was the first step to bring the kick model of Bahia2D. This model looks for the best balls trajectory into goal avoiding opponents' interceptions. In order to do so, the goal is sliced into zones and for each one chances of reaching the goal are analysed. The projections of ball's trajectory and velocity are contrasted with the best set of possible opponent's decisions, from the stand point of the agent. Then, the analysis is done. If the player doesn't find a good opportunity for successfully concluding the move, i.e., scoring, the routine returns to the calling procedure, so another decision can be made.
To provides a better field for bring and analyze the kick model, the defense player behaves like a offensive player, though his positions are closer to the goal, the difference comes from the priority of his behaviors. To complement this functionality the agent will try to kick from farther of the goal, keeping the ball into the opponent's side of the field. The agent analyses the distance of opponent's goal and estimates the succesful rate of your kick. In the figure 1, the distance from agent to opponent goal is long, therefore the succesful rate of kick is low, but not ignored. If there is a space toward the goal, the agent will kick the ball.
3.2 Results
The performance of Bahia3D team in the set of tests against the OPU_hana_3D team was improved. The table summarizes the result of five matches between both teams, before and after the changes. All matches lasted five minutes.
Results of matches against OPU_hana_3D team
| Parameters | Before | After |
|---|---|---|
| Scores | 5 | 6 |
| Kicks | 7 | 19 |
| Kicks To Goal | 6 | 13 |
The performance of Bahia3D team in the set of tests against the Litte Green Bats 2008 team can not be well observed by can not staying with the ball for long time. The results was almost the same. The table summarizes the result of five matches of five minutes.
Results of matches against Little Green Bats 2008 team
| Parameters | Before | After |
|---|---|---|
| Scores | 0 | 0 |
| Kicks | 1 | 1 |
| Kicks To Goal | 0 | 1 |
4 Future Work
The group is commited in the development of a generic agent, featuring a basic and category-independent framework that will enable a clearer agent design based under well-known design patterns and algorithms. The agent intends to be a common trunk of development for some Robocup categories and provide a basis for upcoming implementations.
The first phase of this project is the creation of the PEAS (acronym for Performance, Environment, Actuators and Sensors) document [2] for each category. Supported by information in this document the similarities and differences between each will be analysed. The aim is identifying generic issues (hot spots) that are central to the architecture being designed. One major challenge consist in achieving an architecture that allows the use of reusable components with little or no coupling to the specific structure of each environment.
Currently there is an effort in porting the high-level field analysis made in the two-dimensional simulation by Bahia2D to this league, if the study proves fruitful a strong addition to the team's logic will be possible in the future.
References
- van Dijk, S., Klomp, M., Neijt, B., Platje, M., van de Sanden, M.: Little green bats humanoid 3d simulation team description paper. In: Robocup Proceedings, Robocup (2008)
- Russel, S., Norvig, P.: Inteligência Artificial. Campus/Elsevier (2004) Tradução da segunda edição original.