You are on page 1of 43

Chapter 2 Robot Arm Kinematics 2.

1 Introduction Robot Arm Kinematics : deals with analytic study of the fixed reference geometry of motion of robot arm w.r.t. forces or moment that cause the motion.

coordinate system as a function of time without regard to the

* Direct (or forward) Kinematics


q1 ~ q 2 X nYn Z n

* Inverse Kinematics
X nYn Z n qi

* Links of robot arm : rotate and/or translate w.r.t reference coordinate frame * Spatial displacement of the end-effector is due to the

angular rotation and linear translation. * cartesian coordinate frame right hand rule

* best way to describe the orientation of the object (motivation of multi coordinate systems)

: World coordinate frame


Base coordinate frame Fixed coordinate frame

2.2 The Direct Kinematics Problem 2.2.1 Rotation matrices

P = ( Px

Py

Pz )

Px P= Py Pz P = Pxix + Py j y + Pz k z = ix iy Px iz Py Pz

OXYZ : reference coordinate system unit vector OUVW : moving coordinate system (body attached frame) unit vector

and

We want to find the relationship. (transformation) Let be 33 transformation matrix that will transform the coordinates of to the coordinates expressed w.r.t. OXYZ coordinates system, after OUVW coordinate system has been rotated. That is

but

: component of in x direction

Similarly but
,

then

- in vector-matrix form

Or,

where,

(3rd column of R : representation of w.r.t. ) Similarly,


(orthogonal transformation)

* Rotation matrices represent the rotations of the OUVW coordinate system about each of the 3 principal axes of the OXYZ coordinate system

Fundamental rotations Assume OUVW coordinate system is rotated an angle then


about the OX axis,


cos sin sin cos

then

OUVW rotates an

angle about OY axis,

cos sin sin cos

angle about OZ axis, then

OUVW rotates an

cos sin sin cos

-2-2 Composite Rotation matrix

(*) (**)

Substitute into (*), then


Compare with (**), then


*Basic rotation can be multiplied together to represent a sequence of limited rotations about the principal axes of the OXYZ coordinate system. (Since matrix multiplications do not commute, the order of performing rotations is important.) Ex. rotation of angle about OX axis , then rotation of angle about OZ axis , then rotation of angle about OY axis.

The resultant rotation matrix : pre-multiply one after another.


cos sin cos sin sin cos cos sin sin cos sin cos

* OX OZ OY OY OZ OX

*Rotating coordinate system OUVW can also rotate about it's own principal axes. * rules Initially both coordinate systems are coincident frame, then the premultiply. If rotation is about one of the principal axes of the OUVW frame , the postmultiply.

If rotation is about one of the principal axes of the OXYZ

Ex. rotate OW.

about OX,

about OY, OY

about OU, OW)

about

