 Open Access
 Authors : Von Dim Nguyen, Van Tung Bui, Xuan Trong Tran
 Paper ID : IJERTV12IS120039
 Volume & Issue : Volume 12, Issue 12 (December 2023)
 Published (First Online): 13122023
 ISSN (Online) : 22780181
 Publisher Name : IJERT
 License: This work is licensed under a Creative Commons Attribution 4.0 International License
Identification of Singular Configuration for 4DOF RPRR SCARA Robot
Von Dim Nguyen, Van Tung Bui, Xuan Trong Tran Department of Robotics and Automotive Technology Faculty of Engineering and Technology
Thai Nguyen University of Information and Communication Technology Thai Nguyen City, Vietnam
Abstract SCARA (Selective Compliance Assembly Robot Arm) robots have found extensive utilization in the industrial sector for performing assembly tasks in both the mechanical and electronics segments of the manufacturing field. An essential concern when operating the manipulator is to prevent singular arm configurations, which significantly compromise robot performance. This paper presents a remedy for the optimization challenge concerning a SCARA RevolutePrismaticRevolute Revolutetype (RPRR) robotic manipulator, aiming to prevent singular configuration. To address this issue, inverse kinematics and forward kinematics models of the SCARA robot manipulator are constructed. These models depict the relationship between the active joint and the position in the Cartesian coordinate system, as well as the rotational angle of the end effector. The matrices derived from the kinematics are Jacobian matrices, which are then utilized to determine singular configurations. The results are verified using Matlab/Simulink software to facilitate tasks such as size design, and workspace analysis to exclude singular configurations. The experimental fabrication of the 3Dprintingbased SCARA robot arm and the operation of the robot validate the proposed solution. The simulation and experimental results demonstrate the feasibility of the proposed method.
Keywords Singularity; SCARA robot; Forward kinematics; Inverse kinematics; Jacobian matrice.

INTRODUCTION
Currently, industrial robots are being utilized to automate a variety of activities, including assembly, material processing, welding, precision material cutting, pallet stacking, painting, and remote surgical procedures, along with numerous other potential applications. SCARA robots (Selective Compliance Assembly Robot Arm) have been widely used in the industry to perform assembly tasks in both the mechanical and electronic segments of manufacturing. The first SCARA robot model was built in 1978 by Professor Hiroshi Makino at Yamanashi University in Japan [1]. Since then, various types of SCARA robots have emerged for applications in machinery, automotive, and robotics.
SCARA robots equipped with RRP (RevoluteRevolute Prismatic) or PRR (PrismaticRevoluteRevolute) joint
configurations can easily generate linear motion in vertical directions. The RRP and PRR configurations come with their own advantages and disadvantages. RRPconfigured SCARA robot arms are widely used in tasks with low precision and speed requirements, characteristics that are challenging for humans [2]. While the translational joint of the RRP configuration is only used to lift objects, the translational joint in the PRR type lifts both the robot structure and the payload. Therefore, the translational joint of the PRR type has higher torque compared to the RRP type. Consequently, PRRconfigured SCARA robot arms are often preferred in applications involving lifting heavy weights. Because the base is fixed at a point, powerful motors with high torque can be easily employed to lift large loads in a linear direction [3]. It can be observed that the majority of SCARA robots in previous research used configurations with three degrees of freedom [4]. To combine the advantages of both RRP and PRR configurations, in this study, the authors propose building a 4degreeoffreedom SCARA robot arm with the RevolutePrismaticRevoluteRevolute (RPRR) configuration.
On the other hand, one of the main challenges in designing the trajectory for the motion of robot arms is ensuring flexibility while performing tasks. Therefore, maintaining the ability to move in all directions in the task space is crucial. This goal is achieved by avoiding singular points, which are points in the configuration space where some degrees of freedom of the robot are lost. Previous research has addressed this issue by creating robot arms with wide workspace and careful adjustments or by using additional joints (robot arms with redundant degrees of freedom) [5], [6], [7]. The method proposed in this paper aims to prevent the occurrence of singularities when operating a 4 degreeoffreedom RPRR SCARA robot by optimizing the positions of the links in the robot's workspace. To address this issue, inverse and forward kinematics models of the SCARA robot arm are developed. These models depict the relationship between joint movements and positions in Cartesian coordinates, as well as the rotational angles of the endeffector [8]. The matrices derived from kinematics are Jacobian matrices, and these matrices are then applied to find points where the robot arm has a singular configuration. Subsequently, optimal stopping points for placing the links are determined. The results are verified using Matlab/Simulink software to support the design of motion trajectories and analyze the workspace, excluding singular configurations for the 4degreeoffreedom RPRR SCARA robot type.
The fabrication of this SCARA robot arm is tested using 3D FDM printing technology, and the proposed solution is validated by integrating an algorithm to find optimal stopping points for the robot's operation.

