# Singularities of Serial Robots: Identification and Distance Computation Using Geometric Algebra

^{1}

^{2}

^{*}

## Abstract

**:**

## 1. Introduction

**Definition**

**1.**

- The robot loses at least one degree of freedom or, equivalently, its end-effector cannot be translated along or rotated around at least one Cartesian direction.
- Finite linear and angular velocities of the end-effector may require infinite joint velocities.

- Position singularities $PS=\{\mathit{q}\in \mathcal{C}:det\left({J}_{11}\left(\mathit{q}\right)\right)=0\}$;
- Orientation singularities $OS=\{\mathit{q}\in \mathcal{C}:det\left({J}_{22}\left(\mathit{q}\right)\right)=0\}$.

- Position singularities $PS=\{\mathit{q}\in \mathcal{C}:\mathrm{rank}\left({J}_{11}\left(\mathit{q}\right)\right)3\}$;
- Orientation singularities $OS=\{\mathit{q}\in \mathcal{C}:det\left({J}_{22}\left(\mathit{q}\right)\right)=0\}$.

**Remark**

**1.**

## 2. Mathematical Preliminaries: Geometric Algebra

**Definition**

**2.**

- $\begin{array}{|c|}\hline k=0\\ \hline\end{array}\left\{1\right\}$ (scalars).
- $\begin{array}{|c|}\hline k=1\\ \hline\end{array}\{{e}_{1},\dots ,{e}_{n}\}$ (vectors).
- $\begin{array}{|c|}\hline k=2\\ \hline\end{array}{\{{e}_{i}\wedge {e}_{j}\}}_{1\le ij\le n}$ (bivectors).
- $\begin{array}{|c|}\hline k=3\\ \hline\end{array}{\{{e}_{i}\wedge {e}_{j}\wedge {e}_{k}\}}_{1\le ijk\le n}$ (trivectors).
- ⋮
- $\begin{array}{|c|}\hline k=\mathrm{r}\\ \hline\end{array}{\{{e}_{{i}_{1}}\wedge \dots \wedge {e}_{{i}_{r}}\}}_{1\le {i}_{1}\dots {i}_{r}\le n}$ (r-vectors).
- ⋮
- $\begin{array}{|c|}\hline k=\mathrm{n}\\ \hline\end{array}\{{e}_{1}\wedge \dots \wedge {e}_{n}\}$ (pseudoscalar).

**Definition**

**3.**

**Remark**

**2.**

**Proposition**

**1.**

- (1)
- $R\tilde{R}=1$;
- (2)
- $R\mathit{x}\tilde{R}=(-R)\mathit{x}(-\tilde{R})$ for $\mathit{x}\in {\mathbb{R}}^{n}$;
- (3)
- $R\mathit{x}\mathit{y}\tilde{R}=R\mathit{x}\tilde{R}R\mathit{y}\tilde{R}$ for $\mathit{x},\mathit{y}\in {\mathbb{R}}^{n}$;
- (4)
- Given two frames $\{{e}_{1},\dots ,{e}_{n}\}$ and $\{{f}_{1},\dots ,{f}_{n}\}$, there always exists a rotor R that transforms one into the other, i.e., there exists a rotor R such that ${e}_{i}=R{f}_{i}\tilde{R}$ for $i=1,\dots ,n$. This rotor is computed as [36,40]:$$R={\displaystyle \frac{1+{e}^{1}{f}_{1}+\dots +{e}^{n}{f}_{n}}{\parallel 1+{e}^{1}{f}_{1}+\dots +{e}^{n}{f}_{n}\parallel}},$$

## 3. Identification of Singularities Using Geometric Algebra

**Theorem**

**1**

**.**Every rigid motion $f\in SE\left(3\right)$ can be realized as a rotation around an axis followed (preceded) by a translation along the same axis.

**Definition**

**4.**

**Remark**

**3.**

**Proposition**

**2.**

**Proposition**

**3.**

**Remark**

**4.**

**Theorem**

**2**

**.**Given a serial robot with n DoF:

**Theorem**

**3.**

**Theorem**

**4.**

**Corollary**

**1.**

**Proof.**

**Remark**

**5.**

**Remark**

**6.**

**Theorem**

**5.**

**Proof.**

#### Special Case: Serial Robots with a Spherical Wrist

**Theorem**

**6.**

- $\mathit{q}\in \mathcal{C}$ is a position singularity if, and only if, ${\mathit{s}}_{{i}_{1}}\left(\mathit{q}\right)\wedge {\mathit{s}}_{{i}_{2}}\left(\mathit{q}\right)\wedge {\mathit{s}}_{{i}_{3}}\left(\mathit{q}\right)=0$ for each $1\le i\le C(n-3,3)$, where $\{{i}_{1},{i}_{2},{i}_{3}\}$ is the i-th combination of three elements drawn from $\{1,\dots ,n-3\}$.
- $\mathit{q}\in \mathcal{C}$ is an orientation singularity if, and only if,$${\mathit{z}}_{n-2}\left(\mathit{q}\right)\wedge {\mathit{z}}_{n-1}\left(\mathit{q}\right)\wedge {\mathit{z}}_{n}\left(\mathit{q}\right)=0.$$

