The color-based detection algorithm returns an unordered list of robots for each frame. To be able to control the robots, the system must associate each detected robot in the field with a robot identification.
Each of the robots is fitted with the same color tops and no attempts are made to differentiate them via color hue. Experience has shown that, in order to differentiate five different robots by hue, five significantly different hues are needed. However, the rules of the RoboCup game eliminate green (field), white (markings), orange (ball), blue and yellow (team and opponent) from the list of possibilities. Furthermore, inevitable variations in lighting conditions over the area of the field and noise in the sensing system are enough to make a hue-based detection scheme impractical.
With each robot fitted with the same color, visually, all robots on the same team appear identical to the visual system. Data association addresses the problem of retaining robot identification in subsequent frames. We devised an algorithm to retain association based on the spatial locations of the robots.
We assume that the starting positions of all the robots are known. This can be done trivially by specifying the location of the robots at the start time. However, as subsequent frames are processed, the locations of the robots change due to robot movements (due to controlled actions or adversarial pushes). Association can be achieved by making two complementary assumptions: 1) Robot displacements over consecutive frames are local; 2) The vision system can detect objects at a constant frame rate. By measuring the maximum robot velocity, we know that in subsequent frames, the robot is not able to move out of a 3cm radius circular region. This knowledge provides the basis of our association technique.
These assumptions provide the basis to the minimum distance scheme that we devised to retain association between consecutive frames. During consecutive frames, association is maintained by searching for objects within a minimum displacement. Current robot positions are matched with the closest positions from the previous frame. Our greedy algorithm searches through all possible matches, from the smallest distance pair upwards. Whenever a matched pair is found, it greedily accepts it as a matching pair.
Due to noise, it is possible for the detection system to leave a robot undetected. In this case, the number of robots detected on the past frame is larger than the number of robots in the current frame. After the greedy matching process, the remaining unmatched positions from the past frame will be carried over to the current frame. The robots corresponding to the unmatched locations will be assumed to be stationary. Note that if the missing rate of the detection algorithm were high and frequent, this minimum distance association technique would easily lose the robots. However, this greedy algorithm was used in RoboCup-97 successfully, showing its reliability when combined with our accurate and robust vision detection system.