This is the Century High School Science Olympiad Robot Arm that competed at the Minnesota 2012 State Science Olympiad tournament with 32 other teams. I built and ran this remote control robot arm for the tournament, placing 8th (due to unforeseen problems). I am about to graduate high school (in 3 days!) as a legal adult (having turned 18 after the state tournament), and built this over the course of my senior season on the Science Olympiad team. This wasn't my first time dappling in Remote Control Robots, as my previous Instructable, How to Make a Sumo Bot (Science Olympiad 2011 Rules), but was my first time building a robotic arm.
Here's a brief overview of the competition:
Science Olympiad is a team-based science competition with events ranging from so-called "study events" to "lab events" to the menacing "build events." Robot Arm was one of these "build events." The event consisted of building a Remote Controlled Robotic Arm to pick up as many objects and place them in containers made out of half gallon milk jugs to score as many points as possible during a 3 minute period of time.
This robot arm is clearly not the most sophisticated or most complicated robot arm ever made, but it gets the job done, while recycling parts, learning about Remote Control systems, and using common (and cheap!) building materials with a few motors to make a functional robot arm to pick up and move things around.
Step 1: Rules of the Competition
Now for the extended overview of Science Olympiad, and specifically, the Sumo Bots competition:
Science Olympiad is, as I stated previously, a team-based science competition. Competitions include Invitationals hosted by schools around the state, Regionals, State, and Nationals. According to the Science Olympiad National website, soinc.org, Science Olympiad has been around for 28 years, and "has led a revolution in science education." Teams, for Division C (high school division), are made up of 15 members, who participate in multiple events, usually with different partners for each event. Events range from "lab events", such as Chemistry Lab and Forensics, to "study events", such as Ornithology and Fossils, to "build events", such as Gravity Vehicle and Robot Arm.
For Robot Arm, specifically, the robot has specific construction parameters, required documentation, a specific competition area and competition details, and a unique scoring system, as the two rule sheets outline.
Step 2: Parts
Show All 7 Items
1 FS-CT6B Radio Transmitter 6 Channel 2.4 GHz
1 FS-CT6B Radio Receiver 6 Channel 2.4 GHz
1 7.2V NiMH RC Battery (leftover from 2011 Sumo Bot)
2 HiTec HS-422 Servo Motors
1 SparkFun "Medium" Servo
1 SparkFun Robotic Claw
1 Tazer 15T Forward/Reverse ESC (leftover from 2011 Sumo Bot)
1 Old Electric Drill (recycling!)
2 Lynxmotion Pan/Tilt Bracket Kits
3 PVC pipe bushings from ACE Hardware
3 PVC pipe ends from ACE Hardware
5 Eye hooks
4 Tension springs from ACE Hardware
4 Wire nuts
1/2" Inner Diameter Electrical PVC pipe
Assorted wood and plywood
Assorted nuts and bolts
PVC Pipe Cutter
Step 3: Modifying the Drill
The old electric drill motor and chuck will be used to rotate the entire arm, giving it one degree of freedom. However, to accomplish this, we need to modify the drill so it will work with the RC unit.
Open the drill and remove the battery and other wires, leaving only the chuck, the gears, the motor, and the motor's positive/negative leads.
Poke the leads out of the crack on the top of the drill and reassemble both sides of the drill.
Cut the battery base off of the drill to reduce bulk.
Cut two lengths of wire and use wire nuts to extend the positive/negative leads of the motor.
Step 4: Base
Show All 8 Items
The entire arm rests on this wooden base, so build it from sturdy materials and make sure it has minimal wobble.
From 3/4" plywood, cut an 11 1/4" square, two 2" x 9 1/2" strips, two 2" x 11 1/8" strips, and two 5" x 8 3/4" rectangles using a table saw.
Next, trace the drill with the handle above the center (with the chuck towards the edge of the square) of the square base to determine where to mount the side braces.
Drill three holes in each side brace to place bolts through and secure the drill motor to the base. (This requires lining up the drill and using a drill press to drill through the side pieces and the drill, as well as around the drill motor, to secure the drill in place later.)
Drill two holes through the square base into each side brace and secure with wood screws.
Line the short and long strips along the bottom of the base, lifting it off the ground.
Drill three holes through the square base and into each of the long strips, then secure with wood screws.
Drill two holes through the square base and into each of the short strips, then secure with wood screws.
Step 5: Mounting the Drill
To mount the drill on the base, simply place the drill between the two braces with the chuck up and the handle towards the center of the base.
Then, using three nuts and bolts, slide the bolts through the braces and around/in the drill to clamp it into place and ta-da! The drill motor is mounted.
Step 6: Arm Mount
Show All 7 Items
The rest of the arm will be mounted onto a small wood structure that the drill motor rotates.
From 3/4" plywood, cut two 2" x 6 1/4" strips, a 2" x 5 1/2" strip, and a 3" x 3 3/4" piece.
Cut a 1 1/2" x 3 3/4" piece of 7/8" thick wood for the base. In this piece, drill a hole in the center for the bolt that will be clamped into the drill chuck.
Drill three holes through the 3" x 3 3/4" piece and the 7/8" wood base side and secure with screws.
Drill three small holes near the top of the 3" x 3 3/4" piece for three eye hooks.
Drill two holes through each of the longer strips and into the base and front side.
Secure each side with two wood screws.
Drill two holes through the remaining piece on the top of the structure and through each of the side pieces. Secure with two screws.
Step 7: Shoulder Motor
Show All 14 Items
The shoulder motor is mounted directly to the arm mount and gives the robot another degree of freedom, the first of two vertically rotating motors.
Center the base bracket of one of the pan/tilt brackets on the back of the mount structure made in the previous step.
Drill four holes where the bracket lines up and secure with four small screws.
Drill a hole in the center of one of the PVC ends for the bolt. Press the PVC end into the PVC bushing. Put the bolt through the other metal bracket, then through the PVC end and screw a nut onto the bolt inside of the PVC bushing.
Attach this metal bracket to the other base bracket by using the hex bolt, washer, and nut included in the pan/tilt bracket kit. First, place the bolt through the base bracket side, then place the washer between the two brackets, followed by the nut.
Attach the servo using the plastic push rivets as illustrated in the kit.
Finally, attach the rotating bracket to the servo horn with the two small black screws that come with the servo, being certain the servo is in its "neutral" position, and the bracket is attached vertically--to ensure full rotation needs.
Step 8: "Upper Arm"
Cut a 6 7/8" piece of 1/2" inner diameter electrical PVC pipe.
1 1/2" from each end, drill a small hole for the eye hooks.
Press the PVC pipe into the bushing attached to the shoulder joint, with the holes in the PVC pipe open towards the wooden arm mount.
Step 9: Elbow Joint
Show All 9 Items
Now we will mount the elbow motor, giving the robot it's final degree of freedom, again in the vertical plane.
Drill a hole in the center of another PVC pipe end, just as in step 6 and press into the remaining bushing.
Attach the PVC end + bushing to the other pan/tilt bracket as in step 6, by using a bolt and nut.
Following the process of step 6 and the steps outlined in the instructions included in the kit, attach the other bracket.
Before attaching the servo, the next PVC pipe must be attached.
Cut a piece of the same 1/2" inner diameter electrical PVC pipe 6 1/2" long.
Line the PVC pipe up underneath the bracket of the elbow joint, mark off the two holes, and drill two holes through the diameter of the PVC pipe.
Attach this PVC pipe to the bracket with two bolts and nuts through these holes.
Attach the servo as in step 6 with four plastic push rivets. Then, with the elbow bent at 90 degrees, attach the servo horn to the bracket as in step 6.
Step 10: The Claw
Show All 9 Items
Sparkfun sells this nice metal claw and recommends their "medium" servo to run the claw, so I followed their recommendations and ordered both of them. However, when I received the claw and motor, just as others online had found, the two components were not engineered for each other. To make them fit together, I drilled out the motor mount holes slightly, and then had to finagle with the bolts for a while, finally adding tape to secure the motor to the claw.
First, drill out the motor mount holes on the claw so they are slightly larger (~3/16").
Next, in the remaining PVC pipe end, drill two holes the same distance apart as the claw mount holes.
Attach the PVC pipe end to the claw with two screws, which will take some effort, as the mount holes are a little hard to reach.
Cut the motor's wires and solder three extension wires on to provide more length of wire to reach the receiver. Protect the soldered joints by folding over and taping with electrical tape.
To attach the motor to the claw, place the motor through the slot on the claw and use the included bolts and nuts to keep the motor in place, but be careful not to over tighten.
Clip the ends off of the servo horn and press the servo horn onto the servo motor.
Secure the servo horn with the little black screw included with the servo.
With the claw closed, attach the claw to the servo horn with the two small silver screws included with the motor.
Finally, wrap electrical tape around the servo and the claw to keep it connected.
Step 11: Attaching the Claw
Push the PVC pipe end on the claw into the bushing on the second PVC pipe of the arm, so the claw's servo motor is above the claw.
Step 12: Helping the Servos Out
Show All 9 Items
When I first made this robot arm, I discovered my servos did not put out nearly enough torque to hold up the motor. To fix this, without buying larger, stronger, more expensive motors to replace my current servos, I added eye hooks and tension springs to provide the extra amount of torque necessary to hold the arm up.
First, screw in the five eye hooks in each hole that was made for an eye hook (three on the arm mount and two on the first PVC pipe segment).
Next, attach a spring to each of the three eye hooks on the arm mount and connect them to the first eye hook on the PVC pipe.
The final spring connects over the elbow joint. To do this, remove the nut from the first bolt in the PVC pipe, slip one end of the spring onto the bolt inside the pipe, then replace the nut on the bolt.
Connect this spring to the second eye hook on the first PVC pipe.
A word about these springs.
You will notice that the arm will assume a vertical position as a default because the springs provide more than enough torque. This is fine because it negates gravity, so the servos move against an upward force, instead of lifting up against gravity.
Step 13: Drill Motor Control
The drill motor is a basic DC motor that switches direction when the polarity is switched. To control this via remote control, we must use an Electronic Speed Control (ESC). I am reusing one of the ESCs from my previous Instructable--a Tazer 15T Forward/Reverse ESC.
Before mounting the ESC to the robot and connecting the wires, three modifications must be made:
1. Cut the On/Off switch wire and solder in two extension wires, just as with the claw servo motor.
2. Cut the three wire Hitec connector and solder in three extension wires, as with the claw servo motor.
3. Cut off the tips of the wires to the motor and strip them, so the wire caps can be used to connect the drill motor to the ESC.
Using wire nuts, attach the wires connected to the drill motor leads to the ESC.
Step 14: Connecting the Top and Bottom
To connect the arm to the drill motor, slide the bolt through a washer, then through the base of the arm mount.
Then put another washer on the bolt underneath the arm mount base.
Finally, put two nuts on the bolt and tighten. (Two bolts are used to work as a lock nut--a modification I made after the competition)
Step 15: Attaching the ESC and Battery
Remove one backing from the double sided foam tape and affix the tape to the arm mount base on the bottom right (as seen from behind).
Remove the top backing and stick the ESC onto the foam tape with the wires extending out the back.
Attach the battery with a zip tie on the right side (as seen from behind) of the arm mount and connect the battery to the ESC.
Step 16: Connecting the Receiver
To attach the receiver to the arm, use a zip tie to secure the receiver and antenna to the first PVC pipe.
The following is the motor and the channel on the receiver:
Drill Motor (ESC)--CH1
Zip tie the extension wire of the claw motor to each PVC pipe once, to keep the fragile wires from breaking.
Step 17: Transmitter
Put 8 AA batteries in the RC transmitter (I use rechargeable ones). Apparently, my transmitter requires at least 12V to operate--which works in theory with AA brand new from the package, but as the batteries wear down to a voltage less than 1.5V, the transmitter fails to turn on. To fix this, I have (at least temporarily) wired up a ninth battery into the battery pack (no pictures though) and now the transmitter operates just fine. I discovered this catastrophic flaw just while making this Instructable--luckily not during competition.
Put the bind plug on the BAT port on the receiver and follow the steps included with the transmitter/receiver to bind the transmitter to the receiver.
Using the USB/Serial cable included with my transmitter, I used the program T6config to increase the endpoints of each channel to 120%, except channel 1 (the drill motor, which I brought down to slow down the rotation--experiment with this for what suits you!).
Step 18: Controlling the Arm
For the competition, the robot had to be completely vertical to fit the required dimensions. This only works when the receiver is off, so that is why the On/Off switch of the ESC was extended. This was a "tethered" control to allow me to activate the robot during the competition and is not necessary for a non-competition robot.
Turn the transmitter on, then the ESC (which turns on the receiver).
The picture shows what controls what (in my setup).
Here's a little demo video I made (I don't have any videos of the actual competition, unfortunately).
Step 19: Final Thoughts (Improvements)
Now that it's been a couple months from competition and school is finally done, here are some thoughts/tips for improvement.