## Abstract

Most of the current commercial collaborative robots present a non-spherical wrist, so they cannot utilize singularity handling techniques efficiently to avoid excessive safety stops while dynamically avoiding collisions. These robots usually require heavier algorithms due to their kinematics or online methods that shift the original singularities. Therefore, to enable more efficient computations on singularity handling and collision avoidance controllers, this paper proposes a novel method to characterize singular configurations of non-spherical wrist collaborative robots (6 and 7 degrees-of-freedom). This method is based on a new decoupled kinematic model that allows lighter kinematic computations and enables the joint-dependant characterization of the robot singularities to avoid shifting the singular configurations. Finally, the proposed kinematic model is particularized for a UR10e, where its kinematic behavior has been tested against two different literature models in simulation. In this manner, a novel singularity category (belonging to the internal singularities) is proposed, and a new closed set of characterized singular solutions is obtained.

## 1 Introduction

The combination of traditional industrial robots and collaborative robots (or cobots) on existing manufacturing shop floors is presented as one of the main tools for achieving the desired autonomy and flexibility for modern industrial scenarios, the industrial collaborative scenarios [1,2]. Those scenarios require a perfect mixture between productivity and safety to become successful. Assuring both factors in industrial manufacturing environments requires minding additional robotics aspects to avoid excessive safety stops [3].

One of those methods to simultaneously address both productivity and safety corresponds with collision avoidance. However, most of the reactive methods to avoid collisions in dynamic environments are based on reactive responses that rely on the Jacobian [4]. When this happens, the robot can be pulled to a singular configuration, leading to a reduction of its degrees-of-freedom (DoFs). This phenomenon is known as kinematic singularities and is related to misbehaved responses of the robotic system or even blocking situations [5].

In this scenario, when the robot presents a spherical wrist, the kinematic singularities can be characterized due to the kinematic decoupling [6–8], making possible efficient control strategies to avoid simultaneously collision and singularities [4,9]. Another type of robots that makes these strategies possible are the ones with lower DoFs (under four DoFs) [10,11] or the parallel robots [9,12,13] due to their more restricted kinematic models. However, some of the modern commercial collaborative robots (or cobots) are six or seven DoFs robots with a non-spherical wrist. This leads to more complex kinematics models that require heavier computational algorithms to avoid simultaneous collision and singularities [14,15].

One of the most efficient ways to implement any real-time control strategy that faces both situations for non-spherical wrist collaborative robots is to know in advance the singular configurations [8]. In other words, the singularities should be characterized. Some examples of online characterization of singularities are the Riemannian geometric characterizations [16,17], sequential quadratic square programming-based controllers [18], or the sum-of-squares programming control-based techniques [19], among others. Similar to the ones just mentioned, there is another set of strategies to manage the singular configurations and the collision avoidance directly.

Moreover, some of these techniques are based on the inverse kinematics generalized models [6,20], the damped least-square (DLS) kinematic models [6,20–23], the condition number [7,14,24], or the manipulability [7], among other solutions. However, as these techniques shift singularities from one place to another [25] or they are computationally heavy due to their inability to treat the position and orientation of the robot independently [15], the singularity handling problem while avoiding collision cannot be considered fully addressed.

To avoid collision while avoiding singularities efficiently, this work has developed a method to compute a closed set of solutions for singular configurations in non-spherical wrist collaborative manipulators. This study is enabled, thanks to a novel kinematic model proposed for this type of manipulator. This kinematic model allows the kinematic decoupling of the position and orientation for six and seven DoFs collaborative robots. Therefore, this proposal aims to improve the performance of online methods to avoid collision and singularities by applying the closed set of solutions obtained with the method proposed in this article.

The remainder of the article is as follows: Sec. 2 reviews the current limitations on singularity handling while stating the problem formulation briefly. Section 3 states the mathematical formulation to compute the proposed decoupled kinematic model. Section 4 presents a study case where a particularization and validation for a UR10e is exposed. Finally, in Secs. 5 and 6, a discussion and conclusion about the developed work are presented, respectively.

## 2 Problem Formulation

The literature gathers two different types of recognized singularities, the boundary ones and the internal singularities. The boundary singularities are referred to the limits of the robot workspace, while the internal singularities are related to axis alignments and depend on the robot structure [6]. From both types of singularities, the most relevant ones to mind when avoiding obstacles in changing environments are the internal singularities because the boundary singularities are already well known in robot design.

Due to the elevated computational cost, most of the presented control algorithms in the introduction are more demanding and unpredictable than parameterizing the space of singularities [4,14,26]. Additionally, knowing the singularities are not only relevant to avoid them in dynamic environments, but they are also required for operating close to singular configurations to obtain high forces when the robot is moving slowly [7]. However, the parametrization and knowledge of singular configurations for six and seven DoFs industrial collaborative robots are still in development [14]. For robots with spherical wrists (six and seven DoFs), some assumptions simplify the kinematic model as employing the wrist decoupling technique [6,7] or adequate Denavit–Hartenberg (DH) reference frames [15]. However, when the six or seven DoF cobot does not present a spherical wrist, the kinematic decoupling cannot be applied, nor does the DH simplification reduce the coupling between the joints, so the parametrization cannot be done.

Therefore, to improve the performance of singularity handling algorithms, this work presents an offline singularity study of six and seven DoF cobots that allows its offline parametrization. This singularity study based on the proposed kinematic model enables the computation of a complete closed set of parametrized singular configurations. The aim of this approach is to propose a set of solutions to inverse kinematics and singularities that allow more optimal computations for non-spherical wrist robots while avoiding collision in dynamic environments. Therefore, it offers a more efficient approach for online singularity computation than the DLS algorithms [25], among other solutions [18,23]. Moreover, it also pretends to offer a set of characterized solutions for singularity instead of making the characterization online as the Riemannian characterization [17] or the sum-of-squares programming [19], among other techniques. The novelty of the proposed approach does not lie in the parametrization but in its future application to create more optimal singularity-free algorithms for non-spherical wrist collaborative robots. This performance study has been left to future developments.

## 3 Singularity Characterization

