TEAM AWESOME
How
our robot solved the course:
First, our robot remained
stationary for 12 seconds to give time for everything to initialize. After
initialization, the robot circled clockwise until it saw the red soda can and
centered in on it. Once it centered in on the can, then the robot slowly
crept toward the can and grabbed it with the gripper. After grabbing the
can, the robot entered the course using the provided x-y code. The robot
moved to a position near the center stationary light. As
the robot moved to the desired position it used vision to center in on the
stationary light. After the light was found, the robot slowly crept
toward it until it got close enough to trip the sensor. Then the robot
spun around to see which stationary light came on (right or
left). Using x-y code, the robot approached the appropriate stationary
light. Once close to the wall, the robot would enter into wall following
until it got to the center of the course just north of the moving light.
During its journey to the moving light the robot also tripped the required
sensor. Then, using x-y, the robot entered the "box" containing the moving
light. Using vision the robot slowly approached the light and then stopped
when it came within a certain distance of the wall (gauged using the front IR
sensor). Then the gripper dropped the can off in front of the
light.
After the can was
dropped off, our robot began collecting golf balls. To collect the golf
balls, the robot moved out of the "box" using x-y while avoiding the topmost
golf ball location. Once the robot left the "box", it began right wall
following. During right wall following the robot searched for the orange
golf balls. If a golf ball was found, the robot centered in on the golf
ball and then attacked the ball after calculating the distance the ball was away
from the robot. An actuated door on the front of the robot was used to
store the golf balls under the robot's chassis. After collecting a golf
ball, the robot would go back to right wall following and continue to search for
more orange golf balls. If the robot came to the entrance of the course,
x-y code was used instead of wall following to transverse the gap. The
robot indefinitely circled the course until it found all 3 orange golf balls,
though it usually found them all after one or two passes. Once all the
orange golf balls were found, the robot continued to wall follow until it neared
the entrance of the course. Then, using x-y, the robot navigated to orange
ball depository. At the depository the robot spun around with the door
open to ensure that the golf balls rolled over the marked area. After
depositing the orange balls, the robot entered the course again to look for the
blue balls. The blue balls were collected and deposited in the same manner
as the orange golf balls. After depositing the blue balls, the robot
demonstrated its victory dance!
Some
thoughts:
Everyone in the group spent lots of time in the
mechatronics lab to make the project happen. Even though we all spent
more time in the lab than we'd ever imagine, none of us really minded it as that
was also time to build camaraderie within the group. There were times
when we were all maddingly frustrated with the robot. In the end,
though, we all learned quite a lot about mechatronics and we all enjoyed the
course.
Special thanks go
out to Dan Block, Carlos Montesinos, and Chris Valicka for all their
help (and patience).
Team
Awesome: Clockwise from top: T.J. Winter, Brad Baillio,
Sean
Costello, and Matt Goldenberg.
Files
Our
C code
Our VB code
Video of our robot in action