Monday, April 14, 2008

Lego Robot: Transport The Cargo

Hello Reader,
This months project involves the lego mind storm kits again. This project will revolve around problems such that having mechanical, computer, and industiral engineers present would be beneficial.

This project's Problem is about designing and building a robot which will attempt to safely transport, without damage or loss, two ping-pong balls from the top a platform to a box separated by a given distance. The balls initially rest in two holes with a diameter of one centimeter each; the holes are ten cm apart on the top of a platform. The outside dimensions of the drop off box, where the ping-pong balls need to be placed, are L25xW15xH15 cm. The robot itself must be built within the maximum dimensions of L20xW20xH30 cm. The robot must be programmed to be fully autonomous. Its task is to deliver the ping-pong balls to the box as fast as possible within the time constraint of two minutes. Between the loading platform and the box is a line made of black tape. It will not be straight and will contain two T-joints. The robot must use this line to navigate the terrain. Time will start when the robot begins and will end when the last ball is dropped. Ideally this task will be done in the least amount of time.

Now we need to brainstorm posibilities for a solution using these guidelines.
First, we surveyed our options of data input and physical output to and from the robot. These variables will determine the main characteristics possible of any robot. The sensors available were two light sensors, two touch sensors, and one rotational sensor. Additionally, there were three motors available.

Second, we analyzed all of the physically possible ways for a robot to actually get control of the two ping-pong balls. We could use claws of come sort to hook them in toward a more controllable area. We drop some sort of mechanism on top of them. We could use a sort of shovel and scoop them up. Or some kind of back hoe shovel and scoop them inwardly.

Third, we had to keep in mind that the robot would have to physically lift the balls up fifteen cm into the box. There were rack and pinion gears available. They could lift up the whole front holding the balls. Once in the air they might be rolled off or dropped straight in. Or the gears could push off the ground, lifting the front of the robot into the air. We could set up a catapult and launch the balls into the box. We could use a special double gear sided bar which would allow us to rotate the ball holders upward.

Fourth, one of the constraints was that it had to follow the line in order to find the box. This means that we had to incorporate at least one light sensor. It can be done with one sensor so that every time the robot goes off the line, it turns until it is on it again. This saves the other two sensor input ports for other things. We could use two light sensors and separate them so the robot straddles the line. Though this would take up two input ports, and leave only one port for every other input that it may need.

Fifth, when the robot finds the box it needs to know what to do. It is possible that it may find the box at an angle, which could lead to balls not landing in the box properly. If we choose the line following program with two light sensors, then the robot will have to find a way to react properly to the box with only one input port available. 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. Or some sort of reverse and turn mode to save the use of a motor. Other options included allotting one motor for each tire or tread. Doing this would allow the robot to make zero degree turns.

Our Solution: After much deliberation upon which designs would be the most effective, we combined what we think are the best ones that will work together.
We built a robot that has a button sensor on one side, and a lift on the other. It will aproach the two balls and lower a one way container over it. The balls will pop through rubber bands and be trapped in the container. Then the robot will use two light sensors to navigate through the course. Upon reaching the box, the robot will move forward until the button is pressed, the robot will know that it is near the box. We will program it to first lift the balls all the way to the top of the lift. Then the whole robot would rotate 180 degrees and move backward. This will bring the container right up to the edge of the box. Then the robot will lower the container, and speical pushing lever will push the balls out of the container. They will roll forward and fall into the box.

We concluded that our design is a very effective method of solving the problem. Our effective use of light sensors and motors will give us very good chances of navigating the course quickly and efficiently. Our choice of ball pick up, lifting, and removal methods all rely on simple machines. The rubber bands will always do the same thing every time the experiment is performed. They will grab the ball every time the lift falls over them. Other rubber bands will allow container to slide past the slide-pushers and they will move back into the proper position every time. We even designed the robot to lift the balls high enough and have exit ramps. This solves the problem of the robot not finding the box at a right angle.

Another way this could have been done effectivly is with a similar design could have been used that may have worked just as effectively. We could have used grabbing arms to get control of the balls. This would give us more room for error in the programming of the robot to approach the balls. They would have been geared to the same motor as the rack and pinion gears attached to the lift. To stop the claws from grabbing into itself and jamming, we could have used gears with only half the teeth. Then the motor could not possible close the claws too far and would in fact work to hold on to the balls. The claws would have had gates that keep the balls in the proper position until they would be forced out at the top. However, we think that the method we used is more effective due to its simplicity.