IntroductionAfter an intense game of pool, the last thing anybody wants to do is waddlearound the table to pick up all those balls, move them to the front, and try to figure outwhich one goes where. I know I just want to sit down, relax, have a drink, and rest up forthe next round. Sure you could hire an illegal immigrant to do it for you, but think of thelegal implications. Wouldn’t it be better if there was a robot that could do all this for youand make you the envy of every Joe on the block? Enter Rack Attack, the first (maybe?),fully functional (not really), fully autonomous, pool ball retrieving and racking robot.Rack Attack can and will identify all colors of standard pool balls, and it candetermine if they are a stripe or a solid. It can pick up pool balls with its robotic arm, andrack them in predefined positions. It can also drive along a wall, and stop if it comes toan opening like a pool pocket.Rack Attack has also been special constructed to be gentle on your pool table.The end of the arm has a gentle silicone vacuum cup for retrieving the balls, and the drivewheels are plastic with rubber tires. Additionally the platform of the robot sits slightlyabove the railing of standard tables. All this careful planning ensures that no metal, orno sharp edges will ever touch the table.The rest of this paper will explain how Rack Attack does what it can. First howthe system as a whole functions together will be discussed, and then all of thecomponents will be explained inpidually. Integrated SystemRack Attack is controlled by an ATmega128 microcontroller on a Mavric IIBdevelopment board purchased from BDMicro. 49554
The Mavric IIB board was recommendedto the class, and it’s capabilities were well suited for the needs of Rack Attack. Themicrocontroller board is interfaced with everything on the robot, all the sensors, the LCDscreen, the servos, and three relay switches. Figure 1 below displays how the variouscomponents interact and communicate. BumpIRLongIRShort RightWheelRelayATmega128 LeftWheelServoBatteryAtmegaBAttery Arm VacuumBatteryRelay CDS/LED Relay LEDBattery Figure 1The basic operation of the robot is as follows (for the ideal case):1) Turn on2) Two short range IR facing left take distance measurements3) One long range IR on the front and one on the back also take distancemeasurements.4) These IR sensors are calibrated on startup5) Using the side distance measurement, and some programmed constants,the arm moves to the pocket to extract the balls within.-The arm is powered by 5 servos.6) Bump sensors on the end of the arm tell the robot when it has reached aball 7) Then the relay for the vacuum pump battery is enabled, and the vacuumturns on so the ball can be lifted by the arm.8) The ball is moved to a box that contains five LEDs each paired with aCDS cell. These five sensors shine 7 different colors of light at the balland each take a reading for each color.-This information is used to determine what color the ball is.9) The ball is moved to its position in the rack.10) Then the arm goes back to the pocket to look for more balls.11) If no more balls are left in the pocket, then the robot moves on to the nextpocket.12) The robot uses the front and back IR to tell it when to turn.Mobile PlatformThe Platform was constructed entirely out of aluminum since it needed to besturdy, and light. There is a large triangular shaped hole cut out in the center where theballs are racked. Since this hole spans almost the entire width of the robot, aluminumwas the best choice to provide rigidity, and to keep weight low. The platform sits on fourwheels. Two up front that drive the robot (each has its own servo), and there are twocastors in the back. The castors were placed a few inches from the edges of the robot tohelp the robot have good stiffness where the arm would be positioned (in the center).There is a partition in the racking space that snuggly fits all the balls. It was made out ofaluminum as well, and it many walls were attached with aluminum brackets that wereglued to partition panels. There is also a box made out of aluminum on the robot wherethe color sensors are housed. This was done to keep them away from the light so theycould take accurate readings.The IR sensors are mounted on the bottom of the robot. This is so they can seethe walls of the pool table, since the platform sits higher than the rails do. There are alsomany less wires on the top, than on the bottom. Two bump sensors are on the back edgeof the robot to tell it to stop when it is backing up to a pocket.The platform was made square so it would be easy to deal with its geometry, butit was kept as small as possible, since it needs to be big to accommodate all the balls andthe hardware. The arm was placed at the back middle so it could easily get to the pocket,the color sensors, and the rack, in a sequential type of movement. ActuationRack Attack is driven by two servos, one in each of the front wheels. They arethe same servos, and they have been modified to run 360 degrees continuously. They gettheir signals from the microcontroller in the form of PWM signals. They are driven by aseparate battery from the board.. This is because I wanted to make sure there was enoughpower for the servos, and the microcontroller, and I didn’t want the servos to overload theboard with current. The servo battery is activated using a relay that is switched on fromthe board. One of the servos is rotating forward, and one is rotating backward, so it wasdifficult to find the matching PWM signals that made them both run a similar speeds.The servos don’t move as fast as motors would have, but that is the reason I chose them. Iwanted the robot to move slow and controlled.There is also an arm, which is used to move the balls around. The arm has 5servos, 4 degrees of freedom and one vacuum cup attached to a vacuum pump. Theseservos are also controlled by PWM signals sent from the board. The physical size of thearm was decided first based on necessity of function, and then based on the weight of thecomponents and the weight of a pool ball, the various servos were given necessary torqueratings , so I knew what I needed to get to make it all work. I used servos all from thesame company, HITEC, so that way I knew they could be controlled similarly and thattheir specifications would have been calculated similarly.The arm has one servo at the base to rotate the arm. This servo is the weakestsince it has the smallest load. The shoulder of the arm has two servos working in tandem,and these servos are high torque digital servo. The elbow has the same servo that theshoulder does. The wrist has a slightly weaker digital servo, but it is still very strong.The digital servos have about 150 degrees or rotation while the analog servo in the basecan rotate a full 180 degrees.The vacuum cup at the end of the arm is connected to a vacuum pump, that ispowered by a 12VDC battery whose activation is controlled by another relay switch thatis controlled by the microcontroller. The Vacuum pump is a swing piston type, and it has300 mbar absolute ultimate vacuum, which is more than enough to lift a six ounce poolball near sea level. 饲草机英文文献和中文翻译:http://www.youerw.com/fanyi/lunwen_52577.html