*3.5. Reactive Index*

The reactive index quantifies how fast the actuation system is able to change the orientation of the resulting force **F***<sup>B</sup>* (ideally, **F***<sup>d</sup> <sup>B</sup>*). Suppose that the robot is traveling in a direction with a set of thruster forces **F***m*<sup>1</sup> induced from desired force vector **F***<sup>d</sup> <sup>B</sup>*1. The robot wants to change to another direction (or the same direction with a different magnitude) with the desired force vector **F***<sup>d</sup> <sup>B</sup>*2, so the thrusters have to produce another set of thruster forces **F***m*2. The two-norm of the deviation of the thruster forces, %**F***<sup>m</sup>* = **F***m*<sup>1</sup> − **F***m*<sup>2</sup> = [%*Fm*1%*Fm*<sup>2</sup> ···%*Fmm*] *<sup>T</sup>*, is considered as the reactive capability of the robot. Referring to the approximation of the characteristics of the thrusters, as Figure 9, the change from *Fm*<sup>1</sup> to *Fm*<sup>2</sup> is closer than that from *Fm*<sup>1</sup> to *Fm*<sup>3</sup> (in the linear section, the dead-zone of the thruster characteristics is neglected in this paper). Hence, we have:

$$
\triangle \mathbf{F}\_{\mathcal{W}} = \mathbf{A}^+ (\mathbf{F}\_{B1}^d - \mathbf{F}\_{B2}^d) = \mathbf{A}^+ \triangle \mathbf{F}\_B^d \tag{9}
$$

$$\|\triangle \mathbf{F}\_m\| = \|\mathbf{A}^+ \triangle \mathbf{F}\_B^d\| \le \|\mathbf{A}^+\| \|\triangle \mathbf{F}\_B^d\| \tag{10}$$

$$\frac{\|\triangle \mathbf{F}\_{\mathsf{m}}\|}{\|\triangle \mathbf{F}\_{\mathsf{B}}^{d}\|} \leq \|\mathbf{A}^{+}\|\tag{11}$$

From Equation (11), the sensitivity of the thruster forces with respect to the desired forces, in other words the variation of the thruster forces w.r.t. the desired forces, is upperbounded by the norm of the pseudo-inverse of the configuration matrix, **<sup>A</sup>**<sup>+</sup>. We define the reactive index as:

$$I\_{\rm ref} = \|\mathbf{A}^+\|\tag{12}$$

It is obvious to see that if this index is lower, the robot is more reactive. Then, the objective of the design process is to minimize the reactive index.

**Figure 9.** Thruster characteristics' approximation.

#### *3.6. Robustness Index*

This criterion measures the robustness level of the AS of an underwater robot. This means that if any thruster of the robot fails, the remaining ones can still perform the robot's mission. In particular, for any **F***<sup>d</sup> <sup>B</sup>* vector, there always exists a **F***<sup>m</sup>* vector to satisfy the equation **F***<sup>B</sup>* = **AF***m*, and **F***<sup>B</sup>* is as close as possible to **F***<sup>d</sup> B*.

We have:

$$\mathbf{F}\_B = \mathbf{A} \mathbf{F}\_m = \sum\_{i=1}^m \mathbf{a}\_i F\_{m,i} \tag{13}$$

where **a***<sup>i</sup>* is the *i*th column of the matrix **A** and *Fm*,*<sup>i</sup>* is the force magnitude of the *i*th thruster.

When one or more thrusters completely fail, the value of *Fm*,*<sup>i</sup>* = 0. Note that in the case that the *i*th thruster has partly failed, the value of *Fm*,*<sup>i</sup>* remains small (not addressed in this paper). This is equivalent, as we considered that a corresponding column **a***<sup>i</sup>* of the configuration matrix **A** equals the zero vector. Therefore, Equation (13) is equivalent to:

$$\mathbf{F}\_B = \mathbf{A}^\prime \mathbf{F}\_m \tag{14}$$

where the **A** matrix is the **A** matrix with one or more corresponding columns equal to the zero vectors.

We discuss hereafter two questions: What are the conditions of the matrix **A** to guarantee the robustness? What is the maximum number of failed thrusters?

