CS 1020 - Homework 3-5 - The Eight-Ball Contest

Overall Goal

Design, build and program a robot capable of removing as many ping-pong balls as possible from a playing field during a designated time period. The playing field will be a rectangular arena, inspired by a pool table, about 4' x 6' large, bounded by wooden boards (2-by-4's), and containing 14 ping-pong balls in random locations. There will be several holes ("pockets") along the perimeter, and the object is to push the balls through these holes. However, to make it more interesting, there will also be a designated black "8 ball", which may not be removed if any other balls are still present in the playing field. Since it is rather difficult for a robot to detect balls or their colors, this special 8 ball will be placed in the middle of an 14" x 14" square delineated with black tape in the center of the playing field, so that your robot can keep a safe distance. Points are scored by "pocketing" the other balls. A bright light will be mounted above one of the pockets, which will be worth more points.

Initially, your robot will be placed in a random spot in the playing field. No human intervention will be allowed once the start button is pressed. The winner is the robot that accumulates the most points.

The tentative scoring rules are as follows (these maybe refined over the next week):

The competition will be held on Friday, 1/18.

Part I (Homework 3), due: Monday, 1/14

  1. By Monday you should build some kind of ping-pong-ball-handling device that will become part of your robot. (Ping-pong balls will be supplied.) We leave it up to you what to do with the balls, but a big snow-plow-like robot that tries to push the balls around might not be very effective. Rather, you should try to gain some kind of control over the ball(s). For example: We are being deliberately vague here, because we don't want to restrict your creative potential! Whatever you build, however, you should think about how it would be used in your actual robot. Make sure your device does not get too heavy or bulky, since eventually it will need to be mounted on a mobile platform. On Monday we will meet with each group to discuss and evaluate your progress and to grade your ball-handling device.

  2. Print out your code for lab 3 and submit it at the beginning of class on Monday

Part II (Homework 4), due: Wednesday, 1/16

  1. Build a car that can carry your device and that can explore the playing field in search for balls. The focus for Wednesday should be less on the programming and more on the mechanics. Make sure you build a sturdy car that can drive and turn with a good speed. Remember some of the lessons learned during the Sciborg contest: building stable gear boxes, making sure the gear train can move freely, supporting axles in more than 1 place, keeping most of the weight over the main wheels, and using bracing.

  2. Print out your code for the sensor calibration exercise (lab 4), and submit it at the beginning of class on Wednesday.

  3. Read the Handy Logo reference manual from the reading and also revisit the reading from last Wednesday in preparation for the quiz on Wednesday. Be on time!

Part III (Homework 5), due: Friday, 1/18

  1. Complete your robot. The competition will take place promptly at 9 AM on Friday. Your robot should be ready to go including being fully charged!

  2. Print out your code for lab 5 and submit it at the beginning of class on Friday.