Team Members: Keith Battocchi, Andrew
Gregg, Taku Iida
Design:
Two Bumper
Sensors on the arms
Two Bumper
Sensors on the front sides of the robot
One sensor
inside the robot for activating the ball-catching mechanism
One sensor for
turning off the lifting mechanism
Four distance
sensors, two on each side
Two
phototransistors to determine the side that the robot is on
Two
phototransistors on the arms (one each on each arm) to determine the color of
the ball
Two shaft encoders,
one on each of the two wheels.
Two motors to
lift the ball
Four motors to
move the robot, two on each side
One servo for
rotating the arms
One servo for
helping the robot rotate smoothly and accurately
One servo for
rotating the four small arms of the ball-catching mechanism
General
Strategy:
1. Using the two phototransistors on the
bottom of the robot, we determine which side of the board we are on. With this information, we also determine the
color of our balls.
2. The robot makes its way towards using
shaft encoding. After a given number of
rotations, the robot slows down.
3. Now using the distance sensors, the robot
position itself a given distance away from the wall.
4. The robot keeps on moving slowly until at
least one of the two front balls touches one of the two sensors on the
arms. Once one of the ball touches one
of the balls, the robot very slowly rotates itself towards the other ball.
5. Once both of the sensors are touched, two
phototransistors determine the color of the two front balls.
6. If the front ball that is closer to the
center of the board is our color, the robot will try to retrieve that
ball. Otherwise, if the front ball that
is closer to the wall is our color, the robot will try to retrieve that ball. If neither of the front two balls is our
color, the robot will try to retrieve that the back ball that is closer to the
center.
7. Once, the robot determines which ball to
go for in step 6, it uses shaft encoding to slowly make its way toward the
ball.
8. During the retrieval, if the sensors on
the arms are touched, then it closes its arm slightly to increase the chance of
the ball going into the robot.
9. Once the ball touches the sensor inside
the robot, the lifting mechanism is activated.
The lifting mechanism closes the four short arms using a servo to catch
the ball, then lifts the ball using two motors until the it lifts the ball high
enough to turn on the switch, at which point, the lifting is stopped.
10. The robot now makes its way toward the middle
plateau using the wall following method, which uses the distance sensors on the
sides.
Summary:
We first tried line following but after facing many problems
trying the method, we decided to use the wall-following method instead by using
four distance sensors, two each on both sides.
Although the wall-following method was somewhat successful, we tried to
speed up the robot by implementing shaft encoding. In the end, we implemented both wall
following and shaft encoding.
We also tried to put the ball in
the cup, but gave up that idea as we ran out of time and realized how hard it
would be let the robot figure out where it is after it retrieves the ball.
It took us a long time to perfect
the retrieving of the ball. The robot
generally positioned itself well enough to determine which ball it should be
retrieving, but with three other balls being around, it took us a while to
figure out a way to accurately make the robot rotate and move itself towards
the right ball.