course : introduction to control of robot...

34
King Abdullah University of Science and Technology Computer, Electrical and Mathematical Sciences and Engineering (CEMSE) 2012 / 2013 Course : Introduction to Control of Robot Manipulators Lecture 2 Dynamic Modeling of Robot Manipulators Ahmed CHEMORI Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier Université Montpellier 2 - CNRS 161, Rue Ada 34095, Montpellier Cedex 05, France [email protected]

Upload: others

Post on 09-Mar-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

King Abdullah University of Science and Technology

Computer, Electrical and Mathematical Sciences and Engineering (CEMSE)

2012 / 2013

Course : Introduction to Control of Robot Manipulators

Lecture 2

Dynamic Modeling of Robot Manipulators

Ahmed CHEMORI

Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier

Université Montpellier 2 - CNRS

161, Rue Ada 34095, Montpellier Cedex 05, France

[email protected]

Page 2: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 2

Outline of the lecture

1. Introduction

a) Illustrative movies

b) Robot Modelling

c) Joint and Cartesian variables

2. Kinematic modelling

a) Forward/inverse kinematic modelling

b) Forward/inverse differential kinematic modelling

c) Illustrative example on kinematics

3. Dynamic modelling

a) Some definitions

b) Why dynamic modelling?

c) Two methods for dynamic modelling

d) Euler-Lagrange method

e) Matrix form of the dynamic model

f) Properties of dynamic Euler-Lagrange model

g) Illustrative example

4. Exercises

Page 3: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 3

Introduction

a) Illustrative movies

b) Robot Modelling

c) Joint and Cartesian variables

Dynamic Modelling

Page 4: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 4

Introduction: illustrative movies

Illustrative movies

Dynamic Modelling

Page 5: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 5

Introduction : Robot modelling

Robot manipulators are mechanical systems with links and joints

Kinematic chains exist in two structures : open and close kinematic chain

Open kinematic chain Closed kinematic chain

Delta parallel robot STAUBLI RX170 serial robot

In this lecture we are interested in open kinematic Chain robot manipulators

For control purposes, mathematical models are needed

Modelling of robot manipulators includes :

Kinematics (forward and inverse kinematics) very briefly presented

Differential kinematics (forward and inverse) very briefly presented

Dynamics (forward and inverse dynamics) The object of this lecture

Robot modelling

Dynamic Modelling

Page 6: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 6

Introduction : Joint and Cartesian variables

Joint and Cartesian variables

The joint variables are the relative angles between the links in the case of revolute joints, and

the link extension in the case of prismatic joints

For instance :

Consider the robot manipulator of figure bellow

The joint (or articular variables) are :

The Cartesian variables are :

q1 ; q2 ; q3 ; q4

x ; y ; z

X =

24

x

y

z

35

X =

24

x

y

z

35

| {z }

or X =

26666664

x

y

z

µ

Á

Ã

37777775

| {z }End-effector position

End-effector position and

orientation

Dynamic Modelling

Page 7: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 7

Kinematic modelling

a) Forward/inverse kinematic modelling

b) Forward/inverse differential kinematic modelling

c) Illustrative example on kinematics

Dynamic Modelling

Page 8: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 8

Kinematic modelling: Forward kinematic modelling

Forward Kinematic modelling

The forward kinematics problem represents the relationship between the joint coordinates

of the robot and the position and orientation of the end-effector

The objective is to determine the position and orientation of the end-effector, given the

values for the joint variables of the robot

X =

24

x

y

z

35q =

2664

q1q2q3q4

3775

X =

24

x

y

z

35 = f(q)

X =

24

x

y

z

35

| {z }

or X =

26666664

x

y

z

µ

Á

Ã

37777775

| {z }End-effector position

End-effector position and

orientation

Joint positions Cartesian positions

Dynamic Modelling

Page 9: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 9

Inverse Kinematic modelling

X =

24

x

y

z

35q =

2664

q1q2q3q4

3775

q =

2664

q1q2q3q4

3775 = f¡1(X)

The Inverse kinematics problem represents the relationship between position and

orientation of the end-effector of the robot and the joint coordinates

The objective is posed as follows : given the position and orientation of the end-effector of