To address these two questions, we supposed that *k* thrusters fail, and Equation (14) is a linear equation system with six equations (the dimensions of **F***<sup>B</sup>* are 6 × 1) and (*m* − *k*) variables, because the matrix **A** is 6 × *m*, where *k* columns are zero vectors. It is obvious to see that if *rank*(**A** ) = 6, for a given **F***<sup>d</sup> <sup>B</sup>*, there always exits **<sup>F</sup>***<sup>m</sup>* such that **<sup>F</sup>***<sup>B</sup>* = **<sup>A</sup> F***m* and **F***<sup>B</sup>* is as close as possible to **F***<sup>d</sup> <sup>B</sup>*. This can be interpreted as *m* − *k* ≥ 6 or *k* ≤ *m* − 6. The condition on the configuration matrix and that on the maximum number of failed thruster that guarantee the robustness of an underwater robot are stated as:


*Iro* = *rank*(**A**|≤*m*−6) = 6 (15)

where **A**|≤*m*−<sup>6</sup> is the **A** matrix where the maximum number of columns being zero is (*m* − 6). This index is verified in the solving process of the problem.

#### *3.7. Configuration Matrix Design Problem*

With all the performance indices discussed above, we propose the following design problem:

$$\min\_{\mathbf{A}} \mathbf{V}(\mathbf{A}) = \min\_{\mathbf{A}} \left[ I\_m \, I\_c \, \frac{1}{I\_{\text{uv}}} \, I\_{rc} \right]^T \tag{16}$$
  $s.t. \quad \mathbf{A} \in \mathbb{A}$ 

where **V**(**A**) is the objective function vector. A is the feasible set of the configuration matrix (**A**) including the constraints of the configuration matrix (**A**) and the robustness index. The reciprocal of the workspace index, <sup>1</sup> *Iw* , is in Equation (16), because we wanted to maximize the workspace index.

This is a multi-objective optimization problem, and the unique solution belongs to the convexity of each objective function in the objective vector and the feasible set, A. Note that this optimization problem is with respect to a matrix variable (*matrix optimization*), not a vector variable. However, the optimization techniques for vector variables (*vector optimization*) can be applied here because we do not lose the physical meaning when converting a matrix variable to a vector variable in this optimization problem (because of the independency of each column in the matrix derived from the independent positions and orientations of the thrusters).

Specifically, Equation (16) can be rewritten as:

$$\min\_{\mathbf{A}} \mathbf{V}(\mathbf{A}) = \min\_{\mathbf{A}} [I\_{\text{m}} \, \, \_{l} \, \frac{1}{I\_{\text{w}}} \, \_{l} \mathbf{r}\_{\text{c}}]^{T} \tag{17}$$
 
$$\begin{aligned} s.t. \quad & ||\mathbf{u}\_{i}|| = 1, i = 1, 2, \dots, m \\ & ||\mathbf{r}\_{i}|| \le 1, i = 1, 2, \dots, m \\ & \mathbf{r}\_{i}^{T} \mathbf{u}\_{i} = 0, i = 1, 2, \dots, m \\ & \mathbf{I}\_{\text{r}0} = \text{rank}(\mathbf{A})\_{\le m-6}) = 6 \end{aligned} $$

The problem (17) is to minimize an objective vector **V**(**A**), including the manipulability index, the energetic index, the reciprocal of the workspace index, and the reactive index, with respect to configuration matrix, **A**, and to satisfy the constraints of the matrix structure itself and the robustness index. It is clear that this is a nonconvex and multiobjective optimization problem, which normally has many solutions. In the following sections, we propose a mathematical analysis and a method for solving the multi-objective optimization problem.

#### **4. Problem Solution**

Our final objective was to find a distribution (position and orientation) of the thrusters of an underwater robot. This means obtaining the **u***<sup>i</sup>* and **r***<sup>i</sup>* vectors for *i* = 1, 2, ... , *m*. These vectors can be extracted from configuration matrix **A**, which is the solution of the problem (17). Recall that our problem (17) is the multi-objective optimization problem with nonconvexity, and theoretically, this problem has infinitely many Pareto-optimal solutions. Our objective was to find one Pareto-optimal solution to build the robot. Analyzing the underlying mathematical properties of the problem helped us simplify the solving process. Thus, the mathematical analysis of the problem is shown in the next section.

#### *4.1. Mathematical Analysis*

The configuration matrix **A** has the form:

$$\mathbf{A} = \begin{pmatrix} \mathbf{u}\_1 & \mathbf{u}\_2 & \cdots & \mathbf{u}\_m \\ \mathbf{\tau}\_1 & \mathbf{\tau}\_2 & \cdots & \mathbf{\tau}\_m \end{pmatrix} \tag{18}$$

We have:

$$\mathbf{B} = \mathbf{A}^T \mathbf{A} = \begin{pmatrix} \mathbf{u}\_1 & \mathbf{u}\_2 & \cdots & \mathbf{u}\_m \\ \mathbf{\tau}\_1 & \mathbf{\tau}\_2 & \cdots & \mathbf{\tau}\_m \end{pmatrix}^T \begin{pmatrix} \mathbf{u}\_1 & \mathbf{u}\_2 & \cdots & \mathbf{u}\_m \\ \mathbf{\tau}\_1 & \mathbf{\tau}\_2 & \cdots & \mathbf{\tau}\_m \end{pmatrix} \tag{19}$$

**B** is an *m* × *m* symmetric matrix where each element is denoted as *bij*. We have:

$$\begin{aligned} \text{Tr}(\mathbf{B}) &= \sum\_{i=1}^{m} b\_{ii} \\ &= \sum\_{i=1}^{m} \lambda\_i \end{aligned} \tag{20}$$

where *λ<sup>i</sup>* is the *i*th eigenvalue of matrix **B**.

From Equations (19) and (20), we have:

$$\begin{aligned} \sum\_{i=1}^{m} \lambda\_i &= \sum\_{i=1}^{m} \mathbf{u}\_i^T \mathbf{u}\_i + \mathbf{r}\_i^T \mathbf{r}\_i \\ &= \sum\_{i=1}^{m} ||\mathbf{u}\_i||^2 + ||\mathbf{r}\_i||^2 \\ \sum\_{i=1}^{m} \lambda\_i &= \sum\_{i=1}^{m} (1 + ||\mathbf{r}\_i||^2) \end{aligned} \tag{21}$$

In the case of manipulability index optimization, the condition of configuration matrix **A** is one, *cond*(**A**) = 1. This means that the maximum singular value equals the minimum singular value, *σmax* = *σmin*. Note that the matrix **A** is the *n* × *m* matrix with *n* < *m*. The matrix **A** has *n* nonzero singular values (we have to guarantee that *rank*(**A**) = *n*), then the matrix **B** has *n* nonzero eigenvalues and *m* − *n* zero eigenvalues.

In the optimization case of the manipulability index, *cond*(**A**) = 1 ⇒ *σmax* = *σmin*, we have *<sup>λ</sup><sup>i</sup>* <sup>=</sup> *<sup>λ</sup>max* <sup>=</sup> *<sup>λ</sup>min* <sup>=</sup> *<sup>λ</sup>* (*<sup>σ</sup>* <sup>=</sup> <sup>√</sup>*λ*). Equation (21) is rewritten as:

$$m\lambda = m + \sum\_{i=1}^{m} ||\pi\_i||^2$$

$$\lambda = \frac{m}{n} + \frac{1}{n} \sum\_{i=1}^{m} ||\pi\_i||^2 \tag{22}$$

Considering the fact that *<sup>τ</sup><sup>i</sup>* <sup>2</sup> <sup>≤</sup> 1, we have:

$$
\lambda \le 2.\frac{m}{n} \tag{2.3}
$$

Therefore, we have *λmax* = 2 *<sup>m</sup> <sup>n</sup>* when *<sup>τ</sup><sup>i</sup>* <sup>2</sup> <sup>=</sup> 1.

In the singular-value decomposition of a matrix, when *cond*(**A**) = 1, the matrix **A** can be written as:

$$\mathbf{A} = \mathbf{U}\mathbf{S}\mathbf{V}^T = \mathbf{U}[\sigma]\_{n \times m}\mathbf{V}^T \tag{24}$$

where **<sup>U</sup>** <sup>∈</sup> <sup>R</sup>*n*×*n*, **<sup>V</sup>** <sup>∈</sup> <sup>R</sup>*m*×*<sup>m</sup>* are orthogonal matrices, **<sup>S</sup>** = [*σ*]*n*×*<sup>m</sup>* <sup>=</sup> ⎛ ⎜⎝ *σ* 0 ··· 0 . . . *σ* ··· 0 0 ··· *σ* 0 ⎞ ⎟⎠ <sup>∈</sup>

