Sunteți pe pagina 1din 29

Integration of Robotic Arm with

Vision System.

TEAM MEMBERs:
TEAM GUIDE :
Dr. C.Umayal HIMANSHU KUMAR 15BEE1023
ABHISHEK PRAKASH 15BEE1035
OBJECTIVE
Robotic arm is used in inventory management system in which objects are
segregated based on shape, size and color. The entire process is achieved in
three stages.
A camera captures the image of the object and its output is processed using
image processing techniques, in order to identify the object color.
Design a Robotic arm with required degrees of freedom and develop a
program to move the robotic arm.
Integrate the vision system with Robotic arm by making it to place the
objects in suitable place.
Assembling and Controlling a Robotic Arm
• A robot arm has a mechanical structure that alters its form using
a group of electric motors that behave like servo motors,
pneumatic, or hydraulic actuators. They attempt to reproduce
movement similar to a human arm.
• A common term that’s used when a robot arm is designed is the
DOF (degrees of freedom); it is related to roll, yaw, and pitch.
For example, using you own arm and following Figure 11-2, try to reproduce the
following movements:
• Shoulder pitch
• Shoulder roll
• Arm yaw
• Elbow pitch
• Wrist pitch
• Wrist yaw
• Wrist roll

There are several factors you must consider when constructing a robot arm,
including the maximum load weight, the stall torques of each one of the servos,
how much weight each servo must support related to its position in the arm, and
the weight each frame that constitutes the arm.
Model

L -links
A – joints
Ø -DOF
Stall Torque
• when you read that a servo supports a specific amount of Kg/cm or
oz/inch, it means the servo hangs if you apply the weight mentioned in
a 1-cm or 1-inch arm.
• The length is represented by L and it’s the measurement of center of
the servo’s shaft to the end of the arm. The letter M represents the
quantity of mass (weight) attached to the end of the arm.
• Torque is force times length, By definition, torque must consider the
perpendicular length and not the arm length as you see in the servo
specification.
• The formula that defines torque can be expressed as follows:
T=F×L
F=m×g
So you can conclude:
T = F × L = (m × g) × L
• Where T means torque, L is the perpendicular length, m is the mass, and g
is the gravitational acceleration. Of course, the force (F) in this case never
changes since the mass is constant and subjected to the same
gravitational acceleration.
• Thus you can say the worst-case condition is: Worst-case perpendicular length with a
weight T = F × L3
• Now imagine the arm with this perpendicular length and a load. With a
weight identified as A and located L1 from the servo, you can consider
(approximately) that arm weight occupies the center of the mass of L2. The
torque must take into account the two weights (A and F) and the two
distances (L1 and L2). The torque in this scenario is as follows:
T = A × L1 + F ×
L2
T = A × L1 + F ×
(L1/2)
• However, a robotic arm is a set of servos joined together to create one arm.
Consider the robotic arm.
Using an Online Tool to Calculate Your
Servos
• The web site robotshop.com offers a very nice online tool that
helps you calculate the servos that must be used in your arm. To
use this tool, visit http://www.robotshop.com/blog/en/robot-arm-
torque-calculator-9712 and enter the arm and servo data. where L
is the arm’s length, M is the weight in kg of each part of your arm,
and A is the weight of your servos. Don’t forget to include the load
max in the gripper servo.
Web-based robot arm calculator provided by
robotshop.com
The Robotic Arm
STRUCTURE

• There are thousands of robot arm kits, instructions for building


your own robot out of wood, 3D printing, scrap materials, and
more. This arm has a low-cost arm kit that has a good quality
acrylic sheet.
• The arm offers five DOF and comes with a gripper that offers two
DOF, totaling seven DOF. You can order only the mechanical parts
or you can include the servos as well.
Mechanical Design
• The mechanical design of the robot arm is based on a robot
manipulator with similar functions to a human arm . The links of
such a manipulator are connected by joints allowing rotational
motion and the links of the manipulator is considered to form a
kinematic chain. The business end of the kinematic chain of the
manipulator is called the end effector or end of arm tooling and it
is analogous to the human hand. Shows the Free Body Diagram for
mechanical design of the robotic arm.
Parts of a robotic arm and gripper offering six DOF
The kit
The kit includes an arm with:
• Four long plates used for arm
• circular disk plates used for the base
• One mechanical gripper
• Six metallic servo wheels
• Two cup bearings
• Several screws and nuts (more than you need).
• Piece of wood around
The specifications for MG945 Servomotor used are as follows:
• Weight- 55g
• Dimension- 40.7*19.7*42.9mm
• Stall torque- 10kg/cm
• Operating speed-0.20sec/60degree(4.8v)
• Operating voltage 4.8-7.2V.
• Temperature range 0-55 degrees.
MGR945 servo motor

