# Engineering Projects/Robot arm/Howard Community College/Fall2011/502 TFCWNS

This is the Howard Community College Fall 2011 robot arm project.

## Electronic Sections Expected
### Problem Statement

Create a systematic control for the robot arm by having a motorized push/pull mechanism for each wire and the end effector.

### Team Members

       Caleb Woo
       Timothy Francis
       Nathan Sweet

### Summary

We worked on ways to make the arms move automatically aswell as make the claw move automatically. We put a lego motor on each beam wich moves them up and down. We also put a motor that pulls and release the string controling the claw. We are still working on the code and need a way to make it remote controll so we can move it freely.

### Poster

* Video of the Robotic Arm
Robotic Arm Improvement Demonstration Video:
Robotic Arm Improvement Photos:
Robotic Arm Finger Component Propositions:

### Story

Week one of this project cycle our goal was to find ways to lift and lower the Robot arm. we started of by thinking a screw and bolt system that works by raising a platform by turning a long central screw. This would allow a platform to be lifted by turning the screw in one direction, and to be lowered when turned in the other. The problem with this design was that we didn't have the parts necessary to build it. we then thought of the idea of using a type of train wheel system. This would allow a platform to be raised and lowered in one rotation of a wheel. we implemented this idea by using Lego Mindsorm pieces and we was able to get a system that lowered and raised the arm. Although it doesn't raise and lower smoothly, this is the kind of system that is the most probable to work for our arm considering parts available and time. we will continue to figure out the structural problems of this system so that it will be able to raise and lower the arm smoothly. We were also, with the help of Patrick, able to learn how to use a simple Lego Mindstorm nxt programming system to use on Lego motors. With this we were able to program a motor to pull the End effector string to enable grabbing.
During Week two of this project we began by trying to refine the lift and lower system of the Robot arm however, we was unable to get any success in making this system lift the arm smoothly without getting stuck or tilted to one side. We then began exploring different ways to lift and lower the arm. we thought of using some sort of pulley system similar to that used in bicycle breaks by using fishing wire and hard plastic tubing but creating a structure for this would take longer than the time we had so we had to think of something different. Finally we referred back to the original idea of having a motor next to each wire except this time we would use the Lego motors. We then thought of incorporating the train wheel system to each wire rather than just one for all the wires. This way we wouldn't run into the problem of uneven push and pull.
During week three of the Project we set out to add the other motors to the wires of the robot arm. We began by first trying to build a frame to hold the motors in place so that they could move the wires without themselves moving. We needed to make sure that the motors were placed in the right position to utilize the best and smoothest lifting and lowering motion. We was able to construct the frame by adding multiple cross beams that connected to the motors and to the axle posts around the top. We had to make sure both motors were symmetrical in where they were placed and how they were held in, in order for each of them to work the same. After finishing this we moved on to make a program so to test how it worked. We needed to slow the motors down so that the peg holding the wires into the top of the push/pull system wouldn't fall out. We made a motor command for both motors so that they would run for 0.125 seconds and then put a loop around it so that this would repeat over and over. This resulted in the motors acting somewhat like a stepper motor. When we ran the program the arm lifted and lowered repeatedly and the pegs didn't fall out. The arm however would somewhat sway back and forth due possibly to the fact that the front wire was not connected to a motor. We need to glue all the pegs in and connect a front motor to the front wire. In addition we need to create a system to open and close the end effector smoothly
During this last segment of the Project we needed to work on mounting the forward motor to the frame, add an end effector motor, and make programs for the robot arm. We were able to figure out a configuration of Legos that could fit a front motor for the front wire and a back motor for the end effector. We then needed to make a program for the motors. The problem we have is that the nxt block only has 3 motor ports when we need 4. However we were still able to create a program that demonstrated its grabbing ability by only controlling the front wire and the end effector. we then was able to make a program that demonstrated its range of motion by allowing all three wire motors to be powered simultaneously.

### Decision List

* We decided that Timothy would work on making a different end effector, and that Caleb and Nathan would each work on different ideas on how to control the Robot arm and try to come up with the best way and most probable way to control it.
* We had several ideas on how to motrize the arm. One was to create a vice like mechanism that moves with a screw and bolt type design. The other was a platform which would raise and lower all the wires with a train wheel like design in the rear that would raise and lower as a motor turned. We decided to use the NXT motors and the train wheel system but apply it to each of the wires rather than all of them to have a more balanced system and more control over each wire.

### Material List

* Lego nxt kit with 4 motors.
* Lego mindstorm pieces.

### Software List

* Google
* Lego NXT programming software
* Youtube
* Google Docs

### Time

4 week project. We worked alot in lab after class because the arm was at school. Brianstormed at home. Spent Approx 5 hours a week total each.

### Tutorials

* Get motors you want to use.
* Crate a raising and lowering system that can be powered by the motors (we used a train wheel like system)
* Attach this system to each of the wires in the most effective spot
* Create a motorized pulley system that pulls the end effector wire
* Build a frame that securely holds all the motors down and in the same position.
* Connect motors to a programmable board (Lego Brick, Arduino uno)
* Create a program to control the arm

### Next Steps

Strengthen frame to hold the motors in more securely. Make a program that will allow the arm to pick an object up and possibly try to connect a remote device that will controll the arm.