10

Click here to load reader

Dynamics

Embed Size (px)

Citation preview

Page 1: Dynamics

Dynamics for Robotic ManipulatorsNotes for the Robotics Lecture

Dr. Marco Antonio [email protected]

Electronics and Computer Science DivisionExact Sciences and Engineering Campus, CUCEI

Universidad de Guadalajara&

Control Systems CentreUMIST, Manchester, UK

v2.0 November 2005

Page 2: Dynamics

Chapter 1

Introduction

The study has discussed about manipulators being conformed by a number oflinks within a mechanic linkage bounded by joints. So far, two basic types of jointshave been described: revolute and prismatic. It is possible to use the Denavit-Hertenberg representation to model each of the links in such a way that the wholerobotic plant can be simply represented by a Kinematic description. In the DHstandard, each link is assumed to have its z axis pointing to the rotation axis orto the prismatic direction of movement. The displacement required between twoframes previosly assigned to the two joints in the same link is always calculatedin the direction pointed by the x or z axis. Rotation adjustments between tworotation axis (or displacement axis in case of prismatic joints) are performed overthe x axis exclusively.

In standard conditions, the Kinematic model is normally expressed in termsof the vector q which groups the so-called generalized coordinates q1, q1, . . . qn.

However such arrangement also exhibits dynamic response to the forces andtorques exerted over the whole linkage. For instance the gravity forces and thetorques applied to joints by means of actuators. In this case vector q is used torepresent the motion of every particle belonging to a link in terms of only onecoordinate.

Assuming that the distance between a given pair of particles belonging to onelink is fixed throughout the movements, it is possible to use only six coordinatesto completely represent the position and orientation of each particle in the roboticlink.

It is merely at this point, that the Dynamic analysis comes at hand. Itdescribes the behavior of each robots link in terms of the time rate of changewith respect to the joint torques exerted by the actuators. This assumption refersto a set of differential equations, called the equations of motion that dictate thedynamic response according the time evolution.

Two methods can be used to derive the Dynamics equations of motion. First,the Newton-Euler method treaters each individual link of the robot by writingdown equations to describe linear and angular motions.

1

Page 3: Dynamics

Since each link is coupled to others, contact forces and torques also appear inthe equations to describe neighboring links. In the so called forward-backwardsrecursive cycle, the coupling terms are determined and the manipulator can betherefore be described as a whole. Unfortunately the analysis gets very compli-cated if the number of links operating the arm is increased.

Second comes the Euler-Lagrange method which is based on the algorithm ofvirtual displacements and energy dissipation. This is a set of infinitesimal shiftsunder the known constraints of the robotic chain which result from a differencebetween the kinetic and potential energy.

For simplicity in this chapter, only the Euler-Lagrange methods is further con-sidered. An interested reader may consult the remarkable study of the Newton-Euler method presented by Spong in [1].

2

Page 4: Dynamics

Chapter 2

Lagrange´s motion equations

Considering a manipulator conformed by n links, the total energy ε contained byan n-DOF system is equal to the total sum of kinetics κ and potential υ energyas follows:

ε(q(t), q(t)) = κ(q(t), q(t)) + υ(q(t)) (2.1)

with the generalized coordinates vector q = [q1, q1, . . . qn]T . Following the clearexposition in [2], the Lagrangian L of a manipulator of n-DOF is therefore thedifference between the kinetic κ and potential υ energy yielding

L(q(t), q(t)) = κ(q(t), q(t)) − υ(q(t)) (2.2)

It is assumed that the potential energy is generated by the conservative forcessuch as gravity and spring-like effects. The complete Lagrangian is thus definedas follows

d

dt

[∂L(q(t), q(t))

∂qi

]− ∂L(q(t), q(t))

∂qi

= τi i = 1, . . . , n (2.3)

with τi being the forces and the torques externally exerted by actuators over eachlink. Also the non-conservative forces produced by friction, motion oppositionand all those which depend upon time or speed.

Notice that there will be as many scalar equations as the number of the DOF.In order to build the dynamical model of a given manipulator, each of the

terms in Equation 2.3 needs to be computed by following the steps below:

1. Kinetic energy computation κ(q(t), q(t))

2. Potential energy υ(q(t))

3. Building the Lagrangian operator L(q(t), q(t))

4. Developing Lagrange’s equation of motion (Eq. 2.3).

3

Page 5: Dynamics

2.0.1 Example 1

Let’s analyze a very simple example taken from [2]. See Figure 2.1, it has a verysimple robotic arm, with only one DOF since angle ϕ is constant. The robot hasonly one link with two sections of longitude l1 and l2. For simplicity, the mass ofeach link is supposed to be punctual and located at the end of the link.

Figure 2.1: A simple robotic plant for modeling its Dynamics

The robot has only rotation movements around its base. So the only DOF isthus named as q(t) = q1(t).

The kinematic energy κ(q(t), q(t)) is computed as the product of one half ofthe inertia1 1

2m2l

22cos