**Proof.**

**Remark**

**7.**

## 4. Distance to Singularities

**Example**

**1.**

**Lemma**

**1.**

**Proof.**

**Lemma**

**2.**

- $\sqrt{{a}_{1}+{a}_{2}-{a}_{3}}\le \sqrt{{a}_{1}}+\sqrt{{a}_{2}}$;
- $\sqrt{{a}_{1}+{a}_{2}+{a}_{3}}\le \sqrt{{a}_{1}}+\sqrt{{a}_{2}}$ if, and only if, ${a}_{3}\le 2\sqrt{{a}_{1}{a}_{2}}$.

**Proof.**

**Proposition**

**4.**

- (i)
- $\parallel X\parallel \ge 0$ for all $X\in {\mathcal{G}}_{n}$. In particular, $\parallel X\parallel =0$ if, and only if, $X=0$.
- (ii)
- $\parallel \lambda X\parallel =\left|\lambda \right|\parallel X\parallel $ for all $X\in {\mathcal{G}}_{n}$ and $\lambda \in \mathbb{R}$.
- (iii)
- $\parallel X+Y\parallel \le \parallel X\parallel +\parallel Y\parallel $ for all $X,Y\in {\mathcal{G}}_{n}$ (usually known as the triangle inequality).

**Proof.**

