**2.2 Dual vectors**

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

ˆ 

between lines *L*<sup>1</sup> & *L*2 (as is obvious *S* is the length of common perpendicular to plane 1

ˆ *c ab* ˆ ˆ *c ab a b* ˆ

<sup>ˆ</sup> *c ab* ˆ ˆ 0 0 <sup>ˆ</sup> *ab a a b b* <sup>ˆ</sup>

ˆ*na* <sup>1</sup>

*<sup>a</sup>*<sup>ˆ</sup> <sup>0</sup> <sup>ˆ</sup> <sup>2</sup>

ˆ *a b* ˆ 0 0

*f a*ˆ <sup>0</sup>

The dual angle represents the relative displacement and orientation between two lines

0 0 ( ) () ( ) () <sup>ˆ</sup> *<sup>f</sup> <sup>x</sup> fx fx x fx x*

 

*x*

(16)

*S* (17)

is the shortest distance

is the

the primary component of ˆ

0 0

> 

*a*

*a*

<sup>0</sup> ˆ*n n <sup>n</sup> a a na a* 

> 

<sup>2</sup> <sup>ˆ</sup> *<sup>a</sup> a b ab*

*b b* 

( ) <sup>ˆ</sup> *df a fa fa a da* 

*a a*

*c*

0 and so on, all formal operation of dual number are the same

From these it immediately follows the Taylor Series expansion:

Because <sup>2</sup> 0 , <sup>3</sup> 0 , <sup>4</sup> 

as those of ordinary algebra.

*L*<sup>1</sup> and *L*2 in the 3D space (Figure 2).

Fig. 2. Geometric representation of a dual angle.

This concept was introduced by Study in 1903.

and plane 2. Table 1 summarizes some properties:

Table 1. Basic dual algebra operations

projected angle between *L*1 and *L*<sup>2</sup> . *<sup>S</sup>* the dual component of <sup>ˆ</sup>

The dual angle is defined as:

**2.1 The dual angle** 

A dual vector ˆ*V V rV* ( ) is a vector constrained to lie upon a given line *<sup>L</sup>* in 3D space. The primary component *V* is called the "resultant vector" and comprises the magnitude and direction of dual vector *V*ˆ . It is independent of the location frame origin. The dual component *r V* is called the "moment vector". The vector *<sup>r</sup>* is the position vector from the frame origin to any point on the line *L* of dual vector *V* . *r V* is invariant for any choice of point on line *L* , it depends on the choice of the frame origin. (Figure 3).

Fig. 3. Dual vector

Among the important dual vectors are:


$$\text{4.} \quad \text{Angular momentum: } \hat{L} = \vec{L} + \varepsilon \vec{r} \times \vec{L}$$

Important dual rotations around and along z, y, x axis are (Figure 4):

$$
\hat{R}\_{x,\hat{\alpha}} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos\hat{\alpha} & -\sin\hat{\alpha} \\ 0 & \sin\hat{\alpha} & \cos\hat{\alpha} \end{bmatrix}
$$

$$
\hat{R}\_{y,\hat{\phi}} = \begin{bmatrix} \cos\hat{\phi} & 0 & \sin\hat{\phi} \\ 0 & 1 & 0 \\ -\sin\hat{\phi} & 0 & \cos\hat{\phi} \end{bmatrix} \qquad \hat{R}\_{z,\hat{\phi}} = \begin{bmatrix} \cos\hat{\theta} & -\sin\hat{\theta} & 0 \\ \sin\hat{\theta} & \cos\hat{\theta} & 0 \\ 0 & 0 & 1 \end{bmatrix}
$$

Kinematic and Dynamic Modelling of

*<sup>i</sup> <sup>k</sup>* and 1 <sup>ˆ</sup>

known Denavit-Hartenberg parameters.

between axes ˆ

Serial Robotic Manipulators Using Dual Number Algebra 75

fixed on the previous link 1 *i* . Translation *Si* is the distance from point *i* , the origin of frame { }*<sup>i</sup>* to the line segment whose length *<sup>i</sup> <sup>a</sup>* is the shortest distance between joint axes <sup>ˆ</sup>

*i* 1 , the origin of frame { 1} *i* fixed on the distal end of link *i* . The projected angle

A dual matrix rotation that represent the necessary motions of frame { }*i* in terms of an

ˆˆˆ ˆ ˆ ˆ sin cos cos sin cos ˆ ˆ

0 1 1 ˆ ˆ *<sup>n</sup> <sup>i</sup> n i i M M* 

The above expression is useful for modeling prismatic, rotational and cylindrical joints, this represents a main advantage respecting to real numbers, to represent the relative position of a point respecting an inertia frame an alternative is establishing the representation of

If a point P on a body j is moving with respect to a body I (Fig. 6), the velocity can be

 ,:

*i x i ii ii z*

ˆ ˆˆ cos cos sin sin sin ˆ ˆ

*i ii ii*

*i i*

 

 

> 

(19)

0 sin ˆ ˆ cos

and rotation <sup>ˆ</sup> ( ) *Rz i*

, i.e.

(18)

*<sup>i</sup>* of link *i* . The values

and 1 <sup>ˆ</sup> . *<sup>i</sup> <sup>k</sup>* That line segment of shortest distance between join axes intersects axis 1 <sup>ˆ</sup>

*<sup>i</sup> k* and *<sup>i</sup>* <sup>1</sup> *i* . Frame { }*i* is

,,, *a S* are the well-

  *i k*

*<sup>i</sup> k* at point

The origin of frame *<sup>i</sup>* <sup>1</sup> is located at the intersection of axes <sup>1</sup> <sup>ˆ</sup>

*<sup>i</sup> k* represent the twist

Fig. 5. Denavit and Hartenberg parameters (Pennestrí & Stefanelli, 2007)

According with Funda the dual rotation matrix <sup>000</sup> <sup>ˆ</sup>*Mnn n T D*

attached { 1} *i* frame is the composition of rotation ( ) ˆ *Rx i*

<sup>1</sup> <sup>ˆ</sup> , <sup>ˆ</sup> ,

*MR R* 

Denavit and Hartenberg trough the dual angles

expressed in terms of inertial frame R , *R P*ˆ*Vj <sup>i</sup>* .

*i*

So the open chain dual equation is:

**4. Dual Jacobian matrix** 

Fig. 4. Dual rotations: A) around and along x, B) around and along y, C) around and along z.

