# Kinematic issues in 6R cuspidal robots, guidelines for path planning and deciding cuspidality

Durgesh Haribhau Salunkhe, Tobias Marauli, Andreas Müller, Damien

Chablat, Philippe Wenger

► To cite this version:

Durgesh Haribhau Salunkhe, Tobias Marauli, Andreas Müller, Damien Chablat, Philippe Wenger. Kinematic issues in 6R cuspidal robots, guidelines for path planning and deciding cuspidality. The International Journal of Robotics Research, 2024, 44 (6), pp.1035-1054. hal-04712576

HAL Id: hal-04712576

https://hal.science/hal-04712576v1

Submitted on 27 Sep 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

Public Domain
# Kinematic issues in 6R cuspidal robots, guidelines for path planning and deciding cuspidality

Journal Title
XX(X):1–18
©The Author(s) 2023
Reprints and permission:
sagepub.co.uk/journalsPermissions.nav
DOI: 10.1177/ToBeAssigned
www.sagepub.com/

SAGE

Durgesh Haribhau Salunkhe<fnref n="1" /> and Tobias Marauli<fnref n="2" /> and Andreas Müller<fnref n="2" /> and Damien Chablat<fnref n="1" /> and Philippe Wenger<fnref n="1" />

## Abstract

A cuspidal serial robot can change inverse kinematic solutions (IKS) without crossing singularities because it has multiple IKS in a singularity-free region. This property of robots has been researched for over thirty years but has not been taken seriously when designing new robots. The presented work points out issues related to nonsingular change of IKS and path planning specific to the cuspidal robots present in existing commercial robots used in various applications. The multiple IKS at the initial end-effector pose allows the user to choose an initial IKS that may lead to a continuous and repeatable path. We analyze in detail how the initial IKS choice affects the prescribed path's feasibility and repeatability. Cuspidal robots can be used safely if the workspace is analyzed, considering the cuspidality property. For these reasons, we propose a path testing and planning methodology that considers different path scenarios. Given the rise of unconventional designs in 6R robots, the identification of cuspidal properties in the design phase of a robot is of paramount importance. We recall all the known criteria for cuspidality and propose new methods to decide if a given 6R robot is cuspidal. Accordingly, a practical guideline is proposed for deciding the cuspidality of a generic 6R robot.

## Keywords

Cuspidal robots, Nonsingular change of solutions, kinematics, serial robots, path planning

## 1 Introduction

In recent years, the robotics industry has been inclined to explore unconventional designs for 6R robots. The widely implemented design with a wrist partitioned geometry, known as the 'Puma-type' or 'anthropomorphic robot,' is expensive to assemble and sensitive to manufacturing errors. This is because the last three axes intersect at a point, forming a wrist architecture. Almost all collaborative robots across the industry have adopted the introduction of an offset in the wrist, such as FANUC CRX-10ia/L, Yaskawa HC10DTP, and Universal Robots, to name a few. The wrist partitioned assembly is a nongeneric geometry of a 6R robot that results in the well-known kinematic properties such as simplified inverse kinematic model Pieper (1968), and every IKS separated by singularities in the joint space Wenger and Chablat (2022). These special kinematic properties are not guaranteed if one deviates from this architecture. An offset in the wrist may lead to an overlooked property called cuspidality, highlighted in this paper. Cuspidal robots refer to robots whose joint space has at least one singularity-free connected region, referred to as aspect Borrel and Liegeois (1986); Wenger (1992), with multiple inverse kinematic solutions (IKS). This enables the robot to travel between two IKS without crossing inverse kinematic singularities, and this property is termed cuspidality. Historically, the term cuspidal comes from the fact that the existence of a cusp point in the set of singularity curves mapped in a cross-section of the workspace of a 3R orthogonal robot is a necessary and sufficient condition for it to be cuspidal El Omri and Wenger (1995). This condition was later extended to generic

3R robots Salunkhe et al. (2022b). No work extending the necessary and sufficient condition to 6R robots has been reported. The term cuspidal was used in the context of 6R robots by Wenger and Chablat (2022) and Wenger (1997). Note that cuspidality has also been studied in the context of parallel robots Macho et al. (2012), Zein et al. (2008). The advantage of anthropomorphic robots is that their IKS can be calculated in closed form, and thus, the computation is fast and accurate. A closed-form solution for similar architectures, but with an offset in the wrist, is presented in Gosselin and Liu (2014); Trinh et al. (2015); Zohour et al. (2021). These works confirm that robots with offset in the wrist have more than 8 IKS. It is shown for these robots that there exist multiple regions with different numbers of IKS in the workspace separated by critical values Salunkhe et al. (2023). Such a workspace presents the possibility of moving from one region to another, i.e., crossing critical values, which makes the path planning problem harder to handle.

Wenger (2004) first recognized issues in path planning for cuspidal robots in 3R robots. This work highlighted the importance of considering different scenarios specific to the path planning of cuspidal robots. Recently, a few issues in the path planning of Jaco Gen2 (6 DoF version with a non-spherical wrist) were presented by Verheye (2021), where the robot jumped off the desired trajectory. The kinematic analysis presented in Salunkhe et al. (2023) confirmed that this robot is cuspidal. The work also illustrated the relation between the path planning issues and the robot's cuspidal property. There has been a dearth of attention towards cuspidality while designing a 6R robot, which has led to an

<footnote n="1">¹Nantes Université, École Centrale Nantes, CNRS, LS2N, UMR 6004, 44000 Nantes, France</footnote>

<footnote n="2">²Institute of Robotics, Johannes Kepler University Linz, Austria
Prepared using sagej.cls [Version: 2017/01/17 v1.20]</footnote>
increasing number of cuspidal robots in the market. Most commercial cuspidal robots are sold under the category of cobots. The path planning issues in cuspidal robots render them unsuitable for tasks that depend upon the action of external agents. As the deployment of cuspidal robots becomes ubiquitous, it is imperative to have a practical guideline for path planning that considers cuspidality.

Deciding cuspidality of 6R robots is challenging because the singularities depend on four joints. The set of singularities is a union of three-dimensional manifolds on a four-dimensional torus, $T^4$. This results in a more complex topology than in 3R robots whose joint space is 2-torus, $T^2$. As a consequence of the higher dimensional space, no visualization can be used to acknowledge any result unlike in 3R robots. Few industrial robots were analyzed individually for studying the cuspidal nature **Wenger and Chablat (2022)**; **Capco et al. (2020)**, but no work was published regarding a generic 6R robot until recently. The latest work on deciding cuspidality was presented in **Chablat et al. (2022)**. The presented algorithm is generic and certified, i.e., an algorithm that provides worst-case and beyond worst-case performance guarantees **Makarychev and Makarychev (2020)**, but it is challenging to implement.

The main contributions presented in the article are:

1. Issues in path planning of commercial cuspidal robots (Section 4): the unique identification of IKS in commercial software and consequences of cuspidality on path planning are presented. Several types of paths and scenarios occurring in cuspidal robots are demonstrated to highlight the importance of avoiding cuspidal robots in collaborative tasks.

2. Path planning algorithm (Section 4.4): we propose a practical path planning algorithm considering non-cuspidal and cuspidal robots. It considers several scenarios specific to the path planning of cuspidal robots.

3. Deciding algorithm (Section 5): a practical algorithm to decide if given Denavit-Hartenberg (D-H) parameters correspond to a cuspidal robot or not is proposed. It combines the previously known results along with analysis of the determinant of the Jacobian matrix to accelerate the decision time.

This paper is organized as follows: Section 2 presents the chronology and relevant work in the field of kinematic analysis of 6R robots. Section 3 puts forth the necessary terminologies and the background for the work presented in the following sections. Section 4 discusses the issues in path planning of cuspidal robots. The path-planning algorithm of cuspidal robots is discussed here in detail. A few examples from existing commercial cuspidal robots are shown to highlight the importance of the algorithm. In section 5, the practical algorithm for deciding cuspidality is presented. Later, we present the classification of existing robots based on cuspidality. We conclude the presented work with a few remarks on cuspidal robots and their consequences on path planning.

# 2 Related work

This section summarizes the related work on the topics of inverse kinematics, cuspidal robots, and path planning methodologies of 6R robots.

## 2.1 Kinematic analysis

The work of *Pieper (1968)* presented the inverse kinematic model (IKM) of a 3R robot as an intersection of a conic with a unit circle. This analysis was used in extending the cuspidality analysis for 3R robots *Salunkhe et al. (2022b)*; *Thomas (2015)*; *Salunkhe et al. (2022a)*; *Smith and Lipkin (1990)*. In 1986, *Primrose (1986)* proved that 6R robots have up to 16 solutions over $C$ using projective geometry. One of the most recent advances in the inverse kinematics of 6R robots was presented by *Husty et al. (2007)* where the geometric interpretation of the IKM was presented. The advantage of this method is that it uses equations linear in all but two variables, and thus is fast and accurate. This method was extended for robots with prismatic joints by *Capco and Manongsong (2019)*.

## 2.2 Cuspidal robots