the manipulator, calculate all possible sets of joint angles that can be used to attain this

position and orientation

The inverse kinematic problem is more complex than forward kinematics because the

kinematic equations are nonlinear, their solution is not always easy or even possible in a

closed form

When dealing with this problem, questions of existence of a solution, and of multiple

solutions, arise. Most robot control systems require solving this problem

X =

24

x

y

z

35 or X =

26666664

x

y

z

µ

Á

Ã

37777775

Kinematic modelling: Inverse kinematic modelling Dynamic Modelling

Page 10: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 10

Differential kinematic modelling

Differential kinematics deals with the relationships between joint velocities and linear

velocities of the end-effector of the manipulator

Mathematically, the forward kinematic equations describe a function between the Cartesian

space and the joint space

The velocity relationships are then obtained by the Jacobian of this function

The Jacobian is a matrix valued function and can be thought of as the vector version of the

ordinary derivative of a scalar function

This Jacobian matrix is one of the most important quantities in the control of robot motion

It arises in many aspects of robotic manipulation such as : trajectories planning,

computation of singular configurations, the derivation of the dynamic equations of motion,

in the transformation of forces and torques from the end-effector to the manipulator joints,

in control, … etc.

X =

24

x

y

z

35 = f(q)) _X =

df(q)

dt=

@f(q)

@q

@q

@t= J(q)|{z} _q

Jacobian matrix

Forward differential kinematics :

Kinematic modelling: Differential kinematic modelling Dynamic Modelling

Page 11: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 11

Differential kinematic modelling

For instance, if the manipulator has n links, the Jacobian representing the instantaneous

transformation between the n-vector of joint velocities and the 6-vector of the linear and

angular velocities of the end-effector is a 6 × n matrix.

The inverse differential kinematics is obtained by inversing the equation of the forward

differential kinematics, that is

The matrix is the pseudo-inverse of the Jacobian matrix

If n=6, then the Jacobian matrix is square and the pseudo-inverse is replaced by the inverse

The Jacobian is a function of configurations q, the configurations for which the rank of J

decreases are called singularities

Singularities are configurations for which the manipulator loses one or more degrees of

freedom

_X = J(q) _q ) _q = J+(q) _XInverse differential kinematics :

J+ = JT (JJT )¡1

Kinematic modelling: Differential kinematic modelling Dynamic Modelling

Page 12: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 12

Illustrative example

Consider a two-degree of freedom robot planar manipulator

The objective is to compute first its forward/inverse kinematics ?

Then its forward/inverse differential kinematics ?

The Cartesian coordinates are expressed by :

q =

·q1q2

¸; X =

·x

y

¸lc1 = 2ac1 ; lc1 = 2ac1

µ2

µ1 x

y

