Introduction
Our project is a twenty four and half inch aluminum frame robotic arm with four degrees of freedom.
In our project we made the arm the second player in the classic game of Tic-Tac-Toe to demonstrate its programmable repeatable motion. The arm consists of five servo motors, four to control the motion and one to control the end effecter (gripper). The arm moves tic-tac-toe pieces onto a board for its opponent and itself to give the user interactive control over the arm.
This project was a five week design project for ECE 476. Video of the arms ranging from motion, game play, and feats of strength are below in the results section.
High Level Design
Rationale
We are both members of the CU Snake Arm team so we were aware that the 2008 CU Snake Arm was lacking a delivery vehicle. Typical snake arms are attached to industrial robotic arms. So we both thought that it would be nice to build a scale model for a possible delivery system or a possible end attachment for a future snake arm.
Background Math
This project does not implement inverse kinematics calculation on the mcu but we did make use of forward kinematics to aid in programming position. The forward kinematics determines the location and angle of the end effecter. To begin the calculation find the position of the first joint (x1,y1). Assuming that the turntable is at position (x0,y0) and the length of the segments of the arm are L1 and L2 receptivity the calculations go as follows.
x1= L1cos(theta1) + x0
y1 =L1sin(theta1) + y0
The position of the second joint is given by:
x2 =x1 + L2cos(180-theta1-theta2)
y2= y2 + L2sin(180-theta1- theta2)
We define the angles to be those formed by two segments next to another, making them more easily observed. Theta3 in our project was desired to be perpendicular to the horizontal axis and was (270 –theta1 –theta2) in the first quadrant.
Patents, Copyrights and Trademarks
Although a servo controlled robotic arm and Tic-Tac-Toe are not new ideas, there are no patent, copyright, or trademark issues involved with the project. The arm was designed by the CU Snake Arm Team.
Program/Hardware Design
Logical Structure
The logical structure of the design is shown below:
Mechanical Details
Below is a CAD picture of the arm. The complete CAD assembly and part files are in appendix B. These files contain all the measurement data. The parts for the arm were machined in Emerson Lab at Cornell University. The completed arm was just screwed to a table top to act as a base.
Hardware/Software Tradeoffs
The hardware tradeoffs we were considering involved the use of Hitec-5995TG servo motors with an average holding torque limit of approximately 2.2 ft lbs, as opposed to perhaps building a smaller arm with less powerful motors which would require less voltage to operate. We decided to go with the larger arm which was just within the limit of the more powerful servos. To get the power supply voltage at least up to 6 V, we decided to use a 6.4 V, 2 A current DC adapter.
The software tradeoff involved thinking about whether we needed to create manual PWM waveforms with a delay of at least 20 ms between pulses or use the in-built timers in the Mega32. For the most part we decided to use the timers because we discovered that it didn’t make any difference as to what delay we supplied between pulses. However, we ran out of timers to use once we got to servo 4, and so we had to generate a manual PWM waveform for the gripper servo.
Standards
The applicable standards were set by our own snake arm team. Any robotic arm built by us would have to use servo motors, and would have to have repeatable control with programmability.
Parts List:
Item | Part # | Quantity | Price | Total Price | Location |
Aluminum | 8975K22 | 1 | 11.24 | 11.24 | McMaster |
Aluminum | 8975K91 | 1 | 11.59 | 11.59 | McMaster |
Aluminum | 9008K151 | 1 | 16.90 | 16.90 | McMaster |
Turn Table | 6031K16 | 1 | 1.87 | 1.87 | McMaster |
Bearings | 57155K352 | 3 | 7.50 | 22.50 | McMaster |
Dowel Pins (10) | 90145A508 | 1 | 6.37 | 6.37 | McMaster |
Machine Screws (30) | 91771A126 | 1 | 6.18 | 6.18 | McMaster |
Set Screws (25) | 92778A117 | 1 | 6.18 | 6.18 | McMaster |
HS5955-TG Servos | ———— | 5 | Borrowed ( $85) |
———— | Snake Arm |
Gripper | 358811 | 1 | 14.85 | 14.85 | RobotStore.com |
Servo Extenders | ———— | 4 | Borrowed | ———— | Snake Arm |
STK 500 | ———— | 1 | Rent | 15 | 476 Lab |
Mega 32 | ———— | 1 | Rent | 8 | 476 Lab |
330 Resistor | ———— | 5 | ———— | ———— | 476 Lab |
1K Resistor | ———— | 5 | ———— | ———— | 476 Lab |
1 M Resistor | ———— | 5 | ———— | ———— | 476 Lab |
Phototransistor | 4n35 | 5 | ———— | ———— | 476 Lab |
White Board | ———— | 1 | ———— | ———— | 476 Lab |
Diodes | 1N4001 | 5 | ———– | ———– | 476 Lab |
16 MHz Crystal | ———— | 1 | ———— | ———— | 476 Lab |
6.4V 2.0 Amps Power Supply | ———— | 1 | Borrowed | ———— | Snake Arm |
Wood Table Top | ———— | 1 | 10 | 10 | Lowes |
Wood Mount | ———— | 1 | 7 | 7 | Walmart |
Total | 131.31 |
For more detail: ROBOT ARM Using Atmega32