ODENS 2013 Team Description
Takuya Maruyama, Akira Nakagawa, Yasuhiro Masutani
Osaka Electro-Communication University 1130-70, Kiyotaki, Shijonawate, Osaka 575-0063, Japan
Abstract In this paper, Team ODENS of Osaka Electro-Communication University is introduced. Especially methods of predicting ball trajectory and generating the gait and kick motion are described. The prediction of ball trajectory is based on viscosity, gravity, and restitution. The gait generation is based on a model of 3D linear inverted pendulum and is modified by heel strike and toe off to increase the walking speed. The kick motion is planned to smoothly follow walking to reduce the time lag.
1 Introduction
Team ODENS consists of members of Masutani Laboratory in Department of Computer Science, Faculty of Information Science and Arts, Osaka Electro-Communication University, Japan. ODENS has participated in RoboCup competition since RoboCup Japan Open 2007. ODENS participates the Small-Size Robot League, the SSL Humanoid (sub league of the Small-Size Robot League, competition of humanoid robots by using external camera) [1], and the 3D Simulation League at present. They have participated in the 3D Simulation League since 2009. The results of ODENS in the league, Japan Open were the 4th place in 2009, the 3rd place in 2010, and the champion in 2011 and 2012. In 2012, ODENS has participated in the world competition of RoboCup in the league for the first time and got into the quarterfinals.
In the Department of Computer Science, students belong to laboratories from the second semester of the second grade. In Masutani Laboratory, projects for RoboCup are themes for pre-seminar before regular graduation thesis. Moreover some students study RoboCup as also theme of graduation thesis.
An advantage of the ODENS simulation group is that there is a group working on the real humanoid robot in the same laboratory. Although they don't use the Nao, they can get hints and motivation by looking at real robots nearby.
In the following sections, the overview of the system of ODENS is introduced in Section 2. A prediction of the ball trajectory is described in Section 3. An online gait generation based on 3D linear inverted pendulum is described in Section 4, A method of generating kick motion smoothly following walking motion is explained in Section 5.
2 Overview of system of ODENS
ODENS uses libbats2.0.1 as their base program, which is developed and released by the Little Green Bats[2]. Vision and sensor signals are processed by the functions of libbats. All their efforts are focused on developing robot motion and behavior decision.
2.1 Motion of robot
Motion generating is divided into two types. One is offline, for examples, side kicking and getting-up. The other is online and base on the dynamic model, for example, walking and toe kicking.
The online motion generation is described in Section 4 and later.
2.2 Behavior decision
Each player has four roles, Attacker, Forward, Defender, and Goalkeeper. Attacker is the player closest to the ball. The other roles are determined by their uniform number. No.1 is Goalkeeper, No.2 to No.6 are Defenders, No.7 to No.11 are Forwards.
As shown in the Fig.1, the field is divided into 12 areas. Behavior of the player is determined by rule of every role based on the area where it is.
Behavior of each role is as follows.
Attacker
Attacker carries the ball toward the opponent goal. He uses dribbling and kicking.
Forward
Forward stays around the ball and becomes Attacker in case that former Attacker has missed the ball.
Defender
Defender stays own team's area interferes with the opponent in case that friend Forward has been broken.
Goal Keeper
Goalkeeper defends own team's goal staying in front of it.
3 Prediction of the ball trajectory
[empty]
3.1 Motion model of ball
The horizontal force acting the ball is viscous friction, which is proportional to the velocity. Therefore the horizontal motion of equation is represented by Eq. (1).
$$ma_x = -bv_x$$
where m is mass, $a_x$ horizontal acceleration, b viscous friction coefficient, and $v_x$ horizontal velocity.
On the other hand, the vertical forces acting the ball are viscous friction and gravity. Therefore the vertical motion of equation is represented by Eq. (2).
$$ma_z = -bv_z - mg$$
where $a_z$ vertical acceleration, $v_x$ vertical velocity, and g gravitational acceleration.
In case that the ball bounces, the velocity of ball decreases in collision with the ground. Change of velocities before and after the collision is represented by using coefficient of restitution as shown Eqs. (3) and (4).
$$v_x' = e_t v_x$$
$$v_z' = -e_n v_z$$
where $v_x'$ and $v_z'$ are velocities after the collision in horizontal and vertical directions respectively. $e_t$ and $e_n$ are the coefficient of restitution in tangential and normal directions respectively.
3.2 Prediction of ball trajectory
In case that the ball flies or rolls on the ground, its trajectory is expressed as a function of time by solving the equations of motion (1) and (2).
$$x(t) = x_0 + \frac{v_{x0}}{\alpha} (1 - \exp(-\alpha t))$$
$$z(t) = z_0 + \frac{1}{\alpha}(v_0 + \frac{g}{\alpha})(1 - \exp(-\alpha t)) - \frac{g}{\alpha}t$$
where t is time, x and z horizontal and vertical position respectively. $x_0, v_{x0}, z_0$, and $v_{z0}$ are initial values of $x, v_x, z$, and $v_z$ respectively. $\alpha = b/m$ is 0.39 in case of flying, 1.1 in case of rolling.
The velocities after collision with the grounds can be computed by using Eqs. (3) and (4). The coefficient $e_t$ is 0.70. The coefficient $e_n$ is 0.74 at first and increases by 1.03 times at each collision.
The velocity of the ball gradually decreases and becomes zero finally. When the ball does not bounce, its terminal position $x_t$ can be easily obtained from Eq. (7) as follows.
$$x_t = x_0 + \frac{v_{x0}}{\alpha}$$
Fig.2 shows an example of actual and predicted trajectories of the ball. The actual trajectory means values received from the soccer server. The predicted trajectory means values obtained from Eqs.(3), (4), (5), and (6). It can be found that the predicted one matches the actual one well.
3.3 Ball chasing behavior
In the program of ODENS 2012, when a robot must chase the ball, it walks towards the current position of the ball. In the improved program of ODENS 2013, it walks toward the terminal position of the moving ball. As result it can chase the ball effectively.
To confirm the effectiveness of the improved program, a result of example is shown. A ball moves from point (-3,-4) to point (0,0). The robot stays initially at point (-3,0). Fig.3 shows trajectories of the ball and the robot when the robot walks toward the current position of ball. Fig.4 shows trajectories when the robot walks toward the terminal position of ball. The straight locus can be yielded by the prediction of ball trajectory.
4 Online gait generation
In the program of ODENS, gait is generated online. In case of offline gait generation, it is impossible to generate suitable gait for various situations. Online gait generation allows to adjust the motion to any situation.
4.1 3D linear inverted pendulum
The gait generation is based on 3D linear inverted pendulum model. This model consists of a mass point and an expandable massless rod. The mass point corresponds to the center of mass(COM) where the whole mass of the robot is concentrated. The rod corresponds to the supporting leg and contacts the floor at its tip. While the right and left legs support the mass point by turn, the pendulum model connects to the next model as shown in Fig.5. In order to generate the gait, first the trajectory of COM is computed. Second angles of all joints in supporting leg are obtained by solving inverse kinematics of the COM. Finally, the position of foot of swing leg is determined then the angle of all joints in swing leg are obtained. Angular velocity command of each joint sent to the server is computed from the trajectory of its angle.
4.2 Heel strike and toe off
The inverse kinematics of leg becomes easier by adding a condition that the foot is kept horizontal. However, under strict limit of joint angular velocity, the limit prevents the leg from moving faster. To overcome this problem, heel strike and toe off[4] are introduced to the gait generation. Heel strike means the swing leg makes contact with the floor at heel first. Toe off means that the swing leg makes a takeoff at toe last. Fig.6 shows walking patterns with heel strike and toe off.
4.3 Swing leg trajectory
The motion of swing leg is designed in joint angle space, to avoid the strict limit of angular velocity of joint.
4.4 Variety of walking
The gait is determined by four parameters the period, the step in forward direction sx, the step in side direction sy, and the turning angle sθ as shown in Fig.7. To confirm variety of gait, trajectories of the torso position in the horizontal plane for several parameters in case of parallel walk and turning walk are shown in Fig.8 and Fig.9 respectively.
5 Generation of kick motion following walk
In the previous program of ODENS, since walk and kick are separated, it takes extra time to kick the ball after walking. To reduce the extra time, kick motion continuously following walk is developed. As shown in Fig. 10, kick following walk consists of three phases, "approaching phase", "stride adjusting phase", and "kicking phase". In the approaching phase, the robot walks to the proper point in the rear of the ball. In the stride adjusting phase, the robot adjusts its stride such that the last stride is maximum and landing point of the supporting leg is appropriate just before kick. In the kicking phase, the robot brings its toe close to the ball and hit the ball at maximum speed. As shown in Fig.11, just before a kick, the supporting leg landing becomes a pivot leg. On the other side, the swing leg taking off becomes a kick leg. Motion of the pivot leg is designed so that the position of COM satisfies the model of linear inverted pendulum. Moreover, the COM is lifted up to spread movable area of the kick leg. Motion of the kick leg is designed so that its toe can contact with the ball at maximum speed.
6 Conclusion
In this paper, control of individual robot of Team ODENS has been explained. By introducing dynamical model, prediction of ball trajectory and generation of robot motion are achieved well.
The future works are a stabilization by using feedback of sensor information and an online motion generation of various kicks. Moreover, more flexible role assignment will be studied.
References
- Tadashi Naruse, Yasuhiro Masutani, Noriaki Mitsunaga, Yasunori Nagasaka, Takashi Fujii, Masato Watanabe, Yukiko Nakagawa, and Osamu Naito, "SSL-Humanoid: RoboCupSoccer using humanoid robots under the global vision",pp.60-71, RoboCup 2010: Robot Soccer World Cup XIV, Springer (2011).
- littlegreenbats in Launchpad,https://launchpad.net/littlegreenbats/.
- Shuuji Kajita,Humanoid Robot,Ohmsya,(2005) (in Japanese).
- Masamichi Ozeki, Chi Zhu, Atuo Kawamura, "High Speed Walking of Biped Robot by Walking Trajectory Modification with ZMP Control", The Papers of Technical Meetingon industrial Instrumentation and Control, IEE Japan,pp75-80(2007).