Robocup 2011- Soccer Simulation 3D Soccer ... - Semantic Scholar

1 downloads 0 Views 440KB Size Report
that Kaveh (previously called Scorpius)participates in a world-level Robocop competition. This year, most of our researches are focused on improving primitive ...
Robocup 2011- Soccer Simulation 3D Soccer Simulation Kaveh Nima Mohammadi, Payam Ahmadvand, Majid Yassari, Seyed Ali Zahiri, Mostafa Salehi Robotics &AI Laboratory, Electrical and Computer Engineering, Shahid Rajaee University, Tehran, Iran {nima.mohammadi, p.ahmadvand majid.yasari, sa.zahiri, mostafa.salehi}@sru.ac.ir

Abstract. This paper intends to present some of the major steps involved in implementing Kaveh simulated humanoid robot, including several specifications of the controller. This is the fourth year that Kaveh (previously called Scorpius)participates in a world-level Robocop competition. This year, most of our researches are focused on improving primitive skills, especially optimization of walking and implementing our platform independent trainer. However, we are going to describe some of higher level skills we developed to improve the performance of the robot. Keywords: multi-agent systems, artificial intelligence, trajectory based approach, genetic algorithm, fitness function, data mining, association rule.

1. Introduction Kaveh team was established in 2005 in SRTTU Robotics and AI laboratory. Our journey on humanoid soccer simulation started with Fujitsu's HOAP-2 robot. During our researches on humanoid skills, some approaches were found proper to be utilized. According to the environment limitations, suitable methods were distinguished in tests to be optimized. Since the soccer server drastically changed after German open competitions in 2008, our platform has been changed to “Nao” and optimizations in our skills was made, thanks to artificial intelligence approaches (e.g. genetic algorithm and machine learning) which have been one of the most significant concerns of our team. Creation of a mechanical machine in human shape, having the same locomotion and even more capabilities has always been one of the human beings’ desires. So research on humanoid robotics is one of the most exciting topics in the field of robotics [2]. Control of Biped walking robots has turned to be a burning topic and gets a lot of attention due to its challenging nature [3, 4, 5]. Despite all the efforts done, there are still lots of mysteries about human locomotion, which make these approaches more complicated. Walking consists of many complex processes, such as controlling large numbers of degrees of freedom (DOFs), non-linear dynamics of controlling a humanoid body and wide ranges of interactions with the environment (gravity, landscape, perturbations, etc.) [3]. No wonder that it is necessary to have a good walking method for winning the 3D Soccer simulation league. This paper presents main features of our implemented agents and describes our plans for Istanbul 2011 competition. Section 2 discusses about walking and its optimization process. Section 3 explains some of high level methods and finally conclusions and future works are presented in section 4.

2 Walking and Its Optimization Process Many different solutions have been experimented to achieve stable biped locomotion. The performance of most techniques depends on some parameters which represent the current robot's condition and let us find out how the next steps should be. We can recognize Zero Moment Point (ZMP) and Center of Pressure (COP) as the most commonly parameters [6]. Besides, there are AI approaches like genetic algorithm which are able to generate walking steps that get evaluated by a proper fitness function. First, we implemented a trajectory based approach, using COP factor which is briefly discussed in 2.1, then we developed another method using genetic algorithm that is explained in 2.2 and finally we came to conclusion that we can optimize our methods using Data Mining techniques which is presented in 2.3.