The novel approach enables the decoupling of the kinematic model for non-spherical wrist robots. For such a purpose, it is proposed to make them coincident with the last three orthogonal reference frames (the wrist ones) of an *n* DoFs cobot to emulate the behavior of a spherical wristed robot. This way, the three wrist reference frames coincide at the same structure point, known as the decoupling point. More specifically, the model has been particularized and detailed for six or seven DoFs robots to compute the singularity parametrization of some models of commonly employed collaborative robots. Any other non-spherical wrist similar structure can benefit from the proposed decoupling. However, if the robot structure differs, additional considerations might be required.

Choosing the decoupling point adequately is the critical aspect for the success of the proposed kinematic model. This point should be selected so the distance between the elbow reference frame and the reference frame of the decoupling point becomes constant. The distance between the decoupling point and the end-effector (tool center point, TCP) should also remain constant. Choosing these two distances constant is relevant because if you know the position on the decoupling point, the end-effector’s position and orientation can be straightforwardly computed. Thus, the end-effector available positions around the decoupling point generate a sphere of constant radius. This way, the positioning of the robot tool can be reduced to solving the position problem for the decoupling point because the mutual relation between placements and orientation is already known. In addition to this, the selection of the decoupling point also affects the singularities. Since the kinematic model is simplified, the singularities can be reduced to a closed set of solutions that enables the joint-dependent characterization. This consideration reduced the amount of the so-called model singularities, latter addressed in Sec. 5 of this work.

In Fig. 1, the aforementioned relationships can be regarded. The best way to select these constant distances is to pick the four last joints two by two, checking whether or not the combination of adjoined joints makes these distances independent of the robot configuration. There is a six DoF robot with a spherical wrist on the left-hand side, while on the right-hand side, there has been represented a six DoF robot without a spherical wrist. As can be seen in Fig. 1, the distance between $FA\xaf$ and $AE\xaf$ are constant and known for the spherical wrist robot because they are design parameters of the robot.

To emulate this behavior for a non-spherical robot, the constant distances should be the vectors $FB\xaf$ and $BE\xaf$, respectively (see the right-hand side of Fig. 1). Thus, the distance between the elbow reference frame and the decoupling point is constant so is the distance between the decoupling point and the TCP for a non-spherical wrist robot. These relations are true no matter in which configurations the robot is and always maintain the coplanarity between $FB\xaf$ and $BE\xaf$, respectively. The process of making the orthogonal wrist axes coincident in the same structure spot with fixed distances between the previous and the following reference frames is called *wrist spherification* in this paper.

To set out the mathematical formulation of the proposed kinematic model (for six and seven DoFs robots), Fig. 2 pictures a generic six or seven DoF kinematic model of a non-spherical wrist industrial collaborative robot (see Fig. 2(a)) and the transformation between the last three reference frames required for implementing the proposed decoupled kinematic model (see Fig. 2(a)). Both scenarios of Fig. 2 represent the schematics of the kinematic model of the collaborative robots, where *n* represents the DoF of the robot and the *a*_{i} and *d*_{i} parameters represent structure distances along *Y*_{i} and *Z*_{i} axes, respectively. Their kinematic model can be solved with a regular matrix post multiplication for the first three of four joints of the robot. However, the wrist joints require some adjustments to the kinematic model that will be explained below.

The proposed wrist spherification method relies on translating the **O _{n−2}** and the

**O**reference frames to B point, allowing the usage of an auxiliary (also orthogonal) reference frame (

_{n}**O**

_{β}) pointing to the TCP with one of its axis (

*Y*

_{β}; Fig. 2(b)). Thus, by making the last three reference frames (

**O**,

_{n−2}**O**, and

_{n−1}**O**) coincident into the same spot (

_{n}**B**), the decoupling point generates a sphere of the constant radius where the TCP could be found. It is relevant to keep this distribution in the wrist spherification so that the orientation of the

*n*reference frame will coincide with the orientation of the TCP (

**O**) reference frame. Additionally, this configuration maintains the coplanarity between {

_{ee}*Y*

_{β},

*Z*

_{β}} and {

*Y*

_{n−1},

*Z*

_{n−1}} reference frames’ axis, making

*β*angle to be unchanging and a structural parameter of the kinematic model.

*β*angle is required for the wrist spherification because it relates the orientation towards $BE\xaf$ distance which should be applied. In other words, it represents the orientation where the TCP is placed. Recalling Fig. 2, this distance can be decomposed by adopting

*h*and

*l*known parameters from the structure of the robot. So the distance (

*r*

_{2}) and the orientation (

*β*) towards the tool center point can be calculated as presented in Eq. (1).

*a*)

*b*)

**B**) position ($pwr0$) and the other term, which references the orientation ($owr0$) of the robot respect to the base in terms of Euler angles (

*ϕ*,

*θ*,

*ψ*). Thus, the FK model for solving the position ($pwr0=p60=p\beta 0$) and orientation ($owr0=o60=o\beta 0$) problem can be stated as represented in Eq. (2).

*n*− 1) reference frames. However, expressing the turn of the last joint requires expressing

*q*

_{n}joint turn into the

**O**

_{β}reference frame. This relation is computed through the following homogeneous transformation matrix shown in Eq. (3).

**O**=

_{n−2}**O**=

_{n−1}**O**=

_{n}**O**

_{β}, the translational component is null ($pnn\u22121=0$). Moreover, the inverse rotation matrix can be computed as a rotation along

*Y*axis (check Fig. 2). With both terms known, the $(Tnn\u22121)\u22121$ can be represented as gathered in Eq. (4).

*a*), (6

*b*), and (6

*c*), respectively [6,7,24].

*a*)

*b*)

*c*)

*i*th row and

*j*th column term of the rotation matrix.

With the position and orientation problem theoretically solved, in order to parametrize the kinematic singularities, the computation of the differential kinematics for the proposed decoupled model is required. The differential kinematics is computed through the calculation of the jacobian matrix (**J**), which is also required to relate velocities from the task space to the joint space, and vice versa. This kinematic model can be calculated in both ways by deriving the position model ($xwrist0$) or through the geometric Jacobian computation. In this work, it has been computed employing the geometric Jacobian, minding only revolute joints as stated in Ref. [6].

