AmoiensisNQ-3D Soccer Simulation Team Description
Jianhuai Cai, Zhao Yin, Shunmin Xun, Saixian Ye, Li Wei, Yang Chen, Shiyu Fu
Automation Department of Xiamen University
Abstract Last year 3D Soccer Simulation League has changed from the spheres-based simulation to the humanoid simulation. It forces the teams to work on basic skills first as it does not make any sense to work on elaborated behavior if the agent can not rely on a fundamental set of basic soccer skills. The change caused team's first floor control change. Under new platform, Our team members has considered the relation between robot's each joint mutual function, the relation between robot and other objects and so on.
Introduction
AmoiensisNQ is a team of undergraduate students who love the Robocup from automation department of Xiamen University, China. AmoiensisNQ's research and development is currently done in our spare time in school. We began to contact this field and the humanoid model for the first time last summer vacation. We like it and do our best to make our team powerful.
Architecture
Our work is divided into three parts.
Vision Parser
There are two coordinates systems in the world model. One is global coordinates system; the other is local coordinates systems relative to the center of the robot. The message of vision return from the server is related to the local coordinates systems. It can be transform to global coordinates systems by transform matrix.
Action
(no text in this section)
Agent model
The next figure shows the details of the agent.
the agent's joint freedom degree and the angle allowed
| Joints(left) | Max | Min | |
|---|---|---|---|
| a | Larm1 | 180(forward) | -90(backward) |
| Larm2 | 180(leftward) | -10(rightward) | |
| b | Larm3 | 135(outward) | -135(inward) |
| c | Larn4 | 130(forward) | -10(backward) |
| d | Leg1 | 90(outward) | -60(inward) |
| Leg2 | 120(forward) | -45(backward) | |
| Leg3 | 75(leftward) | -45(rightward) | |
| e | leg4 | 10(forward) | -160(backward) |
| f | Leg5 | 90(upward) | -90(downward) |
| Leg6 | 45(outward) | -45(inward) |
| Joints(right) | Max | Min | |
|---|---|---|---|
| a | Larm1 | 180(forward) | -90(backward) |
| Larm2 | 10(leftward) | -180(rightward) | |
| b | Larm3 | 135(inward) | -135(outward) |
| c | Larn4 | 130(forward) | -10(backward) |
| d | Leg1 | 60(inward) | -90(outward) |
| Leg2 | 120(forward) | -45(backward) | |
| Leg3 | 45(leftward) | -75(rightward) | |
| e | leg4 | 10(forward) | -160(backward) |
| f | Leg5 | 90(upward) | -90(downward) |
| Leg6 | 45(inward) | -45(outward) |
Walking
As the figure shows, we define the contrarotating direction as the positive one. The horizontal distance from point A to C is m (left one is m1, and the right one is m2), the direction is positive. The perpendicular distance from point C to A is h (the left one is h1 and the right one is h2). The distant from the left to the right foot is L (it is positive). Then we have
$$l = m_1 - m_2 \tag{1}$$
$$m_1 = l_2 \sin \theta_3 - l_1 \sin \theta_1 \tag{2}$$
$$m_2 = l_2 \sin \theta_6 - l_1 \sin \theta_4 \tag{3}$$
$$h_1 = l_1 \cos \theta_1 + l_2 \cos \theta_3 \tag{4}$$
$$h_2 = l_1 \cos \theta_4 - l_2 \cos \theta_6 \tag{5}$$
$$\theta_2 = -(\theta_1 + \theta_3) \tag{6}$$
$$\theta_{5} = -(\theta_{A} + \theta_{6}) \tag{7}$$
Gathering terms
$$\theta_1 = \arcsin \frac{l_2^2 - l_1^2 - m_1^2 - h_1^2}{2l_1 \sqrt{m_1^2 + h_1^2}} + \arctan \frac{h_1}{m_1}$$ (8)
$$\theta_3 = \pi - \arcsin \frac{l_2^2 - l_1^2 + m_1^2 + h_1^2}{2l_2 \sqrt{m_1^2 + h_1^2}} - \arctan \frac{h_1}{m_1}$$ (9)
$$\theta_2 = -(\theta_1 + \theta_3) \tag{10}$$
$$\theta_4 = \arcsin \frac{l_2^2 - l_1^2 - m_2^2 - h_2^2}{2l_1 \sqrt{m_2^2 + h_2^2}} + \arctan \frac{h_2}{m_2}$$ (11)
$$\theta_6 = \pi - \arcsin \frac{l_2^2 - l_1^2 + m_2^2 + h_2^2}{2l_2\sqrt{m_2^2 + h_2^2}} - \arctan \frac{h_2}{m_2}$$ (12)
$$\theta_5 = -(\theta_4 + \theta_6) \tag{13}$$
In the walking process, we define one stride by left foot and one stride by the right foot as a walking cycle T. The moving distance in a cycle is $2^{\left|l\right|}$ . And the moving distance of agents center of gravity is f, the n we can get that the distance from standing to one stride, $f=\left|l\right|$ , and after n strides, $f=n\left|l\right|$ .
Uprising
To make the agent rise up speedier, we adopt this method which get high impulse and kinetic energy, and increase the agents geopotential by knocking the ground to make it rise up.
We defined that the center of the standing agents gravity is h, and the center of the lying agents g ravity is h1.
We can regulate the angle of the joint to make the lying agents arm knock the floor perpendicularly. We just need to calculate the angle for the arm to rotate as the cycle is constant.
We supposed the rotating angle of the arm in a cycle to be t, and the gravity of the agent to be G. Then we have the angular speed:
$$w=t/T$$ (w is the angular speed) (14)
$$\frac{G}{h - h1} = \frac{1}{2}J\omega^2$$ (j is the moment of inertia of the agent)
Then we can get the linear velocity
$$t=vT/r$$ (17)
Ballkick
When robot stretches upright foots, R represents its length, L1 the length of thigh, p1 the length of shank, p2 the length of sole. When robot kicks the goal, theta1 represents the max predecessor angle of joints of leg, theta2 the angle between thigh and shank, alpha the angle to horizontal plane when ball is kicked. The arc is the trail of foot when robot kicks the ball. Through calculating this model, we obtain a sequence of varied angles of robot when it kicks and finally achieve a explosive effect by changing some angles about 140 degrees in two frames.
Decision making
(no text in this section)
Role-allocating
The tactics we take is arranging two vanguards: player who is nearer to ball will move towards calculated kicking point while the other keeps standing. If the player falls when moving, the other will change its role and substitute for moving. By this decision, we confirm that there is one player in kicking area.
Complete motion of kick
A complete kicking motion contains two statuses: adjust to ball and kick it. Our team use "state machine"to switch between statuses. When the player is far from the ball, it will automatically enter the state of adjusting to ball and then move towards it; otherwise the player will enter the state of kicking ball and finishing the motion of kick after a more accurate adjustment.
Monitor
To observe the game and analyze the action of the agent more conveniently, we have finished the Monitor based on Windows.
The Configuration of the Monitor
- (1) Communication layer: We use it to connect with server, fulfilling the duplex communication (including sending instruction to agent and getting feedback from server)
- (2) Parsing layer: We use it to parse the feedback from server, and then analyze the state of the agent and forecast the next motion of the agent.
- (3) Behave layer: We use it to build the 3D surroundings and to simulate the competing field and the agent, in order to regulate the motion of the agent by analyzing them directly.
The goal of Monitor system
(no text in this section)
The total goal
- (1) To redisplay the game in time
- (2) The system must be simple and easy to operate, and have some interface to extend the function.
- (3)The system must have many functions, such as providing and forecasting message of the world model layer (including forecasting the track of the ball, motion layer, and unconditioned reflex layer and conditioned reflex layer).
- (4) The system must be able to play log file.
Concrete goal
- (1) To provide a communication layer to connect with server, receving the message get back from the server and sending instruction for agent.
- (2) To provide a parse layer to parse the message get back from the server and the instruction send to server by the super stratum monitor. The functions are given in detail:
- ①To pick up the concrete message including the field , the ball and the agent.
- ②To send the instruction which can be accepted by server.
- ③To parse log file.
- (3) The behave layer is constituted of three modules: redisplaying module, parsing and forecasting module and log playing module. The functions are given in detail:
- ①The redisplay module needs to show the content as follows:
- a) The competing field
- b) The play mode
- c) The posture of agent
- d) The location of the football
- ②Parsing and forecasting module must include the content as follows:
- a) We can analyze the track of the ball and forecast the moving direction and point of fall.
- b) By analyzing each joint of the agent and each part of the agent's center of gravity in the framework model, we can present them in the global coordinate system in order to provide picture for motion layer and unconditioned reflex layer.
- ③ Log playing module need to present the content as follows:
- a) We can redisplay the game in the normal mode, accelerating mode or decelerating mode. We can also add explaining function if possible.
- b) We can fulfill two play modes: 3D and 2D. And 2D play mode is composed of the normal one and the track play mode (to present the moving track of the agent and the ball)
Conclusion and future direction
This paper described our simulated soccer team AmoiensisNQ. We are working hard to make progress. And now, the agent model is much more perfect than before. But there are still some disadvantages.
Our future direction is as follows:
- 1 We want to make the parsing layer more efficiently, including that we can locate the agent and the ball more precisely.
- 2 We intend to perfect the agent model, including that we can make it walk faster, even make it run, and we can make the motion more steady and speedy. We hope that our model can be helpful to the study of robotic if possible.
- 3 We also intend to perfect the monitor.
We hope our team can make more progress.
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
- Remco de Boer and Jelle Kok. Incremental development of a synthetic multi-agent system: The uva trilearn 2001 robotic soccer simulation team. Master's thesis, Faculty of Science, University of Amsterdam, 2002.
- "Path-Planning Program for a Redundant Robotic Manipulator, "NASATech Briefs, July 2000
- Cai Zinxing. Robotics. Tsinghua University Press, 2000.