METHODOLOGY

Forward kinematics model
Forward kinematics in robotics represents the relationship between the position, velocity, and acceleration of the joints of a robot. A robot arm consists of segments connected to each other through sliding or rotational joints. Coordinate systems are established at each joint to find the transformation matrix that defines the relationship between two adjacent joints. The transformation matrix between two joints is denoted by the
i
symbol i1T. The relationship between the end effector and the
base segment is determined by the transformation matrix of
0 0 1 2 3 1
= 1234
(1)
consecutive joints. This relationship is referred to as forward kinematics and is expressed in Formula (1):
The anticipated SCARA robot arm and the coordinate axes on the joints are illustrated in Fig. 1.
Fig. 1. SCARA robot configured with RPRR 4 degrees of freedom.
From the coordinate system attached to the robot as shown in Fig. 1, the parameters describing the joints and links are represented in the DenavitHartenberg parameter table (TABLE 1).
2 2 0 22 2 = 2 2 0 22]
3 [ 0 0 1
3
0 0 0 1
3 3 0 0
3 3
3 = [ 0 0 ]
4
0 0 1 4
0 0 0 1
0 = 0123
1 1 2 3 4
123 123 0 11 + 212
= 123 123 0 11 + 212 ] [ 0 0 1 +
1 2 3 4
0 0 0 1
(3)
In which, the abbreviations "c" and "s" stand for the terms "cosine" and "sine" respectively. The DH parameters are provided in Table 1. The forward kinematics matrix of the SCARA robot describes the position and orientation of the end effector point on the gripper table with respect to the origin, as shown by the Formula (3) below:
Where, 1 = 1 ; 2 = 2; 123 = (1 + 2 + 3); 12= (1 +
2); 1 = 1 ; 2 = 2;
123 = (1 + 2 + 3); 12= (1 + 2.

Inverse kinematics model
Inverse kinematics is the process of determining the values of joint variables based on provided data regarding the position and orientation of the end effector. In other words, to bring the end effector to a desired position, we need to find the values of the joint angles and translational motion of the joints through inverse kinematics. Any mathematical expression found may not necessarily be a physical solution, and there could be more than one solution for the end effector to move to the desired position. In other words, the robot controller can achieve the desired positions through different solutions.
In this study, the solution to the inverse kinematics equation is obtained through an analytical method. The fourth column of the forward kinematics matrix is presented in Equation (3), and it provides the coordinates of the position (x, y, and z) attached to the robot's hand with respect to the origin.
TABLE 1. DH parameter
Link
1 0
0
0
1
1
2 1
0
1
0
2
3 2
0
2
2
3
4 3
0
0
3
4
Fig. 2. S tÃnh toÃ¡n ng hc nghch robot
From the forward kinematics equation in formula (3), we have the position of the robot arm determined by the following equation:
= 11 + 212
(4)
= 11 + 212
(5)
From equations (4) and (5), square both sides and sum up the two sides.
2 + 2 = 2 +2 + 2
1 2 1 2 2
(6)
2 + 2 2 2
= Â± ( 1 2) 2 212
(7)
We can calculate 2.
The transformation matrices are determined as in Formula (2) using the
1 1 0 0
0 = 1 1 0 0 ]
1 [ 0 0 1
1
0 0 0 1
1 0 0 1
1 = [0 1 0 0 ]
2 0 0 1 2
0 0 0 1
(2)
DenavitHartenberg (DH) method.
From Figure 2, we observe:
1 + = ( )
(8)
22
=
2 + 2
(9)
(a)
(b)
From equations (8) and (9):
2 + 2 2 2
= Â± ( 1 2) 212 + 2
(10)
2 + 2 2 2
= ( ) Â± ( 1 2) 1 2 2 + 2
1
(11)

Jacobian matrice
= ] = [J ( , )] [1 ] [ 1 2
2
(12)
The Jacobian matrix is used for computations such as path planning and designing the trajectory of movement, determining singular points, calculating the dynamic equations of motion, and computing torque. Both translational and angular velocities for a SCARA robot can be found in the form of joint velocities. Translational velocity can be determined based on the position of the endeffector. The velocity of the endeffector is determined as follows:
11 212 212 0
J() = [ 11 + 212 212 0]
0 0 1
(13)
0 0 0
J() = [0 0 0]
1 1 0
(14)
After performing intermediate calculations, the Jacobian matrix is obtained through the following equations:
Determinant of the Jacobian matrix is defined as:
J() = 122
(15)

Identification of Singularity configuration
To eliminate singular configurations, one can rely on geometric dimensions to determine a suitable size. Another method is to search for a configurationfree workspace, meaning an area excluding singular points, and then design a working trajectory within that space to ensure the absence of singular configurations.
The SCARA robot arm reaches peculiar configurations when
detJv() = 0 2 = 0o or 2 = 180o.
In this regard, link 2 can be extended straight out entirely or
folded back in alignment with link 1. Therefore, to prevent the SCARA robot from encountering these singular configurations:
detJv() max or cos22 min
For the SCARA robot arm performing a sequence of tasks at n
= 22(, )
=1
(16)
specific points with the workpiece, calculating at n specific task positions, then:
= 1+2
= 12 + 22 212cos (180 2/2)
(17)
The constraints of the defined workspace are as follows:
Where, 2 is the maximum range of motion of the joint angle 2.
In this article, the SCARA robot arm model is designed with
the following dimensions: 1 = 250, 2 = 200 . The
robotic arm model is designed using SolidWorks software with
a structure as shown in Figure 3(a).
To validate the proposed solution, the paper conducts simulations in Matlab/Simulink, extracted from SolidWorks (Figure 3(b)).
Fig. 3. SCARA robot arm model. (a) Using SolidWorks. (b) Simulating with Matlab/Simulink.
Related to finding the optimal stopping points of the SCARA robot arm while avoiding singular points, the Matlab code program is constructed as follows:

When a singularity is detected, the code adds a new waypoint to the trajectory to avoid the problematic configuration.

The new waypoint is placed halfway between the current singularity point and the previous waypoint (if there is a previous singularity).

This new waypoint effectively divides the problematic trajectory segment into three smaller segments, reducing the risk of encountering singularities.



MANUFACTURING AND EXPERIMENTING WITH SCARA ROBOT ARM
To experimentally validate the proposed method for determining the optimal position of the workpiece to avoid singular points in the workspace of the SCARA robot with RPRR configuration, the authors fabricated this 4degreeof freedom robot arm according to the design shown in Figure 3. The components of the robot were manufactured using 3D FDM (Fused Deposition Modelling) printing, and the motion was actuated by four NEMA17 stepper motors located at the four joints. Additionally, a servo motor was employed to control the gripper of the robot. The brain of this SCARA robot consists of an Arduino UNO board coupled with a CNC shield and four A4988 drivers to control the stepper motors. The interconnection diagram of the SCARA robot control devices is illustrated in Fig. 5.
In terms of transmission, for the first joint, there is a reduction ratio of 20:1 achieved through two belt drives. Two GT2 belts are used, each forming a loop with lengths of 200 mm and 300 mm. The robot's rotary joints are constructed with two thrust ball bearings and one radial ball bearing. For the second joint, there is a reduction ratio of 16:1, also achieved through two belt drives, and the third joint has a reduction ratio of 4:1 with only one belt drive. For each belt, auxiliary pulleys are sed to tension the belts. The gripper is controlled by an MG996R servo motor. The robot's Zaxis is controlled by a lead screw with a diameter of 8 mm, and the entire arm assembly slides on four linear rails with a diameter of 10 mm and linear ball bearings. The linear travel length of the translational joint is 350 mm.
Fig. 4. Diagram connecting the control devices of SCARA robot.
The SCARA robot control system consists of the following functional blocks: Power supply block provides electrical power to the entire system; processing block performs tasks such as computation, processing, information storage, and generates control signals; motor drivers control the movement of motors based on the control signals from the processing block; computer: serves as the interface between humans and the robot, responsible for transmitting information, setting control modes, or loading programs onto the control interface for the processing block; electric motors convert electrical energy into mechanical power under the control of the drivers. The limit switches act as safety locks, preventing the limbs and joints of the robot from exceeding specified limits during operation. The functional blocks are arranged and interconnected as shown in Fig. 5.
Fig. 5. Block diagram of SCARA Robot control system

FINDINGS AND DISCUSSION
The simulation results aim to identify four stopping points in the working space of the SCARA robot arm, preventing it from falling into singular points in the workspace. Specifically, the optimal stopping points are points 1, 2, 3, and 8, as depicted in Figure 6. In particular, Figure 6(a) illustrates the simulation results of the four stopping points of the SCARA robot arm using Matlab/Simulink, representing the joint angles, positions, and orientations of the end effector. Figure 6(b) shows the results of the code program designed to find the optimal stopping points.
To assess the validation of the proposed method for the SCARA robot arm to avoid singular points, the authors integrated an algorithm to find optimal stopping points into the robot control program. A comparison of simulation results with the experimental SCARA robot arm is shown in Figure 6. It is observed that the configuration of the robot arm at the optimal stopping points in the simulation results aligns with the real robot's configuration.
However, when comparing the coordinates of the stopping points between the simulation results and the real robot experiment, there is a discrepancy of Â±3 mm. This is attributed to the structure of the robot arm, with components manufactured using 3D printed PLA plastic, and the characteristics of the stepper motors at the articulation joints.
(b)
(a)
(c)
Fig. 6. Simulation and Experimental Results of 4 Stop Points of SCARA Robot Arm using Matlab/Simulink

CONCLUSION
[1] 
H. Makino, "Development of the SCARA," Journal of Robotics and Mechatronics, vol. 26, no. 1, pp. 58, 2014. 
[2] 
C. C. J. &. P. J. Urrea, "Design, construction and control of a SCARA manipulator with 6 degrees of freedom," Journal of applied research and technology, vol. 14, no. 6, pp. 396404, 2016. 
[3] 
M. E. S. A. S. F. B. S. M. &. E. O. Uk, "Modeling, control, and simulation of a SCARA PRRtype robot manipulator," Scientia Iranica, vol. 27, no. 1, pp. 330340, 2020. 
[4] 
F. T. V. M. S. S. F. N. &. S. M. F. Oliveira, "EndEffectors for Harvesting ManipulatorsState Of The Art Review," In 2022 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC), pp. 98103, 2022. 
[5] 
A. M. &. F. M. Jasour, "Path tracking and obstacle avoidance for redundant robotic arms using fuzzy NMPC," In 2009 American Control Conference, pp. 13531358, June 2009. 
[6] 
S. &. A. H. H. Teshigawara, "A mobile extendable robot arm: singularity analysis and design," In 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 51315138, November 2019. 
[7] 
L. M. F. M. I. K. J. &. P. I. Petrovi, "Trajectory optimization with geometryaware singularity avoidance for robot motion planning," 21st International Conference on Control, Automation and Systems (ICCAS), pp. 17601765, 1215 October 2021. 
[8] 
J. a. R. S. H. Denavit, "A kinematic notation for lowerpair mechanisms based on matrices," Trans ASME Journal of Applied Mechanics, pp. 215 221, 1955. 
The article proposes a method to address the peculiar configuration problem associated with the SCARA (Selective Compliance Articulated Robot Arm) robot with a Revolute PrismaticRevoluteRevolute (RPRR) arm. Kinematics model calculations and Jacobian matrix have also been developed, and these matrices are then applied to identify points where the robot arm exhibits peculiar configurations. Subsequently, optimal stopping points for the tool placement are determined based on these identified points.
Simulation and experimental results indicate the feasibility of the proposed method, showing that the robot arm does not fall into peculiar configurations during operation. Simultaneously, optimal stopping points for the robot during its operation are identified. The authors' future research direction involves improving the structure of the robot arm, experimenting with different types of motors at the joints, and implementing intelligent control methods for the robot.
V. REFERENCES