Analysis of Point-to-Point Robotic Arm Control Using PID Controller
Analysis of Point-to-Point Robotic Arm Control Using PID Controller
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.
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
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
(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.
1 0 – 682
2 0 – 669
3 0 – 646
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%
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.