(Rotation OX

OU


Premultiply y Postmultiply

(OZ

OX

OX

OY)

2-2-3 Rotation Matrix about an Arbitrary Axis Rotating coordinate system OUVW, rotates arbitrary axis r which is an unit vector.

angle about an

Then,

but it is very hard to find base vectors ( ) of the rotated coordinate system, after the angle rotation. then Therefore, first, align the r with OZ axis, then rotate , let the r go back to original orientation. To find make rotation about the principal axes of OXYZ frame align the axis r with OZ axis. then make rotation about the r axis (=OZ axis) with angle. Lastly, rotate the moving coordinate system about the principal axes of OXYZ frame again to return the r axis back to it's original location. to

Ex. Let

: unit vector

cos sin cos sin cos sin sin cos sin cos sin cos

cos sin cos sin sin cos sin cos

From Figure, we can easily find that


sin sin cos

cos

Substituting them into the above equation, we have


where cos * Other representations of orientation Orientation of rigid body w.r.t. reference coordinate 1. Matrix representation : need 9 elements (only 3 elements are linearly independent) 2. Axis / Angle representation : 4 component but r is unit vector 3. Euler angle representation : 3 Euler angles 4. Roll-Pitch-Yaw representation : 3 RPY angles * Axis/Angle representation v.s. Rotation matrix Arbitrary rotations (or Orientation) can be represented by a single rotation about a suitable axis in space by a suitable angle as
.

and can be found from R as

cos cos

sin

* note that the rotation is not unique.


is undefined.

(i.e.. )

If = 0, then is identity matrix and the axis of rotation

Ex.

Consider a sequence of rotations as


then,
cos

2.2.4 Rotation Matrix with Euler Angle Representation Euler angle system (gyroscopic motion) 1. rotation of 2. rotation of

angle about the OZ axis

angle about the rotated OU axis angle about the rotated OW axis

3. Finally a rotation of

The resultant Eulerian rotation matrix is


(also can be represented by )

Euler angle system II about the OZ about the rotated OV about the rotated OW

1. 2. 3.

(also ) *YPR Transformation

1. 2. 3.

about OX about OY about OZ

yaw pitch roll

(also )
cos sin cos sin sin cos cos sin sin cos sin cos

coscos cossin sin sin cos cossin cos sin sin sin cos sin sin sin coscos sin sin cos cossin sin cossin coscos

2.2.5 Geometric Interpretation of Rotation Matrix

cos sin sin cos

____ __ ___ u v w (3rd column of R : representation of w w.r.t xyz )

magnitude of representation is 1
=1

u, v, w are Orthonormal vectors inner product of each row = 0

2.2.6 Homogeneous coordinates and Transformation matrix

*linear translation ( angular rotation)

: linear translation

*with rotation : rigid motion *with another rotation,


*after several consecutive rotations and translations, the transformation matrix becomes mess! *Is there any solution? - The Homogeneous transformation in homogeneous coordinate frame. Definition:

* Homogeneous coordinate : makes it possible to represent both translation and rotation as a matrix multiplication. * Let = be the cartesian coordinates of a point in R.

Then any set of (n+1) numbers ,


0 , for which , , ,

is called a set of homogeneous coordinates for point X. Note that any algebraic equation in , when transformed to a set of homogeneous coordinates, becomes a homogeneous equation in homogeneous coordinate. Homogeneous coordinate no explicit constants. Example :

a class of objects involves

Equation of a 2-d line y=ax+b equation ax-y+b=0 3-D. * position vector

homogeneous

which is a representation of the line in

in 3 dimensional Euclidean space.

* position vector

in 4 dimensional Homogeneous

coordinate system. ( component w : scale factor. robotic applications usually, w=1)

In

*Homogeneous transformation matrix

where

= rotation matrix

= position vector of the origin of the rotated coordinate

system w.r.t the reference coordinate system.


= perspective transformation (for graphics)

11 = scale factor (=1 in robotics)

*Basic homogeneous rotation matrix cos sin sin cos

where, cos sin sin cos

: rotation matrix

: origin of rotating coordinate system which is same as reference coordinate system.

: no prospection (used only for graphics, computer

vision and the calibration of camera model)

: scale factor = 1

*Basic homogeneous translation matrix



: no rotation.

where,

: translation the OUVW coordinate system which has axes


parallel to the OXYZ but whose origin is at in OXYZ. *Local scaling


: Coordinate values are stretched by the scalar a, b and c.

*note that basic rotation matrix T dose not produce any local scaling effect *global scaling
,

if s>1, reduction, *summary

if 0<s<1,

enlargement

44 homogeneous transformation matrix maps a vector expressed in homogeneous coordinates w.r.t. the OUVW coordinate system to the reference coordinate system OXYZ.

and

where

n : normal vector s : sliding vector a : approach vector p : position of origin (hand coordinate system.)

2.2.7 Geometric interpretation of Homogeneous transformation matrix From equation(2.2-26a, b)


or if

and

then, n representation of unit vector in OXYZ. Similarly . if : origin in OUVW

: coordinate of OUVW origin w.r.t. OXYZ

Homogeneous transformation matrix geometrically represents the location of a rotated coordinate system (position and orientation) w.r.t. reference coordinate system.

*Inverse of rotation matrix R


( columns of R are representation of

in

OXYZ

and rows of R are representation of

in OUVW.)

* the inverse of homogeneous transformation matrix is not equivalent to it's transpose.

where

: Transpose of (inverse of )

: represents the position of the origin of the reference frame w.r.t OUVW system.

2-2-8 Composite Homogeneous Transformation Matrix The homogeneous rotation and translation matrices can be multiplied together to obtain a composite homogeneous translation matrix(T) *process 1. Initially both coordinate system coincide, hence

2. If OUVW system is rotation / translation about the principal axes of the OXYZ frame then premultiply previous H.T.M with an appropriate basic H.T.M. OUVW system, postmultiply. * Screw Transformation Screw( , , y)

3. If it rotates / translates about the principal axes of the

Rot ( , y ) Tran ( , )

translate along the Y by Rotate about the Y by go to 1) and repeat

2.2.9 Link, Joint and their parameters A mechanical manipulator consists of a sequence of rigid bodies, called links, connected by joints. joint is connected by rigid link. *6 types of lower pair joint. (revolute, prismatic, cylindrical spherical, screw, planar joints) Or one can say each

