Trainable 5DoF Robotic Arm
- Arjun Preetham
- Apr 15, 2019
- 4 min read
I think of technology in general as a very powerful tool which can empower humans, make them more efficient and productive.
The problem with this is, people are reluctant to adopt these tools because of the huge learning curve associated with it. The solution to this problem is simple, make technology user friendly. This will in some way enhance the user experience leading to humans using these tools more. This will further lead to a more work efficient and productive society.
This project is an attempt to encapsulate these principles in order to make training a robotic arm user friendly. Well is it though? You be the judge.
Also, this was my final year engineering project.
Objective
The end goal is to record motion of a robotic arm using a scaled down version of it.
Setup

The processing program is a GUI program which is the main interface between the user and the robotic arm. Its main aim is to put the Arduino Nano into certain states, ie, in a state of recording, state of motion playback, etc.
The Arduino Nano's function includes:
1. Playing back motion by getting angle data from the processing program and then writing them to the servos.
2. Recording motion by taking analog inputs from the trainer bot converting them to angles, writing them to the servos and then sending those same angles to the processing program so that it can be saved and presented to the user.
At each joint of the trainer bot, there are potentiometers that convert rotational motion into an analog signal which is used by the Nano to process and convert into angles which are then used for the servos.
Design
The entire robotic arm was modeled using AutoDesk's Fusion360.






Trainer Bot parts were made using balsa since it is easy to work with.

Design Calculations
Appropriate servo motors had to be chosen so that the robot could function easily. The servo motors were decided based on the calculations below.
To find out the weights of the parts, we used the slicing software provided by Fractal Works. This is done because the parts are not completely solid on the inside. They contain a mesh structure which is covered with a solid shell as shown below.

Weights displayed below each picture.




Let,
W1=42g -> Link 3 Weight
W3=34g -> Link 2 Weight
W5=10g -> Link 12 Weight
W6=28g -> Gripper Weight
These calculations are based off an assumption that center of mass is at the center of the link.
We use this data to find the torque required to actuate the setup. Based on this, torque was calculated at each link joint,
1. Setup 1:

M1 = (W1*L1/2) + (W2*L1) + (W3*(L1+L2/2)) + (W4*(L1+L2)) + (W5*(L1+L2+L3/2)) + (W6*(L1+L2+L3))
Therefore, M1 = 6.567 kg-cm
2. Setup 2:

M2 = (W3*L2/2) + (W4 *L2) + (W5*(L3/2+L2)) + (W6*(L2+L3))
Therefore,M2 = 1.12 kg-cm
3. Setup 3:

M3 = (L3*W5/2) + (L3*W6)
Therefore, M3 = 0.1518 kg-cm
Now that we know the torque required at each joint, suitable servo motors were found whose stalling torque is greater than the values computed above.
For joint M1 and M2, the MG996 Tower Pro servo motors were used. According to their datasheet, at a 4.8V power supply, the stalling torque is 9.4 kg-cm. Hence, these servos are suitable for joints M1 and M2.
For joint M3, the SG-90 servo motors were used. According to their datasheet, at a 4.8V power supply, the stalling torque is 2.5 kg-cm. Hence, these servos are suitable for joint M1.
Manufacturing
1. The robot parts shown above were 3D printed using ABS (Acrylonitrile Butadiene Styrene).
The print took place under the following temperature conditions,
Hotend/Nozzle: 220 C
Bed: 110 C
2. The PCB was designed using AutoDesk's EagleCAD.

The PCB was manufactured the same way described here.
Assembly
1. Base - Servo Assembly
2. Waist - Servo Assembly
3. Gripper Assembly
4. Link 1 - Servo Assembly
5. Link 2 - Servo Assembly
6. Link 3 Assembly
Finally all these sub assemblies were assembled together to obtain the final robot as you saw in the video.
A combination of M2 and M3 screws were used for this purpose.
Performance Tests
1. Repeatability test:
Repeatability of a robot is ability of its end effector to position itself at a given point over and over again.
Result:
Point for end effector to be positioned - circled in red.
Points achieved - blue rectangle.
Trial 1:

Trial 2:

From the above pictures we can conclude that the robot has good accuracy but bad repeatability.
To improve these results, stepper motors can be used instead of servo motors because of their ability to achieve finer resolutions.
2. Payload Test:
Payload tests are conducted to check how much weight the robotic arm can carry.
First, theoretical values were computed and then those values were practically validated.
Data:
Lengths of the links -
•L1 = 0.162 m = 16.2 cm
•L2 = 0.115 m = 11.5 cm
•L3 = 0.046 m = 4.6 cm
Weights of the elements -
•W1 = 0.042 kg
•W2 = 0.055 kg
•W3 = 0.034 kg
•W4 = 0.0294 kg
•W5 = 0.010 kg
•W6 = 0.028 kg
Theoretical Calculations:
F = Maximum load setup can carry.
The torque equations are equated to the stalling torque of the respective servos for each joint. This is done to find maximum payload weight.
- Setup 1:

(W1*L1/2) + (W2*L1) + (W3*(L1+L2/2)) + (W4*(L1+L2)) + (W5*(L3/2+L1+L2)) + (W6*(L1+L2+L3)) + (F*(L1+L2+L3)) = M1
=> 6.567 + (F*32.3) = 9.4
=> F = 0.0877 kg = 87.7 g
- Setup 2:

(W3+L2/2) + (W4*L2) + (W5*(L3/2+L2)) + (W6*(L2+L3)) + F*(L2+L3) = M2
=>1.12 + (F*16.1) = 9.4
=>F = 0.514 kg = 514 g
- Setup 3:

(W5*L3/2) + (W6*L3) + (F*L3) = M3
=> 0.1518 + (F*4.6) = 2.5
=> F =0.51 kg = 510 g
Practical Findings:
- Setup 1:
Max weight lifted: 76 gm
Error Percentage: 13.3%
- Setup 2:
Max weight lifted: 214 gm
Error Percentage: 140.2%
- Setup 3:
Max weight lifted: 214 gm
Error Percentage: 138.3%
Setup 2 and 3 have ridiculously high errors. This is because of insufficient current being supplied to the servo motors.
The OnePlus charger I showed in the video has a maximum current capacity of 4A which isn't sufficient for this setup. Since I didn't have access to a higher current source, the servos couldn't reach their maximum potential.
These errors can be brought down easily if the setup is connected to a higher power source.
Result
The robot motion recording works flawlessly even though other aspects of the robot have a few shortcomings.
This is was a fun and exciting project to work on. Learnt a lot about design and manufacturing.
I hope you agree that this a user friendly way to train a robotic arm.
Komentáře