Mechanics of Manipulation - Computer...

21
2. Kinematic foundations Mechanics of Manipulation Matt Mason [email protected] http://www.cs.cmu.edu/~mason Carnegie Mellon Lecture 2. Mechanics of Manipulation p.1

Transcript of Mechanics of Manipulation - Computer...

Page 1: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

2. Kinematic foundationsMechanics of Manipulation

Matt [email protected]

http://www.cs.cmu.edu/~mason

Carnegie Mellon

Lecture 2. Mechanics of Manipulation – p.1

Page 2: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Lecture 2. Kinematic foundations

Chapter 1 Manipulation 11.1 Case 1: Manipulation by a human 11.2 Case 2: An automated assembly system 31.3 Issues in manipulation 51.4 A taxonomy of manipulation techniques 71.5 Bibliographic notes 8

Exercises 8

Chapter 2 Kinematics 112.1 Preliminaries 112.2 Planar kinematics 152.3 Spherical kinematics 202.4 Spatial kinematics 222.5 Kinematic constraint 252.6 Kinematic mechanisms 342.7 Bibliographic notes 36

Exercises 37

Chapter 3 Kinematic Representation 413.1 Representation of spatial rotations 413.2 Representation of spatial displacements 583.3 Kinematic constraints 683.4 Bibliographic notes 72

Exercises 72

Chapter 4 Kinematic Manipulation 774.1 Path planning 774.2 Path planning for nonholonomic systems 844.3 Kinematic models of contact 864.4 Bibliographic notes 88

Exercises 88

Chapter 5 Rigid Body Statics 935.1 Forces acting on rigid bodies 935.2 Polyhedral convex cones 995.3 Contact wrenches and wrench cones 1025.4 Cones in velocity twist space 1045.5 The oriented plane 1055.6 Instantaneous centers and Reuleaux' s method 1095.7 Line of force; moment labeling 1105.8 Force dual 1125.9 Summary 1175.10 Bibliographic notes 117

Exercises 118

Chapter 6 Friction 1216.1 Coulomb' s Law 1216.2 Single degree-of-freedom problems 1236.3 Planar single contact problems 1266.4 Graphical representation of friction cones 1276.5 Static equilibrium problems 1286.6 Planar sliding 1306.7 Bibliographic notes 139

Exercises 139

Chapter 7 Quasistatic Manipulation 1437.1 Grasping and fixturing 1437.2 Pushing 1477.3 Stable pushing 1537.4 Parts orienting 1627.5 Assembly 1687.6 Bibliographic notes 173

Exercises 175

Chapter 8 Dynamics 1818.1 Newton' s laws 1818.2 A particle in three dimensions 1818.3 Moment of force; moment of momentum 1838.4 Dynamics of a system of particles 1848.5 Rigid body dynamics 1868.6 The angular inertia matrix 1898.7 Motion of a freely rotating body 1958.8 Planar single contact problems 1978.9 Graphical methods for the plane 2038.10 Planar multiple-contact problems 2058.11 Bibliographic notes 207

Exercises 208

Chapter 9 Impact 2119.1 A particle 2119.2 Rigid body impact 2179.3 Bibliographic notes 223

Exercises 223

Chapter 10 Dynamic Manipulation 22510.1 Quasidynamic manipulation 22510.2 Briefly dynamic manipulation 22910.3 Continuously dynamic manipulation 23010.4 Bibliographic notes 232

Exercises 235

Appendix A Infinity 237

Lecture 2. Mechanics of Manipulation – p.2

Page 3: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Kinematic foundations.We will focus on rigid motions in

the Euclidean plane (E2)

Euclidean three space (E3)

the sphere (S2)

Why the sphere? Rigid motions of the sphere correspond torotations about a given point in E

3.

Lecture 2. Mechanics of Manipulation – p.3

Page 4: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Kinematics foundations: some definitionsFirst, some general definitions. Let X be the ambient space, eitherE

2, E3, or S

2.

• A system is a set of points in the space X.

• A configuration of a system is the location of every point in thesystem.

• Configuration space is a metric space comprising allconfigurations of a given system.(What kind of space is configuration space? Devise a metric.)(Note: Every metric for cspace is sort of defective.)

• The degrees of freedom of a system is the dimension of theconfiguration space. (A less precise but roughly equivalentdefinition: the minimum number of real numbers required tospecify a configuration.)

Lecture 2. Mechanics of Manipulation – p.4

Page 5: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Kinematics foundations: systems, DOFs

System Configuration DOFspoint in plane x, y 2point in space x, y, z 3rigid body in plane x, y, θ 3rigid body in space x, y, z, φ, θ, ψ 6