- (i)
- Given a multivector X, identity ${\parallel X\parallel}^{2}={\u2329X\tilde{X}\u232a}_{0}$ is equivalent to:$$\parallel X\parallel =\pm \sqrt{{\u2329X\tilde{X}\u232a}_{0}}.$$Thus, it is clear by Lemma 1 that the positive branch of Equation (62) is well defined and that $\parallel X\parallel \ge 0$. In particular, if $\parallel X\parallel =0$, then:$$\sqrt{{\u2329X\tilde{X}\u232a}_{0}}=0\u27f9{\u2329X\tilde{X}\u232a}_{0}=0\u27f9\sum _{i=0}^{n}{\u2329{\u2329X\u232a}_{i}{\u2329\tilde{X}\u232a}_{i}\u232a}_{0}=0,$$
- (ii)
- If $\lambda \in \mathbb{R}$ and $X\in {\mathcal{G}}_{n}$, then:$$\begin{array}{cc}\hfill \parallel \lambda X\parallel & =\sqrt{{\u2329\left(\lambda X\right)\left(\lambda \tilde{X}\right)\u232a}_{0}}=\sqrt{{\u2329{\lambda}^{2}X\tilde{X}\u232a}_{0}}\hfill \\ \hfill & \stackrel{\left(1\right)}{=}\sqrt{{\lambda}^{2}{\u2329X\tilde{X}\u232a}_{0}}=\left|\lambda \right|\sqrt{{\u2329X\tilde{X}\u232a}_{0}}=\left|\lambda \right|\parallel X\parallel ,\hfill \end{array}$$
- (iii)
- Given two different multivectors X and Y, they can be expanded as linear combinations of the basis elements of ${\mathcal{G}}_{n}$ as follows:$$\begin{array}{cc}\hfill X& =\sum _{i=0}^{{2}^{n}}{\alpha}_{i}{e}_{{j}_{1}}\dots {e}_{{j}_{i}},\hfill \\ \hfill Y& =\sum _{i=0}^{{2}^{n}}{\beta}_{i}{e}_{{j}_{1}}\dots {e}_{{j}_{i}}.\hfill \end{array}$$Now, it follows that:$$X+Y=\sum _{i=0}^{{2}^{n}}({\alpha}_{i}+{\beta}_{i}){e}_{{j}_{1}}\dots {e}_{{j}_{i}}$$$$\begin{array}{cc}\hfill \parallel X+Y\parallel & =\sqrt{{\u2329\left(X+Y\right){\left(X+Y\right)}^{\sim}\u232a}_{0}}\stackrel{\left(1\right)}{=}\sqrt{{\displaystyle \sum _{i=0}^{{2}^{n}}}{({\alpha}_{i}+{\beta}_{i})}^{2}}\hfill \\ \hfill & =\sqrt{\underset{A}{\begin{array}{c}\hfill \begin{array}{|c|}\hline {\displaystyle \sum _{i=0}^{{2}^{n}}{\alpha}_{i}^{2}}\\ \hline\end{array}\end{array}}+\underset{B}{\begin{array}{c}\hfill \begin{array}{|c|}\hline {\displaystyle \sum _{i=0}^{{2}^{n}}{\beta}_{i}^{2}}\\ \hline\end{array}\end{array}}+2\underset{C}{\begin{array}{c}\hfill \begin{array}{|c|}\hline {\displaystyle \sum _{i=0}^{{2}^{n}}{\alpha}_{i}{\beta}_{i}}\\ \hline\end{array}\end{array}}},\hfill \end{array}$$$$\sqrt{A+B+C}\stackrel{\left(1\right)}{\le}\sqrt{A}+\sqrt{B}=\sqrt{{\sum}_{i=0}^{{2}^{n}}{\alpha}_{i}^{2}}+\sqrt{{\sum}_{i=0}^{{2}^{n}}{\beta}_{i}^{2}}=\parallel X\parallel +\parallel Y\parallel ,$$$$\begin{array}{cc}\hfill AB& =\sum _{i=0}^{{2}^{n}}{\alpha}_{i}^{2}\sum _{i=0}^{{2}^{n}}{\beta}_{i}^{2}=\sum _{i=0}^{{2}^{n}}\sum _{j=0}^{{2}^{n}}{\alpha}_{i}^{2}{\beta}_{j}^{2}=\sum _{i=0}^{{2}^{n}}{\alpha}_{i}^{2}{\beta}_{i}^{2}+\sum _{i=0}^{{2}^{n}}\sum _{\begin{array}{c}j=0\\ j\ne i\end{array}}^{{2}^{n}}{\alpha}_{i}^{2}{\beta}_{j}^{2},\hfill \\ \hfill {C}^{2}& ={\left(\sum _{i=0}^{{2}^{n}}{\alpha}_{i}{\beta}_{i}\right)}^{2}=\sum _{i=0}^{{2}^{n}}{\alpha}_{i}^{2}{\beta}_{i}^{2}+\sum _{i=0}^{{2}^{n}}\sum _{\begin{array}{c}j=0\\ j\ne i\end{array}}^{{2}^{n}}{\alpha}_{i}{\beta}_{i}{\alpha}_{j}{\beta}_{j}\hfill \end{array}$$$$\sum _{i=0}^{{2}^{n}}{\alpha}_{i}^{2}{\beta}_{i}^{2}+\sum _{i=0}^{{2}^{n}}\sum _{\begin{array}{c}j=0\\ j\ne i\end{array}}^{{2}^{n}}{\alpha}_{i}{\beta}_{i}{\alpha}_{j}{\beta}_{j}\le \sum _{i=0}^{{2}^{n}}{\alpha}_{i}^{2}{\beta}_{i}^{2}+\sum _{i=0}^{{2}^{n}}\sum _{\begin{array}{c}j=0\\ j\ne i\end{array}}^{{2}^{n}}{\alpha}_{i}^{2}{\beta}_{j}^{2},$$$$\sum _{i=0}^{{2}^{n}}\sum _{\begin{array}{c}j=0\\ j\ne i\end{array}}^{{2}^{n}}{\alpha}_{i}{\beta}_{i}{\alpha}_{j}{\beta}_{j}\le \sum _{i=0}^{{2}^{n}}\sum _{\begin{array}{c}j=0\\ j\ne i\end{array}}^{{2}^{n}}{\alpha}_{i}^{2}{\beta}_{j}^{2}$$$$\begin{array}{cc}\hfill 0& \le \sum _{i=0}^{{2}^{n}}\sum _{\begin{array}{c}j=0\\ j\ne i\end{array}}^{{2}^{n}}{\alpha}_{i}^{2}{\beta}_{j}^{2}-\sum _{i=0}^{{2}^{n}}\sum _{\begin{array}{c}j=0\\ j\ne i\end{array}}^{{2}^{n}}{\alpha}_{i}{\beta}_{i}{\alpha}_{j}{\beta}_{j}\hfill \\ \hfill & ={\displaystyle \frac{1}{2}}\sum _{i=0}^{{2}^{n}}\sum _{\begin{array}{c}j=0\\ j\ne i\end{array}}^{{2}^{n}}{\alpha}_{i}^{2}{\beta}_{j}^{2}+{\displaystyle \frac{1}{2}}\sum _{i=0}^{{2}^{n}}\sum _{\begin{array}{c}j=0\\ j\ne i\end{array}}^{{2}^{n}}{\alpha}_{i}^{2}{\beta}_{j}^{2}-\sum _{i=0}^{{2}^{n}}\sum _{\begin{array}{c}j=0\\ j\ne i\end{array}}^{{2}^{n}}{\alpha}_{i}{\beta}_{i}{\alpha}_{j}{\beta}_{j}\hfill \\ \hfill & ={\displaystyle \frac{1}{2}}\sum _{i=0}^{{2}^{n}}\sum _{\begin{array}{c}j=0\\ j\ne i\end{array}}^{{2}^{n}}{({\alpha}_{i}{\beta}_{j}-{\alpha}_{j}{\beta}_{i})}^{2}.\hfill \end{array}$$Since this last inequality is always true, the triangle inequality is also true.