*Joint-link pairs
J J L
1 1

*Each joint-link pair constitutes 1 degree of freedom. *N degree of freedom N joint-link pairs with link 0. *Joints and links are numbered outwardly from the base. *Joint-link pair is characterized by 4 geometric parameters: (effective) link length ( ) joint Angle ( ) twist angle ( ) offset ( )

2.2.10 Denavit-Hartenberg representation Denavit-Hartenberg proposed a matrix method of systematically establishing a coordinate system to each link of an articulated chain.

*Algorithm 2.1 : Link coordinate assignment - i th coordinate system is fixed in link i, together with link i. - World coordinate frame O X Y Z is fixed on Link 0 and does not move. - connects and .
Y

and it moves

J L
0

J
1

L
X

L
X

1
1

Y Z
1

- : axis of motion of ,

direction pointing away from the base - : if and intersects, then, = ( ) / if and are parallel, then,

is a normal vector

pointing away (not unique, so choose a proper one). -

: use right handed coordinate system


Therefore, can be

- One side of is fixed on the base. arbitrarily assigned as long as

X Z . So

- One side of ( end-effector ) is free (No Joint 7).

choose to align with approach vector a, and with normal vector n, and with sliding vector s. a rotating joint with end-effector parallel to ) *Note that D-H representation is not unique. It is a convention for affixing coordinates to links, and D-H representation results in a 4x4 HTM representing each link's coordinate system at the joint with respect to the previous link's coordinate system. *Homogeneous transformation matrix : 44 matrix and has 16 elements. elements has meaning. (position information : 3, orientation information :3 ) But. Denavit-Hartenberg representation uses only 4 geometric parameters against 16 elements in HTM. ( by using freedom of the choice of the origin and coordinates on the rigid frame) The DH parameters are : effective link length ( ), joint angle ( ), twist angle ( ), offset ( ). Among them only 6 ( is usually

The definitions distance(offset) and joint angle ( , )

length (Link) and twist angle ( , )

* Link coordinate system for a PUMA robot (Fig 2.11)

Link coordinate assignment for Puma robot - Assign 7 coordinate systems for 6 joints. - note that axis Z0 and axis Z1, intersect each other. normal line to both axis is a point.

1. Since there is no joint 0, origin of X0Y0Z0 coordinate system and direction of X0 can be chosen arbitrarily. * choose the origin of X0Y0Z0 on the intersection point with the axis Z0 and axis Z1 for convenience. * choose the direction of X0 arbitrarily, fixed on link 0. 2. Since direction of X1 is the direction of normal line, the origin of X1Y1Z1 coincide with that of X0Y0Z0. * a1 = O * d1 = O * 1 = 90 * 1 = -90 ( normal line is a point ) ( origins of X0Y0Z0 and X1Y1Z1 coincide ) ( angle between X0 and normal line ) ( angle between Z0 and Z1 ) Then,

3. Since Z1//Z2, number of normal lines are infinity. choose the origin of X2Y2Z2 on the center of Joint 3. * a2 = 431.8mm * d2 = 149.09mm * 2 = 0( X1 // X2
)

