Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees...
-
Upload
olivia-fox -
Category
Documents
-
view
217 -
download
1
Transcript of Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees...
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
3D Coordinate Systems
Left handed (Right handed reverses +Z direction)
Vectors & Points in 3DVectors & Points in 3D
cba
c
b
a
p ,,
Point Vector
zyx
z
y
x
vvv
v
v
v
v ,,
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
Translationsp
Move to Move to q
c
b
a
pq
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
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
)cos()sin(0
)sin()cos(0
001
)(
xx
xxxxR
)cos(0)sin(
010
)sin(0)cos(
)(
yy
yy
yyR
Rotation Matrix Representation II
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
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
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
Kinematic Chainsp
is at:is at:
In CIn C22::
In CIn C11::
In CIn C00::
0
2d
00
)( 122
ddR
0
]00
)()[( 01221
dddRR
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
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
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
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)
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
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
Configuration Space II
Sequential & Parallel Mechanisms
Simplified into 2DSimplified into 2D
Serial manipulator Parallel manipulatorSerial manipulator Parallel manipulatorvary: vary: vary: vary: 321 ,, ddd
321 ,,
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)
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.
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!
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)
Barret Hand
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
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
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
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)
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