Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf ·...

76
Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique Strasbourg TI Santé, DTMI, master IRIV 1 / 46

Transcript of Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf ·...

Page 1: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Robotics

Course 1. Fundamentals of robotic modelling

Bernard BayleTélécom Physique Strasbourg

TI Santé, DTMI, master IRIV

1 / 46

Page 2: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

This course. . .

Course objectiveThis course deals with the basic mathematical tools requiredfor modelling the kinematics and differential kinematics of serialrobotic manipulators, which is the usual gateway to robotics.Prerequisites: fundamentals of geometry and linear algebra.

Open access references:R. Murray’s introduction to robotic manipulation:http://www.cds.caltech.edu/~murray/mlswiki

Robotics CourseWare on OpenCourseWare:http://roboticscourseware.org

2 / 46

Page 3: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Outline

1 Study framework: robotic manipulatorsSerial robotic manipulatorsModeling

2 Rigid-body mechanicsMathematical backgroundRotationRigid-body transformationRigid-body motion

3 / 46

Page 4: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Outline

1 Study framework: robotic manipulatorsSerial robotic manipulatorsModeling

2 Rigid-body mechanicsMathematical backgroundRotationRigid-body transformationRigid-body motion

4 / 46

Page 5: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Kinematic chains

Only serial manipulators!We consider only the mechanical systems built from openkinematic chains, called serial robotic manipulators.

5 / 46

Page 6: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Description of open kinematic chains

DefinitionSerial robotic manipulator: n moving rigid bodies coupled by nrevolute or prismatic joints, one after the other.

L1 L2 Ln−1 Ln

joint

link link link link

joint joint jointjoint(link L0)ground

J1 J2 J3 Jn−1 Jn

Fanuc LR Mate

Main specificities:

versatility

large workspace vs. dimensions

modeling and analysis "rather" simple

limited rigidity and payloads

6 / 46

Page 7: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Example of robotic manipulation characteristics

Kuka KR240

Admissible load: 240 kgAdditional load: 50 kgMax. reach: 2496 mmNumber of axes: 6Repeatability: ±0,06 mmWeight: 1102 kgInstalled on the groundController: KR C4Protection class: IP 65

7 / 46

Page 8: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Example of robotic manipulator characteristics

Kuka KR240

8 / 46

Page 9: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Example of robotic manipulator characteristics

Kuka KR240

9 / 46

Page 10: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Joint types: revolute joints

[Wikimedia Commons] Standard representations Prof’s representation

10 / 46

Page 11: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Joint types: prismatic joints

[Wikimedia Commons] Standard representations Prof’s representation

11 / 46

Page 12: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Joint types: do spherical joints exist?

Class 901 Robots Standard representations Prof’s representation

12 / 46

Page 13: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Configuration

DefinitionConfiguration of a mechanical system: set of minimal number ofparameters, that give the position of any point of the system in agiven frame.

Robotic manipulators caseConfiguration of a robotic manipulator: vector q of n independentcoordinates called the generalized coordinates. The set ofadmissible generalized coordinates is the configuration spaceN.

Generalized coordinates: rotation angles for revolute joints,translation values for prismatic joints.

13 / 46

Page 14: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Pose

DefinitionPose of a rigid body: position and orientation of this rigid bodyin a given frame.

Robotic manipulators casePose of the end effector of a robotic manipulator: vector x ofm independent operational coordinates. The set of admissibleoperational coordinates is the operational space N, of dimensionm 6 6.

Depends on the task (planar cases, positioning only . . . ) and onthe parameterization of orientations.

14 / 46

Page 15: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Outline

1 Study framework: robotic manipulatorsSerial robotic manipulatorsModeling

2 Rigid-body mechanicsMathematical backgroundRotationRigid-body transformationRigid-body motion

15 / 46

Page 16: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

So, now, why models?

configuration

pose

adaptedfrom

http://docs.fetchrobotics.com

q 7−→ xx 7−→ q

?

q 7−→ xx 7−→ q