* 2 = 0( Z1 // Z2 )

4.

* a3 = + 20.32 * d3 = 0 ( normal line intersect the origin of 02X2Y2Z2) * 3 = -90 * 3 = -90

5. * a4 = 0 ( normal line is a point ) * 4 = +180 * 4 = -90 * d4 = 433.07 6. * a = d =0 * = 0 * = 90

7. * Z6 : choose as same as Z5 ( joint 6 is a revolute joint ) * = = 0 * a = 0 (normal line- point) * d = 56.25

Home work : Establish link coordinate systems for a Stanford robot and find the DH parameters for any given configuration of Stanford Arm.

* Homogeneous Transformation Matrix for relating i th cordinate frame to (i-1)st coordiante frame.

At the beginning, 2 coordinate systems coincides : Rotate about

axis an angle

Translate along axis a distance of


Translate along axis a distance

:
Rotate about the axis an angle of

Zi-1, Zi

0i-1,0i

Xi-1,Xi

I4X4

Then, Homogeneous transform matrix is;

*For sliding joint, axis and axis intersect each other, so,
=0

(normal line is a point. is a variable.

).

And is a constant, and

Therefore,

(There is no consecutive sliding joints.

: redundancy)

2.2.11 Kinematic Equations for manipulator

T X P

direct Kinematic solution for given ,

: orientation of
i
th

th

coordinate system

: origin of

coordinate system

* physical meaning of

*computer program for forward Kinematic solution


C 1C 23 S 1C 23
- S 23 0

-S 1

C 1S 23 S 1S 23 C 23
0

a 2 C 1C 2 + a 3C 1C 23 - d 2S 1 a 2S 1C 2 + a 3S 1C 23 + d 2C 1
- a 2 S 2 - a 3S 23 1

C1
0 0

C 4C 5C 6 - S 4 S 6 S 4C 5C 6 + C 4S 6
-S 5C 6 0

- C 4 C 5C 6 - S 4 S 6 - S 4 C 5S 6 + C 4C 6

C 4S 5 S 4S 5 C5
0

d 6C 4S 5 d 6S 4S 5 d 6C 5 + d 4
1

S 5S 6
0

where

So,

T = T 1T 2

Ex. 1. Find the forward Kinematic solution for PUMA 560 for

= 90 , 2 = 0 , 3 = 90 , 4 = 0 , 5 = 0 , 6 = 0
0 0 0 0 0 0

An s

T=

0 0 -1 0

-1 0 0 0

0 1 0 0

- 149.09 921.12 20.32 1

Ex. 2. A robot work station has been set up with a TV camera. The camera can see the origin of the base coordinate system where a 6-joint robot is attached. It can also see the center of the object(cube) to be manipulated by the robot. If the local coordinate system has been established at the center of the cube, this object as seen by the camera can be represented by homogeneous transformation matrix camera can also be expressed by a homogeneous transformation matrix
T2 T1

If the origin of the base coordinate system as seen by the .

T1

0 1 0 0

1 0 0 0

0 0 -1 0

10

9 1

T2

1 0 0 0

0 -1 0 0

0 0 -1 0

- 10 20 10 1

a) what is the position of the center of the cube w.r.t base coordinate system? b) what is the orientation matrix
[

the

n s a
, ,

if you want the

gripper of the hand to be aligned with the y axis of the object and at the same time pick up the object from the top? base
base base ca mer a
-1

T obj =

T camer a

T obj = ( T 2 )

T1

ba se

T obj =

1 0 0 0

0 -1 0 0

0 0 -1 0

10 20 10 1

0 1 0 0

1 0 0 0

0 0 -1 0

10

1
9

T=

0 -1 0 0

1 0 0 0

0 0 1 0

11 10

1
1

where,
X obj

- 1 , 0
0

Y obj

0 , 0

Z obj

0 0 1

P :

11 10 1

object has a thickness 2 ( P : center of


Z

object) *note the tool center point

x6(n)

y6(n) z6(n) zobj

yobj

xobj

s a

a= s=

- 1
0 0

: : finger aligned with y


1
0
0

obj

n s a
=

1 = ( y
0

T6

1
0 0

1
0 0 0

0 0 -1 0

11 10

1
1

5 DOF robot : Microbot Alpha

Home Work 1. Assign a coordinate systems on the manipulator. 2. Find the DH parameters for the given configuration above.

*A pitch-roll spherical wrist of the Alpha II robot

(universal joint has 3 bevel gears {A, B, C}) Gears A and B are driven by separate stepper motors, and Gear C is attached to the tool roll axis.

1. A, B are driven in opposite directions at same speed * tool exhibits a pure roll motion. tool exhibits a pure pitch motion. 2. A, B are driven in same direction at same speed Five axis robot : (Rhino XR3)

Home Work. 1. Assign a coordinate systems on the manipulator. 2. Find the DH parameters for any given configuration. * Joint coupling of Rhino Robot The movements of shoulder, elbow, and tool pitch joints are coupled together.

When shoulder motor rotates , then elbow motor counteracts , so that . Similarly, when elbow motor rotates , then tool pitch motor counteracts

, so that . activated.

Thus the global pitch angle

234

is

fixed either the shoulder motor or the elbow motor is

* motivation : If a liquid-filled container is carried by the tool, it will not spill on account of tipping when either the shoulder motor or the elbow motor is activated. * It can be decoupled by
0 0 0 0 0 0 0 0
1 -1

0 0 -3 0 0

0 0 0 -4 0

h=

0 0 0
5

1 0 0 0 0

0 1 1 1 0

0 0 1 1 0

0 0 0 1 0

0 0

0 1
0

=P

-1

h
-1

encoder hole number count inverse of diagonal precision matrix desired joint angle
T

C coupling matrix

= [ 0.2269

0.1135

0.1135

0.1135

0.3125 ]

degree/count

note that positive encoder count

and

correspond to negative

off diagonal term of C : to remove the coupling terms

You might also like