SOCIO 3D Team Description Paper 2012
Takeshi Uchitane, Masashi Yamamoto, Toshiharu Hatanaka, Takeshi Sumitani, Tomoharu Nakashima, Yuuki Suzuki, Nobuhiro Ito
Department of Information and Physical Sciences, Osaka University, Japan; Graduate School of Engineering, Osaka Prefecture University, Japan; Aichi Institute of Technology, Japan
Abstract This paper describes Team SOCIO 3D and our ideas that are used to develop the agents. NomoFC(Osaka University), opuCI 3D(Osaka Prefecture University) and NAITO–StrikerS(Aichi Institute of Technology) have joined together to develop the team. Our goal is to develop useful know-hows and techniques that can be shared among the Soccer Simulation League community, aiming at the final goal of RoboCup. Since Team SOCIO 3D is a group with a short history, in this paper, the work that have been done by each previous team is introduced. The comparison of the walking motions that have were developed by NomoFC with opuCI 3D is also given. Then some discussion on how to share the motions and how to select an appropriate strategy from a set of available ones is also presented as future works.
1 Introduction
First of all, in this section we introduce our team "SOCIO 3D". Three teams join SOCIO 3D: "NomoFC" from Osaka University, "opuCI 3D" from Osaka Prefecture University and "Naito Strikers" from Aichi Institute of Technology. These teams once worked in collaboration to develop Team "SOCIO" for RoboCup Soccer Simulation Micro Robot League in 2008[1]. In 2012, the teams re-united again to develop Team "SOCIO 3D" for Soccer Simulation 3D League.
In Soccer Simulation 3D, not only strategies but also skills for playing soccer match are necessary to develop good soccer agents. In 2011, the number of teams to participate in Soccer Simulation 3D increased to 29. It can be imagined that there are as many strategies and skills as the number of participated teams. In order to accomplish the final goal of RoboCup Project, it is necessary that these strategies and skills can be appled to real robots in the near future. However, a question arises: Is it really possible to apply champion team's strategies and skills to real robots? As far as we know, there are not many works that consider the knowledge transfer from simulation league to real robots. In fact, even among the simulation teams, the strategies are very often incompatible with other teams. From this point of view, the main aim of the team is to suggest an idea to share strategies and skills among other teams. So the main proposal of our team is to develop a knowledge to share their strategies and skills with others from the simulation league. This will become contributions not only to Simulation League but also to RoboCup Soccer in the future. Team SOCIO_3D will work hard towards that aim.
2 Walking Motions
In this section, we compare the walking motions that have been developed NomoFC and opuCI_3D. Both of the teams simplify the leg motion of walking gaits so that an evolutionary optimization technique[2] can be applied to obtain it. On the other hand, opuCI_3D uses sin oscillators as walking controllers.
2.1 NomoFC Walking Controller
This subsection describes the walking controller that was developed by NomoFC. It is known that human beings acquire robust walking patterns by using the Central Pattern Generators (CPG). From this point of view, a nonlinear oscillator is applied to the walking system as a means of implementing the CPG. The framework of the NomoFC's walking controller is constituted by nonlinear oscillators, a foot trajectory generator and joint angle controllers. The detail of each component is shown in the following.
We use a phase oscillator model proposed by Tsuchiya et.al.[4] as a CPG model. The output signal from phase oscillators is considered as the target in controlling the gait and roll motions. The dynamics of phase oscillator is described by
$$\dot{\phi}i(t) = \omega_i + \sum{j(j \neq i)}^3 w_{ij} \sin(\phi_j(t) - \phi_i(t) + \delta\theta_{ij})$$
and a diagram of this oscillator network is shown in Fig.1. Where, i is a suffix to indicate the corresponding angle, i.e. i=1 corresponds to rolling motion, i=2 and i=3 correspond to left and right legs, respectively. $\phi_i(t)$ is a phase at the instant of t, $\omega_i$ and $w_{ij}$ are frequencies and connection weights between oscillators, respectively. The constraint conditions of oscillator network are that
$$\omega_1 = \omega_2 = \omega_3, w_{12} = w_{21},$$
$$w_{23} = w_{32}, w_{31} = w_{13}, w_{12} = w_{23}.$$
Now, we show a control method for each leg joint for generating the gait pattern as an example. Let us define the ankle position ($x_i(t)$, $z_i(t)$), where the origin is center of hip joint, for the swing phase,
$$\begin{cases} x_i(t) = \alpha_t \cos(\phi_i(t)) \ z_i(t) = -H + h \sin(\phi_i(t)) \end{cases}$$
and for support phase,
$$\begin{cases} x_i(t) = \alpha_t \cos(\phi_i(t)) \ z_i(t) = -H \end{cases}$$
where $x_i(t)$ and $z_i(t)$ represent the horizontal and the vertical position of the ankle, respectively. Figure 2 shows the geometric model of humanoid legs, where each joint connects adjacent leg parts.
The attitudes of the humanoid robot are defined as $H$ and $r$ at $t$ = 0. In this paper, $t$ = 0 means the time at which the humanoid robot starts walking. The initial conditions of oscillator are:
$$\phi_1(0) = 0, \phi_2(0) = \pi, \phi_3(0) = 0,$$
$$\dot{\phi}_1(0) = 0, \dot{\phi}_2(0) = 0, \dot{\phi}_3(0) = 0.$$
The humanoid robot bends its hip, knee and ankle joints to adjust the height of its hip from the ground to $H$ and the angle of forward tilt to $r$ while satisfying the constraint of the following equation:
$$\theta_{hip}(t) + \theta_{knee}(t) + \theta_{ankle}(t) = 0$$
By using inverse kinematics, we can derive target angles of hip, knee and ankle joints, when the hip and ankle positions are decided under the constrained condition equation (6).
Where, $\alpha^t$ indicates the length of the line trajectory given by the following equation,
$$\alpha_t = \min(\alpha_{t-1} + St, \alpha_{max})$$
where $St$ represents a increment of step size and $\alpha^0$ means an initial step size. Then, $h$ indicates the length of short axis of the upper half ellipse. $H$ is the height from grand to hip and $r$ is the angle of forward tilt. $R(t)$ represents a roll angle at the instant of $t$, defined by the following equation.
$$R(t) = roll_{max} \sin(\phi_1(t))$$
where $roll_{max}$ is the maximum value of roll angle given by a prior in consideration with a specification of the robot structure. Finally, using PD control scheme, the angle of each leg joint (hip, knee and ankle) are controlled to track the target angle. Where $P_{gain}$ and $D_{gain}$ are the proportional gain and differential gain PD controller. Thus $\omega^i$ , $w_{12}$, $w_{23}$, $St$, $\alpha_0$, $h$, $H$, $r$, $roll_{max}$, $P_{gain}$ and $D_{gain}$ are design variables. In order to acquire a desired gait pattern, these design variables have been optimized by using evolutionary computation framework[3].
2.2 opuCI 3D Walking Controller
In this subsection, the method for constructing the walking controller for opuCI 3D [5] is shown. An evolutionary computation is used for this purpose where sinusoidal functions that produce the target angles of joints are optimized. In the formulation of the problem of walking gait design, opuCI 3D considers only the motion of the left leg. Because the motion of the right leg is realized by shifting the phase of the left leg motion by half period. Thus, the number of joints to be optimized in evolutionary computation is three (left hip, left knee, and left ankle joints). When executing the walking behaviour, the motion of the leg is determined by its target joint angle at each step. The target joint angle of Joint $i$ is represented as a function of time step $t$ as follows:
$$\theta_i(t) = A_1^i \sin(2\pi \cdot \frac{t}{T} + B_1^i) + C_1^i + A_2^i \sin(2\pi \cdot \frac{t}{T} + B_2^i) + C_2^i$$
where $i \in {hip,knee,ankle}$, $T$ is the period of walking gait, and $A^i_1$, $A^i_2$, $B^i_1$, $B^i_2$, $C^i_1$, $C^i_2$ are design variables.
3 Future Works
Since Team SOCIO 3D is a group with a short history, there is not collaborative work done so far. In this section, some plans for the work are discussed as our future works.
The first plan is to smoothly switch walking motions from one to another and vice versa. There are a lot of studies on switching walking motions that are developed by a walking controller. However, we will challenge by using two walking controllers in order to switch such walking motion.
The developed walking behaviour by NomoFC was found to be faster than almost all walking behaviours that are developed by the other teams. By using NomoFC's walking controller, the agent can walk forward with about 0.8 m/s while the speed of the forward walking by using opuCI 3D's is about 0.5 m/s. This difference (i.e. 0.8 − 0.5 = 0.3 m/s) is significantly large in the play of soccer. In order to realize to switch these walking motions, we can briefly suggest an idea to stop the walking before transiting to the other motion. However this idea is not reasonable since it takes some wasting time to change the motions. Therefore we will adjust NomoFC's walking parameter, when we switch the walking motion. It is because that the models of NomoFC's walking motion include some physical parameters such as the step size and the gait cycle and it is easy to measure the step size and gait cycle by observing the motions. Moreover it may be possible to switch to the other team's walking motion by adjusting the gait cycle and the step size.
The second plan is to select an appropriate strategy from a set of available ones. This is also presented as future works. In comparison with human soccer, substitutions of robot soccer players may have different meaning. In human being soccer match the new player's toughness will be refreshed and the rolls and skills is different from the old player after substitution. On the other hand, if robot soccer players can acquire whole motions and strategies battery is only refreshed but their skills may not be updated by substitutions. This is because of unlimited substitution of player's skills. So the agents can switch their rolls and strategies in only considering the environment. From this point of view, we will develop the strategy selector among many strategies developed by many teams which also include Soccer Simulation 3D and the others.
These knowledge will be useful to share motions and strategies in RoboCup Soccer Simulation 3D. Moreover it must be useful to apply the knowledge in RoboCup Soccer Simulation 3D to the real robot soccer match.
References
- N. Ito, K. Ozoe, N. Shimizu, T. Uchitane, T. Hatanaka, Y. Akabane, T. Nakashima, Y. Shoji and S. Fujii, "Team Description of SOCIO 2008," RoboCup International Symposium 2008, (CD-ROM), 2008.
- T. Bäck, U. Hammel, and H. Schwefel, "Evolutionary Computation: Comments on the History and Current State," IEEE Transactions on Evolutionary Computation, Vol. 1, No. 1, pp. 3–17, 1997.
- Uchitane, T. and Hatanaka, T.: Applying evolution strategies for biped locomotion learning in RoboCup 3D Soccer Simulation, in 2011 IEEE Congress on Evolutionary Computation (CEC), pp. 179–185, 2011.
- K. Tsuchiya, S. Aoi and K. Tsujita, "Locomotion control of a biped locomotion robot using nonlinear oscillators," Proceedings of the 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp.1745–1750, 2003.
- T. Nakashima and Y. Nakamura, "Team Description of opuCI 3D 2009", RoboCup Team Description Papers, CD-ROM, 2009.