The goalkeeper robot has both special hardware and special software. Thus, it does not switch positions or active modes like the others. The goalkeeper's physical frame is distinct from that of the other robots in that it is as long as allowed under the RoboCup-97 rules (18cm) so as to block as much of the goal as possible. The goalkeeper's role is to prevent the ball from entering the goal. It stays parallel to and close to the goal, aiming always to be directly even with the ball's lateral coordinate on the field.
Ideally, simply staying even with the ball would guarantee that the ball would never get past the goalkeeper. However, since the robots cannot accelerate as fast as the ball can, it would be possible to defeat such a behavior. Therefore, the goalkeeper continually monitors the ball's trajectory. In some cases it moves to the ball's predicted destination point ahead of time.
The decision of when to move to the predicted ball position is both crucial and difficult, as illustrated in Figure 8. Our current decision function is as follows:
Figure 8: Goalkeeping--Ideally, the goalkeeper should always be even with the ball's y coordinate. However, since the robot cannot accelerate as quickly as the ball can move, it must sometimes move to the ball's predicted location. Such a case is illustrated by ball A: The goalkeeper should move to the dotted position. On the other hand, ball B indicates a situation in which the goalkeeper should not move to the ball's predicted location: were the goalie to move to the dotted position, an opponent could easily intercept the ball into the goal. Thus, we needed to create a decision function to choose between following the ball's y coordinate and moving to the ball's predicted location.