New Approaches in Automation and Robotics by Harald Aschemann - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub, Kindle for a complete version.

96, issue 2, 392-397

Cook W.D. (2006). Distance-based and ad hoc consensus models in ordinal preference

ranking. European Journal of Operational Research, 172, 369-385

Hwang C.-L., Lin M.-J. (1987). Group decision making under multiple criteria, Springer

Verlag, Berlin, Heidelberg

Kemeny J. (1959). Mathematics without numbers, Daedalus, 88, 571-591

Kemeny J., Snell L. (1962). Mathematical Models in the Social Sciences, Ginn. Boston

Lipski W., Marek W. (1985). Combinatorial Analysis (in Polish), PWN Warszawa

Litvak B.G. (1982). Ekspertnaja informacija. Mietody połuczienija i analiza (in Russian),

Radio i Swjaz, Moskwa

Nurmi H. (1987). Comparing voting systems, Kluwer, Dordrecht/ Boston/ Lancaster, Tokio

10

An Innovative Method for Robots

Modeling and Simulation

Laura Celentano

Dipartimento di Informatica e Sistemistica

Università degli Studi di Napoli Federico II

Napoli,

Italy

1. Introduction

The robot dynamics modeling and simulation problem has been studied for the last three

decades intensively.

In particular, the forward dynamics problem of a robot is a very relevant issue, which there

is still to say about in terms of efficient computation algorithms, that can be also simple to

understand, to develop and to implement, above all for practical robots, robots with many

links and/or with flexible links (Featherstone, 1987), (Featherstone & Orin, 2000), (Sciavicco

& Siciliano, 2000), (Khalil & Dombre, 2002).

Indeed, in these cases the methods based on the classical Lagrange formulation give rise to

an analytical model with numerous terms that may be difficult to use. The methods based

on the Newton-Euler formulation are not very easy to apply and do not provide easily

manageable analytical formulae, even if they are efficient from a computational point of

view (Featherstone, 1987).

An important contribution to solve the previous problems is given (Celentano, 2006),

(Celentano & Iervolino, 2006), (Celentano & Iervolino, 2007) by a new, simple and efficient

methodology of analysis, valid for all of robots, that makes use of a mathematical model

containing a lower number of algebraic terms and that allows computing, with a prescribed

maximum error, the gradient of the kinetic energy starting from the numerical knowledge of

the only inertia matrix rather than using, as usually found in the literature, complex

analytical calculations of the closed-form expression of this matrix.

This result is very strong because it allows solving the forward dynamics problem of a robot

in a simple and efficient manner, by analytically or numerically computing the inertia

matrix and the potential energy gradient only.

Moreover, this method allows students, researchers and professionals, with no particular

knowledge of mechanics, to easily model planar and spatial robots with practical links.

From this methodology follows also a simple and efficient algorithm for modeling flexible

robots dividing the links into rigid sublinks interconnected by equivalent elastic joints and

approximating and/or neglecting some terms related to the deformation variables.

In this chapter some of the main results stated in (Celentano, 2006), (Celentano & Iervolino,

2006), (Celentano & Iervolino, 2007) are reported.

174

New Approaches in Automation and Robotics

In details, in Section II the new integration scheme for robots modeling, based on the

knowledge of the inertia matrix and of the potential energy only, is reported (Celentano &

Iervolino, 2006).

In Section III, for planar robots with revolute joints, theorems can be introduced and

demonstrated to provide a sufficiently simple and efficient method of expressing both the

inertia matrix and the gradient of the kinetic energy in a closed and elegant analytical form.

Moreover, the efficiency of the proposed method is compared to the efficiency of the

Articulated-Body method, considered one of the most efficient Newtonian methods in the

literature (Celentano & Iervolino, 2006).

In Section IV, for spatial robots with generic shape links and connected, for the sake of

brevity, with spherical joints, several theorems are formulated and demonstrated in a

simple manner and some algorithms that allow efficiently computing, analytically the

inertia matrix, analytically or numerically the gradient of the kinetic and of the gravitational