Before 1988, it was believed that the IKS of a 6R robot were always separated by the locus of critical points of the forward kinematic map *Borrel and Liegeois (1986)*. This idea was discarded in 1988, and two counter-examples were presented in *Innocenti and Parenti-Castelli (1998)*, establishing the existence of cuspidal robots. Cuspidality was then also shown in 3R robots by *Burdick (1989)*. As the wrist partitioned geometries of 6R robots are noncuspidal and the IKS of these robots are thus well separated by singularities, the implications of 6R cuspidal robots were not studied rigorously. The 3R robots, on the other hand, have extensive results based on cuspidality *Wenger (1992)*; *El Omri and Wenger (1995)*. Figure 1 illustrates an example of nonsingular change of solutions. Figure 1a shows the singularities in the joint space parameterized by $\theta_2 - \theta_3$ only as $\theta_1$ does not affect the singularities. In Figure 1b, the critical values in $\rho = \sqrt{x^2 + y^2}$ and $z$ are shown. The workspace is parameterized in $\rho$ and $z$ as they are only functions of $\theta_2$ and $\theta_3$. The term *cuspidal* robots was coined since a nonsingular change of solutions in the joint space is equivalent to encircling a cusp point of the locus of critical values of the forward kinematic map projected onto a surface in the workspace of the robot. It was proved for orthogonal 3R robots, i.e., an arrangement with three mutually perpendicular revolute axes, that the existence of a cusp point was a necessary and sufficient condition to be cuspidal *El Omri and Wenger (1995)*. The complete parameter space was mapped leading to the validation of the proof of this condition. *Wenger (1998)* and *Baili et al. (2004)* used homotopy classification to further analyze 3R robots. *Baili et al. (2004)* presented the classification of orthogonal robots in terms of the number of cusps while *Paganelli (2008)* studied the classification of 3R robots concerning the aspects, thus extending the previous work *Wenger (1998)*.

The IRB 6400C robot from ABB was first introduced in the assembly lines to save the space required by robots by changing the first axis positioning. This robot was then pulled back from the assembly lines, and the reasons for this
<figure><img src="image_1.png" /><figcaption>**Figure 1.** An example of nonsingular change of solutions in joint space and workspace. The yellow and green region are the singularity-free regions, defined as aspects.</figcaption></figure>

Robot parameters: $\mathbf{d} = [0, 1, 0]$, $\mathbf{a} = [1, 3, 1]$, $\alpha = [-\frac{\pi}{2}, \frac{\pi}{2}, 0]$.

Path in the joint space $(\theta_2, \theta_3)$: from $(-2.5, -0.386)$ to $(-1.57, 2.08)$ via $(-1.57, 0.785)$.

were unclear. It was later reported that this robot was indeed cuspidal **Wenger and Chablat (2022)**, and the authors suspect that the issues related to path planning in cuspidal robots were encountered by the engineers. Another robot, GMF150, was analyzed by **Wenger (1997)**, and it is concluded that this robot is cuspidal in theory, but due to strong joint limits, the robot operates in a 2 IKS region such that the IKS are always separated by a singularity. A major change from the conventionally deployed design came with the introduction of an offset in the wrist of anthropomorphic robots and three parallel axes in the 6R robot. These designs are so popular that almost all robot manufacturing companies have a version of this such as the FANUC CRX series, UR5 from Universal Robots, Yaskawa's HC10DTP, and Gen Lite3 from Kinova Robotics. It is reported that robots similar to the UR5 architecture are non-cuspidal. The determinant of the Jacobian matrix of such robots factor in partitions in the joint space **Capco et al. (2020)**. This results from the fact that UR5-like robots have a 3R planar subchain. Since anthropomorphic robots vary from this structure, adding an offset in the wrist almost always leads to a cuspidal design, as shown in Section 5. An example of such a design that deviates from the wrist-partitioned anthropomorphic architecture is JACO Gen2 (version with non-spherical wrist) which is reported to be cuspidal **Salunkhe et al. (2023)**.

Deciding on cuspidality for a given robot allows a designer to make better decisions based on the designs' advantages and challenges in the path planning of cuspidal robots. The identification of cuspidality in 3R robots has been completely presented in **El Omri and Wenger (1995)** and **Salunkhe et al. (2022b)** from which the necessary and sufficient condition for a 3R robot to be cuspidal was put forth. This work also presented proof for the existence of reduced aspects (see section 3) in generic 3R robots. No results on the reduced aspects are available for 6R robots. The cuspidality analysis of 3R robots can be extended to 6R robots with a wrist at the end or the beginning as the rotation and translation part of the end effector pose (EE-pose) is decoupled for these simplified architectures. There has been no attempt to develop a unified

framework to decide cuspidality for generic 6R robots before 2022, but few industrial robots were individually analyzed for cuspidal behavior.

Recently, a certified algorithm was proposed for nonredundant nR robots with the aim of deciding cuspidality **Chablat et al. (2022)**. It implements various algorithms in computer algebra. Though certified, implementing this algorithm is an ongoing engineering challenge and is currently computationally expensive. Moreover, it cannot be used with collision constraints.

# 3 Preliminaries

In this section, we discuss the definitions relevant to cuspidal robots and path planning in cuspidal robots.

## 3.1 Inverse kinematics

The subspace of $SE(3)$ formed by the reachable poses of a given 6R robot is called the workspace of the robot, $W \subset SE(3)$. The joint configuration of a robot is denoted as $\mathbf{q}$ and is a point in the joint space, $\mathcal{J} \subseteq \mathbb{T}^6$, where, $\mathbb{T}^n$ is an n-torus. Let $\mathbf{x}$ be the EE-pose in $SE(3)$ corresponding to $\mathbf{q}$. The mapping between $\mathcal{J}$ and $W$, denoted by $f: \mathcal{J} \to W$, defines the forward kinematics

$$ \mathbf{x} = f(\mathbf{q}), \mathbf{x} \in W, \mathbf{q} \in \mathcal{J}. $$

The elements in the pre-image $f^{-1}(\mathbf{x})$ are the inverse kinematic solutions (IKS) of $\mathbf{x}$. In this paper, original D-H parameters are used **Denavit and Hartenberg (1955)**. The conventions used in this parameterization are presented in Figure 2.

<figure><img src="image_2.png" /><figcaption>**Figure 2.** Conventions of the original D-H parameters used in this work.</figcaption></figure>

The algorithms discussed in Section 5 implement the HuPf algorithm to obtain the IKS of a generic 6R robot. Readers are encouraged to refer to **Capco and Manongsong (2019)**; **Husty et al. (2007)** for detailed implementation where the IKM is presented as an algorithm. A comparison of the HuPf algorithm to other algorithms for inverse kinematics was performed in **Angerer and Hofbaur (2013)** for industrial setup. As accuracy is more important than speed for deciding
cuspidality, the HuPf algorithm is the most reliable algorithm for cuspidality analysis of 6R robots.

## 3.2 Singularities in serial robots

The set of singularities (S) contain all critical points of f in J that correspond to the configurations in the joint space where the geometric Jacobian of the forward kinematic map, J, loses rank, i.e. when the determinant of J is zero (det(J) = 0). The critical values are the images of the critical points in W. Kohli and Spanos (1985) showed that for a critical value, the roots of the univariate polynomial used to solve the inverse kinematics have a multiplicity of 2 or more for a 3R robot. This result can also be extended to 6R robots, as there is always a loss/gain of IKS upon crossing the locus of critical values.

The singularities of 6R robots are known to be independent of the first joint angle, $\theta_1$, and the last joint angle, $\theta_6$, Innocenti and Parenti-Castelli (1998). This allows us to reduce the 6-dimensional joint space to $\mathbb{T}^4$ parameterized by $\theta_2, \theta_3, \theta_4$ and $\theta_5$. In the following part of the article, $\mathcal{J} \subseteq \mathbb{T}^4$ will denote the joint space parameterized by $\theta_i, i \in \{2, 3, 4, 5\}$.

**Aspect:** The largest singularity-free connected regions in the joint space of a robot are defined as aspects Borrel and Liegeois (1986). Figure 1a shows two aspects of the joint space of a 3R robot. The joint space is parameterized in $\theta_2$ and $\theta_3$ only as the singularities of 3R robot are independent of $\theta_1$ Burdick (1989).

It is noted in Pai and Leu (1992) that the critical points of generic maps form smooth manifolds and their dimension is related to the rank of the Jacobian by a simple formula. A generic robot has a generic kinematic map. It is to be noted that such robots do not form a special class of robots rather the contrary and thus the term generic.

**Generic robot:** A Robot whose singularities are the union of sets of smooth manifolds is a generic robot.

**Cusp:** A cusp is a point in the locus of critical values of a 3R robot that satisfies the following conditions El Omri and Wenger (1995):

$$ 
\begin{aligned}
M(t_3, R, z) &= 0 \\
\frac{\partial M}{\partial t_3}(t_3, R, z) &= 0 \\
\frac{\partial^2 M}{\partial t^2}(t_3, R, z) &= 0
\end{aligned} 
\quad (1) $$

where, for an end-effector (EE) position $(x, y, z)$, $R = x^2 + y^2 + z^2$, and $t_3 = \tan \frac{\theta_3}{2}$. The function, $M(t_3, R, z)$, is a polynomial of degree four in $t_3$. This polynomial is obtained by eliminating the joint variable $t_2$ from the forward kinematic function. Moreover, the cusp also has to satisfy:

$$ \frac{\partial^3 M}{\partial t_3^3}(t_3, R, z) \neq 0 \quad (2) $$

to exclude quadruple roots. However, it was shown in Pai and Leu (1992) that quadruple roots cannot exist in generic 3R robots, and the above condition is thus always satisfied

here. So, in the context of a generic 3R robot, the cusp in the workspace relates only to satisfying (1).

**IKS set:** Denote with

$$ \mathcal{I}_x = \{ \mathbf{q} \in \mathbb{T}^n | \mathbf{x} = \mathbf{f}(\mathbf{q}) \} \quad (3) $$

the set of IKS for a given end effector pose x of a n-DOF robot. The IKS can be computed using, e.g., the HuPf-algorithm Husty et al. (2007) or a robot-specific approach such as Gosselin and Liu (2014) for the Kinova Jaco robot. For a non-redundant robot, i.e. $\dim W = \dim \mathrm{Im}(f) \le n$, the IKS set consists of a finite number $n_x$ of IKS i.e. $\mathcal{I}_x = \{\mathbf{q}_1, \dots, \mathbf{q}_{n_x}\}$.

