Sunteți pe pagina 1din 78

Introduction to Robotics Industrial Automation

ECEG-5604

Gossaye Mekonnen Alemu

(PhD in Robotics Engineering)

April 11, 2017

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 1 / 78


Chapter 1:Kinematics

Overview of Robotics and Robots

Robotics - It is a field of study about robots.

It is an interdisciplinary field which includes Mechanical Engineering,


Electrical Engineering, computer science, and system design.

A robot is a machine capable of carrying out a complex series of


actions autonomously and it is programmable by a computer.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 2 / 78


Position and Orientation Representation

A large part of robot kinematics is concerned with the


establishment of various coordinate systems to represent the
positions and orientations of rigid objects and with
transformations among these coordinate systems.

Homogeneous transformations combine the operations of rotation and


translation into a single matrix multiplication.

We begin by examining representations of points and vectors in a


Euclidean space equipped with multiple coordinate frames.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 3 / 78


Basic Transformations:
OPERATORS: TRANSLATIONS, ROTATIONS, AND
TRANSFORMATIONS
The mathematical forms used to map points between frames can
also be interpreted as operators that translate points, rotate
vectors, or do both.

Translational operators
A translation moves a point in space a finite distance along a given
vector direction.

The Figure indicates pictorially how a vector A P1 is translated by a


vector A Q.

Here, the vector A Q gives the information needed to perform the


translation.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 4 / 78


Cont...
The result of the operation is a new vector A P2 , calculated as
A
P2 =A P1 +A Q. (1)

Figure : 1. Translation operator.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 5 / 78


Cont...
To write this translation operation as a matrix operator, we use the
notation
A
P2 = DQ (q)A P1 , (2)
where q is the signed magnitude of the translation along the vector

direction Q.
The DQ operator may be thought of as a homogeneous transform of
a special simple form:

1 0 0 qx
0 1 0 qy
DQ (q) =
0 0 1
, (3)
qz
0 0 0 1
where qx , qy , and qz and are the components of the translation vector
Q.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 6 / 78


Cont...
Rotational operators
Another interpretation of a rotation matrix is as a rotational
operator that operates on a vector A P1 and changes that vector to a
new vector, A P2 , by means of a rotation, R.
A rotation matrix is shown as:
A
P2 = R A P1 . (4)

we will also define another notation for a rotational operator that


clearly indicates which axis is being rotated about:
A
P2 = RK ()A P1 . (5)

In this notation, RK () is a rotational operator that performs a


rotation about the axis direction K by degrees.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 7 / 78


Cont...
This operator can be written as a homogeneous transform whose
position-vector part is zero.

For example, the operator that rotates about the Z axis by is


cos sin 0 0
sin cos 0 0
DQ (q) =
0
, (6)
0 1 0
0 0 0 1

Of course, to rotate a position vector, we could just as well use the


3 3 rotation matrix part of the homogeneous transform.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 8 / 78


Cont...

EXAMPLE 1:
The Figure shows a vector A P1 . We wish to compute the vector obtained by
rotating this vector about Z by 30 degrees. Find the new vector A P2 .

Figure : 2. The vector A P1 rotated 30 degrees about Z .

The rotation matrix that rotates vectors by 30 degrees about Z is the


same as the rotation matrix that describes a frame rotated 30 degrees about
Z relative to the reference frame. Thus, the correct rotational operator is

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 9 / 78


Cont...

0.866 0.500 0.000
Rz (30) = 0.500 0.866 0.000 . (7)
0.000 0.000 1.000

Given
0.0
A
P1 = 2.5 , (8)
0.0
we calculate A P2 as

1.000
A
P2 = Rz (30.0)A P1 = 1.732 . (9)
0.000

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 10 / 78


Homogeneous Transformation
For the translation between origins of the frames {A} and {B} by simple
vector addition we obtain:
A
P =AB R B
P + A
PBORG . (10)

Equation 10 describes a general transformation mapping of a vector from its


description in one frame to a description in a second frame.

Figure : 3. General transform of a vector.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 11 / 78


Cont...
we would like to think of a mapping from one frame to another as an
operator in matrix form. As follows:
A
P =A
B T
B
P. (11)

we define a 4 x 4 matrix operator and use 4 1 position vectors, so


that (16) has the structure

AR
.. A
. PBORG  
B
A 
P .. BP
=
1 ,
. (12)
1
..
0 0 0 . 1

In other words,
1. a 1 is added as the last element of the 4 1 vectors;
2. a row [0001] is added as the last row of the 4 4 matrix.
The 4 4 matrix in (17) is called a homogeneous transform.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 12 / 78


Joints

Figure : 4. Prismatic and revolute joints.

Most manipulators have revolute joints or have sliding joints called


prismatic joints.

The number joints is equal to the degree of freedom.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 13 / 78


Mappings involving general frames
Very often, we know the description of a vector with respect to some
frame {B}, and we would like to know its description with respect to
another frame, {A}.

We now consider the general case of mapping(changing descriptions


from frame to frame).

Here, the origin of frame {B} is not coincident with that of frame
{A} but has a general vector offset.

The vector that locates {B}s origin is called A PBORG . Also {B} is
rotated with respect to {A}, as described by A B
B R. Given P, we wish
to compute A P as in Fig. 3.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 14 / 78


Forward Kinematics
Forward kinematics refers to the use of the kinematic equations of a
robot to compute the position of the end-effector from specified
values of the joint parameters.

The forward kinematics problem for a serial-chain manipulator is to


find the position and orientation of the end-effector relative to the
base, given the positions of all of the joints and the values of all of
the geometric link parameters.

The inverse kinematics problem for a serial-chain manipulator is


to find the values of the joint positions, given the position and
orientation of the end-effector relative to the base and the values of
all of the geometric link parameters.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 15 / 78


Denavit Hartenberg Representation
A commonly used convention for selecting frames of reference in
robotic applications is the Denavit-Hartenberg, or D-H convention.

In this convention, each homogeneous transformation Ai is


represented as a product of four basic transformations:

Ai = Rotz,i Transz,di Transx,ai Rotx,i (13)



ci si 0 0 1 0 0 0 1 0 0 ai 1 0 0 0
s i ci 0 0
0
1 0 0 0 1 0 0 0 ci si 0
=
0

0 1 0 0 0 1 di 0 0 1 0 0 si ci 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 16 / 78


Cont...

ci si ci si si ai ci
s i ci ci ci si ai si
=
0

s i ci di
0 0 0 1

where the four quantities i , ai , di , i are parameters associated with link i


and joint i.

The four parameters ai , i , di , and i in (13) are generally given the names
link length, link twist, link offset, and joint angle, respectively.

Since the matrix Ai is a function of a single variable, it turns out that three
of the above four quantities are constant for a given link, while the
fourth parameter, i for a revolute joint and di for a prismatic joint, is the
joint variable.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 17 / 78


Assigning the coordinate frames
For a given robot manipulator, one can always choose the frames
0,...,n.
Once frame 0 has been established, we begin an iterative process in
which we define frame i using frame i-1, beginning with frame 1.

Figure : 5. Denavit-Hartenberg frame assignment.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 18 / 78


Denavit-Hartenberg parameters: their physical meaning, symbol
and formal definition

Joint angle i the angle between the xi1 revolute

and xi axes about the zi1 joint variable

Link offset di the distance from the origin of frame xi1 prismatic

to the xi along the zi1 axis joint variable

Link length ai the distance between the zi1 and zi along the xi axis; constant

for intersecting axes is parallel to zi1 zi

Link twist i the angle between the zi1 constant

and zi axes about the xi

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 19 / 78


Examples
In the D-H convention the only variable angle is , so we simplify notation
by writing ci for cosi , etc. We also denote 1 + 2 by c12 , and cos(1 + 2 )
by c12 , and so on.
Example 1 Planar Elbow Manipulator:
Consider the two-link planar arm of Figure 3.6. The joint axes z0 and z1 are
normal to

Figure : 6. Two-link planar manipulator. The z-axes all point out of the page.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 20 / 78


Cont...
We establish the base frame o0 x0 y0 z0 as shown. The origin is chosen
at the point of intersection of the z0 axis with the page and the
direction of the x0 axis is completely arbitrary.

Once the base frame is established, the o1 x1 y1 z1 frame is fixed as


shown by the D-H convention, where the origin o1 has been located
at the intersection of z1 and the page.

The final frame o2 x2 y2 z2 is fixed by choosing the origin o2 at the end


of link 2 as shown.

The link parameters are shown in Table 1. The A-matrices are


determined from (13) as

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 21 / 78


Cont...
Table : 1. Link parameters for 2-link planar manipulator.
Link ai i di i

1 a1 0 0 1

2 a2 0 0 2

variable


c1 s1 0 a1 c1 c2 s2 0 a2 c2
s1 c1 0 a1 s1 s2 c2 0 a2 s2
A1 =
0
, A2 =
0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
The T-matrices are thus given by
T10 = A1 .
c12 s12 0 a1 c1 + a2 c12
s12 c12 0 a1 s1 + a2 s12
T20 = A1 A2 = 0
.
0 1 0
0 0 0 1

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 22 / 78


Cont...
Notice that the first two entries of the last column of T20 are the x
and y components of the origin o2 in the base frame; that is,

x = a1 c1 + a2 c12
y = a1 s1 + a2 s12

are the coordinates of the end-effector in the base frame.

The rotational part of T20 gives the orientation of the frame o2 x2 y2 z2


relative to the base frame.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 23 / 78


Cont...
Example 2 Three-Link Cylindrical Robot:

Consider now the three-link cylindrical robot represented symbolically by


Figure 7.

Figure : 7. Three-link cylinderical manipulator.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 24 / 78


Cont...
We establish o0 as shown at joint 1.

Note that the placement of the origin o0 along z0 as well as the


direction of the x0 axis are arbitrary.

Next, since z0 and z1 coincide, the origin o1 is chosen at joint 1 as


shown.

Since z2 and z1 intersect, the origin o2 is placed at this intersection.

The direction of x2 is chosen parallel to x1 so that 2 is zero.

Finally, the third frame is chosen at the end of link 3 as shown.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 25 / 78


Cont...
The link parameters are now shown in Table 2.

Table : 2. Link parameters for 3-link cylindrical manipulator.


Link ai i di i

1 0 0 d1 1

2 0 90 d2 0

3 0 0 d3 0

variable

For link parameters which are now shown in Table 2. The


corresponding A and T matrices are:

c1 s1 0 0 1 0 0 0 1 0 0 0
s1 c1 0 0 0 0 1 0 0 1 0 0
A1 = , A2 = , A3 =
0 0 1 d1 0 1 0 d2 0 0 1 d3
0 0 0 1 0 0 0 1 0 0 0 1

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 26 / 78


Cont...

c1 0 s1 s1 d3
s1 0 c1 c1 d3
T30 = A1 A2 A3 =
0 1 0 d1 + d2
0 0 0 1

Inverse Kinematics
Inverse Kinematics concerned with the inverse problem of finding the joint
variables in terms of the end-effector position and orientation.

Existence of solutions:
The question of whether any solution exists at all raises the question of
the manipulators workspace.
Workspace is the volume of space that the end-effector of the manipulator
can reach.
Dextrous workspace is the volume of space that the robot end-effector can
reach with all orientations.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 27 / 78


Cont...
The reachable workspace is that volume of space that the robot can reach
in at least one orientation.
Clearly, the dextrous workspace is a subset of the reachable workspace.

EXAMPLE 4: Algebraic solution


Consider the three-link planar manipulator. It is shown with its link
parameters in Fig.
we can use the link parameters easily to find the forward kinematic
equations of this arm:

c123 s123 0.0 l1 c1 + l2 c12
B
s123 c123 0.0 l1 s1 + l2 112
W T = 0.0
. (14)
0.0 1.0 0.0
0 0 0 1

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 28 / 78


Cont...

Figure : Three-link planar manipulator and its link parameters.

To focus our discussion on inverse kinematics, we will assume that the


necessary transformations have been performed so that the goal point is a
specification of the wrist frame relative to the base frame, that is, BW T .

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 29 / 78


Cont...
giving a general BW T as a goal specification, we will assume a transformation
with the structure

c s 0.0 x
B
s c 0.0 y
W T = 0.0
. (15)
0.0 1.0 0.0
0 0 0 1

we arrive at a set of four nonlinear equations that must be solved for 1 , 2 ,


and 3 :
c = c123 (16)
s = s123 (17)
x = l1 c1 + l2 c12 (18)
y = l1 s1 + l2 s12 (19)

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 30 / 78


Cont...
We now begin our algebraic solution of equations (16) through (19). If we
square both (18) and (19) and add them, we obtain

x 2 + y 2 = l12 + l22 + 2l1 l2 c2 , (20)

where we have made use of

c12 = c1 c2 s1 s2 , (21)

s12 = c1 s2 + s1 c2 . (22)
Solving (20) for c2 , we obtain

x 2 + y 2 l12 l22
c2 = . (23)
2l1 l2

In order for a solution to exist, the right-hand side of (23) must have a value
between -1 and 1.
This constraint would be checked at this time to find out whether a solution
exists.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 31 / 78


Cont...
Physically, if this constraint is not satisfied, then the goal point is too far
away for the manipulator to reach.
Assuming the goal is in the workspace, we write an expression for s2 as
q
s2 = 1 c22 . (24)

Finally, we compute 2 using the two-argument arctangent routine:

2 = Atan2(s2 , c2 ). (25)

The choice of signs in (24) corresponds to the multiple solution in which we


can choose the elbow-up or the elbow-down solution.
In determining 2 , ensures that we have found all solutions and that the
solved angle is in the proper quadrant.
Having found 2 , we can solve (18) and (19) for 1 . We write (18) and (19)
in the form
x = k1 c1 k2 s1 , (26)
y = k1 s1 + k2 c1 , (27)
Gossaye Mekonnen Alemu (AAiT) April 11, 2017 32 / 78
Cont...
where
k1 = ll + l2 c2 , (28)
k2 = l2 s2 . (29)
In order to solve an equation of this form, we perform a change of variables.
Actually, we are changing the way in which we write the constants k1 and
k2 .
If q
r = + k12 + k22 . (30)
and
= Atan2(k2 , k1 ). (31)
then
k1 = rcos, (32)
k2 = rsin. (33)

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 33 / 78


Cont...
Equations (26) and (27) can now be written as
x
= coscos1 sinsin1 , (34)
r
y
= cossin1 + sincos1 , (35)
r

so
x
cos( + 1 ) = , (36)
r
y
sin( + 1 ) = . (37)
r

Using the two-argument arctangent, we get


y x
+ 1 = Atan2( , ) = Atan2(y , x), (38)
r r

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 34 / 78


Cont...
and so
1 = Atan2(y , x) Atan2(k2 , k2 ). (39)

Finally, from (16) and (17), we can solve for the sum of 1 through 3 :

1 + 2 + 3 = . (40)

From this, we can solve for 3 , because we know the first two angles.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 35 / 78


MANIPULATOR JACOBIAN: Velocity
we expand our consideration of robot manipulators beyond static positioning
problems.

We examine the notions of linear and angular velocity of a rigid body and
use these concepts to analyze the motion of a manipulator.

The velocity relationships are then determined by the Jacobian.

The study of velocities leads to a matrix entity called the Jacobian of the
manipulator.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 36 / 78


Cont...
NOTATION FOR TIME-VARYING POSITION AND
ORIENTATION:
Before investigating the description of the motion of a rigid body, we briefly
discuss some basics: the differentiation of vectors, the representation of
angular velocity, and notation.

Differentiation of position vectors


For our consideration of velocities, we need the following notation for the
derivative of a vector:
B
B d B Q(t + t) B Q(t)
VQ = Q = lim . (41)
dt t0 t
The angular velocity vector
We now introduce an angular velocity vector, using the symbol .
The notation:
U
C = C (42)

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 37 / 78


Cont...
Here, C is the angular velocity of frame {C } relative to some understood
reference frame, {U}.

Velocity of a point due to rotating reference frame


Consider a fixed vector B P unchanging with respect to frame {B}. Its
description in another frame {A} is given as
A A B
P= B R P. (43)

If frame {B} is rotating (i.e., the derivative AB R is nonzero), then A P will be


changing even though B P is constant; that is,
A
P = A B
B R P, (44)

or, using our notation for velocity,


A A B
VP = B R P. (45)

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 38 / 78


Cont...
Skew-symmetric matrices and the vector cross-product:
If we assign the elements in a skew-symmetric matrix S as

0 x y
S = x 0 x , (46)
y x 0

and define the 3 1 column vector



x
= y , (47)
z

then it is easily verified that

SP = P, (48)

where P is any vector, and is the vector cross-product.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 39 / 78


JACOBIAN
In the field of robotics, we generally use Jacobian that relate joint velocities
to Cartesian velocities of the tip of the arm.

The relation between differential joint motions with differential changes in


end-effector position (and orientation) is investigated now.

As these changes takes place in differential time, we really looking for a


mapping between instantaneous end-effector velocity, Ve (in Cartesian
space) to instantaneous joint velocities (in joint space).

This mapping between differential changes is linear and can be expressed as:


Ve (t) = J(q)q, (49)

where Ve (t) = 6 1 is the Cartesian velocity vector,


J(q) = 6 n is the manipulator jacobian or Jacobian matrix,
q = n 1 vector of n joint velocities.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 40 / 78


Cont...
Equation (49) can be written in column vectors of the Jacobian, that is,

Ve (t) = [J1 (q)J2 (q) Jn (q)]q(t)


(50)

In the above equation,Ji (q) is the i th column of the Jacobian matrix. From
the above we have:

d
   
v
Ve (t) = = = J(q)q(t) (51)

Column i of Jacobian matrix J(q) is made from three linear velocity


components jvi and three angular velocity components ji and can be
expressed as
jvxi
jvyi
 
j jvzi
Ji (q) = vi = (52)
ji jxi

jyi
jzi

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 41 / 78


Jacobian Computation
The contribution of joint i to linear velocity of end-effector is Jvi q i and to
angular velocity of end-effector is Ji q i .

One simple method of computation of Jacobian is to determine Jvi and Ji


for joint i.

This is carried out in the following sections for both prismatic and revolute
joints.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 42 / 78


The Prismatic Joint Jacobian
Consider the prismatic joint i, as shown in Fig. 9. The link i translates
along Zi1 -axis with a joint (scalar) velocity di .

Figure : 9. Prismatic joint contributing to end-effector velocity.

To find the i th column Ji q of the Jacobian matrix Jq, assume that all joints
except joint i are locked in position.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 43 / 78


Cont...
In this situation, the translating prismatic joint i will produce a linear
velocity at the end-effector in the same direction as the joint i axis, zi1 .

If a vector pointing along the direction zi1 , with respect to the base frame
is denoted as Pi1 , the linear velocity produced at the end-effector by
translating link i is
vi = Pi1 di (53)
Note that for convenience Pi1 is written in place of 0 Pi1 .

The prismatic joint cannot contribute any angular velocity at the


end-effector, that is,
i = 0
From Eqs. (52) and (53), the Ji (q) for a prismatic joint is, therefore
   
Jvi Pi1
Ji q = = (54)
Ji 0

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 44 / 78


Cont...
Vector Pi1 in the above equation is computed using the coordinate
transformations from base frame 0 to frame i 1.

A unit vector in frame i 1 along zi1 -axis, with respect to frame i 1 is


= [0 0 1]T .
given by u

with respect to
The vector Pi1 is the transformation of this unit vector u
base frame {0}.
The homogeneous transformation matrix from frame {0} to frame {i 1} is
0
T1 (q1 )...i2 Ti1 (qi1 ) =0 Ti1 (55)

The vector Pi1 is obtained as

Pi1 =0 Ri1 u
(56)

where 0 Ri1 is the 3 3 orientation sub-matrix (the rotation matrix) of


0
Ti1 . Note that Pi1 is the third column of the rotation matrix 0 Ri1 .

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 45 / 78


The Rotary Joint Jacobian
Next, consider the joint i to be a rotary joint with angular velocity i , about
zi1 -axis.

With all joints, except joint i, locked in position. The rotary joint rotates all
the distal links from link i to link n at an angular velocity i .

For a rotary joint, the angular velocity will be given by

i = Pi1 i (57)

where Pi1 is the vector frame 0 describing the axis of rotation of joint i,
that is zi1 -axis.

From the origin Oi1 , the end-effector, frame {n} is defined by a


position vector i1 Pn .

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 46 / 78


Cont...
The linear velocity generated by i is

vi = i i1 Pn = (Pi1 i1 Pn )i (58)

It follows Eqs. (57) and (58), that for a rotary joint,

Pi1 i1 Pn
 
Ji = (59)
Pi1

For computing Ji in Eq. (59), we need vectors Pi1 and i1 Pn . The vector
Pi1 is obtained from (56), while the vector i1 Pn is found as

i1
Pn = 0 Pn 0 Pi1

The origin of frame {n} at the end-effector is On = [0 0 0 1]T .

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 47 / 78


Cont...
The above vector equation can then be written as
i1
or Pn = [0 T1 (q1 )...n1 Tn (qn )On ] [0 T1 (q1 )...i2 Ti1 (qi1 )On ]
or
i1
Pn = 0 T n On 0 T i1 On (60)

In summary, The manipulator Jacobian is:


   
Jvi Pi1
Ji (q) = = for a prisimatic joint (61)
Ji 0

Pi1 i1 Pn

  
Jvi
Ji (q) = = for a revolute joint (62)
Ji Pi1

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 48 / 78


INVERSE JACOBIAN

For a given end-effector velocity Ve , the corresponding joint velocities (q)
must be found that will cause the end-effector to move at the desired
velocity.

It has shown that the Jacobian of a manipulator defines a linear mapping


between the vector q of the joint velocities and end-effector velocity Ve ,
from joint space to Cartesian space as

Ve = J(q)q (63)

From this, the reverse mapping from Cartesian space is

q = J1 (q)Ve (64)

It is known that for inverse of a matrix J1 exist, it must be a square matrix.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 49 / 78


Cont...
The Jacobian, in general, for an n-DOF manipulator is 6 n matrix.

Therefore, only for a 6-DOF manipulator, the Jacobian J is a 6 6 square


matrix.

The inverse matrix J1 exists, if J is nonsingular at the current


configuration, in which case Eq. (64) determines the individual joint
velocities required to obtain desired end-effector velocity.

Consequently at a configuration, where the Jacobian inverse exists, it is


possible to move the end-effector in an arbitrary direction with an arbitrary
velocity.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 50 / 78


Chapter 2
Dynamics
Newton-Euler Formulation of Equations of Motion

Newtons equation
Consider a rigid body whose center of mass is accelerating with acceleration
vC .
In such a situation, the force, F , acting at the center of mass and causing
this acceleration is given by Newtons equation:

F = mvC , (65)

where m is the total mass of the body.

Eulers equation
Consider a rigid body rotating with angular velocity and with angular
acceleration .

In such a situation, the moment N, which must be acting on the body to
cause this motion, is given by Eulers equation
Gossaye Mekonnen Alemu (AAiT) April 11, 2017 51 / 78
Cont...
where Cj is the inertia tensor of the body written in a frame, C , whose
origin is located at the center of mass.

Figure : A moment N is acting on a body, and the body is rotating with


velocity and accelerating at .

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 52 / 78


ITERATIVE NEWTON-EULER DYNAMIC FORMULATION
We now consider the problem of computing the torques that correspond to
a given trajectory of a manipulator.
We assume we know the position, velocity, and acceleration of the joints,
).
(, ,
With this knowledge, and with knowledge of the kinematics and the
mass-distribution information of the robot, we can calculate the joint
torques required to cause this motion.

The iterative NewtonEuler dynamics algorithm


The complete algorithm for computing joint torques from the motion of the
joints is composed of two parts.
First, link velocities and accelerations are iteratively computed from link 1
out to link n and the NewtonEuler equations are applied to each link.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 53 / 78


Cont...
Second, forces and torques of interaction and joint actuator torques are
computed recursively from link n back to link 1.
The equations are summarized next for the case of all joints rotational:
Outward iterations: i : 0 5
i+1
i+1 = i+1 i i+1 Zi+1 ,
i+1 R i + i+1 (67)
i+1
i+1 = i+1
i R i i + i+1
i R i i i+1 i+1 Zi+1 + i+1 i+1 Zi+1 (68)
i+1
vi+1 = i+1
i R(i i i Pi+1 + i i (i i i Pi+1 ) +i vi ), (69)
i+1 i+1 i+1 i+1 i+1 i+1 i+1
vCi+1 = i+1 PCi+1 + i+1 ( i+1 PCi+1 ) + vi+1 ,
(70)
i+1
Fi+1 = mi+1 i+1 vCi+1 , (71)
i+1
Ni+1 = Ci+1 Ii+1 i+1 i+1 + i+1 i+1 Ci+1 Ii+1 i+1 i+1 . (72)

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 54 / 78


Cont...
Inward iterations: i : 0 5
i
fi+1 = ii+1 R i+1 fi+1 +i Fi , (73)
i
ni = i Ni + ii+1 R i+1 ni+1 +i PCi i Fi + i Pi+1 ii+1 R i+1 fi+1 , (74)
i = i ni i Zi . (75)

Closed-Form Dynamic Equations:


It is often useful to write closed-form dynamic equations.
These equations can be derived by applying the recursive NewtonEuler
and .
equations symbolically to ,

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 55 / 78


Cont...
AN EXAMPLE OF CLOSED-FORM DYNAMIC EQUATIONS:
Here we compute the closed-form dynamic equations for the two-link planar
manipulator shown in Figure.
For simplicity, we assume that the mass distribution is extremely simple: All
mass exists as a point mass at the distal end of each link.
These masses are m1 and m2 .
First, we determine the values of the various quantities that will appear in
the recursive NewtonEuler equations.
The vectors that locate the center of mass for each link are
1
PC1 = l1 X1 , (76)
2
PC2 = l2 X2 . (77)

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 56 / 78


Cont...
Because of the point-mass assumption, the inertia tensor written at the
center of mass for each link is the zero matrix:
C1
I1 = 0,
C2
I2 = 0.
There are no forces acting on the end-effector, so we have
f3 = 0,
n3 = 0.
The base of the robot is not rotating; hence, we have
0 = 0,
0 = 0.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 57 / 78


Cont...
To include gravity forces, we will use

0
v0 = g y0 .

Figure : Two-link planar manipulator with point masses at distal ends of links.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 58 / 78


Cont...
The rotation between successive
link framesis given by
ci+1 si+1 0.0
i
i+1 R = si+1 ci+1 0.0 ,

0.0 0.0 1.0

ci+1 si+1 0.0
i+1
i R = si+1 ci+1 0.0 .
0.0 0.0 1.0
We now apply equations (68) through (75).

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 59 / 78


Cont...
The outward iterations for link 1 areas follows:
0.0
1
1 = 1 1 Z1 = 0.0 ,

1
0.0
1
1 = 1 1 Z1 = 0.0 ,
1

c1 s1 0 0.0 gs1
1
v1 = s1 c1 0 g = gc1 ,
0 0 1 0.0 0
l1 12 + gs1
2

0 l1 1 gs1
1
vC1 = l1 1 + 0 + gc1 = l1 1 + gc1 ,
0 0 0 0

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 60 / 78


Cont...
m1 l1 12 + m1 gs1

1F =
1 m1 l1 1 + m1 gc1 ,
1

0
1 N = 0 .
1
0

The outward iterationsfor link 2 are as follows:


0
2
2 = 0 ,
+ 2
1
0
2
2 = 0 ,
1 + 2

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 61 / 78


Cont...
c2 s2 0 l1 12 + gs1 l1 1 s2 l1 12 c2 + gs12

2 v = s
2 2 c2 0 l1 1 + gc1 = l1 1 c2 + l1 2 s2 + gc12 ,
1
0 0 1 0 0
l2 (1 + 2 )2 l1 1 s2 l1 12 c2 + gs12

0
2 v
C2 = l2 (1 + 2 ) + 0 + l1 1 c2 + l1 2 s2 + gc12 ,
1
0 0 0
m2 l1 1 s2 m2 l1 12 c2 + m2 gs12 m2 l2 (1 + 2 )2

2 F =
2 m2 l1 1 c2 + m2 l1 12 c2 + m2 gc12 + m2 l2 (1 + 2 )
0

0
2 N = 0.
2
0

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 62 / 78


Cont...
The inward iterations for link 2 are as follows:
2
f2 =2 F2 ,
0
2 0
n2 = .
m2 l1 l2 c2 1 + m2 l1 l2 s2 12 + m2 l22 gc12 + m2 l22 (1 + 2 )
The inward iterations for link 1 are as follows:
c2 s2 0 m2 l1 s2 1 m2 l1 c2 12 + m2 gs12 m2 l2 (1 + 2 )2

1
f1 = s2 c2 0 m2 l1 c2 1 + m2 l1 s2 12 + m2 gc12 + m2 l2 (1 + 2 ) +
0 0 1 0
2

m1 l1 1 + m1 gs1
m1 l1 1 + m1 gc1 .
0

0
1 0
n1 = +
m2 l2 c2 1 + m2 l1 l2 s2 12 + m2 l2 gc12 + m2 l22 (1 + 2 )

0
0 +
2
m1 l1 + m1 l1 gc1

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 63 / 78


Cont...

0
0 .
2 2
m2 l1 1 m2 l1 l2 s2 (1 + 2 ) + m2 l1 gs2 s2 s12 + m2 l1 l2 c2 (1 + 2 ) + m2 l1 gc2 c12

Extracting the Z components of the i ni , we find the joint torques:


1 = m2 l22 (1 + 2 ) + m2 l1 l2 c2 (21 + 2 ) + (m1 + m2 )l12 1 m2 l1 l2 s2 22
2m2 l1 l2 s2 1 2 + m2 l2 gc12 + (m1 + m2 )l1 gc1 ,

2 = m2 l1 l2 c2 1 + m2 l1 l2 s2 12 + m2 l2 gc12 + m2 l22 (1 + 2 ). (78)

Equations (78) give expressions for the torque at the actuators as a


function of joint position, velocity, and acceleration.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 64 / 78


Physical Interpretation of the Dynamic Equations
In this section, we interpret the physical meaning terms involved in the
closed-form dynamic equations for the two-dof planar robot.

g , accounts for the effect of gravity.

Equation (78) represent the moments created by the masses m1 and m2


about their individual joint axes.

The moments are dependent upon the arm configuration. When the arm is
fully extended along the x-axis, the gravity moments become maximum.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 65 / 78


Lagrangian Formulation of Robot Dynamics
As an alternative to the NewtonEuler method, in this section we briefly
introduce the Lagrangian dynamic formulation.
Whereas the NewtonEuler formulation might be said to be a force balance
approach to dynamics, the Lagrangian formulation is an energy-based
approach to dynamics.
We start by developing an expression for the kinetic energy of a manipulator.
The kinetic energy of the i th link, ki , can be expressed as
1 1
ki = mi vCTi vCi + i iT Ci Ii i i , (79)
2 2
where the first term is kinetic energy due to linear velocity of the links
center of mass and the second term is kinetic energy due to angular
velocity of the link.
The total kinetic energy of the manipulator is the sum of the kinetic energy
in the individual links-that is,
n
X
k= ki . (80)
i=1

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 66 / 78


Cont...
In fact, the kinetic energy of a manipulator is given by

= 1
k(, ) T M(),
(81)
2
where M() is the n n manipulator mass matrix.
Because the total kinetic energy must always be positive, the
manipulator mass matrix must be a so-called positive definite matrix.
The Lagrangian dynamic formulation provides a means of deriving the
equations of motion from a scalar function called the Lagrangian, which is
defined as the difference between the kinetic and potential energy of a
mechanical system.
In our notation, the Lagrangian of a manipulator is
= k(, )
L(, ) u(). (82)

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 67 / 78


Planar Robot Dynamics
FORMULATING MANIPULATOR DYNAMICS IN CARTESIAN
SPACE
Our dynamic equations have been developed in terms of the position and
time derivatives of the manipulator joint angles, or in joint space, with the
general form
= M() + V (, ) + G (). (83)
We developed this equation in joint space because we could use the
serial-link nature of the mechanism.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 68 / 78


Mass Moment of Inertia Matrix
In analyzing the motion of rigid bodies, two types of integrals arise that
belong to the geometry of the body.

The first type defines the center of mass and arises when the translation
motion of the body is considered.

The second is the moment of inertia that appears when the rotational
motion of the body is considered.

We shall now define a set of quantities that give information about the
distribution of mass of a rigid body relative to a reference frame.

Inertia matrix (or Inertia tensor) can be defined relative to any frame, but
we will always consider the case of an inertia matrix defined for a frame
attached to the rigid body.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 69 / 78


Mass Moment of Inertia Matrix
Where it is important, we will indicate, with a leading superscript, the frame
of reference of a given inertia matrix.

Figure : The inertia matrix of an object describes the objects mass


distribution. Here, the vector A P locates the differential volume element,
dv.

The inertia matrix relative to frame {A} is expressed in the matrix form as
the 3 3 matrix
Ixx Ixy Ixz
A
I = Ixy Iyy Iyz , (84)
Ixz Iyz Izz
Gossaye Mekonnen Alemu (AAiT) April 11, 2017 70 / 78
Cont...
where the scalar elements are given by
Ixx = R R RV (y 2 + z 2 )dv ,
RRR
2 2
Iyy = V (x + z )dv ,
Z Z Z
Izz = (x 2 + y 2 )dv , (85)
V
RRR
Ixy = R R R V xy dv ,
Ixz = R R RV xzdv ,
Iyz = V yzdv ,

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 71 / 78


Cont...
EXAMPLE 1
Find the inertia matrix for the rectangular body of uniform density with
respect to the coordinate system shown in Fig.

First, we compute Ixx . Using volume element dv = dxdydz, we get


RhRl Rw
Ixx = 0 0 0 (y 2 + z 2 )dxdydz
RhRl
= 0 0 (y 2 + z 2 )w dydz
Rh 3
= 0 ( l3 + z 2 l)w dz
3 3
= ( hl3w + h 3lw )
m 2 2
= 3 (l + h ),
where m is the total mass of the body. Permuting the terms, we can get Iyy
and Izz by inspection:
Iyy = m3 (w 2 + h2 ),
Izz = m3 (l 2 + w 2 ).

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 72 / 78


Cont...

Figure : A body of uniform density.

We next compute Ixy :


RhRl Rw
Ixy = 0 0 0 xy dxdydz
RhRl 2
= 0 0 w2 y dxdydz
Rh 2 2
= 0 w 4l y dxdydz
= m4 wl.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 73 / 78


Cont...
Permuting the terms, we get
Ixz = m4 hw ,
and
Iyz = m4 hl.
Hence, the inertia matrix for this object is
m 2 2 m4 wl m4 hw

3 (l + h )
A
I = m4 wl m 2
3 (w + h )
2 m4 hl . (86)
m m m 2 2
4 hw 4 hl 3 (l + w )

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 74 / 78


Cont...
As noted, the inertia matrix is a function of the location and orientation of
the reference frame.

A well-known result, the parallel-axis theorem, is one way of computing


how the inertia tensor changes under translations of the reference
coordinate system.

The parallel-axis theorem relates the inertia tensor in a frame with origin at
the center of mass to the inertia tensor with respect to another reference
frame.

Where C is located at the center of mass of the body, and A is an arbitrarily


translated frame, the theorem can be stated as
A
Izz =C Izz + m(xc2 + xc2 ),
A
Ixy =C Ixy mxc yc ),
where Pc = [xc , yc , zc ]T locates the center of mass relative to A.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 75 / 78


Cont...
As noted, the inertia matrix is a function of the location and orientation of
the reference frame.

A well-known result, the parallel-axis theorem, is one way of computing


how the inertia tensor changes under translations of the reference
coordinate system.

The parallel-axis theorem relates the inertia tensor in a frame with origin at
the center of mass to the inertia tensor with respect to another reference
frame.

Where C is located at the center of mass of the body, and A is an arbitrarily


translated frame, the theorem can be stated as
A
Izz = C Izz + m(xc2 + xc2 ),
A
Ixy = C Ixy mxc yc , (87)
where Pc = [xc , yc , zc ]T locates the center of mass relative to A.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 76 / 78


Cont...
The remaining moments and products of inertia are computed from
permutations of x,y, and z in (87).
A
I = C I + m[PcT Pc I3 Pc PcT ], (88)

where I3 is the 3 3 identity matrix.

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 77 / 78


THANK YOU

Gossaye Mekonnen Alemu (AAiT) April 11, 2017 78 / 78

S-ar putea să vă placă și