R*n*×*<sup>m</sup>*

The pseudo-inverse of matrix **A** is **A**<sup>+</sup> and can be written as:

$$\mathbf{A}^{+} = \mathbf{V}\mathbf{S}^{+}\mathbf{U}^{T} = \mathbf{V}[\frac{1}{\sigma}]\_{m \times n}\mathbf{U}^{T} \tag{25}$$

$$\text{where } \mathbf{S}^+ = [\frac{1}{\sigma}]\_{m \times n} = \begin{pmatrix} \frac{1}{\sigma} & \cdots & 0 \\ \vdots & \frac{1}{\sigma} & 0 \\ 0 & 0 & \frac{1}{\sigma} \\ 0 & \cdots & 0 \end{pmatrix} \in \mathbb{R}^{m \times n}$$

Our objective for the reactive index was to minimize **<sup>A</sup>**<sup>+</sup>. From Equation (25), the reactive index *Ire* <sup>=</sup> **<sup>A</sup>**<sup>+</sup> <sup>=</sup> <sup>1</sup> *<sup>σ</sup>* , and the minimum value of the reactive index is equivalent to the maximum value of *σ*. This leads to the equality of Equation (23).

In order to minimize the reactive index and the manipulability index, the configuration matrix **A** has the following structure:

$$\begin{aligned} \mathbf{A} &= \mathbf{U} \mathbf{S} \mathbf{V}^T \\ &= \mathbf{U} \begin{pmatrix} \sigma & 0 & \cdots & 0 & 0 & 0 \\ 0 & \sigma & 0 & \cdots & 0 & 0 \\ 0 & 0 & \sigma & 0 & \cdots & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ 0 & 0 & 0 & \sigma & 0 & 0 \end{pmatrix} \mathbf{V}^T \end{aligned} \tag{26}$$

where **<sup>S</sup>**(*<sup>n</sup>* <sup>×</sup> *<sup>m</sup>*) is like-diagonal and *<sup>σ</sup>* <sup>=</sup> <sup>√</sup>*<sup>λ</sup>* <sup>=</sup> - 2 *<sup>m</sup> <sup>n</sup>* ; **U**(*n* × *n*) and **V**(*m* × *m*) are orthogonal matrices (**UU***<sup>T</sup>* = **I**, **VV***<sup>T</sup>* = **I**). This result can be used as the initial value of the numerical optimization process and is useful for solving the problem.

We continue to discuss the energetic index. First, we introduce a proposition as follows:

$$\begin{aligned} \textbf{Proposition 1.} \text{ Let } \mathbf{M} \text{ be a } p \times q \text{ matrix } (p \ge q), \mathbf{M} \in \mathbb{R}^{p \times q}. \text{ For all } \mathbf{x} \in \mathbb{R}^q, \text{ if } \mathbf{M} = \mathbf{P} \mathbf{Z} \mathbf{Q}^T, \\\\mathbf{P} \in \mathbb{R}^{p \times p}, \mathbf{Q} \in \mathbb{R}^{q \times q} \text{ are orthogonal matrices, } \mathbf{E} = \begin{pmatrix} \mu & 0 & \cdots & 0 \\ 0 & \mu & \cdots & 0 \\ 0 & \cdots & \mu & 0 \\ 0 & \cdots & 0 & \mu \\ \vdots & \vdots & \vdots & \vdots \\ 0 & 0 & 0 & 0 \end{pmatrix} \in \mathbb{R}^{p \times q}, \text{ then} \end{aligned}$$

 **Mx** = **M x** *.*

**Proof.** We have:

$$\|\mathbf{M}\mathbf{x}\|^2 = (\mathbf{M}\mathbf{x})^T(\mathbf{M}\mathbf{x}) = \mathbf{x}^T\mathbf{M}^T\mathbf{M}\mathbf{x} \tag{27}$$

With **M** = **PΣQ***T*:

