Monday, March 24, 2008

Lego Robot: 'Push the Cans'

Hello Readers,

This week the team gets to work on a Lego Robot. This project will involve mechanical design and computer programming.
Let's start out with an explanation of what we are doing here. This project is about designing and building a robot which will attempt to detect cans of varying weights placed randomly in a 4’ diameter circle and move the cans in the center in a 1.5’ diameter circle. Both circles would be defined by black tape. The robot has three minutes to collect as many cans as possible. During this time it must stay inside of the 4’ ring. The robot must be made entirely out of the Legos provided by the instructor. The robot must be fully autonomous, running off of a pre-programmed set of instructions also created by the students. The robot must be able to fit within a 20 by 20 cm. square and it may not expand in size after beginning. The total weight of the robot must be less than 1 kilogram.
We had to take all of the constraints into consideration when we went through our brain storming process. Even with them holding us back, there were still a lot of options available for the design of the robot.
First, we surveyed our options of physical input and output to and from the robot. These variables will determine the main characteristics of any robot. The sensors available were two light sensors, two touch sensors, and four rotational sensors. Additionally there were three motors available.
Second, we analyzed all of the physically possible ways for a can to be moved from its location to the center of the ring. It can be grabbed one at a time and taken directly to the center. It can be scooped up or pushed. It can be picked up and stored to be dropped off later. And it can be knocked over and rolled to the center.
Third, we would have to keep in mind that the cans will vary in weight. This is significant because a small fast robot will not be able to carry a can too heavy, whereas a slow strong robot will not be able to get to every can fast enough. The time limit of three minutes is an important related factor in this decision. Another design decision lies in the choice of propulsion. We have tires of varying sizes as well as two conveyor belt treads. If we choose to use one motor for propulsion we will have to set up a series of differential gears to allow the robot to turn. Additionally, with this form of movement we would have to add a separate motor to a steering column. With a setup like this the robot would handle like an actual automobile. Other options included allotting one motor for each tire or tread. Doing this would allow the robot to make zero degree turns.
So with this feast available as food for thought, what sort of design did we choose? We modeled our robot after a snowplow. Our robot is similar to a plow in the way that plows just push snow straight ahead, and as they go they pick up more and more. The important idea is that we don’t actually need to ‘grab’ the cans to be in control of them. We designed the whole robot to support a massive two pronged fork just within maximum dimensions. It can scoop up to five cans in a line, and it can turn and keep control of four cans.
There were many problems that would would have trouble with making our robot smart enough to overcome. So we decided to make our robot too dumb to be affected by them. It only has two motors and one light sensor on the entire robot. It will move along a preprogrammed pathway to pickup the maximum amount of cans.
We think our robot will be very competetive against other designs. It will use stupidity as a tool where other smart robots will malfunction. Overall our robot does more with less.
Looking back we could have increased the productiveness by increasing the fork area to being the maximum 20 by 20 centimeters, and then gearing the robot to be able to carry the appropriate weights.
Thanks for reading.