In this section, the inverse kinematics problem for the leg on the air will be solved. The starting point for the solution of the inverse kinematic problem of the gripper is equation 10. For points *El El* and *El Al* given, the solution is:

$$t\theta\_{1\_l} = \frac{y\_{AE\_l}}{x\_{AE\_l}}\tag{26}$$

where:

$$\mathbf{x}\_{AE\_l} = \,^{E\_l}\mathbf{A}\_{\mathbf{x}\_l} - \,^{E\_l}\mathbf{E}\_{\mathbf{x}\_{l'}}\mathbf{y}\_{AE\_l} = \,^{E\_l}\mathbf{A}\_{\mathbf{y}\_l} - \,^{E\_l}\mathbf{E}\_{\mathbf{y}\_{l'}}\mathbf{c}\mathbf{e}\_{\mathbf{1}\_l} \neq \mathbf{0}$$

and

.

6 Will-be-set-by-IN-TECH

+ *y*2 *PABl*

+ *z*2 *PABl*

+ *y*2 *PABl*

> − *L*2 3 − *L*¯ 2

*PABl* ≤ (*L*3 + *L*2)2 + 2*L*1*cψP*(*L*3 + *L*2) + *L*2

*PABl* ≥ (*L*3 − *L*2)2 − 2*L*1*cψP*(*L*3 − *L*2) + *L*2

*L*3*L*¯ 2 + *L*¯ 2 2

3 + 2*cθ*2*l L*3*L*¯ 2 + *L*¯ 2

*PABl* + *y*2

2

2 − *z*2

3 + 2*cθ*2*l L*3*L*¯ 2 + *L*¯ 2

2 − *z*2 *PABl*

*PABl* ≥ 0, (19)

2 �= 0, (20)

� � � � � �

2 − *z*2 *PABl*

*PABl*

+ *z*2 *PABl*

� *L*2

2*L*3*L*¯ 2

− *sψ*2 *PL*2 1

> 2 − *sψ*2 *PL*2 1

� � � � � �

≤ 1. (14)

1 (16)

1 (17)

≤ 1 (21)

⎦ (22)

1 �= 0 are

− *sψ*2 *PL*2

⎤

, (23)

, (25)

*tψP* = *tθ*1*l* (24)

(15)

(18)

� *x*2 *PABl*

and

As |*cθ*2*l*

and

finally

subject to:

and

and

� � � � � �

Whit respect to *θ*2*l* we have:

*yPABl*

*cθ*2*l* = *x*2

*x*2 *PABl* + *y*2

*x*2 *PABl* + *y*2

*sθ*3*l* =

� � � � � �

*OR*¯ *P* =

Equaling 5 and 22 it follow that:

⎡ ⎣ *PABl*

where *L*¯ 2 = *cψPL*1 + *L*2 and *zPABl* = *OPz* − *OAzl* −*OBzl* − *L*4.

*PABl* + *z*2

*PABl* + *z*2

(*cθ*2*l L*¯ 2 + *L*3)*zPABl* ± *sθ*2*l L*¯ 2

*L*2

*L*2

*L*2

(*cθ*2*l L*¯ 2 + *L*3)*zPABl* ± *sθ*2*l L*¯ 2

the last constraints are verified when relation 13 and *x*2

satisfied for *l* = 1, 2, 3, 4. In addition, from 19 and 20: *zPABl* �= 0.

*L*2 3 + 2*cθ*2*l*

3 + 2*cθ*2*l L*3*L*¯ 2 + *L*¯ 2

3 + 2*cθ*2*l L*3*L*¯ 2 + *L*¯ 2

� *L*2

3 + 2*cθ*2*l L*3*L*¯ 2 + *L*¯ 2

Hence, the inverse kinematics problem is solved. Now the orientation of the body has to be defined. A usual way of defining it is through the Euler angles. Denoting by *φP*, *θP* and *ψP* the Euler angles associated to Z-Y-Z convention, the rotation matrix with respect to system {*O*}, *OR*¯ *P*, is given by:

*cθP* = −*cθ*2*l*3*l*

*tφP* = *tθ*4*l*

*cφPcθPcψP* − *sφPsψP* −*cφPcθPsψP* − *sφPcψP cφPsθP sφPcθPcψP* + *cφPsψP* −*sφPcθPsψP* + *cφPsψP sφPsθP* −*sθPcψP sθPsψP cθP*

*sψPL*1 ± *xPABl*

*x*2 *PABl*

+ *y*2 *PABl*

$$\mathfrak{x}\_{AE\_l} \neq 0$$

After finding *θ*1*l* , the next step is to computate *θ*3*l* :

$$c\theta\_{\mathfrak{Z}\_l} = \frac{x\_{AE\_l}^2 + y\_{AE\_l}^2 \pm 2L\_2\sqrt{x\_{AE\_l}^2 + y\_{AE\_l}^2} + z\_{AE\_l}^2 + L\_2^2 - \bar{L}\_4^2 - L\_3^2}{2\bar{L}\_4L\_3} \tag{27}$$

where: *x*2 *AEl* + *y*2 *AEl* � 0 and

$$\left(\left(\bar{L}\_4 + L\_3\right)^2 \le \left(\sqrt{x\_{AE\_l}^2 + y\_{AE\_l}^2} - L\_2\right)^2 + z\_{AE\_l}^2 \le \left(\bar{L}\_4 - L\_3\right)^2\tag{28}$$

Finally:

$$\mathrm{s\theta\_{2\_l}} = \frac{z\_{AE\_l}(c\theta\_{3\_l}L\_4 + L\_3) \pm s\theta\_{3\_l}L\_4\sqrt{L\_4^2 + 2c\theta\_{3\_l}L\_4L\_3 + L\_3^2 - z\_{AE\_l}^2}}{\bar{L}\_4^2 + 2c\theta\_{3\_l}L\_3L\_4 + L\_3^2} \tag{29}$$

where:

$$L\_4^2 + 2c\theta\_{3\downarrow} L\_4 L\_3 + L\_3^2 - z\_{AE\_l}^2 \ge 0,\tag{30}$$

$$L\_4^2 + 2c\theta\_3 L\_4 L\_3 + L\_3^2 \neq 0\tag{31}$$

and

$$\left| \frac{z\_{AE\_l}(c\theta\_{3\uparrow}L\_4 + L\_3) \pm s\theta\_{3\uparrow}L\_4\sqrt{L\_4^2 + 2c\theta\_{3\uparrow}L\_4L\_3 + L\_3^2 - z\_{AE\_l}^2}}{\bar{L}\_4^2 + 2c\theta\_{3\uparrow}L\_3L\_4 + L\_3^2} \right| \le 1\tag{32}$$

Inequations 30, 31 and 32 are satisfied for:

$$
\omega \theta\_{3\downarrow} \neq -\frac{L\_4^2 + L\_3^2}{2L\_4 L\_3} \,\prime \tag{33}
$$

and

$$x\_{AE\_l}^2 + y\_{AE\_l}^2 \ge L\_2^2 \tag{34}$$

Besides from 30 and 31 we have the condition *zAEl* � 0. Equations 26, 27 and 29 give multiples solutions for the system. The orientation of gripper is represent by *ϕl* and its value coincides directly with the value of *θ*4*l*

of a Quadruped Robot 9

A Kinematical and Dynamical Analysis of a Quadruped Robot 247

Limbs Length(m) Weight(kg) Moment of Inertia(*N* − *m*2) *L*5 0.2 0.25 1.25 · 10−5 *L*4 0.2 0.2 17.6 · 10−5 *L*3 0.3 0.25 130.83 · 10−5 *L*2 0.1 0.06 1.625 · 10−5 Platform: (*L*1) 0.3 5.25 2932.45 · 10−5

In previous sections, the problems of direct and inverse kinematics were discussed, both for the platform and for the leg. Such analysis is important for bringing the platform or the gripper to some desired position in the space, but in our case it is not sufficient. The motion of the joints must be carefully coordinated to move the platform or the gripper along some desired path with a prescribed speed, . There are two types of velocity coordination problems namely, direct and inverse. In the first case, the velocity of the joints is given and the objective is to find the velocity state of the end effector (platform or leg); in the later case, the velocity state of the end effector is given and the input joint rates required to produce the desired

Thus, the matrix that transforms the joint rates in the actuator space into the velocity state in

Due to the characteristics of the gait chosen for the robot, there will always be a closed-chain kinematics formed by the legs clung to the climbing surface. The closed-chain is also characterized by a set of inputs (denoted here by a vector **q**), which correspond to the powered joints, and by a set of output coordinates (denoted here by a vector **x**). These input and output vectors depend on the nature and purpose of the kinematics chain (Goselin & Angeles, 1990).

Table 2. Dimensions of the limbs

Fig. 5. Workspace for the gripper.

velocity are to be found. (Tsai, 1999)

**3.1 Singularity analysis for the platform**

the end effector space is called Jacobian matrix.

**3. Singularity analysis**

Fig. 4. Workspaces of the center of platform associated to legs 1 and 3. (W*P*1 = W*P*1*max* − W*P*1*min* and W*P*3 = W*P*3*max* − W*P*3*min* )

#### **2.5 Workspace**

The workspace is formed by the set of points of the reachable workspace where the robot can generate velocities that span the complete tangent space at that point.

The relationships between joint space and Cartesian space coordinates are generally multiple-valued: the same position can be reached in different ways, each with a different set of joint coordinates. Hence, the reachable workspace of the robot is formed by the configurations, in which the kinematic relationships are locally one-to-one (Pieper, 1968).

#### **2.6 Workspace of the platform**

The workspace of the platform is formed by the set of points *P* = (*Px*, *Py*, *Pz*) that satisfy equation 7 subject to constrains imposed by 13 and 17.

In a graphic form was defined by W*Pl* , the workspace of the center of platform relative to leg *l*, and if there is more than one leg support the platform the final workspace will be the intersection of all the W*Pl* of the legs clung to the surface. In a general case:

$$\mathcal{W}\_{\mathcal{P}} = \mathcal{W}\_{\mathcal{P}\_1} \cap \mathcal{W}\_{\mathcal{P}\_2} \cap \dots \cup \mathcal{W}\_{\mathcal{P}\_4} \tag{35}$$

Figure 4 show the workspace formed by the intersection of set W*P*1 and W*P*3 , and sets W*Plmin* and W*Plmax* represents the minimum and maximum values of the workspace of each legs. The lengths of the limbs are showed in table 2.

#### **2.7 Workspace of the leg**

The workspace of leg W*Gl* , when it is in the air, corresponds to its reachable Cartesian space . In this case, W*Gl* is formed by the admissible solutions of equations 28. The geometrical form of this workspace is shown in figure 5.

Table 2. Dimensions of the limbs

8 Will-be-set-by-IN-TECH

The workspace is formed by the set of points of the reachable workspace where the robot can

The relationships between joint space and Cartesian space coordinates are generally multiple-valued: the same position can be reached in different ways, each with a different set of joint coordinates. Hence, the reachable workspace of the robot is formed by the configurations, in which the kinematic relationships are locally one-to-one (Pieper, 1968).

The workspace of the platform is formed by the set of points *P* = (*Px*, *Py*, *Pz*) that satisfy

leg *l*, and if there is more than one leg support the platform the final workspace will be the

Figure 4 show the workspace formed by the intersection of set W*P*1 and W*P*3 , and sets W*Plmin* and W*Plmax* represents the minimum and maximum values of the workspace of each legs. The

In this case, W*Gl* is formed by the admissible solutions of equations 28. The geometrical form

, the workspace of the center of platform relative to

W*P* = W*P*1 ∩ W*P*2 ∩ ... W*P*4 (35)

, when it is in the air, corresponds to its reachable Cartesian space .

Fig. 4. Workspaces of the center of platform associated to legs 1 and 3.

generate velocities that span the complete tangent space at that point.

intersection of all the W*Pl* of the legs clung to the surface. In a general case:

(W*P*1 = W*P*1*max* − W*P*1*min* and W*P*3 = W*P*3*max* − W*P*3*min* )

equation 7 subject to constrains imposed by 13 and 17.

**2.5 Workspace**

**2.6 Workspace of the platform**

In a graphic form was defined by W*Pl*

lengths of the limbs are showed in table 2.

of this workspace is shown in figure 5.

**2.7 Workspace of the leg** The workspace of leg W*Gl*

Fig. 5. Workspace for the gripper.

#### **3. Singularity analysis**

In previous sections, the problems of direct and inverse kinematics were discussed, both for the platform and for the leg. Such analysis is important for bringing the platform or the gripper to some desired position in the space, but in our case it is not sufficient. The motion of the joints must be carefully coordinated to move the platform or the gripper along some desired path with a prescribed speed, . There are two types of velocity coordination problems namely, direct and inverse. In the first case, the velocity of the joints is given and the objective is to find the velocity state of the end effector (platform or leg); in the later case, the velocity state of the end effector is given and the input joint rates required to produce the desired velocity are to be found. (Tsai, 1999)

Thus, the matrix that transforms the joint rates in the actuator space into the velocity state in the end effector space is called Jacobian matrix.

#### **3.1 Singularity analysis for the platform**

Due to the characteristics of the gait chosen for the robot, there will always be a closed-chain kinematics formed by the legs clung to the climbing surface. The closed-chain is also characterized by a set of inputs (denoted here by a vector **q**), which correspond to the powered joints, and by a set of output coordinates (denoted here by a vector **x**). These input and output vectors depend on the nature and purpose of the kinematics chain (Goselin & Angeles, 1990).

of a Quadruped Robot 11

A Kinematical and Dynamical Analysis of a Quadruped Robot 249

*JxP*1 =

*T* and �*xP* = �

satisfy the constraints imposed on the kinematics equations.

**3.1.1 Inverse Kinematics Singularity of the platform:**

Inverse kinematics singularity occurs when:

⎡ ⎢ ⎣

The elements of �*q* correspond to the set of active joints. This set may vary with the robot gait, with the number of legs clung to the climbing surface and with the eventual use of an optimal

Vector �*xP* contains the position and the Euler angles that define the orientation of the platform. When the lengths of the input and output vectors are not the same, there are redundancies (Lenarcic & Roth, 2006). These are eliminated when there are only two legs holding the robot: �*q* = [*θ*41 , *θ*31 , *θ*21 , *θ*43 , *θ*33 , *θ*23 ]. Variables *xp*, *yp*, *zp*, *φp*, *θp* and *ψp* are not all arbitrary, but must

This kind of singularity consists of the set of points where different branches of the inverse kinematics problem meet, being the inverse kinematics problem understood here as the computation of the values of the input variables from given values of the output variables. Since the dimension of the null space of *Jq* is nonzero in the presence of a singularity of this kind, we can find nonzero vectors �*q*˙ for which �*x*˙ will be equal to zero and, therefore, some of

the velocity vectors �*q*˙ cannot be produced at the output (Goselin & Angeles, 1990).

*cθ*3*l* = ± |*sθ*2*l*

� *L*2 3 *L*2 2 + 2 *L*3

*cθ*2*l* > −

*L*2 3 *L*2 2 + 1 2 *L*3 *L*2

*L*2 *cθ*2*l* + 1

*det*(*Jql*) = −*L*2*L*3*sθ*2*l*

The singularities occur when *θ*2*l* = 0, ±*π*,..., ±*nπ*, ∀ *n* ∈ **N** or when:

*I*3×3 Ω*F*1 . . . . . . *I*3×3 Ω*F*4

*xp*, *yp*, *zp*, *φp*, *θp*, *ψp*

⎤ ⎥

*Jq*�*q*˙ = *Jx*�*x*˙*P* (45)

*Jx* = *JxP*1 *Jx*2 , (46) *Jq* = *diag*(*Jq*1 ,..., *Jq*4 ), (47)

�*T*.

*det*(*Jq*) = 0. (49)

(*cθ*2*l*3*l L*2 + *cθ*3*l L*3) (51)

(52)

(53)

*det*(*Jq*) = *det*(*Jq*1 )*det*(*Jq*2 )*det*(*Jq*3 )*det*(*Jq*4 ) (50)

⎦ , (48)

Finally, for the four legs:

�*q* = [*θ*41 , *θ*31 , *θ*21 ... *θ*44 , *θ*34 , *θ*24 ]

control policy.

From 47, it follows that

where, from 39,

for *l* = 1, . . . , 4.

where:

where:

The orientation of the platform relative to system {*O*} is given by matrix *ORP*. Then the platform angular velocity with respect to {*O*}, is:

$$
\begin{bmatrix} ^{O}\boldsymbol{\omega}\_{p\_{\boldsymbol{x}}} \\ ^{O}\boldsymbol{\omega}\_{p\_{\boldsymbol{y}}} \\ ^{O}\boldsymbol{\omega}\_{p\_{\boldsymbol{z}}} \end{bmatrix} = \begin{bmatrix} 0 & -s\boldsymbol{\phi}\_{P} \ s\boldsymbol{\theta}\_{P} c\boldsymbol{\phi}\_{P} \\ 0 & c\boldsymbol{\phi}\_{P} \ s\boldsymbol{\theta}\_{P} s\boldsymbol{\phi}\_{P} \\ 1 & 0 \qquad c\boldsymbol{\theta}\_{P} \end{bmatrix} \begin{bmatrix} \boldsymbol{\phi}\_{P} \\ \boldsymbol{\theta}\_{P} \\ \boldsymbol{\psi}\_{P} \end{bmatrix} \tag{36}
$$

The linear velocity of point *El* is given by

$${}^{O}\vec{\upsilon}\_{E\_l} = {}^{O}\vec{\upsilon}\_P + {}^{O}\vec{\omega}\_p \times ({}^{O}\mathbb{R}\_P \cdot {}^{O}P\vec{E}\_l) \tag{37}$$

where *OvEl* and *OvP* are respectively the linear velocities of points *El* and *P*, with respect to {*O*}.

The left-hand side of 37 can be rewritten as:

$${}^{O}\vec{w}\_{E\_l} = J\_{q\_l} \begin{bmatrix} \dot{\theta}\_{4\_l} \\ \dot{\theta}\_{3\_l} \\ \dot{\theta}\_{2\_l} \end{bmatrix} \tag{38}$$

where:

$$J\_{\mathbb{M}} = \begin{bmatrix} -s\theta\_{4\downarrow}(c\theta\_{3\downarrow 2\downarrow}L\_2 + c\theta\_{3\downarrow}L\_3) - c\theta\_{4\downarrow}(s\theta\_{3\downarrow 2\downarrow}L\_2 + s\theta\_{3\downarrow}L\_3) - c\theta\_{4\uparrow}L\_2s\theta\_{3\downarrow 2\downarrow} \\ c\theta\_{4\downarrow}(c\theta\_{3\downarrow 2\downarrow}L\_2 + c\theta\_{3\downarrow}L\_3) & -s\theta\_{4\downarrow}(s\theta\_{3\downarrow 2\downarrow}L\_2 + s\theta\_{3\downarrow}L\_3) - s\theta\_{4\downarrow}L\_2s\theta\_{3\downarrow 2\downarrow} \\ 0 & c\theta\_{3\downarrow 2\downarrow}L\_2 + c\theta\_{3\downarrow}L\_3 & c\theta\_{3\downarrow 2\downarrow}L\_2 \end{bmatrix} \tag{39}$$

On the right-hand side of 37, the product *ω p* × (*ORP* · *PE l*) can be rewritten as:

$${}^{O}\vec{\omega}\_{p}\times({}^{O}\mathcal{R}\_{P}\cdot{}^{O}P\vec{E}\_{l})=\Omega\_{\vec{F}\_{l}}\begin{bmatrix}{}^{O}\omega\_{p\_{\vec{x}}}\\{}^{O}\omega\_{p\_{\vec{y}}}\\{}^{O}\omega\_{p\_{\vec{z}}}\end{bmatrix}\tag{40}$$

where:

$$
\Omega\_{\rm Fl} = \begin{bmatrix}
0 & \mathbf{Y}\_{z\_l} & -\mathbf{Y}\_{y\_l} \\
\mathbf{Y}\_{y\_l} & -\mathbf{Y}\_{x\_l} & \mathbf{0}
\end{bmatrix} \tag{41}
$$

and Υ*l* =*ORP* · *OPE l* Substituting 36 and 40 into 37 gives:

$$\begin{aligned}{}^{O}\vec{v}\_{E\_{l}} = J\_{X\_{l\_{l}}}J\_{X\_{2}} \begin{bmatrix} {}^{O}\boldsymbol{\upsilon}\_{P\_{X}} \\ {}^{O}\boldsymbol{\upsilon}\_{P\_{Y}} \\ {}^{O}\boldsymbol{\upsilon}\_{P\_{Z}} \\ \dot{\Phi} \\ \dot{\Phi} \\ \dot{\Psi} \end{bmatrix} \end{aligned} \tag{42}$$

where:

$$J\_{\mathbf{x}\_{l}} = \begin{bmatrix} I\_{\mathbf{3}\times\mathbf{3}} & \boldsymbol{\Omega}\_{\mathbf{F}\_{l}} \end{bmatrix} \tag{43}$$

and

$$J\_{32} = \begin{bmatrix} I\_{3 \times 3} & 0\_{3 \times 3} \\ 0\_{3 \times 3} & \begin{bmatrix} 0 & -s\phi\_P \ s\theta\_P c\phi\_P \\ 0 & c\phi\_P & s\theta\_P s\phi\_P \\ 1 & 0 & c\theta\_P \end{bmatrix} \end{bmatrix} \tag{44}$$

Finally, for the four legs:

$$J\_{\eta}\vec{\tilde{q}} = J\_{\chi}\vec{\tilde{x}}\_{P} \tag{45}$$

where:

10 Will-be-set-by-IN-TECH

The orientation of the platform relative to system {*O*} is given by matrix *ORP*. Then the

where *OvEl* and *OvP* are respectively the linear velocities of points *El* and *P*, with respect to

⎡ ⎣ ˙ *θ*4*l* ˙ *θ*3*l* ˙ *θ*2*l*

(*sθ*3*l*2*l*

*OPE l*) = Ω*Fl*

0 Υ*zl* −Υ*yl* −Υ*zl* 0 Υ*xl* Υ*yl* −Υ*xl* 0

> ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

*I*3×3 Ω*Fl*

0 −*sφP sθPcφP* 0 *cφP sθPsφP* 1 0 *cθP*

⎤ ⎦ ⎤ ⎥ ⎥ ⎦

*I*3×3 03×3

⎡ ⎣ *OvPx OvPy OvPz φ*˙ ˙ *θ ψ*˙

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

0 *cθ*3*l*2*l L*2 + *cθ*3*l L*3 *cθ*3*l*2*l L*2

⎡ ⎣

0 −*sφP sθPcφP* 0 *cφP sθPsφP* 1 0 *cθP*

⎤ ⎦ ⎡ ⎣ *φ*˙ *P* ˙ *θP ψ*˙ *P*

*ORP* ·

⎤

(*sθ*3*l*2*l L*2 + *sθ*3*l L*3) −*cθ*4*l*

*L*3) −*sθ*4*l*

