SHU Strive-Legends Team Description 2010
Chunsheng Gui, Shuoyuan Cheng, Jinhuan Liu, Junjiang Liu, Chaojiong Huang, Yuanhao Huang, Wanmi Chen
Shanghai University, China
Abstract This paper describes the hardware and software of the Middle Size League team "SHU Strive Legends" for RoboCup 2010. We will discuss the hardware design, motion control, robot's vision system and AI software in this paper. Some improvements such as the new pneumatic active ball handling system and software will also be proposed.
Introduction
The Middle Size League team of the "SHU Strive-Legends" was founded in 2004. It was developed in the base of RoboCup Small Size League which had won the champion in RoboCup Iran Open 2007 & 2008. In RoboCup world championship 2008, our team proceeded to the last 8 teams. In RoboCup China Open 2008, we won the champion of the Technical Challenge and the 3rd place in the Middle-Size competition. In RoboCup China Open 2009, we won the 2nd place of the Technical Challenge and the 4th place in the Middle-Size competition.
The basis for our success was the robust and reliable robot body, the powerful kicker device, efficient algorithms and team members' great passion. Our main research interests are well-mechanical structure for middle-size soccer robots, the development of improved sensor fusion and the development of learning robots.
In the following parts, we will describe the general hard and software design of the "Legends3.0" and the recent developments of our robots. Finally, we will introduce our current research focuses.
Hardware
The SHU Strive-Legends soccer robots (Legends3.0) were designed in 2008. Each function of the robot is modularization for easily assembling and maintenance. Homogeneous robot hardware architecture is used for all the robots in the team, based on an omni-directional mobile platform. The mobile platform is built on a triangular configuration. This is one of many possible ways to arrange omni-directional wheels so as to achieve omni-directional behavior. The advantage of this configuration was analyzed in our TDP2008. Each wheel is driven by a Maxon DC motor (24V,150W).This allows the robot to move at a high speed up to 2.91m/s, and a maximum acceleration up to 3.66 m/s².The mechanical assembly of our mobile base is developed to be easy and robust. Pneumatic kicking device will be used as before. The device is able to kick the ball with a velocity of 10m/s.
In order to handling the ball , each robot is equipped with a pneumatic active ball handling system in 2009, as shown in figure 2.The system consists of a vacuum generator, a industrial vacuum cup, an electromagnet and a 2L Coca-Cola plastic bottle as pressure tank. The vacuum generator uses highcompressed gas to form vacuum airflow, and electromagnet are used to realize the movement of the vacuum cup. The vacuum cup can be close to the ball. When the system works, the vacuum cup can suck the ball more firmly than any other active ball handling systems using electrical motor. In order to avoid Holding Ball, the robots suck the ball by a short time. The physical construction of our robot is showed in figure 3.
Motion Control
The motion control system is based on Cyclone EP1C12 FPGA chip board. A 32-bits HMP High performance Micro Processor and many other application modules are embedded in FPGA, which realizes a complete relocatable embedded system, and usually we call it SOPC. The velocity feedback is done by using 512 PPR digital incremental encoders. The velocity of the wheels is controlled by a microprocessor based on DC motor controller which has a USB communication link with the host laptop. The controller reads the pulse gains from the motor encoders and produces amplified PWM output voltages for the motors based on a PID algorithm. The whole bottom layer control module is showed in figure 4 .
The USB can transfer an 8-bit data bidirectionally in the rate of 1M byte/second. Thus we can share the information between control board and laptop immediately.
In 2008, the robot's self-localization was based on panoramic mirror vision system only. The problem of use one sensor (camera) only is that the robot may get wrong position in self-localization and the position will heavily affected by noise. In 2009, other kinds of sensors such as speedometer and digital compass have been equipped on our robots. Thus the robots are able to determine their position much more quickly and accurately.
When the robot collides with other robots or slips on the green carpet, the actual velocity of the robot differs a lot from the desired velocity as well as from the velocity measured by the wheel encoders. To overcome that problem we also use a new kind of speedometer and developed an algorithm to estimate the motion of the robot.
Vision System
Our vision subsystem is composed of two parts, one is an omni-directional mirror based on a digital camera, the other is algorithm for image processing.
The omni-directional mirror is designed by our team members, as shown in figure 5. The mirror design has been split in two parts: the inner part is a curve which has established the mapping between scene points and pixels. Its capabilities to map scene distances, in any direction, in proportional image distances within the whole range covered by the mirror (our designed range is 6m); the outer part is constant curvature curve. Considering the inner mirror observes an angle which heads too low, in such a way that it cannot observe the higher part of the scene, this part can observe at a quite high height to distinguish the top markers in our future works.
As camera systems, especially omni-directional systems, are currently the most important sensors in RoboCup, the method for mapping the image coordinates onto two-dimensional robot coordinates on the scene floor is needed. The calibration process used to be painstaking and error prone. Now we develop an automatic method to our robot could do it automatically, which use error descent algorithm [1].
We applied an important method developed by FU-Fighters: Region trackers [2] in our algorithm for image processing. Region tracker is applied to the green carpet so that our robots can focus its attention on green field. The Reason that we focus on the green carpet is that everything is on it. Region trackers provide us with edges, like white line, ball, obstacles, which is vital to self-localization and recognition. After we have got the edges, we firstly judge that whether it is white line. We make the normal line of edges, and then the criterion is that on the normal line the edge points is brighter than some other points and these points which are not edge points on the normal line should be green. If these edge points satisfy the criterion, we add these points into white point array to make robot self-localization, as shown in figure 6. Next, ball recognition is used clustering and simulation method. Although our ball detection is not poor, we can only recognize the orange one. Our next plan is to recognize the arbitrary FIFA ball. Finally, we use Region trackers again in our obstacle detection.
In the obstacle recognition, we are through the adoption of a new algorithm, effectiv- ctively, improve the detection of obstacle recognition. According to contest the provisions of obstacles to black, so we have the color barrier characteristics of a precise definition of the scope, and then use full-screen 360-ray scan, get all the map there is a class barrier region. As the actual width of the barrier to meet certain conditions, according to this feature, we set the width of the threshold, and thus effectively exclude the interference region, to achieve the purpose of identification of the obstacles, while the outside of the object even if met, and until obstacles conditions, will be automatically screened and will not cause interference, as shown in figure 7.
Identification of the ball is used identify the clustering and ellipse fitting method. Although we test the ball has been done quite mature, but we can only identify the orange ball. Our next plan is to identify arbitrary FIFA5-balls.
Self-localization
Matrix [3] is mainly our self-localization method, which is highly accurate and robust against outliers. The algorithm is based on detected white lines. However, other sensors like odometry and digital compass help the localization process. Our robot is used compass to get the direction instead of detecting the door color. And considering odometry accumulative total errors, Odometry which speedup the self-localization is assistant. In sum, our self-localization shows sensors fusion, as shown in figure 8.
Robot Behavior and Cooperation
Our path-planner is relatively simple yet efficient. We use the famous artificial potential field algorithm. In brief, our robot is influenced by two forces. One is the attraction force generated by ball, the other is the repulsion force generated by the nearest obstacle. We will improve our path-planning so that it could learn by some degrees. It will significantly reduce people's debugging time if it could set parameters automatically.
Multi-robot cooperation is also simple. When one of our robots having the ball, only one robot could move and others keep silent at the same time so that our robots will not steal ball each other. And the communication among robots is necessary. Our robots only share their ball information. If none find the ball, some of robots will run cover the whole ground to detect the ball. Its practicality had proved in RoboCup 2008. We have added some cooperation between robots in free kick in 2009. In order to make the robots positioning more flexibly, we have increased the dynamic allocation of decision-making in the robots. Our robots consist of one goalkeeper, 3 strikers, and one defender with three kinds of decision-making, these three decision-making works respectively in positioning when the ball running randomly. This decision has been successfully applied to the China Open in 2009 and achieved success.
Robot Communications
In order to accommodate changes of the competition rules and communication technology development trend, we also make great improvements on the robot's communication. We abandon the past broadcast communication technology, and apply the recommended group communication mode. This kind of communication mode exists in the robots and between the robots and the coach. Because the group communication mode ensures that only hosts who joined the group can receive group data, and then solve the problem of signal disturb under broadcast communication mode in an effective way. Meanwhile, it also fully inherit the high efficiency of the broadcast communication mode which can complete one-to-many communication at the same time. The efficiency of our robots' communication gets certain promotion. The procedure flow chart module of principal computer is showed in figure 9 .
Conclusion
This paper describes the hardware and software structure of the middle-size soccer robot of Strive-Legends Team, from Shanghai University. The research and development of pneumatic active ball handling system, the improvement of vision system and communication mode are described in detail. Now, our main research interests focus on the arbitrary FIFA ball recognition and the development of learning robots.
Acknowledgments. The authors would like to acknowledge Haiting Fan, Zongjie Xiang, Junyu Huang, Xiaoyuan Lin, Lixue Fu, Liqi Lin, Zhengmin Chen for their cooperation to establish and develop our RoboCup MSL soccer robot team – Strive-Legends.
References
- Zongjie Xiang: Automatic Calibration of Camera to World Mapping in omnidirectional vision system using error descent algorithm, International Conference on Advanced Intelligence 2008.
- Felix von Hundelshausen, and Raul Rojas: Tracking Regions, in Daniel Polanietal.(editors): RoboCup-2003: Robot Soccer World Cup VII(Lecture Notes in Computer Science), Springer, 2004.
- Felix von Hundelshausen, Michael Schreiber, Fabian Wiesel, AchimLiers and Raul Rojas: MATRIX: A force field pattern matching method for mobile robots, Technical Report B-08-03, Freie Universität Berlin, Institute of Computer Science, Takustr. 9, 14195 Berlin, Germany.