"Twitchy" was designed to complete all the contest objectives within one trip around the course. To direct the robot in performing its tasks, our code implemented two state machines: a high level state machine that determined the robot's current objective, and a low level state machine that chose the appropriate behavior to complete that objective.
The robot was fitted with a gripper to manipulate the soda can, supported by an arm to move the can out of camera range while searching for golf balls. Golf balls were sorted by color upon collection, and released into the designated areas using a revolving door mechanism. In addition, if the robot was unable to pick up all 5 golf balls, we added code to have the robot go around the course a second time to find any remaining balls.
After picking up the soda can, our robot uses the LADAR to correct its angle at the origin. To do this, our robot goes to the origin and searches for the minimum distance to the wall within a range of values in the front of the robot. If the angle at which the minimum distance to the wall was measured is not 90 degrees according to the dead-reckoned angle, then the angle value is corrected.In addition, the LADAR is also used as an effective wall following device. Our robot checks a 90 degree left and right LADAR value, depending on which wall we are following, and keeps that value within a small range. This allows the robot to travel in a straight line next to the wall. In addition, our robot uses a front LADAR value to check the front wall and determine when the robot must turn.
We designed our gripper and golf ball collecting mechanism using Autodesk Inventor and printed the parts using a 3D rapid prototyping machine. Our soda can gripper was made using two servos. One servo would open and close the claws of our gripper and the other one would move the gripper from the front of the robot, to the side where it was out of the way of sensors and golf balls.
Our robots golf ball collecting mechanism consisted of 3 slot revolving door that would allow us to gather all the golf balls with one servo. In addition, this mechanism could revolve either way to open the correct slot for each of the two respective colored golf balls.
As pictured above, the robot has two compartments for golf balls. The compartments walls are on a single pivot point so that when one compartment opens, the other compartment's golf balls are trapped in the back. As pictured, the top compartment is for orange golf balls and the bottom is for blue golf balls.
The gripper is made out of gray plastic and has the ability to move to the side of the robot so that it does not hinder any of the ball collecting or sensor readings.