Escolar Documentos
Profissional Documentos
Cultura Documentos
Mahmudur Rahman-12.01.05.001
Fahia Munna-12.01.05.002
Kazi Afsana-12.01.05.003
Marwa Nabi-12.01.05.005
Ishtiaq hossian-12.01.05.013
Nazmus Sakib-12.01.05.016
Robotic Hand
Abstract:
A robotic arm is a robotic manipulator, usually programmable, with similar functions to a human
arm .Servo motor is used for joint rotation. It has about same number of degree of freedom as in
human arm. Humans pick things up without thinking about the steps involved. In order for a
robot or a robotic arm to pick up or move something, someone has to tell it to perform several
actions in a particular order from moving the arm, to rotating the wrist to opening and closing
the hand or fingers. .So, we can control each joint through computer interface.
Equipments:
1.
2.
3.
4.
5. Power Supply
6. Veroboard
7. Bolts and Screws
8. Partex Baseboard
9. Acrylic Plastic Board
10. Horn
3.Arduino:
Block Diagram:
Power Supply:
Each servo can potentially draw up to 1.8A under full load, so we have used a power supply
capable of at least 4A at 4.8V and 5A at 6V. The highest current would be when the robot is
stretched horizontally and is lifting a weight (it may peak up to 10A momentarily).
Servo Control:
A servo motor mainly consists of a DC motor, gear system, a position sensor which is mostly a
potentiometer, and control electronics. The DC motor is connected with a gear mechanism which
provides feedback to a position sensor which is mostly a potentiometer. From the gear box, the
output of the motor is delivered via servo spline to the servo arm. The potentiometer changes
position corresponding to the current position of the motor. So the change in resistance produces
an equivalent change in voltage from the potentiometer. A pulse width
modulated signal is fed through the control wire. The pulse width is converted into an equivalent
voltage that is compared with that of signal from the potentiometer in an error amplifier.
The servo motor can be moved to a desired angular position by sending PWM (pulse width
modulated) signals on the control wire. The servo understands the language of pulse position
modulation. A pulse of width varying from 1 millisecond to 2 milliseconds in a repeated time
frame is sent to the servo for around 50 times in a second. The width of the pulse determines the
angular position.
For example, a pulse of 1 millisecond moves the servo towards 0, while a 2 milliseconds wide
pulse would take it to 180. The pulse width for in between angular positions can be interpolated
accordingly. Thus a pulse of width 1.5 milliseconds will shift the servo to 90.
It must be noted that these values are only the approximations. The actual behavior of the servos
differs based on their manufacturer.
A sequence of such pulses (50 in one second) is required to be passed to the servo to sustain a
particular angular position. When the servo receives a pulse, it can retain the corresponding
angular position for next 20 milliseconds. So a pulse in every 20 millisecond time frame must be
fed to the servo.
// ground servo
Servo g2;
// ground servo
void setup()
{
myservo.attach(9); //9
g1.attach(3);
g2.attach(5); //5
kat.attach(6); //6
sam.attach(10); //10
grip.attach(11);
pinMode(13, OUTPUT);
Serial.begin(9600);
Serial.print(" Start " );
}
void loop ()
{
static int val = 0;
if( Serial.available())
{
cmd = Serial.read();
if( cmd == 'd')
{
g1.detach();
g2.detach();
myservo.detach();
sam.detach();
kat.detach();
grip.detach();
Serial.println( " detached" );
myservo.attach(9);
g1.attach(3);
g2.attach(5);
kat.attach(6);
sam.attach(10);
grip.attach(11);
Serial.println(" attached " );
}
else if ( cmd == 'r')
{
sam.detach();
Serial.println(" sam detached ");
}
else if( cmd == 'u')
{
g1.attach(3);
g2.attach(5);
Serial.println(" ground attached ");
else
{
switch(cmd) {
case '0'...'9':
val = 0;
break;
case 'g':
wr("gnd" , val);
val = 0;
break;
case 'h':
wr("k" , val);
val = 0;
break;
case 'j':
wr("s" , val);
val = 0;
break;
case 'k':
wr("g" , val);
val = 0;
break;
case 'c' :
myservo.write(pos);
delay(15 }
Break; } }
Degree of freedom:
The degree of freedom, or DOF, is a very important term to understand. Each degree of freedom
is a joint on the arm, a place where it can bend or rotate or translate. You can typically identify
the number of degrees of freedom by the number of actuators on the robot arm. Now this is very
important - when fabricating a robotic arm we want as few degrees of freedom allowed for our
application. Because each degree requires a motor, often an encoder, and exponentially
complicated algorithms and this result in increased cost
Project Images:
Trouble Shooting:
1. In our robotic hand the 1st and 2nd elbow take a heavy load. Due to the heavy load, those
motors connected to the elbows draw large number of currents. But highest current
rating of the motors are 0.9A.So when we first attempted to run the hand, the motors
were damaged. Then we had to change the motors.
2. The rotating gear got jammed several times. So, the base was not rotating then.
3. While attatching the claw with the servo motor we have suffered a lot .The gear of the
claw gets jammed several times & then we had to attatch it several times.After attatching
the claw we got our biggest problem,our hand cant move after attatching the claw
especially the servo motor of the elbow got burnt several times.Then we replaced several
servo moto(16 kgcm ).but there was no improvement .At last we got our solution after
decreasing the distance between claw & wrist.It means our load was too high but it was
not so high that the servo can not work.The reason is still unknown.
4. At first we used acrylic iron board to make the hands. But that was too heavy. So then we
have used acrylic plastic board to make the hand.
5. zero degree angles for the elbow and wrist would cause the arm to try to reach a
position it is mechanically incapable of reaching. Therefore when configuring the arm,
we uses two different angles (such as 90 degrees and 180 degrees) and the associated
servo pulses to develop a linear equation relating the servo pulse to the angle.
Applications:
1. The robotic arm can be designed to perform any desired task such as welding, gripping,
spinning etc., depending on the application.
2. The robot arms can be autonomous or controlled manually and can be used to perform a
variety of tasks with great accuracy. The robotic arm can be fixed or mobile (i.e.
wheeled) and can be designed for industrial or home applications. Robotic hands often
have built-in pressure sensors that tell the computer how hard the robot is gripping a
particular object. This keeps the robot from dropping or breaking whatever it's carrying.
Future Work:
1. Increasing the degrees of freedom of the robotic arm by implanting more servos motors.
2. Implementing the inverse kinematics technique in robotic arm.
3. Equipping the robotic arm with tactile sensors, proximity sensors.
4. Developing the graphical user interface for making the arm more user friendly and
developing a web interface so that arm could be controlled in remote place by your Web browser.
Acknowledgement:
We could like to thank our honourable teacher Hasib Md.Abid bin farid, Associate Professor,
Dept. of EEE, Ahsanullah University of Science and Technology, for his exemplary guidance,
monitoring and constant encouragement throughout the course of this project.
Reference:
1.
http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.robotshop.com%2Fblog%2Fen%2Fr
obot-arm-torque-tutorial-7152&h=OAQHcXCVF
2.http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.societyofrobots.com%2Factuators_
servos.shtml&h=4AQHFLTWL
3. http://www.facebook.com/l.php?u=http%3A%2F%2Farduino.cc%2F&h=OAQHcXCVF
4.http://www.facebook.com/l.php?u=http%3A%2F%2Fscience.howstuffworks.com%2Frobot2.h
tm&h=OAQHcXCVF
5.Wikipedia
6.Youtube Tutorial