Next Article in Journal
Singular Configuration Analysis of Modular-Driven 4- and 6-DoF Parallel Topology Robots
Previous Article in Journal
Formation Control of Wheeled Mobile Robots with Fault-Tolerance Capabilities
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Partitioned Operational Space Approach for Singularity Handling in Six-Axis Manipulators

by
Craig Carignan
1,* and
Giacomo Marani
2
1
Department of Aerospace Engineering, University of Maryland, College Park, MD 20742, USA
2
Department of Mechanical, Materials & Aerospace Engineering, West Virginia University, Morgantown, WV 26506, USA
*
Author to whom correspondence should be addressed.
Robotics 2025, 14(5), 60; https://doi.org/10.3390/robotics14050060
Submission received: 21 March 2025 / Revised: 24 April 2025 / Accepted: 27 April 2025 / Published: 30 April 2025
(This article belongs to the Section Industrial Robots and Automation)

Abstract

:
Task prioritization for inverse kinematics can be a powerful tool for realizing objectives in robot manipulation. This is particularly true for robots with redundant degrees of freedom, but it can also help address a debilitating singularity in six-axis robots. A roll-pitch-roll wrist is especially problematic for any six-axis robot because it produces a “gimbal-lock” singularity in the middle of the wrist workspace when the roll axes align. A task priority methodology can be used to realize only the achievable components of the commanded motion in the reduced operational space of a manipulator near singularities while phasing out the uncontrollable direction. In addition, this approach allows the operator to prioritize translation and rotation in the region of singularities. This methodology overcomes a significant drawback to the damped least-squares method, which can produce tool motion that deviates significantly from the desired path even in directions that are controllable. The approach used here reduces the operational space near the wrist singularity while maintaining full command authority over tool translation. The methodology is demonstrated in simulations conducted on a six degree-of-freedom Motoman MH250 manipulator.

Graphical Abstract

1. Introduction

Robot manipulators are typically controlled by specifying the desired Cartesian velocities of the end-effector, which are then mapped into joint rate commands. This process, referred to as “resolved-rate control”, runs into difficulty when the “Jacobian” mapping between joint and Cartesian space becomes singular. A singularity occurs when joint motions become linearly dependent, which causes the rank of the Jacobian to collapse. Singularities can occur either at the workspace boundary, such as when the arm is fully extended, or internal to the workspace, such as when two joint axes align. If the singularities are not addressed in the inverse kinematics, then large joint velocities and errors in the end-effector trajectory can result.
When a six-axis manipulator encounters a singularity, it can be particularly catastrophic since it results in the loss of a tool Cartesian translational or rotational Degree(s) of Freedom (DOF). For industrial manipulators such as those shown in Figure 1 with a yaw-pitch-pitch arm and roll-pitch-roll (RPR) wrist, the singularities occur when [1]: (a) the elbow pitch causes the shoulder, elbow, and wrist pitch joints to be co-linear, (b) the wrist (intersection of joints 4-5-6) falls on the joint 1 axis, and (c) the wrist pitch causes joints 4 and 6 to align. The elbow pitch singularity causes nearly full arm extension and therefore is most practically avoided by not commanding the robot outside its reachable workspace. The wrist on joint 1 axis singularity is commonly avoided by keeping the task forward so that the tool does not need to reach above the robot. However, the wrist singularity is extremely difficult to avoid because it occurs in the center of the wrist rotation workspace and can occur anywhere in the reachable workspace of the tool.
The RPR wrist becomes singular when the wrist pitch angle is 0 so that the forearm ( z ^ 4 ) and hand roll ( z ^ 6 ) axes align (see Figure 2). This neutralizes rotation about an axis ( x ^ 4 ) that is perpendicular to the plane containing the two roll and pitch ( z ^ 5 ) axes. This singularity is particularly troublesome since it is in the middle of the wrist workspace and wrist abduction/adduction is common throughout the course of a task. Since the singularity cannot be avoided for a six-degree-of-freedom (DOF) robot, then the ill-conditioning of the Jacobian must be handled if the manipulator is to remain in resolved-rate mode.
By far the most common approach in use is the damped least-squares (DLS) method, which modifies the minimum singular value of the Jacobian so that it is nonsingular throughout the workspace ([2,3,4]). The challenge is in selecting a suitable damping factor that gives good behavior in the neighborhood of all singularities without sacrificing too much accuracy. To help resolve this, a weighting matrix can be applied to the Jacobian to deemphasize movement in certain directions [5] or to use the inertia to reduce acceleration near singularities [1]. However, the distortion of the Jacobian mapping can produce motion even in directions that are controllable. This “uncommanded” motion can result in inadvertent collisions of the tool with the worksite during close proximity tasks.
Another approach to handling singularities is to eliminate the degenerate component of the motion near the singularity thereby preventing the buildup of large velocities [6,7]. The row of the Jacobian corresponding to the singular direction is eliminated, and then the pseudoinverse of the degenerate Jacobian is used to find the mapping between the Cartesian and joint velocities. This procedure has the advantage of eliminating the singular behavior while maintaining a least-squares fit to the desired Cartesian path. However, this requires a priori knowledge of the singularity locations, and several investigators have reported “jerkiness” on the singularity boundary while transitioning between the full and degenerate Jacobians to compute the inverse kinematics.
Other investigators have sought to resolve the spherical wrist singularity in six-axis manipulators by adding a virtual (nonphysical) axis at the end-effector [8]. Referred to as the Virtual Redundant Axis Method (VRAM), the virtual joint absorbs the Cartesian tracking errors created in the singular direction of the wrist when the joint axes align. Since the robot now has kinematic redundancy by virtue of the additional joint, a weighted DLS solution is then implemented in which the physical uncontrollable direction is heavily penalized. This method has also been recently generalized to other singularities in serial robots [9]. However, the VRAM requires additional computation, and like the DLS method, can still produce tracking errors in the controllable direction.
The objective of this research is to address the abovementioned deficiencies in singularity avoidance algorithms currently being used for this class of nonredundant robots. While the Task Priority Inverse Kinematics (TPIK) method has been previously used for kinematically redundant robots [10,11], applying it to singularity handling for a 6-DOF robot has not been previously done. The new approach is able to preserve the Cartesian path in controllable directions (in a specified order of priority) while circumventing singularities without a priori knowledge of their locations.
The article begins with a brief review of resolved-rate control and the task priority method in Section 2. The specific algorithm and equations for controlling a six-axis robot are presented in Section 3. Simulations for the Motoman MH250 manipulator [Yaskawa Electric Corp., Kitakyushu, Fukuoka, Japan] are given in Section 4. Results and conclusions are presented in Section 5. The kinematics and singularity analysis for the Motoman MH250 manipulator are presented in Appendix A and Appendix B, respectively. The Jacobian and manipulability calculations needed by the task priority and projection method are given in Appendix C. Functions implemented by the algorithms are given in Appendix D.

2. Task Priority Inverse Kinematics and Task Projection Theory

