Chapter Two - imama

vivaciousaquaticAI and Robotics

Nov 13, 2013 (3 years and 7 months ago)

72 views




16


Chapter Two

Dynamic

Modeling of
SCARA

Robot




2.1
Introduction

Dynamics is a huge field of study devoted to studying the forces required
to cause motion

[
43
].

The dynamic motion of the manipulator arm in a robotic
system is produced by the

torques generated by the actuators. This relationship
betw
een the input torques and the

time rates of change of the robot arm
components configurations, represent the

dynamic

modeling
of the robotic
system

which is concerned with the derivation of the equations of motion of the
manipulator as a function of the fo
rces and moments acting on
.
So, the dynamic
modeling of a robot manipulator consists of finding the mapping between the
forces exerted on the structures and the joint positions, velocities and
accelerations [11,44]. A good model has to satisfy two conflict
ing objectives. It
must include enough detail to represent the real behavior of the robot with
sufficient accuracy, and it should permit an efficient, stable evaluation not only of
the model equations but also of their derivatives that are needed in optimi
zation
.
The

availability of the dynamic model is very useful for mechanical design of the
structure, choice of actuators, determination
of control strategies, and computer
simulation manipulator motion [
45
].

A robot manipulator is basically a positioning
device. To control the
position we must know

the dynamic properties of the manipulator in order to
know how much force to exert on it

to cause it to move: too little force and the
manipulator is slow to react; too much force

and the arm may crash into obje
cts
or oscillate about its desired position.

Deriving the dynamic equations of motion for robots is not a simple task
due to the large

number of degrees of freedom and nonlinearities present in the
system
. This chapter is concerned with the development of
the dynamic model
for two
-
axis planar and three
-
axis SCARA robots and their kinematics and
dynamics equations.




17

2.2


SCARA

Robot
Structure and
Coordinate Systems

SCARA

robots are a blend of the articulated and cylindrical robots,
providing the benefits of e
ach. The robot arm unit can move up and down, and at
an angle around the axis of the cylinder just as in a cylindrical robot, but the arm
itself is jointed like a revolute coordinate robot to allow precise and rapid
positioning.
SCARA

robot is one of the m
ost used robots in today's industry. Due
to its characteristics this robot is mainly used for precision, high
-
speed

and

light
assembly. Common applications are
:

inserting components on printed circuit
board, assembling small electromechanical devices and a
ssembling computer
disk drives

[
4
6
]
.

This type of robot has

a linear vertical axis, two rotary axes that
move the two arm linkages in the horizontal plane, and usually one additional
axis for the wrist rotation. With a dedicated vertical axis, the vertica
l motions are
smoother and quicker than in a coordinated axis motion. Furthermore, the rigidity
of the robot frame is also very high in the vertical axis and the combination of the
rotation motions assures a high compliance in the horizontal plane, facts v
ery
important in an assembly task. The selective compliance, in this case, means that
the robot has
compliance

in the horizontal way but not the vertical

orientation.
SCARA

robot has high repetition
accuracy (
<0.025mm), fast acceleration
and
highest

speed
(2000
-
5000 mm/s) of movement to meet the demands of short
cycle times in automated assembly

[
4
7
].

A typical SCARA

robot structure is

shown in Fig.(2.1). It

is

compact

and

the
working envelopes are relative
ly

limited (ranges<1000mm). The range of
payloads
that can be supported by this robot is 10
-
100 kg
.
A
SCARA

manipulator can move up to 10 times faster than articulated robots. These robots
are best
used
for planar type tasks such as pick and place or assembly line
sorting.

Table
(
2.1
)

summarizes data for

typical SCARA robots. Appendix A
presents further engineering specifications.




18



Table
(
2.1
)

Specifications
of SCARA

robot
s

[
48
]

Type

A
dept
One
-

MV

AdeptThreeXL

Adept
c
obra 800

Reach

800 mm

1067 mm

800 mm

Payload

9 kg

25 kg

2 kg
rated

5.5 kg maximum

Repeatability

0.025 mm

0.025mm

(x,y):


0⸰.mm

⡺⤠(

0.01mm

Th整愠:

0.03°


2.3

Equations
o
f Motion
o
f SCARA Robot

The purpose of a robot manipulator is to position and interface its end
-
effector with the

working object
.
The equati
ons of motion are important to
consider in the design of robots, as well as in simulation and animation, and in
the design of control algorithms
.

Equation of motion can be described by a set of
Fig.(2.1

a
)

SCA
RA robot

manipulator [41].

Fig.(2.1b) Configuration of SCARA
robot [5].





19

differential or difference equations.

The equation set consist
s of two parts, the
kinematics equations and the
dynamic equation.

Robot arm kinematics deals with
the geometry of

robot arm motion as a function of time (position, velocity, and
acceleration) without

regards to the forces and moments that cause it
.
Append
ix
B gives the relevant direct and inverse kinematics of the SCARA robot.


2.3.
1

Dynamic Equation
s


Dynamics
of robot
is
the

study of motion with regard to forces (the study
of the relationship between forces/torques and motion
)
.

A dynamic analysis of a
m
anipulator is useful for the following purposes

[
49
]
:


1
-

It determines the joint forces and torques required to produce specified end
-
effector motions
(the

direct dynamic problem).


2
-

It produces a mathematical model which simulates the motion of the
man
ipulator under various loading conditions (the inverse dynamic problem)
and/or control schemes.


3
-

It provides a dynamic model for use in the control of the actual manipulator
.

Dynamic modeling of mechanical structures can be a complex problem. In
robotic
s, more specifically, in manipulators, there are two methodologies used for

dynamic modeling

[
4
2
]
:


a)

Newton
-
Euler formulation
.
b)

Lagrangian formulation
.


An analytical approach based on the Lagrange's energy function, known as
Lagrange
-

Euler method (L
-
E),

results in a dynamic solution that is simple and

systematic. In this

method, the kinetic energy (K) and the potential energy (P) are

expressed in terms of joint

motion trajectories. The resulting differential
equations then provide the forces (torques)

wh
ich drive the robot. Closed form
equations result in a structure that is very useful for

robot control design and also
guarantee a solution
.

The dynamics of n
-
link manipulators are conveniently described by
Lagrangian dynamics. In the

Lagrangian approach,

the joint variables,
q

= (
q
1
; .



20

..
. .;
q
n
)
T

, serve as a suitable set of generalized

coordinates
.
T
he kinetic energy is
a quadratic function of

the vector
.
q
of the form

[
2
]
:


K
.
q
)
q
(
D
T
.
q
j
.
q
i
.
q
)
q
(
ij
d
n
j
,
i
2
1
2
1
1




……………………………………




(
2.
1
)

where
the n
x
n "inertia matrix"

D(
q
)
is symmetric and positive definite for each
q



R
n

,

the gravitational potential energy P=P(
q
) is independent of
.
q
.

The Euler
-
Lagrange equations for such a system can be derived as follows. Since

L = K


P =
j
.
q
i
.
q
)
q
(
ij
d
n
j
,
i


1
2
1

-

P (
q)








(2.2)

where
L
is the Lagrangian

t
hen t
he dynamic equations of
an

n
-
joint robotic
manipulator
described by Lagrange's equations

can be expressed as

[
6
]
:

D
..
q
)
q
(
+
C(q,
.
q
)
.
q
+
G
(q)
+
B
(
.
q
)

=








(
2.
3
)

w
here
q


R

n

is the generalized coordinates

of the robot arm,
.
i
q

is the

first
derivative of
q
i
;
D(q)


R

n

x n


is

the symmetric, bounded, positive
-
definite inertia
matrix;

vector
C(q,

.
q
)

.
q


R

n

presents the centrifugal and Coriolis

torque;
G
(q
)


R

n

,

B
(
.
q
)



R

n

and




R

n

represent the gravitational torque, friction, and

applied joint torque, respectively
.


D(q)

(
nxn

matrix)

expressed as:
















n
k
k
k
T
k
k
k
T
k
q
B
q
D
q
B
q
A
m
q
A
q
D
1
)
(
)
(
)
(
)
(
)
(
)
(



(
2.
4
)

Where
A
k

and
B
k

represent
3
xn
Jacobian subm
atrices,

m
k

is the mass

of link
k

and

D
k

is the
n
x
n

link inertia tensor which depend
s

on
q
.

The

equation
of velocity

coupling vector
C(q
,
.
q
,
)

is:

C(q,

.
q
)

=

j
k
n
k
k
j
i
kj
k
n
k
i
kk
q
q
q
C
q
q
C
.
.
)
(
.
)
(







1
2
1





(
2.
5
)


The

equation of
gravity loading vector

(nx1)

is:




21

)
q
(
A
i
m
g
q
G
3
1
k
n
i
j
j
k
j
k
i
)
(










(
2.
6
)

and the frictional force model for joint k is expressed as:

B
k
(
.
q
)

=

k
v
k
q
b
.
sgn









e
f
b
b
b
q
d
k
s
k
d
k
k
)
(
)
.
(







(2.
7
)

w
here
:

f

=

ε
.
q
k

,

b
v
k

represent the coefficient of viscous friction,
b
d
k

is

the
coefficient of dynamic friction, and
b
s
k

is the coefficient of static friction for joint
k

and



is a small positive parameter
.

Similar to the robot kinematic
s

problem, there are two types of robot
dynamic problems, a

direct (forw
ard) dynamic problem and an inverse dynamic
problem, as shown in Fig
.(2.
2
)
.

The

forward dynamics

problem

determines the
acceleration, given the

applied

forces. These are used to find the motion of a
robot manipulator over a given time

interval, given some
initial conditions. The
importance of the forward dynamic problem

lies in the fact that it allows one to
simulate and predict the system’s actual

behavior; the motion is always the result
of the forces that produce it.

The

inverse dynamics

problem

aims at
determining

Fig
. (
2.
2)

T
he
d
irect and
i
nverse
d
ynamic
p
roblems
[5]

Di牥捴

Dyn慭ic

Joint⁔牡r散to特

偲Pfil攠
q

䥮v敲ee

Dyn慭ic

䙯牣攠⡔orque⤠
偲Pfil攠


Link⁐慲慭整敲e




22

the motor or driving forces that produce a specific motion, as well as

the
reactions that appear at each joint of the robot manipulator. It is necessary to

know the velocities and accelerations to be able to estimate the inertia forces

which
,

together with the weight and all the other known external forces, will
provide the

basis to calculate the required actuating forces

[2,5]
.



From the equation of motion in equation (2.3), the joint accelerations can
be computed as

))
.
q
d(q,
(q)(
τ
D
..
q



1











(2.8)

where
)
.
,
(
q
q
d
=
C(q,
.
q
)
.
q
+
G
(q)
+
B
(
.
q
)
.

This problem is important in computer simulation studies of robot
manipulators.

However, th
e vast majority of robot manipulators are driven by
actuators which supply a

force for the prismatic joint and a torque for the revolute
joint to generate motion in a

prescribed trajectory. The controller must also call
for torques to compensate for inerti
a

when each link is accelerated. Therefore, the
problem of

inverse dynamic is to design

efficient control algorithms to compute
accurate force (torque)

, which causes the

desired motion trajectories
q
.

2.4 Dynamic Model and State Equations of SCARA Robot:


Tasks performed by robots are defined as

gross manipulation and fine
manipulation tasks. Robots, in general, use the first

three axis for gross
manipulation (position control) while the remaining axis orient the tool

during the
fine manipulation (force o
r tactile control).

Robots, in parts assembly
applications,

are to pick a component up with a vertical

movement, move it

horizontally and then downwards vertically for insertion. These can

be achieved

by the four
-
axis
SCARA

robots
.

The

first three axes of
a
SCARA

robot position

the end
-
effector, while the fourth axis orients

the tool th
rough a roll motion [6]
.

As there is

no

gearbox, the friction at each joint is very small. The vector

of joint variables is

[
q
1


q
2

d
3

q
4
]
,
where,
j
oint three is a prismat
ic joint, used

to

establish the vertical tool position, and is

completely independent of the

first two
joints. Thus, there is no Coriolis and centrifugal

forces on this joint. However, the



23

mass of the third joint
a
ffects the

motion of the first

two joint
s by acting as a

load
,

while the remaining three joints are revolute.

From reviewing the results of
inverse kinematics

(Appendix B)
, it is clear that the tool roll angle
q
4

has no
effect

on the end
-
effector position; therefore

q
4

can be ignored in
the

inve
stigation of

the

motion trajectory control. The mass of

the fourth link and the
attached end
-

effector is

also assumed to be very small in comparison with the
masses of the other links.

The three links are assumed to be thin cylinders of
mass m
1
, m
2
, and m
3
. The vertical

column height d
1

is stationary,

and when joint1
is activated, only rod of length a
1

(mass of

m
1
) rotates.
The

dynamic

model of a
robot is formulated in
equation
(2.
3
) as a second
-
order system of n differential
equations. To facilitate contr
ol of the arm, it is helpful to reformulate the
equations of motion as a first
-
order system of 2n equations called state equations.
The key to transforming to the state
-
space form is the isolation of the acceleration
vector

..
q

in
equat
ion

(2.
3
). This can be easily done because the manipulator
inertia tensor
D
(
q
)

is positive
-
definite and therefore nonsingular.

Setting equation (2.
8
) in state space form

and using
v
=
q
.










(2.
9
)



gives
a system of 2n non
linear ordinary differential equations which can be
integrated over time with known initial conditions to provide the state
q(t)

and
)
t
(
.
q
.






































)
q
(
D
.
)
q
,
q
(
d
)(
q
(
D
v
.
.
v
q
1
0
1



24

2.4.1
Two
-
Axis

Planar
Robot

T
he

first

two

arms,

which


represent

a planar



device of

the
SCARA configuration

with

two degrees


of freedom

is shown in Fig.(2.
3
)
.



T
he dynamic equation

derived by

using the Euler
-


Lagrangian method
will be
as follows

[
6
]:

1st
joint
:



1

= [(
3
m
1

+ m
2
)
2
1
a

+ m
2

a
1
a
2

C
2

+

3
m
2
2
2
a
]
..
1
q


+
[
2
m
2
a
1
a
2
C
2
+
3
m
2
2
2
a
]
..
2
q
-
m
2
a
1
a
2
S
2
(
1
.
q
2
.
q
+
2
2
2
.
q
)
+
b
1
(
1
.
q
)

(2.
1
0
a)

2nd joint:


2
=[
2
m
2
a
1
a
2
C
2
+
3
m
2
2
2
a
]
..
1
q
+
3
m
2
2
2
a
..
2
q
+
2
m
2
a
1
a
2
S
2
2
1
.
q
+
b
2
(
2
.
q
)



(
2.
1
0
b
)


where


a
i
: length of link i
,
C
and
S

represent the cos(q) and sin(q), respectively.

Let the state defines as
x
T
=
[
q
T
,

v
T
]
,

where
v
=
q
.
. Since
n=
2
, the manip
ulator inertia
tensor is a

symmetric

2x2

matrix. From the coefficients of the joint

accelerations
in
equations

(2.
1
0
) the
distinct components of
D(q)

are:

D
1
1
(q)
=
(
3
m
1

+ m
2
)
2
1
a

+

m
2
a
1
a
2

C
2

+

3
m
2
2
2
a

(
2
.
1
1
a
)

D
12
(q)

=

2
m
2
a
1
a
2

C
2

+

3
m
2

2
2
a

(
2.
1
1
b
)


Because

D(q)
i
s symmetric

then

D
12
(q)

=
D
21
(q)


(2.11c)

D
2
2

(q)
=

3
m
2

2
2
a



(
2.
1
1
d
)


(q)
=

D
1
1

D
22
-

D
12

D
21



(
2.
1
2
)

1
.
q
=
v
1
,

2
.
q
=

v
2










(
2.
13
a
)

1
.
v
=

)
(
q

1

[
D
22
(q)

{

1
+a
1
a
2
S
2
m
2
(
v
1
v
2
+
2
1
v
2
2
)
-

b
1
(
1
.
q
)
}



-

D
12
(q)
{

2

-
2
2
m

a
1
a
2
S
2

v
1

2
-

b
2
(
2
.
q
)
}
]








(2.13b)

y

a
1

q
2

a
2

x

m
2

q
1

m
1

Fig.(2.
3
) Model of
t
wo
-
a
xis
planar r
obot
.




25

2
.
v
=
)
(
q

1
[
-

D
2
1
(q)
{

1
+a
1
a
2
S
2
m
2
(
v
1
v
2
+
2
1
v
2
2
)
-

b
1
(
1
.
q
)
}


+

D
1
1
(q)
{

2

-
2
m
2

a
1
a
2
S
2

v
1

2
-

b
2
(
2
.
q
)}
]










(
2.
13
c
)

The kinematic output equation of the t
wo

-

axis
planar

robot is:

y =
[
a
1
C
1
+a
2
C
12
,

a
1
S
1
+a
2
S
12
,

0
, 0, 0, 1]
T

where
C
12

a
nd
S
12

represent cos(
q
1
+
q
2
) and sin(
q
1
+q
2
), respectively.


2.4.2

Three Axis SCARA Robot

T
he dynamic
model

of the three axis
SCARA
robot is formulated using the
Lagrange
-
Euler

[6]
:


1st
joint
:



1

=
[
(
3
m
1

+ m
2

+ m
3
)
2
1
a

+ (m
2

+ 2m
3
)a
1
a
2

C
2

+ (
3
m
2
+m
3
)
2
2
a
]
..
1
q


-
[
(
2
m
2
+ m
3
)a
1
a
2

C
2

+ (
3
m
2
+m
3
)
2
2
a
]
..
2
q
+b
1
(
1
.
q
)





-

a
1
a
2

S
2
[(m
2

+ 2m
3
)
1
.
q
2
.
q
-

(
2
m
2
+ m
3
)
2
2
.
q
]



(
2.
14
a
)

Since axis
1

is aligned with the gravitational fiel
d, the gravity term on joint one is
zero.

2nd joint:


2

=

-
[(
2
m
2
+ m
3
)a
1
a
2

C
2

+ (
3
m
2
+m
3
)
2
2
a
]
..
1
q
+ (
3
m
2
+m
3
)
2
2
a

..
2
q



+
(
2
m
2
+ m
3
) a
1
a
2

S
2
2
1
.
q

+b
2
(
2
.
q
)





(
2.
14
b
)

Again, there is no gravitational loading on joint two.

3rd joint:


3

=

m
3

..
q
3
-

g
0

m
3

+b
3
(
3
.
q
)









(
2.
14
c
)

Eq
uations

(
2.
14
) are referred

to as the inverse dynamic equations of the
three
-
axis

SCARA

robot. One needs to know the resulting mo
tion trajectories:
q
,

q
.
,

q
..

before one

can calculate the joint torques. These equations are time varying,
nonlinear, and

coupled differential equations. The trajectory problem of this robot



26

manipulator revolves

around finding the joint torques

i
(t) such

that the joint
angles
q
i
(t) track the desired

trajectories
q
id
(t)
.

Let the state
s be

define
d

as
x
T
=
[
q
T
,

v
T
]
,

where
v
=

.
q
. Since
n=3
, the
manipulator inertia tensor is a 3*3 symmetric matrix.

From the coefficients of the
joint acceler
ations in
equations

(2.
14
) the
D(q)

has the following special block
diagonal structure:



D(q)

=

D
11

D
12

0


D
21

D
22

0







(
2.
15
)


0

0

m
3


D(q)

is symmetric with
D
21
(q)

=
D
12
(q)
, and

the remaining non

constant terms of
D(q)

are:

D
1
1
(q)
=
(
3
m
1

+ m
2

+ m
3
)
2
1
a

+ (m
2

+ 2m
3
)a
1
a
2

C
2

+ (
3
m
2
+m
3
)
2
2
a

(
2.
16
a
)

D
12
(q)
=
-
[(
2
m
2
+ m
3
)a
1
a
2

C
2

+ (
3
m
2
+m
3
)
2
2
a
]

(
2.
16
b
)

D
2
2
(q)
=

(
3
m
2
+m
3
)
2
2
a




(
2.16c)


(q)
=

D
1
1

D
22
-

D
12

D
12

(
2.
17
)

1
.
q
=
v
1

,
2
.
q
=
v
2

,

3
.
q
=
v
3



(
2.
18
a
)

1
.
v
=
)
(
q

1
[
D
22
(q) {

1

+a
1
a
2
S
2
[(m
2
+2m
3
)v
1
v
2
-
(
2
m
2
+ m
3
)v
2

2
]
-

b
1
(
1
.
q
)
}



-

D
12
(q)

[

2

-

(
2
m
2
+ m
3
)

a
1
a
2
S
2

v
1

2
]
-

b
2
(
2
.
q
)}
]



(
2.
18
b
)

2
.
v
=
)
(
q

1
[
-

D
2
1
(q) {

1

+a
1
a
2
S
2
[(m
2
+2m
3
)v
1
v
2
-
(
2
m
2
+ m
3
)v
2

2
]
-

b
1
(
1
.
q
)
}


+

D
1
1
(q)
[

2

-

(
2
m
2
+ m
3
) a
1
a
2
S
2

v
1

2
]
-

b
2
(
2
.
q
)}
]


(
2.
18
c
)

3
3
0
3
3
m
.
)
q
(
b
m
g
.
3
3
v









(
2.
18
d
)




27

The

kinematic output equation of the

three
-
axis

S
CARA

robot is:

y =
[
a
1
C
1
+a
2
C
12
,



a
1
S
1
+a
2
S
12
,



d
1
-
q
3
,



0,

0,

-
1
]
T
.


2.5
Model

Linearization

of
SCARA

Robot

For small value
s of
q
1

and

q
2
,
e
quation
(2.
14
) can be linearized
around an
equilibrium point
and the linearized model can be given by

[
5
0
]
:

For

joint
one


1

= [(
3
m
1

+ m
2

+ m
3
)
2
1
a

+ (m
2

+ 2m
3
)a
1
a
2

C
2

+ (
3
m
2
+m
3
)
2
2
a
]
..
1
q


-
[(
2
m
2
+ m
3
)a
1
a
2

C
2

+ (
3
m
2
+m
3
)
2
2
a
]
..
2
q
+b
1
(
1
.
q
)



(
2.
19
a
)

For joint
two


2

=
-
[(
2
m
2
+ m
3
)a
1
a
2

C
2
+(
3
m
2
+m
3
)
2
2
a
]
..
1
q
+
[
(
3
m
2
+m
3
)
2
2
a
]
..
2
q
+b
2
(
2
.
q
)




(
2
.
19
b
)

Expressing
equations
(2.
19
) in matrix form yields:


1


=

A
11

A
12


..
1
q

+

b
1

0


.
1
q





(
2.
2
0
)


2


A
21



A
2
2


..
2
q


0


b
2


.
2
q


where

A
11

=
(
3
m
1

+ m
2

+ m
3
)
2
1
a

+ (m
2

+ 2m
3
)a
1
a
2

C
2

+ (
3
m
2
+m
3
)
2
2
a



(2. 21a)

A
12
=

-
(
2
m
2
+ m
3
)a
1
a
2

C
2

+ (
3
m
2
+m
3
)
2
2
a





(2. 21b)

A
12

=
A
21




(2. 21c)

A
22


=
(
3
m
2
+m
3
)
2
2
a



(2. 21d)

Equation
(2.
2
0
) further yield
s



-
A
11

-
A
12


..
1
q


=



b
1


0


.
1
q



+

-
1

0


1







(2.
2
2
)

-
A
12


-
A
22



..
2
q


0


b
2


.
2
q

0

-
1


2




28


where
q
1

and
q
2

are taken as the linearized parts.

Le
t
q
1

=

x
1
,

1
.
q
= x
2



1
.
x
= x
2

,

Let
q
2

=

x
3
,

2
.
q
= x
4


2
.
x
= x
4








(
2.
2
3
)

From

equations

(
2.
19
) and
(2.
2
0
) the following relationship is obtained:


1

0

0

0

.
1
x





=

0

1

0

0


x
1

0

-
A
11

0

-
A
12

.
2
x


0


b
1

0

0

x
2

0

0

1

0

.
3
x

0

0

0

1

x
3

0

-
A
12


0

-
A
22


.
4
x

0

0

0

b
2

x
4




















(
2.
2
4
)


0

0



1


+

-
1

0


0

0


2


0


-
1











1 0 0 0

C

=


0 0
1

0


From

equation

(2.
2
4
) the state space realization is given by

.
x

= [

M
-
1
]
[
A
1
]

x

+
[

M
-
1
][
B
1
]

u

(
2.
2
5
a
)

Y=Cx















(2.2
5
b)

A =
[

M
-
1
][
A
1
]




(
2.
2
5
c
)

B

=
[

M
-
1
][
B
1
]



(
2.
2
5
d
)

B
1

u

M

A
1