Next Article in Journal
Breath Analysis: A Promising Tool for Disease Diagnosis—The Role of Sensors
Next Article in Special Issue
Deep Q-Learning in Robotics: Improvement of Accuracy and Repeatability
Previous Article in Journal
Deep Multi-Feature Transfer Network for Fourier Ptychographic Microscopy Imaging Reconstruction
Previous Article in Special Issue
Integration and Testing of a High-Torque Servo-Driven Joint and Its Electronic Controller with Application in a Prototype Upper Limb Exoskeleton
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Singular Configuration Analysis and Singularity Avoidance with Application in an Intelligent Robotic Manipulator

Department of Control Science and Engineering, Tongji University, Shanghai 201804, China
*
Author to whom correspondence should be addressed.
Sensors 2022, 22(3), 1239; https://doi.org/10.3390/s22031239
Submission received: 12 January 2022 / Revised: 2 February 2022 / Accepted: 5 February 2022 / Published: 6 February 2022

Abstract

:
Recently, robotic sensor systems have gained more attention annually in complex system sense strategies. The robotic sensors sense the information from itself and the environment, and fuse information for the use of perception, decision, planning, and control. As an important supplement to traditional industrial robots, co-bots (short for co-working robots) play an increasingly vital role in helping small and medium-sized enterprises realize intelligent manufacturing. They have high flexibility and safety so that they can assist humans to complete highly repetitive and high-precision work. In order to maintain robot safe operation in the increasing complex working environment and human–computer intelligent interactive control, this paper is concerned with the problem of applicant accuracy analysis and singularity avoidance for co-bots. Based on the dynamic model with load and torque sensors, which is used to detect the external force at the end of the robot, this paper systematically analyzes the causes of singularity phenomenon in the robot motion control. The inverse solution is obtained by analytical method and numerical method, respectively. In order to ensure the smooth and safe operation in the whole workspace, it is necessary for a robot to avoid singularity. Singularity avoidance schemes are utilized for different control tasks, including point-to-point control and continuous path control. Corresponding simulation experiments are designed to verify the effectiveness of different evasion schemes, in which the advantages and disadvantages are compared and analyzed.

1. Introduction

Recently, appliance accuracy analysis and human–computer interaction have undergone rapid development in intelligent assembly machine factories, with typical examples including assembly, polishing, dual-arm coordination, or dexterous hand manipulations [1,2,3]. In order to adapt to small-batch, customized, and short-cycle production, it is necessary for co-bots, a new type of industrial robot that can work with human beings in the same working environment, to develop a hierarchical control algorithm that enables safe and stable cooperative locomotion. With dynamic model and torque sensors, the robot is achieving the drag control by compensations of gravity and friction, which counteract external disturbances. However, it will inevitably lead to the complexity and uncertainty of environment [4,5]. Reaching the singular region makes it easy for a robot to cause various problems, such as instability, poor performance, and so on. Emphasis is placed on the co-bot singularity. Hence, the singularity avoidance is the basis to ensure co-bot stable operation in the man–machine cooperation.
The singular configuration is a phenomenon which hampers the motion of the robot end effector [6,7]. The freedom of the robot end will decrease in a singular configuration, so it cannot be controlled to move in directions. While the robot approaches the singular adjacent region, some joints calculated by the inverse kinematic tend to infinity, which will cause the decline of tracking expected trajectory [8]. The singularity is the inherent characteristic of an articulated robot, which mainly appears in finding the inverse kinematics solution. The actual performance is that the calculated expected joint speed is much greater than the maximum joint speed which the actual motor can provide. Bohigas [9] gave the general algorithm of robot singular configuration with different mechanical structures. Müller [10] analyzed singular points by using Lie groups separated from the specific structure.
For more general singularity avoidance problems, Maciejewski [11] proposed a damped least square method with a damping term near singular region to obtain approximate solution of joint velocity. The essence lies in limiting the joint velocity near the singularity by adding a damping coefficient. Serial robots conduct seam welding, sealant application, spray painting, polishing, deburring, or other tasks requiring uninterrupted continuous motion. Chiaverini [12] introduced a continuous nonlinear function to characterize the damping factor, which is used to ensure the continuity of joint velocity near singular configuration. However, it will increase the tracking error of robot end in all directions. The damping factor is only added to the minimum singular value of a Jacobian matrix. In addition, Megalingam et al. [13] proposed singular separation to determine the singular direction of Kinova robots, and then avoid joint movement to pass through singular points. References [14,15] also proposed similar analysis methods to analyze singular directions, while these methods are not universal. A large number of SVD decomposition operations are required in the above singular point avoidance methods. In order to reduce amount of computation, Xu et al. [16] proposed the method of “singular separation + damping reciprocal” for PUMA robots. It was the first time to separate the singular problem into two parts of position and attitude. The redundant robots have infinite sets of inverse kinematics solutions, hence the optimal solution (i.e., the solution furthest away from the singular region) can be found by designing some optimization objective. Wang et al. [17] summarized some methods of using redundancy to avoid the singular region with series robot. The ultimate goal is to find the solution of the singular configuration of the robot principle in countless redundant solutions. The optimization directions include the determinant and condition number of Jacobian matrixes. However, the calculation using Jacobian matrix is too complex, and an optimization is proposed in reference [18,19].
All the singularity avoidance methods above are at the cost of tracking accuracy. The parameters of most methods are closely related to experience, especially the determination of damping factor and singular region. In addition to singularity avoidance method satisfying trajectory tracking, Taki et al. [20] proposed a method strictly tracking the desired path. Different from damping avoidance method, the avoidance algorithm proposed is to reduce running speed by reducing the expected speed when approaching the singular region, so as to avoid limiting the motion of the robot end effector caused by singular configuration. However, the strange avoidance method will only produce partial errors in tracking directions.
All these observations motivate the current study. In this paper, we concentrate on singular configuration analysis and singularity avoidance of co-bot, taking the JACO2 robot of Kinova Robotics company as an example [4,13]. It has seven DOF (degrees of freedom), with weight of 5.5 kg, a load of 1.5 kg, and a maximum arm span of 98.4 cm. Each joint motor is equipped with a torque sensor. The rotating potentiometer detects robot joint rotation, and the force sensor reflects ground reaction force information. The main contributions can be summarized as follows.
  • The D-H modeling method is utilized to build a joint coordinate system of the JACO2 robot. The inverse kinematics is solved by analytical method and numerical method, and the operation speed and accuracy of two schemes are compared.
  • The singularity caused by inverse kinematics is analyzed, and the robot singular configuration conditions are based on the block analysis of wrist Jacobian matrix, which are divided into three singular types: internal singularity, external singularity, and wrist singularity.
  • According to different task requirements, singularity avoidance schemes are utilized in robot redundancy, damped least squares, and singularity consistency. It is noted that these works focus on the working principle and control methods of robotic sensor system.

