Formal Foundations of 3D Geometry to Model Robot Manipulators · Formal Foundations of 3D ......

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 Manipulators · Formal Foundations of 3D ......

Page 1: Formal Foundations of 3D Geometry to Model Robot Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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 Manipulators · Formal Foundations of 3D ... Exponential Coordinates Exponential of skew-symmetric matrices Screw Motions Example:

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