31
Kinematics & Grasping Need to know: • Representing mechanism geometry • Standard configurations • Degrees of freedom • Grippers and graspability conditions l : understand ideal robot mechanisms ot positions and shapes as a function o ontrol parameters – kinematics

Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Embed Size (px)

Citation preview

Page 1: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Kinematics & Grasping

Need to know:

• Representing mechanism geometry

• Standard configurations

• Degrees of freedom

• Grippers and graspability conditions

Goal : understand ideal robot mechanisms

Robot positions and shapes as a function of control parameters – kinematics

Page 2: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

3D Coordinate Systems

Left handed (Right handed reverses +Z direction)

Page 3: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Vectors & Points in 3DVectors & Points in 3D

cba

c

b

a

p ,,

Point Vector

zyx

z

y

x

vvv

v

v

v

v ,,

Page 4: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Local Reference Frames

• Local (translated) coordinates • Global (untranslated) coordinates

fed ,,

fcebda ,,

can be can be expressedexpressed as asp

Local could also have further sub-local framesLocal could also have further sub-local frames

Page 5: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Translationsp

Move to Move to q

c

b

a

pq

Page 6: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

RotationsRotate about Z axisRotate about Z axis

A lot of conventionsA lot of conventionsHere: positive is anti-clockwise when looking along +ZHere: positive is anti-clockwise when looking along +Z• in local (rotated) coordinates is (a,b,c)’in local (rotated) coordinates is (a,b,c)’• in global (unrotated) coordinates is in global (unrotated) coordinates is (a cos( )-b sin( ), a sin( )+b cos( ),c)’(a cos( )-b sin( ), a sin( )+b cos( ),c)’

p

p

Page 7: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Rotation Matrix Representation I

