Fool Options


Team Members:  Paisarn Sonthikorn, Sataporn Pornpromlikit, and Gap Thirathon

Link to the main page: http://web.mit.edu/6.270/www

           


 

Initial Strategy:


Our initial strategy is to have our robot move repetitively in a U-shaped path along the wall in the opponent's side, and on its way, sweep all the balls into our own side. However, the force and speed of the robot have been critical factors in this strategy. The faster the robot can move, the more rounds it can turn back to collect the rest of the balls left out in the opponent's side, while the sufficiently strong force is needed to be able to drive at least two or more balls along the way. After some trials, it appeared that the robot might not be fast enough to make the second round of the routine if it would have to drive three balls along.

 

Finalized Strategy:


Since we realized that the robot might not be able to make the second turn using the initial strategy, we decided to break our strategy into two main steps:
1) Quickly move the nearest ball on the opponent's side into our side.
2) Come back to sweep the balls left out on the opponent's side, including the balls that might fall from the center of the table.

In additional, our robot also uses the beacon to detect where the opponent might be on the table in order to reduce the possibility of bumping into it and to choose a reasonable choice of channel it should move through once the balls have been collected.

 

Physical Features:

Wheels Double small wheels on each rear side (left & right) , and one small wheel in the middle front.
Arms Two arms. One on the front left, and the other on the front right. Both arms are initially kept vertical by the upper front servo, and will be released once the robot has moved sufficiently far from the start point. Each arm has major lego parts with a connection that can bend for certain angles.
Body The body, from the upper view, is in a square shape with arms connected from the upper right and the upper left corner.

 

Electronic uses:

Upper front servo This servo is connected to the arms by using rubber bands.  After the robot makes turns to the opponent side and move forward a bit, this servo will spin and release the arms, which at first are positioned vertically relative to the robot's main body.
Bottom front servo This servo is used to make the front wheel turn in a specific angle. Front distance sensor:  This sensor is intended to detect the opponent. After reading how far the opponent is from the front side of our robot, the program will command the robot to move forward in a pre-specified distance.
Front distance sensor This sensor is intended to detect the opponent. After reading how far the opponent is from the front side of our robot, the program will command the robot to move forward in a pre-specified distance.
Right distance sensor This sensor is used to the measure the distance from the right side of the robot to the wall.  The sensor is particularly helpful when used with the line following strategy.
LEDs and photo resistors There are four pairs of LEDs and photo resistors.  They was attached a lego plate, which was adhered to the bottom of the robot's main body.  We call those pairs of LEDs and photo resistors as follows: Left, Middle, Right and Back. Middle pair is used to detect the start light. Left, Right, and Back pairs will detect the colors of the platform area right underneath the robot.  There outputs will help the robot detect whether it has to make a turn and how big the angle is (in this case, it can be 0, 90, 180 or 270 degrees.)
Beacon A beacon is put on small lego plate that was glued at the end of a pole.  It is located around 17 inches high from the bottom of the contest platform.
Shaft Encoders There are two shaft encoders used in our robot.  One is in the left, and the other is in the right of the robot.  Both are located just on the gearboxes.
Button switches There are two at the end of the arm on each side.  This switches are intended to give a signal to the robot whether it move to the right/left too much.
Roller switches The are two at the rear left and rear right corner of the robot.  They detect whether the rear side of the robot hits the wall or an obstacle or not.

 

Drive Mechanism:

Our design use the Differential Driving Mechanism which allows the robot to make a right-angle turn. It will be composed  of two driving wheels responsible for driving the robot and making  a right-left turn, and a turnable supporting wheel attached to a survo in the front.

 

Wall-following Mechanism:

This mechanism utilizes two bumper sensors attached at the end of the left and right hands of the robot. The robot will turn away from the wall whenever either of the two bumper sensors bumps to the wall.

 

Line-following Mechanism: 

This Line-Following mechanism, also based on the feedback system,  utilizes three Light Sensors attached at the bottom of the robot and a distance center on the right side of the robot. The same set of Light Sensors are also used to determine the orientation of the robot.

 

Code Features:

The program that control the robot is written in Interactive C (IC). Below are the link to the actual codes and description about what each file does.

 

How it was fared in the contest:


Although we have quite an early exit in Round 3 of the competition, our robot performed reasonably well in overall given the fact that we won the second place in the Mock Contest. With some luck and better draws, we could have gone so far in the competition. In fact, we got the worst draws we could possibly have in both Round 2 and Round 3, and not even had a chance to score a point. It was the final round of the Mock Contest when our weaknesses were clearly exposed. First, the robot arms were initially designed to only sweep the balls along the wall, and thus, they are not the best choice for the first step of our strategy where the robot has to turn 180 degrees with the ball away from the wall. To be able to contain the ball properly, we have to make a series of small turns which takes some time and is not truely reliable.  Secondly, against the fast active robots, there is a high probability that our robot could be blocked at the early stage and stop moving.

 


Last Modified: Feb 13, 2001