*n*− 1) joints. Nevertheless, the turn of

*q*

_{n}must be expressed in the

**O**

_{β}reference frame. For such a purpose, the decomposition of the

*q*

_{n}component needs to compute the angular velocity of

*q*

_{n}in the

**O**

_{β}reference frame ($\omega n\beta $). As stated in Eq. (7), this term can be obtained by pre multiplying by a rotation matrix $\omega nn$, which is known and is aligned with the reference frame

*O*

_{n}.

**z**

_{i−1}) for the last joint (

**z**

_{β}) can be computed as follows:

**z**

_{β}calculated for representing the revolution movement of

*q*

_{n}in the reference frame

*O*

_{β}, the Jacobian matrix (

**J**) can be computed as shown in Eq. (9). Thus,

**J**represents a 6xn matrix that involves the unit vectors of joints axis (

**z**

_{i−1}, {

**z**

_{0},

**z**

_{1}, …,

**z**

_{n−2},

**z**

_{β}}). In the Jacobian computation expression of Eq. (9),

**p**

_{β}is referred to the position of the decoupling point which is the reference frame previous to the end-effector one, and

**p**

_{e}corresponds to the point where the last wrist reference system is placed as the decoupled model computes the positioning of the end-effector according to the decoupling point.

**J**| = 0). Thanks to the decoupled model presented above (Eqs. (5), (9), and knowing that in the proposed decoupled model

**p**

_{e}=

**p**

_{β}=

**p**

_{5}=

**p**

_{4}⇒ (

**J**

_{22})

_{3x3}=

**0**

_{3x3}), after computation, the Jacobian can be expressed as follows:

**J**

_{ij})

_{ax3}(for

*a*=

*n*− 3, where

*n*is still the DoF of the cobot) and (

**J**

_{ij})

_{3x3}are the corresponding reduced Jacobian.

**J**

_{11}| is {

*q*

_{1}, …,

*q*

_{n−3}} joint dependant. On the other hand, the Jacobian |

**J**

_{22}| depends only on the last three joints (the wrist ones, {

*q*

_{n−2},

*q*

_{n−1},

*q*

_{n}}). Thus, the singularity computation can be expressed in terms of every joint of cobot as shown in Eq. (12).

## 4 Case Study: Singularities of a UR10e Robot

This section addresses the mathematical particularization of the proposed decoupled kinematic model to characterize the singular configurations of a UR10e robot [28]. Thus, this work pretends to study and compare the kinematic behavior against two models from the literature. On the one hand, the kinematic model from the Robot Operating System (ROS) drivers’ package (from Refs. [28–30], called ROS model in advance) and, on the other hand, a DH one proposed in Ref. [15] (DH model from now on). Therefore, this section will particularize the mathematical formulation displayed in the previous section for a non-spherical wrist six DoF robot.

This section displays the singularity analysis and characterization of the studied robot, considering the main novelty of this work. The required particularization of the FK model (for *n* = DoFs = 6) can be consulted as indicated in the Appendix A for further knowledge on the implementation. All the computations have been carried out with Matlab^{®} R2018b; therefore, the materials left will have compatibility with that software version.

### 4.1 Singularity Parametrization of a UR10e.

With the decoupled FK model computed, the singularity study and characterization can be addressed. As stated in Eq. (12), the singularity study is divided into two different types: the first singularity type corresponds with the arm singularities (|**J**_{11}| = 0), while the second one is related to the wrist singularities (|**J**_{22}| = 0). On the one hand, the arm singularities represent the configurations where the Jacobian is ill-conditioned to solve the positioning problem. On the other hand, the wrist singularities correspond with the Jacobian ill-conditioned configurations due to orienting the TCP.

**J**|. This equation shows that the calculated expression is only dependent on the second and third joint of the robot

*f*(

*q*

_{2},

*q*

_{3}) = |

**J**

_{11}|. However, it is still complicated to compute the zeros (

*f*(

*q*

_{2},

*q*

_{3}) = 0) for the desired interval of {−

*π*,

*π*} to parametrize the singular configurations of the proposed kinematic model. Additionally, Fig. 3 represents the evaluation of the |

**J**

_{11}| computation for the {−

*π*,

*π*} interval.

*f*(

*q*

_{2}) = 0 or

*f*(

*q*

_{3}) = 0, becoming the whole set of solutions with the addition of each solution for each study case.

The computed results for each study case can be observed in Fig. 3. These results have been divided into two different groups. On the one hand, the solutions represented in horizontal are related to *q*_{3} directly parametrizable singular configurations. On the other hand, the s-shaped (black colored) zeros represent singular configurations that depend on a combination of *q*_{2} and *q*_{3}, presenting a more complex structure to parametrize the found solutions.

*q*

_{3}= {−

*π*,

*π*}. Because of that, a set of parametrized solutions can be expressed as follows:

*q*

_{3,sing}because, for a given value of

*q*

_{2}, the result is not exclusively

*q*

_{3}defined. Therefore, these solutions set has been divided into two use cases: on the one hand, the zeros found for

*q*

_{2}> 0 and, on the other hand, the solutions for

*q*

_{2}< 0. In the case of

*q*

_{2}= 0, as can be appreciated in Fig. 4, there are no other solutions than those already parametrized for

*q*

_{3,sing}.

For this new situation, as depicted for both study cases (group 2 in Fig. 4), given a specific value of *q*_{3}, there only exists a unique value for *q*_{2}. Therefore, a polynomial function fitting technique is applied to find a relation formatted as *q*_{2,sing} = *f*(*q*_{3}). In this manner, the remaining singularities can be parametrized through an *n*-degree polynomial function that relates the singular configurations depending on *q*_{3} given values. In this specific use case of a UR10e robot and the novel kinematic model, a polynomial fitting has been employed to find the desired relationship between *q*_{2} and *q*_{3}. Therefore, the coefficients of a 33rd-order polynomial fitting curve to ensure a *r*^{2} > 0.99999995 coefficient have been computed for each study case (*q*_{2} > 0 and *q*_{2} < 0).

