KylinSky3D Soccer Simulation Team Description For RoboCup2011
Hong Jiang, Chaohong Cai
Robotics Lab, Hohai University Wentian College, NO. 333, Huolishan Avenue, Maanshan City, Anhui Province, China
Abstract This paper describes some main features of the KylinSky2011 3D soccer simulation team. For the RoboCup2011, most work is focused on developing a more powerful and extensible base code. These base codes includes agent architecture, world model etc. A brief introduction of base code has been presented in this work. To gain a stable and autonomous walking gait, we designed a new method of gait planning which is based on composition of simple harmonic vibration[1], and used ZMP(Zero Moment Point)[2] as criterion of stability. Finally, a summary and future research works are addressed in the last part.
Keywords: Soccer simulation, Stable walking gait, Simple harmonic vibration, ZMP
Introduction
RoboCup3D soccer simulation is a powerful and effective simulation platform on which a lot of new controlling algorithms can be tested. Therefore, these advantages provide robotics researchers great convenience. A lot of Universities and research institutes are now doing research on biped robot on this simulation platform. This phenomenon not only promotes the development of robotics in large scale, but also increases academic activities among researchers.
Plenty of time has been spent on fundamental works at the beginning, because we still have not completed a comprehensive system. All these works including: design architecture of agent logically; plan extensible world model; and debug some offline motions, for instance, getting up motion, shooting and so on. Architecture of agent, which is based on the principle of hybrid partitioning strategy[3], was divided into three layers: connection layer, technique layer, controlling layer. World model is a special database of agent, strategies of robot depends on it. In our work, world model contains static and dynamic information.
In our research works, emphasis is put on stable walking gait. For trajectory planning, we utilized the theory of composition of simple harmonic vibration. Comparing with old approach we used before, predominant advantages are obtained. The smooth trajectory which constructed by this method decreases collision when robot switching supporting leg[1], moreover, it can also ensure consistency and smoothness of walking. In addition, we studied the ZMP theory, and applied a controlling strategy of stability to robot Nao's walking.
This paper introduces the main features and implementation of our team. Section 2 briefly describes our agent architecture. The world model of agent is illustrated in section 3. Section 4 discusses the walking gait planning method and stable controlling strategy using ZMP theory. In section 5, we draw conclusions and present directions for future work.
Agent Architecture
After analysis of planning techniques from other teams, we then designed an agent architecture mainly based on hybrid partitioning strategy[3]. The overall structure of our program includes three layers: connection layer, technique layer and controlling layer. The function of connection layer keeps a network connection between agent and simulation server, it receives messages from the server and sends agent's commands to the server. Technique layer is divided into four parts, this layer contains Basic parser, World model, Basic motions and Actor. Agent strategies are placed in the controlling layer. The agent architecture of our team is displayed in Fig.1.
World Model
World Model includes perceptual information of agent, accurate actions of agent need well-handled perceptual information. These direct information is not sufficient for agent strategy, thus, we have to do some reasoning works or extract adequate potential information from perceptual messages, World Model aims at this subject. The content of World Model has static and dynamic information of game, states of field, particular messages of each agent, and predicted information for strategy [4][5].
We divided World Model into two parts: field state and agent state. Field state, which reflects the status of the whole soccer field, consists of static and dynamic information. Static information is fixed values, including the size of field, coordinates of flags, specifications of server, etc. Dynamic information keeps updating in every each cycle, including position and velocity of ball, positions of teammates, the current game state, etc. Agent state describes a state of agent, it also contain static and dynamic information. Static information is made up of parameters of robot model, and joint angle, walking velocity and current strategy comprised the dynamic part of agent state. Fig.2 illustrates the structure of World Model.
Walking gait planning
An appropriate method of walking gait planning is crucial to stable and dynamic walking process. Walking gait is a coordination of every joint trajectories in time and spatial level, hence planning should consider the environments of walking and restrictions of robot model [6][7][8].
We adopted an approach called off-line planning and on-line revising, the walking gait includes trajectories of ankle and hip. Before we start the planning, the following assumptions have been made:
- the trunk of robot always keep vertical to the ground;
- the soles of feet are continuously horizontal to the ground;
- in the first step, left leg as supporting leg and right leg as swing leg;
- trajectories of left and right leg are analogous since walking is periodic.
For a walking purpose, the main work is to design kinematic equations of the joint of legs. We can simply ignore the locomotion of upper body, thus, a simplified model of robot can be gained(Fig.3).
In Fig.3, $(x_l, z_l)$ and $(x_r, z_r)$ are coordinates of left and right ankle respectively, $(x_{kl}, z_{kl})$ and $(x_k, z_k)$ are coordinates of left and right knee respectively, and $(x_h, z_h)$ is coordinate of hip(we assume left and right hip has the same position).
For the convenience of the following work, some important parameters are presented beforehand. At the first step, the coordinate projected from ankle to ground is (0,0), the vertical height of ankle is $h_{foot}$, $D_s$ is the maximum distance of one step. The positions of starting and ending step of swing foot are $(0,h_{foot})$ and $(D_s,h_{foot})$, the highest height of swing ankle is $H_s$. $(L_b,H_l)$ and $(L_f,H_l)$ are coordinate of starting and ending of hip in one step, the medium-term position of hip is $(L_m,H_h)$. The cycle time of one step is $T_s$.
Trajectory of Swing Foot on X Axis
To avoid collisions when robot switch supporting leg, the velocity of swing foot should be zero at the moment of lift off and touch the ground. For the avoidance of jerkiness, the acceleration of these two moment should be zero as well. According to the above restrictions, we suppose the acceleration of swing foot is:
$$x_r(t) = A\sin(\frac{2\pi}{T_s}t) \tag{1}$$
where A is coefficient to be computed. From the restrictions, we have $x_r(0) = x_r(T_s) = 0$, this indicates that there is no jerkiness of swing foot. By evaluating the integral of the function $x_r(t)$, we have the velocity:
$$\dot{x}_r(t) = \int x_r(t)dt = \int A \sin(\frac{2\pi}{T_s}t)dt$$
$$\dot{x}{r}(t) = -\frac{AT{s}}{2\pi}\cos(\frac{2\pi}{T_{s}}t) + C_{1} \tag{3}$$
the constant $C_1$ can be calculated by $x_r(0) = 0$, then the final equation of velocity is:
$$\dot{x}_r(t) = -\frac{AT_s}{2\pi}\cos(\frac{2\pi}{T_s}t) + \frac{AT_s}{2\pi} \tag{4}$$
after another integral operation of the velocity $x_r(t)$, the trajectory of swing foot in the X axis direction is:
$$x_{r}(t) = \frac{AT_{s}}{4\pi^{2}} (2\pi t - T_{s} \sin(\frac{2\pi}{T_{s}}t)) + C_{2} \tag{5}$$
where A and $C_2$ can be determined by $x_r(0) = 0, x_r(T_s) = D_s$, thus we get the trajectory of swing foot in the X axis direction:
$$x_r(t) = \frac{D_s}{T_s}t - \frac{D_s}{2\pi}\sin(\frac{2\pi}{T_s}t) \tag{6}$$
where $0 \le t \le T_s$.
Trajectory of Other Joints
The planning methods for other joints are similar to the process of swing foot, but the restrictions are different. The following equations are trajectories of every joint.
- Trajectory of Swing Foot on Z Axis
$$z_{r}(t) = \frac{2(H_{s} - h_{foot})}{T_{s}} t - \frac{H_{s} - h_{foot}}{2\pi} \sin(\frac{4\pi}{T_{s}}t) + h_{foot} , \quad 0 \le t \le T_{s}/2 \tag{7}$$
$$z_{r}(t) = -\frac{2(H_{s} - h_{foot})}{T_{s}}t + \frac{H_{s} - h_{foot}}{2\pi}\sin(\frac{4\pi}{T_{s}}t) + 2H_{s} - h_{foot}, T_{s} / 2 \le t \le T \tag{8}$$
- Trajectory of Supporting Foot on X Axis
$$x_{l}(t) = -\frac{D_{s}}{T_{s}}t + \frac{D_{s}}{2\pi}\sin(\frac{2\pi}{T_{s}}t) , 0 \le t \le T_{s} \tag{9}$$
- Trajectory of supporting Foot on Z Axis
$$z_{l}(t) = -\frac{2(L_{s} - h_{foot})}{T_{s}}t + \frac{L_{s} - h_{foot}}{2\pi}\sin(\frac{4\pi}{T_{s}}t) - h_{foot}, \quad 0 \le t \le T_{s}/2 \tag{10}$$
$$z_{l}(t) = \frac{2(L_{s} - h_{foot})}{T_{s}} t - \frac{L_{s} - h_{foot}}{2\pi} \sin(\frac{4\pi}{T_{s}}t) - 2L_{s} + h_{foot} , \quad T_{s} / 2 \le t \le T_{s} \tag{11}$$
where $L_s$ indicates the height difference between the highest and lowest point of hip movement.
- Trajectory of Hip on X Axis
$$x_h(t) = \frac{L_f - L_b}{T_s} t - \frac{L_f - L_b}{2\pi} \sin(\frac{2\pi}{T_s}t) + L_b , \quad 0 \le t \le T_s \tag{12}$$
- Trajectory of Hip on Z Axis
$$z_h(t) = \frac{2(H_h - H_l)}{T_s} t - \frac{H_h - H_l}{2\pi} \sin(\frac{4\pi}{T_s}t) + H_l , \quad 0 \le t \le \frac{1}{2}T_s \tag{13}$$
$$z_h(t) = -\frac{2(H_h - H_l)}{T_s}t + \frac{H_h - H_l}{2\pi}\sin(\frac{4\pi}{T_s}t) + 2H_h - H_l , \quad \frac{1}{2}T_s \le t \le T_s \tag{14}$$
Stable Walking Gait
In our gait planning, lateral movement has been ignored. As a result of this, we get the function of trajectory of ZMP:
$$X_{zmp} = \frac{\sum_{i=1}^{n} m_{i}(z_{i} + g)x_{i} - \sum_{i=1}^{n} m_{i} x_{i} z_{i}}{\sum_{i=1}^{n} m_{i}(z_{i} + g)} \tag{15}$$
$$Y_{zmp} = 0 \tag{16}$$
$$Z_{zmp} = 0 \tag{17}$$
where $(x_i, z_i)$ is the coordinate of every part of robot, $x_i$ and $z_i$ are the corresponding accelerate.
These variables can be easily calculated by direct kinematics.
After all the parameters are determined, we can get the ZMP trajectory, and this trajectory is an ideal condition. Because of the noises, the actual ZMP trajectory would be different with the ideal one, in this condition, the agent will modify walking gait according to ideal ZMP trajectory. Thus, we can have stable and autonomous gait.
Experiment Result
Our approach generates stable and smooth walking trajectory, the robot can change speed rapidly. Fig.4 illustrates single walking phrase of Nao robot.
Conclusion and Future Work
This paper introduced the main features and implementation of our team. The way we implemented the agent architecture, world model and walking gait planning are addressed. We used ZMP strategy as optimization of gait, and the experiment result shows that the robot Nao can walk stably and smoothly.
In our future work, we will study CMAC neural network, and use it as an enhancement means for the walking gait. The CMAC is a neural network imagined by Albus from the studies on the human cerebellum, its main interest is the reduction of the training and computing time in comparison to other neural networks. Because of these characteristics, the CMAC has already been the subject of some researches in the field of the control of biped robot[9][10].
References
- Deng Xin: Research on Stable walking gait of biped robot. Master's thesis, Harbin Engineering University , 2007
- Wei Tian Xiu Si: Humanoid Robot. Tsinghua University Press, 2007
- Jiang Chunlu: Research on agent basic motions based on RoboCup3D simulation. Bachelor's thesis, Southeast University, 2006
- Song Beibei: World model for RoboCup3D simulation. Master's thesis, Hefei University of Technology, 2007
- Liu Rujia, Sun Zengqi: The maintenance of world model for RoboCup3D simulation. Thesis Collection of China Soccer Robot Game, 2005:21-25
- Cai Zixing: Robotics. Tsinghua University Press, 2009
- Rusell Smith: Open Dynamics Engine v0.5 User Guide. Robocup3D server develop group. Robocup Soccer Server 3D Mamual, 2007
- Xiao Nanfeng: Humanoid Robot. Science Press, 2008
- Han Liqun: Artificial Neural Network. Beijing University of Posts and Telecommunications Press, 2006
- Sabourin Christophe, Madani Kurosh, Bruneau Olivier: Autonomous biped gait pattern based on Fuzzy-CMAC neural networks. Integr.Comput.Alded. Eng, 2007, 14(2):173-186