*L*2 + *sθ*3*l*

*Oωpx Oωpy Oωpz*

⎤

⎤

⎤

⎦ (36)

*O PE l*) (37)

⎦ (38)

*L*2*sθ*3*l*2*l*

⎤

⎦ (39)

(42)

(44)

*L*2*sθ*3*l*2*l*

⎦ (40)

⎦ (41)

� (43)

platform angular velocity with respect to {*O*}, is:

The linear velocity of point *El* is given by

The left-hand side of 37 can be rewritten as:

{*O*}.

where:

where:

and

where:

and

Υ*l* =*ORP* ·

*OPE l* Substituting 36 and 40 into 37 gives:

*Jql* =

⎡ ⎣

−*sθ*4*l*

*cθ*4*l*

(*cθ*3*l*2*l*

⎡ ⎣ *Oωpx Oωpy Oωpz* ⎤ ⎦ =

(*cθ*3*l*2*l L*2 + *cθ*3*l L*3) −*cθ*4*l*

*Oωp* × (*ORP* ·

Ω*Fl* =

On the right-hand side of 37, the product *ω p* × (*ORP* · *PE l*) can be rewritten as:

⎡ ⎣

*OvEl* = *Jx*1*l*

*Jx*1*l* = �

03×3

*Jx*2 =

⎡ ⎢ ⎢ ⎣ *Jx*2

*L*2 + *cθ*3*l*

⎡ ⎣

*OvEl* =*O vP* +*O ω p* × (

*OvEl* = *Jql*

*L*3) −*sθ*4*l*

$$\mathbf{J}\_{\mathbf{x}} = \mathbf{J}\_{\mathbf{x}\_{\text{P1}}} \mathbf{J}\_{\mathbf{x}\_{\text{2}}} \tag{46}$$

$$\mathbf{J}\_{\mathfrak{l}} = \text{diag}(\mathbf{J}\_{\mathfrak{l}\mathfrak{l}\mathfrak{l}}, \dots, \mathbf{J}\_{\mathfrak{l}\mathfrak{l}}),\tag{47}$$

$$J\_{\mathbf{X}\_{\mathrm{F}}} = \begin{bmatrix} I\_{\mathbf{3}\times\mathbf{3}} \ \mathbf{\Omega}\_{\mathrm{F}} \\ \vdots & \vdots \\ I\_{\mathbf{3}\times\mathbf{3}} \ \mathbf{\Omega}\_{\mathrm{F}\_{4}} \end{bmatrix} \tag{48}$$

$$\overrightarrow{q} = \begin{bmatrix} \theta\_{4\_1}, \theta\_{3\_1}, \theta\_{2\_1}, \dots, \theta\_{4\_4}, \theta\_{3\_4}, \theta\_{2\_4} \end{bmatrix}^T \text{ and } \overrightarrow{x}\_P = \begin{bmatrix} x\_p, y\_p, z\_p, \phi\_p, \theta\_p, \psi\_p \end{bmatrix}^T.$$

The elements of �*q* correspond to the set of active joints. This set may vary with the robot gait, with the number of legs clung to the climbing surface and with the eventual use of an optimal control policy.

Vector �*xP* contains the position and the Euler angles that define the orientation of the platform. When the lengths of the input and output vectors are not the same, there are redundancies (Lenarcic & Roth, 2006). These are eliminated when there are only two legs holding the robot: �*q* = [*θ*41 , *θ*31 , *θ*21 , *θ*43 , *θ*33 , *θ*23 ]. Variables *xp*, *yp*, *zp*, *φp*, *θp* and *ψp* are not all arbitrary, but must satisfy the constraints imposed on the kinematics equations.

#### **3.1.1 Inverse Kinematics Singularity of the platform:**

Inverse kinematics singularity occurs when:

$$\det(f\_{\emptyset}) = 0.\tag{49}$$

This kind of singularity consists of the set of points where different branches of the inverse kinematics problem meet, being the inverse kinematics problem understood here as the computation of the values of the input variables from given values of the output variables. Since the dimension of the null space of *Jq* is nonzero in the presence of a singularity of this kind, we can find nonzero vectors �*q*˙ for which �*x*˙ will be equal to zero and, therefore, some of the velocity vectors �*q*˙ cannot be produced at the output (Goselin & Angeles, 1990). From 47, it follows that

$$\det(\mathbf{J}\_{\mathfrak{q}}) = \det(\mathbf{J}\_{\mathfrak{q}\_1}) \det(\mathbf{J}\_{\mathfrak{q}\_2}) \det(\mathbf{J}\_{\mathfrak{q}\_3}) \det(\mathbf{J}\_{\mathfrak{q}\_4}) \tag{50}$$

where, from 39,

$$\det(I\_{\mathbb{M}}) = -L\_2 L\_3 s \theta\_{2\downarrow} (c\theta\_{2\downarrow} L\_2 + c\theta\_{3\downarrow} L\_3) \tag{51}$$

for *l* = 1, . . . , 4. The singularities occur when *θ*2*l* = 0, ±*π*,..., ±*nπ*, ∀ *n* ∈ **N** or when:

$$c\theta\_{\mathfrak{I}\_l} = \pm \frac{|s\theta\_{\mathfrak{I}\_l}|}{\sqrt{\frac{L\_3^2}{L\_2^2} + 2\frac{L\_3}{L\_2}c\theta\_{\mathfrak{I}\_l} + 1}}\tag{52}$$

where:

$$c\theta\_{2\_l} > -\frac{\frac{L\_3^2}{L\_2^2} + 1}{2\frac{L\_3}{L\_2}}\tag{53}$$

of a Quadruped Robot 13

A Kinematical and Dynamical Analysis of a Quadruped Robot 251

This corresponds to configurations in which the platform is locally movable with all the actuated joints locked. The values of the output variables from given values of the input variables should be obtained. Since, in this case, the nullspace of *Jx* is non-empty, there exists nonzero output rate vectors **˙x** which are mapped into the origin by *Jx*, i.e., which will

Matrix *Jx*1 can be square, for example, when the robot is clinging to the surface with two legs, while the other two are in the air. Thus, the matrix *Jx*1 has size 6 × 6 and singularity occurs

2 (b) On the other hand, *det*(*Jx*2 ) = 0 for *θ* = 0, *π*,..., *nπ*, ∀ *n* ∈ *N*. This singularity is associated with the Euler angle convention used. For the Z-Y-Z Euler angle convention, this kind of singularity will occur for all horizontal orientations of the platform. Since this situation is not allowed in this particular application, this problem can be solved by either changing the Euler angle convention or by changing the coordinate system assigned to the climbing surface {*O*} as in Fig. 8, (Harib & Srinivasan, 2003). Now the singularity will occur for

with respect to the gripping surface (situation rather unlikely to occur in our case).

In such a configuration, we say that the output link gains one or more degrees of freedom, which implies that the output link cannot resist one or more components of force or moment

The third kind of singularity is of a slightly different nature since it requires conditions on the linkage parameters. This occurs when, for certain configurations, both *det*(*Jx*) and *det*(*Jq*) become simultaneously singular. If some specific conditions on the linkage parameters are satisfied, the chain can reach configurations at which the relation given by 45 degenerates.

2 , ∀ *n* ∈ *N*, which means that the platform is completely at vertical

*det*(*Jx*) = 0. (54)

**3.1.2 Direct kinematics singularity of the platform:**

correspond to null velocities of the input joints.

Fig. 8. Singularities for *θ* = 0 (a) and *θ* = − *π*

*θ* = *π*

2 , 3*π*

2 ..., (2*n*+1)*π*

even when all actuators are locked.

**3.1.3 Combined singularities of the platform:**

According to 46, *det*(*Jx*) is null when *det*(*Jx*1 ) = 0 or *det*(*Jx*2 ) = 0.

This kind of singularity occurs when

when *det*(Ω*Fj* − Ω*Fk* ) = 0 for *j* � *k*.

for *l* = 1, . . . , 4. According to 52, for a given value of *θ*2*l* there will be two solutions for *θ*3*l* .

Fig. 6. Side view for the first condition of singularity.

Fig. 7. Side view for the second condition of singularity.

The first condition of singularity, *θ*2*l* = 0, *π*,..., *nπ*, means that *L*2 is fully aligned with *L*3. See Fig. 6.

The second condition of singularity, 52, means that joints *El*, *Cl* e *Bl* are vertically aligned in the same plane. See Fig. 7.

Provided that there are three parallel or coplanar axes, a singularity configuration will occur. (Murray et al., 1994)

In such a configuration, we say that the output link looses one or more degrees of freedom; this implies that the output link can resist to one or more components of force or moment with no torque or force applied at the powered joints. This condition can be useful if the robot needs to support heavy loads, forces or torques with little effort or low power consumption.

#### **3.1.2 Direct kinematics singularity of the platform:**

This kind of singularity occurs when

12 Will-be-set-by-IN-TECH

−0.5 0 0.5 1 1.5 −0.5

−0.5 0 0.5 1 −0.5

The first condition of singularity, *θ*2*l* = 0, *π*,..., *nπ*, means that *L*2 is fully aligned with *L*3.

The second condition of singularity, 52, means that joints *El*, *Cl* e *Bl* are vertically aligned in

Provided that there are three parallel or coplanar axes, a singularity configuration will occur.

In such a configuration, we say that the output link looses one or more degrees of freedom; this implies that the output link can resist to one or more components of force or moment with no torque or force applied at the powered joints. This condition can be useful if the robot needs to support heavy loads, forces or torques with little effort or low power consumption.

A1 B1

C1

D1 E1

X

A3

B3

C3

E3

D3

D1 E1 E3 D3 C1

X

A1 A3 B1 B3

.

C3

According to 52, for a given value of *θ*2*l* there will be two solutions for *θ*3*l*

0

Fig. 6. Side view for the first condition of singularity.

1

0

Fig. 7. Side view for the second condition of singularity.

0.5

Z

See Fig. 6.

the same plane. See Fig. 7.

(Murray et al., 1994)

0.5

Z

1

for *l* = 1, . . . , 4.

$$\det(f\_{\mathbf{x}}) = \mathbf{0}.\tag{54}$$

This corresponds to configurations in which the platform is locally movable with all the actuated joints locked. The values of the output variables from given values of the input variables should be obtained. Since, in this case, the nullspace of *Jx* is non-empty, there exists nonzero output rate vectors **˙x** which are mapped into the origin by *Jx*, i.e., which will correspond to null velocities of the input joints.

According to 46, *det*(*Jx*) is null when *det*(*Jx*1 ) = 0 or *det*(*Jx*2 ) = 0.

Matrix *Jx*1 can be square, for example, when the robot is clinging to the surface with two legs, while the other two are in the air. Thus, the matrix *Jx*1 has size 6 × 6 and singularity occurs when *det*(Ω*Fj* − Ω*Fk* ) = 0 for *j* � *k*.

Fig. 8. Singularities for *θ* = 0 (a) and *θ* = − *π* 2 (b)

On the other hand, *det*(*Jx*2 ) = 0 for *θ* = 0, *π*,..., *nπ*, ∀ *n* ∈ *N*. This singularity is associated with the Euler angle convention used. For the Z-Y-Z Euler angle convention, this kind of singularity will occur for all horizontal orientations of the platform. Since this situation is not allowed in this particular application, this problem can be solved by either changing the Euler angle convention or by changing the coordinate system assigned to the climbing surface {*O*} as in Fig. 8, (Harib & Srinivasan, 2003). Now the singularity will occur for *θ* = *π* 2 , 3*π* 2 ..., (2*n*+1)*π* 2 , ∀ *n* ∈ *N*, which means that the platform is completely at vertical with respect to the gripping surface (situation rather unlikely to occur in our case).

In such a configuration, we say that the output link gains one or more degrees of freedom, which implies that the output link cannot resist one or more components of force or moment even when all actuators are locked.

#### **3.1.3 Combined singularities of the platform:**

The third kind of singularity is of a slightly different nature since it requires conditions on the linkage parameters. This occurs when, for certain configurations, both *det*(*Jx*) and *det*(*Jq*) become simultaneously singular. If some specific conditions on the linkage parameters are satisfied, the chain can reach configurations at which the relation given by 45 degenerates.

of a Quadruped Robot 15

A Kinematical and Dynamical Analysis of a Quadruped Robot 253

D1

C1

E1

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5

C1

B1

D1 E1

A1

X

: resulting force (excluding the actuator force) exerted at the center of mass of link *i* of

X

4 . First solution.

4 . Second solution.

˙*vil*

*p* = −*mp* ˙*vp*

*il* = −*mil*

−1

−0.5

• *fil*

• *f* ∗ *il*

• ˆ

• *f* ∗ *il*

• ˆ

leg *l*.

*fil* = *fil* + *f* ∗

*fp* = *fp* + *f* ∗

*il*

*p*

0

0.5

Z

1

−0.5

0

0.5

Z

1

A1 B1

Fig. 9. Singular configuration for the leg in the ar and *θ*31 = − *π*

Fig. 10. Singular configuration for the leg in the ar and *θ*31 = − *π*

: inertia force exerted at the center of mass of link *i* of leg *l*, *f* ∗

• *fp*: resulting force exerted at the center of mass of the moving platform.

: inertia force exerted at the center of mass of the moving platform, *f* ∗

1.5

This corresponds to configurations at which the chain can undergo finite motions when its actuators are locked or at which a finite motion at the inputs produces no motion at the outputs (Tsai, 1999).

#### **3.2 Jacobian matrix for the leg**

The study of the singularity of the leg is similar to the analysis of the serial manipulator attached to point *El*. Differently from the analysis of singularity of the platform, when the rank of the Jacobian of the serial manipulator loses its full rank (singularity condition), it may only lose degrees of freedom.

where:

$$
\vec{v}\_{A\_l} = f\_{A\_l} \dot{\vec{x}}\_{A\_l} \tag{55}
$$

$$
\dot{\vec{x}}\_{A\_l} = \begin{bmatrix}
E\_l \boldsymbol{\upsilon}\_{A\_{x\_l}} \\
E\_l \boldsymbol{\upsilon}\_{A\_{y\_l}} \\
E\_l \boldsymbol{\upsilon}\_{A\_{z\_l}} \\
\dot{\boldsymbol{\varphi}}\_l
\end{bmatrix} \tag{56}
$$

To calculate the *Jgl* is necessary to difference equation 10 relative to time.

$$J\_{A\_l} = \begin{bmatrix} -s\theta\_{1\_l}(c\theta\_{2\cdot3\_l}\bar{L}\_4 + c\theta\_{2\cdotl}L\_3 + L\_2) \ (-s\theta\_{2\cdot3\_l}\bar{L}\_4 - s\theta\_{2\cdotl}L\_3)c\theta\_{1\_l} - s\theta\_{2\cdot3\_l}\bar{L}\_4 & 0\\ c\theta\_{1\_l}(c\theta\_{2\cdot3\_l}\bar{L}\_4 + c\theta\_{2\cdotl}L\_3 + L\_2) \ (-s\theta\_{2\cdot3\_l}\bar{L}\_4 - s\theta\_{2\cdotl}L\_3)s\theta\_{1\_l} - s\theta\_{2\cdot3\_l}\bar{L}\_4 & 0\\ 0 & c\theta\_{2\cdot3\_l}\bar{L}\_4 - c\theta\_{2\cdotl}L\_3 & c\theta\_{2\cdot3\_l}\bar{L}\_4 & 0\\ 0 & 0 & 0 & 1 \end{bmatrix} \tag{57}$$

In this case, the singularity of matrix *Jgl* occurs when *det*(*Jgl*) = 0. This condition is present for *cθ*2*l*3*l L*¯ 4 + *cθ*2*l L*3 + *L*2 = 0 or in other words when:

$$s\theta\_{2\_l} = \frac{s\theta\_3 \bar{L}\_4 L\_2 \pm (c\theta\_3 \bar{L}\_4 + L\_3)\sqrt{\bar{L}\_4^2 + 2c\theta\_3 L\_3 \bar{L}\_4 + L\_3^2 - L\_2^2}}{\bar{L}\_4^2 + 2c\theta\_3 L\_3 \bar{L}\_4 + L\_3^2} \tag{58}$$

where:

$$c\theta\_{3\_l} \ge \frac{L\_2^2 - L\_3^2 - L\_4^2}{2L\_3\bar{L}\_4} \tag{59}$$

Another case of singularity of the leg, but, on the border of the workspace, occurs when a leg is fully extended horizontally as shown in Figure 11. This kind of singularity is deu to condition *zAEl* = 0.

#### **4. Dynamics model**

The dynamics of walking machines involves special features that render these systems more elaborate from the dynamics viewpoint, for they present a time-varying topology. What this means is that these systems include kinematic loops that open when a leg takes off and open chains that close when a leg touches the ground (Angeles, 2007). This fact implies in a degree of freedom time-varying. (Pfeiffer et al., 1995).

There are some techniques to analyze the dynamics of robots. In this section, two different methods will be used. Firstly, for the analysis of the dynamics of the platform, the Principle of Virtual Works is used and, for the analysis of the dynamics of the leg, the Newton-Euler formulation is chosen. In both cases, the notations used in (Tsai, 1999) are employed.

14 Will-be-set-by-IN-TECH

This corresponds to configurations at which the chain can undergo finite motions when its actuators are locked or at which a finite motion at the inputs produces no motion at the

The study of the singularity of the leg is similar to the analysis of the serial manipulator attached to point *El*. Differently from the analysis of singularity of the platform, when the rank of the Jacobian of the serial manipulator loses its full rank (singularity condition), it may

*vAl* = *JAl*

⎡ ⎢ ⎢ ⎢ ⎣ *El vAxl El vAyl El vAzl*

⎤ ⎥ ⎥ ⎥ ⎦

*ϕ*˙ *l*

*L*3 + *L*2) (−*sθ*2*l*3*l L*¯ 4 − *sθ*2*l*

� *L*¯ 2

2*L*3*L*¯ 4

In this case, the singularity of matrix *Jgl* occurs when *det*(*Jgl*) = 0. This condition is present

*L*¯ 2 4 + 2*cθ*3*l*

> *L*2 2 − *L*2

Another case of singularity of the leg, but, on the border of the workspace, occurs when a leg is fully extended horizontally as shown in Figure 11. This kind of singularity is deu to

The dynamics of walking machines involves special features that render these systems more elaborate from the dynamics viewpoint, for they present a time-varying topology. What this means is that these systems include kinematic loops that open when a leg takes off and open chains that close when a leg touches the ground (Angeles, 2007). This fact implies in a degree

There are some techniques to analyze the dynamics of robots. In this section, two different methods will be used. Firstly, for the analysis of the dynamics of the platform, the Principle of Virtual Works is used and, for the analysis of the dynamics of the leg, the Newton-Euler

formulation is chosen. In both cases, the notations used in (Tsai, 1999) are employed.

*cθ*3*l* ≥

(*cθ*2*l*3*l L*¯ 4 + *cθ*2*l L*3 + *L*2) (−*sθ*2*l*3*l L*¯ 4 − *sθ*2*l L*3)*cθ*1*l* −*sθ*2*l*3*l L*¯ 4 0

0 *cθ*2*l*3*l L*¯ 4 − *cθ*2*l L*3 *cθ*2*l*3*l L*¯ 4 0 0 0 01

> *L*3*L*¯ 4 + *L*2 3

3 − *L*¯ 2 4

4 + 2*cθ*3*l L*3*L*¯ 4 + *L*2

˙*xAl* =

To calculate the *Jgl* is necessary to difference equation 10 relative to time.

(*cθ*2*l*3*l L*¯ 4 + *cθ*2*l*

for *cθ*2*l*3*l L*¯ 4 + *cθ*2*l L*3 + *L*2 = 0 or in other words when:

of freedom time-varying. (Pfeiffer et al., 1995).

*sθ*2*l* = *sθ*3*L*¯ 4*L*2 ± (*cθ*3*l L*¯ 4 + *L*3)

˙*xAl* (55)

*L*3)*sθ*1*l* −*sθ*2*l*3*l L*¯ 4 0

3 − *L*2 2 (56)

(57)

(58)

(59)

⎤ ⎥ ⎥ ⎦

outputs (Tsai, 1999).

where:

where:

condition *zAEl* = 0.

**4. Dynamics model**

**3.2 Jacobian matrix for the leg**

only lose degrees of freedom.

*JAl* =

⎡ ⎢ ⎢ ⎣

−*sθ*1*l*

*cθ*1*l*

Fig. 9. Singular configuration for the leg in the ar and *θ*31 = − *π* 4 . First solution.

Fig. 10. Singular configuration for the leg in the ar and *θ*31 = − *π* 4 . Second solution.

of a Quadruped Robot 17

A Kinematical and Dynamical Analysis of a Quadruped Robot 255

important force that was not included in the model is the friction force. As each joint of the Kamambaré is subject to reduction gears, in these circumstances the effects of friction can represent up to 25% of torque needed to trigger a joint in typical situations (Craig, 1989). The effects of viscous and Coulomb friction can then be modeled by a simplified equation:

*θil*

) + *b* · ˙

*n* ∑ *i*=1 *δxT il F*ˆ

> *n* ∑ *i*=1 (*J T il F*ˆ *il*

As usual, the virtual displacement must be compatible with both the geometrical and kinematical constraints of the system. It is thus necessary to express the displacement as a function of a set of independent generalized virtual displacements. In accordance with that, it is convenient to choose the coordinates of the moving platform *xp* as the generalized

Denoting by *Jp* and *Jil* the jacobian matrices, respectively, of the moving platform and of the

In addition to 64, a more accurate model of the leg dynamics could include various sources of flexibility, deflection of the links under load and vibrations (Bobrow et al., 2004). Nevertheless, this model is sufficiently accurate for our purposes since these effects are not significant for

Due to the fact, that the number of actuators is greater than the number of degrees of freedom of the robot, there is an infinite number of solutions for *τ*. Hence, a minimum norm solution

To solve equation (64), it is necessary to compute: i) the linear and angular velocities of each link, performing the inverse kinematics analysis; ii) the jacobian matrices of the links and of the moving platform; iii) the forces and torques of the links and of the moving platform.