The joint position solver is situated between the Cartesian Rate Limiter (CRL) and the Joint Velocity Norm Limiter (JVNL), as illustrated in Figure 3. The reference Cartesian position input on the left is derived by integrating the commanded Cartesian position changes, Δ x r e f T [ δ p r e f T δ r r e f T ] , where the components represent the position and angle-axis “twist”, respectively. The k t h step of the integration is as follows:
x r e f k + 1 = x r e f k + Δ x r e f k
where x r e f k is the last reference joint position.
The summer block calculates the difference between the reference task space pose, 0 x r e f , and the task space pose, 0 x f k , calculated from the forward kinematics of the last joint command issued by the norm-limited output of the solver, q i k . The CRL then enforces a saturation limit to prevent excessive Cartesian rate inputs to the position solver. The JVNL applies a saturation limit to the difference between the output of the joint position solver, q c m d , and the previous output of the joint velocity norm limiter, q i k , to maintain the norm of the joint position change within specified limits. Thus, the input to the position solver, 0 x c m d , takes into account not just the trajectory 0 x r e f but also any Cartesian position errors that accrue due to Cartesian or joint rate limiting external to the solver and singularity avoidance internal to the solver.
A Newton–Raphson iteration technique is then used within the position solver to converge on the joint solution based on the inverse Jacobian as follows:
q c m d k + 1 = q c m d k + J ( q c m d k ) 1 ( x c m d f ( q c m d k ) )
where x c m d is the commanded tool pose from the CRL, q c m d k is the estimate of the commanded joint position in the kth step of the iteration, and  f ( · ) represents the forward kinematics.
The classical approach is for the velocity solver to invert the Jacobian using a singularity-robust inverse method such as damped least-squares [2,3]. Another option is to break up the inverse kinematics into tasks, which are assigned a priority for singularity avoidance [12,13,14]. Thus, a singularity in the higher order task is prevented by altering the desired path of a lower priority task. This secondary task correction uses a task projection on the manipulability boundary to prevent the manipulability index from penetrating the boundary. In effect, the manipulability constraint is dynamically reallocated to become the highest priority task when it is active [13].

2.1. Task Priority Inverse Kinematics

In the TPIK approach [15], the task space, x, is divided into subspaces, x i , where i denotes the order of importance. The joint velocities q ˙ R n are related to the task space velocities x ˙ i R m i by
δ x i = J i ( q ) δ q
where J i q R m i × n is the Jacobian of the task subspace variable, x i . Using this task decomposition eventually leads to the following recursive formulation for the inverse kinematics [13,16,17]
J ^ i = J i N i 1 N i = N i 1 J ^ i J ^ i δ x ^ i = δ x i J i δ q i 1 δ q i = δ q i 1 + J ^ i δ x ^ i , δ q 0 = 0 N 0 = I n .
where J i q R n × m i is the right pseudoinverse of J i q .
The prioritized task inverse kinematics process for three tasks is shown in Figure 4. The change in joint positions for first task, δ q 1 , is obtained by multiplying the pseudoinverse of J 1 by the desired change for Task 1. The effect of δ q 1 on Task 2 is found by multiplying J 2 by δ q 1 , which is then subtracted from the desired change for Task 2 to give the modified change for the second task, δ x ^ 2 = δ x 2 J 2 δ q 1 . This is then multiplied by the pseudoinverse of J ^ 2 to give the joint change for Task 2, δ q 2 . Similarly, the effect of the total joint change on Task 3 is subtracted from the desired change for Task 3 to give the joint change for Task 3, δ q 3 = J ^ 3 [ δ x 3 J 3 ( δ q 1 + δ q 2 ) ] . Note that J ^ i strips out the range space of the Jacobians from the previous tasks to ensure that any solution for δ q i cannot affect the previous tasks.

2.2. Singularity Avoidance by Task Projection

The task inverse kinematics process fails when a task Jacobian in Equation (4) is not invertible. Near a singularity, the task reconstruction method is used to alter the path to go around the singularity [13,14]. The manipulability index, m ( q ) , is defined as follows
m ( q ) = det J J T
which is a continuous, nonnegative scalar that equals zero only when the Jacobian is not full rank [18]. Since m is the product of the singular values of J, it is also a measure of the distance from the singularity [13]. If the singular value in any direction is 0, then the manipulability will also be 0.
A small variation in the manipulability index is computed from:
δ m ( q ) = m ( q ) q δ q = m ( q ) q J δ x
For δ m ( q ) to be equal to 0, this implies that the task displacement must be orthogonal to the vector, n m m ( q ) q J . In other words, δ x must be tangent to the surface defined by:
m ( q ) q J · δ x = 0
where x R m . Observing now that n m must be normal to the surface, then the projection of the task on the singularity surface is as follows:
δ x p = δ x ( δ x · n m ) n m = ( I m n m n m T ) δ x
Thus, δ x p is the component of the task change that avoids the singularity. Figure 5 is an illustration of the reconstructed path as it intersects and then moves along the manipulability boundary m = m ¯ to avoid the singularity.

2.3. Task Priority with Task Projection

The task priority decomposition with the task projection incorporated for singularity avoidance is displayed in the block diagram shown in Figure 6. This particular formulation implements singularity avoidance for Tasks 1 and 2 and no singularity avoidance for Task 3. The velocity decomposition for each task can be broken down into a three-step process represented by the different blocks: task correction (previous task adjustment), task reconstruction (singularity avoidance), and Jacobian pseudoinverse (joint adjustment). Variable data enter from the left and calculated values exit from the right. Dashed line inputs indicate position-dependent Jacobian and manipulability input data that can be calculated by a processor at a slower rate.
For example, the process is illustrated for Task i = 2 is illustrated with the aid of Figure 7. The first step is to remove effect of previous task(s) from the current task using the following
δ x ^ 2 = δ x 2 J 2 [ J 1 δ x 1 ]
The quantity in brackets is the change in joint positions δ q 1 due to achieving Task 1. Therefore, multiplication by J 2 yields the change in Task 2 due to application of Task 1.
The second step is to alter the path to circumvent a singularity:
δ x ^ p 2 = δ x ^ 2 k 1 [ ( δ x ^ 2 · n m ) n m ]
The quantity in brackets is the component of Task 2 that is in the direction of the gradient of the singularity, n m . If the dot product is negative, then the component is toward the singularity, and a portion of this is removed depending on how close it is to the singularity boundary. This behavior is achieved through the dynamic correction gain k 1 (see Appendix D.1).
The third step is to apply the Task 2 Jacobian pseudoinverse to the Task 2 command to obtain the change in joint positions to achieve Task 2:
δ q 2 = J ^ 2 δ x ^ p 2
where J ^ 2 is the Jacobian for Task 2 with the portion of it that would alter Task 1 removed.

2.4. Manipulability Gradients for Task Reconstruction

Denote the manipulability operator μ ( · ) for a Jacobian J as
μ J det J J T
The derivative of measure of manipulability can be expressed with respect to the already-known quantities, μ ( J ) and J , plus the derivative of each element of J with respect to q k , which can be easily computed symbolically [14,19]:
μ ( J ) q k = μ ( J ) · trace J q k J
where the right pseudoinverse of J is given by
J J T J J T 1
The computations can also be performed in any coordinate frame, which can significantly reduce mathematical operations as detailed in Appendix C.
In the case of multiple tasks, the measure of manipulability for a given task, m i , is given by
m i q μ J ^ i = det J ^ i J ^ i T
In the above formulation, the computation of m i ( q ) / q is not immediately obvious. Defining the augmented Jacobian S i for Task i as
S i = J 1 . . . J i 1 J i
where S 1 = J 1 . The relationship between the task manipulability and the augmented task manipulability can be determined as follows [14]:
m j = μ ( S j ) μ ( S j 1 ) f o r j > 1
where m 1 = μ ( S 1 ) . Taking the partial of Equation (17) with respect to the configuration vector q:
μ J ^ j q = 1 μ ( S j 1 ) μ ( S j ) q μ ( S j 1 ) q μ J ^ j
The partials of the manipulability for the augmented Jacobian μ ( S j ) / q can be easily computed in closed symbolic form or numerically using again Equation (13):
μ ( S j ) q k = μ ( S j ) · trace S j q k S j
Since m i ( q ) μ J ^ i via Equation (15), Equation (18) can be applied recursively to each task as outlined in Algorithm A3.

