Cylindrical Markers

From Tekkotsu Wiki

Revision as of 22:18, 22 October 2009 by Touretzky (Talk | contribs)
Jump to: navigation, search

Cylindrical markers are easily fabricated from cardboard mailing tubes and construction 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 where the two strips meet. This point 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 7 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 the point where they meet is 7 inches above the bottom of the tube, and fix it 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.

Use Root Control > Mode Switch > Navigation Demos > LookForBiColorMarkers to try out marker detection. Open the camera-space SketchGUI to see the markers. Control-click on camFrame and rawY. Note that the top color strip determines the color of the marker symbol displayed in the SketchGUI image.

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

Use the world 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