**J**

_{11}| =

*f*(

*q*

_{2},

*q*

_{3}) = 0) are exposed in Eq. (15). Additionally, the specifically calculated polynomial fitting coefficients for a UR10e robot can be checked out in Tables 5 and 6 (from Appendix B).

**J**

_{22}| is computed, an expression dependent only on the last three joints should be expected (|

**J**

_{22}| =

*f*(

*q*

_{4},

*q*

_{5},

*q*

_{6}) = 0). Nevertheless, after simplifying the obtained expression for this Jacobian using the Matlab R2018b Symbolic Toolbox, the following terms are computed (see Eq. (16)):

**J**

_{22}| = 0) only depends on the second wrist joint (

*q*

_{5}) as displayed in Eq. (17).

*f*(

*q*

_{5}) = 0 are trivial because they are represented by −sin (

*q*

_{5}) = 0. Thus, it can be stated that the orientation problem presents only singularities whenever the joint

*q*

_{5}= {−

*π*, 0,

*π*} in the allowed joint range. Equation (18) represents generically the solution explained above to parametrize the singularities, while Fig. 5 pictures these solutions for the {−

*π*,

*π*} range. In vertical lines (purple) is represented the found parametrized zeros for the wrist singularities, while the color map represents the evaluation for |

**J**

_{22}| in the range of values that

*q*

_{5}and

*q*

_{6}can adopt.

**J**

_{11}and

**J**

_{22}have been computed and parametrized, the singular configurations for J can be parametrized by combining the solutions. These expressions for the characterized singularities are gathered in Eq. (19).

*q*

_{3,sing}group, which is referred to

*q*

_{3}= −

*π*+

*kπ*configurations. Second, the

*q*

_{5,sing}group that contains all the configurations parametrized as

*q*

_{5}= −

*π*+

*kπ*. Lastly, the

*q*

_{2,sing}type which addresses the remaining singularities (singular configuration corresponding to

*q*

_{2}=

*f*(

*q*

_{3}) or whenever the

*q*

_{3,sing}or

*q*

_{5,sing}criterion is met for the case of

*q*

_{2}= 0). Since the initial state of the singularity study starts with Eq. (11), just by studying each sole determinant (|

**J**

_{11}|and|

**J**

_{22}|), the study of the singularities can be considered complete. It could happen simultaneously, the arm and the wrist are singular, but that does not mean a coupling in singular configurations. It means that by chance, that configuration is at the same time on a singular configuration for the arm and for the wrist.

### 4.2 Analytical Validation of the Singularity Parametrized Configurations.

Validating the parametrized singular configurations means checking whether the novel decoupled model (dec for shorter in formulas) presents an equivalent kinematic behavior to other literature models (ROS and DH models). In turn, presenting equivalent kinematic behavior indicates that the models share their null space [31]. In other words, two or more equivalent kinematic models should collapse in the same configurations, presenting the same singular configurations. This fact is implicitly demonstrated by applying the definition of matrix equivalency (an example of this is the singular value decomposition [6,32] to handle singular configurations). Hence, to test if the presented decoupled model behaves equivalently to the ROS and DH models, a matrix equivalency study is presented in this section. This study is also supported with simulation data of the behavior of each model for each singularity parametrized case (*q*_{3,sing}, *q*_{5,sing}, and *q*_{2,sing}).

As equivalent matrices do not require to present the same determinant, they do require to have the same rank; the formal mathematical proof is based on comparing each model Jacobian matrix range [33]. Thus, the following statement is checked whether it is met or not: **J**_{dec} satisfies rank(**J**_{dec}) = rank(**J**_{ROS}) = rank(**J**_{DH}) ⇒ **J**_{dec} ≡ **J**_{ROS} ≡ **J**_{DH}. In general, this statement means that if the symbolic expression of the determinant of the Jacobians differs, the matrix will not be equivalent since they will present different solutions when equaled to zero. Meaning that the model with different ranks does not share the same singular configurations as the others. Therefore, if they do not share the same null space, their kinematic behavior will be different, presenting different unstable configurations for the control. This means that the selection of one or the other kinematic model directly influences the configurations where the robot crashes and, therefore, that the singularities are not exclusively structural.

**J**

_{D}and

**J**

_{C}be two Jacobian matrices for generic decoupled (the novel kinematic model proposed) and non-decoupled models (coupled as the ROS and DH ones), respectively. Equation (20) displays the general formulation for the Jacobian of the decoupled and non-decoupled models (

*n*= 3).

*a*)

*b*)

**J**

_{D,22}=

**J**

_{C,22}=

**J**

_{22}(since the geometrical Jacobian expresses the change of angular velocity around the axes and not the variation of the angular velocity) and

**J**

_{D,21}=

**J**

_{C,21}=

**J**

_{21}.

*a*)

*b*)

*a*) and (21

*b*) are not equivalent for either of the cases. It might occur that with a proper selection of reference frames, the product nullifies ((

**J**

_{C,12})(

**J**

_{21}) =

**0**and |

**J**

_{D,11}| = |

**J**

_{C,11}|) making both models equivalent for those particular configurations. However, this scenario does not usually happen, so, in general, it is held that |

**J**

_{D}| ≠ |

**J**

_{C}|.

This difference in the behavior of the different kinematic models is also observed in the set of 10,000 random singular configurations computed for each model and singular parametrized case (*q*_{3,sing}, *q*_{5,sing}, and *q*_{2,sing}). The computed values for the statistical singularity comparison study are displayed in Table 1 (which displays the information for singularities due to *q*_{3,sing}), Table 2 (with the statistics of the singularities due to *q*_{5,sing}) and Table 3 (which shows the statistics for the use case of *q*_{2,sing}).

Singularity matching | |||
---|---|---|---|

Dec (%) | ROS (%) | DH (%) | |

Dec | 100.00 | 100.00 | 100.00 |

ROS | − | 100.00 | 100.00 |

DH | − | − | 100.00 |