?

16 / 46

Page 17: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Outline

1 Study framework: robotic manipulatorsSerial robotic manipulatorsModeling

2 Rigid-body mechanicsMathematical backgroundRotationRigid-body transformationRigid-body motion

17 / 46

Page 18: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Points

NotationsF = (O, x , y , z) is a Cartesian right-hand orthonormal frame,with Gibbs convention.

Point M position: vector m with coordinates ∈ R3:

m =

mxmymz

Point Motion m(t): parametric curve in R3

Point Path m(s): geometric path associated to the motion(s ∈ [0 1] normalized curvilinear abscissa)

18 / 46

Page 19: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Points

NotationsF = (O, x , y , z) is a Cartesian right-hand orthonormal frame,with Gibbs convention.

Point M position: vector m with coordinates ∈ R3:

m =

mxmymz

Point Motion m(t): parametric curve in R3

Point Path m(s): geometric path associated to the motion(s ∈ [0 1] normalized curvilinear abscissa)

18 / 46

Page 20: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Points

NotationsF = (O, x , y , z) is a Cartesian right-hand orthonormal frame,with Gibbs convention.

Point M position: vector m with coordinates ∈ R3:

m =

mxmymz

Point Motion m(t): parametric curve in R3

Point Path m(s): geometric path associated to the motion(s ∈ [0 1] normalized curvilinear abscissa)

18 / 46

Page 21: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Points

NotationsF = (O, x , y , z) is a Cartesian right-hand orthonormal frame,with Gibbs convention.

Point M position: vector m with coordinates ∈ R3:

m =

mxmymz

Point Motion m(t): parametric curve in R3

Point Path m(s): geometric path associated to the motion(s ∈ [0 1] normalized curvilinear abscissa)

18 / 46

Page 22: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rigid-body and rigid-body Transformation

Rigid body: for any pair of points with coordinates m and n:

||m(t)− n(t)|| = ||m(0)− n(0)|| = constant

Rigid-body pose: position and orientation of a frameattached to this rigid body in FRigid-body transformation: result of a rigid motion=Application which converts the coordinates of any point ofthe rigid body from their initial to their final valuesApplication = rigid-body transformation ? If and only if itpreserves distances and orientations

ConsequenceIn a rigid-body transformation, a right-hand orthonormal frameis changed into another right-hand orthonormal frame.

19 / 46

Page 23: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rigid-body and rigid-body Transformation

Rigid body: for any pair of points with coordinates m and n:

||m(t)− n(t)|| = ||m(0)− n(0)|| = constant

Rigid-body pose: position and orientation of a frameattached to this rigid body in F

Rigid-body transformation: result of a rigid motion=Application which converts the coordinates of any point ofthe rigid body from their initial to their final valuesApplication = rigid-body transformation ? If and only if itpreserves distances and orientations

ConsequenceIn a rigid-body transformation, a right-hand orthonormal frameis changed into another right-hand orthonormal frame.

19 / 46

Page 24: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rigid-body and rigid-body Transformation

Rigid body: for any pair of points with coordinates m and n:

||m(t)− n(t)|| = ||m(0)− n(0)|| = constant

Rigid-body pose: position and orientation of a frameattached to this rigid body in FRigid-body transformation: result of a rigid motion

=Application which converts the coordinates of any point ofthe rigid body from their initial to their final valuesApplication = rigid-body transformation ? If and only if itpreserves distances and orientations

ConsequenceIn a rigid-body transformation, a right-hand orthonormal frameis changed into another right-hand orthonormal frame.

19 / 46

Page 25: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rigid-body and rigid-body Transformation

Rigid body: for any pair of points with coordinates m and n:

||m(t)− n(t)|| = ||m(0)− n(0)|| = constant

Rigid-body pose: position and orientation of a frameattached to this rigid body in FRigid-body transformation: result of a rigid motion=Application which converts the coordinates of any point ofthe rigid body from their initial to their final values

Application = rigid-body transformation ? If and only if itpreserves distances and orientations