(x = lc1 cos(q1) + lc2 cos(q1 + q2)

y = lc1 sin(q1) + lc2 sin(q1 + q2)

X =

·x

y

¸=

·lc1 cos(q1) + lc2 cos(q1 + q2)

lc1 sin(q1) + lc2 sin(q1 + q2)

¸= f(q)Forward kinematics :

q2 = arccos³x2 + y2 ¡ l2c1 ¡ l2c2

2lc1lc2

´=H The angle q2 can be expressed by :

Otherwise, it can be computed by the relationship:

Angle q1 is expressed by :

q2 = arctan³§

p1¡H2

H

´

q1 = arctan³yx

´¡ arctan

³ lc2 sin(q2)

lc1 + lc2 cos(q2)

´

Kinematic modelling: Illustrative example Dynamic Modelling

Page 13: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 13

µ2

µ1 x

y

Inverse kinematics :

H = arccos³x2 + y2 ¡ l2c1 ¡ l2c2

2lc1lc2

´

The forward differential kinematics is obtained through the first time derivative of the

equations of the forward kinematics.

q2 = arctan³§

p1¡H2

H

´q1 = arctan

³yx

´¡ arctan

³ lc2 sin(q2)

lc1 + lc2 cos(q2)

´

(_x = ¡lc1 _q1 sin(q1)¡ lc2( _q1 + _q2) sin(q1 + q2)

_y = lc1 _q1 cos(q1) + lc2( _q1 + _q2) cos(q1 + q2)Forward differential kinematics :

The forward differential kinematics can be rewritten in a matrix form as follows:

_q =

·_q1_q2

¸; _X =

·_x

_y

¸

_X =

·¡lc1 sin(q1)¡ lc2 sin(q1 + q2) ¡lc2 sin(q1 + q2)

lc1 cos(q1) + lc2 cos(q1 + q2) lc2 cos(q1 + q2)

¸

| {z }_q = J(q) _q

Jacobian matrix

Since:

Illustrative example

Kinematic modelling: Illustrative example Dynamic Modelling

Page 14: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 14

µ2

µ1 x

y It is worth to note that the obtained relationship between velocities

from joint to Cartesian space is linear

The computation of the joint velocities from the end-effector

velocities is obtained through the inverse of the Jacobian matrix

Inverse differential kinematics :

If we compute the determinant of the Jacobian matrix, one obtains :

Therefore, the Jacobian has not an inverse when :

For these two cases, the manipulator is in singular configurations

_q =

·¡lc1 sin(q1)¡ lc2 sin(q1 + q2) ¡lc2 sin(q1 + q2)

lc1 cos(q1) + lc2 cos(q1 + q2) lc2 cos(q1 + q2)

¸¡1

| {z }_X = J¡1(q) _X

Inverse Jacobian matrix

det(J) = lc1lc2 sin(q2)

q2 = 0 or q2 = ¼

Singular configuration

Illustrative example

Kinematic modelling: Illustrative example Dynamic Modelling

Page 15: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 15

Dynamic Modelling

The determination of the singularities is very important

At singular configurations that robot’s end-effector cannot move in

certain directions

For instance, in both previous cases, the end-effector cannot move

in the direction parallel to

Singularities are related to the non-uniqueness of solutions of the inverse kinematics

problem (two possible solutions)

For practical applications, it would be better to avoid singular configurations when planing

robot motions

Singular configuration

Illustrative example

Kinematic modelling: Illustrative example

Page 16: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 16

Dynamic modelling

a) Some definitions

b) Why dynamic modelling?

c) Two methods for dynamic modelling

d) Euler-Lagrange method

e) Matrix form of the dynamic model

f) Properties of dynamic Euler-Lagrange model

g) Illustrative example

Dynamic Modelling

Page 17: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 17

Robot dynamics

Robot dynamics can be defined as the study of relationships between applied forces and/or

torques and the resulting motion on the manipulator

To control the position of a robot manipulator, it is necessary to know the dynamic

properties of the robot

This information will be necessary to evaluate the force that should be exerted on it to be

able to move it

Since for a too small force, the robot is slow to react; and for a too much force, the robot

may crash into objects or oscillate around its desired position

The computation of the dynamic equations of motion is not a simple task due to the large

degrees of freedom and the nonlinearities that should be considered

In this lecture, one of the most important techniques is preseneted

This technique is based on Lagrangian dynamics, it offers a systematic way to compute

dynamic equations of motion of a mechanical system with rigid bodies

As for kinematics, it is possible also for the dynamics to define two models:

Forward dynamic model and inverse dynamic model

Dynamic Modelling Dynamic modelling: Some definitions

Page 18: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 18

Robot dynamics

Forward dynamic model : This model consists in computing the joint accelerations based on

the knowledge of the joint positions and velocities and the applied forces/torques

Äq = f(q; _q; ¿)

Inverse dynamic model : Knowing the joint positions, velocities and accelerations, this

model consists in computing the corresponding forces/torques

¿ = f¡1(q; _q; Äq) = g(q; _q; Äq)

The dynamic model of a robot manipulator depends on different nonlinear affects that are

introduced by its structure or its actuation system:

o Friction

o Elasticity in the links and joints of the robot

o Dynamic nonlinear coupling

o … etc

Dynamic Modelling Dynamic modelling: Some definitions

Page 19: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 19

Why dynamic modelling ?

The study of dynamics of robot manipulators is interesting for various reasons :

• Simulation: A dynamic model can be a very good tool to perform simulations of the

behavior of the manipulator without resorting to real-time experiments