energy are provided. Furthermore, also in this case a comparison of the proposed method in

terms of efficiency with the Articulated-Body one is reported (Celentano & Iervolino, 2007).

In Section V some elements of flexible robots modeling, that allow obtaining, quite simply,

accurate and efficient, from a computational point of view, finite-dimensional models, are

provided. Moreover, a significant example of implementation of the proposed results is

presented (Celentano, 2007).

Finally, in Section VI some conclusions and future developments are reported.

2. A new formulation of the Euler-Lagrange equation

In the following a new formulation of the dynamic model of a robot mechanism in a more

efficient form (for its analytical and/or numerical study) is presented.

It is well known that the usual form of the Euler-Lagrange equation for a generic robot with

n degrees of freedom, which takes on the form (De Wit et al., 1997)

d T

T

= γ + η + u + ,

(1)

a

u

dt q

∂&

q

where: q is the vector of the Lagrangian coordinates; T is the kinetic energy, given by

1

T = qT

& B( q q

)& , being B the robot inertia matrix; γ is the vector of the gravity forces, η is

2

the vector of the elasticity forces and u is the non-conservative generalised forces (e.g.

a

damping torques), which are usually function of q and q& only, and u is the vector of the actuation generalised forces, is typically rewritten as

B( q q

) & + C( q, q& q

)& = γ +η + u + ,

(2)

a

u

in which an expression of matrix C is the following:

B

T

q&

q

n

B

1 ⎢

∂ 1 ⎥

C( q, q&) = ∑

q& −

.

(3)

i

⎢ M

i=1 ∂ q

2

i

B

T

q&

q

n

index-183_1.png

An Innovative Method for Robots Modeling and Simulation

175

By setting B = { b , C = c , it is also

ij }

{ ij}

n b

1 b

∂ ⎞

ij

ik

c = ∑

q& .

(4)

ij

k

⎜⎜

⎟⎟

k=1

q

2 q

k

i

Alternatively, an equivalent matrix C = c

, i.e. such that C & = & , that makes uses of the

c q

q

C

c

{ cij}

Christoffell’s symbols (Sciavicco & Siciliano, 2000), is given by

n

1 b

b

b

ij

jk

=

ik

c

+

q& .

(5)

cij

k

=1 2

∂ ⎟

k

q

q

q

k

j

i

There are various methods to calculate both (

B q) and C( q, q&) . The simplest one, from a

conceptual point of view, based on analytical expressions, is extremely complex and

onerous, even if symbolic manipulation languages are employed. Other methods do require

a more in-depth knowledge of mechanics (De Wit et al., 1997).

The next theorem provides an innovative, efficient and simple method for modeling and

simulating a robot.

Theorem 1. If the Euler-Lagrange equation is rearranged as follows:

d

( q

B&) = c + γ +η + u + ,

(6)

a

u

dt

where c is the gradient of the kinetic energy with respect to q , namely

T

c =

,

(7)

q

then it can be efficiently integrated according to the innovative integration scheme of Fig. 1,

where q& = & and F is a suitable function that allows computing q& and q& from u , q g

Bq

g

and q& .

g

Fig. 1. Block diagram for the robot forward dynamics integration.

Proof. It is easy to verify that the algorithm that describe the function F of the block scheme

of Fig. 1 is:

index-184_1.png

176

New Approaches in Automation and Robotics

Step 1. Compute (

B q) by applying one of the classic methods proposed in the literature (see

also Theorems 2 and 3 and (30) in Section 3).

Step 2. Compute q& through the relationship q& B 1−

=

q& .

g

Step 3. Compute (

c q, q&) and u .

a

d

Step 4. Compute

( q

B&) = q& = + γ +η +

+ .

g

c

ua u

dt

Remark 1. The proposed method allows avoiding the computation of the first term on the

right hand-side of (4) or of the first two terms on the right-hand side of (5). Such saving is

significant because the computational burden relative to this term is not negligible with

respect to the one required by the calculation of B−1 q& .

g

This clearly emerges from Fig. 2, where the percentages of saved flops vs. the number of

