

























































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Dynamic model of robot manipulators Claudio Melchiorri, Dipartimento di Elettronica, Informatica e Sistemistica (DEIS), Universit`a di Bologna
Typology: Lecture notes
1 / 65
This page cannot be seen from the preview
Don't miss anything!


























































Claudio Melchiorri
Dipartimento di Elettronica, Informatica e Sistemistica (DEIS) Universit`a di Bologna email: [email protected]
(^1) Dynamic models Introduction Euler-Lagrange model
Dynamic models Introduction
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
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)
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.
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
∂ q˙i
∂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^.
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
B
vT^ (x, y , z)v(x, y , z)ρ dx dy dz
B
vT^ (x, y , z)v(x, y , z) dm
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′
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 ω).
Matrix J, Euler matrix, and matrix I, body inertia matrix, are symmetric, and have the following general expressions:
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
(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!
In conclusion, the kinetic energy of a rigid body is defined as (Konig Theorem)
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.
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).
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.
In conclusion, for a n dof manipulator we have:
∑^ 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.