3. Program and Procedure

The basic procedure for TPIK with three tasks is illustrated in Figure 8. The Jacobian pseudoinverse for each task is used to derive the least-squares solution of the joint angles to accomplish the task. The task decomposition into joint space is performed in numerical order so that all of the joint DOF are used to achieve the first task then the second task and finally the third task. If there are no singularities along the trajectory, then the order becomes irrelevant and the full task trajectory is achieved. If a singularity is encountered, then the task is projected on the singularity surface using the manipulability gradient. Since the Jacobians and manipulabilities are only position-dependent, they may be computed at a slower rate. After the change in joint angles is computed, the norm of the task error is compared with the threshold. If the error is within the threshold, then the final solution is achieved. If not, then another iteration is performed as long as the maximum number of iterations is not exceeded.

3.1. Position-Dependent Data Input (Slow Rate Loop)

The position-dependent data structure contains both Jacobian and manipulability calculations that only depend on the joint position q and can therefore be computed at a slower rate than velocity dependent terms.

3.1.1. Task Jacobians

The tasks are chosen from highest to lowest priority as follows: (1) the three components of tool position, (2) the y and z-components of the tool rotation, and (3) the x-component of tool rotation all in forearm frame 4. The task Jacobians are, hence, computed and assigned the following task priority:
J 1 = . 4 J t ( θ )
J 2 = . 4 J r ( θ ) r o w 2 , 3
J 3 = . 4 J r ( θ ) r o w 1
The translation and rotation Jacobians, 4 J t ( θ ) 3 × 6 and 4 J r ( θ ) 3 × 6 , are computed in frame 4 using the cross product method as outlined in Appendix A.2.
The modified Jacobian, J ^ i , and manipulability, m i , for each task i are derived from the task Jacobians, J i , using Equations (4) and (15):
Task 1:
J ^ 1 = J 1 N 0
m 1 = d e t ( J ^ 1 J ^ 1 T )
N 1 = N 0 J ^ 1 J ^ 1
Task 2:
J ^ 2 = J 2 N 1
m 2 = d e t ( J ^ 2 J ^ 2 T )
N 2 = N 1 J ^ 2 J ^ 2
Task 3:
J ^ 3 = J 3 N 2
m 3 = J ^ 3 J ^ 3 T
Note that since J ^ 3 is a row vector, the product in Equation (30) is a scalar and therefore taking the determinant is unnecessary.

3.1.2. Manipulability Gradients

The augmented Jacobians S i are constructed as:
S 1 = J 1 , S 2 = J 1 J 2 , S 3 = J 1 J 2 J 3
Calculate the right pseudoinverses of the augmented Jacobians S i :
S i = S i T ( S i S i T ) 1
and the augmented Jacobian manipulabilities μ ( S i ) :
μ ( S i ) = det S i S i T
Note that since S i S i T is symmetric, the Cholesky Decomposition can be used to compute the inverse [20]. It is much more efficient than singular value decomposition [21], and it has the added benefit of returning its determinant which can be used to compute the manipulability. The task manipulabilities are computed as follows:
m 1 = μ ( S 1 ) , m 2 = μ ( S 2 ) μ ( S 1 ) , m 3 = μ ( S 3 ) μ ( S 2 )
Note that although the manipulabilities have already been defined by Equations (24), (27), and (30), Equation (34) is a secondary method of calculation that can serve as an error check.
The gradient of the augmented Jacobian S i with respect to each joint angle θ k results in a matrix the same dimension as S i :
S 1 θ k = 3 J 1 θ k k = 1 N S 2 θ k = 3 J 1 θ k 3 J 2 θ k k = 1 N S 3 θ k = 3 J 1 θ k 3 J 2 θ k 3 J 3 θ k k = 1 N
where 3 J t θ k and 3 J r θ k needed to compute the gradients in Equation (35) are given in Appendix C.
The gradients of the augmented Jacobian manipulability S i with respect to joint angle θ k are calculated as follows:
μ ( S i ) θ k = μ ( S i ) · trace S i θ k S i
These calculations are carried out numerically using the algorithm for the function D S D Q ( ) as outlined in Appendix D.3. The augmented Jacobian manipulability gradient is then formulated by assembling the elements into a vector for N joints as follows:
μ ( S i ) q = μ ( S i ) θ 1 μ ( S i ) θ N
Finally, the task manipulability gradients are given by:
m 1 q = μ ( S 1 ) q
m 2 q = 1 μ ( S 1 ) μ ( S 2 ) q μ ( S 1 ) q m 2
m 3 q = 1 μ ( S 2 ) μ ( S 3 ) q μ ( S 2 ) q m 3

3.2. Velocity Solver (Fast Rate Loop)

The tasks are chosen from highest to lowest priority as follows: (1) the three components of tool position, (2) the y and z-components of the tool rotation, and (3) the x-component of tool rotation all in forearm frame 4. Thus, the algorithm will maintain tool position before it relinquishes control to tool orientation. Then, the tool rotation is broken down into the y–z plane that is controllable and the x-direction that is uncontrollable at the wrist pitch singularity with the higher priority given to the former.

3.2.1. Initialization

The input to the velocity solver is a twist in the base frame, δ 0 x , which is the combined vector of linear and angular velocities multiplied by the sample period as follows:
δ 0 x = δ 0 p t o o l δ 0 r t o o l
where δ 0 p t o o l represents a free vector in Cartesian space and δ 0 r t o o l is an infinitesimal angle multiplied by a unit axis of rotation. Multiply the components of the twist by the rotation matrix from frame 0 to frame 4 to get the twist in frame 4:
δ 4 p t o o l = . 4 R 0 δ 0 p t o o l δ 4 r t o o l = . 4 R 0 δ 0 r t o o l
Next, set the change in the each task position as follows:
δ x 1 = δ 4 p t o o l x δ 4 p t o o l y δ 4 p t o o l z δ x 2 = δ 4 r t o o l y δ 4 r t o o l z δ x 3 = δ 4 r t o o l x

3.2.2. Execute Task Decomposition

Initialize the joint position change to zero, δ q 0 = 0 :
Task 1:
δ x ^ 1 = δ x 1 J 1 δ q 0
δ x ^ 1 p = T R m 1 , J ^ 1 T m 1 q , δ x ^ 1 , m ¯ 1 , m σ 1 , n ¯ m , m ¯ Δ
δ q 1 = δ q 0 + J ^ 1 δ x ^ 1 p
Task 2:
δ x ^ 2 = δ x 2 J 2 δ q 1
δ x ^ 2 p = T R m 2 , J ^ 2 T m 2 q , δ x ^ 2 , m ¯ 2 , m σ 2 , n ¯ m , m ¯ Δ
δ q 2 = δ q 1 + J ^ 2 δ x ^ 2 p
Task 3:
δ x ^ 3 = δ x 3 J 3 δ q 2
δ x ^ 3 p = S 04 ( m 3 , 0 , 1 , m ¯ 3 , m ¯ 3 + m σ 3 ) δ x ^ 3
δ q 3 = δ q 2 + J ^ 3 δ x ^ 3 p
with S 04 defined in Equation (A23). The change in joint position output from Task 3, δ q 3 , is the cumulative change in joint position for a single iteration of the position solver. Note that no singularity avoidance is used for Task 3. Instead, δ x ^ 3 p is phased out starting at the transition boundary and completely dropped at the manipulability boundary.

