MIT 6.270 Autonomous Robot Competition 2008 Team 15

banner

Design | Strategy | Building | Coding | Final Competition | Tips to future contestants

Design

Views of our Robot
robotsideview top view bottom view

 

Our robot is a two wheel drive robot whose front end is supported by 2 casters. Its dimensions are 9" wide by 9" long by 11" tall. We have three motors driving a single gear to provide three times the torque as a single motor. The gear ratio we chose from motor to wheel was 25 to 1 to allow for high speeds. Our shaft encoders are reading at motor speeds to help with the accuracy of our guidance system.

Strategy

Our strategy was to be able to quickly move around the table, and place our balls in our bins before our openents could get out to block us. We were going to use a positioning system that allowed us to drive directly at the goals. The basic idea is that we would drive directy for the 4 bin, deposit balls, move to the 1 bin, deposit balls, move to the 2 bin, deposit and finally move back to our starting location and move out they skunk ball. We wanted to be able to detect the goals and correctly line up with the side mounted leds but this never worked as well as just moving to a position using only encoders.

We thought we had a reliable scoring mechanism in which balls were placed on ramps and released one at a time by a servo connected to a claw, but since the robot didn't end up right next to a goal, most of the balls missed the goal. In retrospect, it probably would have been better to build a shooting robot that could shoot balls from a farther distance so that it wouldn't have to line up against a goal.

Building

We built the main frame of our robot in the first week of the class, but we kept modifying the gear train and the wheels to improve the robot's performance. Every part of the robot was carefully thought out and put together; if something fell apart when we touched it, it wasn't stable enough and we rebuilt that part. I don't know about my teammates (since they both did robotics before), but at least I discovered that the order in which things were built really mattered. For example, we couldn't put the brushing on the axle until we pushed the axle through the beam first. And every detail mattered. We discovered that our shaft encoder was grinding against our breakbeam sensor less than a week before the final competition, so we had to take out our encoder and grind them down with sandpaper to make them not rub against our breakbeam sensor. One problem we discovered with Legos was that it was really hard to make a round robot that could turn itself next to a wall and not get stuck. Using metal would have given us more flexibility with robot design but it would have taken much longer to go machine the parts.

Coding

We had to come up with a basic structure of our code before we starting writing any code, and we boiled everything down to a couple of steps. First the robot would determine its orientation and starting location using three LED's on its bottom, then it would turn to the right angle and move to the 4 bin. We wanted the robot to line up against the goal at first, but that part of the code proved to be too hard to implement that we decided to discard it. For one thing, the infrared LED's gave imprecise readings if we were more than 3 centimeters from the wall and the rolling bump sensors didn't have much reach, so they didn't give the robot much room to manuever itself along the wall. If we had better LED's, longer bump sensors, and a rounder robot, then maybe we could have gotten the code to work, but it was getting to the point that it wasn't worth it to spend so much time on lining up agains the wall when we had more important stuff to worry about.

Luke did the lion's share of the move to position code. If you want more information about it then talk to him.

Final Competition

trying to score starting block

We unfortunately did not score any points in the competition, although there were a couple of close calls. Overall, we thought that it was a good experience building the robot, overcoming our frustrations, and eventually coming up with a solution. The team that won the competition had the simplest strategy of wall following to the 2 bin, and dropping all of the balls there. Even though they didn't get a perfect score, they still had a very reliable robot that could score every time.

Tips to future contestants

1. Keep it simple. Don't have too high expectations in the beginning. Start with the simplest goal of scoring one point in any goal and implement that so that it works reliably every time. Once you see something working, then you have a backup in case your lofty plan doesn't work. Engineering is a lot harder than it actually looks even if we are using LEGO pieces and doing "simple" tasks like driving straight and turning to an angle.

2. Implementation is the most important part of engineering and takes up 90% of the time. The rest is in planning out the ideas. Coming up with ideas and implementating them definitely don't have to be sequential events. Frequently, you will have an idea and test it out and if it doesn't work, you think of new ideas and keep on testing them over and over.

3. If one method doesn't work, don't keep on trying the same method over and over like hitting yourself against a wall. Think of something new. Be creative! Sometimes the ideas you least expect to work do actually work in the real world.

4. Overcome your frustrations when something doesn't work and try to think why it doesn't work. Consult your TA or teammates for help. If that doesn't work, try putting that part of the work down for a day and work on something else to change the focus of your attention.

5. Persevere and have confidence in yourself. Whenever you are in doubt about what method is the right one to use, list out the reasons for why you think the method should work and the possible reasons for why it might not work. If you think the reasons for why it should work are logical, then test out your method. See if it works in the real world. Don't think it's a waste of time because every step of the way matters in building the robot. If you have the faintest notion that your method is working, then that should boost your confidence and prompt you to want to make the method work 100% of the time.

MIT Home | 6.270 Home |