**2. Description and mobility analysis of a H4 parallel manipulator**

The basic concept of H4 is described by a simple architectural scheme as illustrated in Fig. 1, where joints are represented by lines (Pierrot et al, 2001). The manipulator is based on four independent chains between the base and the End-Effector (EE); each chain is driven by an actuator which is fixed on the base. Let P, R, U and S represent prismatic, revolute, universal, and spherical joints, respectively. Each of the *P-U-U* and *R-U-U* chains must satisfy some geometrical conditions to guarantee that the manipulator offers three translations and one rotation about a given axis (see (Pierrot & Company, 1999) for details). The *U-U* and *(S-S)2* (or *(U-S)2*) chains can be considered as "equivalent" in terms of number and type of degrees of motion, so the *P-U-U* (or *R-U-U*) chains can be replaced by *P-(U-S)2* or *P-(S-S)2* chains (respectively by *R-(U-S)2* or *R-(S-S)2*). In this chapter, *P-(S-S)2* chain is chosen for the mechanism architecture of H4. Fig. 2 shows the architecture of H4 (chain #1 is not plotted for sake of simplicity) (Poignet et al, 2010).

Fig. 1. Architectural scheme of H4

It is noteworthy that the four independent chains are not directly connected to the EE. It is possible to add another revolute joint on this end part and to couple it (with gears, timing belt, etc (Robotics Department of LIRMM)) so that the range of motion obtained on this latter joint can be larger than the end part ones. It is even possible to equip this passive revolute joint with a sensor to improve the robot accuracy. Moreover, the manipulator is a high-speed mechanism and can be easily controlled. So the H4 manipulator has the ability of serving as an efficient pick-and-place robot.

Considering the H4 robotic structure as given in Fig. 2, its geometrical parameters of are defined as follows:


problem, Genetic Algorithm (GA) Method is used here to optimize the workspace. Finally, using GA, the manipulator is optimized based on a mixed performance index that is a weighted sum of global conditioning index and its workspace. It is shown that by introducing this

The basic concept of H4 is described by a simple architectural scheme as illustrated in Fig. 1, where joints are represented by lines (Pierrot et al, 2001). The manipulator is based on four independent chains between the base and the End-Effector (EE); each chain is driven by an actuator which is fixed on the base. Let P, R, U and S represent prismatic, revolute, universal, and spherical joints, respectively. Each of the *P-U-U* and *R-U-U* chains must satisfy some geometrical conditions to guarantee that the manipulator offers three translations and one rotation about a given axis (see (Pierrot & Company, 1999) for details). The *U-U* and *(S-S)2* (or *(U-S)2*) chains can be considered as "equivalent" in terms of number and type of degrees of motion, so the *P-U-U* (or *R-U-U*) chains can be replaced by *P-(U-S)2* or *P-(S-S)2* chains (respectively by *R-(U-S)2* or *R-(S-S)2*). In this chapter, *P-(S-S)2* chain is chosen for the mechanism architecture of H4. Fig. 2 shows the architecture of H4 (chain #1 is

It is noteworthy that the four independent chains are not directly connected to the EE. It is possible to add another revolute joint on this end part and to couple it (with gears, timing belt, etc (Robotics Department of LIRMM)) so that the range of motion obtained on this latter joint can be larger than the end part ones. It is even possible to equip this passive revolute joint with a sensor to improve the robot accuracy. Moreover, the manipulator is a high-speed mechanism and can be easily controlled. So the H4 manipulator has the ability of

Considering the H4 robotic structure as given in Fig. 2, its geometrical parameters of are

Two frames are defined, namely {A}: a reference frame fixed on the base; {B}: a

unity vector parallel to the z axis in the reference frame {A}), and the origin is point **Pi**, so the position of each point **Ai** is given by: **A P qz** *i i ii* ; for i=1,…4, in which **qi** is the

 ( *<sup>z</sup> k* 

is the

The actuators slide along guide-ways oriented along a unitary vector, *<sup>z</sup> k*

measure, the parallel manipulator is improved at the cost of workspace reduction.

**2. Description and mobility analysis of a H4 parallel manipulator** 

not plotted for sake of simplicity) (Poignet et al, 2010).

Fig. 1. Architectural scheme of H4

defined as follows:

actuator coordinates.

serving as an efficient pick-and-place robot.

coordinate frame fixed on the EE (*C1-C1*).


b) Robot CAD model

Fig. 2. H4 parallel manipulator

Without losing generality, in this chapter we consider *<sup>T</sup> i ii* **<sup>P</sup>** *ab0* for simplicity, Qz is the offset of {B} from {A} along the direction of *<sup>z</sup> k* .

One can effectively analyze the mobility of a H4 parallel manipulator by resorting to screw theory, which is a convenient tool to study instantaneous motion systems that include both rotation and translation in three dimensional spaces (Zhao et al, 2004).

A screw is called a twist when it is used to describe the motion state of a rigid body and a wrench when it is used to represent the force and moment of a rigid body. If a wrench acts on a rigid body in such a way that it produces no work, while the body is undergoing an infinitesimal twist, the two screws are said to be reciprocal (Li & Xu, 2007). In a parallel manipulator, the reciprocal screws associated with a serial limb represent the wrench constraints imposed on the moving platform by the serial limb. The motions of the moving platform are determined by the combined effect of all the wrench constraints imposed by each limb. Therefore, we can get the following equation:

$$
\begin{aligned}
\clubsuit\_r^T \circ \clubsuit &= O \end{aligned} \tag{1}
$$

Optimization of H4 Parallel Manipulator Using Genetic Algorithm 405

**<sup>x</sup>** *xyz* be the array of the pose of the EE. The position of points *C1* and *C2* are

**C B BC C B BC** *1 2 ( )* **<sup>1</sup>** *( ) <sup>2</sup>*

where **Rot***( )* denotes the rotation matrix of the EE with respect to reference frame and is

*cos( ) sin( ) 0 sin( ) cos( ) 0 0 01*

*111 1 2 1 12 322 3 4 2 24*

 **B C CB B C CB B C CB B C CB**

*A B z () ()*

**Rot R R**

<sup>R</sup> <sup>o</sup> <sup>t</sup> <sup>R</sup> <sup>o</sup> <sup>t</sup> (6)

(8)

*2 2 ||A B || M ii i* (9)

(7)

Fig. 3. Design parameters of H4

Moreover, the position of each point **Bi** is given by:

Therefore, the following can then be written:

*<sup>T</sup>*

given by [4]:

defined as:

where *<sup>r</sup>* \$ is the reciprocal screw and '' '' represents the reciprocal production of two screws (Dai & Jones, 2007). According to the physical interpretations of reciprocal screws, one can obtain the constraints spaces that should be spanned by all of the reciprocal screws. As far as a H4 parallel manipulator is concerned, each S joint is equivalent to three intersecting non-coplanar R joints, and then the joint twists associated with the ith *P-(S-S)2-R* (or *P-U-U-R*) chain form a 6-system, which can be identified in the fixed frame as follows:

$$\begin{aligned} \mathbf{S}\_1^i &= \begin{bmatrix} 0\\ \bar{s}\_1^i \end{bmatrix}, \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \begin{aligned} \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \} \end{aligned}$$

where *<sup>i</sup> j s* denotes a unit vector along the jth joint axis of the ith chain, for *i 1,...,4* . Therefore, the kinematic screws of each kinematic chain can be expressed as:

$$\begin{bmatrix} \mathbf{S}^i \end{bmatrix}^T = \begin{bmatrix} \mathbf{S}\_1^i & \mathbf{S}\_2^i & \mathbf{S}\_3^i & \mathbf{S}\_4^i & \mathbf{S}\_5^i & \mathbf{S}\_6^i \end{bmatrix} \tag{3}$$

Therefore, the reciprocal screws of kinematic chains can be derived as:

$$\begin{bmatrix} \mathbf{S}\_{\text{plotform}}^{r} \end{bmatrix}^{T} = \begin{bmatrix} \mathbf{S}\_{r}^{1} & \mathbf{S}\_{r}^{2} & \mathbf{S}\_{r}^{3} & \mathbf{S}\_{r}^{4} \end{bmatrix} \tag{4}$$

Finally one can compute null spaces of the foregoing reciprocal screws which leads to the DOF of the manipulator; namely,

$$\begin{aligned} DoF\_1 &= \begin{bmatrix} 0 & 0 & 0 & 1 & 0 & 0 \end{bmatrix}^T \\ DoF\_2 &= \begin{bmatrix} 0 & 0 & 0 & 0 & 1 & 0 \end{bmatrix}^T \\ DoF\_3 &= \begin{bmatrix} 0 & 0 & 0 & 0 & 0 & 1 \end{bmatrix}^T \\ DoF\_4 &= \begin{bmatrix} 0 & 0 & 1 & 0 & 0 & 0 \end{bmatrix}^T \end{aligned} \tag{5}$$

These imply that H4 robot has three translational and one rotational DOF. Figure 3 shows the rotation of *C1C2* link about z-axis as rotational DOF.

## **3. Kinematic analysis**

#### **3.1 Inverse kinematics**

The inverse position kinematics problem solves the actuated variables from a given pose of EE. Let *<sup>T</sup> <sup>1234</sup>* **q** *qqqq* be the array of the four actuator joint variables and

manipulator, the reciprocal screws associated with a serial limb represent the wrench constraints imposed on the moving platform by the serial limb. The motions of the moving platform are determined by the combined effect of all the wrench constraints imposed by

screws (Dai & Jones, 2007). According to the physical interpretations of reciprocal screws, one can obtain the constraints spaces that should be spanned by all of the reciprocal screws. As far as a H4 parallel manipulator is concerned, each S joint is equivalent to three intersecting non-coplanar R joints, and then the joint twists associated with the ith *P-(S-S)2-R* (or *P-U-U-R*) chain form a 6-system, which can be identified in the fixed frame as follows:

> *i i 1 A 2 i i 1A*

*s A s* \$ , *<sup>i</sup>*

[ ]*iT i i i i i i <sup>123456</sup>*

*platform r r r r*

Finally one can compute null spaces of the foregoing reciprocal screws which leads to the

*DoF 0 0 0 1 0 0 DoF 0 0 0 0 1 0 DoF 0 0 0 0 0 1 DoF 0 0 1 0 0 0*

These imply that H4 robot has three translational and one rotational DOF. Figure 3 shows

The inverse position kinematics problem solves the actuated variables from a given pose of

*<sup>1234</sup>* **q** *qqqq* be the array of the four actuator joint variables and

 

is the reciprocal screw and '' '' represents the reciprocal production of two

*i*

*i i 2 B 5 i i 2B*

*s B s* \$ , *<sup>i</sup>*

*i*

denotes a unit vector along the jth joint axis of the ith chain, for *i 1,...,4* .

\$

\$ \$ \$ \$ \$ \$ \$ (3)

\$ \$ \$ \$ \$ (4)

*T*

*T*

*T*

*T*

*<sup>r</sup> 0* \$ \$ (1)

*i*

(2)

*i*

(5)

*i i 2 A 3 i i 2A*

> *i i C 6 i i C*

*s C s* 

*s A s* \$

*T*

each limb. Therefore, we can get the following equation:

*i 1 i 1*

DOF of the manipulator; namely,

**3. Kinematic analysis 3.1 Inverse kinematics** 

EE. Let *<sup>T</sup>*

*0 s* 

\$ , *<sup>i</sup>*

Therefore, the kinematic screws of each kinematic chain can be expressed as:

Therefore, the reciprocal screws of kinematic chains can be derived as:

*1*

 

*2*

*3*

*4*

*i i*

[] *r T 1234*

the rotation of *C1C2* link about z-axis as rotational DOF.

*i i 1 B 4 i i 1B*

*s B s* \$ , *<sup>i</sup>*

where *<sup>r</sup>* \$

where *<sup>i</sup> j s*

#### Fig. 3. Design parameters of H4

 *<sup>T</sup>* **<sup>x</sup>** *xyz* be the array of the pose of the EE. The position of points *C1* and *C2* are given by [4]:

$$
\vec{\mathbf{C}}\_1 = \vec{\mathbf{B}} + \mathbf{Root}(\theta)\overrightarrow{\mathbf{B}\overrightarrow{\mathbf{C}}\_1} \qquad \qquad \vec{\mathbf{C}}\_2 = \vec{\mathbf{B}} + \mathbf{Root}(\theta)\overrightarrow{\mathbf{B}\overrightarrow{\mathbf{C}}\_2} \tag{6}
$$

where **Rot***( )* denotes the rotation matrix of the EE with respect to reference frame and is defined as:

$$\begin{aligned} \mathbf{Rot}(\boldsymbol{\theta}) &= \,^A \mathbf{R}\_{\boldsymbol{\theta}} = \mathbf{R}\_z(\boldsymbol{\theta}) \\ &= \begin{bmatrix} \cos(\boldsymbol{\theta}) & -\sin(\boldsymbol{\theta}) & 0 \\ \sin(\boldsymbol{\theta}) & \cos(\boldsymbol{\theta}) & 0 \\ 0 & 0 & 1 \end{bmatrix} \end{aligned} \tag{7}$$

Moreover, the position of each point **Bi** is given by:

$$\begin{aligned} \vec{\mathbf{B}}\_1 &= \vec{\mathbf{C}}\_1 + \overrightarrow{\mathbf{C}\_1 \mathbf{B}}\_1 & \qquad \vec{\mathbf{B}}\_2 = \vec{\mathbf{C}}\_1 + \overrightarrow{\mathbf{C}\_1 \mathbf{B}}\_2 \\ \vec{\mathbf{B}}\_3 &= \vec{\mathbf{C}}\_2 + \overrightarrow{\mathbf{C}\_2 \mathbf{B}}\_3 & \qquad \vec{\mathbf{B}}\_4 = \vec{\mathbf{C}}\_2 + \overrightarrow{\mathbf{C}\_2 \mathbf{B}}\_4 \end{aligned} \tag{8}$$

Therefore, the following can then be written:

$$\|\parallel A\_i B\_i \mid \|^2 = M\_i^2\tag{9}$$

Then, for the first chain:

$$\begin{aligned} \overrightarrow{\mathbf{A}\_{1}\mathbf{B}\_{1}} &= (\overrightarrow{\mathbf{B}} + \mathbf{Rot}(\theta))\overrightarrow{\mathbf{B}}\overrightarrow{\mathbf{C}\_{1}} + \overrightarrow{\mathbf{C}\_{1}\mathbf{B}\_{1}} - \overrightarrow{\mathbf{P}}\_{1}) - q\_{1}\overrightarrow{\mathbf{z}}\_{1} \\ \left(A\_{1}\mathbf{B}\_{1}\right)^{2} &= q\_{1}^{2} - 2q\_{1}d\_{1}z\_{1} + \left\|d\_{1}\right\|^{2} \end{aligned} \tag{10}$$

Optimization of H4 Parallel Manipulator Using Genetic Algorithm 407

*2 2 22*

*22 2 222 i i i i i i i i ii i i i*

*23 2 3 23 2 3 23 2 3 23 2 3 24 2 4 24 2 4 24 2 4 24 2 4*

*A ( A A ), B (B B ), C (C C ), D (D D ), A ( A A ), B (B B ), C (C C ), D (D D ),*

 

*1 2*

*3 4*

 

*11 12*

*0 z x ez e* 

*21 22*

*0 z y ez e* 

*11 23 24 24 23 12 23 24 24 23 21 24 23 23 24 22 24 23 23 24*

 

*2*

*2 2 4 22 24 2*

*e e Ae Be D*

*1 2 3 4 0 23 24 24 23*

*B C B C, B D B D, A C A C, A D A D,*

Substituting Eqs.(19) and (20) into Eq.(16) for i=2, yields to the following quadratic equation.

*0 1 3 1 12 34 21 23 2*

Eq.(21) can be solved for z. Substituting this value into Eq.(16) for i=1, upon simplifications

*4 31 22 13 04 30 21 12 03 20 11 0 2*

*f ((c ) ,(c ) (s ) ,(c ) (s ) ,(c ) (s ) ,(c ) (s ) ,(c ) (s ) , (c ) (s ) ,(c ) (s ) ,(c ) (s ) ,(c ) (s ) ,(c ) (s ) ,(c ) (s ) ,*

 

*e e 1 , 2e e 2e e A e B e C ,*

*e ,e ,e ,e , A B A B ,*

*11 12 21 22*

*0000*

*2 2*

*2 2*

*10 01 00*

*(c ) (s ) ,(c ) (s ) ,(c ) (s ) ) 0*

*D a b q 2P ( a c b s Q s ) 2Q b P Q M*

*i i i i i ii i i*

*A 2(P c a ), B 2(P s Q b ) C 2q*

*A x B y C z D E 0 for i 1,...,4*

Subtracting Eq.(16) for i=3, 4 from the same equation for i=2, yields to:

Expanding and rearranging Eq.(15) leads to:

*i i i ii*

Eqs. (17) and (18) now can be solved for x and y, namely:

*2 22*

*Ex y z*

*i*

where

where

where

leads:

 

*i i i ii i i (P c x a ) ( P s y Q b ) (z q ) M i 1,...,4* (15)

*Ax By Cz D 0 23 23 23 23* (17) *A24 24 24 24 x By Cz D 0* (18)

(19)

(20)

*0 12 zz 0* (21)

(22)

(16)

where *<sup>1</sup> <sup>1</sup> 1 1 <sup>1</sup>* **d B Rot BC C B P** *( )* . Finally, the two solutions of Eq. 10 are given by:

$$q\_1 = \vec{\mathbf{d}}\_1.\vec{\mathbf{z}}\_1 \pm \sqrt{(\vec{\mathbf{d}}\_1.\vec{\mathbf{z}}\_1)^2 + M\_1^2 - \left\|\mathbf{d}\_1\right\|^2} \tag{11}$$

Similarly, q1, q2 and q4 can be derived as:

$$\begin{aligned} q\_{2} &= \vec{\mathbf{d}}\_{2} \cdot \vec{\mathbf{z}}\_{2} \pm \sqrt{(\vec{\mathbf{d}}\_{2} \cdot \vec{\mathbf{z}}\_{2})^{2} + M\_{2}^{'} - \left\| \mathbf{d}\_{2} \right\|^{2}} \\ q\_{3} &= \vec{\mathbf{d}}\_{3} \cdot \vec{\mathbf{z}}\_{3} \pm \sqrt{(\vec{\mathbf{d}}\_{3} \cdot \vec{\mathbf{z}}\_{3})^{2} + M\_{3}^{'} - \left\| \mathbf{d}\_{3} \right\|^{2}} \\ q\_{4} &= \vec{\mathbf{d}}\_{4} \cdot \vec{\mathbf{z}}\_{4} \pm \sqrt{(\vec{\mathbf{d}}\_{4} \cdot \vec{\mathbf{z}}\_{4})^{2} + M\_{4}^{'} - \left\| \mathbf{d}\_{4} \right\|^{2}} \end{aligned} \qquad \vec{\mathbf{d}}\_{3} = \vec{\mathbf{B}} + \mathbf{Rot}(\theta) \overrightarrow{\mathbf{B}\vec{C}\_{2}} + \overrightarrow{\mathbf{C}\_{2} \mathbf{B}\_{3}} - \vec{\mathbf{P}}\_{3} \tag{12}$$

#### **3.2 Forward kinematics**

Forward kinematic problem solves the pose of the EE from a given actuators variables. It is well-known that forward kinematic problem of parallel manipulators is challenging (Dasgupta & Mruthyunjaya, 2000) and involves the solution of a system of nonlinear coupled algebraic equations in the variables describing the platform posture. This system of nonlinear equations might lead to solutions. Except in a limited number of the problems, one has difficulty in finding exact analytical solutions for the problem. So these nonlinear simultaneous equations should be solved using other methods, namely, numerical or semiexact analytical methods. Some others believe that the combination of numerical and semiexact analytical methods can also produce useful results (Hashemi et al, 2007; Varedi et al, 2009). Choi et al. solved forward kinematic problem of H4 and showed that the problem lead to a 16th degree polynomial in a single variable (Choi et al, 2003).

The EE is composed of three parts (two lateral bars and one central bar). Moreover, points **B**1, **B**2, **B**3 and **B**4 form a parallelogram. Let A**A**i and A**B**i represent the homogeneous coordinates of the points **A**i in {A} and **B**i in {A}, respectively. Then, one can write (Wu et al, 2006):

$$\begin{aligned} \,^A \bar{\mathbf{B}}\_i = \begin{bmatrix} x + hE\_{1i}c\Theta \\ y + hE\_{1i}s\Theta + dE\_{2i} \\ z \\ 1 \end{bmatrix} = \begin{bmatrix} P\_i c\Theta + x \\ P\_i s\Theta + y + Q\_i \\ z \\ 1 \end{bmatrix} \\ \tag{13} \\ \,^A \bar{\mathbf{A}}\_i = \begin{bmatrix} a\_i & b\_i & q\_i & 1 \end{bmatrix}^T \end{aligned} \tag{13}$$

where

$$\begin{aligned} P\_i &= hE\_{1i}, \ Q\_i = dE\_{2i}, \ E\_{11} = E\_{12} = -1, \ E\_{13} = E\_{14} = -1, \\\ E\_{21} &= E\_{24} = 1, \ E\_{22} = E\_{23} = 1, \ c\theta = \cos(\theta), \ s\theta = \sin(\theta) \end{aligned} \tag{14}$$

Substituting these values in Eq.(9), upon simplifications, yields:

$$\left(\left(P\_i c\Theta + \mathbf{x} - a\_i\right)^2 + \left(P\_i s\Theta + \mathbf{y} + Q\_i - b\_i\right)^2 + \left(z - q\_i\right)^2 = M\_i^2 \quad \text{i} = \mathbf{1}, \dots, 4 \tag{15}$$

Expanding and rearranging Eq.(15) leads to:

$$\begin{aligned} \tilde{A}\_i \ge & \tilde{B}\_i \, y + \tilde{C}\_i \, z + \tilde{D}\_i + \tilde{E}\_i = 0 \quad \text{for} \quad i = 1, \ldots, 4\\ \tilde{A}\_i = & 2(P\_i \, c\Theta - a\_i), \quad \tilde{B}\_i = 2(P\_i \, s\Theta + Q\_i - b\_i) \quad \tilde{C}\_i = -2q\_i\\ \tilde{D}\_i = a\_i^2 + b\_i^2 + q\_i^2 - 2P\_i(a\_i \, c\Theta + b\_i \, s\Theta - Q\_i \, s\Theta) - 2Q\_i \, b\_i + P\_i^2 + Q\_i^2 + Q\_i^2 - M\_i^2\\ \tilde{E}\_i = \, x^2 + y^2 + z^2 \end{aligned} \tag{16}$$

Subtracting Eq.(16) for i=3, 4 from the same equation for i=2, yields to:

$$
\Delta A\_{23} \ge + \Delta B\_{23} \, y + \Delta C\_{23} \, z + \Delta D\_{23} = 0 \tag{17}
$$

$$
\Delta A\_{24} \ge + \Delta B\_{24} \, y + \Delta C\_{24} \, z + \Delta D\_{24} = 0 \tag{18}
$$

where

406 Serial and Parallel Robot Manipulators – Kinematics, Dynamics, Control and Optimization

*1 1 1 1 1 1 11 2 2 2 11 1 11 1 1*

**<sup>A</sup> <sup>Β</sup> B Rot BC C B P z**

*( A B ) q 2q d .z d*

*2 2 2*

*2 2 2*

*2 2 2*

lead to a 16th degree polynomial in a single variable (Choi et al, 2003).

*i*

**B**

**A**

*21 24 22 23*

Substituting these values in Eq.(9), upon simplifications, yields:

*abq1*

*A T i iii*

where *<sup>1</sup> <sup>1</sup> 1 1 <sup>1</sup>* **d B Rot BC C B P** *( )* . Finally, the two solutions of Eq. 10 are given by:

*1 11 11 1 1 q . (.) M* **dz dz d**

*2 22 22 2 2 2 <sup>1</sup> 12 2 q . (.) M* **d z d z d d B Rot BC C B P** *( )*

*4 44 44 4 4 4 <sup>2</sup> 2 4 q . (.) M ( )* **d z d z d d B Rot BC C B P4** 

Forward kinematic problem solves the pose of the EE from a given actuators variables. It is well-known that forward kinematic problem of parallel manipulators is challenging (Dasgupta & Mruthyunjaya, 2000) and involves the solution of a system of nonlinear coupled algebraic equations in the variables describing the platform posture. This system of nonlinear equations might lead to solutions. Except in a limited number of the problems, one has difficulty in finding exact analytical solutions for the problem. So these nonlinear simultaneous equations should be solved using other methods, namely, numerical or semiexact analytical methods. Some others believe that the combination of numerical and semiexact analytical methods can also produce useful results (Hashemi et al, 2007; Varedi et al, 2009). Choi et al. solved forward kinematic problem of H4 and showed that the problem

The EE is composed of three parts (two lateral bars and one central bar). Moreover, points **B**1, **B**2, **B**3 and **B**4 form a parallelogram. Let A**A**i and A**B**i represent the homogeneous coordinates of the points **A**i in {A} and **B**i in {A}, respectively. Then, one can write (Wu et al,

*1i i*

*x hE c P c x y hE s dE P s y Q z z 1 1*

*A 1i 2i i i*

*i 1i i 2i 11 12 13 14*

*P hE , Q dE , E E 1, E E 1, E E 1, E E 1, c cos( ), s sin( )* 

(14)

*( () ) q*

*2 2 2*

*3 33 33 3 3 3 <sup>2</sup> 23 3 q . (.) M* **d z d z d d B Rot BC C B P** *( )* (12)

(11)

(10)

(13)

Then, for the first chain:

**3.2 Forward kinematics** 

2006):

where

Similarly, q1, q2 and q4 can be derived as:

$$\begin{aligned} \Delta A\_{23} &= (\tilde{A}\_2 - \tilde{A}\_3), \Delta B\_{23} = (\tilde{B}\_2 - \tilde{B}\_3), \Delta C\_{23} = (\tilde{C}\_2 - \tilde{C}\_3), \Delta D\_{23} = (\tilde{D}\_2 - \tilde{D}\_3), \\ \Delta A\_{24} &= (\tilde{A}\_2 - \tilde{A}\_4), \Delta B\_{24} = (\tilde{B}\_2 - \tilde{B}\_4), \Delta C\_{24} = (\tilde{C}\_2 - \tilde{C}\_4), \Delta D\_{24} = (\tilde{D}\_2 - \tilde{D}\_4). \end{aligned}$$

Eqs. (17) and (18) now can be solved for x and y, namely:

$$\infty = \frac{\Delta\_{11}z + \Delta\_{12}}{\Delta\_0} = e\_1 z + e\_2 \tag{19}$$

$$y = \frac{\Delta\_{21}z + \Delta\_{22}}{\Delta\_0} = e\_3 z + e\_4 \tag{20}$$

where

$$\begin{aligned} \varepsilon\_{1} &= \frac{\Delta\_{11}}{\Delta\_{0}}, \varepsilon\_{2} = \frac{\Delta\_{12}}{\Delta\_{0}}, \varepsilon\_{3} = \frac{\Delta\_{21}}{\Delta\_{0}}, \varepsilon\_{4} = \frac{\Delta\_{22}}{\Delta\_{0}}, \ \Delta\_{0} &= \Delta A\_{23} \Delta B\_{24} - \Delta A\_{24} \Delta B\_{23}, \\ \Delta\_{11} &= \Delta B\_{23} \Delta C\_{24} - \Delta B\_{24} \Delta C\_{23}, \ \Delta\_{12} = \Delta B\_{23} \Delta D\_{24} - \Delta B\_{24} \Delta D\_{23}, \\ \Delta\_{21} &= \Delta A\_{24} \Delta C\_{23} - \Delta A\_{23} \Delta C\_{24}, \ \Delta\_{22} = \Delta A\_{24} \Delta D\_{23} - \Delta A\_{23} \Delta D\_{24}. \end{aligned}$$

Substituting Eqs.(19) and (20) into Eq.(16) for i=2, yields to the following quadratic equation.

$$
\lambda\_0 z^2 + \lambda\_1 z + \lambda\_2 = 0 \tag{21}
$$

where

$$\begin{aligned} \lambda\_0 &= e\_1^2 + e\_3^2 + 1 \\ \lambda\_2 &= e\_2^2 + e\_4^2 + 1 \\ \lambda\_3 &= e\_2^2 + e\_4^2 + \tilde{A}\_2 e\_2 + \tilde{B}\_2 e\_4 + \tilde{D}\_2 \end{aligned} \\ \text{and} \\ \begin{aligned} \lambda\_1 &= \lambda\_1 + \lambda\_2 + \tilde{A}\_2 e\_2 + \tilde{B}\_2 e\_4 + \tilde{D}\_2 \end{aligned}$$

Eq.(21) can be solved for z. Substituting this value into Eq.(16) for i=1, upon simplifications leads:

$$\begin{aligned} &f(\left(c\mathfrak{H}\right)^{4},\left(c\mathfrak{H}\right)^{3}\left(s\mathfrak{H}\right)^{1},\left(c\mathfrak{H}\right)^{2},\left(c\mathfrak{H}\right)^{1}\left(s\mathfrak{H}\right)^{3},\left(c\mathfrak{H}\right)^{0}\left(s\mathfrak{H}\right)^{4},\left(c\mathfrak{H}\right)^{3}\left(s\mathfrak{H}\right)^{0},\\ &f(\left(c\mathfrak{H}\right)^{2}\left(s\mathfrak{H}\right)^{1},\left(c\mathfrak{H}\right)^{2},\left(c\mathfrak{H}\right)^{0}\left(s\mathfrak{H}\right)^{3},\left(c\mathfrak{H}\right)^{0},\left(c\mathfrak{H}\right)^{1},\left(c\mathfrak{H}\right)^{0}\left(s\mathfrak{H}\right)^{2},\\ &\left(c\mathfrak{H}\right)^{1}\left(s\mathfrak{H}\right)^{0},\left(c\mathfrak{H}\right)^{0}\left(s\mathfrak{H}\right)^{1},\left(c\mathfrak{H}\right)^{0}\left(s\mathfrak{H}\right)^{0}\right) = 0 \end{aligned} \tag{22}$$

where f( *x ,x ,...,x 12 n* ) represents a linear combination of *x ,x ,...,x 12 n* . The coefficients of Eq.(22) are the data depend on the design parameters of the H4 robot. In Eq.(22), we substitute now the equivalent expressions for *c* and *s*given as:

$$\text{cs}\,\Theta = \frac{1 - T^2}{1 + T^2} \quad , \quad \text{s}\,\Theta = \frac{2T}{1 + T^2} \quad , \quad T = \tan(\Theta \,\text{/} \,\text{2}) \tag{23}$$

Optimization of H4 Parallel Manipulator Using Genetic Algorithm 409

**<sup>x</sup>** *3(cm) 7.95(cm) 14.58(cm) 2.47(rad)* . However, the latter configuration cannot be realized in practice because of the mutual interference of the parallelograms as shown in

*T7* **= 0.2680** *T8***= - 2.8822** 

Jacobian matrix relates the actuated joint velocities to the EE Cartesian velocities, and is essential for the velocity and trajectory control of parallel robots. The velocity of the EE of

Moreover, since the links **B**1**B**2 and **B**3**B**4 only have translational motion, the following

*Ai <sup>z</sup>* **v** *qk*

The velocity relationship can then be written thanks to the classical property; namely,

Eq.(31) can be written for i=1,…,4 and the results grouped in a matrix form as:

*<sup>B</sup>* **<sup>v</sup>** *xyz* and a scalar

. Thus, the velocity of points C1and C2 can be written as

*1 2 cB 1 cB 2* **v v BC v v BC** *( ) ( )* <sup>k</sup> <sup>k</sup> (28)

*BBC BBC 121 34 2* **vvv vvv** (29)

(30)

*<sup>q</sup> <sup>x</sup>* **<sup>J</sup> q Jx** (32)

*A ii B ii i i* **v AB v AB** *. .* (31)

H4 can be defined by resorting to a velocity for the translation, *<sup>T</sup>*

*<sup>T</sup>*

Fig. 4. The solutions for forward kinematic problem

; namely,

On the other hand, velocity of points *Ai* is given by:

**3.3 Jacobian matrix** 

for the rotation about <sup>z</sup>

follows (Wu et al, 2006):

relations hold:

Fig.4.

Upon simplifications, Eq.(22) leads to a univariate polynomial of degree eight, namely;

$$aT^8 + bT^7 + cT^6 + dT^5 + eT^4 + fT^3 + gT^2 + hT^1 + \mathbf{i} = \mathbf{0} \tag{24}$$

where *a*, *b*, *c*, *d*, *e*, *f*, *g*, *h* and *i* depend on kinematic parameters. The detailed expressions for them are not given here because these expansions would be too large to serve any useful purpose. What is important to point out here is that the above equation admits eight solutions, whether real or complex, among which we only interested in the real ones. Substituting the values of T from Eq.(23) into Eq.(19), Eq.(20) and Eq.(21), complete the solutions.

#### **3.2.1 Numerical example of kinematic analysis**

Here, we include a numerical example as shown in Fig.4. The design parameters of H4 are given as:

$$\text{If } \mathbf{h} = \mathbf{d} = \mathbf{6} \text{(cm)}, \text{ } Q\_z = 4 \mathbf{2} \text{(cm)}, \text{ } M\_1 = M\_2 = \sqrt{3} Q\_{z'}, \text{ } M\_3 = M\_4 = \sqrt{2} Q\_z \tag{25}$$

Substituting these values in Eq.(13), yields:

$$
\begin{split}
\vec{\mathbf{A}}\_{1} &= \begin{bmatrix} -4\boldsymbol{\mathcal{S}} & -4\boldsymbol{\mathcal{S}} & \boldsymbol{0} \boldsymbol{\mathcal{J}}^{\top} \end{bmatrix}^{\top}, \begin{bmatrix} \vec{\mathbf{B}}\_{1} = \begin{bmatrix} -6 & -6 & -4\boldsymbol{\mathcal{Z}} \end{bmatrix}^{\top}, \\
\vec{\mathbf{A}}\_{2} &= \begin{bmatrix} -4\boldsymbol{\mathcal{S}} & 4\boldsymbol{\mathcal{S}} & \boldsymbol{0} \end{bmatrix}^{\top}, \quad \vec{\mathbf{B}}\_{2} = \begin{bmatrix} -6 & 6 & -4\boldsymbol{\mathcal{Z}} \end{bmatrix}^{\top}, \\
\vec{\mathbf{A}}\_{3} &= \begin{bmatrix} 6 & 4\boldsymbol{\mathcal{S}} & \boldsymbol{0} \end{bmatrix}^{\top}, \quad \vec{\mathbf{B}}\_{3} = \begin{bmatrix} 6 & 6 & -4\boldsymbol{\mathcal{Z}} \end{bmatrix}^{\top}, \\
\vec{\mathbf{A}}\_{4} &= \begin{bmatrix} 4\boldsymbol{\mathcal{S}} & -6 & \boldsymbol{0} \end{bmatrix}^{\top}, \quad \vec{\mathbf{B}}\_{4} = \begin{bmatrix} 6 & -6 & -4\boldsymbol{\mathcal{Z}} \end{bmatrix}^{\top}.
\end{split}
$$

Given, the position and orientation of the EE as *<sup>T</sup>* **<sup>x</sup>** *5 5 30 / 6* , inverse kinematics are given by:

$$\overrightarrow{\mathbf{q}} = \begin{bmatrix} 13.021 & -7.488 & 9.679 & 15.77 \end{bmatrix}^T \tag{26}$$

Next, the forward kinematic problem, for the actuators coordinate as given in Eq.(26), is solved. The polynomial equation in Eq.(24) can be solved for T, namely;

$$\begin{aligned} T\_{12} &= -0.61309 \pm 0.56609 \,\mathrm{i} \\ T\_{34} &= 0.073172 \pm 0.84245 \,\mathrm{i} \\ T\_{56} &= 0.028294 \pm 0.88575 \,\mathrm{i} \\ T\_7 &= 0.267957 \\ T\_8 &= -2.8822 \end{aligned} \tag{27}$$

There are only two real solutions, for which *T 0.2680 <sup>7</sup>* leads to *<sup>T</sup>* **<sup>x</sup>** *5(cm) 5(cm) 30(cm) 0.524(rad)* and *T - 2.8822 <sup>8</sup>* , yields:

 *<sup>T</sup>* **<sup>x</sup>** *3(cm) 7.95(cm) 14.58(cm) 2.47(rad)* . However, the latter configuration cannot be realized in practice because of the mutual interference of the parallelograms as shown in Fig.4.

Fig. 4. The solutions for forward kinematic problem

#### **3.3 Jacobian matrix**

408 Serial and Parallel Robot Manipulators – Kinematics, Dynamics, Control and Optimization

where f( *x ,x ,...,x 12 n* ) represents a linear combination of *x ,x ,...,x 12 n* . The coefficients of Eq.(22) are the data depend on the design parameters of the H4 robot. In Eq.(22), we

> *<sup>c</sup> , s , T tan( / 2) 1T 1T*

where *a*, *b*, *c*, *d*, *e*, *f*, *g*, *h* and *i* depend on kinematic parameters. The detailed expressions for them are not given here because these expansions would be too large to serve any useful purpose. What is important to point out here is that the above equation admits eight solutions, whether real or complex, among which we only interested in the real ones. Substituting the values of T from Eq.(23) into Eq.(19), Eq.(20) and Eq.(21), complete the

Here, we include a numerical example as shown in Fig.4. The design parameters of H4 are

(cm) (cm) *<sup>z</sup> 1 2 z3 4 z h d 6 , Q 42 , M M 3Q , M M 2Q* (25)

*T T*

**<sup>x</sup>** *5 5 30 / 6* , inverse

(27)

*T T*

*T T*

*<sup>T</sup>* **<sup>q</sup>** *[13.021 7.488 9.679 15.77 ]* (26)

*T T*

*[ 48 48 0] , [ 6 6 42] , [ 48 48 0] , [ 6 6 42] , [6 48 0] , [6 6 42] , [48 6 0] , [6 6 42] .*

 

Next, the forward kinematic problem, for the actuators coordinate as given in Eq.(26), is

*T 0.61309 0.56609i T 0.073172 0.84245i T 0.028294 0.88575i*

There are only two real solutions, for which *T 0.2680 <sup>7</sup>* leads to

**<sup>x</sup>** *5(cm) 5(cm) 30(cm) 0.524(rad)* and *T - 2.8822 <sup>8</sup>* , yields:

 

*2 2 1 T 2T*

Upon simplifications, Eq.(22) leads to a univariate polynomial of degree eight, namely;

*1 1*

**A B A B A B A B**

 

*2 2*

*3 3*

*4 4*

solved. The polynomial equation in Eq.(24) can be solved for T, namely;

*T 0.267957 T 2.8822*

 

Given, the position and orientation of the EE as *<sup>T</sup>*

 and *s* given as:

*876 543 21 aT bT cT dT eT fT gT hT i 0* (24)

(23)

substitute now the equivalent expressions for *c*

**3.2.1 Numerical example of kinematic analysis** 

Substituting these values in Eq.(13), yields:

*<sup>T</sup>*

kinematics are given by:

solutions.

given as:

*2*

Jacobian matrix relates the actuated joint velocities to the EE Cartesian velocities, and is essential for the velocity and trajectory control of parallel robots. The velocity of the EE of H4 can be defined by resorting to a velocity for the translation, *<sup>T</sup> <sup>B</sup>* **<sup>v</sup>** *xyz* and a scalar for the rotation about <sup>z</sup> ; namely, . Thus, the velocity of points C1and C2 can be written as follows (Wu et al, 2006):

$$
\vec{\mathbf{v}}\_{c\_1} = \vec{\mathbf{v}}\_B + \dot{\theta}(\vec{\mathbf{k}}) \times \overrightarrow{\mathbf{B}\mathbf{C}\_1} \qquad \vec{\mathbf{v}}\_{c\_2} = \vec{\mathbf{v}}\_B + \dot{\theta}(\vec{\mathbf{k}}) \times \overrightarrow{\mathbf{B}\mathbf{C}\_2} \tag{28}
$$

Moreover, since the links **B**1**B**2 and **B**3**B**4 only have translational motion, the following relations hold:

$$
\vec{\mathbf{v}}\_{B\_1} = \vec{\mathbf{v}}\_{B\_2} = \vec{\mathbf{v}}\_{\mathbf{C}\_1} \qquad \vec{\mathbf{v}}\_{B\_3} = \vec{\mathbf{v}}\_{B\_4} = \vec{\mathbf{v}}\_{\mathbf{C}\_2} \tag{29}
$$

On the other hand, velocity of points *Ai* is given by:

$$
\overrightarrow{\mathbf{v}}\_{A\_i} = \dot{q}\overrightarrow{k\_z}\tag{30}
$$

The velocity relationship can then be written thanks to the classical property; namely,

$$
\overrightarrow{\mathbf{v}}\_{A\_i} \cdot \overrightarrow{\mathbf{A}\_i \mathbf{B}\_i} = \overrightarrow{\mathbf{v}}\_{B\_i} \cdot \overrightarrow{\mathbf{A}\_i \mathbf{B}\_i} \tag{31}
$$

Eq.(31) can be written for i=1,…,4 and the results grouped in a matrix form as:

$$\mathbf{J}\_q \dot{\vec{\mathbf{q}}} = \mathbf{J}\_x \dot{\vec{\mathbf{x}}} \tag{32}$$

Optimization of H4 Parallel Manipulator Using Genetic Algorithm 411

impossible such an ordering. This dimensional in-homogeneity can be resolved by introducing a weighting factor/length, which is here equal to the length of the first link (Hosseini et al, 2011). Then, the condition number of homogeneous Jacobian is defined as the ratio of its

> *( )*

The objective function for maximization is defined here as a mixed performance index

*dd d s*

*w (1 w )*

*d d*

*1 1 <sup>V</sup> w dV (1 w ) <sup>V</sup> <sup>V</sup>*

where the weight parameter *w (0 w 1) d d* describes the proportion of GDI in the mixed index, and *V* represents the robot size which is evaluated by the product of area of the

The architectural parameters of a H4 involve the offset of {B} from {A} along the direction

. However, we have the following limitations for the design variables:

1/ ( ) 

 , length of the offset of the revolute-joint from the ball-joint (d) and the offset of each ball-joint from the center of the traveling plate (h). In order to perform the optimization independent of the dimension of each design candidate, the design variables are scaled by *q* , i.e., the motion range of the actuators. Thus, the design variables become

**J** >0.01,

*<sup>z</sup> dhQ 0.01 0.15 , 0.01 0.15 , 0.35 0.55 qq q* 

In order to perform an optimal design of H4 parallel robots, an objective function was developed first, then GA is applied in order to optimize the objective function (Xu & Li, 2006). For optimization settings, regarding to the GA approach, normalized geometric selection is adopted (Merlet, 2006), and the genetic operators are chosen to be non-uniform mutation with the ratio of 0.08 and arithmetic crossover with the ratio of 0.8. Moreover, the

*V*

*l s*

( )**J** can attain any value from 1 to infinity, in which they correspond to isotropy

(36)

**J** (35)

*<sup>d</sup>* and space utility ratio index

largest singular value *<sup>l</sup>* to its smallest one, *s* (Gosselin & Angeles, 1991), i.e.

which is a weighted sum of global dexterity index (GDI),

*<sup>s</sup>* ( Dasgupta & Mruthyunjaya, 2000) , i.e.,

fixed platform and the maximum reach of the EE in the z direction.

population size is 30 and the generations' number is set to 150.

Note that

(SURI),

**4.4 Design variables** 

*d hQz , , qqq* 

**4.5 Optimization result of H4** 

of *z z k (Q )*

**Γ**

**4.3 Performance index** 

and singularity, respectively.

Where **x** and **q** denote the vectors of the EE velocity and input actuated joint rates, respectively ; *<sup>q</sup>* **J** and *x***J** are the Jacobian matrices, all are defined as:

$$\begin{aligned} \dot{\hat{\mathbf{q}}} &= \begin{bmatrix} \dot{q}\_1 & \dot{q}\_2 & \dot{q}\_3 & \dot{q}\_4 \end{bmatrix}^T \\\\ \mathbf{J}\_q &= \begin{bmatrix} \overline{A\_1B\_1} \cdot \mathbf{Z}\_1 & 0 & 0 & 0 \\ 0 & \overline{A\_2B\_2} \cdot \mathbf{Z}\_2 & 0 & 0 \\ 0 & 0 & \overline{A\_3B\_3} \cdot \mathbf{Z}\_3 & 0 \\ 0 & 0 & 0 & \overline{A\_4B\_4} \cdot \mathbf{Z}\_4 \end{bmatrix} \\\\ \dot{\hat{\mathbf{x}}} &= \begin{bmatrix} \dot{\mathbf{x}} & \dot{y} & \dot{z} & \dot{\theta} \end{bmatrix}^T \\\\ \mathbf{J}\_x &= \begin{bmatrix} \left( \overline{A\_1B\_1} \right)\_x & \left( \overline{A\_1B\_1} \right)\_y & \left( \overline{A\_1B\_1} \right)\_z & \left( \overline{A\_1B\_1} \times \overline{B\_1} \right)\_z \bar{K} \\\\ \left( \overline{A\_2B\_2} \right)\_x & \left( \overline{A\_2B\_2} \right)\_y & \left( \overline{A\_2B\_2} \right)\_z & \left( \overline{A\_2B\_2} \times \overline{B\_2} \right)\_z \bar{K} \\\\ \left( \overline{A\_3B\_3} \right)\_x & \left( \overline{A\_3B\_3} \right)\_y & \left( \overline{A\_3B\_3} \right)\_z & \left( \overline{A\_3B\_3} \right)\_x \bar{K} \end{bmatrix} \end{aligned} (33)$$

If the mechanism is not in a singular configuration, the Jacobian and its inverse are described as:

$$\mathbf{J} = \mathbf{J}\_{\mathbf{x}}^{-1} \mathbf{J}\_{q} \qquad \quad \text{and} \qquad \mathbf{J}^{-1} = \mathbf{J}\_{q}^{-1} \mathbf{J}\_{\mathbf{x}} \tag{34}$$

#### **4. Optimization of H4**

#### **4.1 Workspace evaluation**

For a robot in the context of industrial application and given parameters, it is very important to analyze the volume and the shape of its workspace (Dombre & Khalil, 2007). Calculation of the workspace and its boundaries with perfect precision is crucial, because they influence the dimensional design, the manipulator's positioning in the work environment, and its dexterity to execute tasks (Li & Xu, 2006). The workspace is limited by several conditions. The prime limitation is the boundary obtained through solving the inverse kinematic problem. Further, the workspace is limited by the reachable extent of drives and joints, then by the occurrence of singularities, and finally by the links and platform collisions (Stan et al, 2008). Various approaches may be used to calculate the workspace of a parallel robot. In the present work the boundary of workspace of H4 is determined geometrically (Merlet, 2006).

#### **4.2 Condition number**

In order to guarantee the regular workspace to be effective, constraints on the dexterity index are introduced into the design problem. A frequently used measure for dexterity of a manipulator is the inverse of the condition number of the kinematics Jacobian matrix (Hosseini et al, 2011). Indeed, in order to determine the condition number of the Jacobian matrices, their singular values must be ordered from largest to smallest. However, in the presence of positioning and orienting tasks the singular values associated with positioning, are dimensionless, while those associated with orientation have units of length, thereby making impossible such an ordering. This dimensional in-homogeneity can be resolved by introducing a weighting factor/length, which is here equal to the length of the first link (Hosseini et al, 2011). Then, the condition number of homogeneous Jacobian is defined as the ratio of its largest singular value *<sup>l</sup>* to its smallest one, *s* (Gosselin & Angeles, 1991), i.e.

$$\kappa(\mathbf{J}) \equiv \frac{\sigma\_l}{\sigma\_s} \tag{35}$$

Note that ( )**J** can attain any value from 1 to infinity, in which they correspond to isotropy and singularity, respectively.

#### **4.3 Performance index**

410 Serial and Parallel Robot Manipulators – Kinematics, Dynamics, Control and Optimization

 *<sup>T</sup> <sup>1234</sup>* **<sup>q</sup>** *qqqq* 

*AB 0 0 0 0 AB 0 0 0 0 AB 0 0 0 0 AB*

*<sup>T</sup>* **<sup>x</sup>** *[x y z ]*

*1 1x 1 1y 1 1z 1 1 1 2 2x 2 2y 2 2z 2 2 1*

 

*( A B ) ( A B ) ( A B ) ( A B BC ). ( A B ) ( A B ) ( A B ) ( A B BC ). ( A B ) ( A B ) ( A B ) ( A B BC ).*

*3 3x 3 3y 3 3z 3 3 2*

If the mechanism is not in a singular configuration, the Jacobian and its inverse are

**J J J** *1 1*

For a robot in the context of industrial application and given parameters, it is very important to analyze the volume and the shape of its workspace (Dombre & Khalil, 2007). Calculation of the workspace and its boundaries with perfect precision is crucial, because they influence the dimensional design, the manipulator's positioning in the work environment, and its dexterity to execute tasks (Li & Xu, 2006). The workspace is limited by several conditions. The prime limitation is the boundary obtained through solving the inverse kinematic problem. Further, the workspace is limited by the reachable extent of drives and joints, then by the occurrence of singularities, and finally by the links and platform collisions (Stan et al, 2008). Various approaches may be used to calculate the workspace of a parallel robot. In the present work the boundary of workspace of H4 is determined geometrically (Merlet, 2006).

In order to guarantee the regular workspace to be effective, constraints on the dexterity index are introduced into the design problem. A frequently used measure for dexterity of a manipulator is the inverse of the condition number of the kinematics Jacobian matrix (Hosseini et al, 2011). Indeed, in order to determine the condition number of the Jacobian matrices, their singular values must be ordered from largest to smallest. However, in the presence of positioning and orienting tasks the singular values associated with positioning, are dimensionless, while those associated with orientation have units of length, thereby making

 

*x 4 4y 4 4z 4 4 2 ) ( A B ) ( A B ) ( A B BC ).*

*<sup>q</sup> <sup>x</sup> and*

*22 2*

z

**<sup>J</sup>**

respectively ; *<sup>q</sup>* **J** and *x***J** are the Jacobian matrices, all are defined as:

*1 1 1*

z

*q*

**J**

*x*

*4 4*

*1 x q*

*(A B*

denote the vectors of the EE velocity and input actuated joint rates,

*33 3*

z

*44 4*

(33)

k k k

k

**J J J** (34)

z

Where **x** and **q** 

described as:

**4. Optimization of H4 4.1 Workspace evaluation** 

**4.2 Condition number** 

The objective function for maximization is defined here as a mixed performance index which is a weighted sum of global dexterity index (GDI), *<sup>d</sup>* and space utility ratio index (SURI), *<sup>s</sup>* ( Dasgupta & Mruthyunjaya, 2000) , i.e.,

$$\begin{aligned} \boldsymbol{\eta} &= \boldsymbol{w}\_d \boldsymbol{\eta}\_d + (\boldsymbol{1} - \boldsymbol{w}\_d) \boldsymbol{\eta}\_s \\ &= \boldsymbol{w}\_d \left[ \frac{1}{\boldsymbol{V}} \int\_{\boldsymbol{V}} \frac{1}{\mathbf{x}} dV \right] + (\boldsymbol{1} - \boldsymbol{w}\_d) \frac{\boldsymbol{V}}{\boldsymbol{V}^\*} \end{aligned} \tag{36}$$

where the weight parameter *w (0 w 1) d d* describes the proportion of GDI in the mixed index, and *V* represents the robot size which is evaluated by the product of area of the fixed platform and the maximum reach of the EE in the z direction.

### **4.4 Design variables**

The architectural parameters of a H4 involve the offset of {B} from {A} along the direction of *z z k (Q )* , length of the offset of the revolute-joint from the ball-joint (d) and the offset of each ball-joint from the center of the traveling plate (h). In order to perform the optimization independent of the dimension of each design candidate, the design variables are scaled by *q* , i.e., the motion range of the actuators. Thus, the design variables become

$$\vec{\Gamma} = \left| \frac{d}{\Delta q}, \frac{h}{\Delta q}, \frac{Q\_z}{\Delta q} \right|. \text{ However, we have the following limitations for the design variables:} \begin{aligned} &\text{for the design variables:} \end{aligned} \right|$$

$$1/\,\mathrm{\kappa(I)} \text{ > 0.01\text{\AA}}$$

$$0.01 < \frac{d}{\Delta q} < 0.15 \quad , \quad 0.01 < \frac{h}{\Delta q} < 0.15 \quad , \quad 0.35 < \frac{Q\_z}{\Delta q} < 0.55$$

#### **4.5 Optimization result of H4**

In order to perform an optimal design of H4 parallel robots, an objective function was developed first, then GA is applied in order to optimize the objective function (Xu & Li, 2006). For optimization settings, regarding to the GA approach, normalized geometric selection is adopted (Merlet, 2006), and the genetic operators are chosen to be non-uniform mutation with the ratio of 0.08 and arithmetic crossover with the ratio of 0.8. Moreover, the population size is 30 and the generations' number is set to 150.

Optimization of H4 Parallel Manipulator Using Genetic Algorithm 413

Fig. 5. Workspace of H4 for 0

Fig. 6. Conditioning index for z=0 and 0