$$\begin{aligned} \|\mathbf{M}\mathbf{x}\|^2 &= \mathbf{x}^T (\mathbf{P}\mathbf{\Sigma}\mathbf{Q}^T)^T (\mathbf{P}\mathbf{\Sigma}\mathbf{Q}^T) \mathbf{x} \\ &= \mathbf{x}^T \mathbf{Q} \mathbf{\Sigma}^T \mathbf{P}^T \mathbf{P} \mathbf{\Sigma} \mathbf{Q}^T \mathbf{x} \\ &= \mathbf{x}^T \mathbf{Q} \mathbf{\Sigma}^T \mathbf{\Sigma} \mathbf{Q}^T \mathbf{x} \end{aligned} \tag{28}$$

We have:

$$\mathbf{E}^T \mathbf{E} = \begin{pmatrix} \mu & 0 & \cdots & 0 \\ 0 & \mu & \cdots & 0 \\ 0 & \cdots & \mu & 0 \\ 0 & \cdots & 0 & \mu \\ \vdots & \vdots & \vdots & \vdots \\ 0 & 0 & 0 & 0 \end{pmatrix}^T \begin{pmatrix} \mu & 0 & \cdots & 0 \\ 0 & \mu & \cdots & 0 \\ 0 & \cdots & \mu & 0 \\ 0 & \cdots & 0 & \mu \\ \vdots & \vdots & \vdots & \vdots \\ 0 & 0 & 0 & 0 \end{pmatrix}$$
 
$$= \begin{pmatrix} \mu^2 & 0 & \cdots & 0 \\ 0 & \mu^2 & \cdots & 0 \\ \vdots & \vdots & \vdots & \vdots \\ 0 & \cdots & 0 & \mu^2 \end{pmatrix} = \mu^2 \mathbf{I} \tag{29}$$

where **I** is a *q* × *q* identity matrix.

Replacing Equation (29) to (28), we have:

$$\begin{aligned} \left\| \mathbf{M} \mathbf{x} \right\|^2 &= \mathbf{x}^T \mathbf{V} \mu^2 \mathbf{I} \mathbf{V}^T \mathbf{x} \\ &= \mu^2 \mathbf{x}^T \mathbf{x} = \left\| \mathbf{M} \right\|^2 \left\| \mathbf{x} \right\|^2 \end{aligned} \tag{30}$$

Therefore, **Mx** = **M x**.

The energetic index is stated as:

$$I\_{\varepsilon} = \frac{1}{S} \int\_{S} (w\_{\varepsilon f} \| \mathbf{A}^{+} (\mathbf{F}\_{B}^{d}(f)) \| + w\_{\varepsilon \Gamma} \| \mathbf{A}^{+} \mathbf{F}\_{B}^{d}(\Gamma) \| \right) dS \tag{31}$$

Choosing *we f* = *we*<sup>Γ</sup> = 1 (because the desired force vectors, **F***<sup>d</sup> <sup>B</sup>*(*f*), **<sup>F</sup>***<sup>d</sup> <sup>B</sup>*(*τ*), are units), we have:

$$I\_{\mathbf{f}} = \frac{1}{S} \int\_{S} (||\mathbf{A}^{+}\mathbf{F}\_{B}^{d}(f)|| + ||\mathbf{A}^{+}\mathbf{F}\_{B}^{d}(\Gamma)||)dS\tag{32}$$

In the case in which the reactive index and the manipulability index are minimum, the configuration matrix **A**(*n* × *m*) has the form of Equation (26); therefore, the pseudoinverse matrix **<sup>A</sup>**+(*<sup>m</sup>* <sup>×</sup> *<sup>n</sup>*, *<sup>m</sup>* <sup>&</sup>gt; *<sup>n</sup>*) has the following structure:

$$\mathbf{A}^{+} = \mathbf{V} \mathbf{S}^{+} \mathbf{U}^{T} = \mathbf{V} \begin{pmatrix} \frac{1}{\sigma} & 0 & \cdots & 0 \\ 0 & \frac{1}{\sigma} & \cdots & 0 \\ 0 & \cdots & \frac{1}{\sigma} & 0 \\ 0 & \cdots & 0 & \frac{1}{\sigma} \\ \vdots & \vdots & \vdots & \vdots \\ 0 & 0 & 0 & 0 \end{pmatrix} \mathbf{U}^{T} \tag{33}$$

where **V**, **U** are orthogonal matrices.