For the analysis of the dynamics model of the leg, the recursive Newton-Euler formulation was chosen. This formulation uses all the forces acting on the individual links of the robot leg. Hence, the resulting dynamical equation includes all the forces of constraint between two

The method consists of a forward computation of the velocities and accelerations of each link, followed by a backward computation of the forces and moments in each joint. (Tsai, 1999)

*δxil* = *Jil*

*θil* (60)

*il* = 0 (61)

*δxp* (62)

)). (64)

*δq* = *Jpδxp*, (63)

*τ*˜*il* = *c* · *sgn*(˙

*p F*ˆ *p* + 2 ∑ *l*=1

*δqTτ* + *δxT*

*τ* = −*J*

can be adopted by applying the pseudo-inverse technique.

−*T p* (*F*ˆ *p* + 2 ∑ *l*=1

where *b* and *c* are constants.

**4.1 Dynamics model of the platform**

coordinates (Merlet, 2006; Tsai, 1999).

then equation 61 leads to

the leg under consideration.

**4.2 Dynamics model of the leg**

adjacent links.

link:

and

The Principle of Virtual Work can be written as:

Fig. 11. Singular configuration in the border of the workspace for the leg in the ar.

In addition, the next vectors are defined:

$$
\hat{F}\_{\hat{\imath}\_l} = \begin{bmatrix} f\_{\hat{\imath}\_l} \\ \hat{\imath}\_{\hat{\imath}\_l} \end{bmatrix}
$$

where *i* ∈ *A*, 1 ≤ *i* ≤ 4, and

$$
\hat{F}\_p = \begin{bmatrix} \hat{f}\_p \\ \hat{n}\_p \end{bmatrix} \cdot
$$

As the velocities and accelerations of the robot are low, without losing accuracy, it is possible to assume that the link has its mass lumped at its center of mass. This approach was demonstrated in Almeida & Hess-Coelho (2010) sufficiently accuracy for modeling purposes. In both cases, the methods do not take into account all the effects that act on the joints and links. They consider only the dynamics of the rigid body under the action of gravity. A very important force that was not included in the model is the friction force. As each joint of the Kamambaré is subject to reduction gears, in these circumstances the effects of friction can represent up to 25% of torque needed to trigger a joint in typical situations (Craig, 1989). The effects of viscous and Coulomb friction can then be modeled by a simplified equation:

$$\mathfrak{r}\_{\dot{l}\_l} = \mathfrak{c} \cdot \text{sgn}(\dot{\theta}\_{\dot{l}\_l}) + \mathfrak{b} \cdot \dot{\theta}\_{\dot{l}\_l} \tag{60}$$

where *b* and *c* are constants.

#### **4.1 Dynamics model of the platform**

The Principle of Virtual Work can be written as:

$$
\delta q^T \vec{\pi} + \delta \vec{\pi}\_p^T \hat{\mathbf{F}}\_p + \sum\_{l=1}^2 \sum\_{i=1}^n \delta \vec{\pi}\_{il}^T \hat{\mathbf{F}}\_{il} = \mathbf{0} \tag{61}
$$

As usual, the virtual displacement must be compatible with both the geometrical and kinematical constraints of the system. It is thus necessary to express the displacement as a function of a set of independent generalized virtual displacements. In accordance with that, it is convenient to choose the coordinates of the moving platform *xp* as the generalized coordinates (Merlet, 2006; Tsai, 1999).

Denoting by *Jp* and *Jil* the jacobian matrices, respectively, of the moving platform and of the link:

$$
\delta \vec{\mathbf{x}}\_{\mathbf{i}\_l} = f\_{\mathbf{i}\_l} \delta \vec{\mathbf{x}}\_p \tag{62}
$$

and

16 Will-be-set-by-IN-TECH

A1 B1 C1 D1 E1

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

Fig. 11. Singular configuration in the border of the workspace for the leg in the ar.

: inertia torque exerted at the center of mass of link *i* of leg *l*, *n*∗

• *np*: resulting torque exerted at the center of mass of the moving platform.

*p*: inertia torque exerted at the center of mass of the moving platform, *n*∗

• *xil* six-dimensional vector describing the position and orientation of link *i* of leg *l*.

*F*ˆ *il* = ˆ *fil n*ˆ*il*

*F*ˆ*p* =

 ˆ *f p n*ˆ *p* .

As the velocities and accelerations of the robot are low, without losing accuracy, it is possible to assume that the link has its mass lumped at its center of mass. This approach was demonstrated in Almeida & Hess-Coelho (2010) sufficiently accuracy for modeling purposes. In both cases, the methods do not take into account all the effects that act on the joints and links. They consider only the dynamics of the rigid body under the action of gravity. A very

• *τ* = [*τ*11 , *τ*21 ,..., *τnl* ]: vector of actuator torques applied at the active joints 1 ≤ *i* ≤ *n* at the

X

: resulting torque (excluding the actuator torque) exerted at the center of mass of link *i*

*il* = −*i*

*Iil*

˙*ωil* −*il ωil* ×

*p* = −*Ip* ˙*ω p* −

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

• *nil*

• *n*∗ *il*

• *n*∗

of leg *l*.

• *n*ˆ*il* = *nil* + *n*∗

*ω p* × (*Ipω p*) • *n*ˆ *p* = *np* + *n*∗

leg *l* = 1, 2, ..., 4

where *i* ∈ *A*, 1 ≤ *i* ≤ 4, and

*il*

*p*

• *δ*(·): virtual displacement of (·).

In addition, the next vectors are defined:

(*il Iil ω il* ) Z

$$
\delta\vec{q} = f\_p \delta\vec{x}\_{p\prime} \tag{63}
$$

then equation 61 leads to

$$\vec{\tau} = -J\_p^{-T} \left( \hat{\mathbf{f}}\_p + \sum\_{l=1}^{2} \sum\_{i=1}^{n} (f\_{l\_l}^T \hat{\mathbf{f}}\_{l\_l}) \right). \tag{64}$$

In addition to 64, a more accurate model of the leg dynamics could include various sources of flexibility, deflection of the links under load and vibrations (Bobrow et al., 2004). Nevertheless, this model is sufficiently accurate for our purposes since these effects are not significant for the leg under consideration.

Due to the fact, that the number of actuators is greater than the number of degrees of freedom of the robot, there is an infinite number of solutions for *τ*. Hence, a minimum norm solution can be adopted by applying the pseudo-inverse technique.

To solve equation (64), it is necessary to compute: i) the linear and angular velocities of each link, performing the inverse kinematics analysis; ii) the jacobian matrices of the links and of the moving platform; iii) the forces and torques of the links and of the moving platform.

