For those who are struggling to find the right parts, trying to figure out how to put them together, or having difficulty with code, this is the right place! This instructable is a complete documentation of Newton South High School Science Team's 2012 robotic arm entry. It was built by Daniel Kramnik (myself) and Timothy Chong. We are 16 and 17 years old respectively, so I'd like this instructable to be considered for the student prizes in the robot challenge.

Here is a video of the arm in action at the state olympiad - first place!

Step 1: P.1, Plan: Control Structures

i. Manual

In this scheme, one or two pilots have direct control over every actuator in the entire system. This usually means a VEX remote with joysticks that are supposed to position a bunch of servos all at the same time. One competitor we saw had some sort of Lego or K'nex kit that allowed him to type in angles using a laptop with a bluetooth transmitter.

Although it's by far the easiest way to go about building a robotic arm, it also doesn't work very well, and is slow to control. At best, the people with VEX robots were able to place 2 - 3 objects (not the batteries though, since they were too heavy), and at worst, they placed none and wrecked the game board.

One team used this robotic arm kit, along with some very minor mechanical modifications (just enough for them not to get disqualified, though), but was unable to place a single object.

- Inexpensive and easy to assemble, if VEX or Lego parts are on hand
- Can be built the night before if you procrastinated
- No code
- Difficult to control and imprecise

ii. Automated, No Feedback

Why make a human pilot the arm when you can just preprogram a bunch of angle coordinates and gripper states for the arm to travel between? Because we know the locations of all of the objects on the game board beforehand, their locations can be hard-coded, and we can hope that the judges will set up their game board exactly to the correct specifications.

- No user error
- Faster than fully manual control
- No GUI required
- Will fail if the objects are not exactly at the preprogrammed locations, except for the nails, which can be picked up by an electromagnet that just needs to be close enough, but not precisely at their locations
- Significant coding (compared to zero) involved

iii. Automated, With Feedback

OK, in reality, the judges make mistakes - big enough mistakes for the arm to miss if you just hard code some coordinates. We found this out the hard way at regionals, although we did still win with an automated controller without feedback, placing the majority of the objects we intended to pick up.

One solution to this problem is to add sensors such as infrared sensors or ultrasonic sensors to try to determine where an object is. This would require much more code than any other alternative, and two-way communication between the computer and microcontroller, unless all of the code is on the chip.

- Same as automated, without feedback
- Will not fail if the objects are positioned with some error
- Requires expensive sensors
- Even more code, again it increases by a significant amount from the previous case

iv. A Compromise...

The simplest solution to the problem posed by the automated controller with no feedback is to add some basic user input options to adjust the position of the arm once it is about to pick up or place an object, not to add sensors. The arm cycles through hard-coded positions, waits for the user to use the arrow keys to make adjustments, and then continues. Essentially, the user provides feedback, instead of any sensors on the arm itself. This is what we did.

- All of the advantages of a controller that is automated with feedback, but without the disadvantage of requiring sensors and a lot more code
- You'll want to write a GUI for this (Picture 1), which is a bit more code
<p>For the current science olympiad competition I have constructed a robot arm by modifying the lynxmotion al5d. I am currently utilizing the master-slave system with an arduino uno as the microprocessor. However, I have been stumped on how to power the robot arm. I have been using 2 energizer brand alkaline lantern batteries (6v) in parallel for all of my servos and 1 9v alkaline energizer battery for the arduino. I was wondering how exactly you powered your arm (using what battery) and if you powered it all off the arduino or not. Should I individually power each servo or just collectively and should the servos be wired in parallel or series? Also for some reason, my arm often shakes, twitches, becomes out of control, or simply just shuts off and on repeatedly. </p>
<p>Here is my code for the master slave. There are 2 bases (2 base servos) because each servo only rotates 180 degrees and some of the objects need a larger range of motion to be picked up during the competition. </p>
<p>For the lynxmotion parts, this looks like the cheapest option (incl. servos) :</p><p><a href="http://www.lynxmotion.com/p-1035-lynxmotion-al5d-4-degrees-of-freedom-robotic-arm-combo-kit-no-software-w-ssc-32u.aspx" rel="nofollow">http://www.lynxmotion.com/p-1035-lynxmotion-al5d-4...</a></p>
<p>how well does this unit work for the compatition?</p>
<p>I CANNOT access the BOM, can you help out pls</p>
<p>can you do it with 2 servos and a motor shield?</p><p>if you can that would be great! just leave a link under this?</p>
Hey! Thank you so much for telling us this information. I was wondring why i wasn't able to poen the robotic arm compponents.docx? It says i have to have certain administrative privilges? What does that mean and how do i open it?
hey, my friend and i just joined science olympiad and we're in robot arm... we have no clue what we're doing. <br>where do we even start ? <br>
Read the instructable, then come back with more specific questions :P<br><br>I'd suggest picking a control scheme, figuring out what tools you have access to (can you get power tools, machine tools, CNC machine tools? - your school's shop is often a good place to start), and then putting in a Hobbyking/McMaster order for parts (get a microcontroller, some servos, metal servo horns, and some batteries/chargers at least). My biggest suggestion is to get started asap, as learning to work with the electronics can take quite a while!
yeah our school is willing to buy whatever, we just need to know where to even start when it comes to buying and what we even need. :)
Hi brian
Who is brian?
Well, done, well done indeed! I too am very impressed. Would it be possible for you to post more pictures of the arm itself? I would be very interested to see side, worm's-eye, and bird's eye views. Also, did you cut the aluminum tubing, and if so, to what lengths? Great job again!
As a NSHS alumnus, I have to say I'm very proud and impressed. You've done a great job not only on the project, but on the Instructable. It's amazing what some high school students are accomplishing these days. <br> <br>Back when I was at NSHS, we only had three computer terminals (two ASR-33s and one DECwriter II) hooked up to a PDP-11 minicomputer housed at NNHS (boo, hiss) and we learned to program it in BASIC Plus. In the snow. Uphill both ways. :-) <br> <br>Congratulations! <br> <br>

About This Instructable




Bio: My name is Daniel Kramnik - I like building Tesla coils, quadrotors, and robots!
More by Xellers:Build a Robotic Arm for the Science Olympiad DIY Electron Accelerator: A Cathode Ray Tube in a Wine Bottle How To Build A Spark Gap Tesla Coil (SGTC) 
Add instructable to: