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, and sensors to the 9S12,

                        • 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. Each robot has one switch (in addition to the reset switch) that the students can push to start the competition when instructed by the TA-referee. The reset switch (the normal hardware reset) should cause all motors to stop and will be used for safety purposes. You will push your start switch once at the start of the competition signifying the start of the 180-second competition. You are not allowed to touch or move your robot any time during the 180-second competition. No buttons are pushed on the robot during the competition.




Seil and Sandy



The Beginning and End

            Two robots compete against each other, and the starting sides will be chosen 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 students will have 60 seconds to place their machines into the arena from the time the TA-referee calls them to set up. Your robot must be touching your end wall at the start, but its lateral position and orientation are up to you. When the two teams are ready, the TA-referee says, “Go”, and each team will push its start button to activate its software. If a robot fails to start as expected, the TA-referee will award one 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 180 seconds. Your robot must stop all moving functions at the end of 180 seconds, and any robot that continues to move after 180 seconds will lose the game. The TA-referee will terminate a game early if neither robot appears to be making any progress. The TA-referee will terminate a game immediately if a robot presents physical danger to spectators, itself or the opposing robot. The TA-referee will terminate a game if any part of a robot extends more than 2 inches past the center line, giving victory to the other robot.



Jeffrey Sassen, Dicai Yang,  Aaron Pena, Michael Caroll


Valvano and Daryl



The Serve

            Service will be alternated during the course of the competition. The TA will determine which robot serves first. A service begins when the TA hands the ball to one team. A team member has 5 seconds place the ball touching the arena floor with no initial velocity or rotational energy. The TA will expect the team member to place the ball in front of their robot, so the robot can see it. Other strategies will not be allowed. The team member can not move the robot during the serve, otherwise the ball may be placed anywhere on their side of the arena.


Lorena Pesantez


Trevor Hird, Nikhil Murthy, John Rhodes, Lorena Pesantez


The Scoring

Your robot scores two points if the ball touches the end wall on your opponent’s side of the arena.  During play your robot will score one point if the ball remains on your opponent’s side of the arena for 30 seconds. This 30-second clock restarts after each serve and after each time the ball crosses one of the warning lines. After each score, the TA-referee picks up the ball, and the opposing robot will be allowed to serve. If the ball comes to a complete stop in the neutral zone, no points will be scored, and the serve will offered to the robot opposite from the one that served last. If your robot causes a ball to leave the arena, even if it bounces over an opponent’s wall or off the opponent itself, the opponent is offered the serve. If you design your robot in such manner that it deflects a rolling ball over the wall, your robot will be considered to have “caused” the ball to leave the arena. Similarly, if your robot strikes the ball causing the ball to bounce (not a smooth roll), and the ball goes over a wall, even if the ball hits off the opponent, then your robot will be considered to have “caused” the ball to leave the arena. At the end of the 180-second competition, your robot must stop all moving parts. After 180 seconds, the game ends, and no more points are awarded. The robot with the most points wins.

+2 points if the ball hits your opponent’s end wall, even if it bounces out (opponent serves)

+1 point if the ball remains on your opponent’s side for 30 seconds (you serve)

no points if you cause the ball to leave the arena over a side wall (opponent serves)

no points if you cause the ball to fly over without touching a wall (opponent serves)



Kevin Baker, David Yanoshak


The Strategy and Sportsmanship

The basic goal is to locate the ball and send it rolling to the other side of the arena. The robot is supposed to move in an intelligent manner. Your TA will not allow unintelligent robots to compete. If you are not sure what intelligent means, run your strategy by your TA. Robots designed to cause the ball to bounce or fly will be disqualified. After your robot causes the ball to move (pushes, hits, kicks, blows, punches or strikes) and before the ball hits a wall or the opponent, the ball should not be more than 1 inch off the ground. On the first and second time your robot causes the ball to fly or bounce, play is stopped and the serve is granted to the opponent (no points awarded). On the third time, your robot will be disqualified. Bouncing that occurs after the ball hits a wall or an opponent is not penalized. Robots must move and react to the ball. No pieces may be intentionally dropped by your robot. Pieces unintentionally dropped by your robot will be removed by the TA-referee. Good strategy, skillful ball handling, knowledge of your position/orientation, 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 sensor data. Your robot is allowed to squat, scoop, shoot, push, and kick the ball during the game. During the qualifying and preliminary rounds, the judges may declare a double loss, a double win, or no result, as appropriate. Good sportsmanship must be followed.     


Glen Rhodes and Esmeralda Rodriguez



Nick Paine and Chris Craik


The Ball

            The ball is 6 inches in diameter and soft. It can be reliably seen at distances up to 50 cm (±10 degrees) using the ultrasonic sensor, but not necessarily by the optical sensor. The color of the ball may vary from match to match. The ball will roll and will bounce off the walls reasonably well. The ball may not be punctured, altered, or modified in any way. 


Glen Rhodes


The Robot

            Each team will choose a name for its robot (limit 20 characters including spaces.) Robots will be constructed using materials from the robot kit. Input devices include one ultrasonic ranging sensor, one compass, multiple tactile touch sensors, and multiple reflective IR optical sensors. Motors include one servo, four geared DC motors, two stepper motors and two solenoids. The bounding box is defined as the smallest 3-D box with 90 degree angles that could contain your robot, including sensors, wheels, flippers and whiskers.  The footprint of your robot is defined as the floor of its bounding box, as shown in Figure 30.2. 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 3.25 inches (to limit torque to the motors). The maximum height of the bounding box is 12 inches at all times during the competition. In other words, your robot can not unfold so that is becomes larger than the maximums of 9in wide, 12in long, and 12in high. It is acceptable if at most one or two inches of your robot extend into your opponent’s half of the arena. Your wheels must be on the ground at all times.

The Robot


Bodycount: CJ Cline, (Eric Peters), Riffel Todd, Manish Kapadia








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 April 25, your robot must "beat the brick" —win a game played against an inert opponent— in order to qualify for the next round. During the qualifying round your robot will serve every play, but you are not allowed to move your robot during the 180-second competition. Qualified machines will then play three or four preliminary competitions, arranged at random. Preliminary competitions occur in the second floor lab on Monday 4/28 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 points scored during the preliminary rounds will be used as a tie-breaker in the seedings. The final competition will take place just outside the front door of ENS on Wednesday 4/30 and continue on Friday 5/2 10-11am. 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.


Scott Petersen and Bartley Gillan



Robin and Nachiket


Third Place and Most Intelligent Robot: "Shifty"
Kevin Baker, David Yanoshak, Mark Zucknick, Robby Morrill


Most Intelligent Robot: "Fungal Fiend"
Leiwen Wu, Wayne Yu, Si Li, Eugene Cho (Robin)



Second Place: "Awesom-o"
Bradford Wilson, Andrew Wilson, Ben Xiang, Travis Cordingly


The Champions: "The Robot"
Adam Tyler, Abel Mathew, Timothy Au, Towfighi Afshan

Pictured Valvano, Sterling, Adam, Sandy, Abel, Timothy, Seil, Towfighi, Robin



Ideas for next year's competition             

1) Place a dividing fence, creating two separate arenas, making it easier to move around without disqualifying oneself.

2) Remove compass, add some IR ranging sensors

3) Upgrade to DC motors with more torque

4) Different height walls so it is easier to tell which wall you hit.

What do you think?