2(ϕ) and the angular velocity q2 as follows:

κ(q(t), q(t)) =1

2m2l

22cos

2(ϕ)q2 (2.4)

The potential energy can be calculated by considering the plane x0 − y0 withzero energy. So, it yields

υ(q(t)) = m1l1g + m2[l1 + l2 sin(ϕ)]g (2.5)

with g representing the gravity vector g = [0, 0, g]. In fact, for this specificexample, the potential energy is a constant since it does not depend on the anglevalue q1. So, finally building the Lagrange operator yields

L(q(t), q(t)) =m2

2l22cos

2(ϕ)q2 − m1l1g − m2[l1 + l2 sin(ϕ)]g (2.6)

1Recall Inertia is the property of one element to store kinetic energy derived from a rotationmovement. For instance, in circular movements the inertia is given by I = 1

2Mr2

4

Page 6: Dynamics

from it is very easy to obtain

∂L∂qi

= m2l22cos

2(ϕ)q

ddt

[∂L∂qi

]= m2l

22cos

2(ϕ)q

∂L∂qi

= 0

(2.7)

and therefore Equation 2.3 results in

m2l22cos

2(ϕ)q = τ (2.8)

with τ being the torque applied to joint one. Although very simple, after ap-plying the second Newton’s law, it yields a non-autonomous second-order lineardifferential equation.

So this equation can also be expressed using state-space variables yielding

d

dt

[qq

]=

[q

1m2l22cos2(ϕ)

τ(t)

](2.9)

2.0.2 Revisiting State-Space Modelling

In case the concepts of system modeling using state-space variables are not freshenough, a quick review of the basic principles is presented below.

m

k

b

p

x0

Figure 2.2: The damp-spring-mass mechanical system.

As main example, recall the typical damp-spring-mass (DSM) mechanicalsystem [3] shown in Figure 2.2. The input to the system is the force applied tothe mass body which results in a change in the objects position x and consideredas the system output. This system can be understood as an analogy to the serialconnection of one resistor, one inductor and one capacitor. Naming the spring

5

Page 7: Dynamics

constant as k, the damper value as b and the objects mass as m, the equation forthe system’s dynamics can be drawn as follows

md2x

dt2+ b

dx

dt+ kx = p (2.10)

writing the expression in a more convinient way considering all the derivativesare calculated with respect to time, it follows

mx + bx + kx = p (2.11)

Clearing the derivative of highest order, it yields

x = − b

mx − k

mx +

p

m(2.12)

It is time to assign a new set of variables to each of the derivative expressions,following some simple rules:

• Assign as many variables as necessary until n− 1, with n being the highestderivative order.

• Draw equivalent terms such as x2 = x1

• Substitute the new set of variables in the original expression.

• Build the state-space matrices by grouping the state-variables in only onestate vector x.

So following Equation 2.12, the new set of state-variables and its equivalencescan be drawn as follows:

x1 = xx2 = x x2 = x1

(2.13)

transforming the expression 2.12 as follows

x2 = − b

mx2 − k

mx1 +

p

m(2.14)

which easily gives way to the matrix form x = Ax + B.

[x1

x2

]=

[0 1− k

m− b

m

] [x1

x2

]+

[0pm

](2.15)

and the output has the matrix form y = Cx + D as follows:

y =

[1 00 1

] [x1

x2

]+

[00

](2.16)

6

Page 8: Dynamics

0

5

10

15

To:

Out

(1)

0 50 100 150 200 250−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

To:

Out

(2)

Step Response

Time (sec)

Am

plitu

de

Figure 2.3: Step response of the damp-spring-mass system.

The last expression allows to chose the output of the system according to theuser preference. In this case the output is represented by x1 which is in time theobject’s displacement x.

Matlab comes naturally prepared to evaluate state-space functions. The sys-tem is easily defined by supplying the values for the four state matrices A, B, Cand D. A simple example is given for the following values of the damp-spring-mass system: k = 0.1, b = 0.5, p = 1Nw

mand m = 10kg. Figure 2.3 shows

the output of the step response command in Matlab as detailed in Algorithm 2.1.

7

Page 9: Dynamics

Algorithm 2.1 Matlab commands for the step-response of the damp-spring-masssystem expressed by space-state matrices.1: m=10;2: k=0.1;3: b=0.5;4: p=1;5: A = [0 1; -k/m -b/m];6: B = [0; p/m];7: C=[1 0; 0 1];8: D = [0; 0];9: amortigua = ss(A,B,C,D);

10: step(amortigua)

8

Page 10: Dynamics

Bibliography

[1] M. Spong and M. Vidyasagar. Robot Dynamics and Control. John Wiley,1989. ISBN 047161243X.

[2] R. Kelly and V. Santibanez. Control de Movimiento de Robots Manipuladores.Control Automatico e Informatica Industrial. Pearson-Prentice Hall, 2003.

[3] Katsuhiko Ogata. Modern Control Engineering. Prentice-Hall, 1997. ISBN0132273071.

9