Home :: Project Code :: Pictures :: Videos

 

Project Description:  

The group’s objective was to begin work on coordination of multiple segbots.  The two segbots used in this project were named Adam and Eve.  The overhead camera could be used to determine each segbot’s position and orientation in the course.  Information from the overhead camera was sent over the network to a computer connected to the wireless modem.  This modem was then used to send the overhead camera data to each segbot based on its MAC Address.  Position and orientation data was calculated locally on each segbot as well.

 

Team Members:
Mike
Koji
Eric
Dave
Chris
Michael Brandt
Koji Intlekofer
Eric Mog
David Tilford
Chris Valicka

 

Compvision:

The C++ program Compvision was used to process data from camera and send appropriate process data to the segbots.  The C++ compiler and visual development environment was provided by an OpenSource developer's platform called Qt. The program uses the 4 different colors mounted on the robots to determine their postion and angle in the camera view. It was also set up with calculations to translate these values from a pixel postion to a tile position on the floor. Compvision allowed for three different modes for the segbots.  The first mode allowed for a user to select waypoints for each segbot to follow by clicking on the picture from the overhead camera.  The second mode set the segbots to a formation following mode.  Adam could be commanded to navigate to waypoints set by the user and Eve would then follow Adam’s path.  The third mode available through the C++ program was a coordinated object scan.  The two segbots coordinated with the use of a laser distance sensor to identify and then move to an object.

 

Waypoint Following:
The first mode commanded the segbots to move to waypoints set by clicking on the compvision camera picture.  The C++ program allowed waypoints for both Adam and Eve to be set.  More than one waypoint for each segbot can be set at a time.  When the segbot reaches its waypoint, the waypoint is cleared and the segbot will either approach its next waypoint or wait for a new waypoint.

 

Formation Folowing:
The second mode allowed for formation following.  By setting the C++ program to this mode, waypoints could be set for Adam.  Adam would then move to the assigned waypoint as in mode 1.  Correspondingly, Eve would follow Adam’s movements to his designated waypoints.  In order for Eve to follow Adam’s movements, Adam’s current local coordinates are sent over the wireless modem every second.  If Adam and Eve’s positions are within two tiles of each other, a collision avoidance algorithm was used to prevent Eve from colliding with Adam.

 

Laser Scanning:
The third mode coordinated a laser and color-camera attached to each segbot.  Pictures were taken with the cameras periodically with the laser on and off.  Pictures taken with the laser off were subtracted from those with the laser on to determine the position of the laser in the camera image.  The two segbots positioned themselves at a predetermined location and then turned slowly toward each other in an attempt to scan for objects.  Changes of the laser’s height in the picture were used to determine whether or not an object existed.  Once Eve located an object, she sent her position and orientation to Adam.  Upon receiving this information and once Adam found the object, he used both his and Eve’s position to triangulate the position of the object and then move to it.