Dynamic model of robot manipulators, Lecture notes of Introduction to Robotics

Dynamic model of robot manipulators Claudio Melchiorri, Dipartimento di Elettronica, Informatica e Sistemistica (DEIS), Universit`a di Bologna

Typology: Lecture notes

2016/2017

Uploaded on 03/14/2023

mazin-ismail
mazin-ismail 🇫🇮

12 documents

1 / 65

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Dynamic model of robot manipulators
Claudio Melchiorri
Dipartimento di Elettronica, Informatica e Sistemistica (DEIS)
Universit`a di Bologna
C. Melchiorri (DEIS) Dynamic Model 1 / 65
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41

Partial preview of the text

Download Dynamic model of robot manipulators and more Lecture notes Introduction to Robotics in PDF only on Docsity!

Dynamic model of robot manipulators

Claudio Melchiorri

Dipartimento di Elettronica, Informatica e Sistemistica (DEIS) Universit`a di Bologna email: [email protected]

Summary

(^1) Dynamic models Introduction Euler-Lagrange model

Dynamic models Introduction

Dynamic model of manipulators

Normally, a manipulator is composed by an open kinematic chain, and its dynamic model is affected by several “drawbacks”: low rigidity (elasticity in the structure and in the joints) potentially unknown parameters (dimensions, inertia, mass,... ) dynamic coupling among links.

Other non linear effects are usually introduced by the actuation system: friction dead zones

...

In any case, in the derivation of the dynamic model, an ideal case of a series of connected rigid bodies is made.

Dynamic models Introduction

Dynamic model of manipulators

Two problems may be defined for the study of the dynamic model:

Direct dynamic model: computation of the time evolution of ¨q(t) (and then of q(t), q˙(t)), given the vector of generalized forces (torques and/or forces) bτ (t) applied to the joints and, in case, the external forces applied to the end-effector, and the initial conditions q(t = t 0 ), q˙(t = t 0 ).

τ (t) =⇒ ¨q(t) ( ˙q(t), q(t) )

Inverse dynamic problem: computation of the vector τ (t) necessary to obtain a desired trajectory ¨q(t), q˙(t), q(t), once the forces applied of the end-effector are known.

¨q(t), q˙(t), q(t) =⇒ τ (t)

Euler-Lagrange model

Generalized variables, or Lagrange coordinates: Independent variables used to describe the position of rigid bodies in the space.

For the same physical system, more choices for the Lagrangian coordinates are usually possible.

In robotics =⇒ joint variables q 1 , q 2 ,... qn.

Euler-Lagrange model

From physics, we know that it is possible to define: (^1) The Kinetic Energy function K (q, q˙) (^2) The Potential Energy function P(q) and therefore the Lagrangian function L(q, q˙) = K (q, q˙) − P(q)

The Euler-Lagrange equations are

ψi =

d dt

∂L

∂ q˙i

∂L

∂qi i = 1,... , n

being ψi the non-conservative (external or dissipative) generalized forces performing work on qi. In robotics, we consider:

τi joint actuator torque [ JT^ Fc

] i term due to external (contact) forces dii q˙i joint friction torque

Therefore: ψi = τi +

[

JT^ Fc

]

i −^ dii^ q˙i^.

Euler-Lagrange model

Computation of the Kinetic Energy. For a rigid body:

The mass can be computed by

m =

B

ρ(x, y , z) dx dy dz

where ρ(x, y , z) is the mass density (assumed constant): ρ(x, y , z) = ρ. The center of mass (CoM) is

pC =

m

B

p(x, y , z)ρ dx dy dz =

m

B

p(x, y , z) dm

The kinetic energy results

K =

B

vT^ (x, y , z)v(x, y , z)ρ dx dy dz

B

vT^ (x, y , z)v(x, y , z) dm

Euler-Lagrange model

Let assume that the translational vC and rotational ω velocities of the center of mass are known with respect to an inertial frame F 0.

The velocity of a generic point p′^ of the body is

v = vC + ω × (p′^ − pC ) = vC + ω × r (2)

The velocity expressed in a frame F’ fixed to the rigid body may be computed by introducing the rotation matrix R betweeen F’ and F 0

RT^ v = RT^ (vC + ω × r) = RT^ vC + (RT^ ω) × (RT^ r)

Therefore v′^ = v′ C + ω′^ × r′

Euler-Lagrange model

In conclusion K =

B

vTC vC dm +

B

rT^ ST^ Sr dm

The first term depends on the linear velocity vC of the center of mass

1 2

B

vTC vC dm =

m vTC vC

For the second term, considering that aT^ b = Tr (a bT^ ) and the particular structure of matrix S, we have

1 2

B

rT^ ST^ Sr dm =

B

Tr (Sr rT^ ST^ ) dm =

Tr (S

B

rrT^ dm ST^ )

Tr (S J ST^ ) =

ωT^ I ω I : body inertia matrix

Also this term depends on the velocity of the center of mass (in this case ω).

Euler-Lagrange model

Matrix J, Euler matrix, and matrix I, body inertia matrix, are symmetric, and have the following general expressions:

J =

r (^) x^2 dm

rx ry dm

∫ rx^ rz^ dm rx ry dm

r (^) y^2 dm

∫ ry^ rz^ dm rx rz dm

ry rz dm

r (^) z^2 dm

I =

(r (^) y^2 + r (^) z^2 ) dm −

rx ry dm −

rx rz dm −

rx ry dm

(r (^) x^2 + r (^) z^2 ) dm −

ry rz dm −

rx rz dm −

ry rz dm

(r (^) x^2 + r (^) y^2 ) dm

The elements of both matrices J ed I depend on vector r, i.e. on the position of the generic point of the i-th link with respect to its center of mass, defined in the base frame.

Since the position of the i-th link depends on the configuration of the manipulator, matrices J and I are in general functions of the joint variables q!

Euler-Lagrange model

In conclusion, the kinetic energy of a rigid body is defined as (Konig Theorem)

K =

m vTC vC +

ωT^ Iω (3)

Both terms depend only on the velocity of the rigid body.

The first term, being related to the magnitude of a vector (‖vC ‖ = vCT vC ), is invariant with respect to the reference frame used to express the velocity: vTC vC = (RvC )T^ (RvC ) = vTC (RT^ R)vC , ∀ R This property holds also for the second term: the product ωT^ Iω is invariant with respect to the reference frame. As a matter of fact, the body inertia matrix is transformed according to the following relation: I′^ = R I RT Then: ωT^ Iω = ω′T^ I′ω′^ = (R ω)T^ (RIRT^ )(Rω) = ωT^ (RT^ R)I(RT^ R)ω.

Therefore, being (3) invariant with respect to the reference frame, F can be chosen in order to simplify the computations required for the evaluation of K.

Euler-Lagrange model

Since the kinetic energy Ki of the generic i-th link is invariant with respect to the reference frame (used to express vC , ω, I), it is convenient to chose a frame Fi fixed to the link itself, with origin in the center of mass. In this manner matrix I is constant and simple to be computed on the basis of the geometric properties of the link. On the other hand, normally the rotational velocity ω is defined in the base frame F 0 , and therefore it is needed to transform it according to RT^ ω, being R the rotation matrix between Fi and F 0 (known from the kinematic model of the manipulator).

Euler-Lagrange model

The end-effector velocity may be computed as a function of the joint velocities ˙q 1 ,... , q˙n through the Jacobian matrix J. The same methodology can be used to compute the velocity of a generic point of the manipulator, and in particular the velocity vCi = ˙pCi of the center of mass pCi , that results function of the joint velocities ˙q 1 ,... , q˙i only: p˙Ci = Jiv 1 q˙ 1 + Jiv 2 q˙ 2 +... + Jivi q˙i = Jiv q˙ ωi = Ji ω 1 q˙ 1 + Ji ω 2 q˙ 2 +... + Ji ωi q˙i = Ji ω q˙

where

Jiv =

[ Jiv 1... Jivi 0... 0

]

Ji ω =

[ Ji ω 1... Ji ωi 0... 0

]

with [ Jivj Ji ωj

]

[ zj− 1 × (pCi − pj− 1 ) zj− 1

] rotational joint [ Jivj Ji ωj

]

[ zj− 1 0

] linear joint

being pj− 1 the position of the origin of the frame associated to the j-th link.

Euler-Lagrange model

In conclusion, for a n dof manipulator we have:

K =

∑^ n

i =

mi vCiT vCi +

∑^ n

i =

ωTi Ri˜Ii RTi ω

q˙T

∑n

i =

[

mi Ji Tv (q)Jiv (q) + Ji T ω (q)Ri˜Ii RTi Ji ω (q)

]

q^ ˙

q˙T^ M(q) ˙q

∑^ n

i =

∑^ n

j=

Mij (q) ˙qi q˙j

where M(q) is a n × n, symmetric and positive definite matrix, function of the manipulator configuration q. Matrix M(q) is called the Inertia Matrix^ of the manipulator.