Abstract
In this article, we analyze the singularities of six-degree-of-freedom anthropomorphic manipulators and design a singularity handling algorithm that can smoothly go through singular regions. We show that the boundary singularity and the internal singularity points of six-degree-of-freedom anthropomorphic manipulators can be identified through a singularity analysis, although they do not possess the nice kinematic decoupling property as six-degree-of-freedom industrial manipulators. Based on this discovery, our algorithm adopts a switching strategy to handle these two cases. For boundary singularities, the algorithm modifies the control input to fold the manipulator back from the singular straight posture. For internal singularities, the algorithm controls the manipulator with null space motion. We show that this strategy allows a manipulator to move within singular regions and back to non-singular regions, so the usable workspace is increased compared with conventional approaches. The proposed algorithm is validated in simulations and real-time control experiments.
Introduction
Humanoid robots and service robots have been gaining popularity. These robots are usually equipped with anthropomorphic manipulators that are mechanically designed to mimic human arms, with links corresponding to a human’s upper arm and forearm, and joints corresponding to the shoulder, elbow, and wrist, so that they can execute tasks with human-like motion. Usually their anthropomorphic manipulators have either six-degrees of freedom (6-DOFs) or 7-DOFs. To mimic human kinematics, the 6-DOF manipulators are configured as 3-1-2 (6-DOF) and the 7-DOF ones are as 3-1-3 (also known as spherical-revolute-sphericalmanipulators 1 ), where the number denotes the number of revolute joints in the shoulder, the elbow, and the wrist. For example, the humanoid robots with 3-1-2 manipulators (6-DOF) include Atlas, 2 HRP-2, 3 HRP-4C, 4 and Sophia, 5 and the ones with 3-1-3 manipulators (7-DOF) include ASIMO, 6 HUBO 2, 7 Justin, 8 and HRP-4. 9
A fundamental problem of controlling these manipulators, however, is the singularity issue, as these manipulators by design inherit the singularities of a human arm. Many algorithms have been proposed to handle the singularity of manipulators: type-I methods apply a continuous modification of control input throughout the entire workspace and type-II methods apply a switching strategy that divides the workspace into singular and non-singular regions.
A common singularity handling strategy of type-I methods is to use a continuous function to modify the ill-conditioned Jacobian matrix, 10,11 or the trajectory of the end effector, 12 in which the modification affects the manipulator’s motion when it is near a singular configuration and has close-to-zero contributions in the non-singular region. For instance, damped least squares 13 (DLS) is a popular singularity avoidance method and has been widely adopted in various robot manipulators. 14,15 It utilizes damping variables to modify the ill-conditioned Jacobian matrix into a well-conditioned matrix, although the use of high damping variables may increase the tracking error of the end effector. Following a similar idea, the singular value filtering (SVF) algorithm 16 uses a shape factor and a user-defined minimum singular value to filter the ill-conditioned Jacobian matrix and to overcome the conditioning problems of the DLS method. Other singularity avoidance methods include replanning the desired trajectory in the vicinity of singularity. 17 For multiple manipulators, the singularity-free trajectory planning 18 plans the trajectory of two arms by the linear momentum conservation equation to keep the attitude and centroid position of the base stabilized in inertial space. For collaborative robots, the study 19 proposed an anticipative kinematic limitation avoidance algorithm that utilizes a sliding direction to avoid the joint limitations, singularities, and collisions. The firefly algorithm 20 uses an optimization process to find more than one solution of the inverse kinematics to avoid the singular configurations.
Type-II methods handle singularities by modifying the control input in some proper subspace, based on the type of singularity that the robot encounters. It switches off the original control signal in the singular direction, controlling the rest of the task space with the collapsed Jacobian matrix (e.g. a
In comparison, while the type-I methods can be directly implemented for most manipulators, they usually narrow the workspace and increase tracking error in the vicinity of singularity. On the contrary, the type-II methods can go through singular regions and hence have smaller tracking error. However, they are robot specific, mostly designed for the 6-DOF industrial manipulators, because these methods require singularity analyses that classify the singularity conditions and directions.
The objective of this article is to design a type-II strategy for 6-DOF anthropomorphic manipulators, so that the workspace of the manipulator can be maximally utilized. However, an immediate difficulty of this problem is the geometry structure of the 6-DOF anthropomorphic manipulators, which does not appear in the case with the common 2-1-3 configuration of 6-DOF serial industrial manipulators that have been considered in the literature of type-II methods. The 6-DOF anthropomorphic manipulators place three-DOF on the shoulder, whereas the 6-DOF serial industrial manipulators place three-DOF on the wrist to form an effective spherical joint at the end effector. This classical 2-1-3 configuration of the latter is called kinematic decoupling 27 (i.e. a spherical wrist is used for the orientation and the other joints are used for the position), and it has been the basic assumption made in common type-II designs, for example, in the past research 28 –31 which analyze the singularity of most 6-DOF and 7-DOF industrial manipulators. Specifically, when a manipulator is kinematic decoupled, its Jacobian matrix can be written as a lower triangular block matrix, so algebraic analysis of singularity becomes feasible (the degeneracy is governed simply by the determinants of the diagonal submatrices). However, the 6-DOF anthropomorphic manipulators do have this nice property; therefore, the previous analyses cannot be directly applied to our case.
In this article, we show that the boundary singularity and the internal singularities of these 6-DOF anthropomorphic manipulators can be identified, despite lacking kinematic decoupling. Through symbolic computation, we find that the determinant of the Jacobian of 6-DOF anthropomorphic manipulators possesses a certain algebraic structure, which allows the identification of different singular conditions and the corresponding singular directions. Based on this discovery, we design a singularity handling algorithm following the type-II method. 24 We design a modified control input to handle the boundary singularity with a bounded acceleration to avoid the manipulator approaching the workspace boundary while maintaining the desired orientation of the end effector. For the internal singularity, our algorithm adopts the robust singularity method 24 to make the manipulator go through singular regions. The proposed algorithm is applied to a 6-DOF anthropomorphic manipulator in simulations and experiments. In the simulations, it shows improved tracking errors compared with the type-I methods (SVF and DLS), due to its ability to approach closer to singular points. In experiments, we demonstrate real-time control of a real-world 6-DOF anthropomorphic manipulator to track a desired trajectory that passes through both types of singularities.
Preliminaries
Problem formulation
A serial manipulator with n joints can be represented by a configuration of joint variables
where
In practice, singularity affects the task space motion not only exactly at singular points but also in the vicinity of a singular point; therefore, we define the singular region as
where
Singularity can also be illustrated using singular value decomposition (SVD). In the case of
where columns of
The singular values are ordered as
When the manipulator is in the vicinity of the singular points (singular region), the control inputs need to be modified. The DLS method
13
(type-I) uses damping variables to modify the Jacobian matrix for singularity avoidance at the cost of increasing tracking errors. In order to maximize the effective task space, the type-II methods remove the degenerate components and control the rest of the task space to go through the singular region. For example,
32
if there is a degenerate component in a
It is useful to note that while the manipulator exhibits zero velocity along the singular direction, its acceleration along that direction is nonzero. Specifically, for a singular configuration, the velocity along any singular direction is
where
which is nonzero in general.
Operational space control
We will use operational space control in the proposed algorithm, so we review its basics for completeness. Suppose that the manipulator’s joint-space dynamics can be written as
where
where
and
where
The operational space force and joint space torque are related through the Jacobian matrix. In general, the joint space torque can be written as
where
where the subscript d denotes the desired end-effector acceleration, velocity, and position, and
When
Finally, we note that the second term in equation (13) induces a null space motion. Typically, it is set as the negative gradient of some lower bounded potential function.
Singularity handling algorithm
In this section, we provide details of the proposed type-II algorithm for 6-DOF anthropomorphic manipulator. As discussed in the introduction, the previous studies 21,22,24 rely on singularity analyses of a manipulator’s kinematics in order to design specific control schemes to go through different types of singularities. For example, the notable singularity robust algorithm 24 was designed based on the assumption that the manipulator is kinematically decoupled 29 (e.g. a 6-DOF PUMA manipulator). We design the proposed algorithm following this principle: we first analyze the singularity conditions of 6-DOF anthropomorphic manipulators, showing that its determinant has a specific algebraic structure despite lacking kinematic decoupling. Then, we introduce the real-time singularity handling algorithm, in which respective controllers are designed to handle the boundary singularity and the internal singularity.
Singularity analysis of 6-DOF anthropomorphic manipulators
Singularity analysis is essential to identify the singular conditions for designing type-II methods. In the previous study, the singularity robust algorithm 24 uses operational space control and null space control techniques to handle the three singular conditions of the 6-DOF PUMA manipulator, respectively. However, the geometry structure of 6-DOF anthropomorphic manipulators 2 –5 (3-1-2) is different from the 6-DOF industrial manipulators (2-1-3). 28 Therefore, existing analysis cannot be directly applied to the singular conditions of 6-DOF anthropomorphic manipulators, which lacks kinematic decoupling. In order to implement the type-II method for 6-DOF anthropomorphic manipulators, we analyze its singularities below.
To be specific, we consider 6-DOF anthropomorphic manipulators whose D-H model follows the constraint in Figure 1. This setup includes most common 6-DOF anthropomorphic manipulators in the literature. 2 –5 According to the D-H parameters in Figure 1, its Jacobian matrix can be derived as the following symbolic equations

The D-H parameters of 6-DOF anthropomorphic manipulators. DOF: degree of freedom.
where ci
, si
,
From equation (17), we see that these 6-DOF anthropomorphic manipulators are not kinematically decoupled. Specifically, we can partition the Jacobian matrix into a
such that
where
In other words, to determine the singularity condition, we only need to consider the symbolic solutions of
However, the 6-DOF anthropomorphic manipulators do not possess this nice characteristic. Therefore, in this article, we compute the determinant of equation (17) using symbolic computation, showing that
From equation (21), the singular conditions are the union of the three conditions below
They are obviously
A real-world 6-DOF anthropomorphic manipulator example
The NTU 6-DOF anthropomorphic manipulator is shown in Figure 2 (its model parameters are shown in Appendix 2), which is designed by our laboratory and will be used in the simulations and the experiments later to verify the proposed algorithm. This manipulator is slightly different from Figure 1, because the elbow has a slight displacement for routing. Considering this displacement, we retain the D-H parameters a 3 and a 4 and rederive equation (21), the determinant of its Jacobian matrix as

The NTU 6-DOF anthropomorphic manipulator. DOF: degree of freedom.
We see that the above structure is similar to the common cases
28
(the first two terms of equation (24),

Symbolic function
With the values a
3 and a
4 in our manipulator, it can be shown that
Singularity types: Boundary singularity and internal singularity
After identifying the singularity, we now classify them into boundary singularity and internal singularities based on the general definition.
35
Recall that the three singular conditions of general 6-DOF anthropomorphic manipulators under the joint limit
First, the condition

Boundary and internal singularities of a 6-DOF anthropomorphic manipulator. DOF: degree of freedom.
Because the other singularity conditions do not yield a straight posture, we say the manipulator is in internal singularity, if it is singular and
Figure 4 (left) shows the first case, which is the boundary singularity; in this case, the manipulator is in a straight posture which causes the Jacobian matrix in an ill-conditioned with the singular direction y
3. In addition, the direction of rotation q
1 and q
3 is collinear so that the null space motion will cause the manipulator moving as in a self-rotation. Figure 4 (right) shows other three cases of internal singularities. When
In this section, we analyzed the singularities of the 6-DOF anthropomorphic manipulators. The boundary singularity is simple and only depends on one condition. On the other hand, the internal singularities are more complicated, including the three cases discussed above and the configurations of their linear combination, which are more complex than that of the 6-DOF industrial manipulators.
Proposed singularity handling algorithm
We design a type-II singularity handling algorithm, which uses different control schemes for the boundary and the internal situations. Whenever the manipulator enters a singularity region, the algorithm divides the workspace to drive the manipulator going through the singular region by separating the task along the singular direction from the nondegenerate directions. This separation keeps the rest of the task space controllable, and the removed degenerate components are handled with the strategies described below.
Boundary singularity handling algorithm
The boundary singularity is the configuration at which the manipulator approaches the workspace boundary. In this case of 6-DOF anthropomorphic manipulators, it denotes the situation where the manipulator is in a straight posture. We design an algorithm to pull the manipulator back to the non-singular region when this happens, while maintaining the desired orientation of the end effector. We note that, in this case, null space motion does not help, as the null space motion would only contribute to self-rotation due to the kinematics of 6-DOF anthropomorphic manipulators.
The algorithm detects boundary singularities using equation (28). When a certain threshold is met, the desired trajectory (with the time information) changes into a desired path (i.e. a geometric path from an initial to a final point without the time information) to ensure bounded accelerations. This desired
where
Figure 5 illustrates an example of the process generated by the boundary singularity handling algorithm, the numbers represent the configuration as (1) approaching boundary singularity, (2) within the singular region, and (3) pulled back to non-singular region. We see that the process involves two steps. In the first step, the manipulator is approaching the workspace boundary (configuration 1), and the motion is controlled by equation (13) with the full-rank Jacobian matrix as usual. In the second step, the manipulator enters the singular region (configuration 2) and the boundary singularity is detected by equation (28). At this moment, the Jacobian matrix becomes ill-conditioned, so it cannot derive the generalized force and the joint torque properly. Therefore, a new generalized force is derived from equation (13) with the full rank Jacobian matrix at configuration 1 (just before entering the singular region), and the desired path (30) is used to fold the manipulator back into the non-singular region (configuration 3).

An example handles the boundary singularity of a 2-DOF manipulator. DOF: degree of freedom.
Internal singularity handling algorithm
When internal singularity occurs, the null-space motion becomes nontrivial. Therefore, it can be used to help the manipulator to escape singularity. Here we design the algorithm following the strategy.
24
It begins by removing the degenerate component from an ill-conditioned Jacobian matrix to keep the rest of the task space functional. This can be done by performing the SVD in equation (4). For the singular values approaching to zero, the corresponding column of
where
When internal singularity occurs, the algorithm substitutes the collapsed Jacobian matrix into equations (10), (11), (13), and (14) to derive the generalized force
where
The directions removed in the above process are controlled by the null space torque to shift the singular direction. It sets the null space torque
where
where
Overall, the torque generated by the internal singularity handling algorithm can be written as
This method has been verified on a 6-DOF PUMA manipulator to handle the shoulder and wrist singularity. 24
Summary
Although the 6-DOF anthropomorphic manipulator is not kinematically decoupled, we find that the determinant of its Jacobian matrix possesses some specific structure and hence the singular conditions and singular directions can be analyzed. Based on the classification of boundary and internal singularities out of this analysis, we design a type-II singularity handling algorithm based on the idea presented in the singularity robust algorithm, 24 which however previously could only handle industrial manipulators with kinematic decoupling. This real-time singularity handling algorithm is summarized in Table 1.
Summary of the real-time singularity handling algorithm.
Simulations and experiments
All simulations and experiments are conducted on the NTU 6-DOF anthropomorphic manipulator, as shown in Figure 2 (the model parameters are given in Appendix 2). To examine the effectiveness of the proposed algorithm, we design the desired trajectory to lead the manipulator to go in a singular region from non-singular region and then out of the singular region. We wish to study how the algorithm responds to the appearance of the Jacobian matrix and the performance of tracking. In the simulations, boundary singularity and internal singularity are studied separately. In the experiments, we design a trajectory that passes through non-singular region, boundary singularity, and internal singularity and examine the ability of the proposed algorithm for real-time control.
Boundary singularity handling simulations
The desired trajectory is designed to travel from a regular configuration to the workspace boundary, and then back to the non-singular region (threshold is set to

An example of boundary singularity of a 6-DOF anthropomorphic manipulator. DOF: degree of freedom.
In this configuration,
Although the singular direction of equation (37) is not significant in the frame 0, we can rotate the coordinate from the frame 0 to a singular frame
This rotation matrix is visualized in Figure 6, and rotated Jacobian is given as
We now observe that the singular direction of equation (39) is obviously in the zs -direction because the third row of equation (39) is all zero.
The control process of the end effector of this simulation is shown in Figure 7, where the sagittal apex of the blue line represents the desired trajectory. We see that the manipulator starts at the bottom right and goes straight toward the workspace boundary. When the manipulator just enters the singular region, the end effector is then controlled along the direction

Boundary singularity handling process.
We compare our algorithm with the type-I methods (DLS
13
and SVF
16
) and show the results in Figure 8. We recall that the type-I method applies a continuous control strategy to handle the entire workspace, whereas our method is a type-II method that applies distinct strategies for different regions. When a manipulator is moving from the non-singular region to the singular region (0.75–0.82 s), the proposed algorithm changes the controller from tracking trajectory to tracking path. On the contrary, the type-I methods continuously modify the singular value of the Jacobian matrix by filtering (SVF
16
) and damping (DLS
13
) to ensure the Jacobian matrix is well-conditioned. In the simulations, we selected

Boundary singularity simulations.
Comparing the three algorithms in Figure 8, we see that the proposed algorithm (blue) smoothly controls the manipulator within the singular region (yellow area) and achieves the minimum tracking errors of the entire trajectory. The SVF (red) also controls the manipulator smoothly, but produces a slight tracking errors in the x-direction to allow the manipulator bypass the singular region. On the contrary, when the manipulator is approaching the workspace boundary (0.75 s), the errors of the DLS (green) increase in order to avoid the singularity. Once leaving the workspace boundary (0.82 s), these errors force the manipulator to track the desired trajectory, causing a temporary disturbance. Overall, the proposed algorithm has the minimum tracking errors, followed by SVF to bypass the singular region, and the DLS has maximum tracking errors producing a non-direction motion to avoid straightening.
Internal singularity simulations
We simulate how different algorithms control the manipulator to go through singular region of the internal singularity. We evaluate the proposed algorithm with and without the null space motion. We also compare it with the type-I methods (SVF 16 and DLS 13 ) to show its advantages.
We consider a singular configuration

The internal singularity of the 6-DOF anthropomorphic manipulator. DOF: degree of freedom.
We note that the second row and the sixth row of equation (40) are linearly dependent, so the corresponding singular directions are y 0- and z 0-directions. In order to control the manipulator to go through the singular region, the proposed algorithm uses the associated collinear joints to create a null space motion that shifts the singular direction y 0, that is, joints 1 and joint rotate simultaneously around z 0-direction. In addition, the control process keeps the singular direction orthogonal to the desired path, as shown in Figure 9.
This is done by decoupling the degenerate components with the collapsed Jacobian matrix (32), which allows us to derive the operational space control that only controls the desired path in the rest of the task space. We handle the null space motion by defining the potential function as the squared l
2-norm of the distance between the direction of motion
as joint 1 can create a null space motion to shift the singular direction, and
where
In Figure 10, we compare the performance of our algorithm with and without the null space motion. The simulation results show that when manipulator is within the singular region (green area), the internal singularity handling algorithm with the null space motion has smaller tracking errors and the motion is smoother (solid line). By contrast, the motion without handling cannot be controlled to be orthogonal to the singular direction. Once the manipulator is leaving the singular region, the discontinuous acceleration causes a large error at the boundary of the singularity region (dashed line). We also see that the algorithm with the null space motion has smaller tracking errors when leaving the singular region.

Internal singularity simulations of the end effector.
Figure 11 compares three methods, that is, the proposed algorithm (type II) and the type-I methods (SVF 16 and DLS 13 ). In the simulations, the parameters of the type-I methods are chosen the same as the boundary singularity simulations. The top two figures of Figure 11 show the control process of a 6-DOF anthropomorphic manipulator starting at an initial point in the non-singular region. Then, the desired trajectory follows the direction of the arrow to approach an internal singularity.

Internal singularity simulations.
When manipulator approaches the singular region (green frame) at 0.6 s (see the tracking errors of subfigure), the SVF and the DLS algorithms generate large tracking errors to avoid the internal singularity. In addition, the process of the singularity avoidance (0.6–0.75 s) with SVF (red) is smoother than the DLS (green), and the tracking errors are also smaller between 0.8 s and 0.9 s in the singular direction. By contrast, our singularity handling algorithm stably goes through the singular region from 0.6 s to 1 s. Particularly, the minimal distances to the singular point of the type-I methods are
Real-time operational space control experiments
In the real-time control experiments, the end effector is required to follow a desired straight-line trajectory that passes through two types of singularity, as shown in Figure 12 (blue). We use this experiment to demonstrate the ability of the proposed algorithm for real-time control. The experimental results are shown in Figures 12 and 13, where the numbers (1–5) in the subfigures represent the posture of the manipulator and correspond to the numbers (1–5) on the time line in Figure 13.

Real-time singularity handling algorithm experiments.

Position and orientation errors of the end effector.
At the start of the experiment (subfigure 1), the manipulator is controlled by the operational space control as it is in a non-singular region. Then, it enters an internal singularity region (subfigure 2) and the algorithm starts to use the null space motion to leave the singular region to go through the point in subfigure 3 on the x–y plane. Figure 13 (green area) shows the tracking error, which only generates a small vibration in rz -direction.
Once the manipulator leaves the internal singularity, the end effector goes back to track the desired trajectory (from subfigure 2 to subfigure 3), and Figure 13 shows the movements under the normal condition in 10–32 s (gray area) until it approaches the boundary singularity (from subfigure 3 to subfigure 4). Here the manipulator becomes close to a straight posture (subfigure 4). The yellow area, as shown in Figure 13, illustrates the modified control input. Because the end effector cannot move forward out of the workspace boundary, the error increases in the x-direction, as shown in Figure 13. After leaving the boundary singularity, it returns to the normal tracking process (subfigure 5).
Conclusions
In this article, we analyze the singularities of 6-DOF anthropomorphic manipulators and propose a singularity handling algorithm based on operational space control. We find that, though 6-DOF anthropomorphic manipulators are not kinematically decoupled as the industrial robots, the determinant of the Jacobian matrix is still structured and therefore their singularity conditions can be analyzed. Our analysis identifies the boundary and the internal singularity conditions of these 6-DOF anthropomorphic manipulators, and we leverage this result to design a type-II singularity handling algorithm. For boundary singularity, our algorithm stably pulls the manipulator back to the non-singular region. For the internal singularity, it adopts a null space motion to rotate the singular direction. In simulations, our algorithms show smoother and more stable results compared with the type-I methods (SVF and DLS). Similar performance and behaviors are also observable in the real-time control experiments with a real-world 6-DOF anthropomorphic manipulator. In the future, we wish to extend similar ideas to study the singular conditions of other types of manipulators.
Footnotes
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
Appendix 1
Appendix 2
A 6-DOF anthropomorphic manipulator’s model parameters. The parameters represent D-H (q, d, a, α), dynamics (mass-m, center of mass-Cx, y, z , inertia-Ixx, yy, zz ).