flops required to compute B 1− q& are evaluated (in MATLABTM environment) with reference

g

to the coefficients in (4), for a considerable number of cases of robots with random and

anyhow realistic links parameters.

Fig. 2. Percentages of saved flops evaluated for robot models with random links parameters.

Remark 2. Since many efficient algorithms for the numerical computation of the matrix B

are available in the literature, the gradient of the kinetic energy c can be computed in a very

simple and accurate way numerically, instead of using a symbolic expression.

To this end, since the kinetic energy for the majority of the robots is a quadratic function

respect to q& , whose coefficients are constant with respect to q or depend on q according to i

terms of the type sin( aq ϕ

+ , the following lemma is useful.

i

)

Lemma 1. The derivative of sin( aq can be numerically computed by a two [three] points

i )

formula:

d

sin[ (

a q + Δ

aq

d

sin[ (

a q + Δ

a q

i

])− sin[ ( − Δ

i

])⎤

i

])− sin(

sin( aq

sin( aq

(8)

i ) =

i ) =

i )

dq

Δ

dqi

i

index-185_1.png

An Innovative Method for Robots Modeling and Simulation

177

with error:

1

Δ

2

e = − a

aχ Δ

2

e a

, χ ∈ ( q , q + Δ

i

i

)

2

sin( ) ,

2

2

2

(9)

2

1

Δ

2 3

3

e = − Δ a cos( aχ ), e a

, χ ∈ q − Δ, q + Δ

.

3

3

(

)⎥

6

6

i

i

Proof. See any numerical computation book.

In view of Lemma 1 it is possible to compute, with a prescribed maximum error, the

gradient of the kinetic energy starting from the numerical knowledge of the inertia matrix

B rather than using, as usually found in literature, complex analytical calculations of the

analytical expression of B . In details, for practical precision purposes, a good value of

T

q

∂ can be obtained using a two [three] points formula with

−3

−4

Δ = 10 ÷ 10 [with

2

3

Δ = 10 ÷ 10− ] and evaluating n- 1 [2( n- 1)] times the inertia matrix B numerically.

3. Planar robot modeling

In the case of planar robots with revolute joints, theorems can be introduced and

demonstrated to provide a sufficiently simple and efficient method of expressing both the

inertia matrix and the gradient of the kinetic energy in a closed and elegant analytical form.

3.1 Hypotheses and notations

In the following it is considered the case of a generalised planar robot constituted by n links,

each of them with parallel rotation axes −

C , +

C and center of mass G belonging to the

plane containing the two relative rotation axes (see Fig. 3). In Fig. 4 a planar robot with three

links and a horizontal work plane is shown.

Fig. 3. The generic link of the considered generalised planar robot.

index-186_1.png

178

New Approaches in Automation and Robotics

Fig. 4. The considered generalised planar robot with three links and horizontal work plane.

Referring to Figs. 5 and 6 the next notations are also employed:

Y

Li

. +

C i

LGi

G i

.

α i

y i

C i

O

x i

X

Fig. 5. Geometric characteristics of the i-th link.

Y

L β

n

n α n

n

β4 α4

4

L 3β3

3

α3

L 2

2

β

L

α

2

1

1

2

β =α

1

1

X

Fig. 6. Schematic representation of a planar robot with n links.

An Innovative Method for Robots Modeling and Simulation

179

q =

T

[ x y α ] = absolute coordinates of the i-th link,

i

i

i

i

I

= inertia matrix of the i-th link in terms of the coordinates q ,

i

i

M

= total mass of the i-th link,

i

J , ρ = inertia moment and radius of the i-th link with respect to the rotation axis −

C ,

i

i

i

N

= static moment of the i-th link with respect to the plane containing −

C and

i

i

orthogonal to the plane passing through −

C and +

C ,

i

i

L

= distance of the center of mass G of the i-th link from the axis −

C ,

Gi

i

i

α =

T

[α α

α

= vector of the absolute angular coordinates of the chain constituted by

1

2 ...

]

1... i

i

the first i links,

<