#### **4.2 Dynamics model of the leg**

For the analysis of the dynamics model of the leg, the recursive Newton-Euler formulation was chosen. This formulation uses all the forces acting on the individual links of the robot leg. Hence, the resulting dynamical equation includes all the forces of constraint between two adjacent links.

The method consists of a forward computation of the velocities and accelerations of each link, followed by a backward computation of the forces and moments in each joint. (Tsai, 1999)

of a Quadruped Robot 19

A Kinematical and Dynamical Analysis of a Quadruped Robot 257

Parameters Movement of the Platform Movement of the Legs *N* 100 100 *tf* 40*s* 60*s*

*l* 3.5A 2.8A

*l* 12v 12v

The robot move was controlled by an optimal control law that minimize the loss energy in the actuator. The law of control was based in the independent joints control strategy. The objective of the simulation is to show the performance of the system in a basic cycle gait. The

Figures 14, 15 and 16 show the characteristics of the robot move at the "pushing stage". When the desirable position of the platform is reached, the next step is to move the legs that are in the air to the next clinging point. At this moment the stage "leg on the air" begins. Figures 17, 18 and 19 show the performance of one leg in this stage. The orientation of the

When the four legs are clung to the surface, the basic cycle gait is over, and the robot is ready to calculate the new path to go. The total displacement of the robot was from position *OP*(0) to position *OP*(*I*) with an average speed of displacement in the *Y* axis of about

*lBl* is always orthogonal to the surface in the pushing stage.

gait control was implemented according with the flowchart showed in figure 13.

2. The legs in the air are locked when the platform is moving.

Fig. 12. Mechanical model

Table 3. Control Parameters

1. Vector *O A*

*Ov*¯*Y* = 0.00975*m*/*s*.

*Imaxi*

*Vmaxi*

3. At the pushing stage, joints *θ*1*l* are passives.

gripper is the same all the time and it is *ϕ* = 0

#### **4.2.1 Forward computation**

The first step is to calculate the angular velocity, angular acceleration, linear velocity and linear acceleration of each link. The best form to calculate these velocities is using a recursive algorithm starting at the first moving link and advancing to the gripper.

$$\boldsymbol{^{i\_{l}+1}\omega}\_{\boldsymbol{i\_{l}+1}} = \boldsymbol{^{i\_{l}+1}}\,\,\boldsymbol{R}\_{\dot{\mathbf{i}\_{l}}} \cdot \boldsymbol{^{i\_{l}}}\,\boldsymbol{\omega}\_{\dot{\mathbf{i}\_{l}}} + \dot{\theta}\_{\dot{\mathbf{i}\_{l}}+1} \cdot \boldsymbol{^{i\_{l}+1}}\,\hat{\mathbf{2}}\_{\dot{\mathbf{i}\_{l}}+1} \tag{65}$$

where *il*+1*Z*ˆ*il*+1 is the versor of the joint axe expressed in the frame {*il* + 1} and *il*+1*ωil*+1 is the angular velocity of joint *il* + 1.

$$\boldsymbol{^{i}l+1}\dot{\boldsymbol{\omega}}\_{l+1} = \boldsymbol{^{i}l+1}\boldsymbol{R}\_{l\boldsymbol{l}} \cdot \dot{\boldsymbol{^{i}l}}\,\boldsymbol{\omega}\_{l\boldsymbol{i}} + \ddot{\theta}\_{l\boldsymbol{i}+1} \cdot \boldsymbol{^{i}l+1}\,\hat{\boldsymbol{Z}}\_{l\boldsymbol{i}+1} + \boldsymbol{^{i}l+1}\boldsymbol{R}\_{l\boldsymbol{i}} \cdot \dot{\boldsymbol{^{i}l}}\,\boldsymbol{\omega}\_{l\boldsymbol{i}} \times \dot{\theta}\_{l\boldsymbol{i}+1} \cdot \dot{\boldsymbol{^{i}l+1}}\,\hat{\boldsymbol{Z}}\_{l\boldsymbol{i}+1} \tag{66}$$

$$\mathbf{r}^{i\_l+1}\boldsymbol{v}\_{i\_l+1} = \,^{i\_l+1}\mathbf{R}\_{i\_l}(^{i}\boldsymbol{v}\_{i\_l} + ^{i\_l}\boldsymbol{\omega}\_{i\_l} \times ^{i\_l}\mathbf{0}\_{i\_l+1})\tag{67}$$

$${}^{i\_l+1}\dot{\boldsymbol{\upsilon}}\_{i\_l+1} = {}^{i\_l+1}\ R\_{\dot{i}\_l}[^{i\_l}\dot{\boldsymbol{\omega}}\_{i\_l} \times {}^{i\_l}\mathbf{0}\_{i\_l+1} + {}^{i\_l}\boldsymbol{\omega}\_{\dot{i}\_l} \times (^{i\_l}\boldsymbol{\omega}\_{\dot{i}\_l} \times ^{i\_l}\mathbf{0}\_{\dot{i}\_l+1}) + {}^{i\_l}\dot{\boldsymbol{\upsilon}}\_{\dot{i}\_l}] \tag{68}$$

For the calculation, it is assumed that velocities of base *ω*0, *ω*˙ 0, *v*0 and *v*˙0 are known and are equal to the platform.

If the center of mass of each link *il*+1*OCi l*+1 is known, its acceleration may be calculated by equation 69.

$$\dot{\boldsymbol{v}}^{i\_{l}+1}\dot{\boldsymbol{v}}\_{\mathbb{C}\_{\bar{l}+1}} = \stackrel{i\_{l}+1}{\boldsymbol{\omega}}\dot{\boldsymbol{\omega}}\_{\bar{l}+1} \times \stackrel{i\_{l}+1}{\boldsymbol{\circ}}\mathcal{O}\_{\mathbb{C}\_{\bar{l}+1}} + \stackrel{i\_{l}+1}{\boldsymbol{\omega}}\boldsymbol{\omega}\_{\bar{l}+1} \times \stackrel{i\_{l}+1}{\boldsymbol{\circ}}\boldsymbol{\omega}\_{\bar{l}+1} \times \stackrel{i\_{l}+1}{\boldsymbol{\circ}}\mathcal{O}\_{\mathbb{C}\_{\bar{l}+1}}\tag{69}$$

where *il*+1*v*˙*ci l*+1 is the velocity of the center of mass of link *il* + 1.

#### **4.2.2 Backward computation**

Once the velocities and accelerations of the link are calculated, the joint forces and moments can be computed, one link at time, starting from the gripper and ending at the platform.

$$\prescript{i\_l}{}{f}\_{\dot{i}\_l} = \prescript{i\_l}{}{R}\_{\dot{i}\_l+1} \cdot \prescript{i\_l+1}{}{f}\_{\dot{i}\_l+1} + \prescript{i\_l}{}{f}\_{\dot{i}\_l}^\* \tag{70}$$

$$\mathbf{u}^{\dot{i}\_{l}}\mathbf{n}\_{\dot{i}\_{l}} = {}^{\dot{i}\_{l}}\mathbf{n}\_{\dot{i}\_{l}}^{\*} + {}^{\dot{i}}\mathbf{R}\_{\dot{i}\_{l}+1} \cdot {}^{\dot{i}\_{l}+1}\mathbf{n}\_{\dot{i}\_{l}+1} + {}^{\dot{i}\_{l}}\mathbf{0}\_{\mathbf{c}\_{\dot{l}\_{l}}} \times {}^{\dot{i}\_{l}+1}f\_{\dot{i}\_{l}+1}^{\*} + {}^{\dot{i}\_{l}}\mathbf{0}\_{\dot{i}\_{l}+1} \times {}^{\dot{i}\_{l}}\mathbf{R}\_{\dot{i}\_{l}+1} \cdot {}^{\dot{i}\_{l}+1}f\_{\dot{i}\_{l}+1} \tag{71}$$

Finally, the torques are obtained by projecting the forces or moments onto their corresponding joint axes.

$$
\pi\_{\dot{\mathbf{i}}\_l} = {}^{\dot{\mathbf{i}}\_l} \, \pi\_{\dot{\mathbf{i}}\_l}^T \cdot {}^{\dot{\mathbf{i}}\_l} \, \hat{\mathbf{Z}}\_{\dot{\mathbf{i}}\_l} \tag{72}
$$

#### **5. Illustrative example of the robot gait**

This section, presents the performance of the robot in stages I and II (see figure 2). For this, we want to displacement of the center of the platform *OP* along the *Y* axis relative to frame {*O*} from the point *OP*(0)=[0.392, 0, 0.231] to the point *OP*(*I*)=[0.392, 0.39, 0.231]. At the starting point, legs *l* = 1, 3 are stuck to the surface and legs *l* = 2, 4 are in the air. Frame *O* is attached to point *O A*1 like in figure 12.

Table 3 show the control parameters used in this example.

Where *N* is the fator of discretization of the signals, *tf* the time to execute the task, and *Imaxi l* and *Vmaxi l* the maximus values of the current and voltage than can be apply to the joints motors.

In this case some conditions must be respected:

Fig. 12. Mechanical model

18 Will-be-set-by-IN-TECH

The first step is to calculate the angular velocity, angular acceleration, linear velocity and linear acceleration of each link. The best form to calculate these velocities is using a recursive

where *il*+1*Z*ˆ*il*+1 is the versor of the joint axe expressed in the frame {*il* + 1} and *il*+1*ωil*+1 is

*il ωil* + ˙

*il*+1 *Z*ˆ*il*+1 +*il*+1 *Ril* ·

*θil*+1 ·

*ilω*˙ *il* ×*il* 0*il*+1 +*il ωil* × (*ilωil* ×*il* 0*il*+1) +*il v*˙*il*

*l*+1 +*il*+1 *ωil*+1 × (*il*+1*ωil*+1 ×*il*+1 *OCi*

*il*+1 *fil*+1 +*il* ˆ

*l* ×*il*+1 ˆ *f* ∗

Finally, the torques are obtained by projecting the forces or moments onto their corresponding

This section, presents the performance of the robot in stages I and II (see figure 2). For this, we want to displacement of the center of the platform *OP* along the *Y* axis relative to frame {*O*} from the point *OP*(0)=[0.392, 0, 0.231] to the point *OP*(*I*)=[0.392, 0.39, 0.231]. At the starting point, legs *l* = 1, 3 are stuck to the surface and legs *l* = 2, 4 are in the air. Frame *O* is

Where *N* is the fator of discretization of the signals, *tf* the time to execute the task, and *Imaxi*

*l* the maximus values of the current and voltage than can be apply to the joints

*τil* =*il nT il* · *f* ∗

*il*+1 +*il* 0*il*+1 ×*il Ril*+1 ·

*il*+1 *Z*ˆ*il*+1 (65)

*il*+1 *Z*ˆ*il*+1 (66)

] (68)

*l*+1 ) +*il*+1 *v*˙*il*+1 (69)

*il*+1 *fil*+1 (71)

*l*

*il* (70)

*il Z*ˆ*il* (72)

*il ωil* × ˙

*l*+1 is known, its acceleration may be calculated by

*θil*+1 ·

*vil* +*il ωil* ×*il* 0*il*+1) (67)

algorithm starting at the first moving link and advancing to the gripper.

*il*+1*ωil*+1 =*il*+1 *Ril* ·

*il ω*˙ *il* + ¨

[

*il* ˆ

*il*+1*vil*+1 = *il*+1

*θil*+1 ·

*l*+1 is the velocity of the center of mass of link *il* + 1.

*fil* =*il Ril*+1 ·

*il*+1 *nil*+1 +*il* 0*ci*

*Ril* (*i*

For the calculation, it is assumed that velocities of base *ω*0, *ω*˙ 0, *v*0 and *v*˙0 are known and are

Once the velocities and accelerations of the link are calculated, the joint forces and moments can be computed, one link at time, starting from the gripper and ending at the platform.

**4.2.1 Forward computation**

the angular velocity of joint *il* + 1.

equal to the platform.

*il*+1*v*˙*ci*

**4.2.2 Backward computation**

*il nil* = *iln*∗

equation 69.

where *il*+1*v*˙*ci*

joint axes.

and *Vmaxi*

motors.

*il*+1*ω*˙ *il*+1 = *il*+1*Ril* ·

If the center of mass of each link *il*+1*OCi*

*il*+1*v*˙*il*+1 =*il*+1 *Ril*

*l*+1 = *il*+1*ω*˙ *il*+1 ×*il*+1 *OCi*

*il* +*i Ril*+1 ·

**5. Illustrative example of the robot gait**

attached to point *O A*1 like in figure 12.

In this case some conditions must be respected:

Table 3 show the control parameters used in this example.

Table 3. Control Parameters

The robot move was controlled by an optimal control law that minimize the loss energy in the actuator. The law of control was based in the independent joints control strategy. The objective of the simulation is to show the performance of the system in a basic cycle gait. The gait control was implemented according with the flowchart showed in figure 13.

Figures 14, 15 and 16 show the characteristics of the robot move at the "pushing stage".

When the desirable position of the platform is reached, the next step is to move the legs that are in the air to the next clinging point. At this moment the stage "leg on the air" begins. Figures 17, 18 and 19 show the performance of one leg in this stage. The orientation of the gripper is the same all the time and it is *ϕ* = 0

When the four legs are clung to the surface, the basic cycle gait is over, and the robot is ready to calculate the new path to go. The total displacement of the robot was from position *OP*(0) to position *OP*(*I*) with an average speed of displacement in the *Y* axis of about *Ov*¯*Y* = 0.00975*m*/*s*.

