NuBot Team Description Paper 2009

Hui Zhang, Xiangke Wang, Huimin Lu, Shaowu Yang, Shengcai Lu, Junhao Xiao, Fangyi Sun, Dan Hai, Zhiqiang Zheng

College of Mechatronics and Automation, National University of Defense Technology

http://www.nubot.com.cn


Abstract The paper mainly presents the developments of the middlesize league robot team "NuBot" for RoboCup 2009. A new active ball handling system was developed; new obstacle detection, omni-directional vision calibration, and arbitrary FIFA ball recognition algorithm are applied and a new multi-robot system architecture was proposed.

1 Introduction

NuBot (Fig. 1) is the RoboCup Middle Size League team of National University of Defense Technology. This team was founded in 2004, and since then, has participated in RoboCup 2006 Bremen, RoboCup 2007 Atlanta, and RoboCup 2008 Suzhou. The team has also participated in RoboCup China Open and winned the 1st-place prizes from 2006 to 2008. Now, NuBot research focuses on multi-robot cooperation, robust robot vision, motion control etc.

This paper describes the recent developments of NuBot comparing to that presented in the former TDP [1, 2]. It is organized as follows: Section 2 introduces the active ball handling system. Section 3 introduces the improvements in vision system such as obstacle detection, omni-directional vision calibration, and arbitrary FIFA ball recognition. Section 4 presents the new multi-robot system architecture. Finally, section 5 is a summary.

Fig. 1. NuBot Team
Fig. 1. NuBot Team

2 Active Ball Handling System

The Active Ball Handling System, which is designed for dribbling the ball, is made up of the Active Ball Handling Mechanism and its control system. The ball handling mechanism of our NuBot platform is shown in Fig. 2

The main parts of the Ball Handling Mechanism are wheels (one at each side), DC motors, axis, spring and the parts which used to limit the rotation angle of the axis. When the robot is dribbling, the spring keeps the pressure between the wheels and the ball, and the wheels driven by the DC motors provide frictions to make the wheels keep in touch with the ball. The control architecture has two levels. On the low level, the DSP controls the velocity of the wheels. On the high level, the PC decides when the Active Ball Handling System will work. Compared with the Passive Ball Handing Mechanism used before, the Active Ball Handling Mechanism has three marked advantages: firstly, it introduces the opportunity to drive the ball not only forward, but also at any direction, which makes the path planning easier. Secondly, the robot could stop the ball at any place, which is useful when the robot is dribbling near the corner and sideline. Thirdly, the robot is capable to grab the ball from opponent robot with the Mechanism. We will further our research on the following items: ameliorating the mechanism system, improving its dependability, enhancing the adaptability to the dynamic environment, optimizing path planning based on Active Ball Handing System.

Fig. 2. Ball Handling System
Fig. 2. Ball Handling System
Fig. 2. Ball Handling System (continued)
Fig. 2. Ball Handling System (continued)

3.1 Obstacle Detecting Algorithm

Radial scan lines-based Run Length Encoding algorithm is used to detect obstacles around the robot. The 360 radial scan lines are equably arranged from the center to the edge of the panoramic image. After the image is classified, the image along the scan lines is scanned and line-growing algorithm is used to get the pixels of obstacles. Then an improved Run Length Encoding algorithm is used to obtain the final obstacle information. Fig. 4 shows the obstacle detecting result of the panoramic image in Fig. 3. Only the objects whose length and height are greater than the predefined thresholds are considered as obstacles. Finally, The 16 obstacles nearest to the center of the robot are selected as the final obstacles.

Fig. 3. The panoramic image
Fig. 3. The panoramic image
Fig. 4. The obstacle detecting result
Fig. 4. The obstacle detecting result

3.2 Calibration of the Omni-directional Vision

A model-free calibration method which was presented by Arne Voigtländer et al. in reference [4] is used to calibrate our omni-directional vision system. Firstly, Canny operator is used to detect the edge information of the panoramic image, and 15 edge points of the calibration carpet are obtained, shown in Fig. 5, to be the support vectors on each predefined direction. Secondly, a two-step Lagrange interpolation algorithm is used to calculate the distance map of the image. The distance map of each edge point is known when the calibration carpet is designed. So after some edge points are chosen as the support vectors, the distance map of each image point would be calculated by using an interpolation algorithm. The first step of the interpolation algorithm acts on the radial direction, and on each direction a new support vector is obtained which has the same image length as the image point to be interpolated. The second step acts on the rotary direction by using the support vectors obtained in the first step. Fig. 6 shows the result of mapping the image coordinate to the real world coordinate.