ConsequenceIn a rigid-body transformation, a right-hand orthonormal frameis changed into another right-hand orthonormal frame.

19 / 46

Page 26: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rigid-body and rigid-body Transformation

Rigid body: for any pair of points with coordinates m and n:

||m(t)− n(t)|| = ||m(0)− n(0)|| = constant

Rigid-body pose: position and orientation of a frameattached to this rigid body in FRigid-body transformation: result of a rigid motion=Application which converts the coordinates of any point ofthe rigid body from their initial to their final valuesApplication = rigid-body transformation ? If and only if itpreserves distances and orientations

ConsequenceIn a rigid-body transformation, a right-hand orthonormal frameis changed into another right-hand orthonormal frame.

19 / 46

Page 27: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rigid-body and rigid-body Transformation

Rigid body: for any pair of points with coordinates m and n:

||m(t)− n(t)|| = ||m(0)− n(0)|| = constant

Rigid-body pose: position and orientation of a frameattached to this rigid body in FRigid-body transformation: result of a rigid motion=Application which converts the coordinates of any point ofthe rigid body from their initial to their final valuesApplication = rigid-body transformation ? If and only if itpreserves distances and orientations

ConsequenceIn a rigid-body transformation, a right-hand orthonormal frameis changed into another right-hand orthonormal frame.

19 / 46

Page 28: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Outline

1 Study framework: robotic manipulatorsSerial robotic manipulatorsModeling

2 Rigid-body mechanicsMathematical backgroundRotationRigid-body transformationRigid-body motion

20 / 46

Page 29: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation matrix

NotationsF ′ = (O, x ′, y ′, z ′) right-hand orthonormal framex ′, y ′, z ′: coordinates of x ′, y ′ and z ′ in F :

x ′ =

x ′.xx ′.yx ′.z

, y ′ =

y ′.xy ′.yy ′.z

and z′ =

z′.xz′.yz′.z

DefinitionR = (x ′ y ′ z ′) of dimension 3×3 is the rotation matrix from frameF to frame F ′ . . . or also the change of basis matrix.

21 / 46

Page 30: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation matrix

NotationsF ′ = (O, x ′, y ′, z ′) right-hand orthonormal framex ′, y ′, z ′: coordinates of x ′, y ′ and z ′ in F :

x ′ =

x ′.xx ′.yx ′.z

, y ′ =

y ′.xy ′.yy ′.z

and z′ =

z′.xz′.yz′.z

DefinitionR = (x ′ y ′ z ′) of dimension 3×3 is the rotation matrix from frameF to frame F ′ . . . or also the change of basis matrix.

21 / 46

Page 31: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation matrix

Role of the rotation matrix

gives a representation of the rotation of a frame attachedto a rigid body, from F to F ′

allows to calculate the coordinates of a point in a newframe

22 / 46

Page 32: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation matrix

Role of the rotation matrixgives a representation of the rotation of a frame attachedto a rigid body, from F to F ′

allows to calculate the coordinates of a point in a newframe

O

z′ z

y

Mx

y ′

x ′

22 / 46

Page 33: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation matrix

Role of the rotation matrixgives a representation of the rotation of a frame attachedto a rigid body, from F to F ′

allows to calculate the coordinates of a point in a newframe

O

z′ z

y

Mx

y ′

x ′

22 / 46

Page 34: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation

Notations

With m = (mx my mz)T and m′ = (m′x m′y m′z)T : coordinatesof point M respectively in F and F ′.

Then:

m = m′xx ′ + m′yy ′ + m′zz ′

=(x ′ y ′ z ′

)m′xm′ym′z

ConsequenceChange of basis equation (or coordinate transformation):

m = Rm′

23 / 46

Page 35: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation

Notations

With m = (mx my mz)T and m′ = (m′x m′y m′z)T : coordinatesof point M respectively in F and F ′.

Then:

m = m′xx ′ + m′yy ′ + m′zz ′