• Synthesis of control schemes: A dynamic model is also a useful tool in the synthesis of

control schemes, it enables the analysis of the efficiency of the control algorithms

• Structural properties analysis: thanks to a dynamic model of the robot manipulator, its

structural properties can be analyzed

Example of a 5-axis robot simulator

Dynamic Modelling Dynamic modelling: Why dynamic modelling?

Page 20: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 20

Two techniques for dynamic modelling

To resolve the problem of dynamic modelling, two techniques can be used : Euler-Lagrange

formulation, or Newton Euler formulation.

EULER-LAGRANGE METHOD :

o This method enables the development of the dynamics in a simpler and intuitive way

o The obtained model is more suitable for understanding the effects of changes in the

mechanical parameters

o The links are considered altogether, and the model is obtained analytically

o The model is not computationally very efficient

NEWTON-EULER METHOD :

o This method enables the development of the dynamics using a recursive technique

o The employed recursive technique exploits the serial structure of the manipulator

o The obtained model (thanks to the recursive techniques) is computationally efficient

o The obtained model is not in analytical form numerical

The two techniques are equivalent provide the same result

Dynamic Modelling Dynamic modelling: Two techniques for dynamic modelling

Page 21: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 21

Generalized coordinates

The method of Euler-Lagrange uses generalized coordinates

Generalized coordinates are independent variables to fully describe the position of rigid

bodies in the space

Different sets of generalized coordinates are possible to describe the same physical system

Example 1: A pointwise mass in the space

q =

24

x

y

z

35 q =

24

½

'

#

35

Example 2: A planar manipulator

q =

·½

#

¸q =

·q1q2

¸Joint coordinates

Polar coordinates

or

Dynamic Modelling Dynamic modelling: Two techniques for dynamic modelling

Page 22: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 22

Basic principle

For a physical system, one can define :

The kinetic energy :

The potential energy :

Once these quantities are defined, the second step is to compute the Lagrangian function

The method is based on the following Euler-Lagrange equations:

K(q; _q)P(q)

L=K(q; _q)¡P(q)

ddt

³@L@ _qi

´¡ @L

@qi= Qi ; i = 1; : : : ; n

represent non-conservative (external or dissipative) generalized forces/torques

performing work on

Three types of generalized forces can be considered in robotics:

torque generated by actuator

term of external contact force:

torque of joint friction: where is friction coefficient

The resulting generalized forces are:

Qi

qi

¿i

[JT¸]i

dii _qi

Qi = ¿i + [JT¸]i ¡ dii _qi

dii

Dynamic Modelling Dynamic modelling: Euler-Lagrange method

Page 23: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 23

Basic principle

The potential energy doesn’t depend on velocity therefore its derivative is zero w.r.t

velocity

Euler-Lagrange equations can be therefore rewritten as follows:

These equations depend on kinetic and potential energy

This formulation is convenient since it is possible to compute these quantities easily

knowing geometric properties of the manipulator

It is worth to note that kinetic energy is the sum of kinetic energies of all components of

the robot:

Potential energy is the sum of potential energies of all components of the robot:

ddt

³@K@ _qi

´¡ @K

@qi+ @P

@qi=Qi ; i = 1; : : : ; n

K =Pn

i=1Ki

P =Pn

i=1Pi

Dynamic Modelling Dynamic modelling: Euler-Lagrange method

Page 24: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 24

Kinetic and potential energies

Kinetic energy of a moving rigid body is computed, based on Konig theorem, as follows:

K = 12mV 2 + 1

2I!2

m V is the mass of the rigid body, is its linear velocity, I is its moment of inertia, and is

its angular velocity

!

Potential energy of a rigid body doesn’t depend on its velocity

It can be expressed as a function of its center of mass as follows:

P =mgpc

m pc is the mass of the rigid body, is the position of its center of mass with respect to the

zero potential reference, and is the gravity g

Dynamic Modelling Dynamic modelling: Euler-Lagrange method

Page 25: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 25

Matrix form of the dynamic model

For a manipulator of n degrees of freedom (dof), the kinetic energy can be written as a

quadratic function of velocity:

K =1

2_qTM(q) _q =

nX

i=1

nX

j=1

mij(q) _qi _qj