**Set of candidate solutions:** A necessary condition for two distinct IKS to belong to the same aspect, is that the determinant of the Jacobian has the same sign. We obtain a reduced set from the set of all IKS at a given pose, which qualifies after the necessary condition is imposed. This reduced set of IKS is defined as the set of candidate IKS for an initial solution $\mathbf{q}_0$ and EE-pose x and is introduced as:

$$ \mathcal{R}_{\mathbf{q}_0, \mathbf{x}} := \{ \mathbf{q} \in \mathcal{I}_{\mathbf{x}} | \mathrm{sign}(\det \mathbf{J}(\mathbf{q}_0)) = \mathrm{sign}(\det \mathbf{J}(\mathbf{q})) \} \quad (4) $$

**Nonsingular change of solutions:** Let $\mathbf{q}_1$ and $\mathbf{q}_2$ be two IKS for the EE-pose x and $\sigma(\mathbf{q}_1, \mathbf{q}_2, t)$ be a path between these two points, where $t \in [0, 1]$ is a parameter such that $\sigma(\mathbf{q}_1, \mathbf{q}_2, 0) = \mathbf{q}_1$ and $\sigma(\mathbf{q}_1, \mathbf{q}_2, 1) = \mathbf{q}_2$. $\sigma(\mathbf{q}_1, \mathbf{q}_2, t)$ is defined as a nonsingular change of solutions if and only if:

$$ \sigma(\mathbf{q}_1, \mathbf{q}_2, t) \cap S = \emptyset \quad (5) $$

**Connectivity problem:** The problem of finding a path connecting two IKS $\mathbf{q}_i, \mathbf{q}_j \in \mathcal{R}_{\mathbf{q}_0, \mathbf{x}}$, $i \neq j$, in the same aspect while satisfying (5) is referred to as the connectivity problem. Two IKS solving the connectivity problem are called 'connected'

**Cuspidal robot:** A cuspidal robot without collision or joint limit constraints can be defined as a robot with at least one aspect with more than one IKS. Alternatively, it can be defined as a robot for which a nonsingular change of solutions exists.

$$ \exists \sigma(\mathbf{q}_1, \mathbf{q}_2, t) \cap S = \emptyset | \mathbf{q}_1, \mathbf{q}_2 \in \mathcal{R}_{\mathbf{q}_0, \mathbf{x}} \quad (6) $$

**Repeatable path:** A path in the joint space that can follow a given closed path in the workspace infinitely many times is defined as a repeatable path. A repeatable path can involve a nonsingular change of solutions.

**Regular closed path:** A regular closed path is a repeatable path such that the initial IKS is the same as the final IKS. Such a path is a closed loop in the workspace as well as in the joint space.

**Non-repeatable path:** Given a loop in the workspace, a path in the joint space that can execute the loop only once is defined as a non-repeatable path. The initial IKS of such a path cannot be the same as the final IKS (as it would be a regular closed path). Thus, a non-repeatable path is
necessarily a nonsingular change of solutions and, thus, a
property of cuspidal robots.

*Infeasible (resp. feasible) path:* The path in the joint space that cannot (resp. can) traverse a defined path in the workspace starting from a given IKS without discontinuity is referred to as an infeasible (resp. feasible) path.

# 4 Path planning for cuspidal robots

In this section, we present the issues occurring due to the
presence of multiple regions with different numbers of IKS
in a cuspidal robot's workspace. Different scenarios are
presented to highlight the classification of different types of
paths specific to cuspidal robots. A path-planning algorithm
for cuspidal robots is presented at the end of the section.
The proposed algorithm can be implemented on existing
commercial cuspidal robots to mitigate the issues in path
planning. Numerous methods for following prescribed EE-
paths can be found in the literature. Some strategies adapt
the prescribed path in order to deal with singularities S of
the inverse kinematic map Wampler (1986); Maciejewski
and Klein (1989). Astudillo et al. (2022) presents a tunnel
following approach in case deviations of the EE path are
allowed, e.g., gluing, bin-picking. In this paper, we are in the
context of scenarios where the EE-path is strictly prescribed,
such as process tasks. Furhtermore, only cases with forwad
movement along the prescribed paths are considered, since
retracing is often not admissible e.g. welding, painting
processes. This means that the path planner is not allowed
to adapt/retrace the EE-path in case of kinematic problems.

## 4.1 Issues with IKS identification

The wrist partitioned 6R robot such as KUKA KR5 has eight IKS and the det(*J*) of such robots factors into three components (detailed in section 5.2.2). These IKS can be unambiguously identified according to the sign of each factor of det(*J*). If we denote the elbow position, shoulder position, and wrist position with boolean value, then the eight configurations (three factors with boolean values, 2³ = 8) for such a robot are shown in Figure 3. Changing from one configuration to another necessarily means that the two IKS are separated by a singularity such that the ‘operation mode’ does not change unless we cross the singularity. A configuration allows one to identify the operation mode of the robot without ambiguity. This can act as a type of classification when the configurations are identified by geometric differences, e.g. elbow up, shoulder right, etc. An IKS, on the other side, is simply a pre-image of the pose in the workspace. It is to be noted that a geometric interpretation may not always be possible for configurations. For example, in a 3R noncuspidal robot with four real IKS, the solutions are separated by singularities, but these IKS do not necessarily hold on intuitive distinction. In such cases, a given configuration can be checked for the aspect to which it belongs, and it can be assured that the robot will stay in this configuration unless we have crossed a singularity. Each symbol in Figure 4 represents an IKS in an aspect. If there are four IKS separated in four aspects, then they can be represented by four different symbols while for the robots

<figure><img src="image_3.png" /><figcaption>**Figure 3.** The eight configurations of a wrist-partitioned anthropomorphic robot.</figcaption></figure>

where we have four IKS separated in three aspects, at least
two IKS will have identical symbols. An example joint space
of a noncuspidal robot is shown in Figure 4a, where the four
IKS are separated by the singularities allowing one to claim
that there are four configurations of the robots. Figure 4b
on the other side is an example joint space of a cuspidal
robot with four IKS separated into three aspects. The two
IKS, marked as solid circles, in the same aspect in this figure
cannot be uniquely identified, and thus cannot be classified
as a configuration.

Numerical methods to calculate the IKS of a generic
robot are widely used, including in open path planning
libraries. When planning a path for a cuspidal robot, a sudden
jump off the path can occur if an IKS is missed along the
path. This can lead to an undesired outcome thus, analytic
solutions or algebraic methods must be used to get all the
IKS. We study the case of IKS identification attempted
by FANUC on their CRX-10ia/L robot. This robot comes
<figure><img src="image_4.png" /><figcaption>(a) Joint space of a noncuspidal robot with 4 IKS in 4 aspects.</figcaption></figure>

<figure><img src="image_5.png" /><figcaption>(b) Joint space of a cuspidal robot with 4 IKS existing in 3 aspects.</figcaption></figure>

<caption>**Figure 4.** Joint space of two robots highlighting cases where a unique identification of IKS is possible or not possible. The IKS, in the same aspect, have the same symbols.</caption>

with commercial software ROBOGUIDE® from FANUC for analyzing different IKS and simulating the robot. We know that the CRX-10ia/L robot has up to sixteen IKS Salunkhe (2023); Thomas and Porta (2024), but the software presents up to eight solutions at any given EE-pose, and how the other eight IKS are discarded is unclear. Apart from missing IKS, the software unconventionally assigns a configuration to the eight solutions. Conventionally, the eight configurations are identified as (N/Y)(R/L)(U/D) meaning (No/Yes (flip) - Right/Left (shoulder) - Up/Down (elbow)) as presented in Figure 3. Furthermore, the configurations for wrist-partitioned robots allow one to identify the IKS of the robot. This is possible for noncuspidal robots. As we know CRX-10ia/L is a cuspidal robot; it is confusing to study the configurations specified by the ROBOGUIDE® software. Contrary to previous convention, ROBOGUIDE® software classifies the configurations in (N/F)(U/D)(T/B) (No flip/Flip - Up/Down (elbow) - Top/Bottom (shoulder)), and this classification is ambiguous. We investigate the issues with unique identification of IKS by considering an example of EE-pose in ROBOGUIDE®, with the Cartesian coordinates as:

$X = -467.719 \text{ mm}, Y = 313.112 \text{ mm}, Z = -173.618 \text{ mm}, W = -179.398 \text{ degree}, P = -0.804 \text{ degree}, R = -3.321 \text{ degree}$

Upon experimentation with the software, it is confirmed that the configuration, as classified by the software, does not necessarily change while traversing a path between two IKS. The ambiguity in the configuration classification is shown by two of the IKS as displayed by ROBOGUIDE® in Figure 5. Figure 5a is classified as FUT configuration, which is interpreted as Flip (yes), Up (elbow), and Top (shoulder), while the Figure 5b is classified as FDB which can be interpreted as Flip-Down-Bottom configuration. It can be seen that the posture for Figure 5b does not correspond to the elbow-down configuration. This is a misinterpretation of the configuration and can create confusion during the path planning of such robots. The issue for cuspidal robots is not the mislabeling of the configuration, but the absence of the possibility of unique identification of IKS in cuspidal robots.

## 4.2 Types of paths

Different algorithms that can be used for path planning of noncuspidal robots have been presented in Gutierrez et al.

<figure><img src="image_6.png" /><figcaption>(a) An IKS with configuration mentioned as FUT</figcaption></figure>