Lecture 2. Mechanics of Manipulation – p.5

Page 6: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Kinematics foundations: rigid bodies, displacementsDefinitions:

A displacement is a change of configuration that does notchange the distance between any pair of points, nor does itchange the handedness of the system.

A rigid body is a system that is capable of displacements only.

A d isp la c e m e n t A d ila tio n A re fle c tio n

Transformations, rigid and otherwise.

Lecture 2. Mechanics of Manipulation – p.6

Page 7: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Kinematics foundations: moving and fixed planesWe will consider displacements to apply to every point in theambient space. E.g., displacements are described as motion ofmoving plane relative to fixed plane.

Moving p lane

Fixed plane

Moving and fixed planes.

Lecture 2. Mechanics of Manipulation – p.7

Page 8: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Kinematics foundations: rotations and translationsA rotation is a displacement that leaves at least one point fixed.A translation is a displacement for which all points move equaldistances along parallel lines.

O

Rotationabout O

Rotation about apoint on the body

Rotation about apoint not on the body

Lecture 2. Mechanics of Manipulation – p.8

Page 9: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Kinematics foundations: digression for group theoryA group is a set of elements X and a binary operator ◦ satisfying thefollowing properties:

Closure: for all x and y in X, x ◦ y is in X.

Associativity: for all x, y, and z in X, (x ◦ y) ◦ z is equal tox ◦ (y ◦ z).

Identity: there is some element, called 1, such that for all x in Xx ◦ 1 = 1 ◦ x = x.

Inverses: for all x in X, there is some element called x−1 suchthat x ◦ x−1 = x−1 ◦ x = 1.

(Did I remember them all?)Some groups are commutative (Abelian) and some are not. Theintegers with addition are a commutative group. Nonsingular k by kmatrices with matrix multiplication are a noncommutative group.

Lecture 2. Mechanics of Manipulation – p.9

Page 10: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Kinematics foundations: Displacements as a groupEvery displacement D can be described as an operator on theambient space X, mapping every point x to some new pointD(x) = x′.

The product of two displacements is the composition of thecorresponding operators, i.e. (D2 ◦D1)(·) = D2(D1(·)).

The inverse of a displacement is just the operator that mapsevery point back to its original position.

The identity is the null displacement, which maps every point toitself.

In other words:

The displacements, with functional composition, form agroup.

Lecture 2. Mechanics of Manipulation – p.10

Page 11: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Kinematics foundations: SE(2), SE(3), and SO(3)

These groups of displacements have names:

SE(2): The special Euclidean group on the plane.

SE(3): The special Euclidean group on E3.

SO(3): The special orthogonal group.

Whence the names?

Special: they preserve handedness.

Orthogonal: referring to the connection with orthogonalmatrices, which will be covered later.

Lecture 2. Mechanics of Manipulation – p.11

Page 12: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Kinematics foundations: do displacements commute?Does SO(3) commute? NO! No, no, no. (If you have found acommutative way of representing spatial rotations, you areconfused.)

x y

z

x y

z

x

y

z

x y

z

x

yz x

y

zx

Lecture 2. Mechanics of Manipulation – p.12

Page 13: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Kinematics foundations: do displacements commute?Does SE(3) commute?Does SE(2) commute?Does SO(2) commute?

Lecture 2. Mechanics of Manipulation – p.13

Page 14: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Time for a digression . . .

Next we look at SE(2), SO(3), and SE(3).

First, it helps if we contemplate the infinite . . .

Lecture 2. Mechanics of Manipulation – p.14

Page 15: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

The projective plane.The basic idea:

Start with the Euclidean plane E2.

Add some points, the ideal points or the points at infinity.

Call the new structure the projective plane—P2.

You can do it formally by defining an ideal point for each set ofparallel lines, but we will employ a more concrete method usinghomogeneous coordinates.

Lecture 2. Mechanics of Manipulation – p.15

Page 16: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Homogeneous coordinates.Let the Cartesian coordinates of some point in E

2 be

(η, ν)

Then we will say that

(x, y, w) , (wη,wν,w)

are the homogeneous coordinates of the point, provided

w 6= 0

To go from homogeneous to Cartesian:

x

y

w

7→

(

x/w

y/w

)

, w 6= 0 (1)

Lecture 2. Mechanics of Manipulation – p.16

Page 17: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Point in E2 versus line through origin of E

3

Scaling the homogeneous coordinates does not change the point!

ax

ay

aw

7→

(

ax/aw

ay/aw

)

=

(

x/w

y/w

)

, a, w 6= 0 (2)

So, homogeneous coordinates represent a point in E2 by a line

through the origin of E3.

(

x

y

)

wx

wy

w

w 6= 0