3.3. Joint Velocity Norm Limiter

The purpose of the JVNL is to limit the change in joint positions output by the position solver. While the velocity solver will result in continuous velocities, it can produce large changes in joint velocity during singularity avoidance. The norm limiter limits the magnitude of the joint position changes to help smooth that behavior.
The allowable change in the joint position norm per control cycle is calculated based the selected joint velocity norm limit θ ˙ N o r m L i m and the control cycle period Δ t :
δ θ l i m i t = θ ˙ N o r m L i m Δ t
Let the change in the position solver output from the previous cycle be δ θ c m d :
δ θ c m d = θ c m d θ c m d p r e v
This change is then clamped to the limit if it exceeds the above threshold as follows:
δ θ j v n l = δ θ l i m i t δ θ c m d δ θ c m d δ θ c m d > δ θ l i m i t δ θ c m d δ θ c m d δ θ l i m i t
where θ c m d = i = 1 n θ c m d i 2 . Then, the clamped final output θ i k is given by:
θ i k = θ c m d l a s t + δ θ j v n l
The previous joint position solver output is saved as θ c m d p r e v = θ c m d , and the JVNL outputs the norm limited joint position θ i k .

4. Simulations

Both simulation and hardware tests were conducted on the Motoman MH250 in the vicinity of the three singularity configurations shown in Figure 9 to demonstrate the performance of the algorithm in the singular regions. The code was implemented in C++ on an Ubuntu 20.04 virtual machine running on a MacBook Pro. The code utilized an OROCOS Real-Time Toolkit (RTT) and the Eigen C++ Template Library to facilitate matrix operations. Only the simulation results are presented here in order to omit any effects of the robot servocontroller on the resulting trajectory.
The following manipulability boundaries were used: m ¯ 1 = 0.50 , m ¯ 2 = 0.35 , and m ¯ 3 = 0.15 . The transition region widths were set to the same values: m σ 1 = 0.50 , m σ 2 = 0.35 , and  m σ 3 = 0.15 . The distance from the wrist to the tool tip was set to 6 p T = 0.052 m. Since the tool length impacts the value of the translation manipulability, m ¯ 1 and m σ 1 may need to be scaled up or down appropriately (for example, set m ¯ 1 = m σ 1 = 1 for 6 p T = 0.5 m). The minimum manipulability gradient norm threshold was n ¯ m = 0.1 , and the minimum manipulability change threshold was m ¯ Δ = 10 5 . These values are used in the filters for the task reconstruction in Equation (A23).
The CRL clamped the translation and rotation inputs at 0.0004 m and 0.0003 rad per iteration, respectively (equivalent to 0.6 m/s and 25.8   ° /s for three iterations). The control loop rate was set to 500 Hz for both the slow and fast rate loops. The joint velocity norm limit was set to θ ˙ N o r m L i m = 0.5 rad/s. A maximum of 3 iterations was used in the position solver, and an error threshold of 10 6 was set for each element of the twist vector to terminate the iterations.

4.1. Wrist Pitch Singularity

The starting configuration for this simulation is θ = [ 0 , 135 , 45 , 0 , 0 , 0 ] shown in Figure 9a, which is exactly at the wrist zero pitch singularity so that m 3 = 0 . This is possible because the third task is dropped inside the Task 3 singularity boundary. In this configuration, only θ ˙ 1 can produce y 0 translation and z 0 rotation. Because the translation has a higher priority than rotation, a  y 0 translation command will, therefore, also cause a z 0 rotation. The results for the manipulabilities and tool positions/velocities are shown in Figure 10.
The tool was commanded to translate at 1 cm/s in the y-direction of the base frame as shown in Figure 10c until the z 0 -axis orientation error reached 5 . The commanded and “measured” (output) rotational tool velocities can be seen in Figure 10b and Figure 10d, respectively. Note the tool rotational velocity about the z 0 -axis of Figure 10d at 215–225 s, even though none was commanded.
The tool rotation was then commanded in the y 0 direction starting at about 240 s until the orientation error reduced to 0 . The unwinding of the orientation error occurs at about 270 s when the Task 3 manipulability shown in Figure 10a crosses the manipulability threshold at 0.15 and the wrist orientation about the x 4 -axis (forearm) becomes controllable again.

4.2. Elbow Pitch Singularity

The starting configuration for this simulation is θ = [ 0 , 50 , 60 , 0 , 20 , 0 ] shown in Figure 9b with the elbow nearing its singular configuration of θ 3 = 78.99 and just outside the workspace boundary. In this configuration, both rotational manipulabilities are already within their transition boundaries of 0.70 and 0.30, respectively, as shown in Figure 11a. The results for the manipulabilities and tool positions/velocities are shown in Figure 11.
The tool was commanded to move at 0.5 cm/s in the x 0 -direction, as seen in Figure 11b,d until the orientation error started building up just before 350 s. At this point, the Task 2 manipulability hits its threshold at 0.30 and the desired orientation can no longer be maintained as shown in the measured rotational velocity in Figure 11c.
At 365 s, the Task 1 manipulability boundary at m ¯ 1 = 0.5 is reached and the tool x 0 - z 0 position error builds up as seen in Figure 11b. The path is modified such that it now moves along the singularity surface and the tool never tries to penetrate the workspace boundary. At about 380 s, the commanded direction is reversed and the manipulator starts returning to a controllable state. The position error reduces to 0 m by 400 s, and the rotational error continues to unwind.

4.3. Wrist on Joint 1 Axis

The starting configuration for this simulation is θ = [ 0 , 120 , 20 , 0 , 40 , 0 ] shown in Figure 9c with wrist close to the joint 1 axis (note that θ 2 = 129 . 238 would put it on the axis). Because the Task 1 manipulability bound is enforced, the wrist will not be able to pass overhead through the shoulder yaw axis. The results for the manipulabilities and tool positions/velocities are shown in Figure 12.
The tool velocity was commanded at 1 cm/s in the negative x 0 -direction driving the wrist toward the z 1 axis which is coincident with base frame z 0 -axis as seen in Figure 12b,c. Just after 130 s, the x-position begins to deviate from the commanded path as the Task 1 manipulability hits its threshold at 0.5 preventing the wrist from hitting the z 0 -axis as seen in Figure 12a.
When the position error reaches 0.05 m just after 150 s, the x-velocity command is stopped, and the negative y-command of 0.5 cm/s is issued as seen in Figure 12b. This moves the tool away from the z 0 -axis and singular configuration eventually increasing the Task 1 manipulability above its threshold of 0.5. By 170 s, the Task 1 manipulability rises above its threshold, and the x–z positions are able to follow the commanded values as seen in Figure 12c.

5. Conclusions