It is clear that matrix **A**<sup>+</sup> satisfies the condition of Proposition 1. Applying this proposition, we have: **<sup>A</sup>**+**F***<sup>d</sup> <sup>B</sup>*(*f*) <sup>=</sup> **<sup>A</sup>**<sup>+</sup> **<sup>F</sup>***<sup>d</sup> <sup>B</sup>*(*f*) and **<sup>A</sup>**+**F***<sup>d</sup> <sup>B</sup>*(Γ) <sup>=</sup> **<sup>A</sup>**<sup>+</sup> **<sup>F</sup>***<sup>d</sup> <sup>B</sup>*(Γ). Therefore, Equation (32) becomes:

$$\begin{split} I\_{\mathfrak{c}} &= \frac{1}{S} \int\_{S} (||\mathbf{A}^{+}|| \, ||\mathbf{F}\_{B}^{d}(f)|| + ||\mathbf{A}^{+}|| \, ||\mathbf{F}\_{B}^{d}(\Gamma)||) dS \\ &= \frac{1}{S} ||\mathbf{A}^{+}|| \int\_{S} (||\mathbf{F}\_{B}^{d}(f)|| + ||\mathbf{F}\_{B}^{d}(\Gamma)||) dS \\ &= 2 \|\mathbf{A}^{+}\| \end{split} \tag{34}$$

From the aforementioned mathematical analysis of the energetic index, we can see that the energetic index belongs to the norm of the pseudo-inverse of the configuration matrix, *Ire* <sup>=</sup> <sup>2</sup> **<sup>A</sup>**<sup>+</sup>, when the configuration matrix **<sup>A</sup>** has the form of (26).

We then discuss the upper-bound of the workspace index. For the units' consistency, the workspace index for the force space and that for the torque space were investigated separately, denoted as *Iw f* and *Iwτ*, respectively. Recall that the objective of the workspace index is to maximize the volume of the resulting force space (**F***<sup>B</sup>* space), including the resulting space for the force and the resulting space for the torque with given thrusters' force (the **F***m* space).

The fact that for all vectors **<sup>F</sup>***<sup>m</sup>* <sup>∈</sup> <sup>R</sup>*m*, **AF***m*≤**<sup>A</sup> <sup>F</sup>***<sup>m</sup>*. The volume of the resulting force space is maximum when the equality holds.

Following Figure 10, the volumes of the resulting force spaces (**F***B*) (the force and torque spaces) are always less than the volumes of the exterior hypersphere of **F***<sup>B</sup>* spaces of the force and torque (this may be the circumscribed spheres or not). This means that:

**Figure 10.** Upper-bound of the resulting force space.

$$I\_{wF} \le Vol(\mathbf{B}(R1))$$

$$I\_{wT} \le Vol(\mathbf{B}(R2)) \tag{35}$$

where **B**(*R*1) and **B**(*R*2) are Euclidean balls of radius *R*1 = **A**(**1** : **3**, :)**F***<sup>m</sup>* = **A**<sup>1</sup> **F***<sup>m</sup>* and of radius *R*2 = **A**(**4** : **6**, :)**F***<sup>m</sup>* = **A**<sup>2</sup> **F***<sup>m</sup>*, respectively; **A**(**1** : **3**, :) is composed of the first three rows of **A**, and **A**(**4** : **6**, :) is composed of the last three rows of **A**.

The volume of a Euclidean ball of radius *R* in *n*-dimensional Euclidean space is [21]:

$$V\_{\mathbb{M}}(R) = \begin{cases} \frac{\pi^k}{k!} R^{2k}, & \text{if } \mathbb{M} = 2k\\ \frac{2^{k+1}\pi^k}{(2k+1)!!} R^{2k+1}, & \text{if } \mathbb{M} = 2k+1. \end{cases} \tag{36}$$

where (2*k* + 1)!! = 1.3.5, . . . ,(2*k* − 1).(2*k* + 1).

**Proposition 2.** *If the configuration matrix* **A** *has the form of* (26)*, then cond*(**A**1) = *cond*(**A**2) = 1 *and* **A**<sup>1</sup> = **A**<sup>2</sup> = *σ.*

**Proof.** We have:

$$\begin{split} \mathbf{A} \mathbf{A}^T &= (\mathbf{U} \mathbf{S} \mathbf{V}^T)(\mathbf{U} \mathbf{S} \mathbf{V}^T)^T = \mathbf{U} \mathbf{S} \mathbf{V}^T \mathbf{V} \mathbf{S}^T \mathbf{U}^T \\ &= \mathbf{U} \mathbf{S} \mathbf{S}^T \mathbf{U}^T = \sigma^2 \mathbf{I} \end{split} \tag{37}$$