**Theorem**

**7.**

- (i)
- $D({R}_{1},{R}_{2})\ge 0$ for all ${R}_{1},{R}_{2}\in \mathfrak{R}$. In particular, $D({R}_{1},{R}_{2})=0$ if, and only if, ${R}_{1}={R}_{2}$;
- (ii)
- $D({R}_{1},{R}_{2})=D({R}_{2},{R}_{1})$ for all ${R}_{1},{R}_{2}\in \mathfrak{R}$;
- (iii)
- $D({R}_{1},{R}_{3})\le D({R}_{1},{R}_{2})+D({R}_{2},{R}_{3})$ for all ${R}_{1},{R}_{2},{R}_{3}\in \mathfrak{R}$.

**Proof.**

- (i)
- $D({R}_{1},{R}_{2})=\parallel {R}_{1}-{R}_{2}\parallel \ge 0$. In particular:$$D({R}_{1},{R}_{2})=0\u27fa\parallel {R}_{1}-{R}_{2}\parallel =0\stackrel{\left(1\right)}{\u27fa}{R}_{1}-{R}_{2}=0\u27fa{R}_{1}={R}_{2},$$
- (ii)
- We have that:$$\begin{array}{cc}\hfill D({R}_{1},{R}_{2})& =\parallel {R}_{1}-{R}_{2}\parallel =\sqrt{{\u2329\left({R}_{1}-{R}_{2}\right){\left({R}_{1}-{R}_{2}\right)}^{\sim}\u232a}_{0}}\hfill \\ \hfill & =\sqrt{{\u2329\left({R}_{2}-{R}_{1}\right){\left({R}_{2}-{R}_{1}\right)}^{\sim}\u232a}_{0}}=\parallel {R}_{2}-{R}_{1}\parallel =D({R}_{2},{R}_{1}).\hfill \end{array}$$
- (iii)
- Given a third rotor ${R}_{3}$, we have that:$$\begin{array}{cc}\hfill D({R}_{1},{R}_{3})& =\parallel {R}_{1}-{R}_{3}\parallel =\parallel {R}_{1}-{R}_{2}+{R}_{2}-{R}_{3}\parallel \hfill \\ \hfill & \stackrel{\left(1\right)}{\le}\parallel {R}_{1}-{R}_{2}\parallel +\parallel {R}_{2}-{R}_{3}\parallel =D({R}_{1},{R}_{2})+D({R}_{2},{R}_{3}),\hfill \end{array}$$

- For each joint i, denote by ${\mathcal{C}}_{i}$ the configuration space of the subchain formed by the first i joints. It is clear that, if the robot has n degrees of freedom, ${\mathcal{C}}_{i}\subset \mathcal{C}$ for every $1\le i\le n$. Then, the following set of functions can be defined:$$\begin{array}{cc}\hfill {D}_{i}:{\mathcal{C}}_{i}\times {\mathcal{C}}_{i}& \to {\mathbb{R}}^{+}\hfill \\ \hfill {D}_{i}({\mathit{q}}_{1},{\mathit{q}}_{2})& =\parallel {R}_{i}\left({\mathit{q}}_{1}\right)-{R}_{i}\left({\mathit{q}}_{2}\right)\parallel \hfill \end{array}$$
- The function:$$\begin{array}{cc}\hfill & D:\mathcal{C}\times \mathcal{C}\to [0,+\infty )\hfill \\ \hfill & D({\mathit{q}}_{1},{\mathit{q}}_{2})={D}_{1}\left({\mathit{q}}_{{1}_{1}}{\mathit{q}}_{{2}_{1}}\right)+\dots +{D}_{n}({\mathit{q}}_{{1}_{n}},{\mathit{q}}_{{2}_{n}})\hfill \end{array}$$
**Proof.**Since, for each $1\le i\le n$, ${D}_{i}$ satisfies the requirements $\left(ii\right)$ and $\left(iii\right)$ of a distance function, it is clear that D also satisfies them. In addition, ${D}_{i}({\mathit{q}}_{{1}_{i}},{\mathit{q}}_{{2}_{i}})\ge 0$ for each $1\le i\le n$ and ${\mathit{q}}_{{1}_{i}},{\mathit{q}}_{{2}_{i}}\in {\mathcal{C}}_{i}$. Therefore, $D({\mathit{q}}_{1},{\mathit{q}}_{2})\ge 0$ for arbitrary ${\mathit{q}}_{1},{\mathit{q}}_{2}\in \mathcal{C}$. Finally, if $D({\mathit{q}}_{1},{\mathit{q}}_{2})=0$, then, since any term of Equation (79) is a positive scalar, it can be deduced that ${D}_{i}({\mathit{q}}_{{\mathbf{1}}_{\mathit{i}}},{\mathit{q}}_{{2}_{i}})=0$ for every $1\le i\le n$. Thus, ${\mathit{q}}_{1}$ and ${\mathit{q}}_{2}$ not only have the same end-effector pose, but the same pose for of each of its joints, which clearly implies that ${\mathit{q}}_{1}={\mathit{q}}_{2}$. □

