Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model...

77
Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices 3D Rotations Rigid Body Transformations Example: SCARA Denavit- Hartenberg Convention Robot Manipulators with Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example: SCARA Conclusion Formal Foundations of 3D Geometry to Model Robot Manipulators Reynald Affeldt 1 Cyril Cohen 2 1 AIST, Japan 2 INRIA, France January 16, 2017 1 / 30

Transcript of Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model...

Page 1: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Formal Foundations of 3D Geometryto Model Robot Manipulators

Reynald Affeldt 1 Cyril Cohen 2

1AIST, Japan

2INRIA, France

January 16, 2017

1 / 30

Page 2: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Why Verify Robots?

Last summer, I attended ademonstration of the rescuecapabilities of the HRP-2 robot.

AIST open house in Tsukuba[2016-07-23]

2 / 30

Page 3: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Why Verify Robots?

One of the task of the robotwas to walk among debris.In particular, it started walkinga very narrow path.

It started walking like this...

. . . but fell after a few steps

3 / 30

Page 4: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Why Verify Robots?

One of the task of the robotwas to walk among debris.In particular, it started walkinga very narrow path.

It started walking like this...

. . . but fell after a few steps

3 / 30

Page 5: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Why Verify Robots?

One of the task of the robotwas to walk among debris.In particular, it started walkinga very narrow path.

It started walking like this...

. . . but fell after a few steps

3 / 30

Page 6: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Motivation and Contribution

� This is a need for safer robots� As of today, even a good robot can unexpectedly fail

� HRP-2 was number 10 among 23 participantsat the Finals of the 2015 DARPA Robotics Challenge

� Our work� (does not solve any issue with HRP-2 yet)� provides formal theories of

� 3D geometry� rigid body transformations

� for describing robot manipulators� in the Coq proof-assistant [INRIA, 1984∼]

4 / 30

Page 7: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

What is a Robot Manipulator?

� E.g., SCARA (Selective Compliance Assembly Robot Arm)

Mitsubishi RH-S series

Schematic version

link 0

link 1 link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

� Robot manipulatordef= Links connected by joints

� Revolute joint ↔ rotation� Prismatic joint ↔ translation

NB: A humanoid robot can be seen as made of robotmanipulators

5 / 30

Page 8: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

What is a Robot Manipulator?

� E.g., SCARA (Selective Compliance Assembly Robot Arm)

Mitsubishi RH-S series Schematic version

link 0

link 1 link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

� Robot manipulatordef= Links connected by joints

� Revolute joint ↔ rotation� Prismatic joint ↔ translation

NB: A humanoid robot can be seen as made of robotmanipulators

5 / 30

Page 9: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

What is a Robot Manipulator?

� E.g., SCARA (Selective Compliance Assembly Robot Arm)

Mitsubishi RH-S series Schematic version

link 0

link 1 link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

� Robot manipulatordef= Links connected by joints

� Revolute joint ↔ rotation� Prismatic joint ↔ translation

NB: A humanoid robot can be seen as made of robotmanipulators

5 / 30

Page 10: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

What is a Robot Manipulator?

� E.g., SCARA (Selective Compliance Assembly Robot Arm)

Mitsubishi RH-S series Schematic version

link 0

link 1 link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

� Robot manipulatordef= Links connected by joints

� Revolute joint ↔ rotation� Prismatic joint ↔ translation

NB: A humanoid robot can be seen as made of robotmanipulators

5 / 30

Page 11: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Why Rigid Body Transformations?

� To describe the relative position of links

� For this purpose, frames are attached to links:

Without frames

link 0

link 1 link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

With frames

y0z0

x0

y1z1

x1

y2z2

x2

y3z3

x3y4z4

x4

⇒ Approach: use the Mathematical Componentslibrary [INRIA/MSR, 2007∼]

� it contains the most extensive formalized theory onmatrices and linear algebra

6 / 30

Page 12: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Why Rigid Body Transformations?

� To describe the relative position of links

� For this purpose, frames are attached to links:

Without frames

link 0

link 1 link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

With frames

y0z0

x0

y1z1

x1

y2z2

x2

y3z3

x3y4z4

x4

⇒ Approach: use the Mathematical Componentslibrary [INRIA/MSR, 2007∼]

� it contains the most extensive formalized theory onmatrices and linear algebra

6 / 30

Page 13: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Why Rigid Body Transformations?

� To describe the relative position of links

� For this purpose, frames are attached to links:

Without frames

link 0

link 1 link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

With frames

y0z0

x0

y1z1

x1

y2z2

x2

y3z3

x3y4z4

x4

⇒ Approach: use the Mathematical Componentslibrary [INRIA/MSR, 2007∼]

� it contains the most extensive formalized theory onmatrices and linear algebra

6 / 30

Page 14: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Why Rigid Body Transformations?

� To describe the relative position of links

� For this purpose, frames are attached to links:

Without frames

link 0

link 1 link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

With frames

y0z0

x0

y1z1

x1

y2z2

x2

y3z3

x3y4z4

x4

⇒ Approach: use the Mathematical Componentslibrary [INRIA/MSR, 2007∼]

