Color Based 6 DOF Sorting Robot With Real-Time Object Detection

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Color based 6 DOF sorting Robot with Real-Time

Object Detection
Muhammad Zaigham Bajwa, Ali Azhar,
Asmar Iftikhar, Kashif-ur-Raheem
Mechatronics & Control Engineering
Department
University of Engineering & Technology,
Lahore
Faisalabad, Pakistan
Email: zaighambajwa101@gmail.com,
ali456azhar@gmail.com,
asmar.iftikhar786@gmail.com,
khankhankhan152@gmail.com

Abstract—The objective of this paper is to present a 6 DOF weight and other calculations necessary for the manipulator
Robotic Arm manipulator that can detect and grasp the objects control.
moving on a conveyor belt and sort them based on RGB colors
in Real-Time. The objects on the conveyor belt are rectangular II. SYSTEM MODELLING
of any size with random orientation. The robot is programmed
using position kinematics algorithms through micro-controller A. Overview
to correctly grasp the moving objects and place them in their
respective areas.
Design of Robotic Arm
Keywords—Manipulator, Kinematics Actual
Robotic
Arm
I. INTRODUCTION
Designing of multi-degree of freedom robots has been the Communication with Arduino
need of the hour as the industrial age is progressing rapidly.
The robots provide more accuracy with improved efficiency
in carrying out a routine task as compared to humans. A wide
range of research in robotic arm designing has been done over Figure 1: Design Flow
the past decades. In recent years the fabrication and
development of efficient robotic arms have been an active A 3D CAD design is made in Solid Works that is then
research field around the world. This paper describes a linked with MATLAB for simulation. Thus, the user may
mechanical system, design concept and prototype verify or analyze the workspace limitation of the virtual
implementation of a 6 DOF robotic arm, which should robotic arm before building the actual one. All the theories are
perform industrial task such as pick and place of rectangular first implemented on software with values close to reality in a
dynamic environment. Arduino is used for communication
objects. This robot arm being controlled by micro-controller
between Virtual Robotic Arm and hardware.
has base, shoulder, elbow, wrist rotation and a functional
gripper. Gripper has been built as end-effector and is capable B. Block Diagram
of grasping objects within the workspace of the manipulator.
PID control is implemented on each motor for better control.
The forward and inverse position kinematics of manipulator
are implemented by using a programing software that gives
the joint angles of motors. The design aims to provide fine
manipulation in performing pick and place task, while still
maintaining the simplicity of design. The robot performs in
the dynamic environment where the objects are detected on
the running conveyor belt. A camera is fixed at the top of the
conveyor belt giving full view of the conveyor belt and
objects moving on it. The camera gives the exact position,
color and orientation of the object. This is fed into the
software which then implements the inverse kinematics.
Different trajectories are obtained through the
implementation of inverse kinematics the shortest and most
efficient of which is selected. After selection of trajectory
joint angles are given to DC motors angles of which are
obtained by PID control for efficient working of manipulator.
The workspace of the robotic manipulator can be increased
by increasing the lengths of each link keeping in view the Figure 2: Block Diagram
C. Kinematic Analysis III. SYSTEM ARCHITECTRE
Calculation of the position and orientation of the end A. Mechanical Model
effectors with given joint angles is commonly known as
6 DOF manipulator is designed to meet the requirements
Forward Kinematics Analysis[1]. The most popular way to
of picking up objects from one point and placing them to the
implement Forward Kinematics is through Denavit- desired point. Articulated with spherical wrist manipulator is
Hartenberg representation (D-H representation). Construct selected[3]. 3D CAD Model of the manipulator shown in
the Link Coordinatest also known as tFree Body tDiagram of figure 4, is designed and the software is used to analyze the
the robotic arm structure. Subsequently,tsetup the Kinematics forces, torques and other specifications on different joints of
Parameter Table by referring the link coordinates design. manipulator.
Apply the Generic Link-Coordinate tTransformation Matrix
from Base to Toolt Center Point (TCP). Finally, thet TCP
coordinates tcan be tfound from thet Matrix.

The DH Representation of the 6 DOF robotic arm is shown


here:

Link Link Joint


Alph Theta(θ
Numbe length(a offse Offset
a (α) )
r ) t (d)
1 pi/2 0 10 * 0
Pi/1.0
2 0 6 0 *
9
Figure 4: 3D CAD Model of Robotic Arm
3 -pi/2 0 0 * -7pi/6
The motors fixed on each joint is Encoded DC Gear
4 pi/2 0 6 * 0 Motor. Each motor has different torque specification
depending upon the payload of the joint. Motors with greater
5 -pi/2 0 0 * -pi/1.6 toque and speed are heavier accordingly so a balanced torque
6 0 0 6 * 0 and speed specifications is important in order to reduce
vibration of end effector.
Table 1: DH Parameter Table
B. Electrical Design
1) Circuit Diagram
D. Machine Vision
Feedback is received in the form of pulses from the motor
USB Camera 2.0 is used for the Image Detection encoders. This information is decoded by the microcontroller.
Technique. The robot is programmed to pick the desired Arduino receives the desired position commands and PID
objects from the conveyor belt. These objects are detected control[4] is applied to the motors. Signal generated by the
using a USB Camera. The results are fed into the Image PID is transferred to the motors through microcontrollers and
Processing Algorithm. It then sorts the objects based on the constant feedback is read through encoder. The desired
color of the object. Some other specifications are also read position is achieved and maintained.
through the algorithm[2] like Orientation, Major and Minor
Axis. The results are shown in the figure 3.

Figure 3: Image Processing Figure 5: Circuit Diagram


2) Electronic Components USB Camera 2.0 which is used for detection of colored
3 Arduino AtMega2560 microcontroller boards are used objects.
to communicate with the robot and to execute respective tasks.
ACKNOWLEDGMENT
Monster shield modules are used for controlling the motor Thanks to Almighty Allah, who is the most beneficent and
voltages and currents for their speed. They are used because the most merciful. All praises to our Holy Prophet Hazrat
of their current handling capacity at wide ranges of current. Muhammad (S.A.W) whose spiritual teaching is a forever
Rotary Encoders with 64 CPR precision Position Encoders source of guidance and knowledge for humanity as a whole
are used to read angular position of the motors in the form of enlightened. We would like to express our gratitude and
0 and 1. They can detect the motion in both directions. appreciation to tSupervisor, Engr. Abdullah Tahir and Co-
Advisort Engr. Waqas Arshad whoset helpt, suggestions and
The robot is operated with 5000mAh Lithium-Polymer advices, thelped ustin completingt the tproject.
battery.

REFRENCES

1. Koyuncu, B., M.J.W.A.o.S. Güzel, Engineering,


and Technology, Software development for the
kinematic analysis of a lynx 6 robot arm. 2007.
30: p. 2007.
2. Cucchiara, R., et al. Improving shadow
suppression in moving object detection with HSV
color information. in Intelligent Transportation
Systems, 2001. Proceedings. 2001 IEEE. 2001.
IEEE.
3. Iqbal, J., et al., Modeling and analysis of a 6 DOF
robotic arm manipulator. 2012. 3(6): p. 300-306.
4. Kwok, D. and F. Sheng. Genetic algorithm and
simulated annealing for optimal robot arm PID
control. in Evolutionary Computation, 1994.
IEEE World Congress on Computational
Intelligence., Proceedings of the First IEEE
Conference on. 1994. IEEE.

You might also like