Professional Documents
Culture Documents
Robotic Arm: Team Members
Robotic Arm: Team Members
TEAM MEMBERS:
1.
2.
3.
RITESH KUMAR
SUGAM ANAND
RITESH GAUTAM
Description
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
Overview
Degree of Freedom:4
Payload Capacity(Fully Extended) : 150gm
Maximum Reach(Fully Extended) : 35cm
Rated speed(Adjustable) : 0-0.3 m/s
Joint speed(Adjustable) : 0-60 rpm
Hardware interface : USB
Control Software : computer interface(GUI)
Shoulder Base Spin : 180
Shoulder Pitch : 180
Elbow Pitch : 180
Wrist Pitch : 180
Gripper Opening(Max) : 8cm
Hitec splines have 24 teeth while Futaba splines are of 25 teeth. Therefore splines
made for one servo type cannot be used with another. Spline is the place where a
servo arm is connected. It is analogous to the shaft of a common DC motor.
Unlike DC motors, reversing the ground and positive supply connections does not change
the direction (of rotation) of a servo. This may, in fact, damage the servo motor. That is why
it is important to properly account for the order of wires in a servo motor.
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.
The required pulse train for controlling the servo motor can be generated by a timer IC such
as 555 or a microcontroller can be programmed to generate the required waveform. Refer
Servo Motor interfacing with 8051 microcontroller and Servo control using AVR ATmega16.
Assembled Servomotor
Bracket
http://students.iitk.ac.in/projects/roboticsclub/robotic_arm
Torque of each Servo Used
Minimum Necessary
Use
(kg-cm)
(kg-cm)
1.Base
4.0
6.5
2.Shoulder
19.2
20
3.Elbow
12.2
14.5
4.Wrist
4.4
6.5
to atmega 16 for generating the required square wave for driving the servo motors
count++;
if(count>=SERVO_TIME_PERIOD)
{ count=0;
PORTA.0=1;
PORTA.1=1;
PORTA.2=1;
PORTA.3=1;
PORTA.4=1;
}
if(count>=x[0])
PORTA.3=0;
if(count>=x[1])
PORTA.0=0;
if(count>=x[2])
PORTA.1=0;
if(count>=x[3])
PORTA.2=0;
if(count>=x[4])
PORTA.4=0; }
Programming Methodolgy
The data is transferred from the openCV GUI in following format:- a123 .The first alphabetical
character denoted the servo to be activated and the later digits denote the angle at which that particular
servo has to rotate.
void sending_base(int y)
{ int i,n;
n= .58 * x1 +52;
conv_four(n,0);}
void sending_shoulder(int y)
{int n;
n= .58 * x2 +62;
conv_four(n,1); }
void sending_elbow(int y)
{ int n;
n= .69 * x3 +52;
conv_four(n,2); }
void sending_wrist(int y)
{int n;
n= .58 * x4 +80;
conv_four(n,3);}
void sending_gripper(int y)
{ int n;
n= x5* 85 + 55 ;
conv_four(n,4); }
Application of
Robotic Arm
The robotic arm can be designed to perform any desired task such as welding, gripping,
spinning etc., depending on the application. For example robot arms in automotive
assembly line perform a variety of tasks such as wielding and parts rotation and
placement during assembly.
In space the space shuttle Remote Manipulator System have multi degree of
freedom robotic arms that have been used to perform a variety of tasks such as
inspections of the Space Shuttle using a specially deployed boom with cameras
and sensors attached at the end effector.
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.
Other end effectors include blowtorches, drills and spray painters.this improves their
performance.
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.
Acknowledgements
We would like to express our sincere thanks to robotics club,iit Kanpur and our
coordinators
1. Mukul singh
2. Nehchal Jindal
3. Subhojit ghosh
We would also like to thank pranay aggrawal and 4-i lab ,iit Kanpur for their help in
completing the project successfully.
References/Web links
1. For pwm generation through atmega 16 microcontroller
http://enricorossi.org/blog/2010/avr_atmega16_fast_pwm/
2. For developing the graphical user interface using the opencv
The best way to learn opencv is to read the oreilly s book Learning OpenCV:computer
vision with opencv library.
http://opencv.willowgarage.com/documentation/highgui._highlevel_gui_and_media_io.htm
http://www.aishack.in/
3.