RoboCup 2018 - 2D Soccer Simulation League Team Descripiton Ri-one (Japan)
Seita Kono, Hiroto Asai, Kohei Asahi, Shosaku Inoue, Hiroki Oe, Yudai Kawakami, Taku Kitamura, Naoto Kitamura, Kanta Kobayashi, Soichiro Takeda, Taichi Naito, Yusuke Hosomi, Erika Aoki, Takuzo Ikuta, Kansei Ishikawa, Jyunichiro Kawano, Taketo Masumi, Ryoma Nomura, Yu Yamaguchi
Ritsumeikan University, Japan
Abstract In this paper, we will outline methods which we have incorporated in preparation for RoboCup 2D Soccer Simulation 2018. In this year, we try to make link between log files and database, and do an experiment to estimate the behavior of an agent holding ball based on their position pattern to make Ri-one stronger.
1 Introduction
Ri-one is the project team which belongs to the Information Science and Engineering department at Ritsumeikan University. The organization has participated in the 2D Soccer Simulation League ,Rescue Simulation League, and @Home League from before. We try to advance Ri-one based on agent 2D base (release 3.1.1) made by H. Akiyama. [1] In 2017, Our team result of Nagoya Robocup is tenth place. In Robocup Japan Open, we won the championship in 2012, and 2015. This paper will include the following sections.
- Introduction
- Link between log files and database
- Experiment to estimate the behavior of an agent holding ball based on the agent position pattern
- Conclution
- References
In this year, we focused on managing and using log files more effectively than last year. Therefore, we try to make link between log files and database, and do an experiment to estimate the behavior of an agent holding ball based on the agent position pattern.
2 Link between Log Files and Database
2.1 Introduction
By analyzing the log files outputted by starting 2D soccer simulation, we can find out problems of our team and strengthen our team. In this way, the log files are important data in many ways. However, we did not have any effective way for preserving and managing log files. Therefore, we decided to consider new way.
There are some means for sharing log files like Google Drive, but it is difficult to manage directory and information of log files. Moreover, it is difficult for only database server to manage log files because of the character of log files. Therefore, we created communication environment between database server using Postgres[2] and file server using Samba[3]. Thus, we can manage raw data with file server and feature data of each team with database server.
2.2 Network Configuration
The outline of the network configuration is shown in Fig.1.The summary of data flowing on the network is described below.The arrow numbers in Fig.1 correspond to the following numbers.
- ① Exchanging the data between user and the file server
- a. Request to check the directory structure on the file server
- b. Upload file request from user local to file server
- c. Raw file data from user local to file server
- d. Delete File request from user local to file server
- e. Change file pathrequest from user local to file server
- ② Exchanging the data between the file server and user
- a. Directory information on the current file server
- b. Possibility of file uploading on the file server
- ③ Exchanging the data exchange between the file server and the database
- a. SELECT statement to database server corresponding to user request
- b. INSERT statement to database server corresponding to user request
- c. UPDATE statement to database server corresponding to user request
- d. DELETE statement to database server corresponding to user request
- ④ Exchanging the data between the database server and the file server
- a. Response to issuance of SELECT statement from file server
- b. Response to issuance of INSERT statement from file server
- c. Response to issuance of UPDATE statement from file server
- d. Response to the issuance of DELETE statement from the file server
2.3 Database design
In order to use this database for our future activities, we also register all the files uploaded to the file server in the database. All files are assigned an ID in ascending order from those uploaded earlier. We create a table with entities such as timestamp, file name, uploader name. The above entity should not be NULL. The primary key is the ID. Log files acquires OS name and registers it in the database in order to investigate the operating environment.
Table 1. definition table:file property
| No. | logical name | physical name | data type | Not NULL | primary key |
|---|---|---|---|---|---|
| 1 | absolute path | absolute path | text | ✓ | ✓ |
| 2 | creation date | created at | timestamp with time zone | ✓ | |
| 3 | update date and time | updated at | timestamp with time zone | ✓ | |
| 4 | SHA256 | sha256 | text | ✓ | |
| 5 | file size byte | size | bigint | ✓ | |
| 6 | file creator | author name | text | ✓ | |
| 7 | user id | user id | integer | ✓ | |
| 8 | league id | league id | integer | ✓ |
Table 2. definition table:league
| No. | logical name | physical name | data type | Not NULL | primary key |
|---|---|---|---|---|---|
| 1 | user id | id | serial | ✓ | ✓ |
| 2 | league id | name | text | ✓ |
Table 3. definition table:log
| No. | logical name | physical name | data type | Not NULL | primary key |
|---|---|---|---|---|---|
| 1 | user id | id | serial | ✓ | ✓ |
| 2 | user name | user name | text | ✓ | |
| 3 | OS | os | text | ✓ | |
| 4 | global ip address | global ip | text | ✓ |
2.4 System design
We programmed a shell script to send data to file server from our local environment. Using this with some arguments, we can download some files and change file pass on file server. If someone access the file server by shell script, the file server monitors who did what and record user's file-operation syslog. For example, we set argument of shell script file pass that a file already exist, …Therefore, there are no network communication between file server and database server. In addition, the file server save user's information on syslog to identify cause of server error or bug.
In the 2D Soccer Simulation League, log files are very important and necessary to use log files to strength teams. In this study, we laid the foundation of system for database and network to use it among all members belong to Ri-one.
Ri-one participate in the 2D Soccer Simulation League, Rescue Simulation League, and
@Home League from before, so we will improve the system to share it in Ri-one. In not only 2d Soccer League but other Leagues, the system makes good effects on many learning methods such as machine learning method. For example, extracting the characteristic amount of data is capable of using for deep learning.
Database which we designed this time has three basic and minimum tables. One is about basic files and another is about users to maintain the system in the future and the other is about leagues of the circle which we belong to because Ri-one has participated in three leagues. We will also do refactoring because it is necessary to use, maintain and develop the system as an organization. Looking ahead to using this system in the future, we need to renew definition of the tables, and revise the system according to the new definition. In the future, we will develop a program of 2D soccer simulation which uses various learning methods such as machine learning and deep learning by using characteristic data extracted from log files.
3 Experiment to estimate the behavior of agents holding ball based on the agent position pattern
We made a hypothesis that we can estimate next actions (pass, shoot, and dribble) of an agent holding ball based on all agents' position pattern. To demonstrate the hypothesis, we did the experiment about the relation between all agents'position pattern and the next action of an agent holding the ball.
3.1 Experimental procedure
In this experiment, we analyzed log files, and recorded the actions (pass, shoot, and dribble) of an agent holding ball and the last cycle before starting the action. We took pictures of soccerwindow2 at the cycle and tagged the picture with the action corresponding to each pictures. In this experiment, it is only necessary to grasp the agent position. Therefore, we used pictures like Fig. 2. Background is black. Agents of one team are blue and agents of another team are red.
By playing round-robin matches with four teams of Ri-one 2017, HELIOS 2017, ALICE 2017, CYRUS 2017, we created log files of eighteen matches. From eighteen matches, total 9040 sheets of pictures were obtained. We grouped these pictures into a similar position pattern.
Then, we will explain the way of making groups. At first, the program selects a typical picture randomly from sample pictures. Second, the program searches a picture which are similar to the typical one from the pictures except the typical one, and put that one into the same group of the typical one.
As shown in Fig.3, the program searches same color pixel in the center of an agent of typical picture with 1.68 meters : three times as size as the radius of agent in Fig.2. If one pixel or over of an agent of compared picture is included in the circle, let the positions of two agents be similar. For example, in Fig.3, the agent of compared picture is included in the circle, so the position of two agents is similar. On the other hand, in Fig.4, the agent of compared picture is not included in the circle, so the position of two agents is not similar. Evaluate in this way to all agents, if all agents are evaluated as similar, let the typical one and the sample one be the same group. There are sample pictures yet, select a new typical picture randomly again, and group. Doing these procedures while sample pictures exist. The algorithm is shown below.
- Make some sample pictures.
- Select a typical picture randomly from sample pictures.
- Select pictures like typical one by analyzing sample pictures.
- Let pictures selected go into a group of similar pattern of the position of typical one.
- If there are samples yet, go back to 2, otherwise finish it.
Groups including less than 10 files is not used. Finally, calculating three probabilities of pass, shoot, and dribble in each group.
3.2 Result
The results of this experiment are shown in Fig.5. Fig.5 shows a normalized histogram. X-axis shows the maximum probability of three actions (pass, shoot, and dribble) in each groups. Y-axis shows the number of the groups included the probability. The sample size is equal to the number of groups. Action has three types (pass, shoot, and dribble) and the maximum probability is picked, so the bin range is 10% between 30% and 100%. The histogram shows the accuracy of behavior estimation, that is, more frequent high rank is, the more accurate it becomes.
Fig.5 shows high rank is frequent and low rank is infrequent.
3.3 Discussion
From the result, it can be said that the behavior of the agents holding ball has relation to agent position pattern. However, we think the result is not accurate due to two reasons. First, three actions (pass, shoot, and dribble) is not equal probability. In 2D soccer simulation, an agent holding ball tends to do dribble more frequent than pass and shoot. Moreover, shoot is infrequent. As a result of this experiment, the picture which an agent holding ball does dribble is about 70% of all pictures. Therefore, in Fig.5, high rank is frequent. Second, there we use prepare a small quantity of pictures, so it can't be said accurately. For these reasons, it seemed to be difficult to estimate the behavior of an agent holding ball from the result. However, with more specific date: direction or position of action, it can be possible to estimate the behavior of an agent.
4 Conclusion
Finally, we will write the consideration of this paper for two studies. We laid the foundation of system for database and network to use log files. Therefore, forthcoming challenge is developing an environment to utilize log files for various methods such as learning methods. As the result of an experiment to estimate the behavior of an agent holding ball based on their position pattern, there is no clear relation between the behavior of agents and agent position pattern. In this study, we prepare a small quantity of pictures and that can be one of the causes of the failure. We think that the experiment can be effective means to estimate the behavior of agents from the large amount of pictures. Moreover, it is capable of using for learning methods.
References
- RoboCup tools /soccer simulation wiki, 2018, http://rctools.sourceforge.jp
- Japan PostgreSQL User Group, https://www.postgresql.jp/
- Japan Samba User Group, http://www.samba.gr.jp/