� it contains the most extensive formalized theory onmatrices and linear algebra

6 / 30

Page 15: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Outline

1 Basic Elements of 3D Geometry

2 Robot Manipulators with Matrices3D RotationsRigid Body TransformationsExample: SCARA

3 Denavit-Hartenberg Convention

4 Robot Manipulators with Exponential CoordinatesExponential of skew-symmetric matricesScrew MotionsExample: SCARA

5 Conclusion

7 / 30

Page 16: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Formalization of Angles

Basic idea:angle α ↔unit complex number e iα α

0

e iα

−1 1

−i

i

� Dependent record:

Record angle := Angle {expi : R[i] (* type of complex numbers *) ;_ : `| expi | == 1 }.

� The argument of a complex number defines an angle:

Definition arg (x : R[i]) : angle :=insubd angle0 (x / `| x |).

� Example: definition of πDefinition pi := arg (−1).

8 / 30

Page 17: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Formalization of Angles

Basic idea:angle α ↔unit complex number e iα α

0

e iα

−1 1

−i

i

� Dependent record:

Record angle := Angle {expi : R[i] (* type of complex numbers *) ;_ : `| expi | == 1 }.

� The argument of a complex number defines an angle:

Definition arg (x : R[i]) : angle :=insubd angle0 (x / `| x |).

� Example: definition of πDefinition pi := arg (−1).

8 / 30

Page 18: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Formalization of Angles

Basic idea:angle α ↔unit complex number e iα α

0

e iα

−1 1

−i

i

� Dependent record:

Record angle := Angle {expi : R[i] (* type of complex numbers *) ;_ : `| expi | == 1 }.

� The argument of a complex number defines an angle:

Definition arg (x : R[i]) : angle :=insubd angle0 (x / `| x |).

� Example: definition of πDefinition pi := arg (−1).

8 / 30

Page 19: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Formalization of Angles

Basic idea:angle α ↔unit complex number e iα α

0

e iα

−1 1

−i

i

� Dependent record:

Record angle := Angle {expi : R[i] (* type of complex numbers *) ;_ : `| expi | == 1 }.

� The argument of a complex number defines an angle:

Definition arg (x : R[i]) : angle :=insubd angle0 (x / `| x |).

� Example: definition of πDefinition pi := arg (−1).

8 / 30

Page 20: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Trigonometric Functions/Relations

Trigonometric functionsdefined using complex numbers

αcosα0

e iα

−1 1

−1

1

� E.g., cos(α)in Coq→ Re (expi α)

� E.g., arcsin(x)def= arg

(√1− x2 + xi

)in Coq→ arg (Num.sqrt (1 − xˆ2) +i* x)

Standard trigonometric relations recovered easily:

� Lemma acosK x : −1 <= x <= 1 →cos (acos x) = x.

� Lemma sinD a b : sin (a+b) = sin a * cos b + cos a * sin b.

� . . .

9 / 30

Page 21: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Trigonometric Functions/Relations

Trigonometric functionsdefined using complex numbers α

cosα0

e iα

−1 1

−1

1

� E.g., cos(α)in Coq→ Re (expi α)

� E.g., arcsin(x)def= arg

(√1− x2 + xi

)in Coq→ arg (Num.sqrt (1 − xˆ2) +i* x)

Standard trigonometric relations recovered easily:

� Lemma acosK x : −1 <= x <= 1 →cos (acos x) = x.

� Lemma sinD a b : sin (a+b) = sin a * cos b + cos a * sin b.

� . . .

9 / 30

Page 22: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Trigonometric Functions/Relations

Trigonometric functionsdefined using complex numbers α

cosα0

e iα

−1 1

−1

1

� E.g., cos(α)in Coq→ Re (expi α)

� E.g., arcsin(x)def= arg

(√1− x2 + xi

)in Coq→ arg (Num.sqrt (1 − xˆ2) +i* x)

Standard trigonometric relations recovered easily:

� Lemma acosK x : −1 <= x <= 1 →cos (acos x) = x.

� Lemma sinD a b : sin (a+b) = sin a * cos b + cos a * sin b.

� . . .

9 / 30

Page 23: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Trigonometric Functions/Relations

Trigonometric functionsdefined using complex numbers α

cosα0

e iα

−1 1

−1

1

� E.g., cos(α)in Coq→ Re (expi α)

� E.g., arcsin(x)def= arg

(√1− x2 + xi

)in Coq→ arg (Num.sqrt (1 − xˆ2) +i* x)

Standard trigonometric relations recovered easily:

� Lemma acosK x : −1 <= x <= 1 →cos (acos x) = x.

� Lemma sinD a b : sin (a+b) = sin a * cos b + cos a * sin b.

� . . .

9 / 30

Page 24: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Formalization of the Cross-product

The cross-product is usedto define oriented frames

~i

~k = ~i × ~j

~jA

� Let 'e 0, 'e 1, 'e 2 be the canonical vectors

� Pencil-and-paper definition of the cross-product:

~u × ~v def=∣∣∣ 1 0 0u0 u1 u2v0 v1 v2

∣∣∣ 'e 0 +∣∣∣ 0 1 0u0 u1 u2v0 v1 v2

∣∣∣ 'e 1 +∣∣∣ 0 0 1u0 u1 u2v0 v1 v2

∣∣∣ 'e 2

� Formal definition using Mathematical Components:

Definition crossmul u v :=\row_(k < 3) \det (col_mx3 'e k u v).

10 / 30

Page 25: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Formalization of the Cross-product

The cross-product is usedto define oriented frames

~i

~k = ~i × ~j

~jA

� Let 'e 0, 'e 1, 'e 2 be the canonical vectors

� Pencil-and-paper definition of the cross-product:

~u × ~v def=∣∣∣ 1 0 0u0 u1 u2v0 v1 v2

∣∣∣ 'e 0 +∣∣∣ 0 1 0u0 u1 u2v0 v1 v2

∣∣∣ 'e 1 +∣∣∣ 0 0 1u0 u1 u2v0 v1 v2

∣∣∣ 'e 2

� Formal definition using Mathematical Components:

Definition crossmul u v :=\row_(k < 3) \det (col_mx3 'e k u v).

10 / 30

Page 26: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Formalization of the Cross-product

The cross-product is usedto define oriented frames

~i

~k = ~i × ~j

~jA

� Let 'e 0, 'e 1, 'e 2 be the canonical vectors

� Pencil-and-paper definition of the cross-product:

~u × ~v def=∣∣∣ 1 0 0u0 u1 u2v0 v1 v2

∣∣∣ 'e 0 +∣∣∣ 0 1 0u0 u1 u2v0 v1 v2

∣∣∣ 'e 1 +∣∣∣ 0 0 1u0 u1 u2v0 v1 v2

∣∣∣ 'e 2

� Formal definition using Mathematical Components:

Definition crossmul u v :=\row_(k < 3) \det (col_mx3 'e k u v).

10 / 30

Page 27: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Formalization of the Cross-product

The cross-product is usedto define oriented frames

~i

~k = ~i × ~j

~jA

� Let 'e 0, 'e 1, 'e 2 be the canonical vectors

� Pencil-and-paper definition of the cross-product:

~u × ~v def=∣∣∣ 1 0 0u0 u1 u2v0 v1 v2

∣∣∣ 'e 0 +∣∣∣ 0 1 0u0 u1 u2v0 v1 v2

∣∣∣ 'e 1 +∣∣∣ 0 0 1u0 u1 u2v0 v1 v2

∣∣∣ 'e 2

� Formal definition using Mathematical Components:

Definition crossmul u v :=\row_(k < 3) \det (col_mx3 'e k u v).

10 / 30

Page 28: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Outline

1 Basic Elements of 3D Geometry

2 Robot Manipulators with Matrices3D RotationsRigid Body TransformationsExample: SCARA

3 Denavit-Hartenberg Convention

4 Robot Manipulators with Exponential CoordinatesExponential of skew-symmetric matricesScrew MotionsExample: SCARA

5 Conclusion

11 / 30

Page 29: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Formal Definition of a Rotation

Rotation of angle α around ~udef=

A linear function f and a frame 〈 ~u||~u|| ,

~j , ~k 〉 such that:

~u

~k

~j

α

f (~u) = ~u

f (~j) = cos(α)~j + sin(α)~k

f (~k) = − sin(α)~j + cos(α)~k

In practice, rotations are represented by rotation matrices

� Matrices M such that MMT = 1 and det(M) = 1

� Special orthogonal group 'SO[R]_3

⇒ Equivalent to rotations defined above

� See the paper for formal proofs

12 / 30

Page 30: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Formal Definition of a Rotation

Rotation of angle α around ~udef=

A linear function f and a frame 〈 ~u||~u|| ,

~j , ~k 〉 such that:

~u

~k

~j

α

f (~u) = ~u

f (~j) = cos(α)~j + sin(α)~k

f (~k) = − sin(α)~j + cos(α)~k

In practice, rotations are represented by rotation matrices

� Matrices M such that MMT = 1 and det(M) = 1

� Special orthogonal group 'SO[R]_3

⇒ Equivalent to rotations defined above

� See the paper for formal proofs

12 / 30

Page 31: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Formal Definition of a Rotation

Rotation of angle α around ~udef=

A linear function f and a frame 〈 ~u||~u|| ,

~j , ~k 〉 such that:

~u

~k

~j

α

f (~u) = ~u

f (~j) = cos(α)~j + sin(α)~k

f (~k) = − sin(α)~j + cos(α)~k

In practice, rotations are represented by rotation matrices

� Matrices M such that MMT = 1 and det(M) = 1

� Special orthogonal group 'SO[R]_3

⇒ Equivalent to rotations defined above

� See the paper for formal proofs

12 / 30

Page 32: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Outline

1 Basic Elements of 3D Geometry

2 Robot Manipulators with Matrices3D RotationsRigid Body TransformationsExample: SCARA

3 Denavit-Hartenberg Convention

4 Robot Manipulators with Exponential CoordinatesExponential of skew-symmetric matricesScrew MotionsExample: SCARA

5 Conclusion

13 / 30

Page 33: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Definition of aRigid Body Transformation

A Rbt preserves lengths and orientation

1 f preserves lengths when� ||p − q|| = ||f (p)− f (q)|| for all points p and q

2 f preserves orientation when it preserves the cross-product� f∗(~u × ~v) = f∗(~u)× f∗(~v) for all vectors ~u and ~v

~v

~u

~u × ~v f f∗(~v)

f∗(~u)

f∗(~u × ~v)

� f∗(~w)def= f (q)− f (p) with ~w = q − p

⇒ Equivalent to direct isometries� See the paper for formal proofs [O’Neill, 1966]

14 / 30

Page 34: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Definition of aRigid Body Transformation

A Rbt preserves lengths and orientation

1 f preserves lengths when� ||p − q|| = ||f (p)− f (q)|| for all points p and q

2 f preserves orientation when it preserves the cross-product� f∗(~u × ~v) = f∗(~u)× f∗(~v) for all vectors ~u and ~v

~v

~u

~u × ~v f f∗(~v)

f∗(~u)

f∗(~u × ~v)

� f∗(~w)def= f (q)− f (p) with ~w = q − p

⇒ Equivalent to direct isometries� See the paper for formal proofs [O’Neill, 1966]

14 / 30

Page 35: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Definition of aRigid Body Transformation

A Rbt preserves lengths and orientation

1 f preserves lengths when� ||p − q|| = ||f (p)− f (q)|| for all points p and q

2 f preserves orientation when it preserves the cross-product

� f∗(~u × ~v) = f∗(~u)× f∗(~v) for all vectors ~u and ~v

~v

~u

~u × ~v f f∗(~v)

f∗(~u)

f∗(~u × ~v)

� f∗(~w)def= f (q)− f (p) with ~w = q − p

⇒ Equivalent to direct isometries� See the paper for formal proofs [O’Neill, 1966]

14 / 30

Page 36: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Definition of aRigid Body Transformation

A Rbt preserves lengths and orientation

1 f preserves lengths when� ||p − q|| = ||f (p)− f (q)|| for all points p and q

2 f preserves orientation when it preserves the cross-product� f∗(~u × ~v) = f∗(~u)× f∗(~v) for all vectors ~u and ~v

~v

~u

~u × ~v f f∗(~v)

f∗(~u)

f∗(~u × ~v)

� f∗(~w)def= f (q)− f (p) with ~w = q − p

⇒ Equivalent to direct isometries� See the paper for formal proofs [O’Neill, 1966]

14 / 30

Page 37: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Definition of aRigid Body Transformation

A Rbt preserves lengths and orientation

1 f preserves lengths when� ||p − q|| = ||f (p)− f (q)|| for all points p and q

2 f preserves orientation when it preserves the cross-product� f∗(~u × ~v) = f∗(~u)× f∗(~v) for all vectors ~u and ~v

~v

~u

~u × ~v f f∗(~v)

f∗(~u)

f∗(~u × ~v)

� f∗(~w)def= f (q)− f (p) with ~w = q − p

⇒ Equivalent to direct isometries� See the paper for formal proofs [O’Neill, 1966]

14 / 30

Page 38: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Definition of aRigid Body Transformation

A Rbt preserves lengths and orientation

1 f preserves lengths when� ||p − q|| = ||f (p)− f (q)|| for all points p and q

2 f preserves orientation when it preserves the cross-product� f∗(~u × ~v) = f∗(~u)× f∗(~v) for all vectors ~u and ~v

~v

~u

~u × ~v f f∗(~v)

f∗(~u)

f∗(~u × ~v)

� f∗(~w)def= f (q)− f (p) with ~w = q − p

⇒ Equivalent to direct isometries� See the paper for formal proofs [O’Neill, 1966]

14 / 30

Page 39: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Matrix Representation for RbtIn practice, Rbt are given in homogeneous representation

� 4× 4-matrices

�[ r 0t 1

]with r a rotation matrix and t a translation

� Example:

y0z0

x0

y1z1

x1

θ1

a1

1) Rotation of θ1 around z-axis2) Translation [a1 cos θ1; a1 sin θ1; 0]

Definition A10 :=hom (Rz θ1) (row3 (a1 * cos θ1) (a1 * sin θ1) 0).

15 / 30

Page 40: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Matrix Representation for RbtIn practice, Rbt are given in homogeneous representation

� 4× 4-matrices

�[ r 0t 1

]with r a rotation matrix and t a translation

� Example:

y0z0

x0

y1z1

x1

θ1

a1

1) Rotation of θ1 around z-axis2) Translation [a1 cos θ1; a1 sin θ1; 0]