Singularity matching | |||
---|---|---|---|

Dec (%) | ROS (%) | DH (%) | |

Dec | 100.00 | 100.00 | 100.00 |

ROS | − | 100.00 | 100.00 |

DH | − | − | 100.00 |

All models match (%) | Boundary singularity (%) | |||
---|---|---|---|---|

100.00 | 0.00 | |||

Statistics | ||||

Mean (J) | Std (J) | Max (J) | Min (J) | |

Dec | 3.33 × 10^{−20} | 1.30 × 10^{−17} | 1.35 × 10^{−16} | −1.05 × 10^{−16} |

ROS | 7.94 × 10^{−20} | 1.66 × 10^{−17} | 1.49 × 10^{−16} | −1.94 × 10^{−16} |

DH | 2.61 × 10^{−20} | 1.31 × 10^{−17} | 1.15 × 10^{−16} | −1.05 × 10^{−16} |

All models match (%) | Boundary singularity (%) | |||
---|---|---|---|---|

100.00 | 0.00 | |||

Statistics | ||||

Mean (J) | Std (J) | Max (J) | Min (J) | |

Dec | 3.33 × 10^{−20} | 1.30 × 10^{−17} | 1.35 × 10^{−16} | −1.05 × 10^{−16} |

ROS | 7.94 × 10^{−20} | 1.66 × 10^{−17} | 1.49 × 10^{−16} | −1.94 × 10^{−16} |

DH | 2.61 × 10^{−20} | 1.31 × 10^{−17} | 1.15 × 10^{−16} | −1.05 × 10^{−16} |

Singularity matching | |||
---|---|---|---|

Dec (%) | ROS (%) | DH (%) | |

Dec | 100.00 | 100.00 | 100.00 |

ROS | − | 100.00 | 100.00 |

DH | − | − | 100.00 |

Singularity matching | |||
---|---|---|---|

Dec (%) | ROS (%) | DH (%) | |

Dec | 100.00 | 100.00 | 100.00 |

ROS | − | 100.00 | 100.00 |

DH | − | − | 100.00 |

All models match (%) | Boundary singularity (%) | |||
---|---|---|---|---|

100.00 | 0.00 | |||

Statistics | ||||

Mean (J) | Std (J) | Max (J) | Min (J) | |

Dec | −4.08 × 10^{−21} | 6.43 × 10^{−18} | 4.66 × 10^{−18} | −5.30 × 10^{−17} |

ROS | −1.40 × 10^{−20} | 4.89 × 10^{−18} | 4.90 × 10^{−17} | −4.41 × 10^{−17} |

DH | −3.96 × 10^{−20} | 4.84 × 10^{−18} | 3.99 × 10^{−17} | −4.72 × 10^{−17}M |

All models match (%) | Boundary singularity (%) | |||
---|---|---|---|---|

100.00 | 0.00 | |||

Statistics | ||||

Mean (J) | Std (J) | Max (J) | Min (J) | |

Dec | −4.08 × 10^{−21} | 6.43 × 10^{−18} | 4.66 × 10^{−18} | −5.30 × 10^{−17} |

ROS | −1.40 × 10^{−20} | 4.89 × 10^{−18} | 4.90 × 10^{−17} | −4.41 × 10^{−17} |

DH | −3.96 × 10^{−20} | 4.84 × 10^{−18} | 3.99 × 10^{−17} | −4.72 × 10^{−17}M |

Singularity matching | |||
---|---|---|---|

Dec (%) | ROS (%) | DH (%) | |

Dec | 99.84 | 2.71 | 2.67 |

ROS | − | 2.71 | 2.62 |

DH | − | − | 2.67 |

Singularity matching | |||
---|---|---|---|

Dec (%) | ROS (%) | DH (%) | |

Dec | 99.84 | 2.71 | 2.67 |

ROS | − | 2.71 | 2.62 |

DH | − | − | 2.67 |

Three models matching | ||||
---|---|---|---|---|

2.62 | ||||

Boundary singularity (%) | Shoulder singularity (%) | |||

0.00 | 0.00 | |||

Statistics | ||||

Mean (J) | Std (J) | Max (J) | Min (J) | |

Dec | −5.08 × 10^{−07} | 3.51 × 10^{−05} | 1.01 × 10^{−04} | −1.01 × 10^{−04} |

ROS | −2.58 × 10^{−04} | 0.0149 | 0.0418 | −0.0419 |

DH | −2.57 × 10^{−04} | 0.0149 | 0.0420 | −0.0418 |

Three models matching | ||||
---|---|---|---|---|

2.62 | ||||

Boundary singularity (%) | Shoulder singularity (%) | |||

0.00 | 0.00 | |||

Statistics | ||||

Mean (J) | Std (J) | Max (J) | Min (J) | |

Dec | −5.08 × 10^{−07} | 3.51 × 10^{−05} | 1.01 × 10^{−04} | −1.01 × 10^{−04} |

ROS | −2.58 × 10^{−04} | 0.0149 | 0.0418 | −0.0419 |

DH | −2.57 × 10^{−04} | 0.0149 | 0.0420 | −0.0418 |

Both cases *q*_{3,sing} and *q*_{5,sing} singular configurations (Tables 1 and 2, respectively) can be studied together due to their similar results. The first remarkable result displayed relies on the fact that every computed configuration for these study cases can be considered singular under the established threshold (*δ*_{0} < 10^{−4}). Therefore, each possible combination of Jacobian determinants matches. Additionally, none of the configurations coincide with a boundary singularity type. This result is required but not enough to affirm that the three models are equivalent and share the same null space.

Relative to the statistical analysis of these two situations, the computed metrics are far below the threshold value selected in both situations. In Tables 1 and 2, it can be observed how the order of magnitude of the computed mean for |**J**| are around 10^{−20}. Additionally, the order of magnitude of the standard deviation, the maximum, and the minimum are around a shallow value, too (10^{−18}). This low value for the statistical distribution of |**J**| computation for the random set of singular configurations for each study case might mean that the three models share the same null space. However, as warned above, these statistical metrics are required but not enough to demonstrate that the three models are equivalent.

