Borregos3D Research Proposal for the RoboCup Humanoid Soccer Simulator
Carlos Bustamante, César Flores, Leonardo Garrido
Center for Intelligent Systems Tecnológico de Monterrey Monterrey NL 64849, Mexico
Abstract This work describes the research proposal of the Borregos3D Team in the new RoboCup Soccer Simulator 3D with Humanoid robots. First, we present a brief introduction. Then we show the main characteristics of the new humanoid model, which is based on the Fujitsu HOAP-2 robot. Finally, we discuss our research proposal for the RoboCup simulation league.
Introduction
RoboCup Simulation League is changing radically this year. The old sphere agent are being replaced by a more exciting and interesting humanoid robot. This represents a challenge for researchers in this league, because new models and techniques have to be introduced in order to deal with humanoids. Now the simulation league gets closer to the final goal of RoboCup [1].
The humanoid model is based on the Fujitsu HOAP-2 robot. HOAP stands for "Humanoid for Open Architecture Platform and is a light weight and compact humanoid robot with two arms and two legs. The idea to move the RoboCup Simulation League towards humanoid models is explored in [2].
Robot Description
HOAP-2 is a compact, easy-handling humanoid robot with two arms and two legs. The real version of the robot has 25 DOF and an equal number of sensors, which are optical two-pahse incremental encoders with an angle resolution of 0.01 degrees/pulse. The simulated version of the humanoid has only 20 DOF and can sense all its joints using the vision perceptor messages. The two versions of the robot are shown in figure 1.
The DOF in the simulated robot are distributed as follows: three in each shoulder, one in each the elbow, three in each thigh, one in each knee and two in each ankle. The real robot has also one joint in each hand, two in the neck and one in the waist. Figure 2 shows the joint DOF of the simulated robot.
The joints of the simulated robot can be controlled using effectors, which receive the desired motor speed in radians/second. The list of available effectors is shown in table 1.
Effectors for the RoboCup HOAP-2 Humanoid.
| Part | Effector name | Type | Motion |
|---|---|---|---|
| Right Arm | rarm eff 1 2 | Universal Right Shoulder (Front-Back)(Left-Right) | |
| rarm eff 3 | Hinge | Right Shoulder (Twist) | |
| rarm eff 4 | Hinge | Right Elbow | |
| Left Arm | larm eff 1 2 | Universal Left Shoulder (Front-Back)(Left-Right) | |
| larm eff 3 | Hinge | Left Shoulder (Twist) | |
| larm eff 4 | Hinge | Left Elbow | |
| Right Leg | rleg eff 1 | Hinge | Right Thigh (Twist) |
| rleg eff 2 3 | Universal | Right Thigh (Front-Back)(Left-Right) | |
| rleg eff 4 | Hinge | Right Knee | |
| rleg eff 5 6 | Universal | Right Ankle (Front-Back)(Left-Right) | |
| Left Leg | lleg eff 1 | Hinge | Left Thigh (Twist) |
| lleg eff 2 3 | Universal | Left Thigh (Front-Back)(Left-Right) | |
| lleg eff 4 | Hinge | Left Knee | |
| lleg eff 5 6 | Universal | Left Ankle (Front-Back)(Left-Right) |
Center of mass
One of the main difficulties when dealing with a humanoid robot is to handle its center of mass. Indeed, if we compare it to a human being, the latter does the task automatically, but a robot has to be taught how to do it.
Our research proposal is mainly based on the idea of controlling the center of mass of the humanoid robot. We think is very important that the robot is capable of handling the position of its center of mass accurately. This allows the robot to avoid loosing its balance or falling.
The idea is to use the general equation for the center of mass of a solid body:
$$\boldsymbol{R_{CM}} = \sum_{i=1}^n \frac{m_i \times \boldsymbol{r_i}}{\sum_{i=1}^{i=1} m_i}$$
where the reference position can be computed using the information from the vision perceptor.
The difficulty in the latter equation is to get the relative positions ri of all the body parts with respect to the reference. Robot kinematics play a very important role in this problem [3]. In a kinematic analysis, unlike in robot dynamics, the forces that cause motion are not considered, but only the position, velocity and acceleration of all the joints. Straightforward geometry and transformation matrices are commonly used techniques for solving robot kinematics, the latter being most practical when dealing with complex mechanisms. Basically, there are two types of transformation matrixes: a translation matrix and a rotation matrix.
Translation matrix
The translation matrix can be used to shift a point by the vector <x, y, z>:
$$\begin{aligned} \begin{aligned} Translation = \left( \begin{array}{cccc} 1 & 0 & 0 & 0 \ 0 & 1 & 0 & 0 \ 0 & 0 & 1 & 0 \ dx & dy & dz & 1 \end{array} \right) \end{aligned}$$
Rotation matrix
The rotation matrixes can be used to rotate a point by the angle θ around the X, Y or Z axis:
$$\mathbf{X} = \begin{pmatrix} 1 & 0 & 0 & 0 \ 0 & \cos\theta & \sin\theta & 0 \ 0 - \sin\theta & \cos\theta & 0 \ 0 & 0 & 0 & 1 \end{pmatrix} \mathbf{Y} = \begin{pmatrix} \cos\theta & 0 - \sin\theta & 0 \ 0 & 1 & 0 & 0 \ \sin\theta & 0 & \cos\theta & 0 \ 0 & 0 & 0 & 1 \end{pmatrix} \mathbf{Z} = \begin{pmatrix} \cos\theta & \sin\theta & 0 & 0 \ -\sin\theta & \cos\theta & 0 & 0 \ 0 & 0 & 1 & 0 \ 0 & 0 & 0 & 1 \end{pmatrix}$$
Research Proposal
Our research will focus on machine learning techniques, specifically hybrid techniques combining bayesian learning and fuzzy theory. There are several students interested in this project in the long term.
First of all, we want our humanoid agent to learn to balance adjusting automatically its center of mass. Then we will use machine learning to implement three basic skills: walk, kick and stand-up.
For the competitions, we will implement more two complex skills: dribble and shoot. Of course for this year these implementations will be very simple. We think we will have better complex skills for the next year. We are also considering using communication for multiagent coordination, if future versions of the soccer server allow it.
Of course we will try to reuse our code for the old spheres. Our research was focused on three main topics:
- Motion models of the agents [3]
- Monte Carlo Localization with Kalman Filter Sensor Fusion
- Fuzzy Bayesian Decision Making [4] and its performance against Gaussian Bayes [5]
References
- Hiroaki Kitano and Minoru Asada and Yasuo Kuniyoshi and Itsuki Noda and Eiichi Osawa. RoboCup: The Robot World Cup Initiative. Proceedings of the First International Conference on Autonomous Agents. (1997) 340–347
- Joschka Boedecker and Norbert Michael Mayer and Masaki Ogino and Rodrigo da Silva Guerra and Masaaki Kikuchi and Minoru Asada. Getting closer: How Simulation and Humanoid League can benefit from each other. Universität Koblenz-Landau, Technical report, 2005.
- Carlos Bustamante, Cesar Flores and Leonardo Garrido. A Physics Model for the RoboCup 3D Soccer Simulation. In proceedings of Agent-Directed Simulation, Norfolk, VA, USA. (2007)
- Carlos Bustamante, Leonardo Garrido and Rogelio Soto. Fuzzy Naive Bayesian Classification in RoboSoccer 3D: A hybrid approach to decision making. In proceedings of the RoboCup International Symposium, Bremen, Germany, 2006.
- Carlos Bustamante, Leonardo Garrido and Rogelio Soto. Comparing Fuzzy Naive Bayes and Gaussian Naive Bayes for Decision Making in Robocup 3D. Lecture Notes in Artificial Intelligence Series: Lecture Notes in Computer Science. In proceedings of Mexican International Conference on Artificial Intelligence (MICAI), Apizaco, Mexico. (2006) 237–247