=(x ′ y ′ z ′

)m′xm′ym′z

ConsequenceChange of basis equation (or coordinate transformation):

m = Rm′

23 / 46

Page 36: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation

Notations

With m = (mx my mz)T and m′ = (m′x m′y m′z)T : coordinatesof point M respectively in F and F ′.

Then:

m = m′xx ′ + m′yy ′ + m′zz ′

=(x ′ y ′ z ′

)m′xm′ym′z

ConsequenceChange of basis equation (or coordinate transformation):

m = Rm′

23 / 46

Page 37: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation

Notations

With m = (mx my mz)T and m′ = (m′x m′y m′z)T : coordinatesof point M respectively in F and F ′.

Then:

m = m′xx ′ + m′yy ′ + m′zz ′

=(x ′ y ′ z ′

)m′xm′ym′z

ConsequenceChange of basis equation (or coordinate transformation):

m = Rm′

23 / 46

Page 38: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation

O

z′ z

y

Mx

y ′

x ′

First interpretationChange of basis of the point coordinates.

O

z′ z

y

Mx

y ′

x ′

Second interpretationRotation of S about O, characterized bymatrix R.

Then:m′ = initial coordinates of M in Fm = final coordinates of M in F

24 / 46

Page 39: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation

Example

M

θ

y ′

z = z′O x

yx ′

In the general case, give M coordinates after a rotation R(z, θ)from initial coordinates (xi yi zi)

T . Apply with θ = π4 and initial

coordinates (√

2 0 0)T .

25 / 46

Page 40: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Vector rotation

RemarkVector coordinates = difference between the coordinates of twopoints.

Then, rotation can be applied to v = m − n in F :

m − n = Rm′ − Rn′ = R(m′ − n′),

that is:v = Rv ′

with v ′ = m′ − n′

26 / 46

Page 41: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation properties

NotationsIdentity matrix is denoted as I, whatever the dimension.

Orthogonality: RT R = I and det R = 1.Neutral element: identity matrix of dimension 3.Unique inverse: R−1 = RT .Combination of two successive rotations R1 and R2:rotation R1R2.

The set of rotation matrices forms the special orthogonal group,denoted as SO(3).

27 / 46

Page 42: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation properties

NotationsIdentity matrix is denoted as I, whatever the dimension.

Orthogonality: RT R = I and det R = 1.

Neutral element: identity matrix of dimension 3.Unique inverse: R−1 = RT .Combination of two successive rotations R1 and R2:rotation R1R2.

The set of rotation matrices forms the special orthogonal group,denoted as SO(3).

27 / 46

Page 43: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation properties

NotationsIdentity matrix is denoted as I, whatever the dimension.

Orthogonality: RT R = I and det R = 1.Neutral element: identity matrix of dimension 3.

Unique inverse: R−1 = RT .Combination of two successive rotations R1 and R2:rotation R1R2.

The set of rotation matrices forms the special orthogonal group,denoted as SO(3).

27 / 46

Page 44: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation properties

NotationsIdentity matrix is denoted as I, whatever the dimension.

Orthogonality: RT R = I and det R = 1.Neutral element: identity matrix of dimension 3.Unique inverse: R−1 = RT .

Combination of two successive rotations R1 and R2:rotation R1R2.

The set of rotation matrices forms the special orthogonal group,denoted as SO(3).

27 / 46

Page 45: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation properties

NotationsIdentity matrix is denoted as I, whatever the dimension.

Orthogonality: RT R = I and det R = 1.Neutral element: identity matrix of dimension 3.Unique inverse: R−1 = RT .Combination of two successive rotations R1 and R2:rotation R1R2.

The set of rotation matrices forms the special orthogonal group,denoted as SO(3).

27 / 46

Page 46: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rotation properties

NotationsIdentity matrix is denoted as I, whatever the dimension.

Orthogonality: RT R = I and det R = 1.Neutral element: identity matrix of dimension 3.Unique inverse: R−1 = RT .Combination of two successive rotations R1 and R2:rotation R1R2.