M(q) 2 Rn£n is a matrix function of manipulator configuration (joint positions)

This square matrix is symmetric positive definite

This matrix is called Inertia matrix of the robot manipulator

Then replacing last equalities in Euler-Lagrange equations, one obtains:

d

dt

@K@ _qk

=

nX

j=1

mkj(q)Äqj +

nX

j=1

dmkj(q)

dt_qj =

nX

j=1

mkj(q)Äqj +

nX

i=1

X

j=1

n@mkj(q)

@qi_qi _qj

@L@qk

=1

2

nX

i=1

X

j=1

n@mij(q)

@qk_qi _qj ¡

@P@qk

nX

j=1

mkjÄqj +

nX

i=1

nX

j=1

·@mkj(q)

@qi¡ 1

2

@mij(q)

@qk

¸_qi _qj +

@P@qk

= Qk

Dynamic Modelling Dynamic modelling: Matrix form of dynamic model

Page 26: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 26

Matrix form of the dynamic model

Lets consider :

Then the dynamics equations can be rewritten as:

The first term in this last equation represents the inertia multiplied by the joint

acceleration

The term represents the centrifugal effect induced by the velocity of joint j on

joint k

The term represents the Coriolis effect induced by the velocity of joints i and j

on joint k

The term is the torque generated by the gravity force and acting on joint k

nX

j=1

mkjÄqj +

nX

i=1

nX

j=1

·@mkj(q)

@qi¡ 1

2

@mij(q)

@qk

¸_qi _qj +

@P@qk

= Qk

hkji(q) =@mkj(q)

@qi¡ 1

2

@mij(q)

@qkgk(q) =

@P@qk

= Qkand

nX

j=1

mkj Äqj +

nX

i=1

nX

j=1

hkji(q) _qi _qj + gk(q) = Qk ; k = 1 : : : n

hkjj(q) _q2j

hkji(q) _qi _qj

Recall last equation:

gk(q)

Dynamic Modelling Dynamic modelling: Matrix form of dynamic model

Page 27: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 27

Matrix form of the dynamic model

The dynamics of a manipulator without friction and without contact with environment

can be written in the following compact matrix form:

nX

j=1

mkj Äqj +

nX

i=1

nX

j=1

hkji(q) _qi _qj + gk(q) = Qk ; k = 1 : : : nRecall last equation:

M(q)Äq+N(q; _q) _q+G(q) = ¿

M(q) 2 Rn£n is the inertia matrix,

N(q; _q) 2 Rn£n is the matrix of Coriolis and centrifugal e®ects,

G(q) 2 Rn is the gravity vector,

¿ 2 Rn is the vector of est joint torques,

q 2 Rn is the vector of joint positions,

_q 2 Rn is the vector of joint velocities,

Äq 2 Rn is the vector of joint accelerations.

Dynamic Modelling Dynamic modelling: Matrix form of dynamic model

Page 28: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 28

Matrix form of the dynamic model

If joint frictions are not considered and the manipulator is in contact with the

environment, then the dynamic model becomes:

M(q)Äq+N(q; _q) _q+G(q) = ¿ + JT (q)¸

J(q) is Jacobian matrix of the contact constraints with the environment

is the vector of Lagrange multipliers of the contact forces with the environment ¸

If joint frictions are considered and the manipulator is in contact with the environment,

then the dynamic model becomes:

M(q)Äq+N(q; _q) _q+F _q+G(q) = ¿ + JT (q)¸

F is the matrix of joint friction coefficients

Dynamic Modelling Dynamic modelling: Matrix form of dynamic model

Page 29: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 29

The matrix of Coriolis and centrifugal effects is computed using Christoffel symbols:

nX

i=1

nX

j=1

hkji(q) _qi _qj =

nX

i=1

nX

j=1

·@mkj(q)

@qi¡ 1

2

@mij(q)

@qk

¸_qi _qj

Since the inertia matrix is symmetric (exchanging the sum):

nX

i=1

nX

j=1

@mkj(q)

@qi=

1

2

nX

i=1

nX

j=1

·@mkj(q)

@qi+@mki(q)

@qj

¸

Then one can deduce: nX

i=1

nX