Thus, the last condition to check for comparing the kinematic behavior between the three models is the last case (*q*_{2,sing}; Table 3). First of all, unlike the other two use cases, the proposed kinematic model hardly matches with singular configurations of the ROS and DH models. In the case of the decoupled model, there is a match of 99.84% for singular configurations calculated with a threshold error value inferior to 10^{−4}, so every computed configuration can be considered singular, indeed. On the contrary, for the ROS and DH models, there are 2.71% and 2.67% of matching configurations, respectively. Moreover, only 2.62% of singular configurations are in common for the three models.

Additionally, the computed statistical metrics present higher magnitudes than the use cases studied above. There is a clear difference between the mean of the decoupled model against ROS and DH models computed values, an order of magnitude of about 10^{3}. This difference is also maintained for the standard deviation, the maximum, and the minimum values. Thus, the statistical distribution of the computed singularities for the decoupled model does not match the ROS and DH models’ distribution.

The last check for the current use case relies on testing whether the study case computed solutions belong to boundary or shoulder singularities. For both situations, the percentage of possible configurations that match any of these conditions is 0%. Thus, the computed parametrized configurations do not belong to boundary or shoulder singular configurations.

Bearing all these facts in mind, it can be stated that there are two aspects: on the one hand, for the use cases *q*_{3,sing} and *q*_{5,sing}, the singularities for the three models coincide, and on the other hand, in the remaining use case (*q*_{2,sing}), the singular configurations are different. Therefore, as more than one configuration has been found that does not share the same null space (rank), the three models are not equivalent. However, for the first two use cases, the singular configurations coincide, and it can be stated that these singular configurations are related to the structure of the robot. The structural singularities are the same independently of the chosen kinematic model. On the contrary, for the last use case, the models are not equivalent. Since some singular configurations have been found to differ from each model, it can be stated that additional singular configurations directly depend on the reference frames distribution. It means that those singular configurations are mathematical singularities due to the modeling. These singular configurations are denoted in this work as model singularities and belong to the already known internal singularities of the robot. Thus, the kinematic singularity parametrization can be considered valid under the assumption of a proper representation of the position and orientation as verified for the proposed model.

## 5 Discussion

The first remarkable fact is that the computation of singular configuration has been eased, thanks to the application of the proposed wrist spherification technique, which comes along with a novel forward kinematic model. Since this technique is based on achieving a null Jacobian block submatrix (**J**_{12} = **0**_{3x3}), it also reduced the computational cost of determining singular configurations. Additionally, the proposed model allows the parametrization of the singular configuration dependant on *q*_{2}, *q*_{3}, and *q*_{5} joints (*q*_{2,sing}, *q*_{3,sing}, and *q*_{5,sing} singularity characterized groups, respectively). Additionally, the fact that **J**_{12} = **0**_{3x3} is computed and highlights the independency of the linear velocity of the end-effector from *q*_{4}. This is the first proof of the change in the differential properties of the model.

The proposed kinematic model eases the positioning and orienting problem, especially when working with inverse kinematics and velocities. On the one hand, the positioning only depends on three or four first joints, while the orientation is restricted to the last three joints; this allows the computation of a full set of inverse kinematics solutions. On the other hand, the Jacobian complexity is reduced, enabling the computation of a closed set of singular configurations for the robot. Moreover, a sphere containing the end-effector around the positioning point is generated to relate the end-effector and the decoupling point easily. To determine the position of the end-effector, it is only required the $pBE0$ vector, which is a parameter given by the structure of the robot. Thus, this decoupling of the robot structure into arm and wrist problems simplifies the forward and inverse kinematic models.

Whatsmore, the relevance of the proposed kinematic model also relies on allowing an offline computation of singular configurations of the robot. Thus, the singularity handling algorithms can also be simplified while reducing the computation workloads of the control system of a shared environment.

On the other hand, a generic proof testing the proposed decoupled kinematic model and the reference coupled ones was also developed. This formal proof is supported by the statistical mismatch found for the *q*_{2,sing} singular configurations. As there are several examples where the Jacobian from one of the models does not match the Jacobian of the other two, it can be stated that the three models are not equivalent between them. However, the proposed kinematic model can be considered applicable because, in the modeling phase of this work, the orientation and position problem has been successfully addressed.

One of the last facts extracted from the validation subsection of this work consists of a general demonstration of the non-equivalence between decoupled and coupled kinematic models. Since there are configurations that belong only to the proposed model for the *q*_{2,sing} study case, they cannot be considered structural singularities. Therefore, two types of kinematic singular configurations can be distinguished among the internal singularities of the robot. On the one hand, there are already known singularities due to the structural distribution of the robot joint, the structural singularities (wrist and elbow singular configurations). On the other hand, the model singularities that correspond with singular configurations are generated by a specific distribution of the reference frames through the robot structure.

Lastly, the strong dependence demonstrated in this paper of the kinematic model on the mathematical model disposition evidence that the novel kinematic model proposed might reduce the Jacobian complexity while erasing singularities tied to the wrist and arm coupling. Considering the possible complexity reduction of kinematic model complexity by choosing a suitable kinematic model might lead to more optimal advanced control algorithms for industrial collaborative scenarios.

## 6 Conclusion

This paper proposes a novel decoupled kinematic model (six and seven DoFs cobots) to allow the main contribution of a singularity parametrized configuration, thanks to an offline singularity study of the singularities. This study has been supported through several validations for a specific use case of an UR10e robot, allowing the particularization of its singularities (as shown in Eq. (A3), depending only on the *q*_{2}, *q*_{3}, and *q*_{5} joints).

The embedded kinematics on simplified mathematical expressions that have been obtained with the current work might increase the performance of advanced control algorithms to reduce the computational load of handling singularity without disregarding other goals of the robotic task. However, it is essential to remark that the simplification of advanced control algorithms for singularity handling is bounded to the proposed model.