<figure><img src="image_7.png" /><figcaption>(b) An IKS with configuration mentioned as FDB</figcaption></figure>

<caption>**Figure 5.** Two IKS of CRX-10ia/L at EE-pose with different configurations as presented by the ROBOGUIDE® software. The software provides the robot's joint values (top) and EE-pose (bottom).</caption>

(2022). In a wrist-partitioned 6R robot, a given path in the joint space can be declared infeasible due to multiple reasons, such as unreachable poses in the path, singularities, joint limits, and internal collisions. It is important to note that if a path is infeasible for such a robot, it is impossible to change the IKS to execute the prescribed path in the workspace, EE path, without crossing a singularity. A feasible path in the joint space for noncuspidal robots is always repeatable as the robots do not undergo a nonsingular change of solutions, and thus path feasibility implies path repeatability. This is not true for cuspidal robots, and the path feasibility depends on the initial IKS Wenger (2004). As cuspidal robots can undergo a nonsingular change of solutions while following a closed EE path, a feasible path may not necessarily be repeatable. An example of a feasible but non-repeatable path in a commercial cuspidal robot was discussed in Salunkhe et al. (2023). For an open EE path, the feasibility of a corresponding path in the joint space depends on the initial IKS and the possibility of changing the IKS before executing the path. The case of changing IKS and making an infeasible path feasible is of prime importance in commercial cuspidal robots that are used in collaborative tasks. A time optimal trajectory planning algorithm considering nonsingular change of solutions is presented in Marauli et al. (2023). Figure 6 presents the
complete classification of possible paths in the workspace for a cuspidal robot. If the path is a closed loop in the workspace, then we have a further classification of feasible paths depending on their repeatability. A repeatable path can correspond to a regular path (see Section 3) or a nonsingular change of solutions. We consider two closed paths in two different cuspidal robots to illustrate the different types of paths in a cuspidal robot. Figure 9 shows a closed path in a 2D slice of the workspace of the Jaco robot (refer to Figure 7). Figure 9b shows the $\theta_3$ value of each IKS along the path. As the path is a closed loop, the IKS at the beginning of the path should match the final IKS. In Figure 9b, the top side is considered to be glued to the bottom side as $\theta_3$ is equal modulo $2\pi$. As the path discussed is a closed path in the workspace, the IKS of the EE-pose of the path after each iteration is equal to the IKS of the EE-pose at the start of the path. As there are eight IKS for the starting pose of the trajectory, there are eight possible trajectories, denoted as $T_{ni}$ and $T_{pi}$, $i \in \{1..4\}$. The blue (resp. red) color paths are the solutions in an aspect with $\det(\mathbf{J}) > 0$ (resp. $\det(\mathbf{J}) < 0$) and are denoted as $T_{pi}$ (resp. $T_{ni}$). It is to be noted that the paths $T_{n1}(\text{resp. } T_{n2})$ and $T_{p1}(\text{resp. } T_{p2})$ are two distinct paths in the joint space. As we plot a single joint value, they might appear connected in Figure 9b. A similar closed path has been treated in detail by Salunkhe et al. (2023). It was shown that the 8 IKS belong to two separate aspects such that a nonsingular change of solutions can be performed between any two IKS corresponding to blue (resp. red) paths. An example of nonsingular change of solutions between two IKS in aspects with $\det(\mathbf{J}) > 0$ (resp. $\det(\mathbf{J}) < 0$) is shown in Figure 8a (resp. 8b). The path in the joint space shown in Figure 8a is a linear interpolation between $\mathbf{q}_1 = [-2.89, -0.41, 2.61, -2.79, 3.03 - 0.33]$ and $\mathbf{q}_2 = [3.01, -0.42, 2.43, 0.53, 3.01, 2.25]$ via $[0, -0.39, 2.76, -1.11, 2.50, 0]$. The path in the joint space in Figure 8b is a linear interpolation between $\mathbf{q}_3 = [-2.89, -0.42, 2.44, 2.75, -3.04, 0.28]$ and $\mathbf{q}_4 = [3.00, -0.42, 2.65, -0.44, -2.98, 3.05]$ via $[0, -1.47, 3.49, 2.95, -2.74, 0]$. The vectors $\mathbf{q}_{1..4}$ are the IKS of the EE-pose corresponding to the following transformation matrix:

$$ \mathbf{T} = \begin{bmatrix} 0.935 & -0.289 & 0.204 & 440.45 \\ 0.291 & 0.957 & 0.0221 & 60.38 \\ -0.201 & 0.0386 & 0.979 & 560.56 \\ 0 & 0 & 0 & 1 \end{bmatrix} $$

where $\mathbf{T}[1..3, 1..3]$ is the rotation matrix representing the orientation of the EE-pose while the vector $\mathbf{T}[1..3, 4]$ is the position of the EE-pose in millimeters. Among the eight paths in the joint space shown in Figure 9b, $T_{p2}$ and $T_{p3}$ are continuous paths with the same initial and final IKS. These paths are regular closed paths. Due to their discontinuity $T_{p1}$, $T_{n2}$, $T_{n3}$ or $T_{p4}$ are infeasible paths. The paths $T_{n1}$ and $T_{n4}$ are continuous but not repeatable since the initial and final IKS are different. In such cases, the path is continuous. It can be traversed once but can not be repeated as the final IKS corresponds to an initial IKS that leads to an infeasible path (i.e., traversing $T_{n1}$ will lead to traversing $T_{n2}$ if the path would be repeated). It is worth noting that no repeatable path without crossing singularity is possible when the robots start a path from an IKS belonging to the

red paths, i.e., $T_{n1}$, $T_{n2}$, $T_{n3}$, $T_{n4}$. On the other hand, in Innocenti and Parenti-Castelli (1998), continuous repeatable paths with unequal initial and terminal IKS were discussed. Figure 10 shows an example from Innocenti and Parenti-Castelli (1998) of such paths denoted with $T_1$ and $T_2$. These paths describe a nonsingular change of IKS that is continuous and repeatable, i.e., the terminal IKS of $T_1$ is the initial IKS of $T_2$. These examples are illustrated in Extension 1. Several paths crossing multiple regions in the workspace of commercial cuspidal robots are presented in Salunkhe (2023).

## 4.3 Types of scenarios

As discussed in the previous section, more types of paths in the joint space exist in a cuspidal robot than in a noncuspidal robot. This fact directly implies that we also encounter different scenarios in the path planning. The scenarios relevant for industrial applications are pick-and-place operations, repetitive tasks forming a closed path in the workspace (e.g., welding, surface inspection), or point-to-point trajectories. We will discuss path planning in the context that the path to be followed in the workspace is fixed, and the planning is done in the joint space.

**Scenarios in closed paths in workspace:** These scenarios are often encountered in process tasks such as welding or inspection applications. The robot is expected to follow a given EE path in the workspace and return to its initial EE-pose. Such EE path can be repetitive, like welding in an assembly line, or can be one-time tasks such as inspecting a unique part. In the case of nonrepetitive tasks, a path in the joint space leading to a nonsingular change of solutions is acceptable, while repetitive tasks should be regular paths that are declared feasible. In special cases where the nonsingular change of solutions is repeatable, such paths can be declared suitable for repetitive tasks but may face issues such as collisions with the environment. For this reason, an EE path specified in the workspace has to be analyzed for the intersection with critical values. Every path in the joint space corresponding to the prescribed EE path is a regular path if the EE path does not cross critical values. If the EE path intersects the critical values, verifying and comparing the initial IKS with the final IKS is important. An example of a closed loop EE path crossing critical values is shown in Figure 9. To complete the closed path in the workspace, starting from the IKS corresponding to either $T_{n1}$, $T_{p2}$, $T_{p3}$ or $T_{n4}$ is important. Furthermore, if the task is repetitive, IKS belonging to $T_{n1}$ and $T_{n4}$ should be declared infeasible even though the given path in the joint space is continuous in the first repetition. The paths in joint space illustrated in Figure 9b confirm that the feasibility of the path in joint space depends upon the choice of initial IKS in cuspidal robots.

**Scenarios in open paths in workspace:** These scenarios are simpler than the closed paths in the workspace. A typical example of this scenario is an open path of welding that starts at an EE-pose and terminates at another EE-pose. In such a case, the robot is not expected to return to its initial pose. If the EE path does not cross critical values, then every path in the joint space corresponding to the EE path is feasible. The feasibility of the paths in joint space for the
<figure><img src="image_8.png" /><figcaption>**Figure 6.** The classification of possible paths in joint space to follow a prescribed path in the workspace for cuspidal robots.</figcaption></figure>