On the other hand:

$$\begin{aligned} \mathbf{A}\mathbf{A}^T &= \begin{pmatrix} \mathbf{A}\_1 \\ \mathbf{A}\_2 \end{pmatrix} \begin{pmatrix} \mathbf{A}\_1 \\ \mathbf{A}\_2 \end{pmatrix}^T = \begin{pmatrix} \mathbf{A}\_1 \\ \mathbf{A}\_2 \end{pmatrix} (\mathbf{A}\_1^T \mathbf{A}\_2^T) \\ &= \begin{pmatrix} \mathbf{A}\_1 \mathbf{A}\_1^T & \mathbf{0} \\ \mathbf{0} & \mathbf{A}\_2 \mathbf{A}\_2^T \end{pmatrix} \end{aligned} \tag{38}$$

From (37) and (38), we have:

$$\mathbf{A}\_1 \mathbf{A}\_1^T = \sigma^2 \mathbf{I}\_1$$

$$\mathbf{A}\_2 \mathbf{A}\_2^T = \sigma^2 \mathbf{I}\_2\tag{39}$$

where **I**<sup>1</sup> and **I**<sup>2</sup> are partitioned matrices of matrix **I**.

From (39) and the uniqueness of singular-value decomposition [22], it is obvious to see that the structures of **A**<sup>1</sup> and **A**<sup>2</sup> are the same as (26) with different dimensions. Therefore, *cond*(**A**1) = *cond*(**A**1) = 1 and **A**<sup>1</sup> = **A**<sup>2</sup> = *σ*.

From (35) and (36) and Proposition 2, it is obvious to obtain the upper-bound of the resulting spaces of the force and torque of the system and then the upper-bound of the workspace index. Normally, the weighting coefficients in the workspace index are chosen as one because of our assumption of *di*.

#### *4.2. Problem Solution*

Based on the above mathematical analysis, the goal-attainment method was chosen to solve the problem with the given desired values. The idea of this method is to minimize the deviation of the desired values and the obtained values. One advantage of the goalattainment method is that the problem does not need to be normalized to a dimensionless problem. The solution of this method has been proven to be Pareto-optimal. This method is also suitable when the feasible objective set is nonconvex [23]. All Pareto-optimal solutions may be found by changing the attainment vector; however, this depends on the properties of the problem.

Our problem using the goal-attainment method becomes:

$$\begin{aligned} \min\_{\mathbf{A}, \gamma} & \gamma\\ \text{s.t.} & \mathbf{A} \in \mathbb{A} \\ & \mathbf{V}(\mathbf{A}) - \mathbf{w}\gamma \le \mathbf{V}\_{\text{goal}} \end{aligned} \tag{40}$$

where <sup>A</sup>¯ <sup>=</sup> <sup>A</sup> \ *Iro*, i.e., the feasible set of configuration matrices, **<sup>A</sup>**, without robustness index *Iro*, *γ* is a slack vector variable, and **V***goal* = [*I<sup>d</sup> <sup>m</sup> I<sup>d</sup> <sup>e</sup>* <sup>1</sup> *Id w Id re*] is the desired objective vector, **w** is an attainment vector, which can be chosen. The goal-attainment method with two objective functions is illustrated in Figure 11. By altering **w** vector, we searched for the Pareto-optimal solutions.

Therefore, our solving process included two phases:


The optimization toolbox in the MATLAB environment was used to solve our problem. Note that our problem was formulated as a multi-objective optimization problem. One objective has one desired value excluding the robustness index, which is as a constraint, and therefore, the desired vector is set up. The goal-attainment method was used to solve the problem. An attainment vector was chosen as a trade-off between the underachievement and overachievement of the objective functions. In multi-objective optimization, an optimal solution depends on a decision maker. Theoretically, there is no method for this choice. In our work, this vector was selected by trial and error. In particular, for the

manipulability, reactivity, and energetic indices, we know exactly the desired values, so the corresponding values in the attainment vector were chosen as zero, which means that these are hard constraints. For the workspace index, we only know the upper-bound of the desired value; therefore, a positive value was chosen for underachievement.

**Figure 11.** Goal-attainment method with two objective functions.