The set of rotation matrices forms the special orthogonal group,denoted as SO(3).

27 / 46

Page 47: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Combination of rotations

NotationsLet F ′ and F ′′ be two frames resulting from two successiverotations R1 and R2 of the reference frame F .

Non-commutativity of rotationsR1R2 6= R2R1

Two possible cases:

second rotation with respect to the frame which resultsfrom the first rotation: (F ′′ results from the rotation of F ′about an axis attached to F ′)second rotation with respect to the same fixed frame as thefirst rotation (F ′′ results from the rotation of F ′ about anaxis attached to F)

28 / 46

Page 48: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Combination of rotations

NotationsLet F ′ and F ′′ be two frames resulting from two successiverotations R1 and R2 of the reference frame F .

Non-commutativity of rotationsR1R2 6= R2R1

Two possible cases:second rotation with respect to the frame which resultsfrom the first rotation: (F ′′ results from the rotation of F ′about an axis attached to F ′)

second rotation with respect to the same fixed frame as thefirst rotation (F ′′ results from the rotation of F ′ about anaxis attached to F)

28 / 46

Page 49: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Combination of rotations

NotationsLet F ′ and F ′′ be two frames resulting from two successiverotations R1 and R2 of the reference frame F .

Non-commutativity of rotationsR1R2 6= R2R1

Two possible cases:second rotation with respect to the frame which resultsfrom the first rotation: (F ′′ results from the rotation of F ′about an axis attached to F ′)second rotation with respect to the same fixed frame as thefirst rotation (F ′′ results from the rotation of F ′ about anaxis attached to F)

28 / 46

Page 50: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

First case

Change of basis problem

Second rotation with respect to the frame which results from thefirst rotation.

Combination: first caseM with coordinates m, m′, m′′ respectively in F , F ′ and F ′′.As m′ = R2m′′ and m = R1m′, then:

m = R1R2m′′.

29 / 46

Page 51: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

First case

Change of basis problem

Second rotation with respect to the frame which results from thefirst rotation.

Combination: first caseCoordinates m of M in F = result of two successive rotationsapplied to a point with initial coordinates m′′

29 / 46

Page 52: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

First case

Example

z ′′

O

π4

z z ′

M

x

x ′

x ′′π

y ′

Initial coordinates = (√

2 0 0)T in F ′′: coordinates of M in F ?

30 / 46

Page 53: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Second case

Successive rotationsProblem with successive rotations: the transformation of a pointwith initial coordinates m′′ in F gives an intermediate point,which in turn gives a point with coordinates m inF after a secondrotation R2.

Combination: second caseM with coordinates m, m′, m′′ respectively in F , F ′ and F ′′.Consequence:

m = R2(R1m′′)

31 / 46

Page 54: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Second case

Example

z ′′

O

π4

z z ′

x

x ′

π

Mx ′′

y

Initial coordinates = (√

2 0 0)T in F ′′: coordinates of M in F ?

32 / 46

Page 55: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Orientation of a rigid body – direction cosines

NotationsRotation matrix of dimension 3×3, to represent the rotation fromframe F to frame F ′.

R =

xx yx zxxy yy zyxz yz zz

DefinitionElements of R=direction cosines, represent the coordinates ofthe three vectors of F ′ basis with respect to F .

33 / 46

Page 56: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Orientation of a rigid body – direction cosines

RemarkThe columns in R are orthogonal to each other and so only twoof them are required:

R =

xx ∗ zxxy ∗ zyxz ∗ zz

ConsequenceDirection cosines computation limited to six parameters.

34 / 46

Page 57: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Orientation of a rigid body – direction cosines

RemarkThese six parameters are related by three additional relations:

xxzx + xyzy + xzzz = 0x2

x + x2y + x2

z = 1

z2x + z2

y + z2z = 1

ConclusionMinimum set of three parameters: Euler angles, Roll-Pitch-Yawangles, etc.