Definition A10 :=hom (Rz θ1) (row3 (a1 * cos θ1) (a1 * sin θ1) 0).

15 / 30

Page 41: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Matrix Representation for RbtIn practice, Rbt are given in homogeneous representation

� 4× 4-matrices

�[ r 0t 1

]with r a rotation matrix and t a translation

� Example:

y0z0

x0

y1z1

x1

θ1

a1

1) Rotation of θ1 around z-axis2) Translation [a1 cos θ1; a1 sin θ1; 0]

Definition A10 :=hom (Rz θ1) (row3 (a1 * cos θ1) (a1 * sin θ1) 0).

15 / 30

Page 42: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Matrix Representation for RbtIn practice, Rbt are given in homogeneous representation

� 4× 4-matrices

�[ r 0t 1

]with r a rotation matrix and t a translation

� Example:

y0z0

x0

y1z1

x1

θ1

a1

1) Rotation of θ1 around z-axis2) Translation [a1 cos θ1; a1 sin θ1; 0]

Definition A10 :=hom (Rz θ1) (row3 (a1 * cos θ1) (a1 * sin θ1) 0).

15 / 30

Page 43: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Matrix Representation for RbtIn practice, Rbt are given in homogeneous representation

� 4× 4-matrices

�[ r 0t 1

]with r a rotation matrix and t a translation

