Mathematical Modeling and Kinematic Anal
Mathematical Modeling and Kinematic Anal
Mathematical Modeling and Kinematic Anal
Corresponding Author:
Abhilasha Singh
Department of Electrical and Electronics Engineering, Birla Institute of Technology and Science Pilani
P.O. Box 345 055, Dubai Campus, Dubai, United Arab Emirates
Email: p20180906@dubai.bits-pilani.ac.in
1. INTRODUCTION
Robots play a significant role in industrial automation, where they employ machine vision to
recognize and categorize the objects put so they can pick and place them quickly [1]. Vision sensors are
employed to collect visual feedback data on the scattered objects in the surroundings for this task. The
efficient picking of things by the robot requires an understanding of dynamics and kinematics [2]. Robot
dynamics deals with joint force and torque, whereas kinematic analysis determines the position of the robot
joints without taking force into account [3]. The kinematics and inverse kinematics of a 5 degrees of freedom
(DOF) robotic arm are covered in this work. One of the most significant tasks involves selecting the ideal
robot from the available conventional configurations. This requires designing the working positions required
for forward and inverse kinematics modeling [4]. The joint angles are used to determine the position of the
end effector in forward kinematics, whereas the end effector position is used to determine the joint angles in
inverse kinematics. The two methods of inverse kinematics algorithms are closed-form solutions and
numerical approaches [5]. The closed-form solutions are found using algebraic and geometric techniques,
and the Jacobian transpose method [6], pseudoinverse method [7], cyclic coordinate descent methods [8],
optimization algorithms [9], artificial intelligence (AI) methods [10], and singular value decomposition [11]
are some of the widely utilized numerical techniques. Since closed-form solutions require precise initial
values and converge more quickly than numerical ones, an algebraic approach was taken in this study to
calculate joint angles. Gaeid et al. [3] used Denavit-Hartenberg (DH) parameters and matrix transformation
method to perform kinematic modeling of 6 DOF manipulator whereas Sutyasadi and Wicaksono [12] used
hybrid controller of iterative learning and H∞ controller to control the robot joint for trajectory tracking
applications. Quang et al. [13] used radial basis function to derive the inverse dynamics of delta manipulator
and Mashhadany [14] used adaptive neuro fuzzy inference system (ANFIS) controller and fractional order
proportional, integral, derivative (FOPID) controller to obtain optimal trajectory for PUMA 560 manipulator.
Dewi et al. [15] implemented fruit sorting robot for packaging industry using hue saturation value (HSV) and
image processing techniques. In the above discussed works kinematic analysis has been implemented in
servo motors with conventional controllers. Also, most of the works were tested on simulation. Hence in this
paper the main contribution of this work is to implement vision-based control for pick and place operation for
different colors and object size. To obtain joint commands, inverse kinematics solutions for Lewansoul xArm
manipulator made up of serial bus servo motors is derived. The main difference between serial bus servo and
other servo motors is that serial bus servo motors are connected serially. In such motors, when one motor
does not receive power, the other motors does not work. Secondly, attempt has been made to perform real
time experimentation for industrial pick and place operation from live IntelRealSense camera feed. This work
can be commonly used in color-based objects sorting, garbage sorting and picking up the fruits based on their
color, size, and shape.
2. PROPOSED METHOD
The method suggested in this study involves taking screenshots of each frame taken by the Intel
RealSense camera and using HSV morphology and HSV transformation to extract the features of the colored
objects. To acquire the specific channel needed to draw the contours around the objects, the colors are further
masked. Then, camera-to-robot coordinates (𝑥, 𝑦, 𝑧) are determined via homogeneous transformation.
Inverse kinematics solutions utilizing the algebraic approach and sequential least squares programming
(SLSQP) are compared using these coordinates. By positioning the Intel RealSense camera in an eye-to-hand
position, the joint angles that were obtained are used to implement pick and place operations. Finally, these
robot joint commands are transferred to the Lewansoul xArm robotic arm to conduct pick and place of the
relevant colored objects [16]. The xArm-SDK was used throughout the entire procedure and during real-time
experimentation in the Python3 environment. Figure 1 depicts the overall process flow for a vision-based
pick and place operation.
Figure 1. Process flow of vision-based pick and place using Lewansoul xArm manipulator
Mathematical modeling and kinematic analysis of 5 degrees of freedom serial link … (Abhilasha Singh)
1524 ISSN: 2088-8708
3. METHOD
3.1. Kinematic modelling of Lewansoul xArm
In this section, detailed modelling of kinematics and inverse kinematics is discussed for Lewansoul
xArm which is a 5 DOF robotic arm which is used for gripping, sorting, and many other industrial
applications. It is a miniature version of an industrial manipulator that runs with intelligent bus servos
LX-15D servo motor which has built-in position feedback and voltage feedback. The xArm is controlled by
using wireless handle control and through smartphone app [17]. This arm can be operated in robot operating
system (ROS) and Python 3, but the entire work reported in this paper is carried out in python 3.6. The
python wrapper called xArm is installed which has built-in functions to operate the robot. In this paper, DH
method is used which is used for finding the transformation matrix between each joint. Initially, robot links
length and angles between joints are measured and tabulated for xArm. Next, each row in the DH table
corresponds to transformation between each joint. Finally, the overall transformation matrix is obtained
between the end effector to the base of the robot [18]. The basic parameters obtained are 𝜃𝑖 =angle from
𝑥𝑖−1 to 𝑥𝑖 along 𝑧𝑖−1 ; 𝑑𝑖 =distance from the intersection of 𝑧𝑖−1 with 𝑥𝑖 to the origin of (𝑖 − 1) system of axes;
𝑎𝑖 =distance between 𝑧𝑖−1 and 𝑧𝑖 ; 𝛼𝑖 =angle from 𝑧𝑖−1 to 𝑧𝑖 along 𝑥𝑖 .
(a) (b)
Figure 2. Kinematic scheme of Lewansoul xArm manipulator (a) frames of each joints and (b) visualization
of frames in RoboAnalyser
Int J Elec & Comp Eng, Vol. 13, No. 2, April 2023: 1522-1532
Int J Elec & Comp Eng ISSN: 2088-8708 1525
The individual transformation matrices of joints are formulated using (1) [14],
where 𝑖=no. of frames varying from 0 to 4 for xArm; cos(𝑥) = 𝐶𝑥; sin(𝑥) = 𝑆𝑥 𝑥=𝜃 𝑜𝑟 𝛼. The overall
transformation matrix 50𝑇 from the end effector to the base of the robot is obtained.
5
0𝑇 = 54𝑇 × 43𝑇 × 32𝑇 × 21𝑇 × 10𝑇 (2)
−1 0 1 −0.015
5 0 1 0 0
0𝑇 = [ ] (3)
0 0 −1 0.314
0 0 0 1
From (3), the first three rows and columns denote the initial rotation matrices R, and the last column denotes
the initial position of the end effector. Therefore, the home position of the xArm manipulator is (-15,0,314)
mm respectively.
𝑛𝑥 𝑜𝑥 𝑎𝑥 𝑝𝑥
5 𝑛𝑦 𝑜𝑦 𝑎𝑦 𝑝𝑦
0𝑇 = 𝑇𝐸 = [
𝑛𝑧 𝑜𝑧 𝑎𝑧 𝑝𝑧
] (4)
0 0 0 1
Take (5).
Consider (6).
𝑛𝑥 𝑜𝑥 𝑎𝑥 𝑝𝑥
𝑛𝑦 𝑜𝑦 𝑎𝑦 𝑝𝑦
𝐴2 𝐴3 𝐴4 𝐴 5 = 𝐴1−1 [ ] (6)
𝑛𝑧 𝑜𝑧 𝑎𝑧 𝑝𝑧
0 0 0 1
Solving LHS of the (6) we get (7).
𝐶1 𝑛𝑥 + 𝑆1 𝑛𝑦 𝐶1 𝑜𝑥 + 𝑆1 𝑜𝑦 𝐶1 𝑎𝑥 + 𝑆1 𝑎𝑦 𝐶1 𝑝𝑥 + 𝑆1 𝑝𝑦
−𝑛𝑧 −𝑜𝑦 −𝑎𝑦 −𝑝𝑧 + 𝑑1
(7)
−𝑆1 𝑛𝑥 + 𝐶1 𝑛𝑦 −𝑆1 𝑜𝑥 + 𝐶1 𝑜𝑦 −𝑆1 𝑎𝑥 + 𝐶1 𝑎𝑦 −𝑆1 𝑝𝑥 + 𝐶1 𝑝𝑦
[ 0 0 0 1 ]
Mathematical modeling and kinematic analysis of 5 degrees of freedom serial link … (Abhilasha Singh)
1526 ISSN: 2088-8708
where 𝜃2−34 is taken as 𝜃2 − 𝜃3 + 𝜃4 . By comparing (7) and (8) we get the values of joint angles which is,
𝑝𝑦
𝜃1 = 𝑡𝑎𝑛 −1 ( ) (9)
𝑝𝑥
where (𝑝𝑥 , 𝑝𝑦 ) is the end-effector position of the robot. Assuming WART configuration 𝜃234 = 0 to obtain 𝜃3 .
𝑆3
𝜃3 = 𝑡𝑎𝑛−1 ( ) (10)
𝐶3
Finally,
𝑆2
𝜃2 = 𝑡𝑎𝑛 −1 ( ) (11)
𝐶2
𝑆5
𝜃5 = 𝑡𝑎𝑛 −1 ( ) (12)
𝐶5
𝜃4 = 𝜃2−34 − 𝜃2 + 𝜃3 (13)
The results obtained from algebraic method is compared with SLSQP which is an iterative method for
constrained nonlinear optimization problem. This algorithm transforms the least squares model into the
quadratic optimization model and the optimal solution can then be obtained by sequential quadratic
programming. The nonlinear programming is of the form (14).
Subject to 𝑏(𝑥) ≥ 0; 𝑐(𝑥) = 0. Then at every iteration 𝑥𝑘 quadratic programming sub problem is given by (15).
Int J Elec & Comp Eng, Vol. 13, No. 2, April 2023: 1522-1532
Int J Elec & Comp Eng ISSN: 2088-8708 1527
Using all the above pixel information, 𝑇𝑏𝑐 the transformation between camera frame {𝑐} and robot base {𝑏} is
obtained using the homogeneous transformation technique which converts pixel to world coordinates so that
robot can understand the points [28] as shown in Figure 4. Figure 4(a) illustrates the transformation between
camera and robot base whereas Figure 4(b) explains the calculation of bounding box coordinates in xy plane.
Figure 3. Process flow of color extraction using image processing for pick and place operation
(a) (b)
Figure 4. Homogeneous coordinate transformation (a) transformation of centroid pixel point P from camera
frame to robot base frame and (b) schematic diagram of bounding box for finding the orientation
The general equation for transforming a point from one frame to another frame is,
𝑃𝑐 𝑏 1 𝑅𝑏 𝑑𝑐𝑏 𝑃
[ ] = [𝑅𝑐 + 𝑑0 ] = [ 𝑇𝑐 ][ ] (17)
1 1 0 1 1
In general,
Mathematical modeling and kinematic analysis of 5 degrees of freedom serial link … (Abhilasha Singh)
1528 ISSN: 2088-8708
where 𝑃0 is 4xm robot coordinates with respect to the robot base; 𝑃 is 4xn camera coordinates with respect to
world coordinates; 𝑇𝑐𝑏 is 4x4 transformation matrix between camera and robot base; 𝑅𝑐𝑏 is a 4×4 rotation
matrix between camera and robot base.
In this work for the formation of 𝑃𝑐 matrix, the pixel values of the robot workspace are obtained so
that the entire workspace can be mapped globally. Here the centroid is the input which is converted to robot
coordinates (𝑥, 𝑦, 𝑧). Finally, these cartesian coordinates are converted into joint angles 𝜃1 to 𝜃5 for picking
the object. If the pieces are oriented, the angle is fed directly to the wrist so that it orients itself similar to the
object placed.
(50,270) mm (345,270) mm
Robot Workspace
Robot
(50,-270) mm (345,-270) mm
(a) (b)
(c)
Figure 5. Illustration of xArm workspace (a) 2D workspace of manipulator (b) real-time experimental
workspace (c) 3D workspace in RoboAnalyser
Int J Elec & Comp Eng, Vol. 13, No. 2, April 2023: 1522-1532
Int J Elec & Comp Eng ISSN: 2088-8708 1529
Figure 6. Experimental analysis (a) real-time vision-based pick, place (b) live detection of different size, and
(c) colored objects using Intel RealSense camera
The HSV hue ranges of different colors, the orientation of the objects, and centroid are listed in
Table 2. The hue ranges can be adjusted according to the resolution of the camera. These centroids obtained
are in pixels which are further converted to robot coordinates (𝑥, 𝑦, 𝑧) using a homogeneous transformation
matrix as shown below. The robot coordinates are further converted into joint angles and sent to the robot for
picking the object. The coordinates for placing the objects in the workspace were kept constant and it is
chosen as (200, −150) mm. The joint angles for pick and place obtained from the inverse kinematics
algorithm for the yellow-colored object found are listed in Table 3.
0 −0.6145 0 345
0.843 0 0 −270
T= [ ] (19)
0 0 0 0
0 0 0 1
Table 3. Comparative analysis of optimal inverse kinematics solutions using analytical method and SLSQP
Color Centroid (Pixels) Transformed Coordinates (mm) SLSQP Algebraic
Yellow (212,232) (202.41,-91.125,0) 𝜃1=24.23 𝜃1=23.56
𝜃2=65.82 𝜃2=64.32
𝜃3=-19.80 𝜃3=-19
𝜃4 =79.53 𝜃4 =80.5
𝜃5=0 𝜃5=0
Red (359,89) (289.99,-33.75,0) 𝜃1=-2.53 𝜃1=-2.03
𝜃2=78.096 𝜃2=77
𝜃3=19.22 𝜃3=19.53
𝜃4 =67.09 𝜃4 =67.5
𝜃5=0 𝜃5=0
Green (188,102) (282.31,-111.37,0) 𝜃1=-22.31 𝜃1=-22.43
𝜃2=63.35 𝜃2=63
𝜃3=-9.23 𝜃3=-9.22
𝜃4 =65.29 𝜃4 =65.34
𝜃5=0 𝜃5=0
Blue (504,93) (287.84,-156.37,0) 𝜃1=-28.52 𝜃1=-28.65
𝜃2=76.56 𝜃2=76.4
𝜃3=-1.985 𝜃3=-1.98
𝜃4 =43.42 𝜃4 =43.44
𝜃5=0 𝜃5=0
Mathematical modeling and kinematic analysis of 5 degrees of freedom serial link … (Abhilasha Singh)
1530 ISSN: 2088-8708
From the Table 3, it can be seen that the centroid of all the colored objects in pixels was converted
into robot coordinates using the (31). Further, these coordinates were converted into joint angles and these
angles were sent to the robot and tested the pick and place in real-time. The gripper angle was kept constant
of about 30^° as it was found to be effective for holding the objects. The robot was able to pick the objects
and place them in the proper goal points efficiently. The same was tested with other colored blocks. The
experimental parameters are illustrated in Figure 7. The joint angles obtained from SLSQP for blue object
with time period of 1,000 ms is shown in Figure 7(a) and triangular angular velocity profile is illustrated in
Figure 7(b). The real-time experimentation of vision-based pick and place was tested and is illustrated in
Figure 8. The real-time experimentation of vision-based pick and place was tested with initial grasping
position as shown in Figure 8(a). The picking of the red object is illustrated in Figure 8(b) whereas the red
object reaching final point is shown in Figure 8(c).
(a) (b)
Figure 7. Graphical illustration of xArm parameters (a) joint angles for blue object and
(b) angular velocity of xArm
Figure 8. Real-time pick and place of colored objects (a) pick position (b) middle position,
and (c) place position
5. CONCLUSION
Using the 3D camera in real-time, the online experimentation of vision-based pick and place
operation was accomplished. This method can be used in industries to separate or identify the items placed on
a conveyor belt. In agriculture and warehouse applications, they can be used to color-sort vegetables or other
items. Under this article, colorful objects could be reliably identified even in a variety of illumination and
noise situations. The algebraic technique was used to mathematically derive the inverse kinematics. It was
discovered that the algebraic technique and the SLSQP optimization method both produced effective
solutions with only a slight difference in error. In almost every location in the workspace, the coordinate
Int J Elec & Comp Eng, Vol. 13, No. 2, April 2023: 1522-1532
Int J Elec & Comp Eng ISSN: 2088-8708 1531
conversions were exact and correctly positioned the objects. During the real-time experimentation, these
minor errors had very little effect. A more realistic experimental setup for identifying industrial objects that
match the industrial environment will be included in future developments. Deep learning approaches can be
used in conjunction with additional inverse kinematics methods to detect the objects.
ACKNOWLEDGEMENTS
The authors are immensely grateful to the authorities of Birla Institute of Science and Technology
Pilani, Dubai campus for their support throughout this research work.
REFERENCES
[1] M. Javaid, A. Haleem, R. P. Singh, S. Rab, and R. Suman, “Exploring impact and features of machine vision for progressive
industry 4.0 culture,” Sensors International, vol. 3, 2022, doi: 10.1016/j.sintl.2021.100132.
[2] K. Renuka, N. Bhuvanesh, and J. R. Catherine, “Kinematic and dynamic modelling and PID control of three degree-of-freedom
robotic arm,” in Springer Proceedings in Materials, Springer Singapore, 2021, pp. 867–882.
[3] K. S. Gaeid, A. F. Nashee, I. A. Ahmed, and M. H. Dekheel, “Robot control and kinematic analysis with 6DoF manipulator using
direct kinematic method,” Bulletin of Electrical Engineering and Informatics (BEEI), vol. 10, no. 1, pp. 70–78, Feb. 2021, doi:
10.11591/eei.v10i1.2482.
[4] J. Cai, J. Deng, W. Zhang, and W. Zhao, “Modeling method of autonomous robot manipulator based on D-H algorithm,” Mobile
Information Systems, pp. 1–10, Jul. 2021, doi: 10.1155/2021/4448648.
[5] R. Singh, V. Kukshal, and V. S. Yadav, “A review on forward and inverse kinematics of classical serial manipulators,” in Lecture
Notes in Mechanical Engineering, Springer Singapore, 2021, pp. 417–428.
[6] S.-O. Park, M. C. Lee, and J. Kim, “Trajectory planning with collision avoidance for redundant robots using Jacobian and
artificial potential field-based real-time inverse kinematics,” International Journal of Control, Automation and Systems, vol. 18,
no. 8, pp. 2095–2107, Aug. 2020, doi: 10.1007/s12555-019-0076-7.
[7] J. Podobnik, M. Munih, and M. Mihelj, “Magneto-inertial data sensory fusion based on Jacobian weighted-left-pseudoinverse,” in
Advances in Robot Kinematics 2020, Springer International Publishing, 2021, pp. 174–181.
[8] P. Yotchon and Y. Jewajinda, “Combining a differential evolution algorithm with cyclic coordinate descent for inverse kinematics
of manipulator robot,” in 2021 3rd International Conference on Electronics Representation and Algorithm (ICERA), Jul. 2021,
pp. 35–40, doi: 10.1109/ICERA53111.2021.9538798.
[9] H. M. Tuan, F. Sanfilippo, and N. V. Hao, “Modelling and control of a 2-DOF robot arm with elastic joints for safe human-robot
interaction,” Frontiers in Robotics and AI, vol. 8, Aug. 2021, doi: 10.3389/frobt.2021.679304.
[10] X. Wang, X. Liu, L. Chen, and H. Hu, “Deep-learning damped least squares method for inverse kinematics of redundant robots,”
Measurement, vol. 171, Feb. 2021, doi: 10.1016/j.measurement.2020.108821.
[11] N. V. Toan and P. B. Khoi, “A SVD-least-square algorithm for manipulator kinematic calibration based on the product of
exponentials formula,” Journal of Mechanical Science and Technology, vol. 32, no. 11, pp. 5401–5409, Nov. 2018, doi:
10.1007/s12206-018-1038-3.
[12] P. Sutyasadi and M. B. Wicaksono, “Robotic arm joint position control using iterative learning and mixed sensitivity H∞ robust
controller,” Bulletin of Electrical Engineering and Informatics (BEEI), vol. 10, no. 4, pp. 1864–1873, Aug. 2021, doi:
10.11591/eei.v10i4.3059.
[13] N. H. Quang, N. Van Quyen, and N. N. Hien, “Radial basis function neural network control for parallel spatial robot,”
Telecommunication Computing Electronics and Control (TELKOMNIKA), vol. 18, no. 6, Dec. 2020, doi:
10.12928/telkomnika.v18i6.14913.
[14] Y. I. Al Mashhadany, “Virtual reality trajectory of modified PUMA 560 by hybrid intelligent controller,” Bulletin of Electrical
Engineering and Informatics, vol. 9, no. 6, pp. 2261–2269, Dec. 2020, doi: 10.11591/eei.v9i6.2579.
[15] T. Dewi, P. Risma, and Y. Oktarina, “Fruit sorting robot based on color and size for an agricultural product packaging system,”
Bulletin of Electrical Engineering and Informatics, vol. 9, no. 4, pp. 1438–1445, Aug. 2020, doi: 10.11591/eei.v9i4.2353.
[16] Diestra AI, “xArm Lewansoul ROS documentation,” 2021. Accessed: Nov 20, 2021. [Online]. Available: https://xarm-lewansoul-
ros.readthedocs.io/_/downloads/en/latest/pdf/.
[17] D. Kusmenko and K. Schmidt, “Development of an analytical inverse kinematics for a 5 DOF manipulator,” in 2020 21st
International Conference on Research and Education in Mechatronics (REM), Dec. 2020, pp. 1–5, doi:
10.1109/REM49740.2020.9313880.
[18] W. S. Pambudi, E. Alfianto, A. Rachman, and D. P. Hapsari, “Simulation design of trajectory planning robot manipulator,”
Bulletin of Electrical Engineering and Informatics, vol. 8, no. 1, pp. 196–205, Mar. 2019, doi: 10.11591/eei.v8i1.1179.
[19] F. Maric, M. Giamou, A. W. Hall, S. Khoubyarian, I. Petrovic, and J. Kelly, “Riemannian optimization for distance-geometric
inverse kinematics,” IEEE Transactions on Robotics, vol. 38, no. 3, pp. 1703–1722, Jun. 2022, doi: 10.1109/TRO.2021.3123841.
[20] P. Beeson and B. Ames, “TRAC-IK: An open-source library for improved solving of generic inverse kinematics,” in 2015 IEEE-
RAS 15th International Conference on Humanoid Robots (Humanoids), Nov. 2015, pp. 928–935, doi:
10.1109/HUMANOIDS.2015.7363472.
[21] H. F. Durrant-Whyte, “Uncertain geometry in robotics,” IEEE Journal on Robotics and Automation, vol. 4, no. 1, pp. 23–31,
1988, doi: 10.1109/56.768.
[22] A. Steinhauser and J. Swevers, “An efficient iterative learning approach to time-optimal path tracking for industrial robots,” IEEE
Transactions on Industrial Informatics, vol. 14, no. 11, pp. 5200–5207, Nov. 2018, doi: 10.1109/TII.2018.2851963.
[23] L. E. J. Alkurawy, “Recursive least square and control for PUMA robotics,” Indonesian Journal of Electrical Engineering and
Computer Science (IJEECS), vol. 21, no. 2, pp. 1238–1246, Feb. 2021, doi: 10.11591/ijeecs.v21.i2.pp1238-1246.
[24] B. Koyuncu and M. Güzel, “Software development for the kinematic analysis of a Lynx 6 robot arm,” International Journal of
Computer and Information Engineering, vol. 1, no. 6, pp. 1575–1580, 2007.
[25] A. Mathur, C. Bansal, S. Chauhan, and O. Yadav, “A review of pick and place operation using computer vision and ROS,” in
Computational and Experimental Methods in Mechanical Engineering, Springer Singapore, 2022, pp. 411–418.
[26] G. Xu and Y. Yan, “A scene feature based eye-in-hand calibration method for industrial robot,” in Mechatronics and Machine
Vision in Practice 4, Cham: Springer International Publishing, 2021, pp. 179–191.
Mathematical modeling and kinematic analysis of 5 degrees of freedom serial link … (Abhilasha Singh)
1532 ISSN: 2088-8708
[27] M. Ahmad, I. Ahmed, and A. Adnan, “Overhead view person detection using YOLO,” in 2019 IEEE 10th Annual Ubiquitous
Computing, Electronics and Mobile Communication Conference (UEMCON), Oct. 2019, pp. 627–633, doi:
10.1109/UEMCON47517.2019.8992980.
[28] O. Martínez and R. Campa, “Comparing methods using homogeneous transformation matrices for kinematics modeling of robot
manipulators,” in Multibody Mechatronic Systems, Springer International Publishing, 2021, pp. 110–118.
BIOGRAPHIES OF AUTHORS
Int J Elec & Comp Eng, Vol. 13, No. 2, April 2023: 1522-1532