Abstract

This paper describes the robot soccer initiative of the Singapore Polytechnic, designed to participate in the Robocup-99 held in conjunction with IJCAI in Stockholm, Sweden. The system consists of four medium sized autonomous robots, each carrying its own perception system and on-board processor. The perception system includes an on-board vision system and infrared transceivers to collect environmental information such as the presence of a wall, obstacle (robot) or ball. The micro-controller used is the Intel 80196KC. The environmental information collected has to be processed to enable a quick decision on the required action of the robot. The reaction of the robot may be to avoid an obstacle, approach a ball, block the ball (in the case of the goal keeper), and to pass, intercept, dribble or shoot the ball.

Paper

Robot Soccer System (Wisely)

Electronics and Communication Engineering Department Singapore Polytechnic 500 Dover Road, Singapore 139651 Email: snghl@sp.edu.sg

Introduction

Robot soccer system involves multi-agent collaboration on a real-time platform. Real time constraints include the perceptual ability to identify quickly whether an obstacle is a robot, wall or ball. The intelligence required to make prompt decisions to actuate the motion control scheme of the robot is another time critical element in this dynamic environment as ball, and robots are constantly moving. The ability to meet these real-time constraints is crucial to a successful game. Each of these mobile robots is independent with their own autonomous behaviour and yet they must act in concert to perform a common task.

The perception system consists of infrared transceivers and an on-board vision system. The infrared sensory system enables the robot to "see" the walls and the opponent's players and activate the obstacle avoidance control strategy. The on-board vision system enables the robot to "see" the ball and the goal areas. A hunting strategy is actuated to look for the ball if it is not within sight. Likewise, actions such as interception, dribbling, and shooting are initiated based on the decision made.

Figure 1 Overall System Structure

System Architecture [2]

The Robocup F2000 category is played on a surface the size of 9 standard table-tennis tables. Each team is composed of up to 4 robots inclusive of a goalkeeper. The maximum size of a rectangular robot is 450 square mm. The soccer ball is a FIFA standard size 4 Futsal ball. The general robot architecture is shown in Figure 1.

Robot Structure

The players were constructed on a radio controlled Nikko “Hercules” toy car. The physical structure and transmission system remain unchanged. The goalkeeper was custom-made. Controls of the players and the goalkeeper are based on the Intel 80196KC microcontroller.

The players

Hardware

An Intel 80196KC microcontroller resides at the heart of the hardware. Its role is to collect information from all the player’s sensors including the on-board vision system and, with the information collected, control the motors so that it can move in a purposeful and controlled manner. The 80196KC was chosen because it has 3 Pulse-width modulated outputs with which the motors can be independently controlled.

One of the main modifications made to the RC car was to change its driving motors to ones with both higher efficiency and capacity. With them, a single chip motor controller became feasible and the hardware of the motor driver became considerably simpler and hence more reliable. The A3953SB motor driver chip was chosen. The speed of the motor was controlled by Pulse-width modulated (PWM) signals supplied by the micro-controller. An encoder emitting 200 pulses per revolution was used to close the control loop of each motor.

Each player also carried an on-board vision system consisting of a camera and a vision card. This vision system is able to determine the position of the ball and the 2 goal areas relative to the player by colour recognition. It supplies the microcontroller with the co-ordinates of these 3 objects in a pre-determined format, which the microcontroller then uses to move the player.

In order to determine the general direction of the opponent’s goal, a digital compass was also included on-board. After the initial directional setting was input, the player would be able to tell if it was facing its own goal or otherwise. This would prevent the player from scoring an inadvertent own goal. It would also allow the player to move towards the opponent’s half without actually sighting the goal.

To ensure some amount of co-ordination among the players – e.g. they do not all rush for the ball at the same time – all players report what they “see” to a central strategy computer via a wireless transmission link. Based on information received from the 3 players, the strategy computer will determine which player will go for the ball. This is done by issuing the player nearest the ball with the permission to move. All the other players with no permission to move will stay in their place. A summary of the hardware configuration of the player is shown in Figure 2.

Figure 2 Hardware Configuration for Players

Software