Moreover, in the kinematic behavior study against the other two utilized models, three different study cases have been selected (one for each singularity case). For the study case of *q*_{3,sing} and *q*_{5,sing}, there is a matching between the configurations considered singular between the three models. Nevertheless, this fact is not reproduced for the *q*_{2,sing} case. It exists a mismatch of the singular configurations between the three particularized models. From these results, two conclusions can be extracted: on the one hand, the already known singular configurations due to the structure are held no matter the kinematic model; however, on the other hand, depending on the configurations and alignment of the reference frames employed (case of *q*_{2,sing}), the kinematic singularities will depend on the mathematical model computed from the reference frames distribution. This last singularity type bounded to the reference frame distribution and mathematical modeling of the robot kinematics belongs to the internal singularities of the robot. However, as they are different from one kinematic model to another according to its frame distribution, they are considered a new type of singularity. They are denoted as model singularities in this work. These new singularities are relevant because it highlights the importance of an accurate kinematic model selection, hinting that simpler control algorithms and a more delimited singularity-free working area can be obtained.

Finally, it is considered that there is still room for improvement in this field. Some future works are planned to improve the scientific quality of this manuscript by evaluating the effect of the mentioned reduction of freedom of movement due to the linear velocity independence of *q*_{4} or testing the kinematic behavioral results on a real cobot. It would also be relevant to test the performance of the proposed kinematic model against other singularity handling algorithms to evaluate its real potential for industrial application.

## Acknowledgment

This work has been supported by the Basque Government (Ref. IT1726-22). We also want to give special thanks to José Manuel Gutiérrez of the Universidad de La Rioja (UR) for his support in handling multivariable equations developed in this work.

## Conflict of Interest

There are no conflicts of interest.

## Data Availability Statement

The datasets generated and supporting the findings of this article are obtainable from the corresponding author upon reasonable request.

## Appendix A: Particularization for a UR10e of the Novel Decoupled Kinematic Model

Figure 6 represents the schematics of the proposed kinematic decoupled model of a UR10e. It can be appreciated that the last three joints (the wrist ones) are positioned in the same place, allowing the first of the stated conditions to enable the wrist decoupling. The second condition to make this model work is also accomplished through the use of the *β* auxiliary reference frame pointing to the TCP (**O**_{ee}) reference frame. Meeting these two conditions enables the application of the proposed FK model for the UR10e.

Based on Fig. 6 reference frames disposition, the required parameters for computing $xwr0$ and **J** are presented in Table 6. In this table, the corresponding joint rotations {*q*_{1}, *q*_{2}, *q*_{3}, *q*_{4}, *q*_{5}, *q*_{6}} referred to each axis of the reference frame (*θ*_{x}, *θ*_{y}, and*θ*_{z}, respectively) are shown. Additionally, Table 4 also shows the displacements between each reference system along each of the orthogonal main axis (*X*, *Y*, and *Z*). Finally, Table 4 also exposes the additional parameters required to know the position of the end-effector relative to the decoupling point expressed in the auxiliary reference frame *β*.

X (m) | Y (m) | Z (m) | θ_{x} (rad) | θ_{y} (rad) | θ_{z} (rad) |
---|---|---|---|---|---|

0 | 0 | d_{1} | 0 | 0 | q_{1} |

0 | a_{2} | 0 | 0 | q_{2} + π/2 | 0 |

0 | −a_{3} | d_{3} | 0 | q_{3} | 0 |

0 | a_{4} | d_{4} | 0 | q_{4} + π/2 | 0 |

0 | 0 | 0 | 0 | 0 | q_{5} |

0 | 0 | 0 | 0 | q_{6} | 0 |

0 | 0 | 0 | β | 0 | 0 |

Parameters of the O_{β} reference frame | |||||

X (m) | Y (m) | Z (m) | θ_{x} (rad) | θ_{y} (rad) | θ_{z} (rad) |

0 | r | 0 | 0 | 0 | π/2 |

X (m) | Y (m) | Z (m) | θ_{x} (rad) | θ_{y} (rad) | θ_{z} (rad) |
---|---|---|---|---|---|

0 | 0 | d_{1} | 0 | 0 | q_{1} |

0 | a_{2} | 0 | 0 | q_{2} + π/2 | 0 |

0 | −a_{3} | d_{3} | 0 | q_{3} | 0 |

0 | a_{4} | d_{4} | 0 | q_{4} + π/2 | 0 |

0 | 0 | 0 | 0 | 0 | q_{5} |

0 | 0 | 0 | 0 | q_{6} | 0 |

0 | 0 | 0 | β | 0 | 0 |

Parameters of the O_{β} reference frame | |||||

X (m) | Y (m) | Z (m) | θ_{x} (rad) | θ_{y} (rad) | θ_{z} (rad) |

0 | r | 0 | 0 | 0 | π/2 |

#### Analytical Validation of the Position and Orientation

*O*

_{B}) with the TCP (

*O*

_{ee}). For such a requirement, the auxiliary distance

*r*from Fig. 7 suits. The distance

*r*corresponds with a structural parameter of the robot (what makes it constant in the module) with a known orientation (

*Y*

_{β}axis directed). This vector is the $pBE0$ vector of Fig. 7 and allows to position the TCP on a sphere around (

*O*

_{B}), thanks to the three wrist joints. Therefore, to validate the model through the UR10e particularization, the relation exposed in Eq. (A1) should be met.

*x*,

*y*, and

*z*components. The matching computation for the particularization of the UR10e robot has been detailed in the current appendix instead.

*a*)

*b*)

*c*)

^{−17}), the expressions shown in Eqs. (A3), (A4), and (A5) are obtained. With the appropriate trigonometric transformation of one of the equation sides, it can be determined that both expressions from Eqs. (A3), (A4), and (A5) are equivalent, which means that the position between the ROS model and the proposed model matches.

**O**

_{B}) and the TCP (

**O**

_{ee}) should coincide too. The quickest way to test the orientation matching between the two models is to compute their contribution to the orientation Jacobian components. This relation can only be accomplished using the geometric Jacobian of the robot because it expresses the angular velocities around the

*X*,

*Y*, and

