If a robot is to accurately direct the ball towards a target position, it must be able to approach the ball from a specified direction. Using the ball prediction from the vision system, the robot aims at a point on the far side of the target position. The robots are equipped with two methods of doing so:
When using the ball collection behavior, the robot considers a line from the target position to the ball's current or predicted position, depending on whether or not the ball is moving. The robot then plans a path to a point on the line and behind the ball such that it does not hit the ball on the way and such that it ends up facing the target position. Finally, the robot accelerates to the target. Figure 3 illustrates this behavior.
Figure 3: Ball Collection-The robot computes the line from the ball to the target (line a) as well as the line through the ball and perpendicular to this line (line b). Whenever the robot is on the same side of line b as the target, it aims for an intermediate target to the side of the ball so that it avoids hitting the ball away from the target. Otherwise, the robot aims for a point directly behind the ball along line a. Once there, it accelerates towards the target.
When using the ball interception behavior (Figure 4), on the other hand, the robot considers a line from itself to the target position and determines where the ball's path will intersect this line. The robot then positions itself along this line so that it will be able to accelerate to the point of intersection at the same time that the ball arrives.
Figure 4: Ball Interception-The robot computes the intersection of the line between itself and the target position (line a) and the ball's line of trajectory (line b). The robot then positions itself at a fixed distance (D) behind the intersection point, either moving forwards or backwards to get there. Knowing the time T required to accelerate from a stopped position to distance D, and also knowing the ball's velocity, the robot accelerates towards the final target when the ball is time T away from the interception point.
In practice, the robot chooses from between its two ball handling routines based on whether the ball will eventually cross its path at a point such that the robot could intercept it towards the goal. Thus, the robot gives precedence to the ball interception routine, only using ball collection when necessary. When using ball collection, it actually aims at the ball's predicted location a fixed time in the future so as to eventually position itself in a place from which it can intercept the ball towards the target.