35 / 46

Page 58: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Orientation of a rigid body – Euler classical angles

DefinitionEuler classical angles = three successive rotations:

R(z, ψ), R(xψ, θ), R(zθ, ϕ)

with ψ, θ and ϕ: precession, nutation and spin.

x

z

ψ

θ

y yψ

yθϕ

36 / 46

Page 59: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Orientation of a rigid body – Euler classical angles

Every new rotation is performed with respect to a frame thathas previously rotated:

R = R(z, ψ) R(xψ, θ) R(zθ, ϕ)

that is:

R =

cosψ − sinψ 0sinψ cosψ 0

0 0 1

1 0 00 cos θ − sin θ0 sin θ cos θ

cosϕ − sinϕ 0sinϕ cosϕ 0

0 0 1

=

cosψ cosϕ− sinψ cos θ sinϕ − cosψ sinϕ− sinψ cos θ cosϕ sinψ sin θsinψ cosϕ+ cosψ cos θ sinϕ − sinψ sinϕ+ cosψ cos θ cosϕ − cosψ sin θ

sin θ sinϕ sin θ cosϕ cos θ

36 / 46

Page 60: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Orientation of a rigid body – Euler classical angles

Inverse transformation = Euler angles from the directioncosines:

if zz 6= ±1:

ψ = atan2(zx ,−zy )θ = acos zzϕ = atan2(xz , yz)

if zz = ±1:

θ = π(1− zz)/2ψ + zzϕ = atan2(−yx , xx )

and so ψ and ϕ are undetermined.

36 / 46

Page 61: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Orientation of a rigid body – Roll-Pitch-Yaw angles

DefinitionRoll-Pitch-Yaw angles: three successive rotations:

R(x , γ), R(y , β), R(z, α)

with γ, β, and α roll, pitch and yaw angles.

x

z

y

βγ

α

37 / 46

Page 62: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Orientation of a rigid body – Roll-Pitch-Yaw angles

Every new rotation is performed with respect to a fixed axis ofthe reference frame F :

R = R(z, α) R(y , β) R(x , γ)

that is:

R =

cosα − sinα 0sinα cosα 0

0 0 1

cosβ 0 sinβ0 1 0

− sinβ 0 cosβ

1 0 00 cos γ − sin γ0 sin γ cos γ

=

cosα cosβ − sinα cos γ + cosα sinβ sin γ sinα sin γ + cosα sinβ cos γsinα cosβ cosα cos γ + sinα sinβ sin γ − cosα sin γ + sinα sinβ cos γ− sinβ cosβ sin γ cosβ cos γ

37 / 46

Page 63: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Orientation of a rigid body – Roll-Pitch-Yaw angles

Inverse transformation = Roll-Pitch-Yaw angles derived form thedirection cosines:

if xz 6= ±1:

α = atan2(xy , xx )

β = atan2(−xz ,√

x2x + x2

y )

γ = atan2(yz , zz)

if xz = ±1:

α− sign(β) γ = atan2(zy , zx )or α− sign(β) γ = −atan2(yx , yy )

and so α and γ are undetermined.

37 / 46

Page 64: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Outline

1 Study framework: robotic manipulatorsSerial robotic manipulatorsModeling

2 Rigid-body mechanicsMathematical backgroundRotationRigid-body transformationRigid-body motion

38 / 46

Page 65: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rigid-body transformation

DefinitionRigid-body transformation: (p, R) with p the translation of theorigin of the frame attached to the moving rigid body S and Rthe rotation of a frame attached to S.

O′

z′

y ′

O

z

xy

M

p

x ′

39 / 46

Page 66: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rigid-body transformation

Notations

Let m = (mx my mz)T and m′ = (m′x m′y m′z)T be thecoordinates of a point M respectively in F and F ′.

Transformation equationRigid-body transformation: translation p of frame F and thenrotation R of the resulting frame to obtain F ′:

m = p + Rm′

40 / 46

Page 67: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Homogeneous transformation matrix