### **2.3 Algebra of dual vectors and matrices**

Let: 1 <sup>ˆ</sup> *A a ra* ( ) and 2 <sup>ˆ</sup> *Bb r b* ( ) :

$$
\hat{A} + \vec{B} = \vec{a} + \vec{b} + \varepsilon (\vec{r}\_1 \times \vec{a} + \vec{r}\_2 \times \vec{b})
$$

Definition of dot and cross products are:

$$
\hat{A} \cdot \hat{B} = ab \cos \theta \,\hat{\theta} \,\hat{\imath} \quad \hat{A} \times \hat{B} = ab \sin \theta \hat{\delta} \hat{\Sigma}
$$

Product of two dual matrices:

Let <sup>0</sup> *AA A* <sup>ˆ</sup> & <sup>0</sup> <sup>ˆ</sup> *BB B* , the definition of their dual product is:

$$
\left\lfloor \begin{bmatrix} \hat{A} \\ \end{bmatrix} \right\rfloor \begin{bmatrix} \hat{B} \\ \end{bmatrix} = \left\lfloor \begin{bmatrix} A \\ \end{bmatrix} \right\rfloor \left\{ B \right\} + \mathcal{E} \left\{ \left\lfloor A \right\rfloor \left\lfloor B\_0 \right\rfloor + \left\lfloor A\_0 \right\rfloor \left\lfloor B \right\rfloor \right\},
$$

It is similar with the multiplication rule for dual numbers. The inverse of a square matrix is defined as:

$$
\left[\hat{A}\right]\left[\hat{A}\right]^{-1} = \left[I\right]
$$

$$
\left[\hat{A}\right]^{-1} = \left[A\right]^{-1} - \varepsilon \left\{ \left[A\right]^{-1} \left[A\_0\right] \left[A\right]^{-1} \right\}
$$

### **3. Denavit – Hartenberg parameters**

Mechanisms analysis is facilitated by fixing a coordinate system on each link in a specific manner. With reference to Figure 5, a coordinate frame *i* 1 is fixed on the distal end of a link *i* joining joints *i* and 1 *i* such that:

> 1 ˆ *<sup>i</sup> k* axis coincident with axis of joint 1 *i*

*<sup>i</sup>* <sup>1</sup> *<sup>i</sup>* axis coincident with shortest distance between axes <sup>ˆ</sup> *<sup>i</sup> <sup>k</sup>* & <sup>1</sup> <sup>ˆ</sup> *i k*

> *<sup>i</sup>* <sup>1</sup> *<sup>i</sup>* axis perpendicular to both axes *<sup>i</sup>* <sup>1</sup> *<sup>i</sup>* & <sup>1</sup> <sup>ˆ</sup> *i k*

Fig. 4. Dual rotations: A) around and along x, B) around and along y, C) around and along z.

1 2 <sup>ˆ</sup> *ABab r ar b* ( )