2. Materials and Methods

2.1. D-H Model

The kinematics model of the JACO2 robot with D-H model is illustrated in Figure 1, and its parameters are shown in Table 1.
According to D-H parameters, the transformation matrix between each links is
base T 0 = [ 1 0 0 0 0 - 1 0 1 0 0 - 1 0 0 0 0 1 ] , i T i + 1 = [ c o s θ i + 1 0 s i n θ i + 1 0 s i n θ i + 1 0 - c o s θ i + 1 0 0 1 0 d i + 1 0 0 0 1 ] ,   6 T 7 = [ c o s θ 7 s i n θ 7 0 0 s i n θ 7 - c o s θ 1 0 0 0 1 - 1 d 7 0 0 0 1 ] ,
where i = 0 , 1 , 2 5 . Thus, the forward kinematics equation of the JACO2 robot can be expressed as
T b a s e n = T b a s e 0 T 0 1 T 1 2 T 2 3 T 3 4 T 4 5 T 5 6 T 6 7 = f ( Θ )
where T i j denotes the homogeneous transformation matrix from { i } to { j } coordinate system, and Θ = { θ 1 , θ 2 θ n } denotes angle information of each joint. The Euler angle (x-y-z) [ α , β , γ ] and p = [ p x , p v , p z , α , β , γ ] T denote attitude of robot end and end pose, respectively, where [ p x , p y , p z ]   denote robot end position.

2.2. Inverse Kinematics

The analytical solution and numerical solution are generally adopted to resolve robot inverse kinematics. The former uses a robot’s geometric configuration by separating the forward kinematics parameters. The latter is based on numerical iteration, which obtains the optimal solution by setting objective function and controlling joint angle to move to the opposite gradient direction.
The JACO2 robot is a seven-DOF spherical revolution spherical configuration series robot. For a certain end pose, the robot has countless sets of inverse kinematics solutions. The redundancy makes the JACO2 robot operate more flexible than a traditional six-DOF series robot but increases the computational complexity. Two methods are used to solve inverse kinematics, respectively.
  • Analytical solution