The specifications for small Servomotor G9 used are as follows:


• Weight: 9 g
• Dimension: 22.2 x 11.8 x 31 mm approx.
• Stall torque: 1.8 kgf·cm • Operating speed: 0.1 s/60 degree
• Operating voltage: 4.8 V (~5V)
• Dead band width: 10 μs
• Temperature range: 0 ºC – 55 ºC
G9 Servo Motor
Assembling

1. Align the servo motor to 90º degree.


2. Assembling the Base.
3. Assembling the Shoulder.
4. Assembling the Elbow.
5. Assembling the Wrist.
6. Assembling the Mechanical Gripper
Servo Motor
• Servo refers to an error sensing positive feedback control which is used to
correct the performance of a system. Servo or RC Servo Motors are DC
motors equipped with a servo mechanism for precise control of angular
position.
• The RC servo motors usually have a rotation limit from 90° to 180°. But
servos do not rotate continually. Their rotation is restricted in between
the fixed angles.
• The Servos are used for precision positioning. They are used in robotic
arms and legs, sensor scanners and in RC toys like RC helicopter, airplanes
and cars.
• Servomotors are not a specific class of motor although the
term servomotor is often used to refer to a motor suitable for use in
a closed-loop controlsystem.
Explanation
• The servo motor is actually an assembly of four things: a normal DC motor, a gear reduction unit, a
position-sensing device and a control circuit. 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. For standard servo motors,
the gear is normally made up of plastic whereas for high power servos, the gear is made up of
metal.
• A servo motor consists of three wires- a black wire connected to ground, a white/yellow wire
connected to control unit and a red wire connected to power supply.
• The function of the servo motor is to receive a control signal that represents a desired output
position of the servo shaft and apply power to its DC motor until its shaft turns to that position.
• It uses the position sensing device to figure out the rotational position of the shaft, so it knows
which way the motor must turn to move the shaft to the instructed position. The shaft commonly
does not rotate freely around similar to a DC motor.
Block diagram of a Servo motor
Working of a Servo Motor

• The Servo Motor basically consists of a DC Motor, a Gear system, a position


sensor and a control circuit. The DC motors get powered from a battery and
run at high speed and low torque. The Gear and shaft assembly connected
to the DC motors lower this speed into sufficient speed and higher torque.
The position sensor senses the position of the shaft from its definite
position and feeds the information to the control circuit. The control circuit
accordingly decodes the signals from the position sensor and compares the
actual position of the motors with the desired position and accordingly
controls the direction of rotation of the DC motor to get the required
position. The Servo Motor generally requires DC supply of 4.8V to 6 V.
Controlling a Servo Motor
• A servo motor is controlled by controlling its position using Pulse Width Modulation
Technique. The width of the pulse applied to the motor is varied and send for a fixed
amount of time.
• The pulse width determines the angular position of the servo motor. For example a
pulse width of 1 ms causes a angular position of 0 degrees, whereas a pulse width of 2
ms causes a angular width of 180 degrees.
Advantages:
• If a heavy load is placed on the motor, the driver will increase the current to the motor
coil as it attempts to rotate the motor. Basically, there is no out-of-step condition.
• High-speed operation is possible.
Disadvantages:
• Since the servomotor tries to rotate according to the command pulses, but lags behind,
it is not suitable for precision control of rotation.
• Higher cost.
• When stopped, the motor’s rotor continues to move back and forth one pulse, so that it
is not suitable if you need to prevent vibration
Back EMF of Servo Motor