DefinitionTo account for the rigid-body transformation in a linear way, thehomogeneous coordinates of point M are introduced:

m = (mx my mz 1)T = (mT 1)T .

(m1

)=

(R p0 1

)(m′

1

)

Consequence

m = T m′ with T =

(R p0 1

)Matrix T is the homogeneous transformation matrix.

41 / 46

Page 68: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Properties of rigid-body transformation

NotationsLet T , T1 and T2 be the rigid-body transformations (p, R),(p1, R1) and (p2, R2).

Combination: T1T2 =

(R1R2 R1p2 + p1

0 1

).

Neutral element: identity matrix of dimension 4.

Inverse: T−1 =

(RT −RT p0 1

).

The set of homogeneous transformation matrices forms thespecial euclidian group, denoted as SE(3).

42 / 46

Page 69: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Properties of rigid-body transformation

NotationsLet T , T1 and T2 be the rigid-body transformations (p, R),(p1, R1) and (p2, R2).

Combination: T1T2 =

(R1R2 R1p2 + p1

0 1

).

Neutral element: identity matrix of dimension 4.

Inverse: T−1 =

(RT −RT p0 1

).

The set of homogeneous transformation matrices forms thespecial euclidian group, denoted as SE(3).

42 / 46

Page 70: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Properties of rigid-body transformation

NotationsLet T , T1 and T2 be the rigid-body transformations (p, R),(p1, R1) and (p2, R2).

Combination: T1T2 =

(R1R2 R1p2 + p1

0 1

).

Neutral element: identity matrix of dimension 4.

Inverse: T−1 =

(RT −RT p0 1

).

The set of homogeneous transformation matrices forms thespecial euclidian group, denoted as SE(3).

42 / 46

Page 71: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Properties of rigid-body transformation

NotationsLet T , T1 and T2 be the rigid-body transformations (p, R),(p1, R1) and (p2, R2).

Combination: T1T2 =

(R1R2 R1p2 + p1

0 1

).

Neutral element: identity matrix of dimension 4.

Inverse: T−1 =

(RT −RT p0 1

).

The set of homogeneous transformation matrices forms thespecial euclidian group, denoted as SE(3).

42 / 46

Page 72: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Properties of rigid-body transformation

NotationsLet T , T1 and T2 be the rigid-body transformations (p, R),(p1, R1) and (p2, R2).

Combination: T1T2 =

(R1R2 R1p2 + p1

0 1

).

Neutral element: identity matrix of dimension 4.

Inverse: T−1 =

(RT −RT p0 1

).

The set of homogeneous transformation matrices forms thespecial euclidian group, denoted as SE(3).

42 / 46

Page 73: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Outline

1 Study framework: robotic manipulatorsSerial robotic manipulatorsModeling

2 Rigid-body mechanicsMathematical backgroundRotationRigid-body transformationRigid-body motion

43 / 46

Page 74: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Rigid-body motion

DefinitionRigid-body transformation + time parameterization = rigid-bodymotion.

CharacterizationAngular velocity vector + linear velocity vector (of a chosen point)

44 / 46

Page 75: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Angular velocity vector

DefinitionAngular velocity vector Ω about the instantaneous rotation axisof S (counter-clockwise orientation).

O

z′ z

y

x

y ′

Ω

M

OM x ′vM

45 / 46

Page 76: Robotics Course 1. Fundamentals of robotic modellingeavr.u-strasbg.fr/.../_course_1_maths.pdf · Robotics Course 1. Fundamentals of robotic modelling Bernard Bayle Télécom Physique

Velocity of a point of a rigid body

RotationLet Ω be the angular velocity vector S and vM be the velocity ofM ∈ S, with coordinates vM .

Linear velocity:

vM = Ω×OM,

or vM = Ω×m = Ω m,

with:

Ω =

0 −Ωz ΩyΩz 0 −Ωx−Ωy Ωx 0

Linear velocity for combined rotation-translation

vM = p + Ω m.

46 / 46