Fig. 5. The original panoramic image
Fig. 5. The original panoramic image
Fig. 6. The calibrated result by mapping the image coordinate to the real world coordinate
Fig. 6. The calibrated result by mapping the image coordinate to the real world coordinate
Fig. 6. The calibrated result (continued)
Fig. 6. The calibrated result (continued)

3.3 Arbitrary FIFA Ball Recognition Algorithm

Recognizing the arbitrary standard FIFA ball is a significant ability for RoboCup Middle Size League soccer robots to play competition without the constraint of current color-coded environment. A novel method to recognize arbitrary FIFA ball is developed based on NuBot omni-directional vision system [3]. In this method, the conclusion can be derived that the ball on the field can be imaged to be ellipse approximately by analyzing the imaging character of the NuBot omni-directional vision system. The shape information of the ellipse on different location of the panoramic image such as the major axis and the minor axis can also be calculated in advance according to the derivation and the calibration result of distance map for omni-directional vision. In the image processing, the color variation is scanned to search the possible major axis and minor axis of the ellipse by radial scan and rotary scan respectively without color classification, and then it can be considered that an ellipse imaged from ball may exist if the middle points of a possible major axis and a possible minor axis are very close to each other in the image. Finally the ball is verified by matching the color variation points searched before near the candidate ellipse center with the ellipse equation. In the actual application, a simple but effective ball tracking algorithm is also integrated to reduce the running time needed by only processing the nearby image area of the ball detected in last frame after the ball has been recognized globally. The panoramic image and the arbitrary ball recognition result are shown in Fig. 7 and Fig. 8. The five FIFA balls are all detected successfully. The video of our robot's recognizing and tracking an arbitrary FIFA ball can be found on website: http://www.nubot.com.cn/2008videoen.htm.

Because of the deficiency of NuBot omni-directional vision system [3], a perspective camera system is added to recognize the arbitrary FIFA ball near and in front of robot. Sobel filter and non-maximum suppression technique are applied to detect all the single-pixel edge points and calculate the gradient directions of these edge points, and then Hough transform algorithm based on the information of gradient directions is used to detect the circle imaged by the ball quickly. So this perspective camera can be a good supplementation to make up the deficiency of the recognition algorithm based on the omni-directional vision system.

Fig. 7. The panoramic image
Fig. 7. The panoramic image
Fig. 8. The arbitrary FIFA ball recognition result
Fig. 8. The arbitrary FIFA ball recognition result
Fig. 9. The image captured by perspective camera
Fig. 9. The image captured by perspective camera
Fig. 10. The ball recognition result
Fig. 10. The ball recognition result

4 Multi-robot System Architecture

Inspired by the organization architecture of the group activities, especially the human being soccer team, the multi-robot system architecture of NuBot is modeled as a triple, τ = (I, G, S), consisting of an integrated character I, that describes the intelligence of the multi-robot as an autonomous system, the group character G, that describes the intelligence in the interactive communication among groups, and the single charter S, that describes the intelligence of the single robot. So the multi-robot system architecture is divided into Integrated Intelligence Layer, Group Intelligence Layer and Single Intelligence Layer based on the triple.

4.1 Integrated Intelligence Layer

Integrated Intelligence Layer is also called Coach Layer for convenience, because it mainly imitates the coach's intelligence of the team. In human being soccer team, the coach responds to decide the strategy aiming at different opponents before the game, and adjusts the statics aiming at the process in the game. So, Coach Layer of NuBot include two aspects: Coach Out Field and Coach In Field. Coach Out Field responds to decide the strategy aiming at different opponents, imitating the coach's arrangements before the game starts. And now, there are three strategies in NuBot, which are attacking first, defence first, and balance between attacking and defence. There are eight roles designed in NuBot, which are Goalkeeper, Attacker, Passive, Mid-Field, Acid-Passive, Assistant, Blocker, and Gazer. The number of the roles is more than the robots in the field, so different role sets are assigned in different strategy by Coach Out Field. Coach In Field evaluates the state between the opponents and our teammates, and then adjusts the statics in the game. A simple adjustment in NuBot is: if the score keeps ahead and the remaining time is not too long, the defence first strategy will be chosen. Accordingly if the score keeps behind and the remaining time is not too long, the attacking first strategy will be chosen.

4.2 Group Intelligence Layer

Group Intelligence Layer mainly imitates the captain or the decision-maker in the field. It allocates the roles of the robots and initiates the cooperation.

A hybrid distributed role allocation method is developed for NuBot, which includes dynamic application, role performance evaluation, and assignment based on rule. Every robot firstly evaluates the costs of being treated as attacker and passive for itself and all the other robots in the field, and selects the most proper robots as attacker and passive [5]. Then, the other roles are assigned based on rules [6]. At last, the dynamic application is used to avoid the repeated role assignments for the inconsistent information between different robots.