<figure><img src="image_9.png" /><figcaption>**Figure 7.** Jaco Gen 2 (6 DoF) robot from Kinova robotics. (Source: https://www.kinovarobotics.com/product/gen2-robots)</figcaption></figure>

EE path that cross the critical values depends on the choice of initial IKS. In the example EE path shown in Figure 9a, the EE paths $a \to b, b \to c, c \to d$ and $d \to a$ can be considered as open paths in workspace individually. The EE paths $b \to c$ and $c \to d$ do not cross any critical values. At the EE-pose corresponding to the point b (resp. c), thus, any IKS can be chosen to reach c (resp. d). But, for EE paths $a \to b$ and $d \to a$, the choice of initial IKS is important. It is observed in Salunkhe et al. (2023) that the choice of good initial IKS depends on which boundary of the region with 8 IKS is crossed. These boundaries of a region with 8 IKS (green color region in Figure 9a) in the workspace are examples of components of critical values. For a cuspidal robot, if an EE path crosses two distinct components of critical values Wenger (2004); Salunkhe et al. (2022b), then a feasible path in joint space cannot always be guaranteed.

## 4.4 Path planning framework

Based on the types of paths in the joint space and scenarios in cuspidal robots, as shown in previous subsections, we propose a path-planning algorithm for cuspidal robots. This algorithm addresses all the scenarios discussed in

the previous subsection. The proposed algorithm can be implemented in commercial cuspidal robots such as the Jaco Gen2 robot from Kinova Robotics and the CRX series from FANUC. The algorithm is divided into two parts; the first deals with the open paths in the workspace, and the second deals with the scenarios related to closed-loop paths in the

<figure><img src="image_10.png" /><figcaption>(a) Nonsingular change of solutions in aspect with $det(J) \ge 0$.</figcaption></figure>

<figure><img src="image_11.png" /><figcaption>(b) Nonsingular change of solutions in aspect with $det(J) \le 0$.</figcaption></figure>

<caption>**Figure 8.** The $det(J)$ plot against the discrete path in the joint space from one IKS to another IKS of the EE-pose represented by T</caption>
<figure><img src="image_12.png" /><figcaption>(b) Value of $\theta_3$ along the closed path in Figure 9a, with regions of 4, 6 and 8 IKS. Blue ($T_{pi}$) and red ($T_{ni}$) paths correspond to solutions in an aspect with $\det(J) > 0$ and $\det(J) < 0$, respectively.</figcaption></figure>

<caption>**Figure 9.** A closed loop path in the workspace of the commercial cuspidal robot Jaco Gen2, and the evolution of $\theta_3$ along the path (see Extension 1).</caption>

workspace.

**Algorithm for open paths in workspace:** The flowchart in Figure 11 explains the algorithm for open paths for a cuspidal robot. The primary consideration in such cases is the path's intersection with the critical values. If the EE path intersects the critical values, we can verify the connectivity of the EE path starting from every IKS of the initial pose of the EE path. It is known that the number of IKS either increases or decreases upon crossing a critical value and traveling from a region with a lower number of IKS is never a problem as we gain extra IKS. To this end, the EE path is evaluated at discrete values of the path parameter, i.e., an equidistant

discretization of $t \in [0, 1]$, which results in a finite number of EE-poses. At each of these EE-poses, the IKS is computed using an appropriate algorithm (e.g., HuPf algorithm Husty et al. (2007)). We then propose choosing an EE-pose along the EE path corresponding to a region with the least number of IKS. The connectivity of every IKS of this EE-pose with a chosen initial IKS (at the beginning of the EE path) is investigated. If an IKS is connected, the forward connectivity of the IKS (at the chosen EE-pose) with the final IKS (at the end of the path) is investigated. A path in the joint space is declared feasible if an IKS is connected to both the initial and final IKS. After repeating the connectivity check of every
<figure><img src="image_13.png" /><figcaption>**Figure 10.** $\theta_2$ value along the repeatable path that corresponds to a nonsingular change of solution (path mentioned in Innocenti and Parenti-Castelli (1998)).</figcaption></figure>

IKS of the selected EE-pose with the IKS of the initial EE-pose and the IKS of the final EE-pose, the feasible paths in the joint space can be further optimized for execution.

**Algorithm for closed paths in workspace:** The flowchart in Figure 12 explains the algorithm to be adapted in case of closed EE path for a cuspidal robot. This case presents more scenarios, and the choices are complicated. As shown, a path in joint space can be continuous yet not repeatable. The main consideration in such cases is whether a nonsingular change of solutions is acceptable for declaring a path in joint space feasible. The continuity of a path in joint space can be checked in the same manner as discussed in the algorithm for open paths in workspace. A connected path in joint space is not enough to declare the feasibility, and the type of task should be known beforehand to optimize and execute a given closed path in the workspace. This algorithm accounts for all the cases that can occur in commercial robots.

The types of paths in joint space, the different scenarios, and the algorithm proposed for path planning in cuspidal robots suggest that the complete EE path to be followed should be known before execution. This implies that cuspidal robots are NOT suitable for tasks where the path to be followed depends on the agent acting on the robot. In such tasks, the interaction is unpredictable, and the path is calculated in real time. This is an important observation and a key contribution of the paper, as almost all the commercial cuspidal robots in the industry exist under the category of collaborative robots or cobots.

# 5 Deciding cuspidality

In this section, we discuss the limitations of existing methods in deciding cuspidality and propose a generic method that can be applied to all 6R robots and incorporate the joint limits and collision constraints too. This method is easy to implement and computationally inexpensive for a cuspidal robot. We propose a complete algorithm that can be used to decide the cuspidality of a 6R robot. It combines all the previously known results and considers the analysis of the determinant of Jacobian to accelerate the decision time.

## 5.1 Effect of constraints on cuspidality analysis

The definition of cuspidality and the necessary and sufficient condition for cuspidality in a 3R robot discussed in Salunkhe et al. (2022b) is valid without considering joint limits and collision constraints. Joint limits in 3R robots can lead to cases where the cusps in the workspace are inaccessible, yet a nonsingular change of solutions exists. This qualifies the robot as cuspidal even without respecting the necessary and sufficient conditions. It is helpful to note that the cuspidality analysis should only extend beyond checking the necessary and sufficient condition while considering joint limits and collision constraints. The certified algorithm proposed in Chablat et al. (2022) can incorporate the joint limits as long as the constraints are expressed algebraically. Another important constraint that affects the workspace and cuspidal behavior of a 6R robot is the collisions of different links. The internal collision between links limits a robot's workspace to a great extent, which impacts the cuspidality analysis. The necessary and sufficient condition and the certified algorithm proposed fail to incorporate the collision constraint. The constraints are neither smooth nor algebraically expressible, making them hard to incorporate into the certified algorithm.

## 5.2 Algorithm for deciding cuspidality

In this section, we propose an algorithm capable of deciding a robot's cuspidality by incorporating both joint limits and internal link collision constraints.

### 5.2.1 6R robots with simplified architectures
Simplified architectures of 6R have special conditions on the arrangement of joints and link lengths such as parallel, orthogonal, or intersecting joint axes. Some examples of these architectures are the 6R robots with a planar 3R sub-chain or with a wrist (3 intersecting axes) in the architecture. The results for cuspidality from 3R robots can be extended to the wrist-partitioned 6R robots Wenger and Chablat (2022), where the last three joints form the wrist. This is attributed to the position and orientation of such robots being decoupled. The wrist singularity in such robots is well known, and the orientation solutions are always separated by wrist singularity. This makes the wrist a noncuspidal robot, so the cuspidal nature of the complete 6R robot depends on the cuspidal nature of the 3R robot, which is formed by the first three axes only. The necessary and sufficient condition derived for a generic 3R robot used the geometric interpretation of the IKM for the proof. It is shown in Pieper (1968) that this geometric interpretation holds even for wrist-partitioned robots if the first three joints form the wrist kinematics. This suggests that all the theorems proved for a generic 3R robot can be extended to wrist-partitioned 6R robots with a wrist at the end or the beginning of the robot. Apart from the above results, the UR5 robot is also noncuspidal Capco et al. (2020) with eight solutions in eight aspects. In the next section, we present the importance of analyzing the determinant of the Jacobian matrix and present new conditions for a robot to be noncuspidal.

### 5.2.2 Determinant analysis
As the number of aspects is defined by the regions separated by the locus of critical points, studying the determinant of the Jacobian matrix of a
<figure><img src="image_14.png" /><figcaption>Figure 11. Path planning algorithm for scenarios with open paths in cuspidal robots.</figcaption></figure>

generic 6R robot is of great interest. A simplified determinant for a 6R robot can be derived symbolically by using the preferential Jacobian as mentioned in Gorla and Renaud (1984) and Khalil and Dombre (2004). Analyzing the factors of the determinant of the Jacobian plays a fundamental role in orthogonal 3R robots. We discuss an example of anthropomorphic architecture with a wrist at the end. To analyze this example, we substitute D-H parameters $a_3 = a_4 = a_5 = d_5 = \alpha_2 = 0$. The $det(J)$ of such a robot is

$$det(J) = C \cos(\theta_3) \sin(\theta_5) (\sin(\alpha_3)d_4 \sin(\theta_2 + \theta_3) + a_2 \cos(\theta_2) + a_1) \quad (7)$$

where $C = a_2d_4 \sin(\alpha_1) \sin(\alpha_3) \sin(\alpha_4) \sin(\alpha_5)$ is a constant. As the determinant factors in three components, it is readily seen that at least eight aspects exist in the joint space of such a robot. These aspects arise due to the transversal intersection of the components that produce at least two aspects each. Upon geometric analysis of IKM, it can be shown that the components $\cos \theta_3$ and $\sin \theta_5$ give four IKS separated by singularities. They determine the elbow (up/down) and wrist (flip/unflip) configurations respectively.

The third component produces two aspects; thus, the eight IKS of such architecture are always separated by singularities.

A similar argument shows that the determinant of a UR5 robot takes the following form

$$ \begin{aligned} det(J) = &907 \sin(\theta_5) \sin(\theta_3) (1707 \cos(\theta_2) \sin(\theta_3) \\ & \cos(\theta_4) + 1707 \cos(\theta_2) \sin(\theta_4) \cos(\theta_3) \\ & - 1707 \sin(\theta_2) \sin(\theta_3) \sin(\theta_4) + \\ & 1707 \sin(\theta_2) \cos(\theta_4) \cos(\theta_3) - \\ & 4265 \cos(\theta_2) \cos(\theta_3) + 4265 \sin(\theta_2) \\ & \sin(\theta_3) - 4873 \cos(\theta_2)) \end{aligned} \quad (8) $$

If the determinant factors are divided into at least three components, the number of aspects is at least eight, and the geometric analysis of IKM may be able to conclude on cuspidality. This leads to the following question: Can we identify 6R robots with simplified architectures such that the $det(J)$ is factored in at least three factors? The $det(J)$ is a function of 14 D-H parameters that define the robot's architecture. These 14 parameters are $d_{2..5}$, $a_{1..5}$, $\alpha_{1..5}$, and
<figure><img src="image_15.png" /><figcaption>**Figure 12.** Path planning algorithm for scenarios with closed-loop paths in cuspidal robots.</figcaption></figure>

the classification space is huge. The identification can be
simplified by providing two values for each parameter. If the
parameter is a length parameter, i.e. *d*<sub>*i*</sub> or *a*<sub>*i*</sub>, then it can be
either 0 or a symbolic value. For the axes alignment, only
orthogonal (α<sub>*i*</sub> = π/2 radians) and parallel (α<sub>*i*</sub> = 0 radians)
arrangements were considered. This analysis investigates the
number of components of the det(*J*) obtained from the
preferential Jacobian. The total types of robots investigated

are 2¹⁴ = 16384, and 832 types of robots (~ 5%) were found
to be of simplified architecture. The D-H parameters of
some of these robots are mentioned in Appendix B. The
symbolic values of the length parameters can take any
nonzero value and the robot preserves the factored form of
det(J). This result is a doorway for designers to investigate
new designs that are noncuspidal and may have advantages in
specific cases. The orthogonal robots exhibit better dynamic
properties compared with the anthropomorphic architectures Nguyen et al. (2012), and exploring different noncuspidal designs with simplified IKM will be interesting.

### 5.2.3 Generic case of 6R robot
An algorithm that considers joint limits and collision constraints to decide upon the cuspidality of a 6R robot is important for real-life applications. Thus, a practical algorithm, similar to Marauli et al. (2023), based on solving an optimal-path-planning (OPP) problem, is proposed. To decide cuspidality, the OPP problem has to be solved for the whole workspace until a connection of at least two IKS is found. Since checking the whole workspace using numerical approaches is computationally demanding, it is discretized into a finite $n_W$ points $\mathbf{x}_k \in W$, $k \in \{1... n_W\}$. The discretized workspace impacts the decision on cuspidality, which is discussed in more detail when explaining the algorithm.

The connectivity problem consists of finding a nonsingular path between two different IKS $(\mathbf{q}_i, \mathbf{q}_j) \in \mathcal{I}_x$. Therefore, a measure of distance to the singularity is required. In the literature, various methods to measure the distance exist, such as the kinematic manipulability Doty et al. (1995), condition number, smallest eigenvalue, or determinant of the Jacobian, to name a few. We use $\det(\mathbf{J})$ since it plays an essential role in cuspidality analysis.

**Optimal-Path-Planning problem:** Given an initial IKS $\mathbf{q}_0 \in \mathcal{I}_x$ to an arbitrary EE-pose $\mathbf{x}$. Find a nonsingular path $\mathbf{q}(t)$ connecting $\mathbf{q}_0$ with a valid IKS $\mathbf{q}_1 \in \mathcal{R}_{\mathbf{q}_0, \mathbf{x}}$. The goal is to find a path as far as possible to any singularity. Therefore, the smallest value of the determinant along the path

$$ \inf_t \operatorname{sign}(\det \mathbf{J}(\mathbf{q}_0)) \det \mathbf{J}(\mathbf{q}(t)) \quad (9) $$

is maximized. The multiplication with the sign of the initial determinant enables the use of the function $\inf$ also for negative values, i.e., $\det \mathbf{J}(\mathbf{q}_0) < 0$. A negative value of (9) results in an invalid solution since condition (5) is not met. As smooth joint paths $\mathbf{q}(t)$ are desirable, an integrator chain

$$ \mathbf{z}' = \mathbf{f}(\mathbf{z}, \mathbf{u}) = [(\mathbf{q}')^T, (\mathbf{q}'')^T, (\mathbf{q}'')^T]^T $$

