robot motion analysis - kinematicsczhou/motion.pdf · robot motion analysis - kinematics kinematics...

28
Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and measure with senses: touch, vision, etc. Robots are built with links and joints in various configurations. Robot without intelligence can only control and measure the joints directly, such as rotate joint 1 for 300 pulses. We call this joint coordinates (you can also consider angles). To accomplish a task in an application, we need to control the position and orientation in various coordinate systems such as world, work piece to tool. The primitive robot does not know the relationships between joint coordinates and other coordinate systems. It is very difficult to be used in applications. That separates a toy robot from an industrial robot. In order for a robot to go to certain place at certain orientation conveniently, it is necessary to know the relationship between the joint coordinate system and some other systems, such as base or tool systems. Coordinate systems (mostly based on ANSI R15-1) Joint coordinate system: defined in each joint (θ 1 , θ 2 , … θ N ). For rotational joint, it can be angles. The direct joint parameters can also be pulses or encoder counts. World coordinate system: A Cartesian coordinate system (X, Y, Z, A, B, Z) with arbitrary location. Base coordinate system: A Cartesian coordinate system (X 0 , Y 0 , Z 0 , A 0 , B 0 , Z 0 ), with its origin at the base of the robot mounting plate. For robot with rotational first joint, the z- axis is vertical coincide with first joint (waist rotation). For robot with linear first joint, the origin is at the intersection of midpoint of travel of the fist axis and mounting surface. In addition, X 0 : from origin to projection of center point of the work envelop. Z 0 : from origin away from base plate. joint values θ 1 , θ 2 …, θ N , (x, y, z, y, p, r, ..) direct kinematics inverse kinematics joint types link dimentions

Upload: trannga

Post on 16-Nov-2018

254 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Robot Motion Analysis - Kinematics

Kinematics AnalysisWe are made of bones, muscles and senses. We control using muscles and measure

with senses: touch, vision, etc. Robots are built with links and joints in variousconfigurations. Robot without intelligence can only control and measure the jointsdirectly, such as rotate joint 1 for 300 pulses. We call this joint coordinates (you can alsoconsider angles).

To accomplish a task in an application, we need to control the position andorientation in various coordinate systems such as world, work piece to tool. The primitiverobot does not know the relationships between joint coordinates and other coordinatesystems. It is very difficult to be used in applications. That separates a toy robot from anindustrial robot.

In order for a robot to go to certain place at certain orientation conveniently, it isnecessary to know the relationship between the joint coordinate system and some othersystems, such as base or tool systems.

Coordinate systems (mostly based on ANSI R15-1)Joint coordinate system: defined in each joint (θ1, θ2, … θN). For rotational joint, it canbe angles. The direct joint parameters can also be pulses or encoder counts.World coordinate system: A Cartesian coordinate system (X, Y, Z, A, B, Z) witharbitrary location.Base coordinate system: A Cartesian coordinate system (X0, Y0, Z0, A0, B0, Z0), with itsorigin at the base of the robot mounting plate. For robot with rotational first joint, the z-axis is vertical coincide with first joint (waist rotation). For robot with linear first joint, theorigin is at the intersection of midpoint of travel of the fist axis and mounting surface. Inaddition,

X0 : from origin to projection of center point of the work envelop.Z0 : from origin away from base plate.

joint values

θ1, θ2… , θN,(x, y, z, y, p, r, ..)

direct kinematics

inverse kinematics

joint typeslink dimentions

Page 2: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and
Page 3: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

3

The solution to inverse kinematics may not be unique. For example, a SCARA robot canreach most positions within the working envelope in two possible ways:

When you solve the inverse, there will be two solutions. When there are possible multiplesolutions, industrial robots are often designed with default and can be modified.

For a robot that has more than 6 dof, the solution to the inverse kinematics can bea continuous function. Theoretically, there are infinite solutions.

Inverse kinematics is performed by an industrial robot often also. For example, youinstruct the robot to move to location P1 defined in base coordinate system using jointinterpolation. In order to perform joint interpolation, a robot must know the increment foreach joint in joint coordinate. Therefore, the robot must first find the joint valuescorrespond to P1.

(θ11, θ21, … θN1) = f--1(x1, y1, z1, y1, p1, r1)

It then find the difference between the current point P0 and P1 to perform jointinterpolation.

f and f-1 is not too complicated for a Cartesian robot because the translation can bedecomposed from orientation. This is the major reason why the control for Cartesianrobot is simpler, But f is rather complex for other configurations. The inverse can be evenmore complex. An arbitrary design may not even have a closed form solution.

Page 4: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

4

Background

Right hand coordinate systemxyz: model

Matrix

Square matrix: number of rows = no. of col.

Column matrix: one col.

Row matrix: one row.

Identity (unit vector)

Orientation and unit vector

Orientation of a vector can be expressed with a unit vector. A unit vector is a vector withmagnitude of “1”. It is used to indicate directions. In 3-D,

x y z2 2 2 1+ + =e.g.

(1, 0, 0), along x(-.5, 0, .5) is not a unit vector(.707, 0, -.707) is between x and -z in xz plane.

13

13

13

, ,

is between x, y and z.

TransposeA’: columns and rows are exchanged.

EqualityEach element is the same.

Addition and Substraction

Association: (A + B) + C = A + (B + C)

MultiplicationNo of col in the 1st = no of rows in the 2nd.A(B + C) = AB + ACABC = A(BC)AB <> BA

Page 5: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

5

Inverse

Dot product

The dot product of two vectors is a scalar u * v, u = (ux, uy, uz), v = (vx, vy, vz)w = u * v = ux vx + uy vy + uz vz

Cross product

The cross product of two vectors is a vectorTwo non-parallel vectors u and v can be moved such that their initial points

coincide, w = u × v is also a vector. w is in the normal defined by the plane by u and v.The magnitude is |u| |v| sin θ.

u

v

Page 6: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

6

Motion TransformationTransformation matrix: To transform a position and orientation from one coordinate toanother, including rotation and translation:

=

1000zzzz

yyyy

xxxx

paonpaonpaon

T

4 regions.P translationHere, n, o, a orientation change6 unit vectors

n, o, a(nx, ox, ax)

Translation

=

1000100010001

cba

T ntranslatio

Rotation is identifyP = (a, b, c)E.g. A point in the tool coordinate system is (xN, yN, zN). The origin of the tool coordinateis at (a, b, c) in the base coordinate system. What is (x0, y0, z0), this point in the basecoordinate system?

Using simple analytical geometryV3 = (x3 + a, y3 + b, z3 + c)’

J1

J2

J3

TCP

x0

y0

z0

x3

y3

z3

Page 7: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

7

We can also use the translation transformation.

xyz

abc

xyz

x ay bz c

0

0

0

3

3

3

3

3

3

1

1 0 00 1 00 0 10 0 0 1 1 1

=

=

+++

The advantage is not obvious, other than a fancy representation

Rotation transformation

Simple rotation about z axis. Consider the waist rotation about z axis in Rhino. It is easyto know a point in the first joint (x1, y1). What is its corresponding (x0, y0)?

x x yy x yz z

0 1 1 1 1

0 1 1 1 1

0 1

= −= +=

cos sinsin cos

θ θθ θ

In matrix form.

Rot z( , )

cos sinsin cos

θ

θ θθ θ

=

0 00 0

0 0 1 00 0 0 1

Characteristics• first 3 * 3 is for rotation• z does not change, the row and column for z is 1.• 6 unit vectors• P = 0• If 1 → -1, z change sign, 2nd col change sign. Show with model.

Rotation for other axes

x0

x1

y0y1

θ1

Page 8: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

8

Rot x

Rot y

( , )cos sinsin cos

( , )

cos sin

sin cos

θθ θθ θ

θ

θ θ

θ θ

=−

= −

1 0 0 00 00 00 0 0 1

0 00 1 0 0

0 00 0 0 1

Characteristics

• Translation vector.• Rotational unit vectors. This is because rotation should not change the scale.• “1” can appear in any position. That mean a variable rotation plus a change of axis.

The signs can also change due to the orientation of the rotating axis.• When two consecutive joints do not intersect, the transformation may also include

translation. The rotation may also involve constant rotation of an axis. Then, “1” mayappear in other parts of the matrix.

Example

CRS F3 is holding a plate. The plate is at location (0, 0, 200) in the tool coordinatesystem. At the ready position, the tool coordinate system is at (500, 0, 600).• What is the location of the plate in the base coordinate system?• If the base is rotated 300 about z0, what is the location of the plate?

=

−==

16000

700

120000

10006000010010

500100

)90,()600,0,500(0 NvyRotTranv

Page 9: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

9

++

=

=

=

1600

100250173433

120000

1000000100100100

10006001000010

500001

1000010000866.5.005.866.

)90,()600,0,500()30,(0 NvyRotTranzRotv

If you swap the order of z rotation and translation, you will haveTran(433, 250,600)Rot(z, 30)Rot(y,90). Please verify.

Example

The power lies when you deal with multiple links. Consider the first two joints in aSCARA robot. Top view.

We know the length of L1 and L2 are fixed at a1 and a2. (x0, y0) are functions of θ1 and θ2.x a ay a a

0 1 1 2 1 2

0 1 1 2 1 2

= + += + +

cos cos( )sin sin( )

θ θ θθ θ θ

This is rather different from a Cartesian robot. In reality we will also have anotherrotational, vertical and a twist joint. It could also have revolving joint. We can see that thetransformations depend on the configuration.We can use the transformation method we used earlier. Let's consider a very simple robotWe can consider the link 2 being translated to point P then rotated for θ1.

θ1

θ2

x0

y0(x0, y0)(x1 , y1)

J1

a1

a2

x1

y1

P

θ1

θ2

x0

y0(x0, y0)(x1, y1)

J1

a1

a2

Page 10: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

10

The translation to P along x0 and y0 are: a1 cos θ1, a1 sin θ1

The rotation is about z for θ1.The vector in the translated coordinate is v1 = (a2 cos θ2, a2 sin θ2, z, 1)’ Let’s use thestandard transformation to calculate TCP with respect to (x0, y0, z0).

v A A v

aa

aa

z

a a aa a a

z

tran rot0 2 1

1 1

1 1

1 1

1 1

2 2

2 2

2 1 2 2 1 2 1 1

2 1 2 2 1 2 1 12

1 0 00 1 00 0 1 00 0 0 1

0 00 0

0 0 1 00 0 0 1 1

1

= =

=

− ++ +

cossin

cos sinsin cos

cossin

cos cos sin sin cossin cos cos sin sin

θθ

θ θθ θ

θθ

θ θ θ θ θθ θ θ θ θ

Identical, with trigonomitry identities.If we find the transformation,

==

10000100sin0cossincos0sincos

111

1111

θθθθθθ

aa

AAT rottran

• you can combine two matrix together if translation is before rotation.• matrix multiplication is not commutative, or, A1A2 ≠ A2A1.

This means, that the z axis does not change in orientation or positionx and y changes orientation, and position.In the first method, if we add a gripper pointing down, it might become difficult. In the 2nd

method, we only need to add another transformation and multiply.

Robot kinematic analysisAn industrial robot has 4, 5, 6 or even more dof. The transformation from the base to TCPcan be complex. With the transformation introduced earlier, the transformation of theentire robot can be decomposed to successive transformations between connected links.Let joint n has transformation Ai. The transformation of a robot with N dof has is

TN = A1A2 ... An.

Page 11: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

11

TN defines the location and orientation of the tool coordinate system (TCP). In addition,Then, a point in the base coordinate v0 = 0Tn vn.

In order to be consistent, people in the field follow certain convention in naming links andjoints and define the angles. This is called Denavit-Hartenberg convention andhomogeneous transformation.

Physically, what does this mean? Let’s look at the example. If rotation proceeds translation, the translation should be along x axis for a1.Let’s see if they will be equal.

v A A v

a aa

z

a a aa a a

z

rot tran0 1

1 1

1 1

1 2 2

2 2

2 1 2 2 1 2 1 1

2 1 2 2 1 2 1 12

0 00 0

0 0 1 00 0 0 1

1 0 00 1 0 00 0 1 00 0 0 1 1

1

= =

=

− ++ +

cos sinsin cos

cossin

cos cos sin sin cossin cos cos sin sin

θ θθ θ

θθ

θ θ θ θ θθ θ θ θ θ

Identical. Also check the unit vectors.

v A A vn tran rot n− = =

=

2

1 01 6

1 01

1 0 0 00 30 30 00 30 30 00 0 0 1

3751

383487 83

1

cos sinsin cos

.,

Most robots have 4, 5, 6 or more joints. The location and orientation of the end effector becomes cumbersome if found directly. People inthe field developed conventions and step-by-step method to cope with the complexity.Steps:1. Finding transformation between link n-1 and n, An,2. Finding the transformation of the robot, 0TN.

3. v T vN N00= , where

01 2T A A AN N= ... , For TCP, vN = (0, 0, 0, 1), v0 is called Cartesian coordinate in Rhino.

What is the purpose?Robots often have to find the relationships between its tool coordinate system and its base coordinate system.

Page 12: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

12

Homogeneous transformation and Denavit-Hartenberg conventionAn n dof robot has N mobile links linked by N joints. A link may be translated,

rotated with respect to its previous link through their joint. Two joint coordinate systemfor 2 consecutive joints can be setup (xn-1, yn-1, zn-1) and (xn, yn, zn). We allow 4 out of 6independent motions,

1. Rotate θ about zn-1

2. Translate d along zn-1

3. Translate a along xn

4. Rotate t about xn

Then, the transformation from (xn-1, yn-1, zn-1) to (xn, yn, zn) will be

A = Rot(zn-1, θ) Tran(zn-1, d) Tran(xn, a) Rot(xn, t)

After multiplication, we have

=

1000cossin0

sinsincoscoscossincossinsincotsincos

dttattatt

Aθθθθθθθθ

In case that a mechanism can not be modeled with this method because the conventionallows only 4 motions, one can add an intermediate coordinate system to handle.

CONSTRUCTION PROCEDURE (transparency).1. Number the links and joints, starting from the base. The stationary base is link 0. Link

n rotates and/or translates with respect to link n-1 through joint n. The last joint is N.2. Definition of coordinate systems for each link.

• zn-1: axis of motion of joint n. If joint n is rotational, link n rotates about zn-1. Ifjoint n is linear, link n translates along zn-1.

• xn: along common perpendicular (zn-1 → zn) perpendicular and passing both.3. Define the joint parameters.

• θn is the rotation from xn-1 to xn about zn-1.• dn is the translation along zn-1.• an: the translation along xn.• tn is the rotation from zn-1 to zn about xn.

4. Form the homogeneous displacement matrix An.

Page 13: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and
Page 14: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

14

Example:The first 3 axes of a spherical robot,

`

Step 1. Number the links and jointsStep 2. Set up joint coordinate systemsStep 3. Find link parameters.

Link a t d θ1 0 90 0 θ1

2 0 90 0 θ2

3 0* 0* d3 0 (const)

t1 differ in sign from book. The only effects are different x orientation and different θvalues. Otherwise, you get the same result. This way, θ is more intuitive.Step 4. Find As. Short hands: cn is cosθn, sn is sinθn,

=

=

100000100000

1000)()(0

)()()(

11

11

111

111111

1111111

1

cssc

dtctssatsccscatsstcsc

A

y1 becomes z0, it makes sense that they are both vertically up.

A

c s c t s s t a cs c c s t a s

s t c t d

c ss c

2

2 2 2 2 2 2 2

2 2 2 2 2

2 2 2

2 2

2 2

00 0 0 1

0 00 0

0 1 0 00 0 0 1

=

−−

=

( ) ( )( )

( ) ( )\2

z0

,

z1L0

J1

L1

L2

J3d3J2 x0

x2

x3 z3

x1

z2

Page 15: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

15

=

1000100

00100001

33 d

A

E.g. Adept 1 robot. SCARA, 4 axis. Please find the transformation. x1 and x2 are at the same height of1000 mm. The shoulder link is 800 mm long while the elbow link is 600 mm long.

Solution:1. label the links2. 2. Coordinate system as indicated3. parameters

A T D θ1 800 0 1000 θ1

2 600 0 0 θ2

3 0 180 d3 04 0 0 0 θ4

4. The matrices.

x0

x1

x2

x3

z0

x4z3, z4

z2z1

d3

600800

1000

Page 16: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

16

E.g. Jointed arm robot with pitch (Let's simplify by not cosiderting first roll and last roll). The height ofthe shoulder is 400 mm. The length of the shoulder link is 1200mm. The length of the elbow link is1000mm.

5. label the links6. 2. Coordinate system as indicated7. parameters

A T D θ1 0 90 300 θ1

2 1200 0 0 θ2

3 1000 0 0 θ4

4 0 90 0 θ4

8. The matrices.

x0

x1

x2

x3

z2

z1

z0

z3

z4

Page 17: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

17

Transformation for the robot, forward kinematics

The beauty of this method for a robot that has N joints, the location and orientation of tool(TCP) in base coordinate system is defined by

0TN = A1A2 ... AN

In the polar robot example, we have

−−−

=

=

10000

10000010

00

100000100000

2322

21321121

21321121

2322

2322

11

11

32130

cdcsssdssccsscdscscc

cdcssdsc

cssc

AAAT

Page 18: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

18

Forward (direct) kinematic analysisFor each robot, you can find TN with joint parameters as constants and variablesembedded in the matrix. For any robot stop, all joint variables are known to the robot.Substitute in the variables in the transformation, you can find tool (TCP)• Location• Orientation

The meaning of A and T

An defines the location and orientation of the (xn, yn, zn) in terms of (xn-1, yn-1, zn-1).If we write An in form

=

1000zzzz

yyyy

xxxx

n paonpaonpaon

A

Wherep vector defines the location of the origin in nth coordinate systema is a unit vector defines direction of zn,o is a unit vector defines direction of yn

n is a unit vector defines xn

E.g. Please fill in the missing parameters in the following matrix and indicate TCP.

A = B = C = E = … = 0. J = 1xn = (1, 0, 0)yn = (0, .707, -.707)zn = (0, .707, .707)

E.g. When θ1 = 0, we have

=

=

1000001001000001

100000100000

11

11

1

cssc

A

The location of the second coordinate system in the base coordinate system is (0, 0, 0)

−−

JIHGFEDCBA

0707.3707.

51

Page 19: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

19

Orientationz1 → -y0

y1 → z0

x1 → x0

Let’s see if this is correct.

This is right and both are right hand coordinate system. Please draw when θ1 = 90.

E.g. For the simple polar robot, let θ1 = 0, θ2 = 90, d3 = 10.

=

−−−

=

100000010010

10100

10000 2322

21321121

21321121

30

cdcsssdssccsscdscscc

T

This matrix says that the tool is at (10, 0, 0), pointing (z) to x0, Its x is up.

x0

y0

z0

z3

y3

x3

x0

y0z0

o (yn)

a (zn)n (xn)

TCP (px, py, pz)

x0

y0

z0

x1

z1

y1

Page 20: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

20

E.g. For the polar robot, what is TCP if θ1 = 900, θ2 = 300 and and d3 = 5”?

−−=

−−−

=

100033.4866.05.5.25.0866.

0010

10000 2322

21321121

21321121

30

cdcsssdssccsscdscscc

T

That means, the TCP is at (0, 2.5, -4.33), The gripper is pointing down&front. Thegripper opens along y, so it is along x axis.

Page 21: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

21

Forward kinematics can also be used to relate positions in tool coordinate and basecoordinate.

v0 = 0TN vN

For Rhino:v0 are called cartesian coordinates.vN is called tool coordinates (0, 0, 0) is TCP.Joint coordinates are B (roll), C (pitch), ...

E.g. If a point in the scope link coordinate is (0, 0, 1), where is TCP and what is itsorientation if θ1 = 900, θ2 = 300 and d3 = 5”?

−=

−−=

−−−==

1196.530

1100

1000866.*5866.05.5.25.0866.

0010

1100

10000 2322

21321121

21321121

330

0 cdcsssdssccsscdscscc

vTv

This means, a point (0, 0, 1) in the gripper coordinate is at (0, 3, -5.196) in basecoordinate.

Page 22: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

22

Inverse KinematicsGiven: position and orientation of the toolFind: joint valuesUseful in: offset, Cartesian incremental movement, linear interpolation, etc.

=

1000

)(var0

zzzz

yyyy

xxxx

N paonpaonpaon

iablesT

If we know the location and orientation, then we know the values of of p, a, o and n. thismatrix is known. We can setup up to 12 simultaneous equations.

Example

For the polar robot, If we want the robot TCP to go to (0, 5, 3)

−−

=

−−−

=

10003050

10000 22

21121

21121

2322

21321121

21321121

30

csssccsscscc

cdcsssdssccsscdscscc

T

ps are fixed. The orientation is fixed at any given location. Effectively, we can only solvefor 3 joint values.

3cos5sinsin0sincos

23

213

213

=−==

θθθθθ

ddd

3 equations and 3 unknowns.In 3, d3 can not be zero.In 1, θ1 = 900 or θ2 = 00,In 2, θ2 ≠ 00. Therefore, θ1 = 900.In 2 and 3,

d3 sin θ2 = 5- d3 cos θ2 = 3θ2 = tan-1 (5 / (-3) = - 590 using calculatorIt should be 180 - 59 = 1210

d3 = 5 / sin 121 = 5.833

Page 23: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

23

Check right hand rule: Check.

This is a trivial case with 3 dof. See handout. In this case, the solution will be unique.Often, the solution is not unique.For a 6 dof robot, the forward requires 10 transcendental calls, 30 multiplies, and 12additions. The inverse 13 transcendental calls, 27 multiplies, and 20 additions aftermanipulations.

Inverse of transformation matrixIn kinematics analysis, you often needs to find an inverse. If

=

1000zzzz

yyyy

xxxx

paonpaonpaon

T , then its inverse is

⋅−⋅−⋅−

=−

1000

1

apaaaopooonpnnn

Tzyx

zyx

zyx

Where the last column are dot products of vectors.

e.g.

A

c ss c

l1

1 1

1 1

1

0 00 0

0 1 00 0 0 1

=−

, and A

c sl

s c11

1 1

1

1 1

0 00 0 1

0 00 0 0 1

− =−

Robot Motion and TransformationWhen we discuss the motion types, I "claimed" that joint interpolation is simple withsmooth path while continuous path control is complex.E.g. The polar robot is taught two points: P1 and P2. The positions in joint coordinates are(30, 90, 5) and (210, 120, 10). In a section of an application, the robot is at P1. Weinstruct the robot to go to P2 in• Joint interplation• Linear interpolation.

=

−−

=

10003515.0857.05857.0515.0010

10003050

22

21121

21121

3

csssccsscscc

T

Page 24: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

24

Please explain the robot controller function if you use move. The default speeds of therobot in joint coordinates are (180, 120, 10).In Joint interpolation, the changes in joint coordinates are (180, 30, 5). Using the analysisfrom before, we find:

Page 25: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

25

Transformation graphYou can express the transformation of a robot in two ways from the base. A transform graph is a directed graph to connect consecutivelinks of a robot. For the example spherical robot.

We can write the transformation from the base to TCP as 0T3 or A1A2 A3, and we have

0T3 = A1A2 A3,As a matter of fact, we can write this equality between any two points.• in the direction of the arrow, use the transformation,• against the direction, use the inverse.Let’s choose between L1 and TCP.

A2 A3 = A1-1 0T3

This is useful in setting different equations. Solving inverse kinematics is often difficult. Some may be better than others. Matrix inversion.

Base

L3 atTCP

0 T3A3A2A1

L1 L2

Page 26: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

26

Comprehensive exampleThe 3 dof polar example is not very useful. Let’s add a pitch to it. This can be used for vertical insertion of round pins. Or moving columnmaterials.Look at the modified axis in blue. The link parameters will be now

Link a t D θ1 0 90 0 θ1

2 0 90 0 θ2

0 90 d3 − 1803 0 90 0 θ4

−+−−−−−−+−−−+−

=

10000 2342424242

2134214211421421

2134214211421421

40

cdccsssccsssdcssscscsssccsscdcscsscssscccc

T

The location portion does not change. Because pitch does not affect location the way we assign the coordinates.Rotational portion becomes more complex. You can verify that the vectors in rotational portion are unit vectors.Forward kinematics.If θ1 = 90, θ2 = 90, d3 = 10, and θ4 = 90. Location and orientation = ?

−=

10000100

100010010

40T

The gripper is at (0, 10, 0), on y0 axis. Gripper is pointing down. Opens about x axis.InverseWe thought that this robot can perform vertical insertion of round pins. What does that mean in this matrix ????????????The tool coordinate must be able to go down. The approach vector must be (0, 0, -1).That is we must find solutionWhich has solution anywhere in the envelop.

We know that any position can be reached within envelop by varying θ1, θ2, and d3. By simply choosing θ4 = 180 − θ2, We can maintainvertically down.

How about insertion in x-z plane????We need approach vector to be in y, or (0, 1, 0). Or,

In order for this to be true, we must have first and second term be 1 or –1.That can only be achieved at certain positions.

Other kinematics issues1. Euclidean speed. For the popular articulated robot, there is no direct control of the

speed of the end effector, which is important in almost all applications. Speed is thefirst derivative of position w.r.t the time. Jacobian.

2. Euclidean acceleration. 2nd derivative.3. Singularity.4. Trajectory control.5. Solution uniqueness. Define posture.

14242 −=+− θθθθ ccss

180or ,1)(

42

42

=+−=+

θθθθc

1)( 42421 =+− csscs

Page 27: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

27

Summary of kinematics analysisCommercial robots are not necessary built with application coordinates.It is necessary to find relationships between the joint coordinates and applicationcoordinates.Forward: knownInverse:Robots has 4 - 7 dof. Analysis can be difficult.Homogeneous transformation make it simpleFinding robot transformationForward application: Given joint, find TCP, v0

Inverse:Other issuesUsefulness

Page 28: Robot Motion Analysis - Kinematicsczhou/MOTION.pdf · Robot Motion Analysis - Kinematics Kinematics Analysis We are made of bones, muscles and senses. We control using muscles and

Chen Zhou, motion.doc November 3, 1999

28

E.g. in an RR robot,

Example 2: The SCORBOT or Rhino robot.

z’s

x’s

Parameters

Summary of link parameters.

Link a t d θ

1 0 90 l1 θ1

2 L2 0 0 θ2

3 L3 0 0 θ3

4 0 90 0 θ4

5 0 0 0 θ5

L0

z0 z1

z2 z3x1

x2

z4, z5

x0