ENDEAVOR Team Description Paper 2010

Shaoxing Su, Zhiyang Gu, Xiangjiao Chen, Lingjiao Dong, Yantai Huang, Xiaokang Song, Li Wu

Robot Innovation Group, Department of Electronic Engineering, Wenzhou Vocational & Technical College, China, 325035


Abstract This paper mainly introduces the middle-size robot soccer team "ENDEAVOR" for the purpose of qualification to RoboCup MSL 2010. This team has been built and developed by the authors from scratch since 2006. The robot's hardware and software have been improved through three-generation prototype. The general architecture of the robots is firstly described in this paper. The robot's hardware and software including omni-directional vision, self-localization, the ball active handling device, role auto-switch are introduced in this paper. The current research activities focus on system improvement, situation recognition, path planning, parallel processing and the coordination between robot teammates.

Introduction

The ENDEAVOR team is a new RoboCup middle-size league soccer team built by Robot Innovation Group at Department of Electronic Engineering, Wenzhou Vocational & Technical College in 2006. Since then we have developed three generation mobile robot prototypes. Figure 1 and Figure 2 show the first and second generation robot prototype, which were individually developed in 2007 and 2008. The first generation robot was driven in a differential way, while the second and three generation one were type of all-directional motion. During the last two years, we attended different robot soccer competitions of China. After two years continuous improvement, this team made great progress. Currently, this team involves four college staff members, three joint researchers and more twenty college students in all.

First generation robot prototype
First generation robot prototype
Second generation robot prototype
Second generation robot prototype
Third generation robot prototype
Third generation robot prototype
ENDEAVOR team robot
ENDEAVOR team robot

System description of the robots

Empty

Mechanical structure, sensors and actuators

The present ENDEAVOR team robot players are designed and developed based on continuous improvement for the last few years. The physical configuration and size of the robots totally accord with RoboCup MSL rules. The team includes 5 robot players, one of which is goalie. The current ENDEAVOR team robots are shown as figure 4.

ENDEAVOR team robots
ENDEAVOR team robots
ENDEAVOR team robots
ENDEAVOR team robots
ENDEAVOR team robots
ENDEAVOR team robots
Motion device
Motion device
Pneumatic ball-kicking devices, ball-dribbling device
Pneumatic ball-kicking devices, ball-dribbling device
Laptop mechanism
Laptop mechanism
Vision and compass mechanism
Vision and compass mechanism
Pneumatic kicker mechanism
Pneumatic kicker mechanism
3D modeling of the active ball dribbling mechanism
3D modeling of the active ball dribbling mechanism
Premier design prototype
Premier design prototype
Revised version of dribbling mechanism
Revised version of dribbling mechanism
Revised dribbling mechanism detail
Revised dribbling mechanism detail

Control architecture of the robots

The control hardware mainly includes two parts: main control computer and bottom motion control system. A laptop computer is used as the main controller, while the bottom motion control system utilizes a DSP-based control board, shown as in Fig. 14. The bottom DSP-based control board is in charge of actuation motor control, ball dribbling motor control, ball kicking control, sensor data collecting, synthesis of wheel velocity and acceleration. DSP-based control board is connected to laptop through USB port. In the experiment, we found that this kind of control architecture can greatly reduce the computation amount of main control program and the communication times between the laptop and the DSP-based control board. The control board uses the 150Mhz DSP processor. Its peripheral connections include three 150W DC motors used for driving the robot, two 10W DC motors used for dribbling ball, one pressure transmitter used for measuring the air pressure, two PSD and one digital compass. The communication rate between laptop and DSP can be up to 1Mbps through using single-chip USB to UART Bridge.

Bottom control board
Bottom control board
The control architecture
The control architecture

Omni-directional Vision System

Empty

Vision system description

One of key parts in the design process of the robot is vision sub-system, which plays an important role for robot performance. The omni-directional vision sub-system consists of a 1394b firewire camera and a hyperbolic mirror. The hyperbolic mirror placed above the camera reflects the 360 degrees of the area around the robot.

Vision system of the first generation
Vision system of the first generation
Vision system of the second generation
Vision system of the second generation
Image captured by the first-generation vision system
Image captured by the first-generation vision system
Image captured by the second-generation vision system
Image captured by the second-generation vision system
Hyperbolic mirror profile
Hyperbolic mirror profile
The manufactured mirror
The manufactured mirror

Camera parameters self-adjustment

Light exposure is one of key parameters for camera to obtain high-quality image. Digital industrial camera usually can automatically adjust exposure parameter. But automatic exposure of camera maybe results in excessive exposure problem. So we calculate the mean sample value (MSV) from the histogram to determine the balance of the tonal distribution in the image. The calculated exposure parameter is set to camera through application program interface (API) to obtain better image.

Adhesive tape installation
Adhesive tape installation
Original image of adhesive tape
Original image of adhesive tape
Camera self-adjustment process
Camera self-adjustment process