� Example:

y0z0

x0

y1z1

x1

θ1

a1

1) Rotation of θ1 around z-axis2) Translation [a1 cos θ1; a1 sin θ1; 0]

Definition A10 :=hom (Rz θ1) (row3 (a1 * cos θ1) (a1 * sin θ1) 0).

15 / 30

Page 44: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Matrix Representation for RbtIn practice, Rbt are given in homogeneous representation

� 4× 4-matrices

�[ r 0t 1

]with r a rotation matrix and t a translation

� Example:

y0z0

x0

y1z1

x1

θ1

a1

1) Rotation of θ1 around z-axis2) Translation [a1 cos θ1; a1 sin θ1; 0]

Definition A10 :=hom (Rz θ1) (row3 (a1 * cos θ1) (a1 * sin θ1) 0).

15 / 30

Page 45: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Outline

1 Basic Elements of 3D Geometry

2 Robot Manipulators with Matrices3D RotationsRigid Body TransformationsExample: SCARA

3 Denavit-Hartenberg Convention

4 Robot Manipulators with Exponential CoordinatesExponential of skew-symmetric matricesScrew MotionsExample: SCARA

5 Conclusion

16 / 30

Page 46: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Forward Kinematics forthe SCARA Robot Manipulator

Fwd Kin. = Position and orien-tation of the end-effector giventhe link and joint parameters

link 0

link 1link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

� Just perform the product of the successive Rbt’s:

Lemma hom_SCARA_forward :A43 * A32 * A21 * A10 = hom scara_rot scara_trans.

with

Definition scara_rot := Rz (θ1 + θ2+ θ4).Definition scara_trans := row3

(a2 * cos (θ2 + θ1) + a1 * cos θ1)(a2 * sin (θ2 + θ1) + a1 * sin θ1)(d4 + d3).

17 / 30

Page 47: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Forward Kinematics forthe SCARA Robot Manipulator

Fwd Kin. = Position and orien-tation of the end-effector giventhe link and joint parameters

link 0

link 1link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

� Just perform the product of the successive Rbt’s:

Lemma hom_SCARA_forward :A43 * A32 * A21 * A10 = hom scara_rot scara_trans.

with

Definition scara_rot := Rz (θ1 + θ2+ θ4).Definition scara_trans := row3

(a2 * cos (θ2 + θ1) + a1 * cos θ1)(a2 * sin (θ2 + θ1) + a1 * sin θ1)(d4 + d3).

17 / 30

Page 48: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Forward Kinematics forthe SCARA Robot Manipulator

Fwd Kin. = Position and orien-tation of the end-effector giventhe link and joint parameters

link 0

link 1link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

� Just perform the product of the successive Rbt’s:

Lemma hom_SCARA_forward :A43 * A32 * A21 * A10 = hom scara_rot scara_trans.

with

Definition scara_rot := Rz (θ1 + θ2+ θ4).Definition scara_trans := row3

(a2 * cos (θ2 + θ1) + a1 * cos θ1)(a2 * sin (θ2 + θ1) + a1 * sin θ1)(d4 + d3).

17 / 30

Page 49: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Outline

1 Basic Elements of 3D Geometry

2 Robot Manipulators with Matrices3D RotationsRigid Body TransformationsExample: SCARA

3 Denavit-Hartenberg Convention

4 Robot Manipulators with Exponential CoordinatesExponential of skew-symmetric matricesScrew MotionsExample: SCARA

5 Conclusion

18 / 30

Page 50: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Denavit-Hartenberg Convention

� Convention for the relative positioning of frames

� Consecutive frames i and j are such that

1) (oj , ~xj) and (oi , ~zi ) are perpendicular2) and intersect

� The corresponding Rbt can then be writtenhRx(α)hTx(a)hTz(d)hRz(θ)

� Example: parameters for the SCARA robot manipulator

link 0

link 1link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

link αi ai di θitwist length offset angle

1 0 a1 0 θ1

2 0 a2 0 θ2

3 0 0 d3 04 0 0 d4 θ4

19 / 30

