Instructables
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!

 
Remove these adsRemove these ads by Signing Up

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.

Advantages:
- Inexpensive and easy to assemble, if VEX or Lego parts are on hand
- Can be built the night before if you procrastinated
- No code
Disadvantages:
- 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.

Advantages
- No user error
- Faster than fully manual control
- No GUI required
Disadvantages
- 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.

Advantages
- Same as automated, without feedback
- Will not fail if the objects are positioned with some error
Disadvantages
- 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.

Advantages
- All of the advantages of a controller that is automated with feedback, but without the disadvantage of requiring sensors and a lot more code
Disadvantages
- You'll want to write a GUI for this (Picture 1), which is a bit more code
jtlol10 months ago

can you do it with 2 servos and a motor shield?

if you can that would be great! just leave a link under this?

mkiker1 year ago
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?
PipPipPia2 years ago
hey, my friend and i just joined science olympiad and we're in robot arm... we have no clue what we're doing.
where do we even start ?
Xellers (author)  PipPipPia2 years ago
Read the instructable, then come back with more specific questions :P

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. :)
eddie2581232 years ago
Hi brian
Xellers (author)  eddie2581232 years ago
Who is brian?
lxraverxl2 years ago
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!
rea52452 years ago
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.

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. :-)

Congratulations!