Vision - Localization

Localization is the question: Where is the robot on the competition field? The motivations for this question are:
  • Was this area searched already?
  • Where is the starting platform from here? Or, what is the path from here to the starting platform?
  • What is the path from this location to a reported sample?
A general outline of the robots activities with respect to localization is:
  1. After power-on identify the location of the starting platform.
  2. Search for samples, tracking the locations that are being searched.
  3. Identify the location of samples.
  4. If a swarm with collector robots is used, what is the location of a collector robot?
Fundamentally, the robot location is needed in order to move from one position to another. The location in most cases does not have to be accurate since once the robot is close to the desired location vision can be used to adjust the movement of the robot. For example, if a collector robot is dispatched to retrieve a sample once it is close enough to see the sample vision can guide the movement to the sample. Similarly, if the robot gets near the starting platform it can climb onto it using vision guidance. 

Searching requires more accuracy, and more precision, to assure that all of the competition area is searched. A searcher is looking at an area 2 m x 3.3 m (6.6 ft x 11 ft). The 2 meters is the depth of the vision field so is not critical for localization. The width is critical. A quick test using a camera finds that 3 m in front of the camera the width of the vision field is 4.2 m. That indicates the search path must be within 0.9 m (4.2 m - 3.3 m) of the previously searched area. With two cameras the vision field is increased to 8 m, rounding down to allow vision field overlap. (Since the cameras are now angled slightly outward the field of vision may actually me more but lets just take that as a unrecognized bonus.) Now the  search path must be within  4.7 m (8 m - 3.3 m).

Lets illustrate that more directly. The robot is following a line 10 meters from a boundary. The searched area is the from 6 meters to 14 meters (10 meters ± [8 m / 2]). The next pass in the search cannot be beyond the 18 meters line,  scanning the area from 14 meters to 22 meters. It can follow the line at 14 meters and still cover the minimum required search area that is 3.3 meters wide. The next line then needs to be at