Lab 30 The Robot Competition
This laboratory assignment accompanies the book, Embedded Microcomputer Systems: Real Time Interfacing, by Jonathan W. Valvano, published by Thomsen Publishing, copyright © 2006. The robot materials were funded by a grant from Tivioli.
Goals • Design a robot that can move forward/backward, turn left/right, and collect/deposit balls,
• Interface motors, IR beacon, and sensors to the 6812,
• Implement pulse-width modulation, input capture and output compare,
• Write low-level device drivers for the motors and sensors,
• Develop a high-level control system,
• Use communication skills to work effectively as team.
To win this competition, your team must combine mechanical, electrical and computer skills. To begin, you will place your robot wherever you would like within the end zone on your side of the 3 feet by 8 feet arena. Your robot is free to move anywhere within the arena during the 120 second competition. There are 11 balls on the table, and at the end of the competition, you receive one point for every ball located in your end zone. The robot with the most points wins, so you should collect balls into your end zone while preventing your opponent from collecting balls or stealing your balls. Good strategy, skillful ball handling, knowledge of your position/orientation, awareness of your opponent, and reliability will be important. Because sensors can be unreliable, an effective solution will be robust, so that the robot acts in an appropriate manner even when presented with inaccurate input data. Good sportsmanship must be followed.
The Field of Battle
The arena is 3 feet by 8 feet, and flat. The goal lines, 1-foot lines, 2-foot lines, and center line are ¾ inch wide. The floor and the lines have contrasting colors, so the lines can be used as navigation markers. The walls are about 4 inches high. The end zone is about 1 foot by 3 feet in size, and the goal line itself is considered part of the end zone.
The (bad) Balls
The golf balls are wrapped in aluminum foil, so they will be optically reflective (it turned out the foil on the balls collected electrostatic charge, and the new wheels I bought provided a huge insulating barrier. So, when the ball touched the metal frame of the robot, the static discharge caused the microcontroller to reset). The balls will roll and bounce reasonably well. All balls are inert and have similar optical and mechanical properties. All balls have equivalent status for each robot. The balls may not be punctured, altered, or modified in any way. Balls that leave the arena will be returned to the center line as determined by the TA-referee.
Each team will choose a name for its robot (limit 20 characters.) Robots will be constructed using materials from the robot kit. Sensors include ultrasonic ranging, tactile touch, IR beacon, and reflective optical. Motors include one servo, two geared DC motors, 2 stepper motors and one solenoid. The bounding box is defined as the smallest 3-D box with 90 degree angles that could contain your robot. The footprint of your robot is defined as the floor of its bounding box. The footprint must be less than or equal to 9 inch by 12 inch at all times during the competition. The maximum wheel diameter is 4.25 inches (to limit torque to the motors).
There will two robots competing against each other, and the starting sides will be chosen at random by the TA-referee. This information will be announced during the previous game so teams may prepare their robots. The starting position of a robot defines its side of the arena for scoring purposes. The contestants will have 60 seconds to place their machines into the arena from the time the TA-referee calls them to set up. Your robot’s footprint must be completely within your end zone at the start. When both teams are ready, and/or the preparation time is over, the TA-referee says, “Go”, and you may push a button on your robot to activate your software. A robot that fails to start as expected will be awarded a False Start, and the round will be repeated immediately. Two False Starts constitute a loss, and the faulty robot will be removed from the arena and placed in a position of shame. The remaining robot will be allowed to play without opposition. The powered portion of a competition will last 120 seconds. Your robot must stop all moving functions at the end of 120 seconds, and any robot that continues to move after 120 seconds will lose the game. The game ends when both robots and all balls come to rest. The TA-referee will propose to terminate a game early if neither robot appears to be making any progress. At the end of the game, the robot with the most points wins.
The center of the golf ball must be inside the end zone area at the end of the game to be counted. At the end of the game, when points are being awarded, it does not count if a ball is inside your bounding box. You are allowed to squat, scoop, shoot, push, kick, and pick up balls during the game, but in the end, balls must be outside your bounding box and in your end zone to be counted. During the qualifying and preliminary rounds, the judges may declare a double loss, a double win, or no result, as appropriate.
Three Laws of EE345M Robotics:
The Judges Rule
The Competition Format
The contest is a three phase competition, which are qualifying, preliminary, and finals. During the qualifying round, which will demonstrated to any TA or instructor during any regularly scheduled lab on or before Friday 12/1, your robot must "beat the brick" —win a game played against an inert opponent (or no opponent)— in order to qualify for the next round. Qualified machines will then play three or four preliminary competitions, arranged at random. Preliminary competitions occur in the second floor lab on Monday 12/4 7:30-9pm. The results (+1 for a win, 0 for a tie, and -1 for a loss) of these preliminary games will be recorded and used only for seeding into the final competition. The total number of balls scored during the preliminary rounds will be used as a tie-breaker in the seedings. The final competition will take place in the ENS first floor lobby on Wednesday 12/6 and continue on Friday 12/8 1-2pm. The final competition will be double elimination, and the exact pairings will depend on the number of qualifying robots. During the finals, the judge will award exactly one winner and one loser for each round. Depending on the number of qualifying robots, some robots with a high seeding may be awarded a bye for the first set of games, as shown in Figure 30.3.
Russell Friesenhahn, Steven McSpadden, Joseph Procido, and David Rodriguez
Scoring bunches for the other team
Jeffrey Shih, Trevor Pounds, Robert Des Rosier, and
Alex Lee (not pictured)
Anil Kottam, John Poterfield (TAs)
1) Place a 2 inch high dividing fence, creating two separate arenas, to prevent the tangling of robots and grinding of my gears.
2) Remove aluminum foil, preventing the static discharge problem
3) Place 10 regular white golf balls at random on each side
4) +1 point for every ball on your opponent's side at the end of the 120 seconds, +1 point for every ball that you make go over the dividing fence and land on your opponent's side (without bouncing out). -1 point for every ball that you make leave the arena, plus that ball is returned to your side (as far away from your robot as possible).
What do you think? email@example.com