**Definition**

**5.**

## 5. Application to the Serial Robot Kuka Lwr 4+

- ${\mathrm{s}}_{4}=0$ or, equivalently, ${q}_{4}=0$.
- ${\mathrm{c}}_{2}={\mathrm{c}}_{3}=0$ or, equivalently, ${q}_{2}=\pm \frac{\pi}{2}$ and ${q}_{3}=\pm \frac{\pi}{2}$.

## 6. Handling of Singularities

#### 6.1. Singularity Handling in Motion Planning

- Potential field methods, where a differentiable real-valued function $U:\mathcal{C}\to \mathbb{R}$, called the potential function, is defined. Such a function has an attractive component that pulls the trajectory towards the goal configuration and a repulsive component that pushes the trajectory away from the start configuration and from the obstacles.
- Sampling-based multi-query methods, where a roadmap is constructed over ${\mathcal{C}}_{\mathrm{free}}$. The nodes represent free-of-obstacles configurations, while the edges represent feasible local paths between those configurations. Once the roadmap is constructed, a search algorithm finds out the best solution trajectory by selecting and joining the local paths through an optimization process.
- Sampling-based single-query methods, where tree-structure data are constructed by searching new configurations (nodes) in ${\mathcal{C}}_{\mathrm{free}}$ and connecting them through local paths (edges). Its main difference with respect to the multi-query methods is that, while the multi-query methods work in two steps (construction of the roadmap and searching of a solution trajectory), in the single-query methods, both steps are taken together. Each new configuration added to the set of nodes is connected by a local path and evaluated in order to check its feasibility.

