CZU3D Soccer Simulation Team Description for RoboCup2008
Pengcheng Lian, Yanbin Zhuang, Yiqing Song, Chunguang Li
Institute of Artificial Intelligence and Robotics School of Computer Information and Engineering Changzhou Institute of Technology Changzhou 213002, Jiangsu Province, P. R. China
Abstract In the last year, the 3D simulator which participates in the humanoid robot soccer game has been upgraded. The original spherical agents have been replaced by more advanced, humanoid agent modules with two-legs to enhance the third dimension realities and be close to the actual human game. This paper describes some main features of the CZU2008 soccer simulation team (3D), which participated in RoboCupChinaOpen2007 and won the first prize. After the brief introduction to CZU2007, the characteristics of CZU2008 soccer simulation team are represented. These include the following aspects: the coordination among agents, shooting precision improvement, and fast walking. These give some technical challenge to our team. Finally we make a summary of this work and our future research works are showed in this paper.
1. Introduction
CZU team, which was built in 2005, has taken part in several RoboCup competitions and achieved outstanding performance. In past year, we won the 2nd place in the 3D simulation competition of RoboCup2007ChinaOpen.
Robocup3D simulation, as a new released competing type, was showed in Robocup2007 International competition in Atlanta to replace the former 3D spherical agent simulated. This change leads to huge improvement in complexity of the physic layer and the world model. In the past spherical simulation, the robot is just a ball and as a result there is no complex orientation in the football court but simple vector-calculation. As for the simulated humanoid robot, the human arthrosis should be simulated and the link mechanism is used. This makes original kinematic model invalid (vector cannot completely describe the motion law of an agent). Because of huge complexity, most of the teams are making research on the competing surroundings, basic code, varieties of elementary actions, and gait planning of an agent.
In the section 2, we offer a brief introduction to general framework of our team. In section 3, we introduce how the walking function of the agent is set up and the composing elements of the gait planning, which are also the main work of us in the recent days.
2. Architecture
The overall structure of our program is similar to that of our CZU2007 (3D) last year. It consists of many modules, such as MsgParser, WorldModel, Skills, Connection and so on. Non-single modules not only facilitate the development of the normal programming, but strengthen the flexibility, differentiation, and coordination/cooperation between the agents. The present server is not perfect, but once this server is upgraded, it can be very convenient for us to change the design of an agent adapted to the new server quickly, as showed in Fig.1.
3. Walking Engine
The typical steps can be divided into two main stages: lifting a leg up and laying that down. When lifting legs, forward movement is taken at the same time. The two legs are lifted up and laid down alternately. The action above is repeated uninterruptedly while the body balance is kept and then, the walking function comes true. (See Fig.2)
Keeping the balance is realized by unceasingly changing the angles of the each joint of the legs. Here $\theta_1 \sim \theta_6$ represent six joint angles of the right leg respectively, and $\theta'_1 \sim \theta'_6$ are corresponding to each joint angle of the left leg, as showed in Fig.3. In the walking process, we continuously keep the upper part of the body perpendicular to the ground, therefore the movement of the upper part of the body is neglected, therefore we have
$$\begin{cases} \theta_5 = \theta_4 - \theta_2 \ \theta'_5 = \theta'_4 - \theta'_2 \end{cases}$$
When the double feet all contact the ground and the speed of the agent is very slow, we should guarantee that the center of gravity falls in the bearing polygon which the double feet compose to keep body balancing. Supposes that the length of the thigh is $l_thigh$ and the length of the calf is $l_shank$, the distance between two pitch points of the two thighs and the torso is $l_tt$, and take the center of gravity of the body as the origin, the direction which the body faces is X axis, as showed in Fig.4. The horizontal distance from the center of gravity of the body to the bearing surface center of the right foot is L, therefore we have:
$$\begin{cases} AE = BF \ DE = CF \end{cases}$$
Suppose the heights from the node between the left thigh and the right thigh and the torso to the ground are $H_1$ and $H_2$ respectively, according to the joint angle, we have the following equations:
$$H_1 = l _thigh * sin(\theta_2) + l _shank * cos(\theta_5)$$
$$H_2 = l _thigh * sin(\theta_2') + l _shank * cos(\theta_5')$$
$$AE = H_1 * \tan(\theta_3)$$
$$BF = H_2 * \tan(\theta_3')$$
$$DE = l _thigh * cos(\theta_2) + l _shank * sin(\theta_5)$$
$$CF = l _thigh * \cos(\theta_2') + l _shank * \sin(\theta_5')$$
From the equations above, we can calculate each joint angle for keeping an agent in the static balance. While the agent speeds up, the CF decreases, and the DE is increased to cause the change of the bearing surface size which the double feet form and the projection of the center of gravity to fall in the bearing surface scope, to keep the agent in dynamical balance.
RoboCup3D simulation is still in its start-up stage. Generally, an agent shots directly just after it gets the ball, so it is important for the agent to walk to the kick-ball position quickly and correctly. The motion of walking and shooting of our aggression players is made up of actions below (see Fig.5):
- Turn round and change the orientation of the body to face the ball;
- Approach to the ball rapidly;
- After the ball is available, rotate the body taking the ball as the center so that the player, the ball, and the goal are in a straight line;
- Adjust direction and keep the foot aiming at the goal;
- Shooting!
Moreover, it is also important for goalkeeper's motions and decision-making. His actions can be mainly divided into defense and getting off the hook. The actual methods are detailed as follows:
- Defending: while the distance between an opponent player and the ball is less than a default value, it means that the opposite team would shot, and the saving action is needed at the moment. This action is divided into splitting two legs outside and expanding the arms to keep the body blocking as showed in Fig.6.
- Getting off the hook: This is decided by the other teammates. While the teammate falls down and the distance between him and the ball is bigger than that of goalkeeper and the ball, the goalkeeper would kick the ball.
4. Conclusion and Future Work
In this paper, we offer an introduction to the current status and some main achievements of our CZU2008 team. In the coming time, we will improve the motion and actions of agent, for example, making the agent move faster and not easy to fall down, standing up more rapidly after falling down, closely cooperating with each other among the teammates and etc. By this, our CZU2008 (3D) will get very powerful.
References
- A Goswami,V Kallen, Rate of changes of angular momentum and balance mai-ntenance of biped robots[C]. Processdings of the 2004 IEEE international conference on robotics and Automation. New Orleans, LA, 2004: 3785-3790.
- K Harada, S, Kajita, K. Kaneko, H. Hirukawa. Pushing Manipulation by Humanoid considering Two-kinds of ZMPs[C]. Proceedings of the 2003 IEEE International Conference on Robotic and Automation. Taipei, Taiwan, 2003:1627-1632.
- Rusell Smith. Open Dynamics Engine v0.5 User Guide[S].2004 robocup3d server develop group.Robocup Soccer Server 3D Manual. 2007.6.29.
- J. A. Yang,Y. B. Zhuang, H. Y. Wang. Towards behavior switch control strategy for evolutionary robot based on ANN. In Proceedings of ISCIIA'04, Haikou, China, 2004.12.
- Dario Floreano,Mototaka Suzuki, Claudio Mattiussi, Active vision and receptive field development in evolutionary robots. Evolutionary Computation, 13(4):527-544, 2005
- Y. B. Zhuang, J. A. Yang. Cooperative learning behavior strategy in heterogeneous multiagent system. In Proc.of International Conference on Artificial Intelligence (ICAI'05), Las, Vegas, USA, June 27-30, 2005.
- K. Kaneko, S. Kajita, F. Kanehiro, K. Yokoi, K. Fujiwara, H. Hirukawa, T. Kawasaki, M Hirata, T. Isozumi. Design of advanced leg module for humanoid robotics project of METI[C]. In Proceedings of the 2002 IEEE International Conference on Robotics & Automation. Washington, DC, May 2002.
- Y. Ogura. Stretch Walking pattern generation for a biped humanoid robot[C]. In Proceedings of 2003 International Conference in Intelligent Robots and Systems. Las Vegas, Nevasa, October 2003.