Cylindrical Markers

From Tekkotsu Wiki

Jump to: navigation, search

Cylindrical markers are easily fabricated from cardboard mailing tubes and colored paper. The most basic type is the bi-color marker. Using two vertically aligned distinct color strips helps to distinguish markers from random background clutter.

Examples of cylindrical bicolor markers       Create robot next to a cylindrical bicolor marker

Where to get supplies

You can purchase 2.5 or 3 inch diameter white mailing tubes from office supply stores (Staples, Office Depot), from FedEx or UPS stores, or from art supply stores. A 2.5"x24" tube costs around $2 and can be cut in half to make two landmarks.

Colored paper can be purchased from art supply stores, or Amazon.com. The important thing is to choose paper that is not shiny, because specular reflection makes shiny paper look white to the robot's camera. One brand we know works well is Rainbow Construction Paper manufactured by Pacon Corporation; a 10 color assortment can be purchased from Amazon for around $7. We have also used colored photocopier paper with good results; brand and color recommendations will be added here soon.

Assembly

Cut the mailing tube to a length of 10 inches. Throw away the endcaps. Use a pencil to mark a line 7 inches from the bottom end of the tube (3 inches from the top end).

Cut 2 inch wide strips of construction paper for each color. If you're using a 2.5 inch diameter tube, your strips should be at least 8.25 inches long; for a 3 inch diameter tube the strips should be 10 inches long.

For the BiColorMarkerData class, the widths of the color strips don't matter much, but what is crucial is the location of the gap between them. The center of the gap should be exactly 7 inches from the bottom end of the tube. (You can change this by modifying the markerHeights[biColorMarkerType] entry of your MapBuilderRequest, or the static variable MapBuilderRequest::defaultMarkerHeight.)

Wrap the bottom strip tightly around the tube so that its top edge is 6 and 7/8 inches above the bottom of the tube (3 inches below the top). The ends of the strip should overlap by about half an inch. Tape the ends together using clear tape, and use a little bit of tape to fix the strip to the tube so it can't slide up or down. Attach the second strip above the first, making sure that its bottom edge is 1/4 inch above the top edge of the first strip. This will leave a 1/4 inch gap between strips, with the center of the gap 7 inches above the bottom of the tube. Fix the second trip in place with clear tape.

Testing

Use the SegCam viewer to check that your color strips are visible to the robot under realistic lighting conditions. See the discussion of ASUS Camera Settings for advice on adjusting the camera parameters to optimize the color segmentation.

Use the LookForBiColorMarkers demo to try out marker detection. Open the camera-space SketchGUI to see the markers.

View of cylindrical bicolor markers through the camera-space SketchGUI       SketchGUI tree showing the camFrame and rawY images and three detected markers

Use the local space SketchGUI to check that the robot is estimating distance correctly based on the height of the point where the two color strips meet.

Local-space SketchGUI view of three deteced cylindrical markers Click on image for larger version