Robot Hand Project for My STEM Class
by Malakhi MIlls in Circuits > Arduino
80 Views, 0 Favorites, 0 Comments
Robot Hand Project for My STEM Class
This project is a hand model inspired by Arduino - Make a Robotic Hand (Low Cost) from MertArduino
This is my class's final project and it's a robotic hand with moving fingers. The idea is that its made out of everyday materials that you could find in your home. Maybe excluding the Arduino and servo motors.
Supplies
Materials
- x1 Styrofoam Sheet 1x2 ft.
- x20 Rubber Bands
- x1 Paper Clips
- x1 Sanding Block
- x1 Fishing Wire
- x1 Sharpie
- x1 Thick Metal Needle (Skewer)
- x1 Exacto Knife
- x1 Plyers
- x1 Arduino
- x2 Servo Motor
Taking Measurements
First in taking your measurements you will need to find a way to record them, so i suggests taking a piece of paper or to open an excel sheet to have somewhere to keep all of your data for this project.
When measuring you will need the height of your fingers(how tall they are), the length(side to side) and the width(the thickness). Once you have your height, length, and width the next step is to take a Styrofoam sheet and use a ruler to make a rectangle on the Styrofoam using the exact measurements of your fingers. After the outline of the fingers are done now you measure the distance between your joints to create sections(E.x the distance between your Kunkle and the first joint on your finger.)
For the forearm and palm you don't have to have exact measurements you can just outline your palm and forearm. My hand was actually made in separate pieces because i misunderstood how the steps where in the original instructable by MertArduino.
Cuting Out the Hand
Now that you have the outlines for the hand the next step is to start cutting out the parts. The first part of this step is to cut all of your fingers into rectangles. Once you are done with the fingers you can now cut out the palm and forearm while sticking to the outline.
Sanding the Fingers
This step is about making the fingers more realistic. If you look at your own fingers they you can think of them as cylinders so we need to make the robots fingers cylinders as well. To make the finger cylinder we will be using a sanding block to sand down the rectangle form of the fingers. An important tip i can give you is to only sand in one direction.
Therefore sanding only up or only down, go around the whole finger until it looks like its about the same as your own finger, make sure to get the whole finger. Once all three parts together look like cylinders you now take the top section and start rounding the top to make it look like a finger tip.
Sanding the Forearm & Palm
Now for sanding the palm and forearm you will sand the sharp edges to make them smooth so the design can flow more. The most important part in sanding the palm is trying to sand down the spot where the thumb rest. You will want to sand down the corner and make it into something like a crescent or quarter circle.
Turning the Fingers Into Sections
In this step you will take your robot's fingers and start to cut them into sections you will want to make the cuts depending on your personal finger measurements for the distances between finger joints. I recommend that you make the cut in the middle of where you finger joint will be.
After each sections is cut out now to take a the base section(in the photo its D1) and cut a 45 degree angle at the top to make it a truncated cylinder. For the middle section you will do the same thing, But you will also cut a 45 degree cut at the bottom of the section as well, therefore it will have two 45 degree angle cut in it. For the finger tip you will need to cut the 45 degree angle at the bottom(see to photos if not clear).
Threading the Fishing Wire
This step is a really important step because it is the step that make the fingers actually move. The fingers move by a fishing wire pulling the sections of the fingers like a one of those string puppets. When installing the fishing wire you will need a sewing needle. With the wire, loop it into the needles hole for string. Once the wire is in, poke the needle through the base of the finger so that it pokes out from the top do the same thing for the middle and finger tip to connect the sections. Now that the string is in the finger, glue the wire to the fingertip so it doesn't fall out and make sure that there is enough fishing wire to reach the bottom of the forearm.
To attach the fingers to the palm take the needle and thread the bottom of the wire from the finger into the needle's string hole and pieres the palm with the needle going in at a 45 degree angle up. Thread the wire through the palm.
The next part of this step is to use a set of pliers and cut and bend paper clips into a horse shoe shape.You will use these paper clips to fasten and make kind of a path for the fishing wire and "the path" should go from the middle of the forearm to the side of the knuckles that is in the palm. Do this step for each of the fingers.(see to photos if not clear).
Making the Joints
The joints are also an important part because they are what connect the finger and what makes the fingers go back up after closing them. The joints are make out of rubber bands that were broken into rubber strips. the rubber strips go on the back of the fingers between two section of the finger making them connected.
The process of putting the rubber strips on is simple just put a little hot glue on each side of the finger sections and then gently place the rubber strip onto the glue and press down lightly. Put two rubber strips side by side in each joint and repeat until all of the fingers have the rubber strips on them.
Set Up of the Mechanics
The materials you need for this step is:
1x Arduino Uno
2x Servos
1x Connecter wire/or Power brick
1x Breadboard
The first thing you will want to do is connect the breadboard to the Arduino. Take a wire and put it going from the 5v in the Arduino to the negative side of the breadboard, then take a ground wire and put it in the positive side of the breadboard. Next you connect the positives and negatives of the Servos to the positives and negatives in the breadboard, and lastly you put the signal pin of the Servos into the Arduino's pins 10 and 11.
Now it's time for you to upload the code
l
l
V
-----------------------------------------------------------------------------------------------------------------
#include <Servo.h> //include the servo library
Servo thumb; //create a servo for the thumb
Servo pointer;// create a servo for the pointer
void setup()
{
thumb.attach(11); //plugged into pin 11
pointer.attach(10); //plugged into pin 10
}
void loop()
{
pinch(); // do the pinch function
delay(5000);
reset(); // reset the fingers position
delay(5000);
}
void pinch()
{
thumb.write(180); //turn servo to 180 degrees
pointer.write(180); //turn servo to 180 degrees
}
void reset()
{
thumb.write(0); //turn servo back to 0 degrees
pointer.write(0); //turn servo back to 0 degrees
}
-----------------------------------------------------------------------------------------------------------------
To connect the fishing wire to the servos you just thread the wire into one of the little holes that are in the servos top piece and tie a knot to keep it secure. It's important to make sure that the string is as tight as it can be while the fingers are in a open state.
In my project we only used two Servos for the thumb and pointer, because we only had enough Servos for each project to have two. what we did to fix the problem of what to do with the other fingers, is that we just made a manual pull cord for all three of the other fingers. You just pull the cord and all three of the fingers goes down.
Where to Put the Servos & Micro Controller
You might want to make a base for the robot hand to rest on because you will need somewhere to put the Arduino. The Servos on the other hand can be hot glued to the bottom of the forearm.
The Final Product
Congratulations you made it to the end of the project!! If anyone in the future tries this project please feel free to share your robot hand with me. There is an extra step under this one if you are curious about the amount of Styrofoam waste produced while making this project.
click the text for a video of the hand working
click the text for a video of the hand working
click the text for a video of the hand working
click the text for a video of the hand working
How to Find Out How Much Materials You Wasted
To find out how much of the Styrofoam was wasted we made a python code to tell you the amount of waste. all you need to do is input the measurements needed.
Here's the link to python online ----> https://www.online-python.com/
To find out the waste you can copy and paste the code under into the online python.
-----------------------------------------------------------------------------------------------------------------
#PYTHON CODE FOR MATH
import math
#INDEX FINGER
sec1F1H = float(input("Enter height of section 1 of finger 1: "))
sec1F1L = float(input("Enter length of section 1 of finger 1: "))
sec1F1W = float(input("Enter width of section 1 of finger 1: "))
sec1F1R = float(input("Enter radius of section 1 of finger 1: "))
sec2F1H = float(input("Enter height of section 2 of finger 1: "))
sec2F1L = float(input("Enter length of section 2 of finger 1: "))
sec2F1W = float(input("Enter width of section 2 of finger 1: "))
sec2F1R = float(input("Enter radius of section 2 of finger 1: "))
sec3F1H = float(input("Enter height of section 3 of finger 1: "))
sec3F1L = float(input("Enter length of section 3 of finger 1: "))
sec3F1W = float(input("Enter width of section 3 of finger 1: "))
sec3F1R = float(input("Enter radius of section 3 of finger 1: "))
#MIDDLE FINGER
sec1F2H = float(input("Enter height of section 1 of finger 2: "))
sec1F2L = float(input("Enter length of section 1 of finger 2: "))
sec1F2W = float(input("Enter width of section 1 of finger 2: "))
sec1F2R = float(input("Enter radius of section 1 of finger 2: "))
sec2F2H = float(input("Enter height of section 2 of finger 2: "))
sec2F2L = float(input("Enter length of section 2 of finger 2: "))
sec2F2W = float(input("Enter width of section 2 of finger 2: "))
sec2F2R = float(input("Enter radius of section 2 of finger 2: "))
sec3F2H = float(input("Enter height of section 3 of finger 2: "))
sec3F2L = float(input("Enter length of section 3 of finger 2: "))
sec3F2W = float(input("Enter width of section 3 of finger 2: "))
sec3F2R = float(input("Enter radius of section 3 of finger 2: "))
#RING FINGER
sec1F3H = float(input("Enter height of section 1 of finger 3: "))
sec1F3L = float(input("Enter length of section 1 of finger 3: "))
sec1F3W = float(input("Enter width of section 1 of finger 3: "))
sec1F3R = float(input("Enter radius of section 1 of finger 3: "))
sec2F3H = float(input("Enter height of section 2 of finger 3: "))
sec2F3L = float(input("Enter length of section 2 of finger 3: "))
sec2F3W = float(input("Enter width of section 2 of finger 3: "))
sec2F3R = float(input("Enter radius of section 2 of finger 3: "))
sec3F3H = float(input("Enter height of section 3 of finger 3: "))
sec3F3L = float(input("Enter length of section 3 of finger 3: "))
sec3F3W = float(input("Enter width of section 3 of finger 3: "))
sec3F3R = float(input("Enter radius of section 3 of finger 3: "))
#PINKY FINGER
sec1F4H = float(input("Enter height of section 1 of finger 4: "))
sec1F4L = float(input("Enter length of section 1 of finger 4: "))
sec1F4W = float(input("Enter width of section 1 of finger 4: "))
sec1F4R = float(input("Enter radius of section 1 of finger 4: "))
sec2F4H = float(input("Enter height of section 2 of finger 4: "))
sec2F4L = float(input("Enter length of section 2 of finger 4: "))
sec2F4W = float(input("Enter width of section 2 of finger 4: "))
sec2F4R = float(input("Enter radius of section 2 of finger 4: "))
sec3F4H = float(input("Enter height of section 3 of finger 4: "))
sec3F4L = float(input("Enter length of section 3 of finger 4: "))
sec3F4W = float(input("Enter width of section 3 of finger 4: "))
sec3F4R = float(input("Enter radius of section 3 of finger 4: "))
#Thumb
sec1F5H = float(input("Enter the height of section 1 of finger 5: "))
sec1F5L = float(input("Enter the length of section 1 of finger 5: "))
sec1F5W = float(input("Enter the width of section 1 of finger 5: "))
sec1F5R = float(input("Enter the radius of section 1 of finger 5: "))
sec2F5H = float(input("Enter the height of section 2 of finger 5: "))
sec2F5L = float(input("Enter the length of section 2 of finger 5: "))
sec2F5W = float(input("Enter the width of section 2 of finger 5: "))
sec2F5R = float(input("Enter the radius of section 2 of finger 5: "))
#3d rectangle of finger parts
RVs1F1 = sec1F1H * sec1F1L * sec1F1W
RVs2F1 = sec2F1H * sec2F1L * sec2F1W
RVs3F1 = sec3F1H * sec3F1L * sec3F1W
RVs1F2 = sec1F2H * sec1F2L * sec1F2W
RVs2F2 = sec2F2H * sec2F2L * sec2F2W
RVs3F2 = sec3F2H * sec3F2L * sec3F2W
RVs1F3 = sec1F3H * sec1F3L * sec1F3W
RVs2F3 = sec2F3H * sec2F3L * sec2F3W
RVs3F3 = sec3F3H * sec3F3L * sec3F3W
RVs1F4 = sec1F4H * sec1F4L * sec1F4W
RVs2F4 = sec2F4H * sec2F4L * sec2F4W
RVs3F4 = sec3F4H * sec3F4L * sec3F4W
RVs1F5 = sec1F5H * sec1F5L * sec1F5W
RVs2F5 = sec2F5H * sec2F5L * sec2F5W
#Cylinder of finger parts
CVs1F1 = math.pi * (sec1F1R**2) * sec1F1H
CVs2F1 = math.pi * (sec2F1R**2) * sec2F1H
CVs3F1 = math.pi * (sec3F1R**2) * sec3F1H
CVs1F2 = math.pi * (sec1F2R**2) * sec1F2H
CVs2F2 = math.pi * (sec2F2R**2) * sec2F2H
CVs3F2 = math.pi * (sec3F2R**2) * sec3F2H
CVs1F3 = math.pi * (sec1F3R**2) * sec1F3H
CVs2F3 = math.pi * (sec2F3R**2) * sec2F3H
CVs3F3 = math.pi * (sec3F3R**2) * sec3F3H
CVs1F4 = math.pi * (sec1F4R**2) * sec1F4H
CVs2F4 = math.pi * (sec2F4R**2) * sec2F4H
CVs3F4 = math.pi * (sec3F4R**2) * sec3F4H
CVs1F5 = math.pi * (sec1F5R**2) * sec1F5H
CVs2F5 = math.pi * (sec2F5R**2) * sec2F5H
#SemiSPHERE VOLUME
SemiSphVF1 = (math.pi * (4/3) * (sec1F1R**3)) / 2
SemiSphVF2 = (math.pi * (4/3) * (sec1F2R**3)) / 2
SemiSphVF3 = (math.pi * (4/3) * (sec1F3R**3)) / 2
SemiSphVF4 = (math.pi * (4/3) * (sec1F4R**3)) / 2
SemiSphVF5 = (math.pi * (4/3) * (sec1F5R**3)) / 2
SemiSphVTTF1 = CVs1F1 + SemiSphVF1
SemiSphVTTF2 = CVs1F2 + SemiSphVF2
SemiSphVTTF3 = CVs1F3 + SemiSphVF3
SemiSphVTTF4 = CVs1F4 + SemiSphVF4
SemiSphVTTF5 = CVs1F5 + SemiSphVF5
sec1F1H2 = float(input("Enter height 2 for section 1 finger 1: "))
sec2F1H2 = float(input("Enter height 2 for section 2 finger 1: "))
sec3F1H2 = float(input("Enter height 2 for section 3 finger 1: "))
sec1F2H2 = float(input("Enter height 2 for section 1 finger 2: "))
sec2F2H2 = float(input("Enter height 2 for section 2 finger 2: "))
sec3F2H2 = float(input("Enter height 2 for section 3 finger 2: "))
sec1F3H2 = float(input("Enter height 2 for section 1 finger 3: "))
sec2F3H2 = float(input("Enter height 2 for section 2 finger 3: "))
sec3F3H2 = float(input("Enter height 2 for section 3 finger 3: "))
sec1F4H2 = float(input("Enter height 2 for section 1 finger 4: "))
sec2F4H2 = float(input("Enter height 2 for section 2 finger 4: "))
sec3F4H2 = float(input("Enter height 2 for section 3 finger 4: "))
sec1F5H2 = float(input("Enter height 2 for section 1 finger 5: "))
sec2F5H2 = float(input("Enter height 2 for section 2 finger 5: "))
TruncatedCVs1F1 = ((sec1F1R**2) * math.pi * (sec1F1H + sec1F1H2)) / 2
TruncatedCVs2F1 = ((sec2F1R**2) * math.pi * (sec2F1H + sec2F1H2)) / 2
TruncatedCVs3F1 = ((sec3F1R**2) * math.pi * (sec3F1H + sec3F1H2)) / 2
TTruncatedCVs2F1 = TruncatedCVs2F1 - (CVs2F1 - TruncatedCVs2F1) #TOTAL CODE FOR SEC2 DOUBLE TRUNCATE
TruncatedCVs1F2 = ((sec1F2R**2) * math.pi * (sec1F2H + sec1F2H2)) / 2
TruncatedCVs2F2 = ((sec2F2R**2) * math.pi * (sec2F2H + sec2F2H2)) / 2
TruncatedCVs3F2 = ((sec3F2R**2) * math.pi * (sec3F2H + sec3F2H2)) / 2
TTruncatedCVs2F2 = TruncatedCVs2F2 - (CVs2F2 - TruncatedCVs2F2)
TruncatedCVs1F3 = ((sec1F3R**2) * math.pi * (sec1F3H + sec1F3H2)) / 2
TruncatedCVs2F3 = ((sec2F3R**2) * math.pi * (sec2F3H + sec2F3H2)) / 2
TruncatedCVs3F3 = ((sec3F3R**2) * math.pi * (sec3F3H + sec3F3H2)) / 2
TTruncatedCVs2F3 = TruncatedCVs2F3 - (CVs2F3 - TruncatedCVs2F3)
TruncatedCVs1F4 = ((sec1F4R**2) * math.pi * (sec1F4H + sec1F4H2)) / 2
TruncatedCVs2F4 = ((sec2F4R**2) * math.pi * (sec2F4H + sec2F4H2)) / 2
TruncatedCVs3F4 = ((sec3F4R**2) * math.pi * (sec3F4H + sec3F4H2)) / 2
TTruncatedCVs2F4 = TruncatedCVs2F4 - (CVs2F4 - TruncatedCVs2F4)
TruncatedCVs1F5 = ((sec1F5R**2) * math.pi * (sec1F5H + sec1F5H2)) / 2
TruncatedCVs2F5 = ((sec2F5R**2) * math.pi * (sec2F5H + sec2F5H2)) / 2
#(WASTE)
Ws1F1 = RVs1F1 - CVs1F1
Ws2F1 = RVs2F1 - CVs2F1
Ws3F1 = RVs3F1 - CVs3F1
Ws1F2 = RVs1F2 - CVs1F2
Ws2F2 = RVs2F2 - CVs2F2
Ws3F2 = RVs3F2 - CVs3F2
Ws1F3 = RVs1F3 - CVs1F3
Ws2F3 = RVs2F3 - CVs2F3
Ws3F3 = RVs3F3 - CVs3F3
Ws1F4 = RVs1F4 - CVs1F4
Ws2F4 = RVs2F4 - CVs2F4
Ws3F4 = RVs3F4 - CVs3F4
Ws1F5 = RVs1F5 - CVs1F5
Ws2F5 = RVs2F5 - CVs2F5
WTs1F1 = CVs1F1 - TruncatedCVs1F1
WTs2F1 = CVs2F1 - TTruncatedCVs2F1
WTs3F1 = CVs3F1 - TruncatedCVs3F1
WTs1F2 = CVs1F2 - TruncatedCVs1F2
WTs2F2 = CVs2F2 - TTruncatedCVs2F2
WTs3F2 = CVs3F2 - TruncatedCVs3F2
WTs1F3 = CVs1F3 - TruncatedCVs1F3
WTs2F3 = CVs2F3 - TTruncatedCVs2F3
WTs3F3 = CVs3F3 - TruncatedCVs3F3
WTs1F4 = CVs1F4 - TruncatedCVs1F4
WTs2F4 = CVs2F4 - TTruncatedCVs2F4
WTs3F4 = CVs3F4 - TruncatedCVs3F4
WTs1F5 = CVs1F5 - TruncatedCVs1F5
WTs2F5 = CVs2F5 - TruncatedCVs2F5
#total formulas
FINGER1RV = RVs1F1 + RVs2F1 + RVs3F1
FINGER2RV = RVs1F2 + RVs2F2 + RVs3F2
FINGER3RV = RVs1F3 + RVs2F3 + RVs3F3
FINGER4RV = RVs1F4 + RVs2F4 + RVs3F4
FINGER5RV = RVs1F5 + RVs2F5
FINGER1CV = CVs1F1 + CVs2F1 + CVs3F1
FINGER2CV = CVs1F2 + CVs2F2 + CVs3F2
FINGER3CV = CVs1F3 + CVs2F3 + CVs3F3
FINGER4CV = CVs1F4 + CVs2F4 + CVs3F4
FINGER5CV = CVs1F5 + CVs2F5
FINGER1V = TruncatedCVs1F1 + TTruncatedCVs2F1 + TruncatedCVs3F1
FINGER2V = TruncatedCVs1F2 + TTruncatedCVs2F2 + TruncatedCVs3F2
FINGER3V = TruncatedCVs1F3 + TTruncatedCVs2F3 + TruncatedCVs3F3
FINGER4V = TruncatedCVs1F4 + TTruncatedCVs2F4 + TruncatedCVs3F4
FINGER5V = TruncatedCVs1F5 + TruncatedCVs2F5
TTWASTE = Ws1F1 + Ws2F1 + Ws3F1 + Ws1F2 + Ws2F2 + Ws3F2 + Ws1F3 + Ws2F3 + Ws3F3 + Ws1F4 + Ws2F4 + Ws3F4 + Ws1F5 + Ws2F5 + WTs1F1 + WTs2F1 + WTs3F1 + WTs1F2 + WTs2F2 + WTs3F2 + WTs1F3 + WTs2F3 + WTs3F3 + WTs1F4 + WTs2F4 + WTs3F4 + WTs1F5 + WTs2F5
#display the answers
#finger 1
print(" ")
print(" ")
print("The total volume of finger 1 with truncated cylinder is: {0:.3f}".format(FINGER1V))
print(" ")
print("The total volume of finger 1 rectangle is: {0:.3f}".format(FINGER1RV))
print("The total volume of section 1 finger 1 rectangle: {0:.3f}".format(RVs1F1))
print("The total volume of section 2 finger 1 rectangle: {0:.3f}".format(RVs2F1))
print("The total volume of section 3 finger 1 rectangle: {0:.3f}".format(RVs3F1))
print(" ")
print("The total volume of finger 1 cylinder is: {0:.3f}".format(FINGER1CV))
print(" ")
print("The total volume of section 1 finger 1 cylinder: {0:.3f}".format(CVs1F1))
print("The total volume of section 2 finger 1 cylinder: {0:.3f}".format(CVs2F1))
print("The total volume of section 3 finger 1 cylinder: {0:.3f}".format(CVs3F1))
print(" ")
#finger 2
print("The total volume of finger 2 with truncated cylinder is: {0:.3f}".format(FINGER2V))
print(" ")
print("The total volume of finger 2 rectangle is: {0:.3f}".format(FINGER2RV))
print("The total volume of section 1 finger 2 rectangle: {0:.3f}".format(RVs1F2))
print("The total volume of section 2 finger 2 rectangle: {0:.3f}".format(RVs2F2))
print("The total volume of section 3 finger 2 rectangle: {0:.3f}".format(RVs3F2))
print(" ")
print("The total volume of finger 2 cylinder is: {0:.3f}".format(FINGER2CV))
print(" ")
print("The total volume of section 1 finger 2 cylinder: {0:.3f}".format(CVs1F2))
print("The total volume of section 2 finger 2 cylinder: {0:.3f}".format(CVs2F2))
print("The total volume of section 3 finger 2 cylinder: {0:.3f}".format(CVs3F2))
print(" ")
#finger 3
print("The total volume of finger 3 with truncated cylinder is: {0:.3f}".format(FINGER3V))
print(" ")
print("The total volume of finger 3 rectangle is: {0:.3f}".format(FINGER3RV))
print("The total volume of section 1 finger 3 rectangle: {0:.3f}".format(RVs1F3))
print("The total volume of section 2 finger 3 rectangle: {0:.3f}".format(RVs2F3))
print("The total volume of section 3 finger 3 rectangle: {0:.3f}".format(RVs3F3))
print(" ")
print("The total volume of finger 3 cylinder is: {0:.3f}".format(FINGER3CV))
print(" ")
print("The total volume of section 1 finger 3 cylinder: {0:.3f}".format(CVs1F3))
print("The total volume of section 2 finger 3 cylinder: {0:.3f}".format(CVs2F3))
print("The total volume of section 3 finger 3 cylinder: {0:.3f}".format(CVs3F3))
print(" ")
#finger 4
print("The total volume of finger 4 with truncated cylinder is: {0:.3f}".format(FINGER4V))
print(" ")
print("The total volume of finger 4 rectangle is: {0:.3f}".format(FINGER4RV))
print("The total volume of section 1 finger 4 rectangle: {0:.3f}".format(RVs1F4))
print("The total volume of section 2 finger 4 rectangle: {0:.3f}".format(RVs2F4))
print("The total volume of section 3 finger 4 rectangle: {0:.3f}".format(RVs3F4))
print(" ")
print("The total volume of finger 4 cylinder is: {0:.3f}".format(FINGER1CV))
print(" ")
print("The total volume of section 1 finger 4 cylinder: {0:.3f}".format(CVs1F4))
print("The total volume of section 2 finger 4 cylinder: {0:.3f}".format(CVs2F4))
print("The total volume of section 3 finger 4 cylinder: {0:.3f}".format(CVs3F4))
print(" ")
#finger 5
print("The total volume of finger 5 with truncated cylinder is: {0:.3f}".format(FINGER5V))
print(" ")
print("The total volume of finger 5 rectangle is: {0:.3f}".format(FINGER5RV))
print("The total volume of section 1 finger 5 rectangle: {0:.3f}".format(RVs1F5))
print("The total volume of section 2 finger 5 rectangle: {0:.3f}".format(RVs2F5))
print(" ")
print("The total volume of finger 5 cylinder is: {0:.3f}".format(FINGER5CV))
print(" ")
print("The total volume of section 1 finger 5 cylinder: {0:.3f}".format(CVs1F5))
print("The total volume of section 2 finger 5 cylinder: {0:.3f}".format(CVs2F5))
print(" ")
#waste volume
print("The waste produced by section 1 finger 1 is: {0:.3f}".format(Ws1F1))
print("The waste produced by section 2 finger 1 is: {0:.3f}".format(Ws2F1))
print("The waste produced by section 3 finger 1 is: {0:.3f}".format(Ws3F1))
print(" ")
print("The waste produced by section 1 finger 2 is: {0:.3f}".format(Ws1F2))
print("The waste produced by section 2 finger 2 is: {0:.3f}".format(Ws2F2))
print("The waste produced by section 3 finger 2 is: {0:.3f}".format(Ws3F2))
print(" ")
print("The waste produced by section 1 finger 3 is: {0:.3f}".format(Ws1F3))
print("The waste produced by section 2 finger 3 is: {0:.3f}".format(Ws2F3))
print("The waste produced by section 3 finger 3 is: {0:.3f}".format(Ws3F3))
print(" ")
print("The waste produced by section 1 finger 4 is: {0:.3f}".format(Ws1F4))
print("The waste produced by section 2 finger 4 is: {0:.3f}".format(Ws2F4))
print("The waste produced by section 3 finger 4 is: {0:.3f}".format(Ws3F4))
print(" ")
print("The waste produced by section 1 finger 5 is: {0:.3f}".format(Ws1F5))
print("The waste produced by section 2 finger 5 is: {0:.3f}".format(Ws2F5))
#The truncated cylinder waste
print("The waste produced by section 1 finger 1 of the truncated cylinder is: {0:.3f}".format(WTs1F1))
print("The waste produced by section 2 finger 1 of the truncated cylinder is: {0:.3f}".format(WTs2F1))
print("The waste produced by section 3 finger 1 of the truncated cylinder is: {0:.3f}".format(WTs3F1))
print(" ")
print("The waste produced by section 1 finger 2 of the truncated cylinder is: {0:.3f}".format(WTs1F2))
print("The waste produced by section 2 finger 2 of the truncated cylinder is: {0:.3f}".format(WTs2F2))
print("The waste produced by section 3 finger 2 of the truncated cylinder is: {0:.3f}".format(WTs3F2))
print(" ")
print("The waste produced by section 1 finger 3 of the truncated cylinder is: {0:.3f}".format(WTs1F3))
print("The waste produced by section 2 finger 3 of the truncated cylinder is: {0:.3f}".format(WTs2F3))
print("The waste produced by section 3 finger 3 of the truncated cylinder is: {0:.3f}".format(WTs3F3))
print(" ")
print("The waste produced by section 1 finger 4 of the truncated cylinder is: {0:.3f}".format(WTs1F4))
print("The waste produced by section 2 finger 4 of the truncated cylinder is: {0:.3f}".format(WTs2F4))
print("The waste produced by section 3 finger 4 of the truncated cylinder is: {0:.3f}".format(WTs3F4))
print(" ")
print("The waste produced by section 1 finger 5 of the truncated cylinder is: {0:.3f}".format(WTs1F5))
print("The waste produced by section 2 finger 5 of the truncated cylinder is: {0:.3f}".format(WTs2F5))
print(" ")
print("The total volume of waste produced is: {0:.3f}".format(TTWASTE))