• When using Raspberry Pi and motors (well any electronics and motors) we
must consider back emf, this is when any inductor (motor coil) is switched off,
it can produce a huge voltage spike, this will kill a control circuit if not
addressed.
• In case we are using the 6 servo motor with high current value around 3A so
the spike current also may be considerable and may kill the Raspberry pi .
• In our case there is a solution either we can use the servo motor driver, which
may increase the cost of project .
• Arduino are not much sensitive for back emf so we can use Arduino and can
control servo motors. All at once without servo drivers.
Reason
• To save Raspberry pi pins from back emf , we are using Arduino nano
with current module.
• Current module- 5V 3A which control the servo motor with high
speed can be controlled by Arduino IDE code using iteration loop and
delay command.
Flow chart of controlling Arm.
START

INSTRUCT ARM
INITIAL POSITION TO PICK
NO
SERVO -90 DEGREE

SEARCH
START ARM PICK AND
PLACE

IF FOUND

YES

IMAGE PROCESSING-
RGB
Cost Analysis
S.N Component Quanti Cost/component Price(INR)
0. ty (INR)
1. Raspberry pi 3 Model 1 3000 3000
B+
2. Logitech C270 HD 1 1300 1300
Webcam
3. MG945 servo motor 5 350 1750
4. 9G servo motor 2 110 220
5. 6 DOF Acrylic 1 1800 1800
Mechanical Robotic arm
6. Current module 5V 3A 1 280 280
7. Dot board 1 15 15
8. Jumper wires 30 2 60
Total Cost 8425
Future work
• As if now the image processing is done and able to detect the color and
specific object using python.
• Script terminal able to detect the color of the object .
• Accuracy can be achieved maximum if the camera is near to the object
so arm able to pick the accurate object and place.
• Robotic arm can initiate with defined initial position and search the
object and perform pick and place algorithm.
• It can also be work on manual method using potentiometer so the on
critical case accuracy can be achieved.

Result and Discussion


• Integration of both robotic arm and vision system .
Reference.
International Conference paper.

• Integration of Robotic Arm with Vision System MademRavitej Reddy PG student, Department of
Computer Science, Amrita Vishwa Vidyapeetham, Bangalore Campus ravitej.madem@gmail.com
Nagaraja S. Professor, Department of Mechanical Engineering, Amrita Vishwa Vidyapeetham, Bangalore
Campus sr_nagaraja@blr.amrita.edu

• DESIGN AND DEVELOPMENT OF ARDUINO CONTROLLED WRITING ROBOT R.Balathangam [1],


P.Mathipriya [2], R.Pavithra [3], G.Prithiviraj [4], U.Poornima [5] Students[1,2,3,4], Assistant
Professor[5], Dept. of Electronics and Communication Engineering , Parisutham Institute of Technology
and Science , Tamil Nadu , India

• Microcontroller Based Robotic Arm Operational to Gesture and Automated Mode .Mohammad Javed
Ansari, Ali Amir Dept. of Electrical & Electronic Engineering Int’l Islamic University Chittagong (IIUC)
Chittagong, Bangladesh emailofjaved@gmail.com, ali.amir@yahoo.com Md. Ahsanul Hoque Lecturer,
Dept. of Electrical & Electronic Engineering Int’l Islamic University Chittagong (IIUC) Chittagong,
Bangladesh ahsan.eee03@gmail.com, ahsan@eee.iiuc.ac.bd
International Journal papers.

• Performance comparison of robotic arm using Arduino and Matlab ANFIS


NaserAlanabi1 , Dr. Jyoti Shrivastava2
• Practical Applications for Robotic Arms Using Image Processing Mihai
Dragusu1, Anca Nicoleta Mihalache1 and Razvan Solea2, member, IEEE
• Remote Control of Robot Arm with five DOF Vedran Vajnberger, Tarik
Terzimehić, Semir Silajdžić and Nedim Osmić Faculty of Electrical
Engineering, Department of Automatic Control and Electronics, Sarajevo,
Bosnia and Herzegovina. MIPRO 2011, May 23-27, 2011, Opatija, Croatia
Books.
• Manoel Carlos Ramon (auth.)-Intel® Galileo and Intel® Galileo Gen 2_
API Features and Arduino Projects for Linux Programmers-Apress
(2014)

• Raspberry PI Robot
Thank you

S-ar putea să vă placă și