The JACO2 robot has one more rotating joint at third joint and one more offset at fourth joint. Taking the third joint angle θ 3 as the redundant parameter, other joint angles are
θ i = f ( θ 3 ) i = 1 , 2 , I , 7
All inverse kinematics solutions can be obtained by traversing all effective value, and only one set of optimal solution can be selected according to cost function. Therefore, the inverse kinematics optimization problem is simplified as
min f ( Θ ) s . t . b a s e T ( Θ ) = b a s e T d , Θ [ Θ min , Θ max ] ,
where Θ = [ θ 1 θ 2 θ 3 θ 4 θ 5 θ 6 θ 7 ] T is angle vectors of each joint, T b a s e ( Θ ) is the forward kinematics equation, T b a s e d is the given end pose, and [ Θ min , Θ max ] represents the constraint of each joint.
Substituting (2) into (3), the inverse kinematics optimization problem is turned into a one-dimensional optimization of θ 3 :
min f ( θ 3 ) s . t . Θ [ Θ min , Θ max ] .
Selecting the motion amplitude of each joint as the cost function,
f ( Θ ) = i = 1 7 λ i ( θ i t + 1 θ i t ) 2 ,
where λ i is the weight coefficient, θ i t + 1 is the solution of the i-th joint in the current period, and θ i t is the solution of the i-th joint in the previous cycle. A greedy search is used to find the optimal solution.
2.
Numerical solution
The numerical method focuses on the equation relationship instead of robot geometric configuration. Given this, f ( Θ ) = T b a s e n , expected position T b a s e d , which are to be solved with constraints Θ [ Θ min , Θ max ] . The Jacobian matrix describes the relationship between robot end velocity and joint velocity:
x ˙ = J q ˙
where x ˙ = [ v x v y v z w x w y w z ] T represents terminal velocity. R 3 × 3 describes the relationship between Euler angle and terminal angular velocity.
p ˙ = [ I 3 × 3 R 3 × 3 1 ] x ˙ = [ I 3 × 3 R 3 × 3 1 ] J q ˙ = J q ˙ ,   R 3 × 3 = [ 1 0 s i n β 0 c o s α s i n α c o s β 0 s i n α c o s α c o s β ]
The pseudocodes of analytical and numerical inverse kinematics solutions are shown in Algorithms 1 and 2.
Algorithm 1: According to the Cost Function (7), the Obtained Optimal Solution θ 3
Input: T d (End pose to be solved)
Θ 0 (Current joint angle vector)
n (Iterative numbers per layer loop)
ε (Minimum allowable error)
[ θ 3 min , θ 3 max ] (Possible value range)
Output: Θ o p t (Optimal joint angle vector)
1:do
2:   r = ( θ 3 max θ 3 min ) / ( n 1 ) (Search step of θ 3 )
3: S = { θ 3 min + ( m 1 ) r | m = I n }
4:   C max = i n f (Cost)
5:  for r in S do
6:    θ 3 = r
7:    Θ = I n v K i n ( T d , θ 3 ) (Given θ 3 to find inverse kinematics solutions. If the
   solution is within the joint limit, Θ   is returned; otherwise, Φ is returned.)
8:   if Θ Φ and f ( Θ ) < C max then
9:      C max = f ( Θ )
10:      Θ o p t = Θ
11:   else
12:    continue
13:end
14: θ 3 min = θ 3 o p t s
15: θ 3 max = θ 3 o p t + s
16:while  γ > ε
Algorithm 2: φ is the Partial Derivative of the Joint Angle
Input: P d (Terminal position vector needed to be solved)
Θ 0 (Current joint angle vector)
λ (Step size per iteration)
n max (Maximum number of iterations)
ε (Maximum allowable error)
Output: Θ o p t (Optimal joint angle vector)
1: Θ = Θ 0 , n = 1
2: e r r = P d f ( Θ )
3:do
4:   Δ Θ = J + e r r + ( I 7 × 7 J + J ) φ ( φ is used to control the iteration direction)
5:   Δ Θ = n o r m a l i z e ( Δ Θ ) (Normalized to [-pi,pi])
6:   Θ = Θ + λ Δ Θ
7:   e r r = P d f ( Θ )
8: n = n + 1
9:while  e r r < ε or n > n max
10: Θ o p t = Θ

2.3. Singular Configuration Analysis

Both of the two methods illustrated in Section 2.2 will introduce singularity. Whether the robot is in a singular configuration depends on the full rank of the Jacobian matrix,
J = [ J p J ω ] = [ v ω ] = [ e 1 × r 1 e 2 × I e 7 × r 7 e 1 e 2 e 7 ]
where e i is the unit vector of the i-th joint, and r i is the vector between the origin and end position. The Jacobian matrix at the end and wrist satisfies
J e = [ I 3 × 3 U 3 × 3 0 3 × 3 I 3 × 3 ] J w ,   U 3 × 3 = [ 0 d 7 c 6 d 7 s 5 s 6 d 7 c 6 0 d 7 c 5 s 6 d 7 s 5 s 6 d 7 c 5 s 6 0 ] .
Let c i and s i be abbreviations of c o s θ i and s i n θ i , respectively, and that d e t ( J e J e T ) = d e t ( J w J w T ) , R a n k ( J e ) = R a n k ( J w ) . According to (8), the Jacobian matrix of wrist is
J w = [ J 11 3 × 4 0 3 × 3 J 21 3 × 4 J 22 3 × 3 ] .  
It is expressed as (11) in the wrist coordinate system:
J w w = [ R b a s e w 1 0 3 × 3 0 3 × 3 R b a s e w 1 ] b a s e J w
where R b a s e w represents wrist Jacobian matrix.
  • Positional singularity