Page 51: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Denavit-Hartenberg Convention

� Convention for the relative positioning of frames� Consecutive frames i and j are such that

1) (oj , ~xj) and (oi , ~zi ) are perpendicular2) and intersect

� The corresponding Rbt can then be writtenhRx(α)hTx(a)hTz(d)hRz(θ)

� Example: parameters for the SCARA robot manipulator

link 0

link 1link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

link αi ai di θitwist length offset angle

1 0 a1 0 θ1

2 0 a2 0 θ2

3 0 0 d3 04 0 0 d4 θ4

19 / 30

Page 52: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Denavit-Hartenberg Convention

� Convention for the relative positioning of frames� Consecutive frames i and j are such that

1) (oj , ~xj) and (oi , ~zi ) are perpendicular2) and intersect

� The corresponding Rbt can then be writtenhRx(α)hTx(a)hTz(d)hRz(θ)

� Example: parameters for the SCARA robot manipulator

link 0

link 1link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

link αi ai di θitwist length offset angle

1 0 a1 0 θ1

2 0 a2 0 θ2

3 0 0 d3 04 0 0 d4 θ4

19 / 30

Page 53: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Denavit-Hartenberg Convention

� Convention for the relative positioning of frames� Consecutive frames i and j are such that

1) (oj , ~xj) and (oi , ~zi ) are perpendicular2) and intersect

� The corresponding Rbt can then be writtenhRx(α)hTx(a)hTz(d)hRz(θ)

� Example: parameters for the SCARA robot manipulator

link 0

link 1link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

link αi ai di θitwist length offset angle

1 0 a1 0 θ1

2 0 a2 0 θ2

3 0 0 d3 04 0 0 d4 θ4

19 / 30

Page 54: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Outline

1 Basic Elements of 3D Geometry

2 Robot Manipulators with Matrices3D RotationsRigid Body TransformationsExample: SCARA

3 Denavit-Hartenberg Convention

4 Robot Manipulators with Exponential CoordinatesExponential of skew-symmetric matricesScrew MotionsExample: SCARA

5 Conclusion

20 / 30

Page 55: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Exponential Coordinatesof Rotations

� Alternative representation with less parameters

� eαS(w) where S(w) =

[0 wz −wy

−wz 0 wxwy −wx 0

]

� We could use a generic matrix exponential

eM = 1 + M + M2

2! + M3

3! + · · ·� But when M is skew-symmetric, there is closed formula

eαS(w) def= 1 + sin(α)S(w) + (1− cos(α))S(w)2

(Rodrigues’ formula)

⇒ Equivalent to a rotation of angle α around ~w� See the paper for formal proofs

21 / 30

Page 56: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Exponential Coordinatesof Rotations

� Alternative representation with less parameters

� eαS(w) where S(w) =

[0 wz −wy

−wz 0 wxwy −wx 0

]� We could use a generic matrix exponential

eM = 1 + M + M2

2! + M3

3! + · · ·

� But when M is skew-symmetric, there is closed formula

eαS(w) def= 1 + sin(α)S(w) + (1− cos(α))S(w)2

(Rodrigues’ formula)

⇒ Equivalent to a rotation of angle α around ~w� See the paper for formal proofs

21 / 30

Page 57: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Exponential Coordinatesof Rotations

� Alternative representation with less parameters

� eαS(w) where S(w) =

[0 wz −wy

−wz 0 wxwy −wx 0

]� We could use a generic matrix exponential

eM = 1 + M + M2

2! + M3

3! + · · ·� But when M is skew-symmetric, there is closed formula

eαS(w) def= 1 + sin(α)S(w) + (1− cos(α))S(w)2

(Rodrigues’ formula)

⇒ Equivalent to a rotation of angle α around ~w� See the paper for formal proofs

21 / 30

Page 58: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Exponential Coordinatesof Rotations

� Alternative representation with less parameters

� eαS(w) where S(w) =

[0 wz −wy

−wz 0 wxwy −wx 0

]� We could use a generic matrix exponential

eM = 1 + M + M2

2! + M3

3! + · · ·� But when M is skew-symmetric, there is closed formula

eαS(w) def= 1 + sin(α)S(w) + (1− cos(α))S(w)2

(Rodrigues’ formula)

⇒ Equivalent to a rotation of angle α around ~w� See the paper for formal proofs

21 / 30

Page 59: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Outline

1 Basic Elements of 3D Geometry

2 Robot Manipulators with Matrices3D RotationsRigid Body TransformationsExample: SCARA

3 Denavit-Hartenberg Convention

4 Robot Manipulators with Exponential CoordinatesExponential of skew-symmetric matricesScrew MotionsExample: SCARA

5 Conclusion

22 / 30

Page 60: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

What is a Screw Motion?

� An axis (a point and a vector), an angle, a pitch

x

z

y

~w

p0

p

p′||p′′ − p′||/α

p′′α

� Translation and rotation axes are parallel� This was not required for homogeneous representations

⇒ Are screw motions Rbt?� See the paper for Chasles’ theorem

(“the first theorem of robotics”)

23 / 30