Parallel processing

To reduce computation amount, original image is processed by a radial scan way, shown in Fig. 24. Information of each scan line takes turns to be captured for serial computation. During physical experiments, we found that one CPU of dual-core laptop operates to full load, while the other stays idle. So we try to introduce parallel computation to image processing. Table 1 shows pseudo-codes of serial/parallel computation comparison.

Radial scan line for original image
Radial scan line for original image

Pseudo-codes of serial/parallel computation comparison

Serial Computing CPU1 CPU2
For each scan line in 360 degree For 1 to 180 For 181 to 360
Detect Landmark. Detect Landmark Detect Landmark
End for End for End for

Performance comparison of serial and parallel computing

Serial Computing Parallel Computing
Cost-time (average 10000 times) 3.2 ms 1.8 ms
CPU1 Efficiency 90% 86%
CPU2 Efficiency 20% 80%

Physical experiments had been implemented to compare cost time of serial and parallel computation. The robot's main processor is a ThinkPad laptop with Intel Core2 Duo 2.40Ghz, 2G memories under Windows XP SP3 operating system. All code is implemented in C++ language.

Self-Localization

In the MSL, the environment is completely known, so we used the approach described in [1], with some adaptations. According to our experimental results, beginning search direction plays an important role to localization performance. Robot localization is determined by ($x$, $y$, $\theta$). For $x$ and $y$ components, error vectors are chosen for search vector directions, as Fig. 25 shows.

Error vector search direction for x and y components
Error vector search direction for x and y components
Localization diagram
Localization diagram
Error map
Error map
The EKF process of sensor fusion
The EKF process of sensor fusion
Cost time of the revised localization algorithm
Cost time of the revised localization algorithm

Ball Velocity and Position Estimation

To gain reliable ball velocity and position estimation, we develop a novel method to estimate the velocity of the ball, which is based on Kalman filter and PROSAC algorithm. Firstly we restore pre-several cycles (6<N<12, N means cycle times) of the ball position and use Kalman filter to smooth the positions. Then we randomly choose several possible velocities between every two cycles to calculate the most-likely velocity and position. Rather than RANSAC method, which treats all correspondences equally, we use PROSAC algorithm to estimate the velocity and position. The PROSAC algorithm terminates if the number of inliers within the set satisfies the following conditions: non-randomness and maximality. Fig. 30 shows the ball velocity and position estimation results.

Ball velocity and position estimation results
Ball velocity and position estimation results

Role Auto-Switch

Each ENDEAVOR robot player is an independent agent and has dynamic roles. Each robot player decides its own role with current strategy and teammate information. six roles are defined for the ENDEAVOR robots: Striker, Assistant_Striker, Left_Defender, Right_Defender, Middle_Defender and Goalie. Every player has a dynamic role, except goalie. Another role RoleDebug is defined for debugging.

At the beginning of the game, each robot is set to be assigned role. When the game starts, the robot will invoke decision making module to change its role according to current strategy defined before the match, CCD information and information from its teammates. The whole process is as follows.

Role auto-switch process
Role auto-switch process

Conclusions

This paper describes the current development stage and robot system of the ENDEAVOR team for the purpose of qualification to RoboCup MSL 2010. This team has been built and developed by the authors from scratch since 2006. The robot's hardware and software have been improved through three-generation prototype. The general architecture of the robots including omni-directional vision, self-localization, the ball active handling device, role auto-switch are briefly introduced in this paper. In the future, we will focus on several topics such as system improvement, situation recognition, path planning, parallel processing and the coordination between robot teammates. Other information about this team can be visited on our group website.

The ENDEAVOR team is new team to RoboCup MSL, but highly hopes to participate in the international RoboCup MSL in Singapore. In the last, we would like to thank all of members of the robot innovation group.

We are willing to joint RoboCup MSL 2010 as a united team.

References

  1. Lauer, M., Lange, S., Riedmiller, M. Calculating the perfect match: an efficient and accurate approach for robot self-localization. In: RoboCup 2005: Robot Soccer World Cup IX. Lecture Notes in Computer Science, Springer, pp. 142~153, 2006.
  2. Felix von Hundelshausen, Michael Schreiber, FabianWiesel, Achim Liers, and Ra´ul Rojas. MATRIX: A force field pattern matching method for mobile robots. Technical Report B-09-03, FU Berlin, 2003.
  3. Neves, A.J.R., Martins, D.A., Pinho, A.J.: A hybrid vision system for soccer robots using radial search lines. In: Proc. of the 8th Conference on Autonomous Robot Systems and Competitions, Portuguese Robotics Open - ROBOTICA'2008, Aveiro, Portugal, pp. 51-55, 2008.
  4. OpenMP http://www.openmp.org/
  5. E. Rimon and D.E.Koditschek, "Exact robot navigation using artificial potential functions", IEEE trans. Robot. and Automat. Vol.8, No.5, 1992, pp501-518.