Lecture 2. Mechanics of Manipulation – p.17

Page 18: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Central projectionThe Euclidean plane can be embedded as the w = 1 plane.We can also embed a sphere of points satisfying x2 + y2 + w2 = 1.A line through the origin of E

3

intersects the sphere in antipodal points

intersects the w = 1 plane at the appropriate point (x/w, y/w).

These constructions are central projection, either to the sphere orto the plane.

(x,y,w)

(x/w,y/w,1)

(x,y,w)p

x2 + y2 + w 2

Lecture 2. Mechanics of Manipulation – p.18

Page 19: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Ideal pointsThe original idea: extend E

2 by adding some ideal points.

Euclidean point: line through origin of E3 intersecting w = 1

plane.

Ideal point: line through origin of E3 parallel to w = 1 plane.

With Cartesian coords, no place to put ideal points. Withhomogeneous coordinates, there’s a big gaping hole!

Lecture 2. Mechanics of Manipulation – p.19

Page 20: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

The projective planeSo . . .

define the projective plane P2 to be the set of lines through the

origin of E3.

A line in E2 is represented by plane through origin of E

3.

The ideal points form a line! The line at infinity. The equator ofthe embedded sphere.

“Parallel lines” intersect at infinity.

Duality. Two points determine a line. Two lines determine apoint. Every axiom of the projective plane has a dual axiom byswitching “line” and “point”.

Noneuclidean geometry!!!

Lecture 2. Mechanics of Manipulation – p.20

Page 21: Mechanics of Manipulation - Computer Sciencetrink/Courses/RobotManipulation/lectures/lecture2.pdf · Lecture 2. Kinematic foundations Chapter 1 Manipulation 1 1.1 Case 1: Manipulation

Next lecture: plane kinematics

Chapter 1 Manipulation 11.1 Case 1: Manipulation by a human 11.2 Case 2: An automated assembly system 31.3 Issues in manipulation 51.4 A taxonomy of manipulation techniques 71.5 Bibliographic notes 8

Exercises 8

Chapter 2 Kinematics 112.1 Preliminaries 112.2 Planar kinematics 152.3 Spherical kinematics 202.4 Spatial kinematics 222.5 Kinematic constraint 252.6 Kinematic mechanisms 342.7 Bibliographic notes 36

Exercises 37

Chapter 3 Kinematic Representation 413.1 Representation of spatial rotations 413.2 Representation of spatial displacements 583.3 Kinematic constraints 683.4 Bibliographic notes 72

Exercises 72

Chapter 4 Kinematic Manipulation 774.1 Path planning 774.2 Path planning for nonholonomic systems 844.3 Kinematic models of contact 864.4 Bibliographic notes 88

Exercises 88

Chapter 5 Rigid Body Statics 935.1 Forces acting on rigid bodies 935.2 Polyhedral convex cones 995.3 Contact wrenches and wrench cones 1025.4 Cones in velocity twist space 1045.5 The oriented plane 1055.6 Instantaneous centers and Reuleaux' s method 1095.7 Line of force; moment labeling 1105.8 Force dual 1125.9 Summary 1175.10 Bibliographic notes 117

Exercises 118

Chapter 6 Friction 1216.1 Coulomb' s Law 1216.2 Single degree-of-freedom problems 1236.3 Planar single contact problems 1266.4 Graphical representation of friction cones 1276.5 Static equilibrium problems 1286.6 Planar sliding 1306.7 Bibliographic notes 139

Exercises 139

Chapter 7 Quasistatic Manipulation 1437.1 Grasping and fixturing 1437.2 Pushing 1477.3 Stable pushing 1537.4 Parts orienting 1627.5 Assembly 1687.6 Bibliographic notes 173

Exercises 175

Chapter 8 Dynamics 1818.1 Newton' s laws 1818.2 A particle in three dimensions 1818.3 Moment of force; moment of momentum 1838.4 Dynamics of a system of particles 1848.5 Rigid body dynamics 1868.6 The angular inertia matrix 1898.7 Motion of a freely rotating body 1958.8 Planar single contact problems 1978.9 Graphical methods for the plane 2038.10 Planar multiple-contact problems 2058.11 Bibliographic notes 207

Exercises 208

Chapter 9 Impact 2119.1 A particle 2119.2 Rigid body impact 2179.3 Bibliographic notes 223

Exercises 223

Chapter 10 Dynamic Manipulation 22510.1 Quasidynamic manipulation 22510.2 Brie y dynamic manipulation 22910.3 Continuously dynamic manipulation 23010.4 Bibliographic notes 232

Exercises 235

Appendix A Infinity 237

Lecture 2. Mechanics of Manipulation – p.21