Page 61: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

What is a Screw Motion?

� An axis (a point and a vector), an angle, a pitch

x

z

y

~w

p0

p

p′||p′′ − p′||/α

p′′α

� Translation and rotation axes are parallel� This was not required for homogeneous representations

⇒ Are screw motions Rbt?� See the paper for Chasles’ theorem

(“the first theorem of robotics”)

23 / 30

Page 62: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

What is a Screw Motion?

� An axis (a point and a vector), an angle, a pitch

x

z

y

~w

p0

p

p′||p′′ − p′||/α

p′′α

� Translation and rotation axes are parallel� This was not required for homogeneous representations

⇒ Are screw motions Rbt?� See the paper for Chasles’ theorem

(“the first theorem of robotics”)

23 / 30

Page 63: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Represent Screw Motionswith Exponentials of Twists

� To represent screw motions, we can use eα[S(w) 0v 0

]

With v = −w×p0+hwwe recover the screwmotion of the previousslide

~w

p0

p

p′h

p′′α

� The pair of vectors (v ,w) is called a twist

� Luckily, there is a closed formula for eα[S(w) 0v 0

]

[I 0

α v 1

]if w = 0[

eα S(w) 0(w×v)(1−eα S(w))+(α v)(wTw)

||w ||2 1

]if w 6= 0

24 / 30

Page 64: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Represent Screw Motionswith Exponentials of Twists

� To represent screw motions, we can use eα[S(w) 0v 0

]With v = −w×p0+hwwe recover the screwmotion of the previousslide

~w

p0

p

p′h

p′′α

� The pair of vectors (v ,w) is called a twist

� Luckily, there is a closed formula for eα[S(w) 0v 0

]

[I 0

α v 1

]if w = 0[

eα S(w) 0(w×v)(1−eα S(w))+(α v)(wTw)

||w ||2 1

]if w 6= 0

24 / 30

Page 65: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Represent Screw Motionswith Exponentials of Twists

� To represent screw motions, we can use eα[S(w) 0v 0

]With v = −w×p0+hwwe recover the screwmotion of the previousslide

~w

p0

p

p′h

p′′α

� The pair of vectors (v ,w) is called a twist

� Luckily, there is a closed formula for eα[S(w) 0v 0

]

[I 0

α v 1

]if w = 0[

eα S(w) 0(w×v)(1−eα S(w))+(α v)(wTw)

||w ||2 1

]if w 6= 0

24 / 30

Page 66: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Represent Screw Motionswith Exponentials of Twists

� To represent screw motions, we can use eα[S(w) 0v 0

]With v = −w×p0+hwwe recover the screwmotion of the previousslide

~w

p0

p

p′h

p′′α

� The pair of vectors (v ,w) is called a twist

� Luckily, there is a closed formula for eα[S(w) 0v 0

]

[I 0

α v 1

]if w = 0[

eα S(w) 0(w×v)(1−eα S(w))+(α v)(wTw)

||w ||2 1

]if w 6= 0

24 / 30

Page 67: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Outline

1 Basic Elements of 3D Geometry

2 Robot Manipulators with Matrices3D RotationsRigid Body TransformationsExample: SCARA

3 Denavit-Hartenberg Convention

4 Robot Manipulators with Exponential CoordinatesExponential of skew-symmetric matricesScrew MotionsExample: SCARA

5 Conclusion

25 / 30

Page 68: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Fwd Kinematics for SCARAwith Screw Motions

link 0

link 1link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

q1 q2 q4

w1 w2 w4 =v3

Position and orientation of the end-effector:

� When the joint parameters are fixed at 0:

Definition g0 := hom 1 (row3 (a1 + a2) 0 d4).

� With joints with twists ti and parameters di or θi

Definition g := g0 * `e$(θ4, t4) *

`e$(Rad.angle_of d3, t3) * `e$(θ2, t2) * `e$(θ1, t1).

� Revolute: ti = (−wi × qi ,wi ); prismatic: t3 = (v3, 0)

26 / 30

Page 69: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Fwd Kinematics for SCARAwith Screw Motions

link 0

link 1link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

q1 q2 q4

w1 w2 w4 =v3

Position and orientation of the end-effector:

� When the joint parameters are fixed at 0:

Definition g0 := hom 1 (row3 (a1 + a2) 0 d4).

� With joints with twists ti and parameters di or θi

Definition g := g0 * `e$(θ4, t4) *

`e$(Rad.angle_of d3, t3) * `e$(θ2, t2) * `e$(θ1, t1).

� Revolute: ti = (−wi × qi ,wi ); prismatic: t3 = (v3, 0)

26 / 30

Page 70: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Fwd Kinematics for SCARAwith Screw Motions

link 0

link 1link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

q1 q2 q4

w1 w2 w4 =v3

Position and orientation of the end-effector:

� When the joint parameters are fixed at 0:

Definition g0 := hom 1 (row3 (a1 + a2) 0 d4).

� With joints with twists ti and parameters di or θi

Definition g := g0 * `e$(θ4, t4) *

`e$(Rad.angle_of d3, t3) * `e$(θ2, t2) * `e$(θ1, t1).