The software in the microcontroller is written in 80196KC assembly language. Its task is to collect all the information available from its sensors, and then control the motors to move the player in a manner that is both purposeful and useful.

When the vision system does not detect the ball, each player will look for the ball. It does this by rotating its body on the spot. If it detects the ball, it will send the co-ordinates of the ball (and the goal area information if this is also available) to the central strategy computer via the wireless transmission link. It will not approach the ball unless it gets permission to do so from the strategy computer.

If permission is granted, it will approach the ball. While doing so, it will also read its digital compass and look for the opponent’s goal post so that it can move towards the goal once it has reached the ball. If it reaches the ball before it can find the opponent’s goal, it will move in the general direction of the opponent’s goal as determined by its on-board digital compass. Usually, when it gets nearer to the opponent’s goal area, it will be able to sight the goal and then it will move towards it.

There are several other variations and movements of the player which are situation related. For example, if the player senses that the ball is trapped against the wall, it will attempt to free itself. If it senses that an opposing player is in front of it, it will attempt to avoid it.

The Goalkeeper

The block diagram of the control system architecture for the goalkeeper is very much the same as in Figure 2, except that there are a set IR sensors for alignment present.

Inputs of the environment are acquired via the IR sensors and a set of twin cameras. The main function of the 2-camera vision system is to detect the ball and to provide the co-ordinates of its location. Once the ball is in the vicinity of the goal, the goalkeeper will move and attempt to block the ball. Twin cameras are used to provide a wider viewing range.

The goalkeeper keeps track of its location within the goal area by means of position encoders and IR sensors. The IR sensors are located on a mechanical support structure at the back of the goalkeeper so that the goalkeeper can sit in front of the goal line. A set of DC motors moves the goalkeeper forward and backwards. Like the case of the player, the power and torque of the original toy car motor was found to be inadequate and had to be replaced by a bigger one. The replacement motors give the goalkeeper a quicker and a more lively response.

Vision System

The vision system is based on an RGB camera that provides the RGB signals separately. The RGB analogue signals are first thresholded and then logically combined to produce the colour signal of the targets (balls or goals). This colour signals are then analysed to find the number of lines and the position in a line which the target might appear. This information is finally calibrated to reflect the real world situation. As analogue signals are very susceptible to noise interference, as well as lighting conditions, a special noise reduction circuit is designed to stabilise the visual system.

RF-Transceiver Module

There is a basic communication system between robot and strategy PC and this is achieved through RF. The RF transceiver module is a standard product from Radiomatrix. It is designed to enable communication at up to 38400 bps including the common baud rates of 4800, 7200, 9600 bps with carrier frequency of 418 MHz or 433 MHz.

Figure 3 RF-Transceiver Module

Conclusions

In this paper, a broad description of the design and implementation of a robot soccer system is given. This robot system includes on-board infrared sensory and vision system, an Intel 80196KC micro-controller actuating two dc motors for motion control. For this robot-based control scheme, environmental information is collected, processed and a motion control action is made. The actions include hunting, shooting, dribbling or moving forward, backward, spinning etc. The success of the design depends largely on meeting the real time constraints in the dynamic environment where objects are constantly moving.

References

[1] Kitano,H. RoboCup : The Robot World Cup Initiative, Proc. of The First International Conference on Autonomous Agent (Agents-97)), Marina del Ray, The ACM Press, 1997.

[2] Ma ZM, et al Real-time Control of Soccer-playing robots and Its Team Work Strategies, Internation Conference on Neural Networks & Brain , 1998. (Accepted).

[3] Arkin, R. C., Motor Schema-based Mobile Robot Navigation, International Journal of Robotics Research, 92-112, 1987

[4] Asada et al, Purposive Behavior Acquisition for a Real Robot by Vision-based Reinforcement Learning, Machine Learning, 23: 279-303, 1996

[5] Peter Stone, Manuela Veloso, and Sorin Achim, Collaboration and Learning in Robotic Soccer, Proceeding of the Micro-Robot World Cup Soccer Tournament, Taejon, Korea, Nov. 1996

[6] Hiroaki Kitano, The Robocup Synthetic Agent Challenge 97, Proceeding of the Fifteenth Inter. Joint Conf. On AI, San Francisco, CA, 1997.