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

  • Upload
    paiva

  • View
    69

  • Download
    1

Embed Size (px)

DESCRIPTION

Kinematics & Grasping. Goal : understand ideal robot mechanisms Robot positions and shapes as a function of control parameters – kinematics. Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions. - PowerPoint PPT Presentation

Citation preview

Page 1: Kinematics & Grasping

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

3D Coordinate Systems

Left handed (Right handed reverses +Z direction)

Page 3: Kinematics & Grasping

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

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

Translationsp

Move to Move to q

c

b

a

pq

Page 6: Kinematics & Grasping

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

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

)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

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

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

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

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

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

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

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

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

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

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

Configuration Space II

Page 20: Kinematics & Grasping

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

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

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

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
Page 25: Kinematics & Grasping

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

Barret Hand

Page 27: Kinematics & Grasping

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

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

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

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

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