Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann...
Transcript of Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann...
![Page 1: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/1.jpg)
Reaching and Grasping
Michael [email protected], phone: 0131 6 517177, Informatics Forum 1.42
Lecture 11: (23/02/15)
• Reference FramesReference Frames
• Configuration spaceConfiguration space
• ReachingReaching
• GraspingGrasping
![Page 2: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/2.jpg)
Robot arms
Typically constructed with rigid links between movable one d.o.f. jointsJoints typically – rotary (revolute) or prismatic (linear)
![Page 3: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/3.jpg)
Kinematic pairsLower pairs
Rotary (hinge, 1 axis)
Prismatic (linear)
Cylindrical (rotary + linear)
Spherical (3 rotary)
Planar (2 linear + rotary)
Higher pairs (different curvature): rolling bearing, cam joint, …
Wrapping pair: belt, chain, …
Linkages: Crankshaft-piston, …
Kinematic chains
![Page 4: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/4.jpg)
Robot arms(manipulators)
adapted from http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html
Classification Variantsby geometry
fr.wikipedia.org
Classification by topo-logy (kinematic chain):
• (left) Serial chain• Parallel manipulator (below)
![Page 5: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/5.jpg)
Impactive
Ingressive
Astrictive
Contigutive –
Robot arm: End effectors
Simple push or sweep
Gripper – different shape, size or strength
Hook, pins, needles (e.g. for handling textiles)
Vacuum cup, magnetic
Adhesion by contact (e.g. glue)
Tools for specific purposes (drills, welding torch, spray head, scalpel, scoop,…)
Hand for variety of purposes
(at Tool Center Point at top of kinematic chain)
![Page 6: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/6.jpg)
Issues in choosing actuators
Load (e.g. torque to overcome inertia of arm)Speed (fast enough but not too fast)Accuracy (will it move to where you want?)Resolution (can you specify exactly where?)Repeatability (will it do this every time?)Reliability (mean time between failures)Compliance (how does stiffness change?)Power consumption (how to feed it)Energy supply & its weightGeometry (linear vs. rotary) and other trade-offs between physical design and ability to control
![Page 7: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/7.jpg)
Prehension
Need to know:
• Representing mechanism geometry
• Standard configurations
• Degrees of freedom
• Grippers and graspability conditions
Goal: Understand ideal robot mechanisms forreaching, grasping and manipulation
Robot positions and configurations as a function of control parameters – kinematics
![Page 8: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/8.jpg)
Vectors & Points in 3D
Point Vector
left handed (right handed reverses the +Z direction)3D Coordinate Systems usually defined as
![Page 9: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/9.jpg)
Local Reference Frames
Local (translated) coordinates
Global (untranslated) coordinates
( )fed ,,( )fcebda +++ ,,
Local frame could also have further sub-local frames
pp can be expressed by
![Page 10: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/10.jpg)
Move to :
Translations
p q q=pv xv yvz
v
z
vy
vx
![Page 11: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/11.jpg)
RotationsRotate about Z axis
A lot of conventionsHere: θ positive is anti-clockwise when looking along +Z• in local (rotated) coordinates is (a,b,c)T’• in global (unrotated) coordinates is (a cos(θ)-b sin(θ), a sin(θ)+b cos(θ),c)T
p
p
![Page 12: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/12.jpg)
Rotation Matrix Representation I
( ) ( )TTcbabacbap ),cos()sin(),sin()cos(,, θθθθ ×+××−×→=
−=
c
b
a
pR zz
zz
zz
100
0)cos()sin(
0)sin()cos(
)( θθθθ
θ
Much more compact and clearer!
![Page 13: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/13.jpg)
−=
)cos()sin(0
)sin()cos(0
001
)(
xx
xxxxR
θθθθθ
−=
)cos(0)sin(
010
)sin(0)cos(
)(
yy
yy
yyR
θθ
θθθ
Rotation Matrix Representation II
![Page 14: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/14.jpg)
Other Rotation Representations
All equivalent but different parameters:• Yaw, pitch, roll• Azimuth, elevation, twist (slant, tilt, twist)
• Axis + angle→ Quaternions
• N.B.: in mammals:
yaw
roll
pitch
![Page 15: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/15.jpg)
Full Rotation Specification
• Need 3 angles for arbitrary 3D rotation
• Lock & key example (axis and direction of key bit)
• Rotation angles :
• Warning: rotation order by convention but must be used consistently:
),,( γβα
pRRRpR xyz
)()()(),,( αβγγβα =
)()()()()()( γβααβγ zyxxyz RRRRRR ≠
![Page 16: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/16.jpg)
Full Transformation Specification
Each connection has a new local coordinate system
Need to specify 6 degrees of freedom =3 rotation + 3 translation
),(),,,,,( tttt zyxzyx
θθθθ trftransform =
![Page 17: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/17.jpg)
-
Kinematic Chains in 2Dp
is:
in C C22::
in C C11::
in C C00::
0
2d
+
00
)( 122
ddR θ
+
+
0
]00
)()[( 01221
dddRR θθ
C2
![Page 18: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/18.jpg)
Homogeneous Coordinates IMessy when more than 2 links, as in robotSo: pack rotation and translation into
Homogeneous 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:
3 rotation parameters:3 translation parameters:
1θ
1t
![Page 19: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/19.jpg)
Homogeneous matrices
scaling
projection
perspective
translation
rotationsview plane z=0, center of projection at (0,0,-d)
0
Isometries also represented as 6D vector: trf(α,β,γ,lx,l
y,l
z)
![Page 20: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/20.jpg)
Homogeneous coordinates II
In C C22::
In C C11::
In C C00::
Longer chains for robot arms (e.g. 6 links):
*p
*2 pH
*21 pHH
*654321 pHHHHHH
p∗=p1
![Page 21: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/21.jpg)
Joint geometry
Linear (prismatic) joint: slides parametrize one translation direction per jointe.g. Sliding in the x direction
Hinge (revolute) joint: rotates parametrize one rotation angle per jointe.g. Rotation about x-axis
trf(0,0,0,λ,0,0)
trf(θ,0,0,0,0,0)
λλ
![Page 22: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/22.jpg)
Configuration Space I
Alternative representation to scene coordinates
Number of joints = JJ-dimensional space Binary encoding: 0 for invalid pose, 1 for free space Real-valued encoding:
“distance” from goal configuration
Point in C.S. = configuration in real spaceCurve in C.S. = motion path in real space
![Page 23: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/23.jpg)
Configuration Space II
![Page 24: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/24.jpg)
Dynamics: Trajectory Planning
What is the shortest path in configuration space?At what speed the path is traversed?
Cost to go (energy or wear)Time to goal Least perturbations (predictability)Maximal smoothnessMinimal intervention
A B
![Page 25: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/25.jpg)
Forward and Inverse Kinematics
Forward: Given joint angles, find gripper position Easy for sequential joints in robot arm: just multiply matrices
Inverse: Given desired gripper position, find joint angles Hard for sequential joints – geometric reasoning
![Page 26: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/26.jpg)
Sequential & Parallel Mechanisms
Simplified into 2D
Serial manipulator Parallel manipulatorvary: : vary:
321 ,, ddd321 ,, θθθ
![Page 27: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/27.jpg)
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 fromgripper position)
![Page 28: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/28.jpg)
Equilibrium point hypothesis
• Extensors and flexors controlled by differentpathways:
• Force-field experiments: violation of equifinality at variations of velocity-dependent load (Hinder & Milner 03)
A. G. Feldman 66Bizzi et al. 78Gribble et al. 98
Solution: Internal dynamics models (Shadmehr & Mussa-Ivaldi 94)
N.B.: Biological motor control
![Page 29: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/29.jpg)
Specifying Robot Positions
1. Actuator level: specify voltages that generaterequired joint angles.
2. Joint level: specify joint angles and let systemcalculate voltages.
3. Effector level: specify tool position and letsystem compute joint angles.
4. Task level: specify the required task and let thesystem compute the sequence of tool positions
Most robot programming is at levels 2 and 3.
![Page 30: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/30.jpg)
Grippers and Grasping• Gripper: special tool for general part manipulation• Fingers/gripper: 2, 4, 5• Joints/finger: 1, 2, 3
Your hand: 4 fingers * 4 DoF + thumb * 5 DoF+ wrist * 6 DoF = 27 DoF (22 controllable DoF).
![Page 31: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/31.jpg)
Barrett Technology Hand
2 parallel fingers (spread uniformly)1 opposable fingerDoF: 4 fingers (2 finger joints bend uniformly)
![Page 32: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/32.jpg)
Shadow Dextrous Robot Hand
http://www.shadowrobot.com/hand/
![Page 33: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/33.jpg)
High-Speed Robotic Hand
Ishikawa Komuro
![Page 34: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/34.jpg)
Finger Contact Geometry• Coefficient of friction at fingertip: • Surface normal: Direction perpendicular to surface:• Friction cone: Angles within
about surface normal• Force direction:
direction in whichfinger pushed
• No-slip condition:
[ ]1,0∈µ
)(cos 1 µα −=n
f
µ≥⋅ nf
![Page 35: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/35.jpg)
Force ClosureNeed balanced forces or else object twists 2 fingers – forces oppose: 3 fingers – forces meet at point:Force closure: point where forces meet lies within 3 friction cones otherwise object slips
0321 =++ fff
021 =+ ff
f1
f2
f3
![Page 36: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/36.jpg)
![Page 37: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/37.jpg)
Other Grasping Criteria
Some heuristics for a good grasp:
Contact points form nearly equilateral triangleContact points make a big triangleForce focus point near Center of Mass (CoM)
![Page 38: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/38.jpg)
Grasp Algorithm
1. Isolate boundary2. Locate large enough smooth graspable sections3. Compute surface normals4. Pick triples of grasp points5. Evaluate for closure & select by heuristics6. Evaluate for reachability and collisions7. Compute force directions and amount8. Plan approach and finger closing strategy9. Contact surface & apply grasping force10.Lift (& hope)
![Page 39: Reaching and Grasping · 2015-02-22 · Reaching and Grasping Michael Herrmann michael.herrmann@ed.ac.uk, phone: 0131 6 517177, Informatics Forum 1.42 Lecture 11: (23/02/15) • Reference](https://reader034.fdocuments.net/reader034/viewer/2022050523/5fa663b18099bd489f503104/html5/thumbnails/39.jpg)
Kinematics Summary
1. Need vector & matrix form for robot geometry
2. Geometry of joints & joint parameters
3. Forward & inverse kinematics
4. Degrees of freedom
5. Grippers & grasping conditions