Fantasia 2011 Team Description
Xiaogang Guo, Chunlin Dai
School of Innovation Experiment, Dalian University of Technology, China
Abstract This paper simply describes the solutions of the Fantasia team participating in RoboCup 3D Soccer Simulation League. The vision system and positioning are mainly discussed in this paper. According to the features of the world model, we discuss a method to obtain the robot's position quickly and precisely. Besides, the position and posture, the key frame mechanism and its optimization method are also introduced in this paper.
1 Introduction
Fantasia as a research project that focuses on intelligent and autonomous agent and multi-agent system problems was established in 2005.In 2007, Fantasia participated in Robocup 2007 and won the 4th place in Robocup in 3D group. In 2008, We reached last eight in 3D Simulation Group. And in 2009, unfortunately we missed the deadline to participate Robocup 2009 in Graz, however we got first 8th place in 3D group, Robocup IranOpen 2009, and the Champion in Robocup Games@PRIMA, Japan. In Dec 26-27, Our school successfully hosted Robocup ChinaOpen 2009, and Fantasia got the 4th place in 3D Group. In 2010,we just participated in Robocup ChinaOpen 2010 and got the second class prize.
In the next section, we will introduce the solution of vision of Fantasia team. In section 3, we will give the case of position and posture. In section 4, we will give our discussion about the gait pattern and the improvement we have done. And in the last section, we will end with a summary.
2 Vision Mode
Though, the Simulation has changed to Restricted Vision System. We still have the same vision mode with last year's. According the feature of the vision mode, we gain the equation as follow:
$$(x-x1)^2 + (y-y1)^2 + (z-z1)^2 = r1^2$$
where x, y and z that are describe as (x, y, z) is the position of the center of the robot, and x1,y1,z1 that describe as (x1,y1,z1) is the position of the flag namely of the field in the Fig.1. And r1, r2, r3 that describe as (r1, r2, r3) is the distance between the center of robot and the flag of the field. So we gain one equations set including eight equations.
Thanks to the same height for z direction of all the flags of the field, we can solve the x or y easily form of two equations of the equations set that have the same y or x. For example choosing two equations formed from flag F_L_1 and flag F_L_2, we can calculate the y directly. To improve the accuracy, we select the equations with the same x coordinates to calculate the y coordinates, and then take average. The final result will be the y coordinates of the center of the robot. As the same way, we can also gain the x coordinates of the centered. However, after errors analysis we found out that the error of r will be extend to 10 times in z coordinates. So we have to search for a new way to solve this problem.
Supposing $(x_1, y_1, z_1)$ that presents the coordinates of the global world coordinates, and $(x_1', y_1', z_1')$ presents the coordinates in the local coordinates.
$$\begin{bmatrix} x \ y \ z \ 1 \end{bmatrix} = \begin{bmatrix} x_{11} & x_{12} & x_{13} & dx \ x_{21} & x_{22} & x_{23} & dy \ x_{31} & x_{32} & x_{33} & dz \ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x' \ y' \ z' \ 1 \end{bmatrix}$$
The same method is used to make subtraction with two equations with the same x value or y value. Take the $F_L_1$ and $F_L_2$ for example:
$$\begin{bmatrix} x_1 - x_1 \ y_1 - y_2 \ z_1 - z_2 \end{bmatrix} = \begin{bmatrix} x_{11} & x_{12} & x_{13} \ x_{21} & x_{22} & x_{23} \ x_{31} & x_{32} & x_{33} \end{bmatrix} \begin{bmatrix} x_1' - x_2' \ y_1' - y_2' \ z_1' - z_2' \end{bmatrix}$$
$$\begin{bmatrix} 0 \ y_1 - y_2 \ 0 \end{bmatrix} = \begin{bmatrix} x_{11} & x_{12} & x_{13} \ x_{21} & x_{22} & x_{23} \ x_{31} & x_{32} & x_{33} \end{bmatrix} \begin{bmatrix} x_1 - x_2 \ y_1 - y_2 \ z_1 - z_2 \end{bmatrix}$$
As the matrix is orthogonal, then
$$\begin{bmatrix} x_{21} & x_{22} & x_{23} \end{bmatrix} = \begin{bmatrix} x_1' - x_2' & y_1' - y_2' & z_1' - z_2' \end{bmatrix} / (y_1' - y_2')$$
In the same way, we get another vector:
$$\begin{bmatrix} x_{31} & x_{32} & x_{32} \end{bmatrix}$$
And then, the vector product of the last two equations will give birth to the new vector:
In the D-H matrix:
$$\begin{bmatrix} x \ y \ z \ 1 \end{bmatrix} = \begin{bmatrix} x_{11} & x_{12} & x_{13} & dx \ x_{21} & x_{22} & x_{23} & dy \ x_{31} & x_{32} & x_{33} & dz \ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x' \ y' \ z' \ 1 \end{bmatrix}$$
Where dx and dy are already known, so we can gain the dz easily.
$$dz = z - x_{31}x' - x_{32}y' - x_{33}z'$$
3 Position and Posture
According to the feather, our team has made a detailed posture definition. Last year, we defined the robot's posture which is described by its position and joints' angles. But that is no use for our gait pattern and decision. Now we have a better idea and give the robot's posture a new definition which is greatly helpful for our gait pattern and decision.
We use the center of gravity of the robot to assure that the robot's position and angles of each joint are unique in the world coordinate system. So we can make a unique definition for the robot. As known, the robot's structure is just like a tree. So we build a local coordinate system for each block of the robot. There is a rotation matrix R (As shown in formula 10) which we use to do calculation. Then we can get the center of each block and the accurate center of gravity of robot, we could keep
$$R = \begin{bmatrix} n_x & 0_x & a_x \ n_y & 0_y & a_y \ n_z & 0_z & a_z \end{bmatrix}$$
$$= \begin{bmatrix} \cos\psi\cos\theta\cos\phi & -\cos\psi\cos\theta\sin\phi & \cos\psi\sin\theta \ \sin\psi\cos\theta + \cos\psi\sin\phi & -\sin\psi\cos\phi\sin\phi + \cos\psi\cos\phi & \sin\psi\sin\theta \ -\sin\theta\cos\phi & -\sin\theta\sin\phi & \cos\theta \end{bmatrix}$$
walking smoothly.
4 Gait Pattern
As the humanoid simulation, the development of the new low level skills is the principal task. The base of researching on low level skills is to study the gait continuity and stability of the robot, which needs knowledge of dynamics and bionics. From the literature, the concept of Zero Moment Point (ZMP) has been actively used to ensure dynamic stability of a biped robot[1~3]. The ZMP is defined as the point on the ground about which the sum of all the moments of the active forces equals zero. If the ZMP is within the convex hull of all contact points between the feet and the ground, the biped robot is possible to walk. Hereafter, this convex hull of all contact points is called the stable region.
The robot is controlled by changing the angular velocity of each joint. We control the robot by key frames:
$$F = \begin{bmatrix} T_1, A_{11}, A_{12}, \dots, A_{1N} \ T_2, A_{21}, A_{22}, \dots, A_{2N} \ M \ T_M, A_{M1}, A_{M2}, \dots, A_{MN} \end{bmatrix}$$
Where $T_m$ denotes the duration time of mth key frame, $T_{mn}$ stands for the joint angle of nth in mth key frame. Frames between these key frames are approximated by third order spline functions[4]. Such strategy guarantees the second order derivatives at every point. The joint angles and duration times at these key frame are the parameters to be optimized by Estimation of Distribution Algorithm(EDA) [5,6].
5 Summary
This paper briefly describes the solution of vision model, robot's position and posture and the gait pattern of the current platform. On this basis we developed a set of movement system. However, that system is not automatic and adaptive. So the next step, we are planning to build a system that can train our robot to walk faster and more stable.
References
- Espian B, Sardain P.: The anthropomorphic biped robot BIP2000. Proceedings of the 2000 IEEEE International Conference on Robotics and Automation. San Francisco, CA:2000. 3997-4002
- Lim S H, Kim J G.: Adaptive gait algorithm for IWR biped robot. Proceedings of the 1995 International Conference on Power Electronics and Drive Systems. (1995)438-443
- Li Q H, Takanishi A, Kato I.: A biped walking robot having a ZMP measurement system using universal force-moment sensors. Proceedings of the IEEE/RSJ International Workshop on Intelligent Robots and Systems. (1991)1568-1573
- Q. Huang, K. Yokoi, S. Kajita, K. Kaneko, H. Arai, N. Koyachi, and K. Tanie, "Planning walking patterns for a biped robot," IEEE Trans. on Rob. and Aut., vol. 17, no. 3, pp. 280–290, 2001.
- P. Larranaga and J. A. Lozano, Estimation of Distribution Algorithms, A New Tool for Evolutionary Computation, P. Larranaga and J. A. Lozano, Eds. Kluwer Academic Publishers, 2001.
- L. Hu, C. Zhou, and Z. Sun, "Biped gait optimization using estimation of distribution algorithm," in Proc. of IEEE-RAS Int. Conf. on Humanoid Robots, 2005, pp. 283–289.