*Z*axes instead of the variation in the orientation (the time derivative) as the analytical Jacobian does. Therefore, this work checks whether the orientation Jacobian of the ROS model (

**J**

_{o,e,ros}) is equal to the orientation Jacobian of the proposed decoupled model (

**J**

_{o,wrist,dec}).

As the geometric Jacobian is employed, the matching between both Jacobians is inherent in their computation. As stated above, the orientation components of the Jacobian (**J**_{o,i,j}) express the angular velocities around the *X*, *Y*, and *Z* axes. Thus, two different kinematic models that pick the same turns around those axes (equivalent joint axis vectors, **z**_{i}) for each of their joints will share the orientation Jacobian (**J**_{o,i,j}). Therefore, as the selected frames for the novel kinematic model gather this requirement, the orientation problem straightforwardly matches both models and can be considered validated.

After validating the proposed kinematic modeling, verifying the parametrization of the robot singularities is addressed in the following section.

## Appendix B: Polynomial Fitting Data Coefficients

In this supplementary material subheader, two tables with the 34 matching coefficients for each case (*q*_{2} < 0, represented in Table 5, and *q*_{2} > 0, represented in Table 6) are presented. The exposed results have been rounded to four significant figures. The coefficients shown by both tables correspond with Eqs. (15) and (19) of the main text.

a | −1.393 × 10^{−10} | l | 1.995 × 10^{−06} | w | 1.593 |

b | −2.804 × 10^{−13} | m | −8.245 × 10^{−03} | x | 1.835 × 10^{−03} |

c | 1.079 × 10^{−08} | n | −1.391 × 10^{−05} | y | −1.595 |

d | 2.131 × 10^{−11} | o | 4.420 × 10^{−02} | z | −1.593 × 10^{−03} |

e | −3.797 × 10^{−07} | p | 7.096 × 10^{−05} | aa | 1.009 |

f | −7.331 × 10^{−10} | q | −0.1752 | bb | 8.327 × 10^{−04} |

g | 8.020 × 10^{−06} | r | −2.649 × 10^{−4} | cc | −0.3627 |

h | 1.508 × 10^{−08} | s | 0.5103 | dd | −2.275 × 10^{−04} |

i | −1.134 × 10^{−04} | t | 7.177 × 10^{−04} | ee | 6.242 × 10^{−02} |

j | −2.069 × 10^{−07} | u | −1.074 | gg | 2.447 × 10^{−05} |

k | 1.133 × 10^{−03} | v | −1.383 × 10^{−03} | hh | −0.4853 |

ii | −π/2 |

a | −1.393 × 10^{−10} | l | 1.995 × 10^{−06} | w | 1.593 |

b | −2.804 × 10^{−13} | m | −8.245 × 10^{−03} | x | 1.835 × 10^{−03} |

c | 1.079 × 10^{−08} | n | −1.391 × 10^{−05} | y | −1.595 |

d | 2.131 × 10^{−11} | o | 4.420 × 10^{−02} | z | −1.593 × 10^{−03} |

e | −3.797 × 10^{−07} | p | 7.096 × 10^{−05} | aa | 1.009 |

f | −7.331 × 10^{−10} | q | −0.1752 | bb | 8.327 × 10^{−04} |

g | 8.020 × 10^{−06} | r | −2.649 × 10^{−4} | cc | −0.3627 |

h | 1.508 × 10^{−08} | s | 0.5103 | dd | −2.275 × 10^{−04} |

i | −1.134 × 10^{−04} | t | 7.177 × 10^{−04} | ee | 6.242 × 10^{−02} |

j | −2.069 × 10^{−07} | u | −1.074 | gg | 2.447 × 10^{−05} |

k | 1.133 × 10^{−03} | v | −1.383 × 10^{−03} | hh | −0.4853 |

ii | −π/2 |

a | −1.393 × 10^{−10} | l | −1.992 × 10^{−06} | w | 1.593 |

b | 2.800 × 10^{−13} | m | −8.245 × 10^{−03} | x | −1.831 × 10^{−03} |

c | 1.080 × 10^{−08} | n | 1.389 × 10^{−05} | y | −1.595 |

d | −2.128 × 10^{−11} | o | 0.04421 | z | 1.589 × 10^{−03} |

e | −3.797 × 10^{−07} | p | −7.083 × 10^{−05} | aa | 1.009 |

f | 7.321 × 10^{−10} | q | −0.1752 | bb | −8.304 × 10^{−04} |

g | 8.020 × 10^{−06} | r | 2.644 × 10^{−04} | cc | −0.3627 |

h | −1.506 × 10^{−08} | s | 0.5103 | dd | 2.269 × 10^{−04} |

i | −1.134 × 10^{−04} | t | −7.163 × 10^{−04} | ee | 0.06242 |

j | 2.066 × 10^{−07} | u | −1.075 | gg | −2.439 × 10^{−05} |

k | 1.1340 × 10^{−03} | v | 1.380 × 10^{−03} | hh | −0.4853 |

ii | π/2 |

a | −1.393 × 10^{−10} | l | −1.992 × 10^{−06} | w | 1.593 |

b | 2.800 × 10^{−13} | m | −8.245 × 10^{−03} | x | −1.831 × 10^{−03} |

c | 1.080 × 10^{−08} | n | 1.389 × 10^{−05} | y | −1.595 |

d | −2.128 × 10^{−11} | o | 0.04421 | z | 1.589 × 10^{−03} |

e | −3.797 × 10^{−07} | p | −7.083 × 10^{−05} | aa | 1.009 |

f | 7.321 × 10^{−10} | q | −0.1752 | bb | −8.304 × 10^{−04} |

g | 8.020 × 10^{−06} | r | 2.644 × 10^{−04} | cc | −0.3627 |

h | −1.506 × 10^{−08} | s | 0.5103 | dd | 2.269 × 10^{−04} |

i | −1.134 × 10^{−04} | t | −7.163 × 10^{−04} | ee | 0.06242 |

j | 2.066 × 10^{−07} | u | −1.075 | gg | −2.439 × 10^{−05} |

k | 1.1340 × 10^{−03} | v | 1.380 × 10^{−03} | hh | −0.4853 |

ii | π/2 |