of a Quadruped Robot 21

A Kinematical and Dynamical Analysis of a Quadruped Robot 259

θ11 θ21 θ31 θ41 θ13 θ23 θ33 θ43

τ41 τ31 τ21 τ43 τ33 τ23

10 20 30 40 50 60 70 80 90 100 −1.5

10 20 30 40 50 60 70 80 90 100 −20

Samples

Samples

−1 −0.5 0 0.5 1 1.5 2 2.5

−15

Fig. 15. Joint torques in the "pushing stage".

−10

−5

N-m

0

5

10

rad

Fig. 14. Joint space in the "pushing stage".

Fig. 13. Control flowchart for a cycle gait

20 Will-be-set-by-IN-TECH

Gait Cycle

New *xP*(*t*)

*xP*(*t*) ∈ W*P*

no

no

Fig. 13. Control flowchart for a cycle gait

Solve Inverse kinematics problems for the platform. Move to *xP*(*tf*)

yes

Calculate the new clinging points. (*l* = 1, 3)

(*t*) ∈ W*Gl*

yes

*xGl* (*t*)

Solve Inverse kinematics problems for the l-*th* leg. Move to *xGl*

> End Gait Cycle

(*tf*).

*xGl*

Fig. 14. Joint space in the "pushing stage".

Fig. 15. Joint torques in the "pushing stage".

of a Quadruped Robot 23

A Kinematical and Dynamical Analysis of a Quadruped Robot 261

τ12 τ22 τ32

10 20 30 40 50 60 70 80 90 100 −1

Samples

Position

10 20 30 40 50 60 70 80 90 100 −0.4

10 20 30 40 50 60 70 80 90 100 0

10 20 30 40 50 60 70 80 90 100 0

Samples

Fig. 19. Movement of the gripper of a leg 1 in the Cartesian space in the stage "leg on the air".

This paper discussed an important issue related to legged robots: the kinematics and dynamics model of the quadruped robot. The analysis done for each model was always presented in two parts, the platform and the legs, according to a time-varying topology and a

Several methods were used in each modeling process always trying to use those which brought to better performance in accordance with the topology modeled and that could be easily implemented in programming languages of high level. Then were used the Denavit-Hartenberg parameters for solving the direct position kinematics of the platform and leg, the Principle of Virtual Work or the d'Alembert for dynamic modeling of the platform and

−0.5 0 0.5 1 1.5 2 2.5 3 3.5

−0.2 0

> 0.5 1

> 0.5 1

zG[m]

time-varying degree of freedom of the system.

the Newton-Euler dynamic model for leg in the air.

**6. Conclusion**

yG [m]

xG [m]

Fig. 18. Joint torques for one leg 1 in the stage "leg on the air".

N-m

Fig. 16. Movement and orientation of the center of platform in the Cartesian space in the "pushing stage".

Fig. 17. Joint space for one leg 1 in the stage "leg on the air".

22 Will-be-set-by-IN-TECH

0 1

3.15 3.2

−1 −0.5 0

ΘP [rad]

ΨP [rad]

10 20 30 40 50 60 70 80 90 100 −2

Samples

Fig. 16. Movement and orientation of the center of platform in the Cartesian space in the

ΦP [rad]

0 50 100 −1

0 50 100 3.1

0 50 100 −1.5

Samples

θ12 θ22 θ32

Euler Angles

0 50 100 0.38

0 50 100 −0.5

0 50 100 0.23

Samples

0.42 Position

0.4

0 0.5

0.235 0.24

−1

Fig. 17. Joint space for one leg 1 in the stage "leg on the air".

0

1

rad

2

3

4

zP [m]

"pushing stage".

xP [m]

yP [m]

Fig. 18. Joint torques for one leg 1 in the stage "leg on the air".

Fig. 19. Movement of the gripper of a leg 1 in the Cartesian space in the stage "leg on the air".

#### **6. Conclusion**

This paper discussed an important issue related to legged robots: the kinematics and dynamics model of the quadruped robot. The analysis done for each model was always presented in two parts, the platform and the legs, according to a time-varying topology and a time-varying degree of freedom of the system.

Several methods were used in each modeling process always trying to use those which brought to better performance in accordance with the topology modeled and that could be easily implemented in programming languages of high level. Then were used the Denavit-Hartenberg parameters for solving the direct position kinematics of the platform and leg, the Principle of Virtual Work or the d'Alembert for dynamic modeling of the platform and the Newton-Euler dynamic model for leg in the air.

**0**

**13**

*Italy*

**Epi.q Robots**

and Roberto Razzoli2 1*Politecnico di Torino* 2*University of Genova*

Giuseppe Quaglia1, Riccardo Oderio1, Luca Bruzzone2

Over the last few years there have been great developments and improvements in the mobile robotics field, oriented to replace human operators especially in dangerous tasks, such as mine-sweeping operations, rescuing after earthquakes or other catastrophic events, fire-fighting operations, working inside nuclear power stations and exploration of unknown

Different locomotion systems have been developed to enable robots to move flexibly and reliably across various ground surfaces. Usually, mobile robots are wheeled, tracked and legged ones, even if there are also robots that swim, jump, slither and so on. *Wheeled robots* are robots that use wheels for moving; they can move fast with low energy consumption, have few degrees of freedom and are easy to control, but they cannot climb great obstacles (in comparison with robot dimensions) and can lose grip on uneven terrain. *Tracked robots* are robots that use tracks for moving; they are easily controllable, also on uneven terrain, but are slower than wheeled ones and have higher energy consumption. *Legged robots* are robots that use legs for moving; they possess great mobility and this makes them suitable for applications on uneven terrain; conversely, they are relatively slow, require much energy and their structure needs several actuators, with increased control complexity. Of course each robot class has advantages and drawbacks, thus scientists designed new robots, trying to comprise the advantages of different robot classes and, at the same time, to reduce the

Literature presents numerous interesting solutions for robots moving in structured and unstructured environments: some of them are here presented. The Spacecat, Whegs and MSRox can be considered smart reference prototypes for this work; the others are interesting

Spacecat (Siegwart et al., 1998) is a smart rover developed at the École Polytechnique Fédérale de Lausanne (EPFL) by a team leaded by prof. Roland Siegwart, in collaboration with Mecanex S.A. and ESA. The locomotion concept is a hybrid approach called *Stepping triple wheels*, that shares features with both wheeled and legged locomotion. Two independently driven sets of three wheels are supported by two frames. The frames can rotate independently around the main body (payload frame) and allow the rover to actively lift one wheel to step climb the obstacle. Eight motors drive each wheel and frame independently. During climbing

**1. Introduction**

environments.

**1.1 Background**

disadvantages: these robots are called *Hybrid robots*.

solutions that, using different mechanisms, accomplish similar tasks.

Special attention was given in the section of the singularities, where the study of all the singularities in the parallel topology were presented. For that, the complete criterion of singularity for parallel robots proposed in Goselin & Angeles (1990) was used. In addition, the principals configurations of the singularities were showed through figures.

Finally, the performance of the robot in a cycle gait was presented. As a result of this example, the space joints, the torque of the joints and the cartesian space relative to this gait were displayed in figures.

#### **7. References**

### **0 13**

## **Epi.q Robots**

Giuseppe Quaglia1, Riccardo Oderio1, Luca Bruzzone2 and Roberto Razzoli2 1*Politecnico di Torino* 2*University of Genova*

*Italy*

### **1. Introduction**

24 Will-be-set-by-IN-TECH

262 Mobile Robots – Current Trends

Special attention was given in the section of the singularities, where the study of all the singularities in the parallel topology were presented. For that, the complete criterion of singularity for parallel robots proposed in Goselin & Angeles (1990) was used. In addition,

Finally, the performance of the robot in a cycle gait was presented. As a result of this example, the space joints, the torque of the joints and the cartesian space relative to this gait were

Almeida, R. Z. H. & Hess-Coelho, T. A. (2010). Dynamic model of a 3-dof asymmetric parallel

Angeles, J. (2007). *Fundamentals of Robotic Mechanical Systems. Theory, Methods, and Algorithms*,

Bernardi, R. & Da Cruz, J. J. (2007). Kamanbaré: A tree-climbing biomimetic robotic

Bernardi, R., Potts, A. S. & Cruz, J. (2009). An automatic modelling approach to mobile robots,

Bobrow, J., Park, F. & Sideris, A. (2004). Recent advances on the algorithmic optimization

Goselin, C. & Angeles, J. (1990). Singularity analysis of closed-loop kinematic chains, *IEEE*

Harib, K. & Srinivasan, K. (2003). Kinematic and dynamic analysis of stewart platform-based

Kolter, J. Z., Rodgers, M. P. & Ng, A. Y. (2008). A control architecture for quadruped

Lenarcic, J. & Roth, B. (eds) (2006). *Advances in Robots Kinematics. Mechanisms and Motion*,

Murray, R. M., Li, Z. & Sastry, S. S. (1994). *A Mathematical Introduction to Robot Manipulation*,

Pfeiffer, F., Eltze, J. & Weidemann, H.-J. (1995). The tum walking machine, *Intelligent*

Pieper, D. (1968). The kinematics of manipulators under computer control., *Technical report*,

Potts, A. & Da Cruz, J. (2010). Kinematics analysis of a quadruped robot, *IFAC Symposium on*

Siegwart, R. & Nourbakhsh, I. R. (2004). *Introduction to Autonomous Mobile Robots*, The MIT

Tsai, L. (1999). *Robot Analysis. The Mechanical of Serial and Paralel Manipulators*, John Wiley &

*Automation and Soft Computing. An International Journal* 1: 307–323.

Department of Mechanical Engineering, Stanford University.

Craig, J. (1989). *Introduction to Robotics. Mechanics and Control*, Addison Wesley Longman. Estremera, J. & Waldron, K. J. (2008). Thrust control, stabilization and energetics

platform for environmental research., *International Conference on Informatics in Control,*

*in* F. B. Troch (ed.), *International Conference on Mathematical Modelling*, MATHMOD,

of robot motion., *Technical report*, Departament of Mechanical and Aerospace

of a quadruped running robot, *The International Journal of Robotics Research*

locomotion over rough terrain, *Technical report*, Computer Science Department,

the principals configurations of the singularities were showed through figures.

mechanism, *The Open Mechanical Engineering Journal* 4.

*Automation and Robotics (ICINCO)*.

Engineering, University of California.

*Transactions on Robotics and Automation* 6: 281–290.

machine tool structures, *Robotica* 21: 241–254.

*Mechatronics Systems*, Boston, Massachusetts.

Stanford University, Stanford.

Merlet, J. (2006). *Parallel Robots*, 2nd edn, Springer.

Vienna, pp. 1906–1912.

27(10): 1135–1151.

Springer.

CRC Press.

Press.

Sons.

displayed in figures.

Springer.

**7. References**

Over the last few years there have been great developments and improvements in the mobile robotics field, oriented to replace human operators especially in dangerous tasks, such as mine-sweeping operations, rescuing after earthquakes or other catastrophic events, fire-fighting operations, working inside nuclear power stations and exploration of unknown environments.

Different locomotion systems have been developed to enable robots to move flexibly and reliably across various ground surfaces. Usually, mobile robots are wheeled, tracked and legged ones, even if there are also robots that swim, jump, slither and so on. *Wheeled robots* are robots that use wheels for moving; they can move fast with low energy consumption, have few degrees of freedom and are easy to control, but they cannot climb great obstacles (in comparison with robot dimensions) and can lose grip on uneven terrain. *Tracked robots* are robots that use tracks for moving; they are easily controllable, also on uneven terrain, but are slower than wheeled ones and have higher energy consumption. *Legged robots* are robots that use legs for moving; they possess great mobility and this makes them suitable for applications on uneven terrain; conversely, they are relatively slow, require much energy and their structure needs several actuators, with increased control complexity. Of course each robot class has advantages and drawbacks, thus scientists designed new robots, trying to comprise the advantages of different robot classes and, at the same time, to reduce the disadvantages: these robots are called *Hybrid robots*.