is used to receive a three times differentiable path. The state

$$ \mathbf{z}^T = [\mathbf{q}^T, (\mathbf{q}')^T, (\mathbf{q}'')^T] $$

consists of the path and the first two derivatives, while the third derivative being the input $\mathbf{u} = \mathbf{q}'''$ of the differential equation. The derivative with respect to the path parameter $t$ is denoted as $()' = \partial()/\partial t$. The OPP problem is then written as a nonlinear optimization problem,

$$ \begin{array}{l} \max_{\mathbf{z},\mathbf{u}} \left( \inf_t \operatorname{sign}(\det \mathbf{J}(\mathbf{q}_0)) \det \mathbf{J}(\mathbf{q}) \right), \\ \text{s.t.} \quad \begin{array}{l} \mathbf{z}' = \mathbf{f}(\mathbf{z}, \mathbf{u}), \quad \mathbf{q}(0) = \mathbf{q}_0, \quad \mathbf{q}(1) = \mathbf{q}_1, \\ \underline{\mathbf{z}} \le \mathbf{z} \le \bar{\mathbf{z}}, \quad \underline{\mathbf{u}} \le \mathbf{u} \le \bar{\mathbf{u}}, \\ \text{for } t \in [0, 1]. \end{array} \end{array} \quad (10) $$

The geometric lower and upper bounds are denoted by $\underline{\mathbf{q}}$ and $\bar{\mathbf{q}}$. These bounds can be used to incorporate joint limits and influence the geometric derivatives. The OPP problem is solved with a multiple shooting approach Bock and

Plitt (1984) implemented in MATLAB 2020 using CasADi Andersson et al. (2019) and Ipopt Wächter and Biegler (2006) as solver. It is worth noting that the value of the objective function can be negative exactly at the optimal point.

**The Algorithm:** The OPP problem is solved for all discrete EE-poses $\mathbf{x}_k$, $k \in \{1... n_W\}$, until a connection between two distinct IKS is found. To this end, the optimization problem (10) is solved for a given initial and terminal IKS $\mathbf{q}_0 \in \mathcal{I}_x$, $\mathbf{q}_1 \in \mathcal{R}_{\mathbf{q}_0, \mathbf{x}}$ of a chosen EE-pose e.g. $\mathbf{x}_0$. If a feasible solution is found (i.e., a positive value of the objective), the connectivity problem is solved, and the robot is cuspidal. If the optimization is unsuccessful, a different terminal IKS $\mathbf{q}_1 \in \mathcal{R}_{\mathbf{q}_0, \mathbf{x}}$ of the same EE-pose $\mathbf{x}_0$ is chosen and the problem is solved again. If no connection could be found e.g. $\mathbf{x}_0$, then a different EE-pose $\mathbf{x}_k, k \neq 0$, is picked and the procedure is repeated. If all grid points $\mathbf{x}_k$ are checked unsuccessfully, no assertion about cuspidality can be made. It is worth noting that a grid refinement of the workspace (or a different grid) can lead to a reliable check of cuspidality since only a finite number of points in the workspace are considered in the procedure. Algorithm 1 details the implementation.

**Algorithm 1** Proposed cuspidality deciding algorithm for a generic 6R robot.

**Require:** Discretized workspace EE-poses $\{\mathbf{x}_1... \mathbf{x}_{n_W}\}$

**for all** $k \in \{1..n_W\}$ **do**

- compute IKS and pick initial $\mathbf{q}_0 \in \mathcal{I}_{x_k}$

**for all** $\mathbf{q}_1 \in \mathcal{R}_{\mathbf{q}_0, \mathbf{x}_k}$ and $\mathbf{q}_1 \neq \mathbf{q}_0$ **do**

- solve OPP problem (10)

**if** successful **then**

- connectivity found $\Rightarrow$ break

**if** connectivity found **then**

- robot is cuspidal

**else**

- no assertion about cuspidality possible

**Numerical aspects:** Algorithm 1 takes care of numerical difficulties encountered by the fact that different revolute joint angles are equal modulo $2\pi$. Since these joints can rotate freely, clockwise and counterclockwise rotations must be considered. The joint coordinates are defined by a $n$-torus $T^n$. Therefore, adding $\pm 2k\pi$ with $k \in \mathbb{N}_0$ does not change the IKS, i.e. $\mathbf{x} = \mathbf{f}(\mathbf{q}) = \mathbf{f}(\mathbf{q} \pm 2k\pi)$. Only solutions within the interval $\mathbf{q} \in [-2\pi, 2\pi]$ must be considered for practical applications. Consider planning singularity-free trajectories for a 3R robot (D-H parameters in Figure 1) connecting the IKS in one aspect, as shown in Figure 13a. A nonsingular trajectory between $\mathbf{q}_1$ and $\mathbf{q}_2$ is readily found. On the other hand, planning a trajectory between $\mathbf{q}_3$ and $\mathbf{q}_4$ without crossing a singularity is not possible since the OPP problem (10) does not consider the periodicity of the joint coordinates. Extending the solution space of $\mathbf{q}_4$ to the interval $[-2\pi, 2\pi]$, i.e. adding multiple of $\pm 2\pi$ element-wise, enables connecting the IKS $\mathbf{q}_3$ and $\mathbf{q}_4$ without crossing a singularity as shown in Figure 13b. This results in a counterclockwise rotation of the third joint.

The self-intersection of the set of singularities leads to a higher number of aspects and thus to a higher possibility
<figure><img src="image_16.png" /><figcaption>**Figure 13.** Example for considering clockwise and counterclockwise rotations in the IKS.</figcaption></figure>

of a noncuspidal robot. Such robots are of nongeneric type and it has been noted *Pai and Leu* (1992) that given a class of manipulators, almost all forward kinematic maps, $f: \mathcal{J} \to W$, are generic and the nongeneric maps form a thin set of the class. Observing the parameter space for 3R robots, it is not hard to expect that the neighborhood of a nongeneric design almost always leads to a cuspidal robot. This makes the practical algorithm very useful as the nongeneric cases are identified with the determinant analysis, and the generic cases are analyzed by using the Algorithm 1. In contrast to the certified algorithm, presented in *Chablat et al.* (2022), the proposed algorithm is easier to implement while maintaining a reasonable runtime. Solving the IKS of a generic 6R robot with the HuPf algorithm takes an average of 10ms, and the connectivity query (deciding cuspidality of one robot) required an average of 8.52 seconds. These results are achieved by using a PC with 32 Gb RAM and Intel i7 12th gen processor. In case all the points (of the discretized workspace) are to be investigated, the computation time depends on the resolution of the discretization. This case was never encountered as all the noncuspidal robots are already separated by using previously known results or the analysis of the determinant. The algorithm presented in Figure 14 can be automated to decide the cuspidality of almost all 6R robots. This algorithm will be inconclusive while analyzing those noncuspidal robots that neither have a $\det(J)$ that factors in at least 3 components nor do any known results apply to the robot. We have analyzed 3240 robots with varying parameters for cuspidality, and the algorithm presented in Figure 14 was able to decide the cuspidal nature of each robot.

## 5.3 Application of the decision algorithm

This section presents the results of implementing the algorithm to decide on cuspidality. The Algorithm 1 terminates with few iterations in the case of a cuspidal robot. The algorithm could decide about the cuspidal nature of every 6R robot that was given as an input. We have a 14-dimensional parameter space for cuspidality analysis, which is huge and impossible to visualize. We choose a specific 3-dimensional parameter space that includes almost all types of known commercial robots' architecture to highlight the importance of cuspidality analysis. Figure 15 shows the parameter space with $d_5$, $\alpha_3$ and $\alpha_4$ as the basis. All other

D-H parameters for the robot are similar to those of the FANUC CRX-10ia/L robot. The cube was discretized into 3240 points and the robot corresponding to each point was analyzed for cuspidality. It was noted that every point inside the cube, i.e. not lying on the faces, corresponds to the D-H parameters of a cuspidal robot. The robots belonging to the face $ABFE$ are degenerate as the $\det(J)$ is always zero. The face $ADHE$ corresponds to anthropomorphic architectures with the wrist at the end as $d_5 = 0$. It is a known result that the robots corresponding to the points on the face $ADHE$ except the one at A are noncuspidal. The robot corresponding to A is a degenerate robot. The edge $GH$ corresponds to the robots' anthropomorphic architecture with offset in the wrist. The robot corresponding to H is a wrist-partitioned anthropomorphic robot with an orthogonal wrist arrangement, thus noncuspidal. Every robot belonging to edge $GH$ except the point H is a cuspidal robot, suggesting that adding an offset to the anthropomorphic architecture almost always leads to a cuspidal robot. The robots corresponding to face $ABCD$ have a 3R subchain as $\alpha_3 = 0$. The edge $CD$ corresponds to UR5 like architecture as $\alpha_4 = \frac{\pi}{2}$. Every robot belonging to the face $ABCD$ except those lying on edge $AB$ (which corresponds to a degenerate robot) are noncuspidal as the $\det(J)$ have three factors into three components and the robot has a simplified IKM that can be analyzed geometrically. The robots corresponding to face $DCGH$ except the edge $CD$ and point H are cuspidal robots. These robots were found to be cuspidal by implementing Algorithm 1. The edge $HE$ corresponds to wrist-partitioned robots with the nonorthogonal arrangement of the wrist. These robots are noncuspidal as the 3R positional subchain does not satisfy the necessary and sufficient condition to be cuspidal. The robots corresponding to the edge $EF$ are degenerate. The face $FGHE$, excluding edges $GH, HE$, and $EF$, corresponds to robots with an offset and a nonorthogonal arrangement of the last three joints. One such example of a commercial robot is the Jaco robot Gen2 (nonspherical wrist). These robots are found to be cuspidal by using the algorithm proposed in Figure 14. Similarly, all the robots on the face $BCGF$ except $B, C$ and $F$ were found to be cuspidal in nature. The robots corresponding to $C$ are UR5 type robots for whom the $\det(J)$ has three factors. This case corresponds to a noncuspidal robot. Robots corresponding to the face $B$ and $F$ are degenerate robots. It is concluded from these results that a robot with generic geometry is almost always a cuspidal robot. Extending the algorithm, some of the existing commercial robots are presented in table 1 with the details on maximum IKS present in the workspace, and their cuspidal nature.

<table><caption>**Table 1.** Classification of some of the existing robots according to cuspidal nature.</caption><thead><tr><td>Robot</td><td>Max IKS</td><td>Nature</td></tr></thead><tbody><tr><td>ABB IRB 140, KUKA KR5</td><td>8</td><td>noncuspidal</td></tr><tr><td>UR5, UR10</td><td>8</td><td>noncuspidal</td></tr><tr><td>FANUC CRX-10ia/L</td><td>16</td><td>cuspidal</td></tr><tr><td>Kinova Link6</td><td>16</td><td>cuspidal</td></tr><tr><td>JACO Gen2 nonspherical wrist</td><td>12<sup>‡</sup></td><td>cuspidal</td></tr></tbody></table>
<figure><img src="image_17.png" /><figcaption>**Figure 14.** The algorithm to decide if a given 6R robot is cuspidal or not.</figcaption></figure>

<figure><img src="image_18.png" /><figcaption>**Figure 15.** Classification of a 6R robot parameterized in specially chosen three D-H parameters. The rest of the D-H parameters match that of the FANUC CRX-10ia/L robot.</figcaption></figure>

# 6 Conclusions and Future work

In this work, the issues in path planning pertinent to cuspidal robots were discussed. The existing problems, such as mislabeling of 'configurations' and incorrect calculations of IKS due to numerical methods, were highlighted using

deployed commercial cuspidal robots as examples. Later, the major kinematic issues, such as the dependence of path feasibility as well as path repeatability on the choice of initial IKS, were discussed. These issues show that cuspidal robots are unsuitable for collaborative applications. The consequence of encountering a discontinuity in paths while

<footnote>‡The maximum number of IKS found by searching the workspace with 100,000 points generated by a low discrepancy sequence.</footnote>
crossing an internal locus of critical values was discussed
with examples in the workspace. Different scenarios possible
in the path planning of cuspidal robots were presented,
highlighting the importance of considering cuspidality while
designing robot path planning algorithms. Though cuspidal
robots can be used in industrial applications in a controlled
environment, their use in collaborative applications is not
favorable as the feasibility of a path cannot be decided
without complete knowledge of the path to be followed.
We proposed a path-planning algorithm for cuspidal robots
that considers different cases arising in cuspidal robots. The
algorithm is capable of selecting good initial IKS that lead
to feasible paths. In case of a bad initial IKS, the algorithm
can suggest a possible nonsingular change of solution to
be executed to make a given path feasible and repeatable.
Considering the importance of deciding cuspidality for
designing 6R robots, different decision methodologies of
the past were presented. A practical algorithm was later
presented to decide upon the cuspidal nature of 6R robots.
The decision algorithm utilizes all the known results, exploits
the form of det(J), and uses numerical approaches to decide
upon the cuspidality of a generic 6R robot. This algorithm
was implemented on thousands of generic architectures to
highlight further that a generic design most likely leads to a
cuspidal robot. Some of the simplified architectures, whose
determinant of the Jacobian has at least three factors were
presented. These robots have simplified IKM and combined
with a simplified form of the determinant, making the
cuspidality analysis of these robots easier.

In the future, a dedicated package for the path planning of
6R robots will be deployed. This will implement algebraic
approaches to solve for IKS and consider the cuspidal
property of the robot. Interfaces that record both the
joint angles and the EE-pose will be designed to replace
the configuration classification of the IKS for cuspidal
robots. Identification of cuspidal nature in robots with
prismatic joints will be considered to extend the catalog of
noncuspidal designs. As many cuspidal cobots are deployed
in collaborative tasks, an algorithm that copes with unknown
environments will be proposed using horizon planning. The
new algorithm will be proposed by using the presented work
as its foundation.

## Acknowledgements

The authors are supported by the joint French and Austrian ECARP project: ANR-19-CE48-0015, FWF I4452-N. The authors thank the reviewers for their thorough and constructive remarks to improve the manuscript.

## References

Andersson JAE, Gillis J, Horn G, Rawlings JB and Diehl M (2019) CasADi - A software framework for nonlinear optimization and optimal control. *Mathematical Programming Computation*.

Angerer A and Hofbaur MW (2013) Industrial versatility of inverse kinematics algorithms for general 6r manipulators. In: *16th International Conference on Advanced Robotics, ICAR 2013, 25-29 November 2013, Montevideo, Uruguay*. IEEE, pp. 1-7.
DOI:10.1109/ICAR.2013.6766464.

Astudillo A, Gillis J, Diehl M, Decré W, Pipeleers G and Swevers J (2022) Position and orientation tunnel-following

nmpc of robot manipulators based on symbolic linearization in
sequential convex quadratic programming. *IEEE Robotics and
Automation Letters* 7: 2867–2874. DOI:10.1109/LRA.2022.
3142396.

Baili M, Wenger P and Chablat D (2004) A classification of 3R orthogonal manipulators by the topology of their workspace. In: *IEEE International Conference on Robotics and Automation, 2004. Proceedings. ICRA '04. 2004*. New Orleans, LA, USA: IEEE, pp. 1933–1938 Vol.2.

Bock H and Plitt K (1984) A multiple shooting algorithm for direct solution of optimal control problems*. *IFAC Proceedings Volumes*.

Borrel P and Liegeois A (1986) A study of multiple manipulator inverse kinematic solutions with applications to trajectory planning and workspace determination. In: *Proceedings. 1986 IEEE International Conference on Robotics and Automation*, volume 3. San Francisco, CA, USA: Institute of Electrical and Electronics Engineers, pp. 1180–1185.

Burdick JW (1989) On the Inverse Kinematics of Redundant Manipulators: Characterization of the Self-Motion Manifolds. In: *1989 International Conference on Advanced Robotics*, volume 4. Ohio, p. 10.

Capco J and Manongsong SM (2019) Implementing hupf algorithm for the inverse kinematics of general 6r/p manipulators. In: England M, Koepf W, Sadykov TM, Seiler WM and Vorozhtsov EV (eds.) *Computer Algebra in Scientific Computing*. Cham: Springer International Publishing. ISBN 978-3-030-26831-2, pp. 78–90.

Capco J, Safey El Din M and Schicho J (2020) Robots, computer algebra and eight connected components. In: *ISSAC '20: International Symposium on Symbolic and Algebraic Computation*, ISSAC'20: Proceedings of the 45th International Symposium on Symbolic and Algebraic Computation. Kalamata / Virtual, Greece: ACM, pp. 62–69.

Chablat D, Prébet R, Safey El Din M, Salunkhe DH and Wenger P (2022) Deciding cuspidality of manipulators through computer algebra and algorithms in real algebraic geometry. In: *Proceedings of the 2022 International Symposium on Symbolic and Algebraic Computation*, ISSAC '22. Villeneuve-d'Ascq, France: Association for Computing Machinery. ISBN 9781450386883, p. 439–448. DOI:10.1145/3476446.3535477.

Denavit J and Hartenberg RS (1955) A Kinematic Notation for Lower-Pair Mechanisms Based on Matrices. *Journal of Applied Mechanics* 22(2): 215–221. DOI:10.1115/1.4011045.

Doty KL, Melchiorri C, Schwartz EM and Bonivento C (1995) Robot manipulability. *IEEE Transactions on Robotics and Automation*.

El Omri J and Wenger P (1995) How to recognize simply a non-singular posture changing 3-dof manipulator. In: *Proc. 7th Int. Conf. on Advanced Robotics*. pp. 215–222.

Gorla B and Renaud M (1984) *Modèles des robots manipulateurs: application à leur commande*. Cepadues-Éditions.

Gosselin C and Liu H (2014) Polynomial Inverse Kinematic Solution of the Jaco Robot. In: *International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, volume Volume 5B: 38th Mechanisms and Robotics Conference*. p. V05BT08A055. DOI:10.1115/DETC2014-34152.

Gutierrez A, Guda VK, Mugisha S, Chevallereau C and Chablat D (2022) Trajectory planning in dynamics environment:
Application for haptic perception in safe human-robot interaction. In: Duffy VG (ed.) Digital Human Modeling and Applications in Health, Safety, Ergonomics and Risk Management. Health, Operations Management, and Design. Cham: Springer International Publishing. ISBN 978-3-031-06018-2, pp. 313–328.

Husty ML, Pfurner M and Schröcker HP (2007) A new and efficient algorithm for the inverse kinematics of a general serial 6R manipulator. *Mechanism and Machine Theory* 42(1): 66–81. DOI:10.1016/j.mechmachtheory.2006.02.001.

Innocenti C and Parenti-Castelli V (1998) Singularity-free evolution from one configuration to another in serial and fully-parallel manipulators. *ASME Journal of Mechanical Design* 120: 73–99.

Khalil W and Dombre E (2004) *Modeling, Identification and Control of Robots*. New York: Springer. DOI:https://doi.org/10.1016/B978-1-903996-66-9.X5000-3.

Kohli D and Spanos J (1985) Workspace Analysis of Mechanical Manipulators Using Polynomial Discriminants. *Journal of Mechanisms, Transmissions, and Automation in Design* 107(2): 209–215. DOI:10.1115/1.3258710.

Macho E, Petuya V, Altuzarra O and Hernandez A (2012) Planning Nonsingular Transitions Between Solutions of the Direct Kinematic Problem From the Joint Space. *Journal of Mechanisms and Robotics* 4(4): 041005. DOI:10.1115/1.4007306. URL https://doi.org/10.1115/1.4007306.

Maciejewski AA and Klein CA (1989) The singular value decomposition: Computation and applications to robotics. *The International Journal of Robotics Research* 8(6): 63–79. DOI: 10.1177/027836498900800605. URL https://doi.org/10.1177/027836498900800605.

Makarychev K and Makarychev Y (2020) Certified Algorithms: Worst-Case Analysis and Beyond. In: Vidick T (ed.) 11th Innovations in Theoretical Computer Science Conference (ITCS 2020), Leibniz International Proceedings in Informatics (LIPIcs), volume 151. Dagstuhl, Germany: Schloss Dagstuhl – Leibniz-Zentrum für Informatik, pp. 49:1–49:14.

Marauli T, Salunkhe H Durgesh, Gattringer H, Mueller A, Chablat D and Wenger P (2023) Time-optimal point-to-point motion planning and assembly mode change of cuspidal manipulators: Application to 3r and 6r robot. In: *2023 IEEE/RSJ International Conference on Intelligent Robots and Systems, Detroit, USA*. p. 6.

Nguyen DQ, Briot S and Wenger P (2012) Analysis of the dynamic performance of serial 3r orthogonal manipulators. In: *Volume 3: Advanced Composite Materials and Processing; Robotics; Information Management and PLM; Design Engineering, Engineering Systems Design and Analysis*. pp. 175–184. DOI: 10.1115/ESDA2012-82208.

Paganelli D (2008) *Topological Analysis of Singularity Loci for Serial and Parallel Manipulators*. PhD Thesis, Universita di Bologna, Bologna, Italy.

Pai D and Leu M (1992) Genericity and singularities of robot manipulators. *IEEE Transactions on Robotics and Automation* 8(5): 545–559.

Pieper DL (1968) *The Kinematics of Manipulators Under Computer Control*. PhD Thesis, Stanford University, USA.

Primrose E (1986) On the input-output equation of the general 7r-mechanism. *Mechanism and Machine Theory* 21(6): 509–510.

DOI:https://doi.org/10.1016/0094-114X(86)90134-5.

Salunkhe D, Capco J, Chablat D and Wenger P (2022a) Geometry based analysis of 3r serial robots. In: Altuzarra O and Kecskeméthy A (eds.) *Advances in Robot Kinematics* 2022. Cham: Springer International Publishing. ISBN 978-3-031-08140-8, pp. 65–72.

Salunkhe DH (2023) *Cuspidal robots: theoretical study, classification, and application to commercial robots*. PhD Thesis, École centrale de Nantes.

Salunkhe DH, Chablat D and Wenger P (2023) Trajectory planning issues in cuspidal commercial robots. In: *2023 IEEE International Conference on Robotics and Automation (ICRA)*. pp. 7426–7432. DOI:10.1109/ICRA48891.2023.10161444.

Salunkhe DH, Spartalis C, Capco J, Chablat D and Wenger P (2022b) Necessary and sufficient condition for a generic 3r serial manipulator to be cuspidal. *Mechanism and Machine Theory* 171: 104729.

Smith D and Lipkin H (1990) Analysis of fourth order manipulator kinematics using conic sections. In: *Proceedings., IEEE International Conference on Robotics and Automation*. Cincinnati, OH, USA: IEEE Comput. Soc. Press. ISBN 978-0-8186-9061-7, pp. 274–278. DOI:10.1109/ROBOT.1990.125986.

Thomas F (2015) A Distance Geometry Approach to the Singularity Analysis of 3R Robots. *Journal of Mechanisms and Robotics* 8(1): 011001. DOI:10.1115/1.4029500.

Thomas F and Porta JM (2024) The inverse kinematics of lobster arms. *Mechanism and Machine Theory* 196: 105630.

Trinh C, Zlatanov D, Zoppi M and Molfino R (2015) A Geometrical Approach to the Inverse Kinematics of 6R Serial Robots With Offset Wrists. In: *International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, volume 5C: 39th Mechanisms and Robotics Conference*. p. V05CT08A016.

Verheye A (2021) Why hasn't anyone heard of cuspidal robots? URL https://tinyurl.com/achille-cuspidal.

Wächter A and Biegler LT (2006) On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. *Mathematical programming*.

Wampler CW (1986) Manipulator inverse kinematic solutions based on vector formulations and damped least-squares methods. *IEEE Transactions on Systems, Man, and Cybernetics* 16(1): 93–101. DOI:10.1109/TSMC.1986.289285.

Wenger P (1992) A New General Formalism for the Kinematic Analysis of All Non-redundant Manipulators. In: *Proceedings of the 1992 IEEE International Conference on Robotics and Automation*. Nice, France, pp. 442–447.

Wenger P (1997) Design of cuspidal and non-cuspidal robot manipulators. In: *Proceedings of International Conference on Robotics and Automation, volume 3*. pp. 2172–2177 vol.3. DOI:10.1109/ROBOT.1997.619284.

Wenger P (1998) Classification of 3R Positioning Manipulators. *Journal of Mechanical Design* 120(2): 327–332. DOI:10.1115/1.2826976.

Wenger P (2004) Uniqueness Domains and Regions of Feasible Paths for Cuspidal Manipulators. *IEEE Transactions on Robotics* 20(4): 745–750.

Wenger P and Chablat D (2022) A Review of Cuspidal Serial and Parallel Manipulators. *Journal of Mechanisms and Robotics*