- For a potential field method, it is sufficient to add a repulsive component that pushes the trajectory, not only away from obstacles, but also away from singularities. To do so, the most efficient method is to define, for each singularity ${\mathit{q}}_{s}$, a quadratic repulsive component as follows:$${U}_{r,{\mathit{q}}_{s}}\left(\mathit{q}\right)=\left\{\begin{array}{cc}{\displaystyle \frac{\kappa}{2}}{\left({\displaystyle \frac{1}{D(\mathit{q},{\mathit{q}}_{s})}}-{\displaystyle \frac{1}{{D}_{0}}}\right)}^{2}\hfill & \mathrm{if}D(\mathit{q},{\mathit{q}}_{s})\le {D}_{0}\hfill \\ 0\hfill & \mathrm{if}D(\mathit{q},{\mathit{q}}_{s}){D}_{0}\hfill \end{array}\right.$$
- For a sampling-based method with multiple queries, it is sufficient to remove from the roadmap those nodes associated with singular configurations. During the construction of the roadmap, each configuration $\mathit{q}\in \mathcal{C}$ is evaluated to determine whether $\mathit{q}$ is free-of-obstacles or not. Similarly, the idea is to evaluate each $\mathit{q}\in \mathcal{C}$ in order to determine whether $\mathit{q}$ is close to a singularity or not. To speed up the process, both evaluations can be carried out together:
- (1)
- Select a value ${D}_{0}>0$ that will work as a threshold.
- (2)
- Given a discretization of the configuration space $\mathcal{C}$, each $\mathit{q}$ of this discretization is evaluated to check whether:
- *
- It is free-of-obstacles;
- *
- It is far from any singularity. This can be achieved simply by evaluating whether $D(\mathit{q},{\mathit{q}}_{s})>{D}_{0}$ or $D(\mathit{q},{\mathit{q}}_{s})\le {D}_{0}$;

- (3)
- If $\mathit{q}$ is free-of-obstacles and far from any singularity, then it can be added to the set of nodes of the roadmap.

- For a sampling-based method with a single query, the approach is completely analogous to the one used for methods with multiple-queries due to the similarities between both categories.

#### 6.2. Singularity Handling in Motion Control

- An input, i.e., the desired or target configuration ${\mathit{q}}_{d}$ together with its velocity ${\dot{\mathit{q}}}_{d}$;
- A controller based on the dynamical model of the robot:$$\mathit{\tau}=M\left(\mathit{q}\right)\ddot{\mathit{q}}+C(\mathit{q},\dot{\mathit{q}})\dot{\mathit{q}}+g\left(\mathit{q}\right)$$
- An output, i.e., the vector of torques $\mathit{\tau}$, that is sent to the robot to perform the desired motion;
- The robot executes the motion and updates the vectors $\mathit{q}$ and $\dot{\mathit{q}}$;
- The robot sends such updated vectors to the controller (also known as the feedback of the system).

- (1)
- The target configuration ${\mathit{q}}_{d}$ is entered into the controller.
- (2)
- ${\mathit{q}}_{d}$ is checked in order to determine whether it is close to a singularity or not:
- –
- Select a threshold value ${D}_{0}>0$.
- –
- Evaluate the condition $D({\mathit{q}}_{d},{\mathit{q}}_{s})>{D}_{0}$ for each singularity ${\mathit{q}}_{s}$.
- –
- If the evaluation returns yes, then $\mathit{\tau}$ can be computed from ${\mathit{q}}_{d}$ using the dynamical model (Equation (99)) and sent to the robot. Otherwise, ${\mathit{q}}_{d}$ is substituted by ${\mathit{q}}_{d}+{D}_{0}{\mathit{q}}_{d}$ and evaluated again.

#### 6.3. Singularity Handling in Bilateral Teleoperation

- (1)
- Select a value ${D}_{0}>0$ that will work as a threshold.
- (2)
- The local manipulator sends a pose (force) $\mathit{p}$ ($\mathit{f}$) to the remote manipulator.
- (3)
- The controller of the remote manipulator obtains the associated configuration $\mathit{q}$.
- (4)
- The distance $D(\mathit{q},{\mathit{q}}_{s})$ is computed for each ${\mathit{q}}_{s}\in \mathcal{S}$.
- (5)
- If, for some ${\mathit{q}}_{s}$, $D(\mathit{q},{\mathit{q}}_{s})<{D}_{0}$, then the remote manipulator controller computes a reaction force ${\mathit{f}}_{s}$ in the same direction of the motion but with inverse sense.
- (6)
- The remote manipulator sends this force ${\mathit{f}}_{s}$ to the local manipulator.
- (7)
- The human operator will not be able to move the local manipulator in such a direction implied by ${\mathit{f}}_{s}$ and, thus, the singularity ${\mathit{q}}_{s}$ will never be reached.

## 7. Conclusions

## Author Contributions

## Funding

## Institutional Review Board Statement

## Informed Consent Statement

## Data Availability Statement

## Conflicts of Interest

## References

- Gottlieb, D. Robots and Topology. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), San Francisco, CA, USA, 7–10 April 1986; pp. 1689–1691. [Google Scholar]
- Hollerbach, J. Optimum kinematic design for a seven degree of freedom manipulator. In Robotics Research: The Second International Symposium; Hanafusa, H., Inoue, H., Eds.; MIT Press: Cambridge, MA, USA, 1985; pp. 215–222. [Google Scholar]
- Carmichael, M.; Khonasty, R.; Aldini, S.; Liu, D. Human Preferences in Using Damping to Manage Singularities During Physical Human-Robot Collaboration. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 31 May–31 August 2020; pp. 10184–10190. [Google Scholar]
- Lopez-Franco, C.; Diaz, D.; Hernandez-Barragan, J.; Arana-Daniel, N.; Lopez-Franco, M. A Metaheuristic Optimization Approach for Trajectory Tracking of Robot Manipulators. Mathematics
**2022**, 10, 1051. [Google Scholar] [CrossRef] - Thananjeyan, B.; Tanwani, A.; Ji, J.; Fer, D.; Patel, V.; Krishnan, S.; Goldberg, K. Optimizing Robot-Assisted Surgery Suture Plans to Avoid Joint Limits and Singularities. In Proceedings of the International Symposium on Medical Robotics (ISMR), Atlanta, GA, USA, 3–5 April 2019; pp. 1–7. [Google Scholar]
- Dupac, M. Smooth trajectory generation for rotating extensible manipulators. Math. Methods Appl. Sci.
**2018**, 41, 2281–2286. [Google Scholar] [CrossRef] - Wang, X.; Zhang, D.; Zhao, C.; Zhang, H.; Yan, H. Singularity analysis and treatment for a 7R 6-DOF painting robot with non-spherical wrist. Mech. Mach. Theory
**2018**, 126, 92–107. [Google Scholar] [CrossRef] - Ratajczak, J.; Tchoń, K. Normal forms and singularities of non-holonomic robotic systems: A study of free-floating space robots. Syst. Control. Lett.
**2020**, 138, 104661. [Google Scholar] [CrossRef] - Almarkhi, A.; Maciejewski, A. Singularity Analysis for Redundant Manipulators of Arbitrary Kinematic Structure. In Proceedings of the 16th International Conference on Informatics in Control, Automation and Robotics (ICINCO), Prague, Czech Republic, 29–31 July 2019; pp. 42–49. [Google Scholar]
- Sharifi, H.; Black, W. Identification Algorithm to Determine the Trajectory of Robots with Singularities. arXiv
**2019**, arXiv:1911.06632. [Google Scholar] - Zhu, G.; Wei, S.; Zhang, Y.; Liao, Q. A Novel Geometric Modeling and Calculation Method for Forward Displacement Analysis of 6-3 Stewart Platforms. Mathematics
**2021**, 9, 442. [Google Scholar] [CrossRef] - Hadfield, H.; Wei, L.; Lasenby, J. The forward and inverse kinematics of a Delta Robot. In Advances in Computer Graphics; Magnenat-Thalmann, N., Stephanidis, C., Wu, E., Thalmann, D., Sheng, B., Kim, J., Papagiannakis, G., Gavrilova, M., Eds.; Springer International Publishing: Berlin/Heidelberg, Germany, 2020; pp. 447–458. [Google Scholar]
- Thiruvengadam, S.; Tan, J.; Miller, K. A Generalised Quaternion and Clifford Algebra Based Mathematical Methodology to Effect Multi-stage Reassembling Transformations in Parallel Robots. Adv. Appl. Clifford Algebr.
**2021**, 31, 39. [Google Scholar] [CrossRef] - Breuils, S.; Tachibana, K.; Hitzer, E. New Applications of Clifford’s Geometric Algebra. Adv. Appl. Clifford Algebr.
**2022**, 32, 1–17. [Google Scholar] [CrossRef] - Hitzer, E.; Lavor, C.; Hildenbrand, D. Current survey of Clifford geometric algebra applications. Math. Methods Appl. Sci. 2022, in press. [CrossRef]
- Corrochano, E.; Sobczyk, G. Applications of Lie algebras and the algebra of incidence. In Geometric Algebra with Applications in Science and Engineering; Corrochano, E., Sobczyk, G., Eds.; Birkhäuser Boston: Boston, MA, USA, 2001; pp. 252–277. [Google Scholar]
- Kanaan, D.; Wenger, P.; Caro, S.; Chablat, D. Singularity analysis of lower mobility parallel manipulators using Grassmann–Cayley algebra. IEEE Trans. Robot.
**2009**, 25, 995–1004. [Google Scholar] [CrossRef] [Green Version] - Tanev, T. Singularity analysis of a 4-DOF parallel manipulator using geometric algebra. In Advances in Robot Kinematics: Mechanisms and Motion; Lennarčič, J., Roth, B., Eds.; Springer: Dordrecht, The Netherlands, 2006; pp. 275–284. [Google Scholar]
- Chai, X.; Xiang, J. Mobility Analysis of Limited-Degrees-of-Freedom Parallel Mechanisms in the Framework of Geometric Algebra. ASME J. Mech. Robot.
**2016**, 8, 41005. [Google Scholar] - Yao, H.; Chen, Q.; Chai, X.; Li, Q. Singularity analysis of 3-RPR parallel manipulators using geometric algebra. Adv. Appl. Clifford Algebr.
**2017**, 27, 2097–2113. [Google Scholar] [CrossRef] - Chai, X.; Li, Q. Analytical mobility analysis of Bennett linkage using geometric algebra. Adv. Appl. Clifford Algebr.
**2017**, 27, 2083–2095. [Google Scholar] [CrossRef] - Ma, J.; Chen, Q.; Yao, H.; Chai, X.; Li, Q. Singularity analysis of the 3/6 Stewart parallel manipulator using geometric algebra. Math. Methods Appl. Sci.
**2018**, 41, 2494–2506. [Google Scholar] [CrossRef] - Huo, X.; Sun, T.; Song, Y. A geometric algebra approach to determine motion/constraint, mobility and singularity of parallel mechanism. Mech. Mach. Theory
**2017**, 116, 273–293. [Google Scholar] [CrossRef] - Chai, X.; Li, Q.; Ye, W. Mobility analysis of overconstrained parallel mechanism using Grassmann-Cayley algebra. Appl. Math. Model.
**2017**, 51, 643–654. [Google Scholar] [CrossRef] - Yang, S.; Li, Y. Classification and analysis of constraint singularities for parallel mechanisms using differential manifolds. Appl. Math. Model.
**2020**, 77, 469–477. [Google Scholar] [CrossRef] - Kim, J.; Jeong, J.; Park, J. Inverse kinematics and geometric singularity analysis of a 3-SPS/S redundant motion mechanism using conformal geometric algebra. Mech. Mach. Theory
**2015**, 90, 23–36. [Google Scholar] [CrossRef] - Huo, L.; Baron, L. The joint-limits and singularity avoidance in robotic welding. Ind. Robot.
**2008**, 35, 456–464. [Google Scholar] [CrossRef] [Green Version] - Yahya, S.; Moghavvemi, M.; Mohamed, H. Singularity avoidance of a six degree of freedom three dimensional redundant planar manipulator. Comput. Math. Appl.
**2012**, 64, 856–868. [Google Scholar] [CrossRef] [Green Version] - Siciliano, B.; Sciavicco, L.; Villani, L.; Oriolo, G. Robotics: Modelling, Planning and Control; Springer Publishing Company: Berlin/Heidelberg, Germany, 2008. [Google Scholar]
- Yao, H.; Li, Q.; Chen, Q.; Chai, X. Measuring the closeness to singularities of a planar parallel manipulator using geometric algebra. Appl. Math. Model.
**2018**, 57, 192–205. [Google Scholar] [CrossRef] - Nawratil, G. Singularity distance for parallel manipulators of Stewart Gough type. In Advances in Mechanism and Machine Science; Uhl, T., Ed.; Springer International Publishing: Berlin/Heidelberg, Germany, 2019; pp. 259–268. [Google Scholar]
- Bu, W. Closeness to singularities of robotic manipulators measured by characteristic angles. Robotica
**2016**, 34, 2105–2115. [Google Scholar] [CrossRef] - Clifford, W.; Smith, H.; Tucker, R. Mathematical Papers by William Kingdon Clifford-Edited; Macmillan: London, UK, 1882. [Google Scholar]
- Grassmann, H. Ausdehnungslehre-Extension Theory (English Re-Edition); American Mathematical Society: Providence, RI, USA, 2000. [Google Scholar]
- Hamilton, W.R. Elements of Quaternions; Longmans, Green: London, UK, 1866. [Google Scholar]
- Doran, C.; Lasenby, A. Geometric Algebra for Physicists; Cambridge University Press: Cambridge, UK, 2003. [Google Scholar]
- Dorst, L.; Fontijne, D.; Mann, S. Geometric Algebra for Computer Science: An Object-Oriented Approach to Geometry; Morgan Kaufmann Publishers Inc.: Burlington, MA, USA, 2007. [Google Scholar]
- Perwass, C. Geometric Algebra with Applications in Engineering; Springer Publishing Company, Incorporated: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
- Hildenbrand, D. Foundations of Geometric Algebra Computing; Springer Publishing Company, Incorporated: Berlin/Heidelberg, Germany, 2012. [Google Scholar]
- Lavor, C.; Xambó-Descamps, S.; Zaplana, I. A Geometric Algebra Invitation to Space-Time Physics, Robotics and Molecular Geometry; SRMA/Springerbriefs; Springer: Berlin/Heidelberg, Germany, 2018. [Google Scholar]
- Murray, R.; Li, Z.; Shankar-Sastry, S. A Mathematical Introduction to Robotic Manipulation; CRC Press: Boca Raton, FL, USA, 1994. [Google Scholar]
- Davidson, J.; Hunt, K. Robots and Screw Theory: Applications of Kinematics and Statics to Robotics; Oxford University Press: Oxford, UK, 2004. [Google Scholar]
- Chasles, M. Note sur les propriétés générales du système de deux corps semblables entr’eux. Bull. Sci. Math. Astron. Phys. Chemiques
**1830**, 14, 321–326. [Google Scholar] - Tsai, L. Robot Analysis: The Mechanics of Serial and Parallel Manipulators; John Wiley and Sons: Hoboken, NJ, USA, 1999. [Google Scholar]
- Sangwine, S.; Hitzer, E. Clifford Multivector Toolbox (for MATLAB). Adv. Appl. Clifford Algebr.
**2017**, 27, 539–558. [Google Scholar] [CrossRef] [Green Version] - Zaplana, I.; Claret, J.; Basanez, L. Kinematic analysis of redundant robotic manipulators: Applications to Kuka LWR 4+ and ABB Yumi. Rev. Iberoam. Autom. Inform. Ind.
**2018**, 15, 192–202. [Google Scholar] [CrossRef] [Green Version] - Basañez, L.; Suárez, R. Teleoperation. In Springer Handbook of Automation; Nof, S., Ed.; Springer: Berlin/Heidelberg, Germany, 2009; pp. 449–468. [Google Scholar]

**Figure 1.**A frame $\{\mathit{o},\mathit{x},\mathit{y},\mathit{z}\}$ is attached to each joint of the serial robot to describe its relative position and orientation.

**Figure 3.**Rotor ${R}_{i}$ relating the twist ${\xi}_{i}$ in two different configurations ${\mathit{q}}_{1}$ and ${\mathit{q}}_{2}$.

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |

© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Zaplana, I.; Hadfield, H.; Lasenby, J.
Singularities of Serial Robots: Identification and Distance Computation Using Geometric Algebra. *Mathematics* **2022**, *10*, 2068.
https://doi.org/10.3390/math10122068

**AMA Style**

Zaplana I, Hadfield H, Lasenby J.
Singularities of Serial Robots: Identification and Distance Computation Using Geometric Algebra. *Mathematics*. 2022; 10(12):2068.
https://doi.org/10.3390/math10122068

**Chicago/Turabian Style**

Zaplana, Isiah, Hugo Hadfield, and Joan Lasenby.
2022. "Singularities of Serial Robots: Identification and Distance Computation Using Geometric Algebra" *Mathematics* 10, no. 12: 2068.
https://doi.org/10.3390/math10122068