j=1

hkji(q) _qi _qj =1

2

nX

i=1

nX

j=1

·@mkj(q)

@qi+@mki(q)

@qj¡ 1

2

@mij(q)

@qk

¸_qi _qj =

nX

i=1

nX

j=1

cijk _qi _qj

Finally, each element of the matrix of Coriolis and centrifugal terms can be written as:

N(q; _q)

nkj(q; _q) =

nX

i=1

cijk _qi

The terms are called Christoffel symbols, and due to the symmetry

property of the inertia matrix

cijk cijk = cjik

where cijk =1

2

nX

i=1

nX

j=1

·@mkj(q)

@qi+@mki(q)

@qj¡ 1

2

@mij(q)

@qk

¸

Matrix form of the dynamic model

Dynamic Modelling Dynamic modelling: Matrix form of dynamic model

Page 30: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 30

Properties of Euler-Lagrange dynamic model

Property 1:

The matrix is skew symmetric: H(q; _q) = _M(q; _q)¡ 2N(q; _q)

8x; xTH(q; _q)x = 0hkj =¡hjk ; hkk = 0

Property 2:

The inertia matrix is symmetric, positive definite and bounded:

Where are respectively the smallest and the biggest Eigen value of

is the identity matrix

exists and is positive definite. Are constants in case of revolute joints robot

¸m(q)In£n · M(q) · ¸M(q)In£n

M(q)¸m; ¸MIn£n

Property 3:

The vector of Coriolis quadratic in terms of velocities:

For all vectors and any scalar the following equalities are satisfied:

kN(q; _q) _qk · Vbk _qk2

M¡1(q)

q; x; y; z 2 Rn ®

N(q; x)y =N(q; y)x

N(q; z+®x)y =N(q; z)y+®N(q; x)y

¸m; ¸M

Dynamic Modelling Dynamic modelling: Properties of Euler-Lagrange dynamic model

Page 31: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 31

Properties of Lagrange dynamic model

Property 4:

The gravity vector is bounded:

If the manipulator is with revolute joints, then is constant independent of q

kg(q)k · gb(q)

Property 5:

The equations of motion are defined in terms of physical parameters (masses, moments of

inertia,…) that should be determined in order to simulate the robot’s motion or tune the

parameters of controllers. The equations of motion are linear in these parameters

is what we called the regressor in adaptive control and is the vector of

parameters.

The model is nonlinear in function of

M(q)Äq+N(q; _q) _q+G(q) = Y (q; _q; Äq)£ = ¿

Y (q; _q; Äq) £

q; _q; Äq

gb

Dynamic Modelling Dynamic modelling: Properties of Euler-Lagrange dynamic model

Page 32: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 32

Illustrative example

Consider the system of figure opposite:

It is a one-degree of freedom manipulator arm, where:

is the angular position of the arm

is its mass

is the distance from the articulation to its center of mass

is the coefficient of viscous friction

is its the moment of inertia

µm

L

d

I

Kinetic energy:

Potential energy:

The Lagrangian:

µ

L= 12I _µ¡mgL(1¡ cos(µ))

K = 12I _µ2

P =mgL(1¡ cos(µ))

Dynamic Modelling Dynamic modelling: Illustrative example

Page 33: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 33

Illustrative example

µ

Q= ¿ ¡ d _µ

L= 12I _µ¡mgL(1¡ cos(µ))

The generalized forces include the torque generated by the actuator and the friction

torque:

@L@ _µ

= I _µ ; ddt

@L@ _µ

= Iĵ ; @L@µ

= ¡mgL sin(µ)

The application of the Lagrange equation:

ddt

³@L@ _µ

´¡ @L

@µ= Q

Leads to the following differential equation of the dynamics of the manipulator :

Iĵ+ d _µ+mgL sin(µ) = ¿

Dynamic Modelling Dynamic modelling: Illustrative example

Page 34: Course : Introduction to Control of Robot Manipulatorschemori/Temp/Vatea/Lecture2-Dyn-Mod.pdfIntroduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori)

Introduction to Control of Robot Manipulators KAUST – CEMSE – 2012/2013 (A. Chemori) 34

Exercises

Dynamic Modelling