Given an image frame, respond with a message indicating:
Was cone found?
Left/right position in frame, if found.
Rough distance to cone, if found.
Quality indication. E.g., poor quality if multiple candidate cones found, or cone size is very small, or image shape is suspect.
Suggested method:
If necessary, downsample frame.
Maybe erode/dilate to remove noise.
Maybe blur.
Maybe kmeans to find interesting HSL partitions that might contain code.
HSL thresholding to find cone object.
Find contiguous interesting blob pixels.
Determine if blob has interesting shape.
Compute l/r offset in frame, ideally in degrees from center frame (needs camera info).
Estimate distance based on height or width or both.
Compute general information about detection quality (maybe). E.g., if means indicates several possible cone blobs, indicate poor quality.
The intention is that the recognizer is invoked relatively infrequently as it is probably slow. Use the recognizer to compute an orientation and speed to be used to move the robot and to advise if the cone is close enough to
Stop using GPS-only movements to get near the cone.
Stop using camera-based movements to get near the cone and invoke the move-to-touch goal.
Given an image frame, respond with a message indicating:
Suggested method:
The intention is that the recognizer is invoked relatively infrequently as it is probably slow. Use the recognizer to compute an orientation and speed to be used to move the robot and to advise if the cone is close enough to