robot kinematics and linkage configurations 2

38
Robot Kinematics and linkage configurations 2 cmput 412 cmput 412 M. M. Jagersand Jagersand With slides from A. With slides from A. Shademan and A Casals Shademan and A Casals

Upload: avi

Post on 16-Jan-2016

57 views

Category:

Documents


4 download

DESCRIPTION

Robot Kinematics and linkage configurations 2. cmput 412 M. Jagersand With slides from A. Shademan and A Casals. Review Kinematics. Forward Kinematics (angles to position) What you are given: The length of each link The angle of each joint - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Robot Kinematics and linkage configurations 2

Robot Kinematics andlinkage configurations 2

cmput 412cmput 412

M. JagersandM. JagersandWith slides from A. Shademan With slides from A. Shademan

and A Casalsand A Casals

Page 2: Robot Kinematics and linkage configurations 2

Forward Kinematics (angles to position)What you are given: The length of each link

The angle of each joint

What you can find: The position of any point (i.e. it’s (x, y, z) coordinates

Inverse Kinematics (position to angles)What you are given: The length of each link

The position of some point on the robot

What you can find: The angles of each joint needed to obtain that position

Review Kinematics

Page 3: Robot Kinematics and linkage configurations 2

Numerical Inverse Kinematics

•Cartesian Location Cartesian Location

•Motor joint angles:Motor joint angles:

•Local linear model: Local linear model:

•Numerical steps: 1 Solve:Numerical steps: 1 Solve:

2 Update:2 Update:

y = x;y;z[ ]T = f (x)

x = x1; x2; . . . xn[ ]T

É y = J (x)É x

yãà yk = J É x

xk+1= xk+É x

y0

Page 4: Robot Kinematics and linkage configurations 2

Cartesian Trajectory Motion

yã =xyz

" #Desired goal:

Current Cartesian positiony0

Page 5: Robot Kinematics and linkage configurations 2

Cartesian Trajectory Motion

Goal

Line with sub goals

y0

yk

y1

y2

Page 6: Robot Kinematics and linkage configurations 2

Cartesian Trajectory Motion

Move the robot to each subgoal in sequence

Page 7: Robot Kinematics and linkage configurations 2

Cartesian Trajectory Motion

Move the robot to each subgoal in sequence

Page 8: Robot Kinematics and linkage configurations 2

Cartesian Trajectory Motion

Move the robot to each subgoal in sequence

Page 9: Robot Kinematics and linkage configurations 2

Cartesian Trajectory Motion

Iterate until convergence at final goal

Page 10: Robot Kinematics and linkage configurations 2

Numerical Inverse Kinematics

•Cartesian Location Cartesian Location

•Motor joint angles:Motor joint angles:

•Local linear model: Local linear model:

•Visual servoing steps: 1 Solve:Visual servoing steps: 1 Solve:

2 Update:2 Update:

y = x;y;z[ ]T = f (x)

x = x1; x2; . . . xn[ ]T

É y = J (x)É x

yãà yk = J É x

xk+1= xk+É x

y0

How do we find the Jacobian J(x)?J(x)?

Page 11: Robot Kinematics and linkage configurations 2

Jacobian

• We can analytically derive the Jacobian from the We can analytically derive the Jacobian from the forward kinematicsforward kinematics

• EX: two link manipulatorEX: two link manipulator– Analytic Jacobian Analytic Jacobian JJ is: is:

11

00

00

0012212211

12212211

cacaca

sasasa

qJ

Page 12: Robot Kinematics and linkage configurations 2

Jacobian

•We can also numerically compute the Jacobian in We can also numerically compute the Jacobian in various ways based on the Secant constraint various ways based on the Secant constraint

1.1. Move to joint anglesMove to joint angles

2.2. Fwd kin gives Eucl pos Fwd kin gives Eucl pos

3.3. Relative movementsRelative movements

4.4. Secant constraint for Secant constraint for JJ: :

y = x;y;z[ ]T = f (x)

x = x1; x2; . . . xn[ ]T

É y = J (x)É x

y0y1

É y;É x

Page 13: Robot Kinematics and linkage configurations 2

Find J Method 1: Test movements along basis

•Remember: Remember: J J is unknown is unknown m m by by n n matrixmatrix– For position only: 3x3, position and orientation 6x6 or mx6For position only: 3x3, position and orientation 6x6 or mx6

•Do test movements Do test movements

•Finite difference:Finite difference:

J =@x1@f1 ááá @xn

@f1

.... . .

@x1@fm

@xn@fm

0

B@

1

CA

É x1= [1;0;. . .;0]T

É x2= [0;1;. . .;0]T...É xn = [0;0;. . .;1]T

J t

...É y1...

2

4

3

5

...É y2...

2

4

3

5 ááá

...É yn...

2

4

3

5

0

@

1

A

Page 14: Robot Kinematics and linkage configurations 2

Find J Method 2:Secant Constraints

•Constraint along a line:Constraint along a line:

•Defines Defines m m equations equations

•Collect Collect n n arbitrary, but different measuresarbitrary, but different measures y y

•Solve for Solve for JJ

É y = J É x

ááá É yT1 áááâ ã

ááá É yT2 áááâ ã

...ááá É yTn áááâ ã

0

BB@

1

CCA =

ááá É xT1 áááâ ã

ááá É xT2 áááâ ã

...ááá É xTn áááâ ã

0

BB@

1

CCA J T

Page 15: Robot Kinematics and linkage configurations 2

Find J Method 3:Recursive Secant Constraints

Broydens method• Based on initial Based on initial J J and one measure pairand one measure pair

• Adjust Adjust J J s.t. s.t.

• Rank 1 update:Rank 1 update:

• Consider rotated coordinates: Consider rotated coordinates: – Update same as finite difference for Update same as finite difference for nn orthogonal moves orthogonal moves

É y;É x

É y = J k+1É x

Jêk+1= Jêk+É xTÉ x

(É y à JêkÉ x)É xT

É x

Page 16: Robot Kinematics and linkage configurations 2

Numerical Inverse Kinematics

1.1. Solve for motion:Solve for motion:

2.2. Move robot joints:Move robot joints:

3.3. Read actual Cartesian move Read actual Cartesian move

4.4. Update Jacobian:Update Jacobian:

[yãà yk]= J kÉ xxk+1= xk+É x

Jêk+1= Jêk+É xTÉ x

(É y à JêkÉ x)É xT

É yMove the robot to each subgoal in sequence

yãGoal

y0yky1

y2

É y

Iterate until convergence at final goal

Page 17: Robot Kinematics and linkage configurations 2

Singularities

• J singular J singular cannot solve eqs cannot solve eqs• Definition: we say that any configuration in which the Definition: we say that any configuration in which the

rank of rank of JJ is less than its maximum is a singular is less than its maximum is a singular configurationconfiguration– i.e. any configuration that causes i.e. any configuration that causes JJ to lose rank is a singular configuration to lose rank is a singular configuration

• Characteristics of singularities:Characteristics of singularities:– At a singularity, motion in some directions will not be possibleAt a singularity, motion in some directions will not be possible– At and near singularities, bounded end effector velocities would require At and near singularities, bounded end effector velocities would require

unbounded joint velocitiesunbounded joint velocities– At and near singularities, bounded joint torques may produce unbounded At and near singularities, bounded joint torques may produce unbounded

end effector forces and torquesend effector forces and torques– Singularities often occur along the workspace boundary (i.e. when the arm Singularities often occur along the workspace boundary (i.e. when the arm

is fully extended)is fully extended)

[yãà yk] = J É x

Page 18: Robot Kinematics and linkage configurations 2

Singularities

• How do we determine singularities?How do we determine singularities?– Simple: construct the Jacobian and observe when it will lose rankSimple: construct the Jacobian and observe when it will lose rank

• EX: two link manipulatorEX: two link manipulator– Analytic Jacobian Analytic Jacobian JJ is: is:

– This loses rank if we can find some This loses rank if we can find some such that such thatcolumns are linearly dependentcolumns are linearly dependent

11

00

00

0012212211

12212211

cacaca

sasasa

qJ

R for 21 JJ

Page 19: Robot Kinematics and linkage configurations 2

Singularities

• This is equivalent to the following:This is equivalent to the following:

• Thus if Thus if ss1212 = = ss11, we can always find an , we can always find an

that will reduce the rank of that will reduce the rank of JJ

• Thus Thus 22 = 0, = 0, are two singularities are two singularities

12212211

12212211

cacaca

sasasa

2

21

a

aa

2

12

a

aa

Page 20: Robot Kinematics and linkage configurations 2

Determining Singular Configurations

• In general, all we need to do is observe how the In general, all we need to do is observe how the rank of the Jacobian changes as the configuration rank of the Jacobian changes as the configuration changeschanges

•Can study analyticallyCan study analytically

•Or numerically: Singular if eigenvalues of square Or numerically: Singular if eigenvalues of square matrix 0, or singular values of rectangular matrix matrix 0, or singular values of rectangular matrix zero. (Compute with SVD), or condition number zero. (Compute with SVD), or condition number tends to infinity.tends to infinity.

Page 21: Robot Kinematics and linkage configurations 2

How accurate is the movement?

•Does the robot always reach the goal?Does the robot always reach the goal?

Final position error dy

Page 22: Robot Kinematics and linkage configurations 2

Accuracy, Repeatability and Resolution

Accuracy:Accuracy:

•Start far awayStart far away

•Move a long distanceMove a long distance

•Measure error Measure error dacc

dacc

Page 23: Robot Kinematics and linkage configurations 2

Accuracy, Repeatability and Resolution

Repeatability:Repeatability:

•Start at goalStart at goal

•Move away a long distanceMove away a long distance

•Move back to goalMove back to goal

•Measure error Measure error drp

drp

Page 24: Robot Kinematics and linkage configurations 2

Accuracy, Repeatability and Resolution

Resolution:Resolution:

• The smallest incremental The smallest incremental distance a robot can move.distance a robot can move.

•Typically limited by joint Typically limited by joint encoder resolution. encoder resolution.

dres

Page 25: Robot Kinematics and linkage configurations 2

Points potentially weak in mechanical designPoints potentially weak in mechanical design

Weak points Mechanical correction

Permanent deformation of the whole structure and the components

Increase rigidness

Weight reduction

Counterweight

Dynamic deformation

Reduction of the mass to move

Weight distribution

BacklashReduce gear clearances

Use more rigid transmission elements

Increase rigidness

Page 26: Robot Kinematics and linkage configurations 2

Axes clearance

Use pre stressed axes

Friction Improve clearance in axes

Increase lubrication

Thermal effects Isolate heat source

Bad transducers connection

Improve mechanical connection Search for a better location Protect the environment

Points potentially weak in the mechanical designPoints potentially weak in the mechanical design

Weak points Mechanical correction

Page 27: Robot Kinematics and linkage configurations 2

Robot Morphology:

An classic arm - The PUMA 560

• AccuracyAccuracy– Factory about 10mmFactory about 10mm

– Calibrated 1-5mmCalibrated 1-5mm

• Repeatability 1mmRepeatability 1mm• Resolution 0.1mmResolution 0.1mm

Page 28: Robot Kinematics and linkage configurations 2

An modern arm - The Barrett WAM

• Resolution and Resolution and repeatability similar or repeatability similar or better than PUMAbetter than PUMA

• Accuracy worse due to Accuracy worse due to lighter, more flexible lighter, more flexible linkagelinkage

• But can move fasterBut can move faster• Needs external feedback Needs external feedback

(e.g. camera vision) for (e.g. camera vision) for accurate motionsaccurate motions

Page 29: Robot Kinematics and linkage configurations 2

Can build this with LEGO!

5 – Bar linkage

Page 30: Robot Kinematics and linkage configurations 2

Parallel linkageSensable Phantom

Page 31: Robot Kinematics and linkage configurations 2

Workspace of a typical serial arm

Page 32: Robot Kinematics and linkage configurations 2

Cartesian robot

Typical performanceTypical performance• Accuracy 0.1-1mmAccuracy 0.1-1mm• Repeatability: 0.01mmRepeatability: 0.01mm• Resolution: 0.01mmResolution: 0.01mm• DrawbacksDrawbacks

– Large, heavyLarge, heavy

– Workspace “inside” the robotWorkspace “inside” the robot

Page 33: Robot Kinematics and linkage configurations 2

x

y

Coordinates of the target

R

offset

AccuracyAccuracy

• Capacity to place the end effector into a given position and orientation (pose) within the robot working volume, from a random initial position.

increases with the motiondistance

Measuring Accuracy

Measure:Measure:• Sample many start and end Sample many start and end

positionspositions• Characterize errors:Characterize errors:

– systematic systematic (offset)

– randomrandom

Page 34: Robot Kinematics and linkage configurations 2

Example of Map of

admitted loads, in function

of the distance to the main

axis

Dynamic CharacteristicsDynamic Characteristics

Payload:Payload:• The load (in Kg) the robot is able to transport in a

continuous and precise way (stable) to the most distance point

• The values usually used are the maximum load and nominal at acceleration = 0

• The load of the End-Effector is not included.

Page 35: Robot Kinematics and linkage configurations 2

VelocityVelocity

• Maximum speed (mm/sec.) to which the robot can move the End-Effector.

• It has to be considered that more than a joint is involved.

• If a joint is slow, all the movements in which it takes part will be slowed down.

• For shorts movements acceleration matters more.

Vmax

time

speed

Short movements

Long movement

Dynamic CharacteristicsDynamic Characteristics

Page 36: Robot Kinematics and linkage configurations 2

Path/trajectory planning

•Split the workspace into areas of fast and slow Split the workspace into areas of fast and slow guarded motion:guarded motion:

• In practice robot has to smoothly accelerate.In practice robot has to smoothly accelerate.

•Can create position/velocity profiles with linear Can create position/velocity profiles with linear or higher order polynomials/splines.or higher order polynomials/splines.

y0y1

y2

Page 37: Robot Kinematics and linkage configurations 2

Path/trajectory planning

• With many obstacles may need motion planning With many obstacles may need motion planning algorithms (Potential fields, RRT etc -- later)algorithms (Potential fields, RRT etc -- later)

Page 38: Robot Kinematics and linkage configurations 2

Conclusions:

•Different architectures have different kinematics Different architectures have different kinematics and different accuracy.and different accuracy.– Serial arms: Slender, agile but somewhat inaccurateSerial arms: Slender, agile but somewhat inaccurate

– Cartesian (x,y,z- table): Very accurate, but bulkyCartesian (x,y,z- table): Very accurate, but bulky

•Accuracy can be improved by:Accuracy can be improved by:– Cartesian calibrationCartesian calibration

– Visual or other sensory feedback (next in course)Visual or other sensory feedback (next in course)