Minho Robot Football Team
Carlos Machado, Sérgio Sampaio, Bruno Martins, Fernando RibeiroGrupo de Automação e Robótica, Industrial Electronics Department, University of Minho Campus de Azurém, 4000 Guimarães, PORTUGAL email@example.com http://www.robotica.dei.uminho.pt/
Abstract.Research and development in the robotics field can be greatly improved by attracting people with different challenges. RoboCup consists of a new challenge in which a team of robot players are supposed to play football with similar rules to the human football. This paper describes an Autonomous Mobile Robot Minho team solution. The robots were designed and developed by a group of undergraduate students from the Group of Automation and Robotics from the Industrial Electronics Department of the University of Minho, in Guimarães (Portugal). They were all built (electronics and mechanics) and programmed from scratch with a reduced budget. The main advantage of these robots consists on the image acquisition and processing. It uses a video camera pointing upwards to a convex mirror facing down. With this technique, most of the field is visible, facilitating the strategy of the game.
The University of Minho (Dep. Industrial Electronics, Guimarães, Portugal) decided to accept the challenge of participating in this competition and found it to be a quite interesting experience. They already participated in other football competitions and the robots here described have been developed in 1998 and improved since then.
It is important to point out that these robots were designed and built by undergraduate industrial electronic engineering degree students. Apart from the computer, all the robots printed circuit boards, mechanics, software interface and drivers for cameras, motor control, etc. were developed from scratch by those students.
In this paper, a physical description of the robots is made as well as a very short description of the tactic used in the game. This team of robots is made up of 5 players. All the robots are identical except the goal keeper which has the head rotated 90 degrees along the vertical direction in order to rapidly move to defend the ball.
Each robot has two parts; the top part (head) where all the computing power is concentrated and the bottom part which contains the power electronics and actuators. The head consists of a black box which contains the image acquisition apparatus, a video transmitter, a VGA to PAL converter, and a typical computer. The computer is a Pentium II - 350 MHz, with 16 Mbytes of memory, 4 Gbytes hard disk, 2 serial ports and 1 parallel port. Plugged on the computer slots are a Graphics board, a frame grabber (for the camera) and a wireless network board. The frame grabber is based on the Bt848 chip. The image acquisition apparatus consists of a video camera pointing upwards onto a facing down convex mirror, which allows playing field full vision, and also the respective frame grabber (plugged in a computer slot).
The image seen by the image acquisition apparatus is processed on the computer. The robot software interface is transmitted to a remote computer or television only for debugging purposes. The software interface is taken from the computer and connected to a "VGA to PAL" converter and then sent to the transmitter which through radio frequency (UHF channel) send the signal to the remote computer or television.
The wireless network board is used to communicate between the robots during a game, allowing multi-agent co-operation.
The serial ports are used to get information from the encoders (on the wheels) and the parallel port is used for actuating devices (the motors, the kicker, etc.). The following picture shows a robot of the team with the major components marked.
Fig. 1. Photo of the Robot
3 Bottom Part
The bottom part consists of a light wooden circular platform which contains all the power electronics equipment, actuators, encoders, the two DC motors coupled on two wheels and two extra wheels to support the platform. Devices are placed over and under the wooden platform. Over the platform are placed two 12V / 7Ah lead acid batteries (in the centre), a DC/DC converter at the front and the power electronic boards at the rear). Under the platform are placed the two DC motors, the 2 wheels drive and the two extra supporting wheels, the kicker device and the electronics PCB to control the kicker, the motors and the encoders power supply controller.
The PCB's located over the platform (at the rear) consists of a mother board which works as a bus for the other boards, then 3 boards are plugged in which consist of motors controllers, encoders controllers and a general connections board. Extra slots exist should more boards be needed. One extra PCB was designed and built to do diagnostics, in other words, with the help of some LED's on that board, it detects any defects on the robot devices, reducing time of repair.
It is important to point out that all these devices and boards are of easy access to quickly find out a possible fault and fix the problem. This is very important since during a game the time to solve a problem is extremely limited.
Fig. 2. Bottom view of the Robot
The kicker consists of a coil in which high current passes to create a magnetic field to attract a metallic driving shaft. After a kick the condensers need to be recharged and therefore another coil is used to charge the two electric condensers.
4 Perception and Strategy
The only sensor used to perceive all the items necessary to play a game, is a simple colour camera (previously described). The software reads the image in the YUV format and filters it into the 8 colours needed to play the game: Red (ball), Green (field), Blue (one goal), Cyan (one team), Magenta (other team), Yellow (other goal), Black and White (obstacles). All the other colours are ignored. The peak of each colour is then extracted from the image and associated with the respective entity on the field. One image is grabbed every 20 ms. Since the YUV format gives two components for colour (red and blue) and one for the luminance, the amount of light is not so important as if RGB format was used, making perception easier and faster.
In every frame grabbed the software tracks down all the items.
These robots avoid collisions, by perceiving as uncollidable items all the black and/or white items. This is the way they avoid walls (mainly white) and other robots (mainly black). The white lines on the green field are ignored because what the robot sees is not "mainly white" due to the slim thickness of the lines.
In order to drive the ball, these robots use an arch with a re-entrance of 7cm (allowed by the rules). This way, ball control is achieved just by pushing it, although a sudden change of direction might mean loosing the ball. These sudden changes of direction are avoided by the robot's software by following longer and wider trajectories.
These robots intercept the ball very easy. When they see the ball, they just go towards it, avoiding collisions with opponent robots, but insisting and never giving up, until the opponent robot looses the ball. Once they have the ball, they move towards the opponent goal dribbling the opponents (and avoiding collisions). In case they loose the ball, instantaneously start the procedure "following ball" again, just described.
When owning the ball and if the trajectory to the opponent goal is free, they kick the ball trying to score a goal, but they continue following the ball in case it does not enter the goal.
This teamís goalie is different from the other players only what concerns the direction of the wheels. These are rotated 90 degrees in order to be fast defending the goal rather than moving towards the front. The goalie software is very simple and consists of looking and observing the ball all the time. That is possible with that convex mirror. It then moves sideways in order to keep its body always in the ballís direction no matter how distant this is. When the ball approaches, the goalie kicks the ball with its arch rotating its body, doing a movement like a tennis player with its racket. This movement is very beautiful and improves the quality of the game. This technique not only avoids a goal but also kicks the ball far away from its goal.
Since these robots always have an eye on the ball, their reaction is very simple and efficient. Once they have the ball they go towards the opponent goal in order to score, and avoiding obstacles. If, for some rare reason they don't see the ball, they start moving in a spiral until they see the ball (avoiding the walls, of course).
As main conclusions it can be said that the image processing developed and used by this team as well as the YUV filters are the most important characteristic. The robots used communication allowing co-operation between them. Video transmission is done only for debugging purposes being not necessary for the game. The robots are very simple and were all built from scratch. The robot movements are very smooth and confident.