A new inverse kinematics approach was developed for a six-axis manipulator that partitions the operational space into three subtasks: (1) tool position, (2) tool orientation plane orthogonal to wrist singularity, and (3) tool orientation in singular direction. The subtasks were given a priority for maintaining the desired path when the inverse kinematics encounters singularity constraints. The Task Reconstruction (TR) method enables the robot to move along a singularity-free path for the first pair of tasks with priority given to tool translation. The third task corresponds to the singular direction caused by 0 wrist pitch and is dropped in the singular region to allow the wrist pitch to pass through the singularity. The application of this approach was demonstrated on the Motoman MH250 six-axis manipulator on a robot simulator running at 500 Hz.
While the TPIK method is not new, it has not been used in this way for singularity handling in six-axis manipulators. The main contributions of this approach include: (a) prioritization of tool position over tool orientation at singularities, (b) partitioning of the operational workspace to allow passage of the wrist through its singularity while preserving tool translation, and (c) smooth operation at the workspace boundary. Simulations validated the task prioritization of tool position over tool orientation in singular regions, and they also demonstrated smooth transition of the wrist through gimbal lock. The prioritization of tool position is especially important when operating in close proximity of surfaces so as not to cause inadvertent collisions.
A couple of disadvantages of the TPIK approach are (a) increased computational load for singularity avoidance and (b) high velocities at the singularity boundary. The increased computations can be offset by placing position-dependent computations such as the manipulability gradients in a slower, position-dependent loop. Moreover, the use of Cholesky Decomposition (over Singular Value Decomposition) on reduced dimension partitioned Jacobians represent a significant cost savings. Peak velocities are typically encountered during transitions on and off the singularity boundary due to the proximity to the singularity, which may still cause the Jacobians to be ill-conditioned. If desired, peak velocity can be reduced by increasing the singularity distance threshold, at the expense of reduced workspace. Future work could incorporate an external joint velocity/acceleration limiting algorithm to reduce this effect [22].
The partitioned operational space scheme can also be extended to manipulators with kinematically redundancy, such as anthropomorphic arms with elbow swivel self-motion [23,24,25] and 7-DOF manipulators mounted to mobile-bases [14,26]. The methodology was also successfully applied to an 8-DOF powered-exoskeleton where the kinematics were split into four operational tasks to provide smoother and safer human operation [27]. In addition, this approach was extended to the 7-DOF Motoman SIA50D manipulator that used a third task to control the arm self-motion. A companion paper to the research described here is currently in progress.

Author Contributions

Conceptualization, C.C. and G.M.; methodology, C.C. and G.M.; software, C.C. and G.M.; validation, C.C. and G.M.; formal analysis, C.C. and G.M.; investigation, C.C.; resources, C.C. and G.M.; data curation, C.C.; writing—original draft preparation, C.C.; writing—review and editing, C.C. and G.M.; visualization, C.C.; supervision, C.C. and G.M.; project administration, C.C. and G.M.; funding acquisition, C.C. and G.M. All authors have read and agreed to the published version of the manuscript.

Funding

This project was sponsored by the U. S. Government.

Data Availability Statement

The raw data supporting the conclusions of this article will be made available by the authors upon request.

Acknowledgments

The authors would like to acknowledge “Team Robotics” for supporting the robot hardware and software development that made this research possible.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

DOFDegree(s) of Freedom
TPIKTask Priority Inverse Kinematics
TRTask Reconstruction
CRLCartesian Rate Limiter
JVNLJoint Velocity Norm Limiter
KDLKinematics Dynamics Library
D-HDenavit-Hartenberg
RPRroll-pitch-roll
DLSdamped least-squares
VRAMVirtual Redundant Axis Method

Appendix A. Motoman MH250 Kinematics

Appendix A.1. D-H Model

The Modified Denavit-Hartenberg (D-H) Link Frame Diagram for the Motoman MH250 manipulator is shown in Figure A1, and the D-H parameter set is given in Table A1 [28]. The Motoman MH250 manipulator has a roll-pitch-roll wrist, commonly used on industrial robots.
Figure A1. D-H diagram of the Motoman MH250.
Figure A1. D-H diagram of the Motoman MH250.
Robotics 14 00060 g0a1
Table A1. D-H parameters for the Motoman MH250.
Table A1. D-H parameters for the Motoman MH250.
link
i
α i 1
(deg)
a i 1
(m)
d i
(m)
θ i * Home
(deg)
100 0.650 0
290 0.285 0+90
30 1.150 00
490 0.250 1.285 0
5−90000
690000

Appendix A.2. Tool Forward Kinematics

The tool position and orientation in link frame 0 coordinates (base frame) is found via a process called “forward kinematics”. First, the  4 × 4 homogenous transformation for each link frame i with respect to the previous link frame i 1 is calculated from its Modified D-H Parameters ( α i 1 , a i 1 , d i , θ i ) as follows [28]
. i 1 T i = cos ( θ i ) sin ( θ i ) 0 a i 1 sin ( θ i ) cos ( α i 1 ) cos ( θ i ) cos ( α i 1 ) sin ( α i 1 ) sin ( α i 1 ) d i sin ( θ i ) sin ( α i 1 ) cos ( θ i ) sin ( α i 1 ) cos ( α i 1 ) cos ( α i 1 ) d i 0 0 0 1
where α i 1 is the “link twist”, a i 1 is the “link length”, d i is the “link offset”, and  θ i is the “joint angle”. The upper left 3 × 3 partition is the rotation matrix of link frame i with respect to link frame i 1 , . i 1 R i , and the top 3 × 1 elements of the last column is the position of the origin of link frame i in link frame i 1 , . i 1 p i . The distance from the origin of frame 6 to the flange frame F is 0.250 m.
The tool position in the last link frame is fixed and is typically an identity rotation and tool displacement along the z-axis, z T :
. 6 T t o o l = 1 0 0 0 0 1 0 0 0 0 1 z T 0 0 0 1
Then, the total tool transformation with respect to the base frame 0 is found by multiplying the local transformations as follows:
. 0 T t o o l = i = 1 6 . i 1 T i . 6 T t o o l = . 6 R t o o l . 6 p t o o l 0 0 0 1

Appendix A.3. Tool Jacobians

The rotation Jacobian in link frame k for a revolute robot with n joints is computed via the cross-product method as follows [29]:
. k J r = . k z ^ 1 . k z ^ 2 . k z ^ n
where . k J r 3 × n , . k z ^ j . k R j z ^ , z ^ = [ 0 0 1 ] T , . k R j is the rotation matrix from link frame k to link frame j, and n is the last joint.
Define the tool position with respect to link frame k and in link frame k coordinates as . k p t and the position of the origin of link frame j with respect to link frame k in link frame k coordinates as . k p j . Then, the translation Jacobian in link frame k is given by
. k J t = . k u 1 . k u 2 . k u n
where . k J t 3 × n and
. k u j = . k z ^ j × ( k p t . k p j )
The partial derivatives of the tool Jacobians will be required for singularity avoidance. The partial derivative of the rotation Jacobian . k J r with respect to θ i is given by:
. k J r θ i = . k z ^ 1 θ i | . k z ^ 2 θ i | | . k z ^ n θ i
The partial derivative of the translation Jacobian . k J t with respect to θ i is given by:
. k J t θ i = . k u 1 θ i | . k u 2 θ i | | . k u n θ i
where each column of . k J t / θ i is found by applying the chain rule to (A6) as follows:
. k u j θ i = . k z ^ j θ i × . k p t . k p j + . k z ^ j × . k p t θ i . k p j θ i
Note that the first term to the right of the equality is the jth column of . k J r / θ i , so that the only additional partial derivatives that need to be calculated are for the tool position and link frame origins.

Appendix B. Singularity Analysis

