Logan's Hastily Thrown Together Method

From RoboJackets Wiki
Revision as of 19:59, 15 April 2006 by LoganS (talk | contribs) (Creation of first part.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This method will operate using a computer vision system by breaking up all incoming data into segments (perhaps 64 by 64). The idea is that we know where in the vision field that a certain segment sits. Each segment will report whether it is seeing a barrel, a line, or nothing threatening. Thus, we have a basic map of "dangers" in our field of view. The navigation will then make assumptions about each segment based on which are reporting dangers.

Arrangement of Camera

The camera should be arranged so that the horizon is not visible directly in the image. From an initial trial with the JVC Camera, it appears that tilting the camers about 30 degrees below its x axis (assuming the x axis is running through the lens and out the back of the camera). This should give the camera approximately 3 meters of depth in its forward view.

Creating the Danger Map

An algorithm will cycle through each image looking for line and barrel detections. If a barrel is reported in that segment, then that segment is flagged as containing a barrel. If a line is reported in the segment, the segment is reported as containing a line. The general method should look like this:

  1. Scan entire image for barrels.
  2. Scan entire image for lines.
  3. Scan through segments checking to see if a line or barrel was detected in that segment (this would be done by checking the line map and barrel map at those points in space).
  4. Assign values that stand for lines (0), barrels (1), or nothing of interest (2).

Priorities

Certain segment groups will have more priority than others in terms of which way the drive system should cause the robot to move. Typically, the bottom will have more priority than the top. Also, middles will have more priority than left and right. Perhaps some sort of "drive queue" with an agenda for the drive system could be created, which high priority needs being met first. And perhaps, if a high priority need arises while a low prioty is in action, it will jump into the queue and take over.

Assumptions from Danger Map

Items in Top Left

  • Line - We are on a straight course. This does not influence the drive system.
  • Barrel - We are approaching a barrel to the right. This does not influence the drive system.

Items in Top Middle

  • Line - We are driving into a line. The robot should turn until the line is no longer detected here.
  • Barrel -

items in Top Right