Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
19 views

Analysis of Point-to-Point Robotic Arm Control Using PID Controller

last books

Uploaded by

FARZANA KULSOOM
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Analysis of Point-to-Point Robotic Arm Control Using PID Controller

last books

Uploaded by

FARZANA KULSOOM
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

2019 7th International Conference on Mechatronics Engineering (ICOM)

Analysis of Point-to-Point Robotic Arm Control


using PID controller
Safiuddin Che Suhaimin Nur Liyana Azmi Md Mozasser Rahman
Dept. of Mechatronics Engineering Dept. of Mechatronics Engineering Dept. of Mechatronics Engineering
(IIUM) (IIUM) (IIUM)
International Islamic University International Islamic University International Islamic University
Malaysia (IIUM) Malaysia (IIUM) Malaysia (IIUM)
Kuala Lumpur, Malaysia Kuala Lumpur, Malaysia Kuala Lumpur, Malaysia
safiuddinsuhaimin@gmail.com liyanazmi@iium.edu.my mozasserr@gmail.com

Hazlina Md Yusof
Dept. of Mechatronics Engineering
(IIUM)
International Islamic University
Malaysia (IIUM
Kuala Lumpur, Malaysia
myhazlina@iium.edu.my

Abstract— Point-to-point robotic arm has been used in controller [2]. Their algorithm to control the robot needs
manufacturing industry to assist company in increasing its modification to enable faster computing and processing.
production rate. However, the biggest concern in robotic arm Another study used Arduino Mega 2560 as the controller to
is the accuracy for the robot to complete the task of pick-and- allow the communication between a computer and their
place of an object which is dependent on the designed robotic arm by attaching motors to each joint of the robotic
controller. This study investigates the accuracy of the 5 degrees arm [5]. The rotation of each motors are controlled by
of freedom (DOF) robotic arm model with PID controller. The changing the values of the power width modulation (PWM)
forward kinematic is analysed systematically in order to of the motor. However, the system needs the user to enter the
determine the required movements for each of the robotic arm desired angle of the robotic arm manually. In other study [9],
joint for its desired operations. The objective of this paper is to they used the values of the rotation (resistance) of each
simulate the movements of the robotic arm with and without
potentiometer attached to each joint of a 3-DOF miniature
controller by utilizing MATLAB GUI, a microcontroller and
robotic arm to control the rotation of the motors attached to
servo motors in order to demonstrate the effectiveness of the
system. Performance comparison of the robotic arm in the real 3-DOF robotic arm. This requires detailed calibration
completing the pick-and-place task with and without PID is of the potentiometer and the motor. Based on the previous
presented in this paper. The preliminary results showed that work, most of them created an articulated robotic arm where
the difference errors between the desired angular displacement they mostly used servo motor or DC motor as actuator of the
of with and without controller are 0.65%, 3.61%, 10.74%, robot. For the microcontroller, they utilized Arduino Mega
82.18% and 44.44% for the five movements. 2560 which is easy to use for experimental analysis.
The biggest concern in robotic arm is the accuracy of the
Keywords— kinematics analysis, Robotic arm, MATLAB,
PID controller
robot in completing the task of picking and placing an object.
The accuracy of the robotic arm depends on the designed
controller of the robot. Previous work by [2] and [5] used
I. INTRODUCTION encoder and accelerometer respectively to measure the
feedback values of the position of their robotic arm.
Robotic systems especially robotic arms are widely used
Meanwhile, potentiometer is implemented as a feedback
in manufacturing industry which is in-line with the fourth
sensor where the feedback values were calculated manually
industrial revolution. Industrial robot was introduced in 1954
[9]. The usage of encoders as the feedback sensor of its
by George Charles Devol, who defines industrial robot as a
robotic arm system shows that by using the Ziegler-Nichols
mechanical device with numbers of degrees of freedom
(ZN) reaction curve method, better performance can be
(DOF) that can be controlled automatically, can be
achieved compared to the pole placement method [1].
programmed to perform a variety of task and has the ability
However, the ZN method considers for open loop system
to use an arm with different tooling [10]. Many
only.
manufacturing companies are using the robotic arm to
increase productivity as it can assist the industry produces The objective of this paper is to simulate the movements
high production rates compared to the output production of the robotic arm with and without the designed PID
from human labor [5]. controller using MATLAB GUI, microcontroller and servo
motors which are carried out to demonstrate the effectiveness
Many studies have developed a pick-and-place robotic
of the systems. This paper is organized as follows. Section 2
arm and perform the simulation for industrial application. A
gives the calculation of forward kinematic, explanation of the
study developed an industrial 6-DOF robotic arm to pick
feedback sensor and the tuning method of PID controller.
objects that moves on a conveyor belt and then place the
The analysis of the output system for all angles are presented
objects into a specific bin assisted by vision sensors [14]. A
in Section 3. The discussion of the results obtained are
3-DOF manipulator robot with servo motors attached to its
described in Section 4. Finally, the conclusion is given in
joints has been reported using Arduino Mega 2560 as
Section 5.

978-1-7281-2971-6/19/$31.00 ©2019 IEEE

Authorized licensed use limited to: UNIVERSITY OF PAVIA. Downloaded on August 04,2024 at 17:51:44 UTC from IEEE Xplore. Restrictions apply.
II. METHODOLOGY
TABLE I. DH PARAMETER
A. Forward kinematic analysis # θ d A Α
The robotic arm model used in this study is similar to the
work in [14] as shown in Fig. 1. It has 6-DOF with five 1 θ1 d1 0 -90o
rotation movements and one translation movement. A servo
motor (MG90S, China) is attached to each joint of the 2 θ2 0 a2 0
robotic arm in order to move the robotic arm in the rotation
movements while a stepper motor (NEMA 17HS4401, 3 θ3 0 a3 0
China) is used to create the translation movement.
4 θ4 0 0 -90o

5 θ5 d5 0 0

The calculated d1=87.59mm, a2= 165mm, a3=140.19mm,


d5= 112.41mm, θ4= θ4 + 90o; where: d is the offset along
previous to the common normal, θ is the angel about
previous from old z to new z, a is the length of the common
normal and A is the angle about common normal.
Next, the total transformation matrix from the base to the
first joint, from the first joint to the second, until to the last
joint are determined. In this study, there are 5 matrices
(A1A2A3A4A5) which represent the 5-DOF. Thus, the total
transformation between the base of the robot and the hand is
R
TH= A1A2A3A4A5.

Fig. 1. Robotic arm model with 6 DOF.


Each transformation matrix, is calculated using (2):

The step angle required for the stepper motor to rotate at a


respective position is calculated as:
(2)
Required step=desired displacement x0.3543 mm (1) where n is joint, c is cos, s is sin and θ is angle. The final
position and orientation of the robot are determined based on
The calculation of the position and the orientation of each (3):
joint of the robotic arm are calculated using forward
kinematics. First, the reference frames are determined (Fig.
2) and later used to determine the Denavit-Hartenberg (DH)
parameters (Table I).
(3)
where n is “normal”, o is “orientation”, a is “approach” and
p is “point”. Finally, the unknown or the required joint
angles of the robotic arm at the known specific end-effector
position are calculated using set of inverse kinematics. The
calculated required joint angles are then used to simulate the
movements of the robotic arm at the required position using
MATLAB Robotics Toolbox.
B. Feedback sensor
The servo motor used in the robotic arm is provided with
a feedback sensor. There is a potentiometer inside the servo
motor where it gives the position feedback to the motor and
act as its built-in controller. Every five joints of the robot
have a feedback sensor inside the servo motor. In this study,
the internal potentiometer is used as the feedback sensor to
measure the rotation movement of the robot’s link since the
Fig. 2. Reference frames of the robotic arm. precision of the internal controller is not clearly known.
Additional wire (circle in red) is attached to the
potentiometer (Fig. 3) and the value measured from the
potentiometer is processed in analog signal form. The values
from the potentiometer were used in the feedback
mechanism to create a closed loop system (Fig. 4).

Authorized licensed use limited to: UNIVERSITY OF PAVIA. Downloaded on August 04,2024 at 17:51:44 UTC from IEEE Xplore. Restrictions apply.
increased to minimize the overshoot. In this study, the
values for , and for all plants were determined by
using manual tuning method. The values of the gains are
=1, =1 and =0. These values were chosen because
the output is low in oscillation and overshoot values as
discussed by [6] and [15]. The values for θ1 and θ5 are not
required for simulation since both angles are always zeros.
III. RESULTS AND ANALYSIS

A. Analysis on Desired Position


In this study, two set of positions were set as the desired
Fig. 3. Additional Wire.
positions at Position A which are Position B and Position C
as shown in Fig 5.

Fig. 4: Closed Loop System.

The five potentiometers from each motor are the position


sensors of the system. The minimum and maximum value of
resistances (Ω) of the potentiometers at each joint were
checked. The minimum value of resistance is the smallest
angle it can displace meanwhile the maximum value of
resistance is the biggest angle that it can displaced. The
minimum and the maximum values were later sent to Fig.5. Desired Position.
Simulink MATLAB. The resistance values were then
The coordinates of the end-effector of the desired
converted to degree (o) by using (4) [11]:
position were determined from the Solidworks model. The
distance of the Position A from reference point is
Angle in degree= (4) . By using (1), the step required for the
motor to move to Position A is 37.07 steps. The distances
The values of the angles in degree were later compared from Position A to Position B and C were measured. Both
to the desired angle of the robotic arm which was previously desired positions of B and C are determined:
calculated using inverse kinematics analysis.
C. PID Controller Position= Trans(Px,Py,Pz).Rot(y, θ)= (6)
There are many tuning methods of PID controller that
can be used in control system application. In this work,
manual tuning method was used since it does not require The calculated positions of B and C are
complex math operation and the tuning can be performed in
online mode. The formula of the ideal PID controller is
Position B=

(5)
Position C=
where u is the control signal, e is the control error, is the
proportional gain, is the proportional gain and is the
derivative gain. MATLAB GUI and MATLAB Robotics Tools were
used to simulate the position of the robotic arm that was
Based on (5), the first step in manual tuning method is to determined from kinematics analysis. In the MATLAB GUI,
set the values of integral gain, and derivative gain, the values of the positions at x, y, and z axes (Px, Py, Pz) and
values to zero. Then, the value of proportional gain, rotation of the y-axis of the end-effector need to be entered
needs to be increased until the output of the loop oscillates, by the user. All the values of the angles were calculated, and
the final position of the robotic arm was simulated in the
or it performs well. After that, the value of needs to be
axes box. The simulation of the robotic arm position for
increased until any offset is corrected in sufficient time for Position B and C are shown in Fig. 6 and Fig. 7.
the process. Finally, if required, the value of needs to be

Authorized licensed use limited to: UNIVERSITY OF PAVIA. Downloaded on August 04,2024 at 17:51:44 UTC from IEEE Xplore. Restrictions apply.
Fig. 6. Simulation of Position B.

Fig. 8. Plant without Controller.

Fig. 9. Plant with Controller.

The values of “desired angle from IK Analysis” in Fig. 8


Fig. 7. Simulation of Position C. and Fig. 9 were entered manually according to the results
obtained from the MATLAB GUI. The values of the desired
B. Analysis on the Feedback Control System angle and the actual angular displacement were sent to the
MATLAB workspace for plotting and result analysis. The
The range of the resistance values for each potentiometer
system output with and without PID control for Position B
are tabulated in Table II.
for θ3 and Position C for θ4 are shown in Fig.10-Fig.13.
TABLE II. POTENTIOMETERS VALUE

Servo Range of Potentiometer

1 0 – 682
2 0 – 669
3 0 – 646

Two plants were designed in MATLAB Simulink where


the first plant represents the plant without controller (Fig. 8)
and the second plant represents the plant with controller
(Fig. 9).

Fig. 10. System output for Position B (θ3) without PID Control.

Authorized licensed use limited to: UNIVERSITY OF PAVIA. Downloaded on August 04,2024 at 17:51:44 UTC from IEEE Xplore. Restrictions apply.
TABLE IV. RESULT AT POSITION B (θ3)
Results Without Controller With Controller
Settling 1.980 s 1.9992 s
time (s)
Angular 137.8176 133.0334
displace
ment
(Peak),
(o)
Angle
error, %
= 3.95% = 0.34%

TABLE V. RESULT AT POSITION B (θ4)


Results Without Controller With Controller
Fig. 11. System output for Position B (θ3) with PID Control. Settling 1.98 s 2.9727 s
time (s)
Angular 68.2043 58.0645
displaceme
nt (Peak),
(o)
Angle
error, %
= 11.74% = 0.996%

TABLE VI. RESULT AT POSITION C (θ2)


Results Without Controller With Controller
Settling 1.98 s 9.98 s
time (s)
Angular 13.1965 9.0909
displaceme
nt (Peak),
(o)
Angle
Fig. 12. System output for Position C (θ4) without PID Control. error, %
= 164.14% = 81.96%

TABLE VII. RESULT AT POSITION C (θ4)


Results Without Controller With Controller
Settling 7.8 s 7.64 s
time (s)
Angular 31.0526 22.0235
displaceme
nt (Peak),
(o)
Angle
error, %
= 52.84% = 8.4%

IV. DISCUSSIONS
Fig. 13. System output for Position C (θ4) with PID Control. The simulation of the position of the robotic arm
represents the position of the real robotic arm. Based on the
The results of the angular displacement by each joint at simulation, the angular displacement of the robot’s joints
Position B and C are tabulated in Table III - Table VII. calculated using the kinematics analysis are programmed in
the MATLAB GUI coding where the MATLAB GUI
TABLE III. RESULT AT POSITION B (θ2) displays the simulation of the robotic arm movements. By
Results Without Controller With Controller conducting two simulations of the kinematics analysis, it can
Settling 1.98 s 3.2457 s
be concluded that the calculation for the robotic arm is only
time (s) required for 3-DOF to reach the desired point because θ1 and
Angular 80.0880 72.1408 θ5 are always zero. Based on the results of the feedback
displace system, it can be concluded that a controller is highly needed
ment in reducing the output error. Without controller, the actuator
(Peak), will displace for about 10-15% of error compared to the
(o)
Angle
system with controller which has about 0-1% of output error.
error, % Based on the results, it can be concluded that the minimal
= 11.74% = 0.65% angle for example θ2 = -4.99602, cannot be measured by the
sensor. The minimum angle of the joint that the sensor can
displace is only at 9o. Even with this minimal angle, θ2 = -
4.99602, the system with controller still can reduce the angle

Authorized licensed use limited to: UNIVERSITY OF PAVIA. Downloaded on August 04,2024 at 17:51:44 UTC from IEEE Xplore. Restrictions apply.
error compared to the system without controller. It can be robotic arm. 2017 4th International Conference on Advanced
concluded that the lower required angular displacement will Computing and Communication Systems, ICACCS 2017, 4–10.
increase the percentage of the difference angle error https://doi.org/10.1109/ICACCS.2017.8014622
percentage between with and without controller, as shows for [10] RobotWorx. (2018). RobotWorx - Industrial Robot History.
θ4 = 20.316. At that angle, the angle error only can achieve at Retrieved from https://www.robots.com/articles/industrial-
8.4% instead in the range of 0-1% in other positions. robot-history
[11] SODAQ. (2019). Measuring angle by potentiometer. Retrieved
Based on this work, there are a few recommendations for from https://support.sodaq.com/sodaq-one/mbili/serial-io-
improvement. Firstly, a better tuning method is required theory/using-a-potentiometer-to-measure-an-angle/
instead of using manual tuning of the controller. Second, the [12] Soliman, E., Saoudi, M., & Metwally, H. (2015). A Controller
results obtained from this study indicate that the precision of Design for Servo Control System Using Different Techniques.
the sensor will give an effect to the output of the system. 4(9), 203–210.
Therefore, a more precise and sensitive sensor is highly [13] Yu, W., Li, X., & Carmona, R. (2013). A novel PID tuning
recommended in order to obtain more accurate output. method for robot control. Industrial Robot, 40(6), 574–582.
Finally, since the results obtained from the system without a https://doi.org/10.1108/IR-09-2012-406.
controller produce a lot of difference compared to the desired [14] Zhang, Y., Li, L., Ripperger, M., Nicho, J., Veeraraghavan, M.,
inputs, the servo motor needs to be changed with a servo & Fumagalli, A. (2018). Gilbreth: A conveyor-belt based pick-
motor that has more precise output value. and-sort industrial robotics application. Proceedings - 2nd IEEE
International Conference on Robotic Computing, IRC 2018,
2018–Janua, 17–24. https://doi.org/10.1109/IRC.2018.00012
V. CONCLUSIONS [15] Kiam Heong, A., Gregory, C., & Yun, L. (2005). PID Control
In this study, the proposed controller of the robotic arm System Analysis, Design, and Technology. 13(July), xi–xiv.
model shows that it can assist in completing pick-and-place https://doi.org/10.1016/b978-85-352-7263-5.50018-7
task. However, the study can be improved by using more
precise and sensitive sensors and motors. This study could
also use other methods of tuning the PID controller and
compare the outputs of the system between them in order to
find the most suitable tuning method for this project.

ACKNOWLEDGMENT
This study was supported by FRGS grant
(FRGS/1/2016/TK04/UIAM/02/12).

REFERENCES
[1] B., V. (2017). Robotic Arm Control Using Pid Controller And
Inverse Kinematics. 5(2), 1571–1579.
[2] Desikan, V, K., Thtisham Qasim Kalimullah, & Arvind. (2017).
Analysis of A Proposed Algorithm for Point to Point Control of
A 3 DOF Robot Manipulator. (3), 289–292.
[3] Foley, M. W., Julien, R. H., & Copeland, B. R. (2008). A
Comparison of PID Controller Tuning Methods. The Canadian
Journal of Chemical Engineering, 83(4), 712–722.
https://doi.org/10.1002/cjce.5450830412
[4] Iliukhin, V. N., Mitkovskii, K. B., Bizyanova, D. A., &
Akopyan, A. A. (2017). The Modeling of Inverse Kinematics
for 5 DOF Manipulator. Procedia Engineering, 176, 498–505.
https://doi.org/10.1016/j.proeng.2017.02.349
[5] Jahnavi, K., & Sivraj, P. (2018). Teaching and learning robotic
arm model. 2017 International Conference on Intelligent
Computing, Instrumentation and Control Technologies,
ICICICT 2017, 2018–Janua, 1570–1575.
https://doi.org/10.1109/ICICICT1.2017.8342804
[6] Kohanbash, D. (2014). Robotics Blog for the Professional
Roboticist PID Control (with code), Verification, and
Scheduling Subscribe to Blog via Best IT HelpDesk.
[7] Lee, J. D., Li, W. C., Shen, J. H., & Chuang, C. W. (2018).
Multi-robotic arms automated production line. Proceedings -
2018 4th International Conference on Control, Automation and
Robotics, ICCAR 2018, 26–30.
https://doi.org/10.1109/ICCAR.2018.8384639
[8] Manvendra Kumar, S. (2017). Speed Control of DC Servo
Motor using PID Controller Based on MATLAB. (120101), 1–
26.
[9] Megalingam, R. K., Boddupalli, S., & Apuroop, K. G. S.
(2017). Robotic arm control through mimicking of miniature

Authorized licensed use limited to: UNIVERSITY OF PAVIA. Downloaded on August 04,2024 at 17:51:44 UTC from IEEE Xplore. Restrictions apply.

You might also like