The Jacobian for the wrist can be partitioned as follows for any manipulator with a three-axis intersecting wrist:
J w = J 11 0 J 21 J 22
where J 11 , J 21 , and  J 22 R 3 × 3 are partitions of the wrist Jacobian, and 0 is a 3 × 3 matrix of 0’s. Changing the coordinate frame of the Jacobian does not affect the singularities, so the analysis can be simplified by using the coordinate frame that gives the simplest expression for J w . The components of the wrist Jacobian in frame 4 are given by:
J 11 = 0 d 4 + a 2 s 3 d 4 0 a 3 + a 2 c 3 a 3 a 1 a 2 c 2 a 3 c 23 d 4 s 23 0 0
J 21 = s 23 0 0 c 23 0 0 0 1 1
J 22 = 0 s 4 c 4 s 5 1 0 c 5 0 c 4 s 4 s 5
where c i cos ( θ i ) , s i sin ( θ i ) , c i j cos ( θ i + θ j ) , and  s i j sin ( θ i + θ j ) . The determinant of J w is the product of the determinants of J 11 and J 22 [30]:
| J w | = | J 11 | | J 22 | | J 11 | = a 2 ( d 4 c 3 a 3 s 3 ) ( a 1 + a 2 c 2 + a 3 c 23 + d 4 s 23 ) | J 22 | = s 5
A summary of all the possible singular conditions is given in Table A2. Singularity 1 corresponds to a wrist pitch angle of 0 . Singularity 2 corresponds to the elbow pitch angle such that the shoulder, elbow, and wrist pitch joints are colinear. Singularity 3 corresponds to the wrist being on the shoulder yaw axis (joint 1).
Table A2. Singular configurations for Motoman MH250.
Table A2. Singular configurations for Motoman MH250.
SingularityConditionLabel
1 θ 5 = 0 zero wrist pitch
2 θ 3 = arctan ( d 4 / a 3 ) shoulder-elbow-wrist pitch colinear
3 a 1 + a 2 c 2 + a 3 c 23 + d 4 s 23 = 0 wrist on shoulder yaw axis

Appendix C. Jacobians and Manipulabilities in Frame 4

The task Jacobian gradients must be computed in order to calculate the manipulability gradients using Equation (18). Since the manipulability is independent of the coordinate frame, the computations can be performed in the link coordinate frame that yields the simplest expressions for the task Jacobians. In this case, frame 4 attached to the forearm is chosen since it is also the frame in which the task decomposition is formed. The expressions below were all computed symbolically using Mathematica 14.2 [Wolfram Research, Inc., Champaign, IL, USA].

Tool Jacobians

The tool Jacobians were calculated in link frame 4 using the cross-product method [29]. Note that the rotation Jacobian must be calculated prior to the translation Jacobian, which utilizes results from the former. The rotation Jacobian in frame 4 is given by:
. 4 J r ( θ ) = s 23 c 4 s 4 s 4 0 0 s 5 s 23 s 4 c 4 c 4 0 1 0 c 23 0 0 1 0 c 5
where c i cos ( θ i ) , s i sin ( θ i ) , c i j cos ( θ i + θ j ) , and  s i j sin ( θ i + θ j ) . In order to calculate the translation Jacobian, the tool position with respect to each link frame in frame 4 must first be found. Define the position of the tool with respect to frame 6 in frame 6 coordinates as . 6 p t = [ p t x p t y p t z ] T . Then, the position of the tool with respect to frame 4 in frame 4 coordinates is defined as . 4 p t with elements given by:
. 4 p t x = c 5 c 6 p t x c 5 s 6 p t y + s 5 p t z . 4 p t y = s 6 p t x + c 6 p t y . 4 p t z = s 5 c 6 p t x + s 5 s 6 p t y + c 5 p t z
The position of the tool with respect to link frame i in frame 4 coordinates is defined as . 4 p t / i . 4 p t . 4 p i , where the . 4 p i are given by:
. 4 p 1 = a 1 c 23 c 4 a 2 c 3 c 4 a 3 c 4 a 1 c 23 s 4 + a 2 c 3 s 4 + a 3 s 4 d 4 a 1 s 23 a 2 s 3 , . 4 p 2 = a 2 c 3 c 4 a 3 c 4 a 2 c 3 s 4 + a 3 s 4 d 4 a 2 s 3 , . 4 p 3 = a 3 c 4 a 3 s 4 d 4 , . 4 p 4 = . 4 p 5 = . 4 p 6 = 0 0 0
The algorithm to calculate the translation Jacobian is given in Algorithm A1.
Algorithm A1 Translation Jacobian Cross-Product Algorithm
1:
procedure Jt( θ )         ▹ The translation Jacobian
2:
    for j do16
3:
         z ^ j = . 4 J r ( · , j )
4:
         . 4 J t ( · , j ) = z ^ j × 4 p t / j
5:
    end for
6:
    return  J t         ▹ Translation Jacobian in Frame 4
7:
end procedure
The partial derivative of the rotation Jacobian with respect to each joint angle is given by:
4 J r θ 1 = 4 J r θ 6 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 , 4 J r θ 2 = 4 J r θ 3 = c 23 c 4 0 0 0 0 0 c 23 s 4 0 0 0 0 0 s 23 0 0 0 0 0 , 4 J r θ 4 = s 23 s 4 c 4 c 4 0 0 0 s 23 c 4 s 4 s 4 0 0 0 0 0 0 0 0 0 , 4 J r θ 5 = 0 0 0 0 0 c 5 0 0 0 0 0 0 0 0 0 0 0 s 5
The partial derivatives of the translation Jacobian calculated from (A9) require the computation of the tool and link frame origin partial derivatives, and the procedure is given by Algorithm A2. The tool point derivatives are found by differentiating (A17)
4 p t θ 1 = 4 p t θ 2 = 4 p t θ 3 = 4 p t θ 4 = 0 0 0 , 4 p t θ 5 = s 5 ( c 6 p t x + s 6 p t y ) + c 5 p t z 0 c 5 ( c 6 p t x + s 6 p t y ) s 5 p t z , 4 p t θ 6 = c 5 ( s 6 p t x + c 6 p t y ) c 6 p t x s 6 p t y s 5 ( s 6 p t x + c 6 p t y )
Let the j t h column of the matrix . 4 P represent the position of the j t h link frame origin with respect to frame 4 in frame 4:
. 4 P = . 4 p 1 . 4 p 2 . 4 p n
Then, the partial of the link frame origins with respect to θ k can be expressed as a matrix, where j t h column is 4 p j / θ k :
4 P θ 1 = 4 P θ 5 = 4 P θ 6 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 , 4 P θ 2 = a 1 s 23 c 4 0 0 0 0 0 a 1 s 23 s 4 0 0 0 0 0 a 1 c 23 0 0 0 0 0 , 4 P θ 3 = a 1 s 23 c 4 + a 2 s 3 c 4 a 2 s 3 c 4 0 0 0 0 a 1 s 23 s 4 a 2 s 3 s 4 a 2 s 3 s 4 0 0 0 0 a 1 c 23 a 2 c 3 a 2 c 3 0 0 0 0 , 4 P θ 4 = a 1 c 23 s 4 + a 2 c 3 s 4 + a 3 s 4 a 2 c 3 s 4 + a 3 s 4 a 3 s 4 0 0 0 a 1 c 23 c 4 + a 2 c 3 c 4 + a 3 c 4 a 2 c 3 c 4 + a 3 c 4 a 3 c 4 0 0 0 0 0 0 0 0 0
Algorithm A2 Translation Jacobian Partial Derivatives Algorithm
1:
procedure dJtdq( θ )        ▹ The translation Jacobian partials
2:
    for k do16