ˆ ˆˆ ˆ ˆˆ ˆ *A B ab A B ab S* cos ; 

 0 0 <sup>ˆ</sup> <sup>ˆ</sup> *A B AB AB A B* [ ][ ] [ ][ ]

It is similar with the multiplication rule for dual numbers. The inverse of a square matrix is

 <sup>1</sup> *AA I* ˆ ˆ

<sup>1</sup> <sup>1</sup> 1 1

Mechanisms analysis is facilitated by fixing a coordinate system on each link in a specific manner. With reference to Figure 5, a coordinate frame *i* 1 is fixed on the distal end of a

*<sup>i</sup> k* axis coincident with axis of joint 1 *i*

*<sup>i</sup>* <sup>1</sup> *<sup>i</sup>* axis perpendicular to both axes *<sup>i</sup>* <sup>1</sup> *<sup>i</sup>* & <sup>1</sup> <sup>ˆ</sup>

*<sup>i</sup>* <sup>1</sup> *<sup>i</sup>* axis coincident with shortest distance between axes <sup>ˆ</sup>

<sup>0</sup> <sup>ˆ</sup> *A A A AA* [ ] [ ][ ]

sin

, the definition of their dual product is:

*<sup>i</sup> <sup>k</sup>* & <sup>1</sup> <sup>ˆ</sup> *i k*

*i k*

**2.3 Algebra of dual vectors and matrices** 

( ) and 2 <sup>ˆ</sup>

Definition of dot and cross products are:

& <sup>0</sup> <sup>ˆ</sup> *BB B*

**3. Denavit – Hartenberg parameters** 

link *i* joining joints *i* and 1 *i* such that:

1 ˆ

Product of two dual matrices:

Let <sup>0</sup> *AA A* <sup>ˆ</sup>

defined as:

*Bb r b* ( ) :

Let: 1 <sup>ˆ</sup> *A a ra* 

The origin of frame *<sup>i</sup>* <sup>1</sup> is located at the intersection of axes <sup>1</sup> <sup>ˆ</sup> *<sup>i</sup> k* and *<sup>i</sup>* <sup>1</sup> *i* . Frame { }*i* is fixed on the previous link 1 *i* . Translation *Si* is the distance from point *i* , the origin of frame { }*<sup>i</sup>* to the line segment whose length *<sup>i</sup> <sup>a</sup>* is the shortest distance between joint axes <sup>ˆ</sup> *i k* and 1 <sup>ˆ</sup> . *<sup>i</sup> <sup>k</sup>* That line segment of shortest distance between join axes intersects axis 1 <sup>ˆ</sup> *<sup>i</sup> k* at point *i* 1 , the origin of frame { 1} *i* fixed on the distal end of link *i* . The projected angle between axes ˆ *<sup>i</sup> <sup>k</sup>* and 1 <sup>ˆ</sup> *<sup>i</sup> k* represent the twist *<sup>i</sup>* of link *i* . The values ,,, *a S* are the wellknown Denavit-Hartenberg parameters.

Fig. 5. Denavit and Hartenberg parameters (Pennestrí & Stefanelli, 2007)

A dual matrix rotation that represent the necessary motions of frame { }*i* in terms of an attached { 1} *i* frame is the composition of rotation ( ) ˆ *Rx i* and rotation <sup>ˆ</sup> ( ) *Rz i* , i.e.

$${}^{i-1}\hat{M}\_i = \left(\hat{R}\_{z,\hat{\theta}}\right) \left(\hat{R}\_{x,\hat{\alpha}}\right) = \begin{bmatrix} \cos\hat{\theta}\_i & -\cos\hat{\alpha}\_i \sin\hat{\theta}\_i & \sin\hat{\alpha}\_i \sin\hat{\theta}\_i \\ \sin\hat{\theta}\_i & \cos\hat{\alpha}\_i \cos\hat{\theta}\_i & -\sin\hat{\alpha}\_i \cos\hat{\theta}\_i \\ 0 & \sin\hat{\alpha}\_i & \cos\hat{\alpha}\_i \end{bmatrix} \tag{18}$$

So the open chain dual equation is:

$$^0\hat{M}\_n = \prod\_{i=1}^n ^{i-1}\hat{M}\_i \tag{19}$$

According with Funda the dual rotation matrix <sup>000</sup> <sup>ˆ</sup>*Mnn n T D* 

The above expression is useful for modeling prismatic, rotational and cylindrical joints, this represents a main advantage respecting to real numbers, to represent the relative position of a point respecting an inertia frame an alternative is establishing the representation of Denavit and Hartenberg trough the dual angles ,:
