110
Outline Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University of Houston, Telecom Paris Tech 2008–2009

Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Embed Size (px)

Citation preview

Page 1: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Outline

Introduction to Robotics

Bernard BAYLE

Joint courseUniversity of Strasbourg, University of Houston, Telecom Paris Tech

2008–2009

Page 2: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Outline

Outline

1 Rigid-Body MechanicsMathematical BackgroundRotationRigid-Body TransformationRigid-Body Motion

2 Description of Robotic ManipulatorsKinematic ChainsModified Denavit-Hartenberg ParameterizationGeometric EquationsVelocity Equations

3 Robotic Manipulators ModellingConfiguration and Pose of a Robotic ManipulatorDirect KinematicsInverse KinematicsDifferential Kinematics

Page 3: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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)

Page 4: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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)

Page 5: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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)

Page 6: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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)

Page 7: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rigid-Body and Rigid-Body Transformation

Rigid body : for any pair of points with coordinates m andn :

||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 tranformation, a right-hand orthonormal frame ischanged into another right-hand orthonormal frame.

Page 8: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rigid-Body and Rigid-Body Transformation

Rigid body : for any pair of points with coordinates m andn :

||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 values.Application = rigid-body transformation ? If and only if itpreserves distances and orientations.

ConsequenceIn a rigid-body tranformation, a right-hand orthonormal frame ischanged into another right-hand orthonormal frame.

Page 9: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rigid-Body and Rigid-Body Transformation

Rigid body : for any pair of points with coordinates m andn :

||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 tranformation, a right-hand orthonormal frame ischanged into another right-hand orthonormal frame.

Page 10: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rigid-Body and Rigid-Body Transformation

Rigid body : for any pair of points with coordinates m andn :

||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 tranformation, a right-hand orthonormal frame ischanged into another right-hand orthonormal frame.

Page 11: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rigid-Body and Rigid-Body Transformation

Rigid body : for any pair of points with coordinates m andn :

||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 tranformation, a right-hand orthonormal frame ischanged into another right-hand orthonormal frame.

Page 12: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rigid-Body and Rigid-Body Transformation

Rigid body : for any pair of points with coordinates m andn :

||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 tranformation, a right-hand orthonormal frame ischanged into another right-hand orthonormal frame.

Page 13: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rotation matrix

NotationsF ′ = (O, x ′, y ′, z ′) right-hand orthonormal frame

x ′, y ′, z ′ : coordinates of x ′, y ′ and z ′ in F :

x ′ =

0@x ′.xx ′.yx ′.z

1A , y ′ =

0@y ′.xy ′.yy ′.z

1A and z′ =

0@z′.xz′.yz′.z

1A .

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

Page 14: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rotation matrix

NotationsF ′ = (O, x ′, y ′, z ′) right-hand orthonormal frame

x ′, y ′, z ′ : coordinates of x ′, y ′ and z ′ in F :

x ′ =

0@x ′.xx ′.yx ′.z

1A , y ′ =

0@y ′.xy ′.yy ′.z

1A and z′ =

0@z′.xz′.yz′.z

1A .

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

Page 15: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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

Page 16: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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 ′

Page 17: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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 ′

Page 18: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rotation

Notations

m = (mx my mz)T and m′ = (m′x m′y m′z)T : coordinates ofpoint 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′

Page 19: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rotation

Notations

m = (mx my mz)T and m′ = (m′x m′y m′z)T : coordinates ofpoint 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′

Page 20: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rotation

Notations

m = (mx my mz)T and m′ = (m′x m′y m′z)T : coordinates ofpoint 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′

Page 21: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rotation

Notations

m = (mx my mz)T and m′ = (m′x m′y m′z)T : coordinates ofpoint 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′

Page 22: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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 Fand m = final coordinates of M in F .

Page 23: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rotation

Example

M

θ

y ′

z = z′O x

yx ′

M with initial coordinates (√

3 0 1)T .Give M coordinates after rotation R(z, θ).

Page 24: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rotation

Solution

m =

cos θ − sin θ 0sin θ cos θ 0

0 0 1

√301

=

3 cos θ√3 sin θ

1

.

For θ = π3 , it comes that m = (

√3

232 1)T .

Page 25: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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′

Page 26: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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.

Page 27: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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.

Page 28: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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.

Page 29: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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.

Page 30: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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.

Page 31: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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)

Page 32: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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)

Page 33: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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)

Page 34: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

First case

Change of basis problemSecond rotation with respect to the frame which results fromthe first rotation.

NotationsM with coordinates m, m′, m′′ respectively in F , F ′ and F ′′

Combination : first caseAs m = R1m′ and m′ = R2m′′, then :

m = R1R2m′′.

Page 35: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

First case

Change of basis problemSecond rotation with respect to the frame which results fromthe first rotation.

NotationsM with coordinates m, m′, m′′ respectively in F , F ′ and F ′′

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

Page 36: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

First case

Example

z ′′

O

π4

z z ′

M

x

x ′

x ′′π

y ′

m′′ = (√

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

Page 37: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

First case

Solution

m =

22 −

√2

2 0√2

2

√2

2 00 0 1

−1 0 0

0 1 00 0 −1

√200

=

−1−10

.

with the two following rotations :a first rotation of π4 about za second rotation of π about y ′

Page 38: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Second case

Successive rotationsProblem with successive rotations : the transformation of apoint with initial coordinates m′′ in F gives an intermediatepoint, which in turn gives a point with coordinates m in F after asecond rotation R2.

NotationsM with coordinates m, m′, m′′ respectively in F , F ′ and F ′′

Combination : second caseConsequence :

m = R2(R1m′′)

Page 39: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Second case

Example

z ′′

O

π4

z z ′

x

x ′

π

Mx ′′

y

m′′ = (√

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

Page 40: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Second case

Solution

m =

−1 0 00 1 00 0 −1

22 −

√2

2 0√2

2

√2

2 00 0 1

√2

00

=

−110

.

with the two following rotations :a first rotation of π4 about za second rotation of π about y

Page 41: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Orientation of a rigid body – direction cosines

NotationsRotation matrix of dimension 3× 3, to represent the rotationfrom frame 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 .

Page 42: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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.

Page 43: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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.

Page 44: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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θϕ

Page 45: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Orientation of a rigid body – Euler classical angles

Every new rotation is performed with respect to a frame that haspreviously rotated :

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

that is :

R =

0@cosψ − sinψ 0sinψ cosψ 0

0 0 1

1A0@1 0 00 cos θ − sin θ0 sin θ cos θ

1A0@cosϕ − sinϕ 0sinϕ cosϕ 0

0 0 1

1A=

0@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 θ

1A

Page 46: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Orientation of a rigid body – Euler classical angles

Inverse transformation = Euler angles from the direction co-sines :

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.

Page 47: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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

βγ

α

Page 48: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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 =

0@cosα − sinα 0sinα cosα 0

0 0 1

1A0@ cosβ 0 sinβ0 1 0

− sinβ 0 cosβ

1A0@1 0 00 cos γ − sin γ0 sin γ cos γ

1A=

0@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 γ

1A

Page 49: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Orientation of a rigid body – roll, pitch, yaw angles

Inverse transformation = roll, pitch, yaw angles derived form thedirection cosines :

if β 6= ±π2 :

α = atan2(xy , xx )

β = atan2(−xz ,√

x2x + x2

y )

γ = atan2(yz , zz)

if β = ±π2 :

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

and so α and γ are undetermined.

Page 50: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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 ′

Page 51: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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′

Page 52: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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.

Page 53: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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

).

Page 54: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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

).

Page 55: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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

).

Page 56: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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

).

Page 57: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rigid-body motion

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

CharacterizationAngular velocity vector + linear velocity vector (of a chosenpoint)

Page 58: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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

Page 59: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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@ 0 −Ωz ΩyΩz 0 −Ωx−Ωy Ωx 0

1A

Linear velocity for combined rotation-translation

vM = p + Ω m.

Page 60: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Outline

1 Rigid-Body MechanicsMathematical BackgroundRotationRigid-Body TransformationRigid-Body Motion

2 Description of Robotic ManipulatorsKinematic ChainsModified Denavit-Hartenberg ParameterizationGeometric EquationsVelocity Equations

3 Robotic Manipulators ModellingConfiguration and Pose of a Robotic ManipulatorDirect KinematicsInverse KinematicsDifferential Kinematics

Page 61: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Study framework

Only serial manipulators !We consider only the mechanical systems built from openpoly-articulated kinematic chains, called serial roboticmanipulators.

Page 62: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Description of open kinematic chains

DefinitionRobotic manipulator : n moving rigid bodies coupled by nrevolute or prismatic joints

L1 L2 Ln−1 Ln

joint

link link link link

joint joint jointjoint(link L0)ground

J1 J2 J3 Jn−1 Jn

Page 63: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Modified Denavit-Hartenberg parameters

Notationsi-th joint and i-th link : frame Fi = (Oi , x i , y

i, z i), with

i = 0, 1, . . . , n.

joint axisJi−1

x i−1

z i−1

ai−1

Oi−1

Ωi−1

Ji

joint axis

x iOi

x i

x i−1

z i

θi

ri

z i

z i

αi−1

Page 64: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Frames F1 to Fn−1 placement

joint axisJi−1

x i−1

z i−1

ai−1

Oi−1

Ωi−1

Ji

joint axis

x iOi

x i

x i−1

z i

θi

ri

z i

z i

αi−1

Oi−1 is the point of Li−1 on the common normal to Li−1 and Li .

In the case of parallel axis, arbitrary choice of the perpendicularline.

Page 65: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Frames F1 to Fn−1 placement

joint axisJi−1

x i−1

z i−1

ai−1

Oi−1

Ωi−1

Ji

joint axis

x iOi

x i

x i−1

z i

θi

ri

z i

z i

αi−1

x i−1 : unit vector of the common normal oriented from Li−1 to Li .

Arbitrary orientation when Li−1 and Li intersect or when Li−1 =Li (up, right or front).

Page 66: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Frames F1 to Fn−1 placement

joint axisJi−1

x i−1

z i−1

ai−1

Oi−1

Ωi−1

Ji

joint axis

x iOi

x i

x i−1

z i

θi

ri

z i

z i

αi−1

z i−1 : unit vector of Li−1, with an arbitrary orientation (up, rightor front).

Page 67: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Frames F1 to Fn−1 placement

joint axisJi−1

x i−1

z i−1

ai−1

Oi−1

Ωi−1

Ji

joint axis

x iOi

x i

x i−1

z i

θi

ri

z i

z i

αi−1

yi−1

: such that Fi−1 is a right-hand frame.

Page 68: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Frames F0 and Fn

ConventionFrame F0 : choose the simplest configuration.

Point On+1 : attached to the end effector.Frame Fn : such that On+1 ∈ (On, xn, zn).

O

z

x

y

On

On+1

zn

xn

an

rn+1

Page 69: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Frames F0 and Fn

ConventionFrame F0 : choose the simplest configuration.Point On+1 : attached to the end effector.

Frame Fn : such that On+1 ∈ (On, xn, zn).

O

z

x

y

On

On+1

zn

xn

an

rn+1

Page 70: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Frames F0 and Fn

ConventionFrame F0 : choose the simplest configuration.Point On+1 : attached to the end effector.Frame Fn : such that On+1 ∈ (On, xn, zn).

O

z

x

y

On

On+1

zn

xn

an

rn+1

Page 71: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Modified Denavit-Hartenberg parameters

joint axisJi−1

x i−1

z i−1

ai−1

Oi−1

Ωi−1

Ji

joint axis

x iOi

x i

x i−1

z i

θi

ri

z i

z i

αi−1

αi−1 : angle between z i−1 and z i ,about x i−1.

ai−1 : distance on the commonnormal of axis Li−1 et Li , alongx i−1.θi : angle between x i−1 and x i ,about z i .ri : distance from the commonnormal to point Oi , along z i .

Page 72: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Modified Denavit-Hartenberg parameters

joint axisJi−1

x i−1

z i−1

ai−1

Oi−1

Ωi−1

Ji

joint axis

x iOi

x i

x i−1

z i

θi

ri

z i

z i

αi−1

αi−1 : angle between z i−1 and z i ,about x i−1.ai−1 : distance on the commonnormal of axis Li−1 et Li , alongx i−1.

θi : angle between x i−1 and x i ,about z i .ri : distance from the commonnormal to point Oi , along z i .

Page 73: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Modified Denavit-Hartenberg parameters

joint axisJi−1

x i−1

z i−1

ai−1

Oi−1

Ωi−1

Ji

joint axis

x iOi

x i

x i−1

z i

θi

ri

z i

z i

αi−1

αi−1 : angle between z i−1 and z i ,about x i−1.ai−1 : distance on the commonnormal of axis Li−1 et Li , alongx i−1.θi : angle between x i−1 and x i ,about z i .

ri : distance from the commonnormal to point Oi , along z i .

Page 74: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Modified Denavit-Hartenberg parameters

joint axisJi−1

x i−1

z i−1

ai−1

Oi−1

Ωi−1

Ji

joint axis

x iOi

x i

x i−1

z i

θi

ri

z i

z i

αi−1

αi−1 : angle between z i−1 and z i ,about x i−1.ai−1 : distance on the commonnormal of axis Li−1 et Li , alongx i−1.θi : angle between x i−1 and x i ,about z i .ri : distance from the commonnormal to point Oi , along z i .

Page 75: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

ExampleSCARA-type manipulator. . .

Page 76: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rigid-body transformation

Transformation parameterization :

Ti−1, i =

0BB@1 0 0 00 cosαi−1 − sinαi−1 00 sinαi−1 cosαi−1 00 0 0 1

1CCA| z

R(xi−1, αi−1)

0BB@1 0 0 ai−10 1 0 00 0 1 00 0 0 1

1CCA| z

translation ai−1xi−1

0BB@cos θi − sin θi 0 0sin θi cos θi 0 0

0 0 1 00 0 0 1

1CCA| z

R(zi , θi )

0BB@1 0 0 00 1 0 00 0 1 ri0 0 0 1

1CCA| z

translation ri zi

that is :

Ti−1, i =

cos θi − sin θi 0 ai−1

cosαi−1 sin θi cosαi−1 cos θi − sinαi−1 −ri sinαi−1sinαi−1 sin θi sinαi−1 cos θi cosαi−1 ri cosαi−1

0 0 0 1

Page 77: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Rigid-body transformation

Transformation parameterization :

Ti−1, i =

0BB@1 0 0 00 cosαi−1 − sinαi−1 00 sinαi−1 cosαi−1 00 0 0 1

1CCA| z

R(xi−1, αi−1)

0BB@1 0 0 ai−10 1 0 00 0 1 00 0 0 1

1CCA| z

translation ai−1xi−1

0BB@cos θi − sin θi 0 0sin θi cos θi 0 0

0 0 1 00 0 0 1

1CCA| z

R(zi , θi )

0BB@1 0 0 00 1 0 00 0 1 ri0 0 0 1

1CCA| z

translation ri zi

which writes :

Ti−1, i =

(Ri−1, i pi−1, i

0 1

)with Ri−1, i the rotation between frames Fi−1 and Fi and pi−1, ithe translation between the same frames.

Page 78: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Prismatic joint

joint axisJi

Oi

On

qi z i

pi

= qi z i

Velocity of On and angular velocity of Fn :

pi

= qi z i ,

Ωi = 0.

Page 79: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Revolute joint

joint axisJi

Oi

On

pi,n

Ωi = qi z i

pi

= qiz i × pi,n

Velocity of On and angular velocity of Fn :

pi

= qi z i × pi,n,

Ωi = qi z i .

Page 80: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Differential kinematic relations, general case

NotationsLink type identified by parameter σi :

σi =

0, for a revolute joint,1, for a prismatic joint.

Velocity of the end effector frame in On

pi

= (σi z i + σi z i × pi,n

)qi ,

Ωi = (σi z i) qi .

Page 81: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Outline

1 Rigid-Body MechanicsMathematical BackgroundRotationRigid-Body TransformationRigid-Body Motion

2 Description of Robotic ManipulatorsKinematic ChainsModified Denavit-Hartenberg ParameterizationGeometric EquationsVelocity Equations

3 Robotic Manipulators ModellingConfiguration and Pose of a Robotic ManipulatorDirect KinematicsInverse KinematicsDifferential Kinematics

Page 82: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Configuration

DefinitionConfiguration of a mechanical system : set of minimal numberof parameters, that give the position of any point of the systemin a given frame.

Robotic manipulators caseConfiguration of a robotic manipulator : vector q of nindependent coordinates called the generalized coordinates.The set of admissible generalized coordinates is theconfiguration space N .

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

Page 83: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

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 of mindependent operational coordinates. The set of admissibleoperational coordinates is theoperational spaceM, ofdimension m 6 6.

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

Page 84: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Direct kinematics

DefinitionDirect kinematic model (DKM) of a robotic manipulator : pose ofthe end effector as a function of the robot configuration :

f : N −→ Mq 7−→ x = f (q).

General case

Expression of x = (x1 x2 x3 x4 x5 x6)T , with (x1 x2 x3)T positioncoordinates in F0 and (x4 x5 x6)T orientation coordinates, as afunction of q = (q1 q2 . . . qn)T .

Often using partial direction cosines.

Page 85: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

DKM computation

Orientation computed from the rotation matrix between theground frame and the end effector frame.

Position (x1 x2 x3)T of point On+1 computed from theposition (px py pz)T of point On in F0, given thecoordinates (an 0 rn+1)T of On+1 in Fn :

x1 = px + anxx + rn+1zx

x2 = py + anxy + rn+1zy

x3 = pz + anxz + rn+1zz

Page 86: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

DKM computation

Orientation computed from the rotation matrix between theground frame and the end effector frame.Position (x1 x2 x3)T of point On+1 computed from theposition (px py pz)T of point On in F0, given thecoordinates (an 0 rn+1)T of On+1 in Fn :

x1 = px + anxx + rn+1zx

x2 = py + anxy + rn+1zy

x3 = pz + anxz + rn+1zz

Page 87: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Practical considerations

Computation of On coordinates and of the direction cosines :

T0,n(q) = T0,1(q1) T1,2(q2) . . . Tn−1,n(qn).

Rules

For i , j , . . . in 1,2, . . . ,n, write (for the sake of simplicity) :

Si = sin qi

Ci = cos qi

Si+j = sin (qi + qj)

Ci+j = cos (qi + qj)

Page 88: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Practical considerations

Computation of On coordinates and of the direction cosines :

T0,n(q) = T0,1(q1) T1,2(q2) . . . Tn−1,n(qn).

Rules

Each new mathematical operation (addition, multiplication) : in-troduction of a new intermediate variable.

Page 89: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Practical considerations

Computation of On coordinates and of the direction cosines :

T0,n(q) = T0,1(q1) T1,2(q2) . . . Tn−1,n(qn).

Rules

Reverse product computation : no computation of the secondcolumn of the rotation matrix.

Page 90: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Practical considerations

Computation of On coordinates and of the direction cosines :

T0,n(q) = T0,1(q1) T1,2(q2) . . . Tn−1,n(qn).

Rules

First compose transformations with particular properties, in par-ticular rotations with parallel axis.

Page 91: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

ExampleSCARA-type manipulator. . .

Page 92: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Inverse kinematics

DefinitionInverse kinematic model (IKM) : the (one or several)configurations that correspond to a given pose of the robot endeffector :

f−1 : M −→ Nx 7−→ q = f−1(x).

SolvabilityExistence of solutions.

If n < m : no solution.If n = m : finite number of solutions (in general).If n > m : infinite number of solutions.

Page 93: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Computation

IKM computationNo systematic analytic method.

Set of nonlinear equations formed by the DKM to be solved.When n = 6, the system is generally equipped with a sphericalwrist that allows some decoupling between orientation andposition, which helps solving the IKM :

px = x1 − anxx − rn+1zx ,

py = x2 − anxy − rn+1zy ,

pz = x3 − anxz − rn+1zz .

Unfortunately the next steps require much more complexcomputations to solve for the qi , i = 1, 2, . . . , n as functions ofthe obtained px , py , pz and of the direction cosines.

Page 94: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

ExampleSCARA-type manipulator. . .

Page 95: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Differential kinematics

DefinitionDirect differential kinematic model (DDKM) : relation betweenthe operational velocities x and the generalized velocities q :

x = Jq

where J = J(q) is the Jacobian matrix of function f , ofdimension m × n :

J : TqN −→ TxM

q 7−→ x = Jq, with J =∂f∂q.

Page 96: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Differential kinematics

DDKM computationDifferentiation of the DKM for simple structures or . . .

First : velocity of On and angular velocity of frame Fn

p =n∑

i=1

(σi z i + σi z i × pi,n

)qi ,

Ω =n∑

i=1

(σi z i) qi .

Page 97: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Differential kinematics

DDKM computationDifferentiation of the DKM for simple structures or . . .

First : velocity of On and angular velocity of frame Fn

In a vector representation :(pΩ

)= Jg q

Jg =

„σ1z1 + σ1z1 × p

1,nσ2z2 + σ2z2 × p

2,n. . . σnzn + σnzn × p

n,nσ1z1 σ2z2 . . . σnzn

«

Page 98: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Differential kinematics

DDKM computationDifferentiation of the DKM for simple structures or . . .

First : velocity of On and angular velocity of frame Fn

In F0 : (pΩ

)= Jg q

Page 99: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Differential kinematics

DDKM computationDifferentiation of the DKM for simple structures or . . .

Second : computation of the velocity of point On+1 and ofthe derivatives of the orientation parameters of frame Fn

Position of On+1 :x1x2x3

=

pxpypz

+ an

xxxyxz

+ rn+1

zxzyzz

Page 100: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Differential kinematics

DDKM computationDifferentiation of the DKM for simple structures or . . .

Second : computation of the velocity of point On+1 and ofthe derivatives of the orientation parameters of frame Fn

Velocity of On+1 :x1x2x3

=

pxpypz

+

ΩxΩyΩz

×an

xxxyxz

+ rn+1

zxzyzz

Page 101: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Differential kinematics

DDKM computationDifferentiation of the DKM for simple structures or . . .

Second : computation of the velocity of point On+1 and ofthe derivatives of the orientation parameters of frame Fnx1

x2x3

=

pxpypz

+ D

ΩxΩyΩz

with D =

0 anxz + rn+1zz −anxy − rn+1zy−anxz − rn+1zz 0 anxx + rn+1zxanxy + rn+1zy −anxx − rn+1zx 0

.

Page 102: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Differential kinematics

DDKM computationDifferentiation of the DKM for simple structures or . . .

Second : computation of the velocity of point On+1 and ofthe derivatives of the orientation parameters of frame Fn

Derivatives of the orientation parameters of frame Fn :x4x5. . .xm

= C

ΩxΩyΩz

Page 103: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Differential kinematics

Finally :DDKM :

x =

(I D0 C

)(pΩ

)=

(I D0 C

)Jg q,

Jacobian matrix :

J =

(I D0 C

)Jg .

Page 104: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Practical rules

For analytical calculations, it is worth using :

Jg =

„R0,1 0

0 R0,1

«„R1,2 0

0 R1,2

«. . .

„Rk−1,k 0

0 Rk−1,k

«„I −pk+1,n|Fk0 I

«Jk+1|Fk

with :

k = Int(n2 )

robot with a spherical wrist : p4,6 = 0pk+1,n|Fk : antisymmetric matrix associated to theprojection of pk+1,n in Fk

Jk+1|Fk : projection in Fk

Jk+1 =

σ1z1 + σ1z1 × p

1,k+1σ2z2 + σ2z2 × p

2,k+1. . . σnzn + σnzn × p

n,k+1σ1z1 σ2z2 . . . σnzn

!

Page 105: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Practical rules

For analytical calculations, it is worth using :

Jg =

„R0,1 0

0 R0,1

«„R1,2 0

0 R1,2

«. . .

„Rk−1,k 0

0 Rk−1,k

«„I −pk+1,n|Fk0 I

«Jk+1|Fk

with :k = Int(n

2 )

robot with a spherical wrist : p4,6 = 0pk+1,n|Fk : antisymmetric matrix associated to theprojection of pk+1,n in Fk

Jk+1|Fk : projection in Fk

Jk+1 =

σ1z1 + σ1z1 × p

1,k+1σ2z2 + σ2z2 × p

2,k+1. . . σnzn + σnzn × p

n,k+1σ1z1 σ2z2 . . . σnzn

!

Page 106: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Practical rules

For analytical calculations, it is worth using :

Jg =

„R0,1 0

0 R0,1

«„R1,2 0

0 R1,2

«. . .

„Rk−1,k 0

0 Rk−1,k

«„I −pk+1,n|Fk0 I

«Jk+1|Fk

with :k = Int(n

2 )

robot with a spherical wrist : p4,6 = 0

pk+1,n|Fk : antisymmetric matrix associated to theprojection of pk+1,n in Fk

Jk+1|Fk : projection in Fk

Jk+1 =

σ1z1 + σ1z1 × p

1,k+1σ2z2 + σ2z2 × p

2,k+1. . . σnzn + σnzn × p

n,k+1σ1z1 σ2z2 . . . σnzn

!

Page 107: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Practical rules

For analytical calculations, it is worth using :

Jg =

„R0,1 0

0 R0,1

«„R1,2 0

0 R1,2

«. . .

„Rk−1,k 0

0 Rk−1,k

«„I −pk+1,n|Fk0 I

«Jk+1|Fk

with :k = Int(n

2 )

robot with a spherical wrist : p4,6 = 0pk+1,n|Fk : antisymmetric matrix associated to theprojection of pk+1,n in Fk

Jk+1|Fk : projection in Fk

Jk+1 =

σ1z1 + σ1z1 × p

1,k+1σ2z2 + σ2z2 × p

2,k+1. . . σnzn + σnzn × p

n,k+1σ1z1 σ2z2 . . . σnzn

!

Page 108: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

Practical rules

For analytical calculations, it is worth using :

Jg =

„R0,1 0

0 R0,1

«„R1,2 0

0 R1,2

«. . .

„Rk−1,k 0

0 Rk−1,k

«„I −pk+1,n|Fk0 I

«Jk+1|Fk

with :k = Int(n

2 )

robot with a spherical wrist : p4,6 = 0pk+1,n|Fk : antisymmetric matrix associated to theprojection of pk+1,n in Fk

Jk+1|Fk : projection in Fk

Jk+1 =

σ1z1 + σ1z1 × p

1,k+1σ2z2 + σ2z2 × p

2,k+1. . . σnzn + σnzn × p

n,k+1σ1z1 σ2z2 . . . σnzn

!

Page 109: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

ExampleSCARA-type manipulator. . .

Page 110: Introduction to Robotics - Unistraeavr.u-strasbg.fr/~bernard/education/houston/slides_houston... · Introduction to Robotics Bernard BAYLE Joint course University of Strasbourg, University

Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling

The End

Further questions ?