3:
        for j do16
4:
            z ^ j = . 4 J r ( · , j )
5:
            d z ^ j d θ k = d . 4 J r d θ k ( · , j )
6:
            d p t / j d θ k = d . 4 p t d θ k 4 P θ k ( · , j )
7:
            d 4 J t d θ k ( · , j ) = d z ^ j d θ k × . 4 p t / j + z ^ j × d p t / j d θ k
8:
        end for
9:
    end for
10:
    return  d 4 J t d θ        ▹ Translation Jacobian Partials in Frame 4
11:
end procedure

Appendix D. Auxiliary Functions

Appendix D.1. Task Reconstruction

The task reconstruction function is given by:
T R m , J T m q , δ x , m ¯ , m σ , n ¯ m , m ¯ Δ δ x p n m = J T m q n m = S 04 n m , n ¯ m , n m , 0 , n ¯ m n m = J T m q n m δ m = δ x · J T m q k 1 a = S 04 m , 1 , 0 , m ¯ , m ¯ + m σ k 1 b = S 04 δ m , 1 , 0 , 2 | m ¯ Δ | , | m ¯ Δ | k 1 c = S 04 n m , 0 , 1 , n ¯ m , 2 n ¯ m k 1 = k 1 a k 1 b k 1 c k 2 = S 04 m , 1 , 0 , m ¯ 2 , m ¯ δ x p = δ x k 1 n m · δ x n m + k 2 n m
Note: The correction gain k 1 has a three-part filter:
  • k 1 a : apply full path correction at manipulability boundary m ¯ and stop at transition boundary m ¯ + m σ ;
  • k 1 b : only apply path correction when change in manipulability δ m is negative;
  • k 1 c : only apply path correction if manipulability gradient is larger than the surface norm threshold.
If any of these correction factors is null, then k 1 = 0 and the path correction is not applied.

Appendix D.2. Cubic Shape Function

The bounded shape function S 04 ( x ) has the cubic form f ( x ) with saturation limits of y L for x < x L and y R for x > x R and a slope of 0 at these endpoints:
S 04 x , y L , y R , x L , x R y L x x L f ( x ) x L < x x R y R x R < x
f ( x ) = b 3 x 3 + b 2 x 2 + b 1 x + b 0 b 0 = 3 x L x R 2 y L x R 3 y L + x L 3 y R 3 x L 2 x R y R ( x L x R ) 3 b 1 = 6 x L x R ( y L y R ) ( x L x R ) 3 b 2 = 3 ( x L + x R ) ( y L y R ) ( x L x R ) 3 b 3 = 2 ( y L y R ) ( x L x R ) 3
The coefficients in Equation (A24) were obtained by solving f ( x ) and its derivative
d f ( x ) d x = 3 b 3 x 2 + 2 b 2 x + b 1
simultaneously for the following boundary conditions:
f ( x L ) = y L f ( x R ) = y R f ( x L ) = 0 f ( x R ) = 0
Figure A2 is a plot of the shape that results for x L = 0.15 , x R = 0.3 , y L = 1 , and y R = 0 over the range 0 x 0.35 .
Figure A2. Cubic shape function with saturation limits.
Figure A2. Cubic shape function with saturation limits.
Robotics 14 00060 g0a2

Appendix D.3. Augmented Jacobian Manipulability Gradient

Algorithm A3 Augmented Jacobian Manipulability Gradient
1:
procedure dSdq( μ ( S ) , S , S q )
2:
    for k do1columns(S)
3:
         t r = 0
4:
        for i do1rows(S)
5:
           diag=0
6:
           for j do1columns(S)
7:
                d i a g = d i a g + S θ k ( i , j ) S ( j , i )
8:
           end for
9:
            t r = t r + d i a g
10:
        end for
11:
         μ ( S ) θ k = μ ( S ) t r
12:
    end for
13:
    return  μ ( S ) q
14:
end procedure