#### **1.1 Background**

Literature presents numerous interesting solutions for robots moving in structured and unstructured environments: some of them are here presented. The Spacecat, Whegs and MSRox can be considered smart reference prototypes for this work; the others are interesting solutions that, using different mechanisms, accomplish similar tasks.

Spacecat (Siegwart et al., 1998) is a smart rover developed at the École Polytechnique Fédérale de Lausanne (EPFL) by a team leaded by prof. Roland Siegwart, in collaboration with Mecanex S.A. and ESA. The locomotion concept is a hybrid approach called *Stepping triple wheels*, that shares features with both wheeled and legged locomotion. Two independently driven sets of three wheels are supported by two frames. The frames can rotate independently around the main body (payload frame) and allow the rover to actively lift one wheel to step climb the obstacle. Eight motors drive each wheel and frame independently. During climbing

unit is driven. The presented version of MSRox has only two motors: one motor controls the rotation of the 12 wheels while the other controls the rotation of the Star-Wheels; the steering

Epi.q Robots 265

RHex (Saranli et al., 2001; 2004), developed first at the McGill University and University of Michigan and then at the Carnegie Mellon Robotics Institute, is characterized by compliant leg elements that provide dynamically adaptable legs and a mechanically self-stabilized gait. This hexapod robot, cockroach-inspired, uses a simple mechanical design with one actuator per leg and it is capable of doing a wide variety of tasks, such as walking, running, leaping

Hylos (Grand et al., 2004), developed at the Université Pierre et Marie Curie, is characterized by a wheel-legged locomotion unit. Legs and wheels are independently actuated, therefore it uses wheels for propulsion and internal articulation to adapt its posture. It is a lightweight

VIPeR (Galileo Mobility Instruments & Elbit Systems Ltd, 2009), codeveloped by Elbit System and Galileo Mobility Instruments, is characterized by the *Galileo Wheel*, a patented system developed by Galileo Mobility Instruments ltd. The Galileo Wheel combines wheel and track in a single component, switching back and forth between the two modes within seconds. This technology enables the device to use wheels whenever possible, and tracks whenever needed. Lego Mindstorm Artic Snow Cat (Lego Mindstorm, 2007) is characterized by four sets of triangular tracked treads that can rotate in two ways. In standard drive the treads move like a tank. When the going gets tough it can turn all four treads on the center axis, or to go through

Packbot (iRobot, 2010; Mourikis et al., 2007), developed by iRobot, is a tracked vehicle with *flippers*. The flippers enable the robot to climb over obstacles, self right itself and climb stairs,

Scout II (Poulakakis et al., 2006; 2005) is characterized by a fast and stable quadrupedal locomotion. It consists of a rigid body with four compliant rigid prismatic legs. One single actuator per leg, located at the hip, allows active rotation of the leg. Each leg assembly consists of a lower and an upper part, connected via springs to form a compliant prismatic joint.

Epi.q robots can be classified as hybrid robots, since their locomotion system shares features with both wheeled and legged robots. They are smart mini robots able to move in structured and unstructured environments, to climb over obstacles and to go up and down stairs. The robots do not need to actively sense obstacles for climbing them, they simply move forward and let their locomotion passively adapt to ground conditions and change accordingly without active control intervention: from rolling on wheels to stepping on rotating legs and vice-versa. Using wheels whenever possible and legs only when needed, their energy demand is really low in comparison with tracked and legged robots having similar obstacle crossing

Epi.q mechanical architecture consists of: a forecarriage, a central body and a rear axle, as shown in Figure 1. The forecarriage is composed of a frame linked to two driving units, that generate robot traction. The forecarriage frame houses motors and electronics, protecting them from dust and from potentially dangerous impacts against obstacles. The driving units are three-legged wheel units having attached thereto three wheels; they house the

function is not implemented.

over obstacles and climbing stairs.

mini-robot with 16 actively actuated degrees of freedom.

enhancing ability over a simple tracked robot.

**2. Mechanical architecture**

capability.

**2.1 Chassis**

deep water it can run on the ends of its triangular treads for extra lift.

operation, the center of gravity of the rover is moved outside the contact surface formed by the four wheels. Thus the rover gets out of balance and falls with its upper wheel onto the obstacle; nevertheless no displacement of the center of gravity is required when the rover moves over a small rock; therefore, small object can be passed without any special control commands.

Whegs and Mini-Whegs (Allen et al., 2003; Quinn et al., 2003; Schroer et al., 2004) are hybrid mobile robots developed at the Center for Biologically Inspired Robotics Research at Case Western Reserve University, Cleveland, Ohio. The *Whegs* were designed using abstracted principles of cockroach locomotion. A cockroach has six legs, which support and move its body. It typically walks and runs in a tripod gait where the front and rear legs on one side of the body move in phase with the middle leg on the other side. The front legs swing head-high during normal walking so that many obstacles can be surmounted without significant gait changes. These robots are characterized by three-spoke locomotion units; they move faster than legged vehicles and climb higher barriers than wheeled ones of similar size. A single propulsion motor drives both front and rear axles and a servo actuated system controls the steering, similarly to automobile vehicle. With regard to Whegs locomotion: while the robot is walking on flat ground, three of the wheel-legs are 60◦ out of phase with the other three wheel-legs, which allows the robot to use an alternating tripod gait. This gait requires that the two front wheel-legs be out of phase with each other. When an obstacle is encountered, passive mechanical compliance allows the front legs to come back into phase with each other, so that they can both be used to pull the robot up and over the obstacle. After the robot has pulled itself over the obstacle, the front legs fall back into the previous pattern, thus the robot returns to an alternating tripod gait. *Whegs II*, the next generation of Whegs vehicles, incorporates a body flexion joint in addition to all of the mechanisms that were implemented in Whegs I. This actively controlled joint allows the robot to change its posture in a way similar to the cockroach, thus enabling it to climb even higher obstacles. The active body joint also allows the robot to reach its front legs down to contact the substrate during a climb and to avoid the instability of high-centering. Its aluminum frame and new leg design contributed in making Whegs II more robust than Whegs I. *Whegs VP* is a hybrid of the Whegs I and II vehicles. It is most similar in design to Whegs II, but lacks the body flexion joint. It combines the simplicity and agility of Whegs I with the durability and robustness of Whegs II. Improved legs and gait adaptation devices were implemented in its design. The *Mini-Whegs* are highly mobile, robust, and power-autonomous vehicles employ the same abstracted principles as Whegs, but on a scale more similar to the cockroach and using only four locomotion units. These robots, 90 mm long, can run at sustained speeds of over 10 body lengths per second and climb obstacles higher than the length of their legs. One version, called Jumping Mini-Whegs, has also a self-resetting jump mechanism that enables it to surmount obstacles as high as 220 mm, such as a stair.

MSRox (Dalvand & Moghadam, 2006) is an hybrid mobile robot developed by prof. Moghaddam and Dalvand at Tarbiat Modares University, Tehran, Iran. The MSRox employs an hybrid driving unit called *Star-Wheel*, designed for traversing stairs and obstacles. It is a three-legged wheel unit having three radially located wheels, mounted at the end of each spoke. Each Star-Wheel has two rotary axes: one for the rotation of the wheels, when MSRox moves on flat surfaces or passes over uphill, downhill, and slope surfaces; the other for the rotation of the Star-Wheel, when MSRox climbs or descends stairs and traverses obstacles. The four locomotion units are assembled on a central body. The robot can advance on ground, when only the wheel rotation is driven, or climb over an obstacle, when only the locomotion 2 Will-be-set-by-IN-TECH

operation, the center of gravity of the rover is moved outside the contact surface formed by the four wheels. Thus the rover gets out of balance and falls with its upper wheel onto the obstacle; nevertheless no displacement of the center of gravity is required when the rover moves over a small rock; therefore, small object can be passed without any special control

Whegs and Mini-Whegs (Allen et al., 2003; Quinn et al., 2003; Schroer et al., 2004) are hybrid mobile robots developed at the Center for Biologically Inspired Robotics Research at Case Western Reserve University, Cleveland, Ohio. The *Whegs* were designed using abstracted principles of cockroach locomotion. A cockroach has six legs, which support and move its body. It typically walks and runs in a tripod gait where the front and rear legs on one side of the body move in phase with the middle leg on the other side. The front legs swing head-high during normal walking so that many obstacles can be surmounted without significant gait changes. These robots are characterized by three-spoke locomotion units; they move faster than legged vehicles and climb higher barriers than wheeled ones of similar size. A single propulsion motor drives both front and rear axles and a servo actuated system controls the steering, similarly to automobile vehicle. With regard to Whegs locomotion: while the robot is walking on flat ground, three of the wheel-legs are 60◦ out of phase with the other three wheel-legs, which allows the robot to use an alternating tripod gait. This gait requires that the two front wheel-legs be out of phase with each other. When an obstacle is encountered, passive mechanical compliance allows the front legs to come back into phase with each other, so that they can both be used to pull the robot up and over the obstacle. After the robot has pulled itself over the obstacle, the front legs fall back into the previous pattern, thus the robot returns to an alternating tripod gait. *Whegs II*, the next generation of Whegs vehicles, incorporates a body flexion joint in addition to all of the mechanisms that were implemented in Whegs I. This actively controlled joint allows the robot to change its posture in a way similar to the cockroach, thus enabling it to climb even higher obstacles. The active body joint also allows the robot to reach its front legs down to contact the substrate during a climb and to avoid the instability of high-centering. Its aluminum frame and new leg design contributed in making Whegs II more robust than Whegs I. *Whegs VP* is a hybrid of the Whegs I and II vehicles. It is most similar in design to Whegs II, but lacks the body flexion joint. It combines the simplicity and agility of Whegs I with the durability and robustness of Whegs II. Improved legs and gait adaptation devices were implemented in its design. The *Mini-Whegs* are highly mobile, robust, and power-autonomous vehicles employ the same abstracted principles as Whegs, but on a scale more similar to the cockroach and using only four locomotion units. These robots, 90 mm long, can run at sustained speeds of over 10 body lengths per second and climb obstacles higher than the length of their legs. One version, called Jumping Mini-Whegs, has also a self-resetting jump mechanism that enables it to surmount

MSRox (Dalvand & Moghadam, 2006) is an hybrid mobile robot developed by prof. Moghaddam and Dalvand at Tarbiat Modares University, Tehran, Iran. The MSRox employs an hybrid driving unit called *Star-Wheel*, designed for traversing stairs and obstacles. It is a three-legged wheel unit having three radially located wheels, mounted at the end of each spoke. Each Star-Wheel has two rotary axes: one for the rotation of the wheels, when MSRox moves on flat surfaces or passes over uphill, downhill, and slope surfaces; the other for the rotation of the Star-Wheel, when MSRox climbs or descends stairs and traverses obstacles. The four locomotion units are assembled on a central body. The robot can advance on ground, when only the wheel rotation is driven, or climb over an obstacle, when only the locomotion

commands.

obstacles as high as 220 mm, such as a stair.

unit is driven. The presented version of MSRox has only two motors: one motor controls the rotation of the 12 wheels while the other controls the rotation of the Star-Wheels; the steering function is not implemented.

RHex (Saranli et al., 2001; 2004), developed first at the McGill University and University of Michigan and then at the Carnegie Mellon Robotics Institute, is characterized by compliant leg elements that provide dynamically adaptable legs and a mechanically self-stabilized gait. This hexapod robot, cockroach-inspired, uses a simple mechanical design with one actuator per leg and it is capable of doing a wide variety of tasks, such as walking, running, leaping over obstacles and climbing stairs.

Hylos (Grand et al., 2004), developed at the Université Pierre et Marie Curie, is characterized by a wheel-legged locomotion unit. Legs and wheels are independently actuated, therefore it uses wheels for propulsion and internal articulation to adapt its posture. It is a lightweight mini-robot with 16 actively actuated degrees of freedom.

VIPeR (Galileo Mobility Instruments & Elbit Systems Ltd, 2009), codeveloped by Elbit System and Galileo Mobility Instruments, is characterized by the *Galileo Wheel*, a patented system developed by Galileo Mobility Instruments ltd. The Galileo Wheel combines wheel and track in a single component, switching back and forth between the two modes within seconds. This technology enables the device to use wheels whenever possible, and tracks whenever needed. Lego Mindstorm Artic Snow Cat (Lego Mindstorm, 2007) is characterized by four sets of triangular tracked treads that can rotate in two ways. In standard drive the treads move like a tank. When the going gets tough it can turn all four treads on the center axis, or to go through deep water it can run on the ends of its triangular treads for extra lift.

Packbot (iRobot, 2010; Mourikis et al., 2007), developed by iRobot, is a tracked vehicle with *flippers*. The flippers enable the robot to climb over obstacles, self right itself and climb stairs, enhancing ability over a simple tracked robot.

Scout II (Poulakakis et al., 2006; 2005) is characterized by a fast and stable quadrupedal locomotion. It consists of a rigid body with four compliant rigid prismatic legs. One single actuator per leg, located at the hip, allows active rotation of the leg. Each leg assembly consists of a lower and an upper part, connected via springs to form a compliant prismatic joint.

### **2. Mechanical architecture**

Epi.q robots can be classified as hybrid robots, since their locomotion system shares features with both wheeled and legged robots. They are smart mini robots able to move in structured and unstructured environments, to climb over obstacles and to go up and down stairs. The robots do not need to actively sense obstacles for climbing them, they simply move forward and let their locomotion passively adapt to ground conditions and change accordingly without active control intervention: from rolling on wheels to stepping on rotating legs and vice-versa. Using wheels whenever possible and legs only when needed, their energy demand is really low in comparison with tracked and legged robots having similar obstacle crossing capability.

#### **2.1 Chassis**

Epi.q mechanical architecture consists of: a forecarriage, a central body and a rear axle, as shown in Figure 1. The forecarriage is composed of a frame linked to two driving units, that generate robot traction. The forecarriage frame houses motors and electronics, protecting them from dust and from potentially dangerous impacts against obstacles. The driving units are three-legged wheel units having attached thereto three wheels; they house the

*C C*

*d* = *vf l* + *vf r vf l* − *vf r*

Consequently the velocity of a point centered half way between the two wheels is known:

*vf* = *vf l* + *vf r*

and this velocity is equal to the component of the caster wheel velocity in the motion direction, otherwise there would be a deformation into robot body. During this operation the idle caster wheel is positioned by kinematic conditions and turns until it becomes orthogonal to the

*vp* = *vf l* + *vf r*

*α* = arctan *p*

For an Epi.q robot, shown in Figure 2 on the right, the mathematical treatment is quite similar. When the velocities of the two driving units are chosen, the position of the instantaneous

> *d* = *vf l* + *vf r vf l* − *vf r*

Therefore the velocity of a point centered half way between the two driving units is known:

*vf* = *vf l* + *vf r*

and this point coincides with the vertical revolute joint. An angle between front and rear part of the robot is generated by kinematic conditions, that position the rear wheel unit axis in

· *i*

segment that links *J* and *C*; its velocity is a function of the driven wheel velocities:

*vf l d* + *i*/2 = *vf r*

*α β*

*l*

· *i*

*vb*

*vbl*

*vf l*

*vf*

*J*

2 (2)

2 (3)

2 cos *α* (4)

*d* (5)

*d* − *i*/2 (6)

2 (8)

2 (7)

*β p*

*vbr*

*vf c*

*vf r*

*d*

*i*

*d*

*i*

Classic differential steering robot Epi.q robot

Epi.q Robots 267