The unfilled rank of the first three rows of the Jacobian matrix will result in position singularity, which can be described as d e t ( J w 11 J w 11 T ) = 0 ,
d e t ( J w 11 J w 11 T ) = i = 1 4 M i 2
where M i   represents the determinant of cofactor of matrix J w 11 .
M 1 = d e t ( [ j 1 j 2 j 3 ] ) = 0 , M 2 = d e t ( [ j 1 j 2 j 4 ] ) = d 3 d 5 s 4 ( d 3 s 2 d 5 s 2 c 4 + c 2 d 5 c 3 s 4 + c 2 d 4 s 3 ) , M 3 = d e t ( [ j 1 j 3 j 4 ] ) = d 3 d 5 s 2 s 4 ( c 3 d 4 d 5 s 3 s 4 ) , M 4 = d e t ( [ j 2 j 3 j 4 ] ) = d 3 d 5 s 4 ( d 4 s 3 + c 3 d 5 s 4 ) .
The conditions in whether each co-factor equals zero are expressed as Table 2.
When s 4 = 0 , the θ 4 joint limitation is 32°~328°, the robot arms stretch out, and the end is at the boundary point, which is called boundary singularity. The θ 2 joint limitation is 49°~311°, when d 4 s 3 + d 5 s 3 s 4 = 0 , the JACO2 robot is in a singular state, which is called internal singularity, which is shown in Figure 2. The singularity condition is illustrated in Table 3.
2.
Attitude singularity
Similarly, the attitude singularity can be judged by analyzing whether the last three rows of the wrist Jacobian matrix are less than the rank. Substituting each item of Jacobian matrix, the robot attitude singularity condition is shown in Table 4, and its wrist singularity condition is shown in Figure 3.
d e t ( J w 22 J w 22 T ) = s 6 2 = 0 ,     d e t ( J w w J w w T ) = 2 d 3 2 d 5 2 s 2 2 s 4 2 ( d 4 s 5 + d 3 s 4 c 5 ) 2 = 0 .

3. Theoretical Analysis

The main purpose of singularity avoidance is to keep the stable, continuous, and bounded running speed of each joint when the robot is in the singular region. The relationship between joint velocity and end velocity is described as
q ˙ = J 1 x ˙
Since the Jacobian matrix of the JACO2 robot is a nonsquare matrix, (13) is turned into
q ˙ = J + x ˙ + α ( I J T J + ) φ
where J + = J T ( J J T ) 1 represents the pseudo-inverse of the Jacobian matrix J , α is coefficient, and φ is an arbitrary vector. In order to ensure that the joint velocity is bounded, it is necessary to change Jacobian matrix J or end running velocity x ˙ .

3.1. Avoidance Strategy with End Velocity Constant

  • Internal singularity
To keep the end velocity constant, according to (15), only the Jacobian matrix J needs to be changed. The cost function (10) is introduced to obtain the optimal solution. The function is designed:
f ( Θ ) = 1 d e t ( J J T )
where J   respresents Jacobian matrix corresponding to each group of possible inverse kinematics solutions. Then, d e t ( J J T ) will be maximized to avoid singularity. The cost function can be designed as
f ( Θ ) = 1 σ r 2
f ( Θ ) = σ r 2 σ 1 2
where σ r and σ 1 represent minimum and maximum singular value, respectively. The convergence direction can be controlled by selecting an appropriate vector φ , which controls the gradient of cost function with respect to joint angle Θ . Hence, the equivalent effect of avoiding singularity with the analytical rule is
φ = f ( Θ ) Θ
However, considering that all redundant solutions of the JACO2 robot make the manipulator elbow operate on a spatial circle, the above avoidance method can only have a good avoidance effect on the internal singularity and yet have nothing to do with external singularity and pose singularity.
2.
Other singular configurations
Other singular configurations cannot be simply avoided by redundant solutions. When the robot elbow is extended, which belongs to external singularity, the robot end is close to the workspace boundary. The robot cannot find the solution far away from the singularity (the fourth joint angle of all solutions approaches π). For six-DOF series industrial robots (most are PUMA type), the method of “singular separation + damping coefficient” adopted in literature [16,21] can obtain good results and analyze the corresponding errors, while it is not suitable for the JACO2 redundant robot, since singular separation effect cannot be realized directly. A damped least squares method is adopted for singular avoidance in this section, which combines the merit of Newton and steepest descent method. It not only ensures the convergence of iterative calculation, but also speeds up the convergence speed.
q ˙ = J # x ˙
where J # is the pseudo-inverse of damped Jacobian matrix,
J + = J T ( J J T + λ 2 I ) 1
Then, minimizing the cost function, and regularizing velocity term by coefficient,
f ( Θ ) = i = 1 7 ( θ i t + 1 θ i t ) 2 + i = 1 7 λ 2 ( θ ˙ i t + 1 ) 2
Then, we regularize of velocity term by coefficient. The minimum singular value of the Jacobian matrix is used as the criterion to judge whether the robot enters the singular region. Equation (20) can be transformed into
J = i = 1 6 σ i u i v i
J # = i = 1 6 σ i σ i 2 + λ 2 v i u i T
Θ ˙ = J # x ˙ = i = 1 6 σ i σ i 2 + λ 2 v i u i T
where   λ 2 = { 0 σ 6 > ε ( 1 ( σ 6 ε ) 2 ) λ m 2 σ 6 ε

3.2. Avoidance Strategy with End Velocity Changed

The external singularity and wrist singularity are mainly discussed here. The avoidance strategy of end speed change is to change the expected end speed in (15). A path parameter p is introduced to describe the trajectory, and end operation trajectory can be expressed as
x = x ( p )
The tracking of desired trajectory is expressed by mathematical expression,
h ( q ˜ ) = k ( p ) x ( p ) = 0
where k ( p ) represents the forward kinematics solution process, q ˜ is the set of path parameters p and joint angles, i.e., q ˜ = ( q , p ) . The tracking target will satisfy
d h ( q ˜ ) = H ( q ˜ ) d ( q ˜ ) = 0
H ( q ˜ ) = h ( q ˜ ) q ˜ = [ J ( q ) S ]
where S is a unit vector, which satisfies d x ( p ) = d p S , and d v = d v ( x ) direction, S is the vector of the end running speed, and parameter P is the end running speed. The general solution of (27) can be expressed as
d q ˜ = b f ( q ˜ )
where b is constant, f ( q ˜ ) ker H ( q ˜ ) ,
f ( q ˜ ) = [ f T ( q ) d e t J ( q ) ] T
where f ( q ˜ ) = ( a d j J ( q ) ) S ( p ) . Equation (29) can be expanded to
d q = b f ( q ˜ )
d p = b d e t J ( q )
As long as the trajectory parameters are designed to satisfy (32) and give the joint speed of formula (31), the robot end trajectory can be always followed. It can be found that when the robot approaches the singular configuration, the determinant of the Jacobian matrix approaches 0, and the given constant and joint velocity both tend to infinity. Therefore, the singular phenomenon can be avoided. The constant b is determined by
b * = d q max f ( q ˜ )
Reprogramming end velocity based on (32),
d p * = b * d e t J ( q )
In that the JACO2 robot has redundant joints, (31) is deformed as
d q = b e p n e p + b s f n s f
d p = b e p d e t J 3
where b e p and b s f are all constants, J 3 is the Jacobian matrix removing cofactor of column 3, n e p r o w J , n s f ker J . However, when internal singularity occurs, the symbol of d e t J 3 and d p will change, making the expected trajectory reverse, which is equivalent to an obstacle.
n e p = i = 1 7 b i n i
d p = b e p i = 1 7 b i d e t J i
where J i is the Jacobian matrix removing the cofactor of column i , the i th item of n i is always 0, then remove n i item, there is J n i = C i d e t J i . The i th item of C i is 1, and other items are 0.
Let b i = d e t J i , then d p = b e p i = 1 7 b i d e t J i = b e p d e t ( J J T ) , then the symbol d p will not change.

4. Experimental Results and Comparisons

To demonstrate the performance of the proposed algorithm, a series of simulations and comparisons are conducted. The simulations include a variety of avoidance strategies which basically cover most of the actual situations. Four experimental studies including inverse kinematics solutions and singularity analysis are carried out to test the feasibility of practical application. The symbolic operation toolbox in MATLAB is used for dynamic modeling.
The robot home position is selected as the starting point (joint angle [283.24; 162.71; 0.; 43.58; 265.23; 257.52; 288.14], pose position [0.2113; −0.2656; 0.5065; 1.6477; 1.1081; 0.1282]).

4.1. Two Inverse Kinematics Solutions

Let the robot end run at a speed of 0.1 m/s along the y-axis for 3 s, and control period be 0.1 s. A total of 200 trajectory middle points are inserted. The angles of each joint are calculated by two inverse kinematics solution algorithms. Figure 4 shows the trajectories of two kinematics algorithms. The red points represent the desired points, and blue and green describe trajectories with numerical and analytical solutions, respectively. Their solution errors are shown in Figure 5 and Figure 6.

4.2. Singularity Avoidance

To verify the effectiveness proposed in Section 3, singularity avoidance strategies based on robot redundancy, damped least squares, and singularity consistency are realized, respectively. Let the robot end run at the speed of 0.1 m/s along the positive direction along the z-axis for 7.5 s and then turn back, and continue to run along the negative direction along the z-axis for 7.5 s. Set a control cycle as 0.01 s. The joint state and tracking error are plotted with a sampling period of 0.1 s. The compared simulations are as follows.
  • Taking no avoiding measures
Figure 7 shows the position change curve of each joint, Figure 8 shows the velocity variation curve (4.5 s~4.9 s), and Figure 9 shows the tracking errors of position and orientation (4.5 s~4.9 s).
2.
Using damping Jacobian matrix to avoid singularity
Assume that ε = 0.1 is the boundary of the singular region, and λ m 2 = 0.1 is the damping coefficient. Figure 10 shows position change curve of each joint, Figure 11 shows the speed change, and Figure 12 shows tracking errors of position and orientation, respectively.
3.
Using singular consistency to avoid singularity
Figure 13 and Figure 14 show the position and speed change curve of each joint, respectively. Figure 15 shows the running speed of the robot end, Figure 16 shows each item changes of constant b, and Figure 17 shows the tracking errors of position and orientation.

5. Results Discussion

From the simulation results in Section 4.1, it is noted that both accuracies can meet the requirement of inverse kinematics. The average calculation time of using the numerical method to calculate the inverse kinematics solution is 0.0021 s, and using the analytical method is 0.0014 s. The calculation time of two methods is in the same order of magnitude. However, when the robot is in the singular configuration, the numerical method takes three times more time than the numerical method due to more iterations needed.
Figure 7, Figure 8 and Figure 9 show variation curves of joint position, velocity, and tracking error with time under no avoiding measures. It is obvious that the robot enters the singular region in about 4.65 s. At this time, the angle value of joint 4 is close to π   and meets the condition of external singularity. Due to the ill condition of the Jacobian matrix, the obtained joint angle has a sudden change, and the joint speed is particularly huge, which is impossible for the motor to realize in practice. Meanwhile, the robot tracking error end pose becomes larger after entering the singular region, since the upper motor speed cannot be tracked in practical operation.
From Figure 10, Figure 11 and Figure 12, it can be seen that with damping Jacobian matrix (21), the joint angle changes smoothly, and the whole joint speed can be below 1.5 rad/s. After entering the singular region at about 4.65 s, the pose tracking error will also increase to a certain extent. However, the avoidance method has a certain effect on limiting joint speeds, it is too sensitive to the selection of parameters. Hence, it is necessary to design and select appropriate control parameters for different task requirements.
Figure 13, Figure 14, Figure 15, Figure 16 and Figure 17 show variation curves of joint position, velocity, end position, and tracking error with singular consistency to avoid singularity. It can be seen that the robot enters the singular region at about 4.1 s. By changing constant value b i , which makes the following det Ji smaller, the desired robot end speed dp are forced to change (Figure 15), to limit the speed of each joint (Figure 14). Compared with the singularity avoidance methods in Section 3.1, the joint operation is more stable, and the operation speed of each joint can also transit smoothly when entering into singularity region. Moreover, it will not cause an error deviating from desired trajectory. Therefore, when the robot end velocity is constant, the damping least square avoidance method is selected, while the singular consistency avoidance method is more appropriate when the end velocity changes.

6. Conclusions

The emergence of co-bots is an important supplement to traditional industrial robots, especially for new potential users such as small and medium-sized enterprises and increasingly complex control tasks in 3C electronic products, which determines that co-bots should have characteristics of safe use, simple operation, and convenient deployment. Taking the JACO2 robot as a carrier, this paper provides research on singularity analysis and avoidance strategies to realize safe control and smooth operation of a co-bot in the increasingly complex working environment and man–machine intelligent interactive control. The research results are summarized as follows.
The instability and potential safety hazards of the robot in the singular region are analyzed in detail. The conditions for singularity of the robot are deduced by means of Jacobian matrix separation. Then, the singular configuration conditions are analyzed in detail by means of block analysis of robot wrist Jacobian matrix, which can be divided into three singular types: internal singularity, external singularity, and wrist singularity. For different types of singularity, three singularity avoidance schemes are realized based on robot redundancy and different control tasks. This will ensure safe and stable operation of the co-bot in the whole workspace, and it eliminates safety problems in the man–machine cooperation.
In the future work, it is necessary to study some security issues through other sensors to ensure safety from the perspective of smooth operation, for example, replanning tasks to avoid collision, and adjusting the robot running state according to the working state of the operator. In addition, compliance control can also be studied to improve the robot adaptability with complex industrial tasks.

Author Contributions

Conceptualization, H.W.; Data curation, Z.Z. and X.Z.; Formal analysis, H.W.; Funding acquisition, Q.C.; Investigation, H.W.; Methodology, H.W.; Project administration, H.W. and Q.C.; Resources, H.W., Z.Z. and X.Z.; Software, Z.Z. and X.Z.; Supervision, Q.C.; Validation, H.W.; Visualization, Z.Z.; Writing—original draft, H.W. All authors have read and agreed to the published version of the manuscript.

Funding

This work is supported by National Natural Science Foundation of China (61733013, 61573260, 61773289, U1713211).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Prusaczyk, P.; Kaczmarek, W.; Panasiuk, J.; Besseghieur, K. Integration of robotic arm and vision system with processing software using TCP/IP protocol in industrial sorting application. Proc. AIP Conf. 2019, 2078. [Google Scholar] [CrossRef]
  2. Nikolaos, S.; Charalampos, V.; Vassilis, C.M. Experimental verification of optimized anatomies on a serial metamorphic Manipulator. Sensors 2022, 22, 918. [Google Scholar] [CrossRef]
  3. Jaberzadehansari, R.; Karayiannidis, Y. Task-based role adaptation for human-robot cooperative object handling. IEEE Robot. Autom. Lett. 2021, 6, 3592–3598. [Google Scholar] [CrossRef]
  4. Golluccio, G.; Gillini, G.; Marino, A.; Antonelli, G. Robot dynamics identification: A reproducible comparison with experiments on the Kinova aco. IEEE Robot. Autom. Mag. 2020, 28, 128–140. [Google Scholar] [CrossRef]
  5. Sidiropoulos, A.; Karayiannidis, Y.; Doulgeri, Z. Human-robot collaborative object transfer using human motion prediction based on cartesian pose dynamic movement primitives. In Proceedings of the 2021 IEEE International Conference on Robotics and Automation (ICRA), Xi’an, China, 30 May–5 June 2021; pp. 3758–3764. [Google Scholar] [CrossRef]
  6. Nakamura, Y.; Hanafusa, H. Inverse kinematic solutions with singularity robustness for robot manipulator control. J. Dyn. Syst. Meas. Control. 1986, 108, 163–171. [Google Scholar] [CrossRef]
  7. Milenkovic, P. Wrist singularity avoidance with a robot end-effector adding an oblique, redundant axis. Mech. Mach. Theory 2021, 162, 1–18. [Google Scholar] [CrossRef]
  8. Hamed, K.A.; Kamidi, V.R.; Ma, W.L. Hierarchical and safe motion control for cooperative locomotion of robotic guide dogs and humans: A hybrid systems approach. IEEE Robot. Autom. Lett. 2019, 5, 56–63. [Google Scholar] [CrossRef] [Green Version]
  9. Bohigas, O.; Zlatanov, D.; Ros, L. A general Method for the Numerical Computation of Manipulator Singularity Sets. IEEE Trans. Robot. 2014, 30, 340–351. [Google Scholar] [CrossRef] [Green Version]
  10. Müller, A. On the Manifold property of the set of singularities of kinematic mappings: Modeling, Classification, and Genericity. J. Mech. Robot. 2012, 4, 011006. [Google Scholar] [CrossRef]
  11. Maciejewski, A.A.; Klein, C.A. Numerical filtering for the operation of robotic manipulators through kinematically singular configurations. J. Robot. Syst. 1988, 5, 527–552. [Google Scholar] [CrossRef]
  12. Chiaverini, S. Singularity-robust task-priority redundancy resolution for real-time kinematic control of robot manipulators. IEEE Trans. Robot. Autom. 1997, 13, 398–410. [Google Scholar] [CrossRef] [Green Version]
  13. Megalingam, R.K.; Sree, G.S.; Reddy, G.M. Speech and kinova arm-based interactive system with person tracking. In Computer Networks and Inventive Communication Technologies; Smys, S., Ed.; Springer: Singapore, 2021; Volume 58, pp. 257–267. [Google Scholar] [CrossRef]
  14. Mou, J. Research on Singular Configuration Analysis and Control Method of Robot. Master Thesis, Northern Jiaotong University, Beijing, China, 2001. [Google Scholar]
  15. Wu, G.; Zhang, G.L.; Yang, F. A singularity avoidance algorithm based on improved damped reciprocal for space robot. J. Astronaut. 2016, 37, 325–333. [Google Scholar] [CrossRef]
  16. Xu, W.F.; Liang, B.; Liu, Y. A new singularity avoidance algorithm for Puma type robot. J. Autom. 2008, 34, 6. [Google Scholar]
  17. Wang, X.; Zhang, D.; Zhao, C. Singularity analysis and treatment for a 7R 6-DOF painting robot with non-spherical wrist. Mech. Mach. Theory 2018, 126, 92–107. [Google Scholar] [CrossRef]
  18. Fang, Y.; Tsai, L. Feasible motion solutions for serial manipulators at singular configurations. J. Mech. Des. 2003, 125, 61–69. [Google Scholar] [CrossRef]
  19. Dahlin, A.; Karayiannidis, Y. Adaptive trajectory generation under velocity constraints using dynamical movement primitives. IEEE Control. Syst. Lett. 2019, 4, 438–443. [Google Scholar] [CrossRef]
  20. Taki, S.; Nenchev, D.N. A novel singularity-consistent inverse kinematics decomposition for S-R-S type manipulators. In Proceedings of the 2014 IEEE International Conference on Robotics and Automation (ICRA), Hong Kong, China, 31 May–7 June 2014; pp. 5070–5075. [Google Scholar]
  21. Peng, H. Singularity avoidance and vibration suppression in trajectory planning of 6-DOF series robot. Master’s Thesis, Harbin Institute of Technology, Harbin, China, 2015. [Google Scholar]
Figure 1. JACO2 robot coordinate system.
Figure 1. JACO2 robot coordinate system.
Sensors 22 01239 g001
Figure 2. Position singularity of the JACO2 robot.
Figure 2. Position singularity of the JACO2 robot.
Sensors 22 01239 g002
Figure 3. JACO2 wrist singularity.
Figure 3. JACO2 wrist singularity.
Sensors 22 01239 g003
Figure 4. Comparisons of two inverse kinematics solutions.
Figure 4. Comparisons of two inverse kinematics solutions.
Sensors 22 01239 g004
Figure 5. Analytical inverse solution error.
Figure 5. Analytical inverse solution error.
Sensors 22 01239 g005
Figure 6. Numerical inverse solution error.
Figure 6. Numerical inverse solution error.
Sensors 22 01239 g006
Figure 7. Position of each joint.
Figure 7. Position of each joint.
Sensors 22 01239 g007
Figure 8. Velocity of each joint.
Figure 8. Velocity of each joint.
Sensors 22 01239 g008
Figure 9. The tracking errors of position and orientation.
Figure 9. The tracking errors of position and orientation.
Sensors 22 01239 g009
Figure 10. Position of each joint.
Figure 10. Position of each joint.
Sensors 22 01239 g010
Figure 11. Velocity of each joint.
Figure 11. Velocity of each joint.
Sensors 22 01239 g011
Figure 12. The tracking errors of position and orientation.
Figure 12. The tracking errors of position and orientation.
Sensors 22 01239 g012
Figure 13. Position change of robot joints.
Figure 13. Position change of robot joints.
Sensors 22 01239 g013
Figure 14. Velocity variation of robot joints.
Figure 14. Velocity variation of robot joints.
Sensors 22 01239 g014
Figure 15. Robot end speed change.
Figure 15. Robot end speed change.
Sensors 22 01239 g015
Figure 16. The constant b.
Figure 16. The constant b.
Sensors 22 01239 g016
Figure 17. The tracking errors of position and orientation.
Figure 17. The tracking errors of position and orientation.
Sensors 22 01239 g017
Table 1. D-H parameters of the JACO2 robot.
Table 1. D-H parameters of the JACO2 robot.
i α i 1 (rad) a i 1 (m) d i (m) θ i (rad)
1 π / 20−0.2755 θ 1
2 π / 200 θ 2
3 π / 20−0.41 θ 3
4 π / 20−0.0098 θ 4
5 π / 20−0.3111 θ 5
6 π / 200 θ 6
7 π 0−0.2638 θ 7
Table 2. The condition in which the determinant of the J w 11 cofactor of each order is 0.
Table 2. The condition in which the determinant of the J w 11 cofactor of each order is 0.
NumberConditionM1M2M3M4
1 s 4 = 0
2 d 3 s 2 d 5 s 2 c 4 + c 2 d 5 c 3 s 4 + c 2 d 4 s 3 = 0
3 s 2 = 0
4 c 3 d 4 d 5 s 3 s 4 = 0
5 d 4 s 3 + d 5 s 3 s 4 = 0
Table 3. The position singularity condition.
Table 3. The position singularity condition.
NumberCondition Combination in Table 2 (Serial Number)Simplified Conditions
11 s 4 = 0
22 + 3 + 5 s 2 = 0 ,   d 4 s 3 + d 5 s 3 s 4 = 0
32 + 4 + 5Not established (4 and 5 cannot be met at the same time).
Table 4. The robot attitude singularity condition.
Table 4. The robot attitude singularity condition.
NumberAttitude Singularity Satisfying ConditionNote
1 s 6 = 0           s 2 = 0
2 s 6 = 0   s 4 = 0 The position singularity is also satisfied.
3 s 6 = 0 d 4 s 5 + d 3 s 4 c 5 = 0
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Wang, H.; Zhou, Z.; Zhong, X.; Chen, Q. Singular Configuration Analysis and Singularity Avoidance with Application in an Intelligent Robotic Manipulator. Sensors 2022, 22, 1239. https://doi.org/10.3390/s22031239

AMA Style

Wang H, Zhou Z, Zhong X, Chen Q. Singular Configuration Analysis and Singularity Avoidance with Application in an Intelligent Robotic Manipulator. Sensors. 2022; 22(3):1239. https://doi.org/10.3390/s22031239

Chicago/Turabian Style

Wang, Helin, Ziqiang Zhou, Xianyou Zhong, and Qijun Chen. 2022. "Singular Configuration Analysis and Singularity Avoidance with Application in an Intelligent Robotic Manipulator" Sensors 22, no. 3: 1239. https://doi.org/10.3390/s22031239

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop