differential kinematics robotic

36
ME 537 - Robotics ME 537 - Robotics DIFFERENTIAL KINEMATICS Purpose: The purpose of this chapter is to introduce you to robot motion. Differential forms of the homogeneous transformation can be used to examine the pose velocities of frames. This method will be compared to a conventional dynamics vector approach. The Jacobian is used to map motion between joint and Cartesian space, an essential operation when curvilinear robot motion is required in applications such as welding or assembly.

Upload: dahmane-sid-ahmed

Post on 16-Jan-2017

339 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

DIFFERENTIAL KINEMATICS

Purpose:

The purpose of this chapter is to introduce you to robot motion. Differential forms of the homogeneous transformation can be used to examine the pose velocities of frames. This method will be compared to a conventional dynamics vector approach. The Jacobian is used to map motion between joint and Cartesian space, an essential operation when curvilinear robot motion is required in applications such as welding or assembly.

Page 2: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

In particular, you will 1. Review the differential transformation.

2. Consider the screw velocity matrix.

3. Relate differential transformations to different coordinate frames.

4. Use differential transformations to determines velocities in frames.

5. Determine the Jacobian for serial robots using Waldron’s method.

6. Determine the Jacobian for parallel robots.

7. Examine robot singularities.

Page 3: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Differential transformations

TT'

Now if we have a frame T relating a set of axes (primed axes) to global or base axes, then a small differential displacement of these axes (dp, dq = dq k) relative to the base axes results in a new frame T' = T + dT = H(dq, dp) T. Although finite rotations can't be considered vectors, differential (infinitesimal) rotations can, thus dq = dq k. Thus, the form of dT can be expressed as

dT = (H(dq, dp) - I) T = D T (in base frame)

Page 4: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Differential transformations

TT'

Displacements made relative to the primed axes ( dp, dq expressed in primed axes) change the form of dT to

 

dT = T (H(dq, dp) - I) = T TD (in primed frame)

Page 5: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Differential transformations

Since dT = DT = T TD , we can relate the differential transformation in either frame, given the other, as

D = T TD T-1 or TD= T-1 D T

Letting sin(dq) » dq, cos(dq) » 1, the form of D (or TD ) can be shown to be

0000dp0dkdk-dpdk-0dkdpdkdk-0

)d,d(zxy

yxz

xyz

qqqqqq

pθD

Page 6: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Screw velocity matrix

In the case of pure rotation, the differential transformation, depicted by D (or TD ), reduces to a screw rotation about the unit vector k. Taking the derivative of the matrix we get the screw (angular) velocity matrix:

000000-0-00-0

xy

xz

yz

Page 7: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Differential transformations

Given the relations

D = T TD T-1 or TD= T-1 D T

we can relate the differential transformations relative to the base frame or relative to the offset frame T where T is known as

a b c p

T =

ax bx cx pxay by cy pyaz bz cz pz

0 0 0 1

Page 8: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Differential transformations

Define the differential rotations and translations relative to the base frame by

d = dx I + dy J + dz K 

d = dx I + dy J + dz K where dx = dqx dx = dpx

dy = dqy dy = dpy ...giving ...

dz = dqz dz = dpz

D =

0 -dz dy dx

dz 0 - dx dy

-dy dx 0 dz0 0 0 0

Page 9: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Differential transformations Define the differential rotations and translations relative to the offset frame by

d’ = dx’ i + dy’ j + dz’ k d’ = dx’ i + dy’ j + dz’ k 

It can be shown (see notes) that the differential displacements in the offset frame can be related to those in the base frame by

dx' = d · a = dT ady' = d · b = dT bdz' = d · c = dT c  

dx' = d · (p x a) + d · ady' = d · (p x b) + d · bdz' = d · (p x c) + d · c

Page 10: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Velocities Vector w can be resolved into components p in the base frame by the equation p = T w. Now under a small displacement, frame T can be expressed by the new frame

T' = T + dT = T + ∆T

A vector w in frame T, once perturbed, can be located globally by p' such that

p' = (T + DT) w  

The delta move, p' - p, becomes

p' - p = (T + DT) w - T w = DT w

p

T

p'

w

w

z

x

y

z'

y'x'

T'

X

Y

Z

Page 11: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Velocities Dividing by Dt and taking the limit as Dt® 0 (take derivative), we determine the velocity in the base frame:

wherewΤv Δ

0000p0θkθkpθk0θkpθkθk0

zxy

yxz

xyz

-

Δ

0000v0-v-0v-0

zxy

yxz

xyz

Page 12: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Example

xr

Y

y

X

r

P (3,5,0) relativeto frame C

Frame C

2 rad/s

(2,3,0)

pO

A point P is located by vector r in an offset frame C as shown. At this instant the frame C origin is being translated by the velocity vt = 2 I + 2J m/s relative to the base frame. The frame is also being rotated relative to the base frame by the angular velocity = 2 rad/s K where I, J, K are the unit vectors for the base frame.

Determine the instantaneous velocity of point P using both the conventional vector dynamics approach and the differential methods in this chapter.

Page 13: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Example: conventional solution

xr

Y

y

X

r

P (3,5,0) relativeto frame C

Frame C

2 rad/s

(2,3,0)

pO

v = vo + x r where vo = vt + x r. At this instant note that frame C is aligned with the base frame so that the unit vectors are parallel.  It can be shown that x r = -6I + 4J so that

vo = 2 I + 2 J -6 I + 4 J = -4 I + 6 J m/s It can be shown that x r = -10 I + 6 J, so that

v = -4 I + 6J -10 I + 6 J = -14 I + 12 J m/s (answer)

Page 14: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Example: differential solution

Apply

where w = r and 

 

to give 

Note that the same values are obtained!

wΤv Δ

0000000020022020.

Δ

1000010030102001

Τ

m/s00

1214

v

Page 15: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobians - serial robots The Jacobian is a mapping of differential changes in one space to another space. Obviously, this is useful in robotics because we are interested in the relationship between Cartesian velocities and the robot joint rates.

 

Page 16: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobians - serial robots

If we have a set of functionsyi = fi(xj) i = 1,..,m ; j = 1,..,n

then the differentials of yi can be written as

i = 1, . . .m or in matrix form, dy = J dx, where J = Jacobian =

j

n

1j j

ii δx

xfδy

j

i

xf

Page 17: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobians - serial robots

In the field of robotics, we determine the Jacobian which relates the TCF velocity (position and orientation) to the joint speeds:

where v = TCF origin velocity = orientation angular velocity (equivalent Euler angles, etc.) = joint velocities (joint rotational or translation speeds)

qJ V

.

.

.qJvV

m

1

q

q)(

q

Page 18: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobians - serial robots Waldron in the paper "A Study of the Jacobian Matrix of Serial Manipulators", June, 1985, ASME Journal of Mechanisms, Transmissions, and Automation in Design, determines simple recursive forms of the Jacobian, given points on the joint axes (ri) and joint direction vectors (ei) for the joint axes

P

Joint 1

Joint i+1

Joint n

Joint i

rr

r

r

n

1 ii+1

ri

e

e

e

e

n

i+1

1

i

Page 19: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobians - serial robots The velocity of point P, a point on some end-effector, can be determined by

and also reduced to the form

P

Joint 1

Joint i+1

Joint n

Joint i

rr

r

r

n

1 ii+1

ri

e

e

e

e

n

i+1

1

iii

n x

. rev

1iq

ii

n

x r v

1i

where i is the absolute angular velocity of link i and ri is the position vector between joint axes i+1 and i :

j

i

ji e

q

1j

Page 20: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobians - serial robots The Jacobian is determined by collecting the velocities for each joint into the form: 

 and the velocity relationship becomes:  "R" "P"

P

Joint 1

Joint i+1

Joint n

Joint i

rr

r

r

n

1 ii+1

ri

e

e

e

e

n

i+1

1

iJ = e i

e i x ri

qe re

0 ev V

iii

i

x

Page 21: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobians - serial robots

Given the Jacobian, what are we really interested in calculating for tasks like seam welding, painting, etc.?

q = J-1 VNote that J-1 only exists for a six-axis robot. Robots with less than 6 joints map the joint space into a subspace of Cartesian space.

Page 22: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobians and Singularities

The case where det (J-1) = 0 is referred to as a singularity. Previously we have introduced the robot redundancy.

The picture shows asingularity occurring.Can you explain the problem?

Page 23: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Singularities

Near a singularity the mechanism loses mobility in one or more directions. These directions are degenerate directions.

Page 24: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Nearness to Singularities

The Jacobian determinant can always be expanded into the form

|J| = s(q) = s1(q) s2(q)…sk(q)

If one or more si(q) = 0, then we are at one or more singular configurations. If any si(q) are small then we are near singular configuration(s). Joint rates will increase near singularities.

Page 25: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Nearness to Singularities

The Jacobian can also be decomposed into the following form by Singular Value Decomposition (SVD)

J = U S VT

where U is a matrix of basis vectors in Cartesian Space, VT is a matrix of basis vectors in joint space, and S is a diagonal matrix of singular values that decrease down the diagonal. When the diagonal singular values approach zero the mechanism approaches singular configurations. Methods for computing SVD are computationally expensive.

Page 26: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

How do we work around singularities?By tooling design and work placementBy robot designsBy changing to joint space motion around the

singularityBy slowing down Cartesian motion near

singularity, if feasibleBy planning paths carefully near singularity,

if feasible, perhaps allowing path deviation.

Page 27: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Differential motion summary 1. Differential forms can calculate velocities of frames and be simpler to

apply than the conventional vector equations.

2. Jacobian is important in robotics because the robot is controlled in joint space, whereas the robot tool is applied in physical Cartesian space. Unfortunately, motion in Cartesian space must be mapped to motion in joint space through an inverse Jacobian relation. This relation might be difficult to obtain and many robots have singular configurations that must be avoided.

3. The equations for the Jacobian are easy to determine for a robot, given the current robot configuration, as outlined by Waldron et. al in the paper "A Study of the Jacobian Matrix of Serial Manipulators", June, 1985, ASME Journal of Mechanisms, Transmissions, and Automation in Design.

Page 28: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobians - parallel robots Let us define two vectors:

x is a vector that locates the moving platformq is a vector of the n actuator joint values.

In general the number of actuated joints is equal to the degrees-of-freedom of the robot. The kinematics constraints imposed by the limbs will lead to a series of n constraint equations: 

f(x,q) = 0 Eqn (4.42) in notes

 

Page 29: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobians - parallel robots We can differentiate (4.42) with respect to time to generate a relationship between joint rates and moving table velocities: 

where Jx = f/x and Jq = - f/q. Thus, the Jacobian equation can be written in the form 

where J = Jq-1 Jx. Note that the equation is already in the

desired inverse form, given that we can determine Jq-1 and Jx.

 

qJxJ qx

xJq

Page 30: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Singularity conditions - parallel robots A parallel manipulator is singular when either Jq or Jx or both are singular. If det(Jq) = 0, we refer to the singularity as an inverse kinematics singularity. This is the kind of singularity where motion of the actuation joints causes no motion of the platform along certain directions. For the picker robot this occurs whenthe limb links all lie in a plane (q2i = 0 or p) or when upper arm links are colinear  (q3i = 0 or p).  

Page 31: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Singularity conditions - parallel robots

If det(Jx) = 0, we refer to the singularity as a direct kinematics singularity. This case occurs for the picker robot when all upper arm linkages are in the plane of the moving platform. Note that the actuators cannot resist any force applied to the moving platform in the z direction

 

Page 32: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobian for the picker robot

Referring to the figure   OP + PCi = OAi + AiBi + BiCi (4.37) to close the vector from the base frame to the center of the movingplatform. We differentiate to obtain the equation 

vp = 1i x ai + 2i x bi 

for the velocity of the moving platform at point P and where ai = AiBi and bi = BiCi.

 

Page 33: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobian for the picker robot The term 2i x bi is a function of the non-actuated joints. We can eliminate these joints from the equation by dot multiplying by bi (and using the scalar triple product permutation) to get

  bi vp = 1i (ai x bi)  

Page 34: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobian for the picker robot

Page 35: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobian for the picker robot We can assemble these terms into equations for each limb by the matrix equation: 

Jx vp = Jq  

where

Jx = and Jq =

Since Jq is diagonal, it is easy to determine the joint rates given the desired Cartesian velocity of the tool point.

3z31y3x

2z2y2x

1z1y1x

jjjjjjjjj

qqqq

qq

3323

3222

3121

ss000ss000ss

q

Page 36: Differential kinematics  robotic

ME 537 - RoboticsME 537 - Robotics

Jacobian summary

1. The Jacobian in robotics is particularly important because it represents the rate mapping between joint and Cartesian space. Unfortunately, for serial robots the desire is to determine the joint rates to get desired motion in Cartesian space as the tool is moved along some line in space. This usually requires the inverse of the Jacobian, which may be difficult for some mechanisms.

2. The Jacobian for parallel robots may be easier to find, as is the case for the Picker robot.