*vf l*

*vf*

*p*

*vps α*

Fig. 2. Differential steering systems

*vp*

*J*

where

center of rotation is fixed too:

*vf r*

transmission system and therefore they control robot locomotion. The rear axle comprises two idle wheel units, consisting of an idle three-legged wheel unit with three radially located idle wheels, mounted at the end of each spoke. The central body is a platform which connects forecarriage and rear axle, where a payload can be placed.

Two passive revolute joints, mutually perpendicular, link front and rear part of the robot,

as shown in Figure 1. The vertical joint allows robot steering, while the horizontal joint guarantees a correct contact between wheels and ground, also in presence of uneven terrain.The angular excursion of the vertical and horizontal joints is limited by means of suitable mechanical stops.

Epi.q robots implement a differential steering, that provides both driving and steering functions. Differently choosing driving unit speeds, differently the instantaneous center of rotation is positioned along the common driving unit axis, so that an angle between front and rear part is generated by kinematic conditions and the robot can follow a specific path. Basically, a differential steering vehicle consists of two wheels mounted onto a device along the same axis, independently powered and controlled, and usually an idle caster wheel forms a tripod-like support structure for the body of the robot. In Epi.q robots the driven wheels are substituted by driving units and the Epi.q vertical joint accomplishes the same task of the caster wheel joint, as shown in Figure 2. If both the driving units are driven in the same direction and speed, the robot goes in a straight line. If one driving unit rotates faster than the other, the robot follows a curved path, turning inward toward the slower driving unit. If one of the driving units is stopped while the other continues to turn, the robot pivots around the stopped driving unit. If the driving units turn at equal speed but in opposite directions, both driving units traverse a circular path around a point centered half way between the two driving units, therefore the forecarriage pivots around the vertical axis.

For a classic differential steering robot, shown in Figure 2 on the left, when the velocities of the two driven wheels are chosen, the position of the instantaneous center of rotation is fixed too:

$$\frac{v\_{fl}}{d+i/2} = \frac{v\_{fr}}{d-i/2} \tag{1}$$

4 Will-be-set-by-IN-TECH

transmission system and therefore they control robot locomotion. The rear axle comprises two idle wheel units, consisting of an idle three-legged wheel unit with three radially located idle wheels, mounted at the end of each spoke. The central body is a platform which connects

Two passive revolute joints, mutually perpendicular, link front and rear part of the robot,

as shown in Figure 1. The vertical joint allows robot steering, while the horizontal joint guarantees a correct contact between wheels and ground, also in presence of uneven terrain.The angular excursion of the vertical and horizontal joints is limited by means of

Epi.q robots implement a differential steering, that provides both driving and steering functions. Differently choosing driving unit speeds, differently the instantaneous center of rotation is positioned along the common driving unit axis, so that an angle between front and rear part is generated by kinematic conditions and the robot can follow a specific path. Basically, a differential steering vehicle consists of two wheels mounted onto a device along the same axis, independently powered and controlled, and usually an idle caster wheel forms a tripod-like support structure for the body of the robot. In Epi.q robots the driven wheels are substituted by driving units and the Epi.q vertical joint accomplishes the same task of the caster wheel joint, as shown in Figure 2. If both the driving units are driven in the same direction and speed, the robot goes in a straight line. If one driving unit rotates faster than the other, the robot follows a curved path, turning inward toward the slower driving unit. If one of the driving units is stopped while the other continues to turn, the robot pivots around the stopped driving unit. If the driving units turn at equal speed but in opposite directions, both driving units traverse a circular path around a point centered half way between the two

For a classic differential steering robot, shown in Figure 2 on the left, when the velocities of the two driven wheels are chosen, the position of the instantaneous center of rotation is fixed

> *vf l d* + *i*/2 = *vf r*

driving units, therefore the forecarriage pivots around the vertical axis.

Central body

Horizontal axis

*d* − *i*/2 (1)

Rear axle

forecarriage and rear axle, where a payload can be placed.

Forecarriage

Fig. 1. Epi.q mechanical architecture

suitable mechanical stops.

too:

Vertical axis

Classic differential steering robot Epi.q robot

Fig. 2. Differential steering systems

$$d = \frac{v\_{fl} + v\_{fr}}{v\_{fl} - v\_{fr}} \cdot \frac{\text{i}}{\text{2}} \tag{2}$$

Consequently the velocity of a point centered half way between the two wheels is known:

$$v\_f = \frac{v\_{fl} + v\_{fr}}{2} \tag{3}$$

and this velocity is equal to the component of the caster wheel velocity in the motion direction, otherwise there would be a deformation into robot body. During this operation the idle caster wheel is positioned by kinematic conditions and turns until it becomes orthogonal to the segment that links *J* and *C*; its velocity is a function of the driven wheel velocities:

$$v\_p = \frac{v\_{fl} + v\_{fr}}{2\cos\alpha} \tag{4}$$

where

$$\alpha = \arctan{\frac{p}{d}}\tag{5}$$

For an Epi.q robot, shown in Figure 2 on the right, the mathematical treatment is quite similar. When the velocities of the two driving units are chosen, the position of the instantaneous center of rotation is fixed too:

$$\frac{v\_{fl}}{d+i/2} = \frac{v\_{fr}}{d-i/2} \tag{6}$$

$$d = \frac{v\_{fl} + v\_{fr}}{v\_{fl} - v\_{fr}} \cdot \frac{\text{i}}{\text{2}} \tag{7}$$

Therefore the velocity of a point centered half way between the two driving units is known:

$$v\_f = \frac{v\_{fl} + v\_{fr}}{2} \tag{8}$$

and this point coincides with the vertical revolute joint. An angle between front and rear part of the robot is generated by kinematic conditions, that position the rear wheel unit axis in

*rdu*

30° *ha*

�

Section 4.

Δ*hdu*

Epi.q Robots 269

Δ*hw*

Fig. 3. Vertical displacement in presence of little unevenness, a comparative sketch between a

Δ*hdu* ≤

while the vertical displacement of a single wheel, Δ*hw*, is always equal to obstacle height. Consequently, when the robot is moving on uneven terrain the pitching is significantly

As regards the ability of climbing an obstacle, a multi-leg wheel unit can climb over higher steps than a single wheel with the same overall dimensions actually, as shown in Figure 4, the maximum step that a single wheel can climb over measures a fraction of its radius while, for a multi-leg wheel unit, it is a fraction of its height: for example it was experimentally testes that the Epi.q-2 driving unit can climb over obstacles that measure till 84% of its height, see

In case of steps that can be overcome both by a multi-leg wheel unit or by a single wheel, generally the velocity component in the motion direction presents smaller discontinuities with the multi-leg wheel unit than with a single wheel. Considering a three-legged wheel unit and a single wheel with same overall dimensions that are advancing at the same speed, shown in

sin *β* = 1 − *ho*

*rw*

*ho*

three-legged wheel unit and a single wheel with same overall dimensions

reduced with the use of a three-legged wheel unit instead of a single wheel.

that is always smaller or equal to half obstacle height:

Figure 4, it is possible to identify a *β* angle:

*α*

*ll*

*ho*

*ho*

(18)

2 (17)

*ha* ��

order to pass through the instantaneous center of rotation *C*. The component of the vertical joint velocity in rear axle direction is equal to the rear axle velocity, otherwise there would be a deformation of the robot central body:

$$v\_b = \frac{v\_{f1} + v\_{fr}}{2} \cos \beta \tag{9}$$

where

$$
\beta = \arcsin\frac{p}{d} \tag{10}
$$

and consequently the velocity of the two rear idle wheel units are:

$$v\_{bl} = \frac{v\_{fl} + v\_{fr}}{2} \cdot \frac{d\cos\beta + l/2}{d} \tag{11}$$

$$v\_{br} = \frac{v\_{fl} + v\_{fr}}{2} \cdot \frac{d \cos \beta - l/2}{d} \tag{12}$$

#### **2.2 Multi-leg wheel unit**

A multi-leg wheel unit consists of a plurality of radially located spokes that end with a wheel. Both the forecarriage and the rear axle employ multi-leg wheel units.

A multi-leg wheel unit has a plurality of equally spaced wheels. If the number of wheels increases, the polygon defined by the wheel centers tends to become a circle and its side length decreases; thus the step overcoming capability is reduced but, on the other hand, the rotating leg motion is improved in terms of motion smoothness. Epi.q robots employ a three-legged wheel unit because it maximizes the step overcoming capability, for a given driving unit height, and the motion smoothness is guaranteed due to the fact that these robots use wheels whenever possible and legs only when needed.

Although a multi-leg wheel unit generates more friction than a single wheel during steering operations, this solution is advantageous: when the robot is moving on uneven terrain, actually its pitching is significantly reduced; when it is facing an obstacle, actually a multi-leg wheel unit can climb over higher obstacles and generally the velocity component in motion direction of the wheel unit presents smaller discontinuities.

When Epi.q robots are moving on rough ground their body vertical displacement is significantly decreased with respect to a robot that uses single wheels. Actually, as illustrated in Figure 3, if *ho* is the height of an obstacle small enough to be contained between the wheels of a three-legged wheel unit, the height of the wheel unit axis can be expressed as:

$$h\_a^{'} = l\_l \sin \mathfrak{J} 0^{\diamond} + r\_{du} \tag{13}$$

$$h\_a^{''} = l\_l \sin\left(30^\circ + \alpha\right) + r\_{du} \tag{14}$$

The inclination *α* of the wheel unit can be related with the obstacle height:

$$2l\_l \cos 30^\circ \sin \alpha = h\_\circ \tag{15}$$

therefore the vertical displacement Δ*hdu* of a three-legged wheel unit follows from Equations 13, 14 and 15:

$$
\Delta h\_{du} = h\_a \left. \right. - h\_a \left. \right. = l\_l \sin 30^\circ \cos a + l\_l \cos 30^\circ \sin a - l\_l \sin 30^\circ = $$

$$
= \frac{h\_o}{2} - \frac{l\_l}{2} \left( 1 - \cos a \right) \tag{16}
$$

6 Will-be-set-by-IN-TECH

order to pass through the instantaneous center of rotation *C*. The component of the vertical joint velocity in rear axle direction is equal to the rear axle velocity, otherwise there would be

*β* = arcsin *p*

*d* cos *β* + *l*/2

*d* cos *β* − *l*/2

2 ·

2 ·

A multi-leg wheel unit consists of a plurality of radially located spokes that end with a wheel.

A multi-leg wheel unit has a plurality of equally spaced wheels. If the number of wheels increases, the polygon defined by the wheel centers tends to become a circle and its side length decreases; thus the step overcoming capability is reduced but, on the other hand, the rotating leg motion is improved in terms of motion smoothness. Epi.q robots employ a three-legged wheel unit because it maximizes the step overcoming capability, for a given driving unit height, and the motion smoothness is guaranteed due to the fact that these robots

Although a multi-leg wheel unit generates more friction than a single wheel during steering operations, this solution is advantageous: when the robot is moving on uneven terrain, actually its pitching is significantly reduced; when it is facing an obstacle, actually a multi-leg wheel unit can climb over higher obstacles and generally the velocity component in motion

When Epi.q robots are moving on rough ground their body vertical displacement is significantly decreased with respect to a robot that uses single wheels. Actually, as illustrated in Figure 3, if *ho* is the height of an obstacle small enough to be contained between the wheels

therefore the vertical displacement Δ*hdu* of a three-legged wheel unit follows from

= *ll* sin 30◦ cos *α* + *ll* cos 30◦ sin *α* − *ll* sin 30◦ =

of a three-legged wheel unit, the height of the wheel unit axis can be expressed as:

*ha* �

The inclination *α* of the wheel unit can be related with the obstacle height:

= *ho* 2 − *ll*

*ha* �� 2 cos *β* (9)

*d* (10)

*d* (11)

*d* (12)

= *ll* sin 30◦ + *rdu* (13)

= *ll* sin (30◦ + *α*) + *rdu* (14)

2*ll* cos 30◦ sin *α* = *ho* (15)

2 (1 − cos *α*) (16)

*vb* = *vf l* + *vf r*

and consequently the velocity of the two rear idle wheel units are:

Both the forecarriage and the rear axle employ multi-leg wheel units.

use wheels whenever possible and legs only when needed.

direction of the wheel unit presents smaller discontinuities.

*vbl* = *vf l* + *vf r*

*vbr* = *vf l* + *vf r*

a deformation of the robot central body:

where

**2.2 Multi-leg wheel unit**

Equations 13, 14 and 15:

Δ*hdu* = *ha*

�� − *ha* �

Fig. 3. Vertical displacement in presence of little unevenness, a comparative sketch between a three-legged wheel unit and a single wheel with same overall dimensions

that is always smaller or equal to half obstacle height:

$$
\Delta h\_{d\mu} \le \frac{h\_o}{2} \tag{17}
$$

while the vertical displacement of a single wheel, Δ*hw*, is always equal to obstacle height. Consequently, when the robot is moving on uneven terrain the pitching is significantly reduced with the use of a three-legged wheel unit instead of a single wheel.

As regards the ability of climbing an obstacle, a multi-leg wheel unit can climb over higher steps than a single wheel with the same overall dimensions actually, as shown in Figure 4, the maximum step that a single wheel can climb over measures a fraction of its radius while, for a multi-leg wheel unit, it is a fraction of its height: for example it was experimentally testes that the Epi.q-2 driving unit can climb over obstacles that measure till 84% of its height, see Section 4.

In case of steps that can be overcome both by a multi-leg wheel unit or by a single wheel, generally the velocity component in the motion direction presents smaller discontinuities with the multi-leg wheel unit than with a single wheel. Considering a three-legged wheel unit and a single wheel with same overall dimensions that are advancing at the same speed, shown in Figure 4, it is possible to identify a *β* angle:

$$\sin \beta = 1 - \frac{h\_o}{r\_w} \tag{18}$$

rolling on wheels to stepping on legs and vice versa. Thus only one motor per driving unit is

Epi.q Robots 271

Considering the driving unit as a planar mechanism, angularly it has two degrees of freedom: the angular position of the driving unit frame and the angular position of the wheels. Actually,

the transmission system links the input shaft angular velocity *ωi* with both the angular velocity of the driving unit frame Ω, and the angular velocity of the wheels *ωw*, that is the same for all the three wheels since the transmission system has the same gear ratio along each leg. Considering an observer placed on the driving unit frame, the transmission system is seen as an ordinary gearing, therefore the gear ratio (with sign) of the driving unit transmission

*ωw* − Ω

*ωw* +

When the robot is moving on wheels, *advancing mode*, the robot weight and the contact

therefore Equations 21 and 23 lead to identify the velocity ratio *iad* and the driving unit linear

*kts* − 1 *kts*

*ωi* = 1 *kts*

If the robot is moving on a flat ground, the driving unit angular velocity is null:

*iad* = *ωw ωi* Ω=0

between wheels and ground constrain driving unit angular position.

*ωi* Ω

*ωi* − Ω = *kts* (21)

Ω = 0 (23)

= *kts* (24)

Ω (22)

*ωw rw*

*ll*

*ωw*

required both for wheeled and legged locomotion.

Ω

system *kts* can be easily expressed as follows:

and making *ωi* explicit, it becomes:

velocity *va*, shown in Figure 6, as follows:

Fig. 5. Driving unit scheme

**3.1 Driving unit kinematic analysis**

Fig. 4. Step climbing, a comparative sketch between a three-legged wheel unit and a single wheel, with same overall dimensions

The horizontal component of the wheel unit speed presents smaller discontinuities then a single wheel if the *β* angle is lower than 30◦, that means when the obstacle is higher than a quarter of the wheel unit height or, equivalently, half wheel radius:

$$h\_0 > h\_{d\mu}/4$$

$$h\_0 > r\_w/2\tag{20}$$

Moreover this discontinuity is also reduced on driving units by the fact that Epi.q robots have different velocities when they are moving on wheels or on legs, even if the gear-motors still continue to rotate at the same speed, as it will be explained in Section 3.

#### **3. Driving unit**

In this section a special focus on driving unit is discussed. The driving unit is a three-legged wheel unit having three radially located wheels, mounted at the end of each spoke. The driving units, housing the transmission system, control robot locomotion.

The driving unit concept takes place from the idea that a robot can passively modify its locomotion, from rolling on wheels to stepping on rotating legs, simply according to local friction and dynamic conditions. Actually, the driving unit is designed to have a limit torque that triggers different locomotions: if the torque required for moving on wheels exceeds the torque required for moving on legs, the robot will change its locomotion accordingly, from 8 Will-be-set-by-IN-TECH

*vw*

*ho* > *hdu*/4 (19) *ho* > *rw*/2 (20)

*vdu*

60° 30°

*vdu*

*vw*

quarter of the wheel unit height or, equivalently, half wheel radius:

continue to rotate at the same speed, as it will be explained in Section 3.

driving units, housing the transmission system, control robot locomotion.

wheel, with same overall dimensions

**3. Driving unit**

*β* 2*rw*

Fig. 4. Step climbing, a comparative sketch between a three-legged wheel unit and a single

The horizontal component of the wheel unit speed presents smaller discontinuities then a single wheel if the *β* angle is lower than 30◦, that means when the obstacle is higher than a

Moreover this discontinuity is also reduced on driving units by the fact that Epi.q robots have different velocities when they are moving on wheels or on legs, even if the gear-motors still

In this section a special focus on driving unit is discussed. The driving unit is a three-legged wheel unit having three radially located wheels, mounted at the end of each spoke. The

The driving unit concept takes place from the idea that a robot can passively modify its locomotion, from rolling on wheels to stepping on rotating legs, simply according to local friction and dynamic conditions. Actually, the driving unit is designed to have a limit torque that triggers different locomotions: if the torque required for moving on wheels exceeds the torque required for moving on legs, the robot will change its locomotion accordingly, from

*hdu*

rolling on wheels to stepping on legs and vice versa. Thus only one motor per driving unit is required both for wheeled and legged locomotion.

#### **3.1 Driving unit kinematic analysis**

Considering the driving unit as a planar mechanism, angularly it has two degrees of freedom: the angular position of the driving unit frame and the angular position of the wheels. Actually,

Fig. 5. Driving unit scheme

the transmission system links the input shaft angular velocity *ωi* with both the angular velocity of the driving unit frame Ω, and the angular velocity of the wheels *ωw*, that is the same for all the three wheels since the transmission system has the same gear ratio along each leg. Considering an observer placed on the driving unit frame, the transmission system is seen as an ordinary gearing, therefore the gear ratio (with sign) of the driving unit transmission system *kts* can be easily expressed as follows:

$$\frac{\omega\_{\rm tr} - \Omega}{\omega\_{\rm i} - \Omega} = k\_{\rm ts} \tag{21}$$

and making *ωi* explicit, it becomes:

$$
\omega\_i = \frac{1}{k\_{ts}} \,\omega\_w + \frac{k\_{ts} - 1}{k\_{ts}} \,\Omega \tag{22}
$$

When the robot is moving on wheels, *advancing mode*, the robot weight and the contact between wheels and ground constrain driving unit angular position.

If the robot is moving on a flat ground, the driving unit angular velocity is null:

$$
\Omega = 0 \tag{23}
$$

therefore Equations 21 and 23 lead to identify the velocity ratio *iad* and the driving unit linear velocity *va*, shown in Figure 6, as follows:

$$\dot{a}\_{ad} = \left. \frac{\omega\_w}{\omega\_{\bar{l}}} \right|\_{\Omega=0} = k\_{\text{fs}} \tag{24}$$

The ratio between driving unit linear velocity during advancing mode and automatic climbing mode, considering only the component parallel to the ground, can be identified by a coefficient

Epi.q Robots 273

Therefore the *β* coefficient contains information regard motion continuity: if this value is close

A third consideration takes into account driving unit application. Considering driving units with similar overall dimensions, different capabilities can be obtained varying the *rw*/*ll* parameter, as shown in Figure 7: if the *rw*/*ll* value decreases, the robot will be more oriented towards legged locomotion and it will be able to climb over higher obstacles, otherwise the robot will be more oriented towards wheeled locomotion, with wheels that will better protect driving unit from shocks caused by the contact with obstacles. The highest limit value for the

= 1

2(*kts* − 1) · *ll*

*rw*

2*rw* = 2*ll* · cos(30◦) (32)

2 (33)

+ 1 (34)

(31)

*β* = *vac* · cos(60◦) *vad*

Fig. 7. Driving units with different *rw*/*ll* ratios, increasing value from left to right

*rw*/*ll* parameter corresponds to the condition in which driving unit wheels are in interference

therefore the *rw*/*ll* value must be chosen accordingly to robot application and always smaller

Once robot specifications are fixed and consequently the *rw*/*ll* and *β* parameters are chosen,

2*β* · *ll rw*

At this step it still remains to verify the predicted transition conditions between advancing mode and automatic climbing mode; if this conditions were not satisfactory, it would be

When the gear ratio *kts* and the driving unit kinematic chain, as well, are chosen, lots of possible combination of mechanical components still remain to be identified: a further suggestion would be to choose the gearing that better reduce risk of interferences between

Finally, it is necessary to identify a scale factor, that will depend on the robot application field,

*rw ll* < √3

*kts* = 1

Equation 31 identifies a first attempt value for the driving unit gear ratio:

necessary to relax some robot specifications.

thus the driving unit geometry is completely identified.

driving unit frame and obstacles.

*β* that, from Equations 25 and 28, can be expressed as:

to the unit value, motion continuity will be preserved.

limit conditions:

than:

$$
\boldsymbol{\sigma}\_{ad} = \boldsymbol{\omega}\_{\overline{w}} \cdot \boldsymbol{r}\_{\overline{w}} = \boldsymbol{\omega}\_{\overline{i}} \cdot \boldsymbol{i}\_{ad} \cdot \boldsymbol{r}\_{\overline{w}} = \boldsymbol{\omega}\_{\overline{i}} \cdot \boldsymbol{k}\_{\text{ts}} \cdot \boldsymbol{r}\_{\overline{w}} \tag{25}
$$

where *rw* is wheel radius.

When the robot bumps against an obstacle, if the local frictions between front wheel and obstacle are sufficient to stop the wheel, the driving unit starts to rotate around the stopped wheel center, allowing the robot to climb over the obstacle, *automatic climbing mode*. In this occurrence the wheel angular velocity is null:

$$
\omega\_w = 0\tag{26}
$$

and consequently, from Equations 21 and 26, the velocity ratio *iac* and the driving unit linear velocity *vac*, shown in Figure 6, are respectively:

Fig. 6. Driving unit linear velocity during advancing mode, on the left, and automatic climbing mode, on the right

$$\dot{q}\_{\text{ac}} = \left. \frac{\Omega}{\omega\_i} \right|\_{\omega\_w = 0} = \frac{k\_{\text{ts}}}{k\_{\text{ts}} - 1} \tag{27}$$

$$
\omega\_{\rm ac} = \Omega \cdot l\_l = \omega\_{\rm i} \cdot i\_{\rm ac} \cdot l\_l = \omega\_{\rm i} \cdot \frac{k\_{\rm ts}}{k\_{\rm ts} - 1} \cdot l\_l \tag{28}
$$

where *ll* is the length of the driving unit leg.

Finally, taking into account Equations 24 and 27, it is possible to rewrite Equation 22 as follows:

$$
\omega\_{\dot{i}} = \frac{\omega\_w}{\dot{i}\_{ad}} + \frac{\Omega}{\dot{i}\_{ac}} \tag{29}
$$

#### **3.2 Driving unit design**

During the design phase it is important to establish the correct driving unit parameters, for this reason some preliminary reflections can be helpful.

The locomotion transition between wheeled and legged motion is only triggered by driving unit torque demand therefore, since driving unit motors must rotate in the same direction both for advancing mode and for automatic climbing mode, the driving unit will work properly only if the velocity ratios *ia* and *iac* have the same sign. Equations 24 and 27 lead to identify a low limit value for the driving unit gear ratio:

$$k\_{\rm ts} > 1\tag{30}$$

Consequently, a suitable transmission system has a gear ratio *kts* bigger than one and positive: if, for example, the chosen transmission system is only made of external toothed gears, this condition will lead to choose an odd number of gears with appropriate gear radii.

A second consideration regards robot motion continuity during the locomotion transition.

10 Will-be-set-by-IN-TECH

When the robot bumps against an obstacle, if the local frictions between front wheel and obstacle are sufficient to stop the wheel, the driving unit starts to rotate around the stopped wheel center, allowing the robot to climb over the obstacle, *automatic climbing mode*. In this

and consequently, from Equations 21 and 26, the velocity ratio *iac* and the driving unit linear

Fig. 6. Driving unit linear velocity during advancing mode, on the left, and automatic

*vac* = Ω · *ll* = *ωi* · *iac* · *ll* = *ωi* · *kts*

*ωi* = *ωw iad* + Ω *iac*

Finally, taking into account Equations 24 and 27, it is possible to rewrite Equation 22 as

During the design phase it is important to establish the correct driving unit parameters, for

The locomotion transition between wheeled and legged motion is only triggered by driving unit torque demand therefore, since driving unit motors must rotate in the same direction both for advancing mode and for automatic climbing mode, the driving unit will work properly only if the velocity ratios *ia* and *iac* have the same sign. Equations 24 and 27 lead to identify a

Consequently, a suitable transmission system has a gear ratio *kts* bigger than one and positive: if, for example, the chosen transmission system is only made of external toothed gears, this

A second consideration regards robot motion continuity during the locomotion transition.

condition will lead to choose an odd number of gears with appropriate gear radii.

= *kts*

*iac* = Ω *ωi ωw*=0

where *rw* is wheel radius.

climbing mode, on the right

follows:

**3.2 Driving unit design**

occurrence the wheel angular velocity is null:

velocity *vac*, shown in Figure 6, are respectively:

where *ll* is the length of the driving unit leg.

this reason some preliminary reflections can be helpful.

low limit value for the driving unit gear ratio:

*va*

*vad* = *ωw* · *rw* = *ωi* · *iad* · *rw* = *ωi* · *kts* · *rw* (25)

*ωw* = 0 (26)

*kts* − 1 (27)

*kts* > 1 (30)

*kts* − 1 · *ll* (28)

*vac*

(29)

The ratio between driving unit linear velocity during advancing mode and automatic climbing mode, considering only the component parallel to the ground, can be identified by a coefficient *β* that, from Equations 25 and 28, can be expressed as:

$$\beta = \frac{v\_{ac} \cdot \cos(60^\circ)}{v\_{ad}} = \frac{1}{2(k\_{ls} - 1)} \cdot \frac{l\_l}{r\_w} \tag{31}$$

Therefore the *β* coefficient contains information regard motion continuity: if this value is close to the unit value, motion continuity will be preserved.

A third consideration takes into account driving unit application. Considering driving units with similar overall dimensions, different capabilities can be obtained varying the *rw*/*ll* parameter, as shown in Figure 7: if the *rw*/*ll* value decreases, the robot will be more oriented towards legged locomotion and it will be able to climb over higher obstacles, otherwise the robot will be more oriented towards wheeled locomotion, with wheels that will better protect driving unit from shocks caused by the contact with obstacles. The highest limit value for the

Fig. 7. Driving units with different *rw*/*ll* ratios, increasing value from left to right

*rw*/*ll* parameter corresponds to the condition in which driving unit wheels are in interference limit conditions:

$$2r\_w = 2l\_l \cdot \cos(30^\circ) \tag{32}$$

therefore the *rw*/*ll* value must be chosen accordingly to robot application and always smaller than:

$$\frac{r\_w}{l\_l} < \frac{\sqrt{3}}{2} \tag{33}$$

Once robot specifications are fixed and consequently the *rw*/*ll* and *β* parameters are chosen, Equation 31 identifies a first attempt value for the driving unit gear ratio:

$$k\_{\rm ts} = \frac{1}{2\beta} \cdot \frac{l\_l}{r\_w} + 1\tag{34}$$

At this step it still remains to verify the predicted transition conditions between advancing mode and automatic climbing mode; if this conditions were not satisfactory, it would be necessary to relax some robot specifications.

When the gear ratio *kts* and the driving unit kinematic chain, as well, are chosen, lots of possible combination of mechanical components still remain to be identified: a further suggestion would be to choose the gearing that better reduce risk of interferences between driving unit frame and obstacles.

Finally, it is necessary to identify a scale factor, that will depend on the robot application field, thus the driving unit geometry is completely identified.

**Nomenclature Radius Rot. speed Label**

Epi.q Robots 275

Chassis 0 Input ring gear *rr ωr* 1 Planet carrier Ω 2 Planet gears *rp ωp* 3 Solar gear *rs ωs* 4 Sliding solar gear *rss ωss* 5 Leg planet gears *rl p ωl* 6 Legs *ωl* 7 Planet pulleys *rpp ωp* 8 Toothed belts 9 Wheel pulleys *rwp ωw* 10 Wheels *rw ωw* 11

> *ωp* − Ω *ωr* − Ω = +

*ωs* − Ω *ωp* − Ω = −*rp*

*ωl* − Ω *ωss* − Ω = − *rss*

*ωw* − *ωl ωp* − *ωl*

Moreover the gear ratii *ke*1 and *ke*2 are linked by geometrical constraints:

conditions; these equations will be introduced in the following.

while a fourth one describes the belt transmission system:

*rr rp*

*rs*

*rl p*

= + *rpp rwp*

*rr* = *rs* + 2*rp*

= *rs rp* + 2

*ke*2 = 1

Other equations, describing physical constraints introduced by the sliding solar gear meshing conditions and by robot-terrain contact, are univocally determined by robot operative

2 − *ke*1

*rr rp* = *ke*1 (35)

= *ke*2 (36)

= *kel* (37)

= *kb* (38)

(39)

Table 1. Nomenclature of Epi.q-1 driving unit

meshing conditions in the epicyclic gearing:

therefore:

#### **3.3 Epi.q-1 driving unit**

The Epi.q-1 driving unit, as shown in Figures 8, is mainly composed of: an input ring gear (1) (directly linked to a gear-motor), a planet carrier (2) (rotationally free respect to robot chassis by means of bearing), three planet gears (3), a solar gear (4), a sliding solar gear (5), three leg planet gears (6), three legs (7), three planet pulleys (8), three belts (9), three wheel pulleys (10), three wheels (11), an axial device (12) linked to a mini-motor (13). The planet pulleys (8) are always rigidly connected with the planet gears (3), the wheel pulleys (10) with the wheels (11) and the leg planet gears (6) with the legs (7). An axial device controls the axial position of the

Fig. 8. Functional scheme of the Epi.q-1 driving unit, only one arm is represented

sliding solar gear (5) in order to alternatively link the leg planet gear (6) with the planet carrier (2) or with the solar gear (4), as shown in Figure 9