Upload
dangtuyen
View
219
Download
0
Embed Size (px)
Citation preview
Outline
Introduction to Robotics
Bernard BAYLE
Joint courseUniversity of Strasbourg, University of Houston, Telecom Paris Tech
2008–2009
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
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)
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)
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)
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)
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.
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.
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.
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.
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.
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.
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.
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.
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
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 ′
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 ′
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′
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′
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′
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′
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 .
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, θ).
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 .
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′
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.
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.
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.
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.
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.
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)
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)
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)
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′′.
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′′
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 ?
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 ′
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′′)
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 ?
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
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 .
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.
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.
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
ψ
xψ
zψ
θ
xθ
zθ
y yψ
yθϕ
zϕ
yϕ
xϕ
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
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.
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
βγ
α
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
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.
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 ′
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′
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.
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
).
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
).
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
).
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
).
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)
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
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.
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
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.
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
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
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.
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).
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).
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.
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
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
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
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 .
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 .
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 .
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 .
Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling
ExampleSCARA-type manipulator. . .
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
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.
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.
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 .
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 .
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
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.
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.
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.
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
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
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)
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.
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.
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.
Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling
ExampleSCARA-type manipulator. . .
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.
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.
Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling
ExampleSCARA-type manipulator. . .
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.
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 .
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
«
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
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
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
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
.
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
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 .
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
!
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
!
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
!
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
!
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
!
Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling
ExampleSCARA-type manipulator. . .
Rigid-Body Mechanics Description of Robotic Manipulators Robotic Manipulators Modelling
The End
Further questions ?