2.1 Trajectory Based Approach Using COP Trajectory based methods use offline generation of trajectories. This can be performed with constraint (e.g. stability, diversion, frequency, joints' restrictions…) satisfaction procedures [3]. The rhythmic component of the gait is generated by a coupled oscillators system, modeling the controller and robot phase; respectively φ c and φr. Their temporal behavior follows a system of differential equations:

These two simple equations are sufficient to synchronize the controller and robot dynamics. However, this theoretical model cannot be directly applied to the real controller, as the robot natural phase ωr and coupling constant Kr are usually unknowns of the problem. They depend on the robot's dynamics (center of mass, posture, physics, etc.). In NAO we have no pressure sensors located under the robot's feet, that's why the COP factor is computed with geometric transformations of vision information. From its position x and velocity x, the robot phase is obtained by the following transformation (equation 3).

(3) Basically, φr (χ) models the stance and swing leg transitions. Now that the robot dynamics are known, equation 1 can be solved to obtain the corresponding controller phase φ c,. A last modification is applied to the theoretical equation to obtain several phase differences, which will be used to generate synchronized and symmetrical limb trajectories [3]. φc is finally expressed as:

(4) Eventually, the joint trajectories will be derived from the controller's dynamics by using simple sinusoidal patterns.

Fig.1. Position of the center of pressure

As it has been shown in Fig. 1 achieving COP requires COM to be calculated first. Following shows how COM is evaluated.

(5) The first step can easily be derived from vision status. Second step has little complex calculations which are geometric transformations of joints and muscles, for example: Rotate(teta1,j2[0],j2[1],j2[2],j1[0],j1[1],j1[2]); //joint around joint Rotate(teta1,p0[0],p0[1],p0[2],j1[0],j1[1],j1[2]); //mussel around joint Translate (p1 [0],p1[1],p1[2],0.0,-l0,-(c1+l2)); //move CoR to new zone

(a) Fig.2. Nao joints positions

(b) soccerbot joints positions

2.2 Genetic Algorithm Approach Nature has a surprisingly robust way of evolving successful organisms. The organisms that are illsuited for an environment die off, while the ones that are fit, live to reproduce. Offsprings are similar to their parents, so each new generation has organisms that are similar to the fit members of the previous generation [7]. We also need to determine a good mutation rate to avoid getting trapped in local maxima. We employed this natural behavior to design a method for gait generation. First, each variable (joints' angle) will be initialized with random data, then these variables would be crossed over to create the next generation (offsprings) if the new generation was closer to the maximized fitness function that would be replaced otherwise they would die and their parents go through another crossover process. After producing three generations, a mutation happens which randomly changes the offsprings. As the simplicity of this method implies, the performance of this approach depends on how well-defined our fitness functions is. After proposing some approaches to evaluate the produced offsprings, we found out measuring the distance robot has walked could be an appropriate way.

Fitness Function = distance robot has walked in 15 second. (6) To implement this algorithm, we designed a trainer application in MATLAB (fig. 3). This is one of the fastest applications in case of matrix computations. It also gives many capabilities for plotting

and analyzing results. MATLAB also gives us a platform independent and more scalable testbed for developing and optimizing walking skills using genetic algorithms. Our program can monitor the outcome of genetic algorithm, which helps us to have a visual perception of the final result before having it evaluated on Nao in soccer3D simulation environment that makes development process much faster.

Fig. 3. Sample code and run snapshot of the walk trainer in MATLAB

2.3 Data Mining Optimization As mentioned before, there are lots of approaches for walking, but all these methods have a common goal "sending proper angle to servomotors in each cycle to keep the robot in balance". Analyzing these angles indicates that (fig. 5) there are other common items in all bipeds walking methods. It is obvious that these data are repeated over and over in each step. So it can be taught of as a periodic function including following variables: T (period time), F (frequency), W (angular speed), A (domain), and φ (initial phase). Besides, there are other kinds of parameters; first are those which give us feedback information (already discussed in sec. 2.1), and second are those which help us control the robot behavior, such as: walking speed, diversion side and diversion rate. We know for sure that there are relationships between these parameters and final command to servo motors. But, a question arises as what kinds of associations exist and how can these correlations help us? Actually, the association information can be used as training data in prediction process. It also can be exploited to measure the accuracy of our predictions. Our primary parameter is nothing but current angle of robot's joint angels which may seem so irrelevant at first look, but the promised association appears after basic calculations and analysis are done! Generally association requires items which are derived from basic analysis on primary data and feedback parameters (e.g. Speed (both instant and average velocity), Diversion side, Diversion speed, Stability, Step length, Step height, Frequency, Left / right step time). The final goal is to predict what command should be sent to servo motors in order to achieve the best robot behavior. We intend to employ supervised learning method for this purpose (fig. 6).

Fig. 4. Monitoring walking process by the trainer

(a)

(b)

(c) Fig.5. Analyzing joints' angle in walking, a. Ankle, b. Hip2, c. Knee

3 High Level Methods Increasing the number of agents along server development makes teams think more seriously about Multi Agent Behavior and team work. Cooperation between players would lead to better results. Therefore, duty dispense have an important role to reach a good result. Our implemented decision making process for agents is divided into two parts; one is assigned to goalkeeper and another one is assigned to others players like defenders and strikers. Some of these roles are implemented mostly about goalkeeper's responsibility such as diving, free kick and so on.

Fig.7. Portraying goalkeeper reaction

4 Conclusions and Future Works In this paper we showed an overview of the Kaveh soccer 3D agent design. Most efforts are focused on developing and optimizing biped locomotion while we tried to implement a functional high level behavior for the agents. According to our researches and experiments on trajectory based and genetic algorithm approaches, we came to conclusion that both of them should be considered to get the best results. Moreover Mining Association rules and predictive patterns are the main reasons we go through the data mining [8]. The outcome of this idea must be a developing, robust, reliable, extendable and platform independent pattern for optimizing walking methods. To complete implementation of proper algorithms in both fields of correlation and prediction, adopting them with the problem constrains, besides increasing the performance of high level skills would be our road map.

References 1. Maleki, K.N., Valipour, M.H., Ashra, R.Y., Mokari, S., Jamali, M.R., Locus, C.: A simple method for decision making in robocup soccer simulation 3d environment.Avances en Sistemas e Informatica 5(3) (December 2008) 2. Kajita, S., Nagasaki, T., Kaneko, K., Yokoi, K., Tanie, K.: A hop towards running humanoid biped. In: IEEE International Conference on Robotics and Automation,New Orleans (April 2004) 629 - 635 3. Lathion, C.: Biped locomotion on the hoap2 robot. Master's thesis, Biologically Inspired Robotics Group (December 2006) 4. Gienger, M., Loer, K., Pfeier, F.: Toward the design of a biped jogging robot. In: International Conference on Robotics and Automation. (2001) 414-419 5. Inoue, Tachi, Nakamura, Hirai, Ohyu, Hirai, Tanie, Yokoi, Hirukawa: Overview of humanoid robotics project of meti. In: Int. Symp. Robotics. (2001) 1478-1482 6. Hirai, Hirose, K., HaiLawa, M.: The developnrnt of honda humanoid robot. In: International Conference on Robotics and Automation. (1998) 1321-1326 7. Russell, S.J., Norvig, P.: Articial Intelligence the modern approach. Prentice Hall (1995) 8. Han, J., Kamber, M.: Data Mining Concepts and Techniques. 2nd edn. Elsevier and Morgan Kaufmann (2006)