References

  1. Chang, K.S.; Khatib, O. Manipulator Control at Kinematic Singularities: A Dynamically Consistent Strategy. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Pittsburgh, PA, USA, 5–9 August 1995; Volume 3, pp. 3084–3088. [Google Scholar]
  2. Wampler, C.W. Manipulator Inverse Kinematic Solutions Based on Vector Formulations and Damped Least-Squares Methods. IEEE Trans. Syst. Man Cybern. 1986, 16, 93–101. [Google Scholar] [CrossRef]
  3. Nakamura, Y.; Hanafusa, H. Inverse Kinematic Solutions With Singularity Robustness for Robot Manipulator Control. ASME J. Dyn. Syst. Meas. Control 1986, 108, 163–171. [Google Scholar] [CrossRef]
  4. Caccavale, F.; Chiaverini, S.; Siciliano, B. Second-Order Kinematic Control of Robot Manipulators with Jacobian Damped Least-Squares Inverse: Theory and Experiments. IEEE/ASME Trans. Mechatronics 1997, 2, 188–194. [Google Scholar] [CrossRef]
  5. Chiaverini, S.; Siciliano, B.; Egeland, O. Review of the Damped Least-Squares Inverse Kinematics with Experiments on an Industrial Robot Manipulator. IEEE Trans. Control Syst. Technol. 1994, 2, 123–134. [Google Scholar] [CrossRef]
  6. Chiaverini, S.; Egeland, O. A Solution to the Singularity Problem for Six-Joint Manipulators. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Cincinnati, OH, USA, 13–18 May 1990; pp. 644–649. [Google Scholar]
  7. Oetomo, D.; Ang, M.; Lim, S.Y. Singularity Handling on Puma in Operational Space Formulation. In Proceedings of the International Symposium on Experimental Robotics: Experimental Robotics VII, Waikiki, HI, USA, 11–13 December 2000; Springer: Berlin/Heidelberg, Germany, 2000; pp. 491–500. [Google Scholar]
  8. Leontjevs, V.; Flores, F.G.; López, J.; Ribickis, L.; Kecskeméthy, A. Singularity Avoidance by Virtual Redundant Axis and its Application to Large Base Motion Compensation of Serial Robots. In Proceedings of the 21st International Workshop on Robotics in Alpe-Adria-Danube (RAAD) Region, Napoli, Italy, 10–13 September 2012. [Google Scholar]
  9. Flores, F.G.; Röttgermann, S.; Weber, B.; Kecskeméthy, A. Generalization of the Virtual Redundant Axis Method to Multiple Serial-Robot Singularities. In Proceedings of the ROMANSY 22—Robot Design, Dynamics and Control, Rennes, France, 25–28 June 2018; Arakelian, V., Wenger, P., Eds.; Springer: Cham, Switzerland, 2019; pp. 499–506. [Google Scholar] [CrossRef]
  10. Moe, S.; Antonelli, G.; Teel, A.R.; Pettersen, K.Y.; Schrimpf, J. Set-Based Tasks within the Singularity-Robust Multiple Task-Priority Inverse Kinematics Framework: General Formulation, Stability Analysis, and Experimental Results. Front. Robot. AI 2016, 3, 16. [Google Scholar] [CrossRef]
  11. Ginnante, A.; Simetti, E.; Caro, S.; Leborne, F. Task priority based design optimization of a kinematic redundant robot. Mech. Mach. Theory 2023, 187, 105374. [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]
  13. Marani, G.; Kim, J.; Yuh, J.; Chung, W.K. Algorithmic Singularities Avoidance in Task-Priority Based Controller for Redundant Manipulators. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Las Vegas, NV, USA, 27 October–1 November 2003; pp. 3570–3574. [Google Scholar]
  14. Marani, G.; Yuh, J. Introduction to Autonomous Manipulation—Case Study with an Underwater Robot, SAUVIM; Springer Tracts in Advanced Robotics; Springer: Berlin/Heidelberg, Germany, 2014; Volume 102. [Google Scholar] [CrossRef]
  15. Nakamura, Y. Advanced Robotics: Redundancy and Optimization; Addison Wesley: Reading, MA, USA, 1991. [Google Scholar]
  16. Siciliano, B.; Slotine, J.J. A general framework for managing multiple tasks in highly redundant robotic systems. In Proceedings of the 5th International Conference on Advanced Robotics, Pisa, Italy, 19–22 June 1991; Volume 2, pp. 1211–1216. [Google Scholar]
  17. Baerlocher, P.; Boulic, R. Task-Priority Formulations for the Kinematic Control of Highly Redundant Articulated Structures. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Victoria, BC, Canada, 13–17 October 1998; pp. 323–329. [Google Scholar]
  18. Yoshikawa, T. Manipulability of Robotic Mechanisms. Int. J. Robot. Res. 1985, 4, 3–9. [Google Scholar] [CrossRef]
  19. Park, J. Analysis and Control of Kinematically Redundant Manipulators: An Approach Based on Kinematically Decoupled Joint Space Decomposition. Ph.D. Thesis, Pohang University of Science and Technology (POSTECH), Pohang-si, Republic of Korea, 1999. [Google Scholar]
  20. Press, W.; Flannery, B.; Teukolsky, S.; Vetterling, W. Numerical Recipes in C: The Art of Scientific Computing, 2nd ed.; Cambridge University Press: Cambridge, UK, 1992. [Google Scholar]
  21. Marani, G.; Kim, J.; Yuh, J.; Chung, W.K. A real-time approach for singularity avoidance in Resolved Motion Rate Control of Robotic Manipulators. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Washington, DC, USA, 11–15 May 2002; pp. 1973–1978. [Google Scholar]
  22. Red, E.; Fielding, B. Predictive joint motion limiting in robotic applications. Robotica 2003, 21, 531–540. [Google Scholar] [CrossRef]
  23. Seraji, H. Configuration Control of Redundant Manipulators: Theory and Implementation. IEEE Trans. Robot. Autom. 1989, 5, 472–490. [Google Scholar] [CrossRef]
  24. Kreutz-Delgado, K.; Long, M.; Seraji, H. Kinematic Analysis of 7 DOF Manipulators. Int. J. Robot. Res. 1992, 11, 469–481. [Google Scholar] [CrossRef]
  25. Cui, Z.; Pan, H.; Qian, D.; Peng, Y.; Han, Z. A Novel Inverse Kinematics Solution for a 7-DOF Humanoid Manipulator. In Proceedings of the IEEE International Conference on Mechatronics and Automation, Chengdu, China, 5–8 August 2012; pp. 2230–2234. [Google Scholar]
  26. Simetti, E.; Casalino, G.; Wanderlingh, F.; Aicardi, M. Task priority control of underwater intervention systems: Theory and applications. Ocean Eng. 2018, 164, 40–54. [Google Scholar] [CrossRef]
  27. Carignan, C.; Gribok, D.; Rappaport, T.; Condzal, N. Operational Space Formulation and Inverse Kinematics for an Arm Exoskeleton with Scapula Rotation. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Las Vegas, NV, USA, 25–29 October 2020; pp. 3389–3396. [Google Scholar] [CrossRef]
  28. Craig, J.J. Introduction to Robotics: Mechanics and Control, 4th ed.; Pearson Education: Hoboken, NJ, USA, 2017. [Google Scholar]
  29. Sciavicco, L.; Siciliano, B. Modeling and Control of Robot Manipulators, 2nd ed.; Springer: London, UK, 2000. [Google Scholar]
  30. Konietschke, R.; Hirzinger, G.; Yan, Y. All singularities of the 9-DOF DLR medical robot setup for minimally invasive applications. In Proceedings of the Advances in Robot Kinematics: Mechanisms and Motion, Ljubljana, Slovenia, 25–29 June 2006; Springer: Dordrecht, The Netherlands; pp. 193–200. [Google Scholar]
Figure 1. Examples of six-axis industrial robots with a roll-pitch-roll wrist.
Figure 1. Examples of six-axis industrial robots with a roll-pitch-roll wrist.
Robotics 14 00060 g001
Figure 2. Schematic of roll-pitch-roll wrist frequently found on industrial robots.
Figure 2. Schematic of roll-pitch-roll wrist frequently found on industrial robots.
Robotics 14 00060 g002
Figure 3. Joint Position Solver Block Diagram.
Figure 3. Joint Position Solver Block Diagram.
Robotics 14 00060 g003
Figure 4. Task priority inverse kinematics for three tasks.
Figure 4. Task priority inverse kinematics for three tasks.
Robotics 14 00060 g004
Figure 5. Task projection is used to reconstruct the path around a singularity.
Figure 5. Task projection is used to reconstruct the path around a singularity.
Robotics 14 00060 g005
Figure 6. Prioritized decomposition of three tasks by velocity solver.
Figure 6. Prioritized decomposition of three tasks by velocity solver.
Robotics 14 00060 g006
Figure 7. Three-step process used for task decomposition.
Figure 7. Three-step process used for task decomposition.
Robotics 14 00060 g007
Figure 8. Task priority inverse kinematics embedded with iterative position solver.
Figure 8. Task priority inverse kinematics embedded with iterative position solver.
Robotics 14 00060 g008
Figure 9. Starting configurations for simulations (axes: x—red, y—green, z—blue).
Figure 9. Starting configurations for simulations (axes: x—red, y—green, z—blue).
Robotics 14 00060 g009
Figure 10. Simulation results near 0 wrist pitch.
Figure 10. Simulation results near 0 wrist pitch.
Robotics 14 00060 g010
Figure 11. Simulation results for elbow pitch singularity near workspace boundary.
Figure 11. Simulation results for elbow pitch singularity near workspace boundary.
Robotics 14 00060 g011
Figure 12. Simulation results for wrist on shoulder yaw axis.
Figure 12. Simulation results for wrist on shoulder yaw axis.
Robotics 14 00060 g012
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Carignan, C.; Marani, G. A Partitioned Operational Space Approach for Singularity Handling in Six-Axis Manipulators. Robotics 2025, 14, 60. https://doi.org/10.3390/robotics14050060

AMA Style

Carignan C, Marani G. A Partitioned Operational Space Approach for Singularity Handling in Six-Axis Manipulators. Robotics. 2025; 14(5):60. https://doi.org/10.3390/robotics14050060

Chicago/Turabian Style

Carignan, Craig, and Giacomo Marani. 2025. "A Partitioned Operational Space Approach for Singularity Handling in Six-Axis Manipulators" Robotics 14, no. 5: 60. https://doi.org/10.3390/robotics14050060

APA Style

Carignan, C., & Marani, G. (2025). A Partitioned Operational Space Approach for Singularity Handling in Six-Axis Manipulators. Robotics, 14(5), 60. https://doi.org/10.3390/robotics14050060

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