Recent Changes - Search:

TEAMS Academy Wiki

Explore TEAMS!
for visiting sophomores & juniors

Robotics

EnvBioTech

Bat Design

Assistive Tech


Students


Instructors

TEAMS Forum

TEAMS Calendar

TEAMS Web Site

Wiki Info

edit Student.SideBar

MHarradonPracticalExam

Egg Hunt Practical Exam

Michael Harradon
Team RoboScrambler using Over Easy
Egg Sorter

General Outline

  • Robot finds goal
  • Robot sets position up to deposit eggs
  • Eggs begin gathered in container
  • Eggs fed into back
  • Robot feeds eggs of team color into goal
  • Eggs of other color are dumped off to the side
Attach:OverEasy3.jpg ΔAttach:OverEasy4.jpg Δ

Attach:HarradonEggSorterFlow.jpg Δ

Planning:

Part of our group strategy requires that the robot moves towards the goal and sorts through the eggs one by one, depositing them into the goal if they are the color desired or depositing it off to the side if they were of the other color. This would require a light sensor to check the color of the eggs. A servo would be used as a gate to allow the egg to either roll out or to hold it in place.

Coding:

The first step would be to determine a method to sense the color of the egg. The difference in readings between the two colors would be very slight, so it would be important to discredit any error. This would be done by first calibrating the sensors to each colored egg when the program is run. Multiple readings would be taken and then averaged together. As each egg was then tested we could take multiple readings and average those to reduce error. Whichever color the readings averaged were closest to would be the color determined for that egg. This would be performed with multiple for loops. The robot would then spin and turn a servo to deposit the eggs either in the goal or outside of the goal, depending on what the team color was. The robot would shake between each egg in order to allow them to settle.

Debugging:

Lights were used to signify each egg color, with red being a yellow egg and green being a blue egg. This made the buttons relatively easy to use. The first problem I ran into was determining the ideal rotation for the servo and the various times to use to allow for the eggs to roll out. These shortcomings were fixed by trial and error. I also ran into problems storing the averages for the egg. I narrowed this down by using the cricket display to look at different variables as the program ran. The problem was narrowed down to the referencing of global variables, specifically eggAverage, the variable set when calibrated and compared against. I fixed the problem by localizing the variables and passing them back and forth through arguments and returns in each function.

Edit - History - Print - Recent Changes - Search
Page last modified on January 25, 2008, at 04:45 PM