� Revolute: ti = (−wi × qi ,wi ); prismatic: t3 = (v3, 0)

26 / 30

Page 71: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Fwd Kinematics for SCARAwith Screw Motions

link 0

link 1link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

q1 q2 q4

w1 w2 w4 =v3

Position and orientation of the end-effector:

� When the joint parameters are fixed at 0:

Definition g0 := hom 1 (row3 (a1 + a2) 0 d4).

� With joints with twists ti and parameters di or θi

Definition g := g0 * `e$(θ4, t4) *

`e$(Rad.angle_of d3, t3) * `e$(θ2, t2) * `e$(θ1, t1).

� Revolute: ti = (−wi × qi ,wi ); prismatic: t3 = (v3, 0)

26 / 30

Page 72: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Fwd Kinematics for SCARAwith Screw Motions

link 0

link 1link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

q1 q2 q4

w1 w2 w4 =v3

Position and orientation of the end-effector:

� When the joint parameters are fixed at 0:

Definition g0 := hom 1 (row3 (a1 + a2) 0 d4).

� With joints with twists ti and parameters di or θi

Definition g := g0 * `e$(θ4, t4) *

`e$(Rad.angle_of d3, t3) * `e$(θ2, t2) * `e$(θ1, t1).

� Revolute: ti = (−wi × qi ,wi ); prismatic: t3 = (v3, 0)

26 / 30

Page 73: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Fwd Kinematics for SCARAwith Screw Motions

link 0

link 1link 2

link 3

link 4

a1

θ1θ2

a2

d3

d4

θ4

q1 q2 q4

w1 w2 w4 =v3

Position and orientation of the end-effector:

� When the joint parameters are fixed at 0:

Definition g0 := hom 1 (row3 (a1 + a2) 0 d4).

� With joints with twists ti and parameters di or θi

Definition g := g0 * `e$(θ4, t4) *

`e$(Rad.angle_of d3, t3) * `e$(θ2, t2) * `e$(θ1, t1).

� Revolute: ti = (−wi × qi ,wi ); prismatic: t3 = (v3, 0)26 / 30

Page 74: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Outline

1 Basic Elements of 3D Geometry

2 Robot Manipulators with Matrices3D RotationsRigid Body TransformationsExample: SCARA

3 Denavit-Hartenberg Convention

4 Robot Manipulators with Exponential CoordinatesExponential of skew-symmetric matricesScrew MotionsExample: SCARA

5 Conclusion

27 / 30

Page 75: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Library OverviewBasic elements of 3D Geometry

angles slides 8trigonometric functions slide 9cross-product slide 10lines see the paper

3D Rotationsusing matrices ('SO[R]_3) slide 12using exponential coordinates ('so[R]_3) slide 21using quaternions see the paperusing Euler angles work in progress

Rigid Body Transformationsusing matrices ('SE3[R]) slide 15using exp. coor. (screw motions) ('se3[R]) slide 24using dual quaternions work in progressusing the Denavit-Hartenberg convention slide 19

⇒ Covers the introductory material of textbooks on robotics

⇒ Enough for forward kinematics of robot manipulators

28 / 30

Page 76: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Related WorkMostly in 2D

� Collision avoidance algorithm for a vehicle moving in aplane in Isabelle [Walter et al., SAFECOMP 2010]

� Gathering algorithms for autonomous robots andimpossibility results[Auger et al., SSS 2013] [Courtieu et al., IPL 2015, DISC 2016]

� Event-based programming framework in Coq[Anand et al., ITP 2015]

� Planar manipulators in HOL-Light[Farooq et al., ICFEM 2013]

� (in 3D) Conformal geometric algebra in HOL-Light[Ma et al., Advances in Applied Clifford Algebras 2016]

29 / 30

Page 77: Formal Foundations of 3D Geometry to Model Robot …...Formal Foundations of 3D Geometry to Model Robot Manipulators Basic Elements of 3D Geometry Robot Manipulators with Matrices

FormalFoundations

of 3DGeometryto Model

RobotManipulators

BasicElements of3D Geometry

RobotManipulatorswith Matrices

3D Rotations

Rigid BodyTransformations

Example:SCARA

Denavit-HartenbergConvention

RobotManipulatorswithExponentialCoordinates

Exponential ofskew-symmetricmatrices

Screw Motions

Example:SCARA

Conclusion

Future Work

� Various technical improvements� Better theory of lines, dependent types to link coordinates

with frames

� Instantiate real closed field using classical reals� we have been using discrete real closed fields

� because in Mathematical Components everyalgebraic structures must have a decidable Leibniz equality

� yet, equality for classical reals can be assumed decidable

� Application to concrete software� by showing preservation of invariants� we could use CoRN ideas to bridge with a computable

alternative [Kaliszyk and O’Connor, CoRR 2008] [Krebbersand Spitters, LMCS 2011]

� using CoqEAL for program refinements[Denes et al., ITP 2012] [Cohen et al., CPP 2013]

� Extension with velocity

30 / 30