cbabacbap ),cos()sin(),sin()cos(,,

c

b

a

pR zz

zz

zz

100

0)cos()sin(

0)sin()cos(

)(

Much more compact and clearerMuch more compact and clearer

Page 8: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

)cos()sin(0

)sin()cos(0

001

)(

xx

xxxxR

)cos(0)sin(

010

)sin(0)cos(

)(

yy

yy

yyR

Rotation Matrix Representation II

Page 9: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Other Rotation Representations

All equivalent but different parameters:All equivalent but different parameters:• Yaw, pitch, rollYaw, pitch, roll• Azimuth, elevation, twistAzimuth, elevation, twist• Axis + angleAxis + angle• Slant, tilt, twistSlant, tilt, twist• QuaternionQuaternion

Page 10: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Full Rotation Specification

• Need 3 angles for arbitrary 3D rotation

• Lock & key example

• Rotation angles :

• Warning: rotation order by convention but

must be used consistently:

),,(

pRRRpR xyz

)()()(),,(

)()()()()()( zyxxyz RRRRRR

Page 11: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Full Transformation Specification

Each connection has a new local coordinate systemEach connection has a new local coordinate system

Need to specify 6 degrees of freedomNeed to specify 6 degrees of freedom3 rotation + 3 translation3 rotation + 3 translation

),(),,,,,( tTttttransform zyxzyx

Page 12: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Kinematic Chainsp

is at:is at:

In CIn C22::

In CIn C11::

In CIn C00::

0

2d

00

)( 122

ddR

0

]00

)()[( 01221

dddRR

Page 13: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Homogeneous Coordinates I

10

)( 111

tR

H

Messy when more than 2 links, as in robotMessy when more than 2 links, as in robotSo: pack rotation and translation into So: pack rotation and translation into

Homogeneous coordinate matrixHomogeneous coordinate matrix

Extend points with a 1 from 3-vector to 4-vectorExtend vectors with a 0 from 3-vector to 4-vectorPack rotation and translation into 4x4 matrix:rotation and translation into 4x4 matrix:

3 rotation parameters:3 rotation parameters:3 translation parameters: 3 translation parameters:

1

1t

Page 14: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Homogeneous coordinates II

In CIn C22::

In CIn C11::

In CIn C00::

Longer chains for robot arms (e.g. 6 links):Longer chains for robot arms (e.g. 6 links):

1* p

p

*p

*2 pH

*21 pHH

*654321 pHHHHHH

Page 15: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Adding Joints

)0,0,,0,0,0( transform

Prismatic joint:Prismatic joint: sliding structuressliding structures parameterize one translation direction per jointparameterize one translation direction per joint E.g.: E.g.:

slides in the X directionslides in the X direction

Revolute joint:Revolute joint: rotatesrotates parameterize one rotation angle per jointparameterize one rotation angle per joint

Page 16: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Degrees of Freedom• Controllable DoF: number of jointsControllable DoF: number of joints• Effective DoF: number of DoF you can get after multipleEffective DoF: number of DoF you can get after multiple motionsmotions

car has 2 controllable (move, turn) but can adjust XYcar has 2 controllable (move, turn) but can adjust XY position and orientation so 3 effective DoFposition and orientation so 3 effective DoF

• Task DoF: configurations in space dimensionality:Task DoF: configurations in space dimensionality: 2D : 3 (x,y,angle)2D : 3 (x,y,angle) 3D : 6 (x,y,z,3 angles)3D : 6 (x,y,z,3 angles)

Page 17: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Forward and Inverse Kinematics

Forward:Forward: Given joint angles, find gripper positionGiven joint angles, find gripper position Easy for sequential joints in robot arm: just multiplyEasy for sequential joints in robot arm: just multiply matricesmatrices

Inverse:Inverse: Given desired gripper position, find joint anglesGiven desired gripper position, find joint angles Hard for sequential joints – geometric reasoningHard for sequential joints – geometric reasoning

Page 18: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Configuration Space I

Alternative representation to scene coordinatesAlternative representation to scene coordinates

Number of joints=JNumber of joints=JJ-dimensional spaceJ-dimensional space Binary encoding: 0:invalid pose, 1: free spaceBinary encoding: 0:invalid pose, 1: free space Real encoding: “distance” from goal Real encoding: “distance” from goal configurationconfiguration

Point in C.S = configuration in real spacePoint in C.S = configuration in real spaceCurve in C.S. = motion path in real spaceCurve in C.S. = motion path in real space

Page 19: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Configuration Space II

Page 20: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Sequential & Parallel Mechanisms

Simplified into 2DSimplified into 2D

Serial manipulator Parallel manipulatorSerial manipulator Parallel manipulatorvary: vary: vary: vary: 321 ,, ddd

321 ,,

Page 21: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Computing Positions & Parameters

Serial Parallel

Forward

(param->position)

Easy (just multiply matrices)

Hard (messy robot specific geometry)

Inverse

(position->param)

Hard (messy robot specific geometry)

Easy (just read off lengths from

gripper position)

Page 22: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

SPECIFYING ROBOT POSITIONS

1.1. Actuator levelActuator level: specify voltages that generate: specify voltages that generate required joint angles.required joint angles.2. 2. Joint levelJoint level: specify joint angles and let system: specify joint angles and let system calculate voltages.calculate voltages.3. 3. Effector levelEffector level: specify tool position and let: specify tool position and let system compute joint angles.system compute joint angles.4. 4. Task levelTask level: specify the required task and let the: specify the required task and let the system compute the sequence of tool positionssystem compute the sequence of tool positions

Most robot programming is at level 2 or 3.Most robot programming is at level 2 or 3.

Page 23: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Grippers and Grasping• Gripper: special tool for general part manipulationGripper: special tool for general part manipulation• Fingers/gripper: 2, 3, 5Fingers/gripper: 2, 3, 5• Joints/finger: 1, 2, 3Joints/finger: 1, 2, 3

Your hand: 5 fingers * 3 DoF + wrist position (6) = 21 DoF. Whew!Your hand: 5 fingers * 3 DoF + wrist position (6) = 21 DoF. Whew!

Page 24: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal
Page 25: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Barret Hand

2 parallel fingers (spread uniformly)2 parallel fingers (spread uniformly)1 opposable finger1 opposable fingerDoF: 4 fingers (2 finger joints bend uniformly) DoF: 4 fingers (2 finger joints bend uniformly)

Page 26: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Barret Hand

Page 27: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Finger Contact GeometryCoefficient of friction at fingertip: Coefficient of friction at fingertip: Surface normal: direction perpendicular to surface:Surface normal: direction perpendicular to surface:Friction cone: angles within about surface normalFriction cone: angles within about surface normalForce direction: direction finger pushedForce direction: direction finger pushedNo-slip condition: No-slip condition:

1,0

)(cos 1 n

f

nf

Page 28: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Force ClosureNeed balanced forces or else object twistsNeed balanced forces or else object twists 2 fingers – forces oppose:2 fingers – forces oppose: 3 fingers – forces meet at point:3 fingers – forces meet at point:

Force closure: point where forces meet lies withinForce closure: point where forces meet lies within 3 friction cones otherwise object slips3 friction cones otherwise object slips

0321 fff

021 ff

Page 29: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Other Grasping Criteria

Some heuristics for a good grasp:Some heuristics for a good grasp:• Contact points form nearly equilateral triangleContact points form nearly equilateral triangle• Contact points make a big triangleContact points make a big triangle• Force focus point near centre-of-mass Force focus point near centre-of-mass

Page 30: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Grasp Algorithm

1.1. Isolate boundaryIsolate boundary2.2. Locate large enough smooth graspable sectionsLocate large enough smooth graspable sections3.3. Compute surface normalsCompute surface normals4.4. Pick triples of grasp pointsPick triples of grasp points5.5. Evaluate for closure & select by heuristicsEvaluate for closure & select by heuristics6.6. Evaluate for reachability and collisionsEvaluate for reachability and collisions7.7. Compute force directions and amountCompute force directions and amount8.8. Plan approach and finger closing strategyPlan approach and finger closing strategy9.9. Contact surface & apply grasping forceContact surface & apply grasping force10.10. Lift (& hope) Lift (& hope)

Page 31: Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal

Kinematics Summary

1.1. Need vector & matrix form for robot geometryNeed vector & matrix form for robot geometry2.2. Geometry of joints & joint parametersGeometry of joints & joint parameters3.3. Forward & inverse kinematicsForward & inverse kinematics4.4. Degrees of freedomDegrees of freedom5.5. Grippers & grasping conditionsGrippers & grasping conditions