ENBank 2008 Team Description Paper Soccer Simulation 3D league 1st Khwarizmi National Robotic Competitions M. Hadi Valipour, Sadegh Mokari, and M. R. Jamali Department of Electrical and Computer Engineering, Shahid Rajaee University, Tehran, Iran m.h.valipour,
[email protected],
[email protected]
Abstract. This paper is aimed to summarize the some processes which are done in order to implement the new ENBank simulated humanoid agent, including some detailed specications. This is the 4th year that ENBank team members participating in Robotic competitions. Because of new server and oered environment for Soccer Simulation 3D, this year researches focused on humanoid actions such as biped walking and necessary movement to kick, rotation and orientation, and keeping balance.
1 Introduction Members of ENbank team are some of previous members of Scorpius Simulation Team1 , which has composed in Robotic Research Group, Shahid Rajaee University, 2005. After Robocup 2008 world championship in China, Scorpius team has been divided in two separate teams (ENBank and AsreErtebat); work on latest base of Scorpius team which used in China RC'08. The Scorpius team was created in 2005 in Shahid Rajaee university robotics an AI laboratory. Since then the team has classied and participated in the RoboCup world competitions (2007 in Atlanta, USA and 2008 in Souzhu, China), and in regional RoboCup contests (AIGAMES 2005, IranOpen 2006, ChinaOpen 2006, IranOpen 2007, IranOpen 2008, GermanOpen 2008). As declared in our last publication [2] 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. Thus research on humanoid robotics is one of the most exiting topics in eld of robotics [3]. There are lots of projects in this eld [4...7], most of them are focused on biped walking and running [1, 4, 6]. Now, after many researches, there are still some unknown secrets about human locomotion nature, physics and dynamics, which may increase diculty of problem. Biped locomotion is involved with many complex processes, that is controlling a very large number of degrees of freedom (DOFs), the non-linear dynamics of the humanoid body and a wide range of interactions with the environment (gravity eld, landscape, 1
http://www.scorpius.ir
perturbations, etc.) [1].The challenges we are involved in humanoid biped locomotion can be set apart in some separated sections such as; stepping, walking, running, etc. They are overlapped in some of controlling items. This separation is based on disparity in whole robot behavior and transactions between its modules and parts (e.g. joints, muscles) with each other and the environment. Many dierent solutions have been experimented to achieve stable biped locomotion. Regarding trajectory based [1] that can be done with various optimization and constraint (e.g. ZMP, CoP, etc) satisfaction algorithms, using AI approaches [8] regarding the neural network algorithms, reinforcement learning and neuro-fuzzy approaches. Simulation as a fast and also reliable approach is widely used in recent researches [1].The recent RoboCup simulation environment named spark is a good platform for implementation of robots and the methods employed for controlling them. As described above and because of recent changes in 3D environment, our rst job was agent body movement and some basic controls that was based on some heuristic experiments, biped locomotion with stability control is next one, results that we want to achieve them, are robot actions look like a soccer player, therefore we have implemented some primary skills in soccerbot and NAO model such as walking, kicking, rotating, simple jumping and all body parts movement with our access to this humanoid robot joints. In continue a summarized description about biped walking and its controller, calculation of center of mass, positioning and localization and nally some details about other important skills will be presented.
2 Biped Walking In the previous version, the soccer agents used to be a sphere which had completely dierent locomotion. Inception and analysis of this new version of biped robot agents and its capabilities in a new environment was our rst mission in this scope. Many dierent solutions have been experimented to achieve stable biped locomotion, from hand tweaking based on biological observation to complex optimization algorithms. Here are some of the most widely used techniques. A rst general overview of necessaries for biped locomotion is presented in [9].
2.1 Trajectory based Trajectory based methods use oine generation of trajectories. This can be done with various optimization and constraint satisfaction algorithms, that will produce joints trajectories that they satisfy a number of given constraints (e.g. stability, smoothness of the transitions, minimization of impacts with the ground, etc.) [1].
2.2 Using heuristics Heuristic methods have strong similarities with the trajectory based approach. Joint trajectories are also pre-computed from an external optimization process,
only the generation strategy diers. This time, heuristic or evolutionary based techniques are used (e.g. genetic algorithms) to design the desired trajectories [1].
2.3 Central Pattern Generators The Central Pattern Generators (CPGs) approach inspires from the biological mechanism of vertebrates locomotion [10]. CPGs are neural networks, located in the spinal cord (grouped in dierent semi-autonomous centers), that control the muscles activity. Their main characteristic is the ability to produce a periodic output from a non-periodic input signal [1]. Several CPG-based controllers have already been implemented on the some humanoid robot, e.g. in [11], [12] and [13].
2.4 Hybrid approaches The distinction between the described approaches is certainly not so clear in the state of the art biped locomotion controllers. While their inner workings are usually kept secret, they probably use some mixture of several control methods, to get the best of each approach. For instance one could design a global oine trajectory with the ZMP criterion, with additional CPG control to implement reexes [1].
2.5 Our implemented algorithm The main building block of our gait is to make the robot actually move forward. After related researches about HOAP-2 that is the most similar humanoid robot to soccerbot, we nd a dynamical and mechanical human locomotion method that was implemented on HOAP2 fujitso humanoid robot [1]. This method helped us in walking on both of soccerbot and NAO model, one of challenges that we involve with them and the most one. We used the developed controller that had originally been implemented on some humanoid robots such as HOAP-2 [1]; the controller is described by Morimoto et al. in [14].
3 Controller The rhythmic component of the gait is described by a coupled oscillators system, modeling the controller and robot phase; respectively φc and φr Their temporal behavior follows a dierential equations system:
φ˙ c = ωc + Kc sin(φr − φc )
(1)
φ˙ r = ωr + Kr sin(φc − φr )
(2)
These two simple equations are sucient 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 unknown. They depend on the robot's dynamics (center of mass, posture, physics, etc.). In soccerbot we have no pressure sensors located under the robot feet, for that reason we compute the CoM and CoP with geometric transformations from vision position. From its position x and x˙ velocity , the robot phase is obtained by the following transformation regarding to gure 1:
x˙ φr (X) = −arctan( ) (3) x Basically, φr (X) 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 modication is applied to the theoretical equation to obtain several phase dierences, which will be used to generate synchronized and symmetrical limb trajectories [1]. φc is nally expressed as: ˙ r (X) − φi + αi ), αi = [0, π , π, 3π ] φic = ωc + Kc sin(φ (4) c 2 2 Finally, the joint trajectories will be derived from the controller's dynamics by using simple sinusoidal patterns.
Fig. 1. Position of the center of pressure
4 Center of mass The rst formula we need is of course the formula of the position of the CoM for a solid: n X mi ∗ ri CoM = n Σ i=1 mi i=1
(5)
Consequently if we could calculate all body parts (such as shoulder, hand, etc) situations in world space then we have CoM. But this procedure has set
apart, rst nding our position and condition, second calculating parts of body relative situation from vision point and nally compute real position of CoM and its map on eld, CoP [15]. We have explored the soccerbot and NAO .rsg les and determine the structure of agent for this objective see gure 2, 3.
Fig. 2. NAO joints positions
Fig. 3. soccerbot joints positions The rst step can easily derive from vision status. Second step have little complex calculations, we implement a class with some sequences of geometric transformations of joints and mussels. An example is declared in gure 4.
5 Other skills The ENBank agent implemented skills have been mostly developed under heuristic procedures, regarding kicking, standing up, side walking, etc.
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
Fig. 4. Transformation Functions
5.1 Shoot Agent can shoot the ball eectively; we've implemented this skill on both foot sides. Kick action may be call sidespecic or sideindependent, the rst mode kick the ball with the specied leg, but in sideindependent mode the function chooses the suitable side rst, and then kick the ball to the desired position.
5.2 fall down detection The agent updates the world model and internal states form vision and past memorized states during doing actions. We use vision and touch sensors for fall down detection. This skill helps us to know when to utilize standup skills.
5.3 Stand up This skill imitates human standing up, where soccerbot056 and NAO let us bend the robot's wrist and this helps us continue the game when player falls down. It takes about 6 up to 10 seconds for robot to stand up depending on its condition.
5.4 Rotate and Side walk These two skills both have applied the walk stepping. Rotate function gets the required angle for rotation and then starts stepping till it come to proper position, and sidewalk applies stepping for moving to a side which is mostly used by goal keeper.
5.5 Goal Keeper Goal keeper actions have 2 phases. In phase 1 goal keeper walks to a proper place not to let the ball enters the goal (positioning) and in phase 2 the agent dives toward the ball. Although usually it's too late to jump for the ball, any way it's been tried this skill to be ecient and sometimes it's really helpful!
6 Conclusion and Future Works In this paper we showed an overview of the ENBank soccer 3D agent design. Most of the eorts focused on developing biped locomotion and human soccer player shaped skills, which can simply be developed. We are aiming to develop our walking algorithms both to reduce instability and increase agent speed. The other skills like shoot and goalkeeper actions also need to be optimized. In addition we intend to release a base platform for 3D simulation with required skills, which can simply be used by the other teams.
References 1. Christian Lathion, Computer Science Master Project, Biped locomotion on the Hoap2 robot, Biologically Inspired Robotics Group, December 15, 2006 2. Kh. Niki Maleki, R. Yeylaghi Ashra, S. Mokari, M. Hadi Valipour, S. Mahdi Hoseini, M. R. Jamali, Caro Locus, Decision Making in RoboCup Soccer Simulation 3D Environment, Robocup International Symposium, Atlanta, 2007 3. Shuuji Kajita, Takashi Nagasaki, Kenji Kaneko, Kazuhito Yokoi and Kazuo Tanie, A Hop towards Running Humanoid Biped, Proceeding of me 2001 IEEE, Intematlonal Conference on Robotics and Automanon, New Orleans. U April 2001 4. Gienger, M., etal. `Toward the Design of a Biped Jogging Robot,' Proceeding of the 2001 ICRA, pp.414-419. 2001. 5. Hirai, K. Hirose and M. HaiLawa, `The Developnrnt of Honda Humanoid Robot Proc. of the 1998 ICRA. pp.1321-1326.1998. 6. Inoue, H., Tachi. S. Nakamura et.al, `Dvaview Of Humanoid Robotics Project of MET' Roc. Int Symp. Robotics. Pp.1478-1482, 2001. 7. NirhiwaLi,K., Sugika,T. Kaami, Kanehim, and lnoue, Design and Development of Research Platform for Perception-Action Integration in Humanoid Robot: H6:' Pme. Int. Confererre on Intelligent Robors and Systems, pp.1559-1564. 2000. 8. Yamaguchi, I., Soga. E., Inoue, S . and TaLanishi, A., Development of a Bipedal Humanoid Rob1 - Contml Method of Whole Body CaoFeraIive Dynamic Biped Walking -, Roc. of the 1999 ICRA. pp.36b374. 1999. 9. M. Hardt and O. van Stryk. Development and control of autonomous, biped locomotion using ecient modeling, simulation, and optimization techniques. In Proceedings of the 2003 IEEE International Conference on Robotics and Automation, pages 13561361, 2003. 10. A.J. Ijspeert. Vertebrate locomotion. In M.A. Arbib, editor, The handbook of brain theory and neural networks, pages 649654. MIT Press, 2003. 11. J. Nicolas. Articial evolution of controllers based on non-linear oscillators for bipedal locomotion. Master's thesis, EPFL, winter 2005-2006. 12. F. Patuzzo. A bio-inspired robot controller. Master's thesis, EPFL, 2006. 13. L. Righetti and A.J. Ijspeert. Programmable central pattern generators: an application to biped locomotion control. In Proceedings of the 2006 IEEE International Conference on Robotics and Automation, 2006. 14. J. Morimoto, G. Endo, J. Nakanishi, S. Hyon, and G. Cheng. Modulation of simple sinusoidal patterns by a coupled oscillator model for biped walking. In Proceedings of the 2006 IEEE International Conference on Robotics and Automation, pages 15791584, 2006. 15. Pascal Cominoli, Development of a physical simulation of a real humanoid robot, Summer Semester Project 2004 , School of Computer and Communication Sciences, Swiss Federal Institute of Technology, Lausanne.