Cooperation includes implicit cooperation and explicit cooperation. In implicit cooperation, all the robots maintain a common world model, and complete the cooperation by sharing the information in the world model. Take the defensive action as an example, each robot in the field decides its defensive action based on its self-location, the distance to ball, and the other's actions in the sharing world model. Every robot is equal in implicit cooperation, and the information flows between robots are shown as Fig. 11. In explicit cooperation, robots complete the cooperation with direct communication. The cooperation is initiated by one of the robots, which is called initiator. The initiator selects and informs one or more other robots to complete the tactics cooperation. When the tactics is finished, the cooperation relationship relieves naturally. For example, the free kick cooperation of NuBot is completed by explicit cooperation. The robots are not equal in explicit cooperation, and the information flows between robots are shown as Fig. 12.

Fig. 11. Information flow of implicit cooperation and Fig. 12. Information flow of explicit cooperation
Fig. 11. Information flow of implicit cooperation and Fig. 12. Information flow of explicit cooperation

4.3 Single Intelligence Layer

Single Intelligence Layer imitates the single player, and is driven by role. Single Intelligence Layer executes different action according the role allocated by Group Intelligence Layer or the action assigned in explicit cooperation. The structure of Single Intelligence Layer is shown as Fig. 13, which includes Sensor Hierarchy and Action Hierarchy [7]. Sensor Hierarchy processes the data from different sensors, constructs and maintains the World Model. Action Hierarchy controls the robot to accomplish the tasks.

The information flows more and more abstractly from down to up in Sensor Hierarchy. The lowest includes the original information obtained from different sensors. Low World Model includes the basic knowledge from the original information, such as the robot self-location, the teammates' locations, the ball's position and the obstacles' positions. High World Model abstracts further the Low World Model, which includes the ball trace estimation, the ball speed estimation, which robot is controlling or will control the ball and so on.

Action Hierarchy is divided into four different parts, and each part includes different intelligence and complexity behavior sets. The four parts are Action Selection, Senior Action, Basic Behavior and Motor Control from higher to lower. Every part gets its require information from World Model separately, and is just influenced by the lower layers.

Fig. 13. Hierarchy structure of Single Intelligence Layer
Fig. 13. Hierarchy structure of Single Intelligence Layer

5 Conclusion

This paper describes the current developments of the NuBot team. Comparing to that presented in the former TDP, several major improvements have been achieved as follows: a new active ball handling system is developed; new obstacle detection, omni-directional vision calibration, and arbitrary FIFA ball recognition algorithm are applied and a new multi-robot system architecture is proposed.

Acknowledgement

The authors would like to acknowledge Lin Liu, Fei Liu, Xiucai Ji, Wei Liu, Yupeng Liu and Lianhu Cui for their cooperation to establish and develop our RoboCup MSL soccer robot team-NuBot.

References

  1. Hui Zhang, Huimin Lu, Xiangke Wang, et al.: NuBot Team Description Paper 2008. RoboCup 2008 Suzhou, CD-ROM, Suzhou, China, July 2008.
  2. Hui Zhang, Huimin Lu, Xiucai Ji, et al.: NuBot Team Description Paper 2007. RoboCup 2007 Atlanta, CD-ROM, Atlanta, USA, July 2007.
  3. Huimin Lu, Hui Zhang, Fei Liu and Zhiqiang Zheng: Arbitrary Ball Recognition Based on Omni-directional Vision for Soccer Robots. In Proceeding of RoboCup 2008 Symposium, Suzhou, China, July 2008.
  4. Arne Voigtländer, Sascha Lange, Martin Lauer, and Martin Riedmiller: Real-time 3D ball recognition using perspective and catadioptric cameras. In Proc. of 2007 European Conference on Mobile Robots (ECMR07), Freiburg, 2007.
  5. Lin Liu, Xiucai Ji, Zhiqiang Zheng: Multi-robot Task Allocation Based on Market and Capability Classification (In Chinese). Journal of Robot, 2006, 28(3): 338-343.
  6. Xiucai Ji, Lianhu Cui, Zhiqiang Zheng: Application of a hybrid distributed multiagent task allocation mechanism to soccer robot system (In Chinese). Computer Application, 2008, 28(3): 706-709.
  7. Xiucai Ji, Lin Liu and Zhiqiang Zheng: A modular hierarchical architecture for autonomous robots based on task-driven behaviors. In International Conference on Sensing, Computing and Automation, Chongqing, China, May 8-11, 2006: 631-636.