Date: 09/10/09

Student Name: Hao (Hardy) He

TAs: Mike Pridgen

Thomas Vermeer

Instructors: Dr. A. Antonio Arroyo

Dr. Eric M. Schwartz

University of Florida

Department of Electrical and Computer Engineering

EEL 5666

Intelligent Machines Design Laboratory


Weekly Report 2: Informal Robot Proposal


(I got the AVRISP mkII In-system Programmer. I used AVR Studio to download a sample code through the programmer to the board. The red LED on the board blinked so the board worked fine.)

Below is my thinking about the robot I am going to build.

My robot's function is to locate a ball and hit the ball into a goal. A simple two-wheel differential drive with one caster wheel will be used. Its name is "SoccerFan". I plan to use two balls: one red and one green. Correspondingly there will be two goals: one red and one green. SoccerFan will hit the red ball into the red goal and then hit the green ball into the green goal.

It will be an flat and open field. The two goals are placed at the two ends, roughly 10 feet apart. The two balls are placed randomly between the goals. The ball (maybe made of rubber) should have proper friction against the floor, so that it won't run away crazily when being hit. That is, hopefully, SoccerFan may have more than one chance to hit a ball.

A CMU camera will be used to detect the balls and goals by color. SoccerFan likes the red ball more, so it first rotates and uses the CMU camera to locate red-colored objects. Surely SoccerFan will find two red objects. Yet since the two goals are placed at the two ends and SoccerFan always starts the game from the middle of the field, it is expected that the robot is closer to the ball than the goal. Thus SoccerFan can distinguish the ball from the goal simply by the distance. An IR range detector usually works in relatively short range, e.g. 3 to 15 inches, while a sonar works well for longer distances, e.g. 16 inches and above. In view of the fact that the distance between the robot and the ball/goal could vary a lot, both an IR range detector and a sonar are necessary.

After successfully locating the direction of the ball, SoccerFan will happily roll towards the ball. The IR range detector tells the distance between the ball and the robot, and SoccerFan should stop in front of the ball at a distance (say, 3 inches) proper for it to maneuvre. Assume now SoccerFan is at location A. Then SoccerFan uses the CMU camera to determine positions of the ball and goal again. Next, it tries to align itself with the goal and the ball in a line. It backs up from the goal, makes a 90 degree turn and finally sneaks behind (and with head towards) the ball; denote the robot's position as B. As the figure illustrates, now SoccerFan can rush to the ball and hit it to the goal.

SoccerFan will not hit the ball very hard. So if the ball does not go into the goal, at least it is getting closer to the goal. Then the above process is repeated until SoccerFan scores the red ball.

After the red ball, I will light a torch in front of SoccerFan so that its CdS light sensor can sense it and tell it to move on for the green ball. After scoring the green ball, SoccerFan will be given the torch signal again to stop.