This chapter does not appear in the book.
Chapter 6 ended with the robot arm being able to pick up and deliver items by utilizing 3D coordinate locations. This chapter adds in a webcam and the topcodes vision library to enable things (and places) to be referred to by tag IDs. For example, the user can request that the arm moves the object with topcode ID 205 to the location marked by topcode ID 237.
The robot's working area is shown in the picture on the right. The arm is positioned at the edge of the graph paper, with its base at (0, 0), facing along the positive y-axis, with the –x axis to its left, +x to the right.
The picture includes five topcodes – they're the circular black and white pieces of paper, one of which is stuck on the top of the yellow sponge. Ninety nine different topcode graphics can be downloaded from the topcodes website; there's a few of them shown on the left.
The ID numbers below the codes don't need to be included when the topcodes are printed, the topcodes vision library identifies a symbol by its pattern of concentric circles.
The webcam is attached to a camera tripod, aimed straight down over the grid, as shown on the right.
The webcam is positioned at right angles to the grid surface, a requirement for topcodes recognition. The picture on the left shows the webcam's view of the scene.
The topcodes library can recognize codes as small as 25 x 25 pixels in an image, under a variety of lighting conditions, without the need for camera calibration. For each detected code, the library returns its ID number, its image location, its angular orientation, and diameter.