Differential kinematics - uniroma1.it

35
Robotics 1 Differential kinematics Prof. Alessandro De Luca Robotics 1 1

Transcript of Differential kinematics - uniroma1.it

Page 1: Differential kinematics - uniroma1.it

Robotics 1

Differential kinematics

Prof. Alessandro De Luca

Robotics 1 1

Page 2: Differential kinematics - uniroma1.it

Differential kinematicsn relations between motion (velocity) in joint space

and motion (linear/angular velocity) in task space (e.g., Cartesian space)

n instantaneous velocity mappings can be obtained through time differentiation of the direct kinematics or in a geometric way, directly at the differential leveln different treatments arise for rotational quantitiesn establish the relation between angular velocity and

n time derivative of a rotation matrixn time derivative of the angles in a minimal representation

of orientation

Robotics 1 2

Page 3: Differential kinematics - uniroma1.it

Angular velocity of a rigid body

๐‘ƒ"๐‘Ÿ$"

โ€œrigidityโ€ constraint on distances among points: ๐‘Ÿ%& = constant

๐‘ฃ(% โˆ’ ๐‘ฃ(& orthogonal to ๐‘Ÿ%&๐‘ฃ(" โˆ’ ๐‘ฃ($ = ๐œ”$ ร— ๐‘Ÿ$"1

๐‘ฃ(- โˆ’ ๐‘ฃ($ = ๐œ”$ ร— ๐‘Ÿ$-2

๐‘ฃ(- โˆ’ ๐‘ฃ(" = ๐œ”" ร— ๐‘Ÿ"-3

2 - 1 = 3 ๐œ”$ = ๐œ”" = ๐œ”

๐‘ƒ-๐‘Ÿ$-

โˆ€๐‘ƒ$, ๐‘ƒ", ๐‘ƒ-

ยง the angular velocity ๐œ” is associated to the whole body (not to a point)ยง if โˆƒ๐‘ƒ$, ๐‘ƒ": ๐‘ฃ($ = ๐‘ฃ(" = 0 โ‡’ pure rotation (circular motion of all ๐‘ƒ& โˆ‰ line ๐‘ƒ$๐‘ƒ")ยง ๐œ” = 0 โ‡’ pure translation (all points have the same velocity ๐‘ฃ()

๐‘Ÿ"-

๐‘ฃ(& = ๐‘ฃ(% + ๐œ” ร— ๐‘Ÿ%&= ๐‘ฃ(% + ๐‘† ๐œ” ๐‘Ÿ%& ๏ฟฝฬ‡๏ฟฝ%&= ๐œ” ร— ๐‘Ÿ%&

Robotics 1 3

๐‘ƒ$๐‘ฃ(- โˆ’ ๐‘ฃ($

๐‘ฃ(" โˆ’ ๐‘ฃ($

๐‘ฃ("๐‘ฃ($

๐‘ฃ(-

aka, โ€œ(fundamental)kinematic equationโ€

of rigid bodies

Page 4: Differential kinematics - uniroma1.it

๐‘‡ = ๐‘… ๐‘0: 1

Linear and angular velocity of the robot end-effector

n ๐‘ฃ and ๐œ” are โ€œvectorsโ€, namely are elements of vector spacesn they can be obtained as the sum of single contributions (in any order)n such contributions will be given by the single (linear or angular) joint velocities

n on the other hand, ๐œ™ (and ๏ฟฝฬ‡๏ฟฝ) is not an element of a vector spacen a minimal representation of a sequence of two rotations is not obtained summing

the corresponding minimal representations (accordingly, for their time derivatives)

๐‘Ÿ = (๐‘, ๐œ™)

๐Ž๐’—

alternative definitionsof the direct kinematics

of the end-effector

in general, ๐œ” โ‰  ๏ฟฝฬ‡๏ฟฝRobotics 1 4

๐œ”$ = ๐‘งC๏ฟฝฬ‡๏ฟฝ$

๐œ”" = ๐‘ง$๏ฟฝฬ‡๏ฟฝ" ๐œ”E = ๐‘งEF$๏ฟฝฬ‡๏ฟฝE

๐œ”% = ๐‘ง%F$๏ฟฝฬ‡๏ฟฝ%๐‘ฃ- = ๐‘ง"๏ฟฝฬ‡๏ฟฝ-

Page 5: Differential kinematics - uniroma1.it

Finite and infinitesimal translationsn finite ฮ”๐‘ฅ, ฮ”๐‘ฆ. ฮ”๐‘ง or infinitesimal ๐‘‘๐‘ฅ, ๐‘‘๐‘ฆ, ๐‘‘๐‘ง translations

(linear displacements) always commute

Robotics 1 5

๐‘ฅ

๐‘ฆ

๐‘ง ฮ”๐‘ฆ

ฮ”๐‘ง๐‘ฅ

๐‘ฆ

๐‘งฮ”๐‘ง

same finalposition

=

ฮ”๐‘ฆ

Page 6: Differential kinematics - uniroma1.it

Finite rotations do not commuteexample

๐‘ฅ

๐‘ฆ

๐‘ง

๐œ™L = 90ยฐ

๐œ™O = 90ยฐ

๐‘ฅ

๐‘ฆ

๐‘ง

๐‘ฅ

๐‘ฆ

๐‘ง ๐œ™L = 90ยฐ

๐‘ฅ๐‘ฆ

๐‘ง

๐œ™O = 90ยฐ

mathematical fact: ๐œ” is NOT an exact differential form(the integral of ๐œ” over time

depends on the integration path!)

different finalorientations!

๐‘ฅ

๐‘ฆ

๐‘ง

initialorientation

Robotics 1 6note: finite rotations still commute

when made around the same fixed axis

Page 7: Differential kinematics - uniroma1.it

๐œ” is not an exact differentialwhiteboard โ€ฆ

Robotics 1 7

initialorientation

๐‘…% = ๐ผ๐œ”Q

๐œ”R

๐œ”S

๐‘‡ = 2 ๐‘ 

๐œ”Q

๐œ”R

๐œ”S

๐‘‡๐‘‡/2๐‘ก

90ยฐ

90ยฐ

90ยฐ

90ยฐ

first finalorientation

๐‘…X,LO

โ€ฆfinalorientation

๐‘…X,OL

YC

:๐œ”(๐‘ก)๐‘‘๐‘ก = Y

C

: ๐œ”Q(๐‘ก)๐œ”R(๐‘ก)๐œ”S(๐‘ก)

๐‘‘๐‘ก

=90ยฐ090ยฐ

YC

:๐œ” ๐‘ก ๐‘‘๐‘ก = โ‹ฏ =

90ยฐ090ยฐ

YC

:๏ฟฝฬ‡๏ฟฝ ๐‘ก ๐‘‘๐‘ก = Y

C

: ๐‘‘๐œ™๐‘‘๐‘ก ๐‘‘๐‘ก = Y

[(C)

[(:)๐‘‘๐œ™ = ๐œ™X โˆ’ ๐œ™%

an exact differential form

โ€ฆthe same value but a differentโ€ฆ

Page 8: Differential kinematics - uniroma1.it

Infinitesimal rotations commute!n infinitesimal rotations ๐‘‘๐œ™O, ๐‘‘๐œ™\, ๐‘‘๐œ™L around ๐‘ฅ, ๐‘ฆ, ๐‘ง axes

Robotics 1 8

n ๐‘… ๐‘‘๐œ™ = ๐‘… ๐‘‘๐œ™O, ๐‘‘๐œ™\, ๐‘‘๐œ™L =1 โˆ’๐‘‘๐œ™L ๐‘‘๐œ™\๐‘‘๐œ™L 1 โˆ’๐‘‘๐œ™Oโˆ’๐‘‘๐œ™\ ๐‘‘๐œ™O 1

in any order

๐‘…O ๐œ™O =1 0 00 cos ๐œ™O โˆ’sin๐œ™O0 sin ๐œ™O cos ๐œ™O

๐‘…O ๐‘‘๐œ™O =1 0 00 1 โˆ’๐‘‘๐œ™O0 ๐‘‘๐œ™O 1

๐‘…\ ๐œ™\ =cos ๐œ™\ 0 sin ๐œ™\0 1 0

โˆ’sin๐œ™\ 0 cos ๐œ™\๐‘…\ ๐‘‘๐œ™\ =

1 0 ๐‘‘๐œ™\0 1 0

โˆ’๐‘‘๐œ™\ 0 1

๐‘…L ๐œ™L =cos ๐œ™L โˆ’sin๐œ™L 0sin ๐œ™L cos ๐œ™L 00 0 1

๐‘…L ๐‘‘๐œ™L =1 โˆ’๐‘‘๐œ™L 0๐‘‘๐œ™L 1 00 0 1

neglectingsecond- andthird-order

(infinitesimal)terms

= ๐ผ + ๐‘†(๐‘‘๐œ™)

Page 9: Differential kinematics - uniroma1.it

Time derivative of a rotation matrixยง let ๐‘… = ๐‘…(๐‘ก) be a rotation matrix, given as a function of timeยง since ๐ผ = ๐‘…(๐‘ก)๐‘…:(๐‘ก), taking the time derivative of both sides yields

0 = ๐‘‘ ๐‘… ๐‘ก ๐‘…: ๐‘ก /๐‘‘๐‘ก = โ„๐‘‘๐‘…(๐‘ก) ๐‘‘๐‘ก ๐‘…:(๐‘ก) + ๐‘… ๐‘ก โ„๐‘‘๐‘…:(๐‘ก) ๐‘‘๐‘ก

= โ„๐‘‘๐‘…(๐‘ก) ๐‘‘๐‘ก ๐‘…:(๐‘ก) + โ„๐‘‘๐‘…(๐‘ก) ๐‘‘๐‘ก ๐‘…:(๐‘ก) :

thus โ„๐‘‘๐‘… ๐‘ก ๐‘‘๐‘ก ๐‘…: ๐‘ก = ๐‘†(๐‘ก) is a skew-symmetric matrixยง let ๐‘(๐‘ก) = ๐‘…(๐‘ก)๐‘c a vector (with constant norm) rotated over timeยง comparing

๏ฟฝฬ‡๏ฟฝ ๐‘ก = โ„๐‘‘๐‘… ๐‘ก ๐‘‘๐‘ก ๐‘c = ๐‘† ๐‘ก ๐‘… ๐‘ก ๐‘c = ๐‘†(๐‘ก)๐‘(๐‘ก)๏ฟฝฬ‡๏ฟฝ ๐‘ก = ๐œ” ๐‘ก ร— ๐‘ ๐‘ก = ๐‘† ๐œ” ๐‘ก ๐‘(๐‘ก)

we get ๐‘† = ๐‘† ๐œ”

๏ฟฝฬ‡๏ฟฝ = ๐‘† ๐œ” ๐‘… ๐‘† ๐œ” = ๏ฟฝฬ‡๏ฟฝ ๐‘…:Robotics 1 9

๐‘

๐œ”

๏ฟฝฬ‡๏ฟฝ

Page 10: Differential kinematics - uniroma1.it

ExampleTime derivative of an elementary rotation matrix

Robotics 1 10

๐‘…O ๐œ™ ๐‘ก =1 0 00 cos๐œ™(๐‘ก) โˆ’ sin๐œ™(๐‘ก)0 sin๐œ™(๐‘ก) cos ๐œ™(๐‘ก)

๏ฟฝฬ‡๏ฟฝO ๐œ™ ๐‘…O:(๐œ™) = ๏ฟฝฬ‡๏ฟฝ0 0 00 โˆ’ sin๐œ™ โˆ’ cos๐œ™0 cos๐œ™ โˆ’ sin๐œ™

1 0 00 cos๐œ™ sin๐œ™0 โˆ’ sin๐œ™ cos๐œ™

=0 0 00 0 โˆ’ ๏ฟฝฬ‡๏ฟฝ0 ๏ฟฝฬ‡๏ฟฝ 0

= ๐‘† ๐œ” ๐œ” = ๐œ”O =๏ฟฝฬ‡๏ฟฝ00

more in general, for the axis/angle rotation matrix

๏ฟฝฬ‡๏ฟฝ ๐‘Ÿ, ๐œƒ ๐‘…: ๐‘Ÿ, ๐œƒ = ๐‘† ๐œ”๐‘… ๐‘Ÿ, ๐œƒ ๐‘ก โŸน ๐œ” = ๐œ”e = ๏ฟฝฬ‡๏ฟฝ ๐‘Ÿ = ๏ฟฝฬ‡๏ฟฝ๐‘ŸQ๐‘ŸR๐‘ŸS

Page 11: Differential kinematics - uniroma1.it

Time derivative of RPY angles and ๐œ”

๐‘ง

๐‘ฆ

๐‘ฅ

๏ฟฝฬ‡๏ฟฝ๐‘ฆc

๐›พ๐‘ฅc

๐›ฝ

๐‘ฅcc

๐‘‡h(\(๐›ฝ, ๐›พ)

det ๐‘‡h(\ ๐›ฝ, ๐›พ = cos ๐›ฝ = 0for ๐›ฝ = ยฑ โ„๐œ‹ 2

(singularity of theRPY representation)

similar treatment for the other 11 minimal representations...

2nd col in ๐‘…L ๐›พ

1st col in๐‘…L ๐›พ ๐‘…\k ๐›ฝ

Robotics 1 11

the three contributions๏ฟฝฬ‡๏ฟฝ๐‘, ๏ฟฝฬ‡๏ฟฝ๐‘Œc, ๏ฟฝฬ‡๏ฟฝ๐‘‹ccto ๐œ” are simply summed as vectors

๐‘…h(\ ๐›ผO, ๐›ฝ\, ๐›พL = ๐‘…L\kOkk ๐›พL, ๐›ฝ\, ๐›ผO = ๐‘…L ๐›พ ๐‘…\k ๐›ฝ ๐‘…Okk ๐›ผ

๐œ” =๏ฟฝฬ‡๏ฟฝ๏ฟฝฬ‡๏ฟฝ๏ฟฝฬ‡๏ฟฝ

๐‘๐›ฝ๐‘๐›พ๐‘๐›ฝ๐‘ ๐›พโˆ’๐‘ ๐›ฝ

โˆ’๐‘ ๐›พ๐‘๐›พ0

001

๐‘‹cc ๐‘Œc ๐‘๏ฟฝฬ‡๏ฟฝ

๏ฟฝฬ‡๏ฟฝ

Page 12: Differential kinematics - uniroma1.it

Robot Jacobian matrices

n analytical Jacobian (obtained by time differentiation)

n geometric or basic Jacobian (no derivatives)

Robotics 1 12

n in both cases, the Jacobian matrix depends on the (current) configuration of the robot

๐‘Ÿ =๐‘๐œ™ = ๐‘“e ๐‘ž ๏ฟฝฬ‡๏ฟฝ =

๏ฟฝฬ‡๏ฟฝ๏ฟฝฬ‡๏ฟฝ

=๐œ•๐‘“e ๐‘ž๐œ•๐‘ž

๏ฟฝฬ‡๏ฟฝ = ๐ฝe ๐‘ž ๏ฟฝฬ‡๏ฟฝ

๐‘ฃ๐œ” =

๐ฝu(๐‘ž)๐ฝv(๐‘ž)

๏ฟฝฬ‡๏ฟฝ = ๐ฝ(๐‘ž)๏ฟฝฬ‡๏ฟฝ

Page 13: Differential kinematics - uniroma1.it

Analytical Jacobian of planar 2R arm

direct kinematics

๐‘๐‘ฅ = ๐‘™1 cos๐‘ž1 + ๐‘™2 cos(๐‘ž1 + ๐‘ž2)

๐‘๐‘ฆ = ๐‘™1 sin๐‘ž1 + ๐‘™2 sin(๐‘ž1 + ๐‘ž2)

given ๐‘Ÿ, this is a 3 ร— 2matrix

Robotics 1 13

๐‘Ÿ

๐œ™ = ๐‘ž1 + ๐‘ž2

๏ฟฝฬ‡๏ฟฝ = ๐œ”S = ๏ฟฝฬ‡๏ฟฝ1 + ๏ฟฝฬ‡๏ฟฝ"

here, all rotations occur around the samefixed axis ๐‘ง (normal to the plane of motion)

๐‘ฅ

๐‘ฆ

๐‘ž1

๐‘ž2

๐‘ƒโ€ข

๐‘™1

๐‘™2

๐‘๐‘ฅ

๐‘๐‘ฆ๐œ™

๏ฟฝฬ‡๏ฟฝ๐‘ฅ = โˆ’๐‘™1 ๐‘ $๏ฟฝฬ‡๏ฟฝ$ โˆ’ ๐‘™"๐‘ $" ๏ฟฝฬ‡๏ฟฝ$ + ๏ฟฝฬ‡๏ฟฝ"๏ฟฝฬ‡๏ฟฝ๐‘ฆ = ๐‘™1 ๐‘$๏ฟฝฬ‡๏ฟฝ$ + ๐‘™"๐‘$" ๏ฟฝฬ‡๏ฟฝ$ + ๏ฟฝฬ‡๏ฟฝ"

๐ฝ ๐‘ž = โˆ’๐‘™$๐‘ $ โˆ’ ๐‘™"๐‘ $" โˆ’๐‘™"๐‘ $"๐‘™$๐‘$ + ๐‘™"๐‘$" ๐‘™"๐‘$"๐ฝe ๐‘ž =โˆ’๐‘™$๐‘ $ โˆ’ ๐‘™"๐‘ $" โˆ’๐‘™"๐‘ $"๐‘™$๐‘$ + ๐‘™"๐‘$" ๐‘™"๐‘$"

1 1

Page 14: Differential kinematics - uniroma1.it

Analytical Jacobian of polar (RRP) robot

direct kinematics (here, ๐‘Ÿ = ๐‘)

taking the time derivative

Robotics 1 14

๐‘“e(๐‘ž)

๐‘๐‘ฅ

๐‘๐‘ฆ

๐‘๐‘ง

๐‘ž1

๐‘ž2

๐‘ž3

๐‘‘1

๐‘ƒ๐‘Q = ๐‘ž-๐‘"๐‘$๐‘R = ๐‘ž-๐‘"๐‘ $๐‘S = ๐‘‘$ + ๐‘ž-๐‘ "

๐‘ฃ = ๏ฟฝฬ‡๏ฟฝ =โˆ’๐‘ž-๐‘"๐‘ $ โˆ’๐‘ž-๐‘ "๐‘$ ๐‘"๐‘$๐‘ž-๐‘"๐‘$ โˆ’๐‘ž-๐‘ "๐‘ $ ๐‘"๐‘ $0 ๐‘ž-๐‘" ๐‘ "

๏ฟฝฬ‡๏ฟฝ = ๐ฝe ๐‘ž ๏ฟฝฬ‡๏ฟฝ

๐œ•๐‘“e ๐‘ž๐œ•๐‘ž

๐‘ฆ

๐‘ง

๐‘ฅ

Page 15: Differential kinematics - uniroma1.it

Geometric Jacobian

contribution to the lineare-e velocity due to ๏ฟฝฬ‡๏ฟฝ$

linear and angular velocity belong to (linear) vector spaces in โ„-

superposition of effects

end-effectorinstantaneous

velocity

always a 6 ร— ๐‘› matrix

contribution to the angulare-e velocity due to ๏ฟฝฬ‡๏ฟฝ$

Robotics 1 15

๐‘ฃ|๐œ”| =

๐ฝu(๐‘ž)๐ฝv(๐‘ž)

๏ฟฝฬ‡๏ฟฝ = ๐ฝu$ ๐‘ž โ‹ฏ ๐ฝuE ๐‘ž๐ฝv$ ๐‘ž โ‹ฏ ๐ฝvE ๐‘ž

๏ฟฝฬ‡๏ฟฝ$โ‹ฎ๏ฟฝฬ‡๏ฟฝE

๐‘ฃ| = ๐ฝu$ ๐‘ž ๏ฟฝฬ‡๏ฟฝ$ + โ‹ฏ+ ๐ฝuE ๐‘ž ๏ฟฝฬ‡๏ฟฝE ๐œ”| = ๐ฝv$ ๐‘ž ๏ฟฝฬ‡๏ฟฝ$ + โ‹ฏ+ ๐ฝvE ๐‘ž ๏ฟฝฬ‡๏ฟฝE

Page 16: Differential kinematics - uniroma1.it

prismatic๐‘–-th joint

๐ฝu% ๐‘ž ๏ฟฝฬ‡๏ฟฝ% ๐‘ง%F$๏ฟฝฬ‡๏ฟฝ%

๐ฝv% ๐‘ž ๏ฟฝฬ‡๏ฟฝ% 0

Contribution of a prismatic joint

๐‘…๐นC

๐‘ง%F$

๐‘ž% = ๐‘‘%

๐ธ

๐ฝu% ๐‘ž ๏ฟฝฬ‡๏ฟฝ% = ๐‘ง%F$๏ฟฝฬ‡๏ฟฝ%note: joints beyond the ๐‘–-th one are considered to be โ€œfrozenโ€,

so that the distal part of the robot is a single rigid body

Robotics 1 16

joint ๐‘–

Page 17: Differential kinematics - uniroma1.it

revolute๐‘–-th joint

๐ฝu% ๐‘ž ๏ฟฝฬ‡๏ฟฝ% ๐‘ง%F$ร— ๐‘%F$,| ๏ฟฝฬ‡๏ฟฝ%

๐ฝv% ๐‘ž ๏ฟฝฬ‡๏ฟฝ% ๐‘ง%F$๏ฟฝฬ‡๏ฟฝ%

Contribution of a revolute joint

๐‘ž% = ๐œƒ%

โ€ข

๐‘%F$,|

Robotics 1 17

joint ๐‘–

๐‘…๐นC

๐‘ง%F$

๐‘‚%F$

๐ฝu% ๐‘ž ๏ฟฝฬ‡๏ฟฝ% ๐ฝv% ๐‘ž ๏ฟฝฬ‡๏ฟฝ% = ๐‘ง%F$๏ฟฝฬ‡๏ฟฝ%

๐ท๐ธ๐ท why not use theminimum distancevector ๐ท๐ธ?

๐ธ

Page 18: Differential kinematics - uniroma1.it

Expression of geometric Jacobian

prismatic ๐‘–-th joint

revolute๐‘–-th joint

๐ฝu% ๐‘ž ๐‘ง%F$ ๐‘ง%F$ร— ๐‘%F$,|

๐ฝv% ๐‘ž 0 ๐‘ง%F$

๐‘ง%F$ = C๐‘…$ ๐‘ž$ โ‹ฏ %F"๐‘…%F$ ๐‘ž%F$ %F$๐‘ง%F$๐‘%F$,| = ๐‘C,|(๐‘ž$,โ‹ฏ , ๐‘žE) โˆ’ ๐‘C,%F$(๐‘ž$,โ‹ฏ , ๐‘ž%F$)

all vectors should be expressed in the same

reference frame(here, the base frame ๐‘…๐นC)

Robotics 1 18

=๐œ•๐‘C,|(๐‘ž)๐œ•๐‘ž%

this can be alsocomputed as

๐‘ฃ|๐œ”| =

๐ฝu(๐‘ž)๐ฝv(๐‘ž)

๏ฟฝฬ‡๏ฟฝ = ๐ฝu$ ๐‘ž โ‹ฏ ๐ฝuE ๐‘ž๐ฝv$ ๐‘ž โ‹ฏ ๐ฝvE ๐‘ž

๏ฟฝฬ‡๏ฟฝ$โ‹ฎ๏ฟฝฬ‡๏ฟฝE

๏ฟฝฬ‡๏ฟฝC,|๐œ”|

=

complete kinematicsfor e-e position

partial kinematicsfor ๐‘‚%F$ position

001

Page 19: Differential kinematics - uniroma1.it

๐‘C,|

๐‘C,$

Geometric Jacobian of planar 2R arm

๐‘ฅ0

๐‘ฆ0

โ€ข ๐ธ

๐‘™1

๐‘™2

๐‘ฅ1

๐‘ฆ1

๐‘ฆ2 ๐‘ฅ2joint ๐›ผ% ๐‘‘% ๐‘Ž% ๐œƒ%1 0 0 ๐‘™$ ๐‘ž$2 0 0 ๐‘™" ๐‘ž"

๐‘$,| = ๐‘C,| โˆ’ ๐‘C,$

Denavit-Hartenberg table

๐‘งC = ๐‘ง$ = ๐‘ง" =001

Robotics 1 19

C๐ด$ =

๐‘$ โˆ’๐‘ $๐‘ $ ๐‘$

0 ๐‘™$๐‘$0 ๐‘™$๐‘ $

0 00 0

1 00 1

C๐ด" =

๐‘$" โˆ’๐‘ $"๐‘ $" ๐‘$"

0 ๐‘™$๐‘$ + ๐‘™"๐‘$"0 ๐‘™$๐‘ $ + ๐‘™"๐‘ $"

0 00 0

1 00 1

๐ฝ ๐‘ž =๐‘งC ร— ๐‘C,| ๐‘ง$ ร— ๐‘$,|

๐‘งC ๐‘ง$

๐‘ž$

๐‘ž"

Page 20: Differential kinematics - uniroma1.it

Geometric Jacobian of planar 2R arm

at most 2 components of the linear/angularend-effector velocity can be independently assigned

Robotics 1 20

๐‘ฆ0

โ€ข ๐ธ

๐‘™1

๐‘™2๐‘ฆ1

๐‘ฆ2 ๐‘ฅ2 ๐ฝ ๐‘ž =๐‘งC ร— ๐‘C,| ๐‘ง$ ร— ๐‘$,|

๐‘งC ๐‘ง$

=

โˆ’๐‘™$๐‘ $ โˆ’ ๐‘™"๐‘ $"๐‘™$๐‘$ + ๐‘™"๐‘$"

0

โˆ’๐‘™"๐‘ $"๐‘™"๐‘$"0

001

001

compare rows 1, 2, and 6with the analytical

Jacobian in slide #13!

note: the Jacobian is here a 6 ร— 2 matrix, thus its maximum rank is 2

๐‘ฅ0

๐‘ฅ1๐‘ž$

๐‘ž"

Page 21: Differential kinematics - uniroma1.it

Transformations of Jacobian matrix

๐‘‚๐‘›

๐‘…๐น0

๐‘…๐น๐ต

โ€ข ๐ธ๐‘ŸE|

๐‘ฃ| = ๐‘ฃE + ๐œ” ร— ๐‘ŸE|= ๐‘ฃE + ๐‘†(๐‘Ÿ|E) ๐œ”

a) we may choose๐‘…๐น๏ฟฝ โ‡’ ๐‘…๐น%(๐‘ž)

๐‘…๐น๐‘–

๐‘‚&

b) we may choose๐ธ โ‡’ ๐‘‚&(๐‘ž)

never singular!

the one just computed โ€ฆ

Robotics 1 21

C๐‘ฃEC๐œ”

= C๐ฝE ๐‘ž ๏ฟฝฬ‡๏ฟฝ

๏ฟฝ๐‘ฃ|๏ฟฝ๐œ”

=๏ฟฝ๐‘…C 00 ๏ฟฝ๐‘…C

๐ผ ๐‘† C๐‘Ÿ|E0 ๐ผ

C๐‘ฃEC๐œ”

=๏ฟฝ๐‘…C 00 ๏ฟฝ๐‘…C

๐ผ ๐‘† C๐‘Ÿ|E0 ๐ผ

C๐ฝE ๐‘ž ๏ฟฝฬ‡๏ฟฝ = ๏ฟฝ๐ฝ| ๐‘ž ๏ฟฝฬ‡๏ฟฝ

Page 22: Differential kinematics - uniroma1.it

Example: Dexter robotn 8R robot manipulator with transmissions by

pulleys and steel cables (joints 3 to 8)n lightweight: only 15 kg in motionn motors located in second linkn incremental encoders (homing)n redundancy degree for e-e pose task: ๐‘› โˆ’ ๐‘š = 2n compliant in the interaction with environment

Robotics 1 22

Page 23: Differential kinematics - uniroma1.it

Mid-frame Jacobian of Dexter robotn geometric Jacobian 0๐ฝ8(๐‘ž) is very complexn โ€œmid-frameโ€ Jacobian 4๐ฝ4(๐‘ž) is relatively simple!

6 rows,8 columns ๐‘ฅ0

๐‘ฆ0

๐‘ง0

๐‘‚8

๐‘ฅ4๐‘ฆ4

๐‘ง4๐‘‚4

Robotics 1 23

Page 24: Differential kinematics - uniroma1.it

Summary of differential relations๏ฟฝฬ‡๏ฟฝ โ‡„ ๐‘ฃ

Robotics 1 24

๐‘‡ ๐œ™ has always โŸบ singularity of the specific minimala singularity representation of orientation

(moving) axes of definition for the sequence of rotations ๐œ™%, ๐‘– = 1,2,3

๏ฟฝฬ‡๏ฟฝ = ๐‘ฃ

๏ฟฝฬ‡๏ฟฝ โ‡„ ๐œ”

๏ฟฝฬ‡๏ฟฝ โ‡„ ๐œ”

if the task vector ๐‘Ÿ is

๐‘Ÿ =๐‘๐œ™ ๐ฝ ๐‘ž = ๐ผ 0

0 ๐‘‡ ๐œ™ ๐ฝe(๐‘ž)๐ฝe ๐‘ž = ๐ผ 00 ๐‘‡F$ ๐œ™ ๐ฝ(๐‘ž)

for each (unit) column ๐‘Ÿ% of ๐‘… (a frame): ๏ฟฝฬ‡๏ฟฝ% = ๐œ” ร— ๐‘Ÿ%๏ฟฝฬ‡๏ฟฝ = ๐‘† ๐œ” ๐‘…๐‘† ๐œ” = ๏ฟฝฬ‡๏ฟฝ๐‘…:

๐œ” = ๐œ”[ฬ‡๏ฟฝ + ๐œ”[ฬ‡๏ฟฝ + ๐œ”[ฬ‡๏ฟฝ = ๐‘Ž$๏ฟฝฬ‡๏ฟฝ$ + ๐‘Ž" ๐œ™$ ๏ฟฝฬ‡๏ฟฝ" + ๐‘Ž- ๐œ™$, ๐œ™" ๏ฟฝฬ‡๏ฟฝ-= ๐‘‡ ๐œ™ ๏ฟฝฬ‡๏ฟฝ

Page 25: Differential kinematics - uniroma1.it

Acceleration relations (and beyondโ€ฆ)Higher-order differential kinematics

n differential relations between motion in the joint space and motion in the task space can be established at the second order, third order, ...

n the analytical Jacobian always โ€œweightsโ€ the highest-order derivative

๏ฟฝฬ‡๏ฟฝ = ๐ฝe ๐‘ž ๏ฟฝฬ‡๏ฟฝvelocity

๏ฟฝฬˆ๏ฟฝ = ๐ฝe ๐‘ž ๏ฟฝฬˆ๏ฟฝ + ฬ‡๐ฝe(๐‘ž)๏ฟฝฬ‡๏ฟฝacceleration

๐‘Ÿ = ๐ฝe ๐‘ž ๐‘ž + 2 ฬ‡๐ฝe ๐‘ž ๏ฟฝฬˆ๏ฟฝ + ฬˆ๐ฝe(๐‘ž)๏ฟฝฬ‡๏ฟฝjerk

snap ฬˆ๏ฟฝฬˆ๏ฟฝ = ๐ฝe(๐‘ž) ฬˆ๏ฟฝฬˆ๏ฟฝ + โ‹ฏ

matrix function ๐‘"(๐‘ž, ๏ฟฝฬ‡๏ฟฝ)

n the same holds true also for the geometric Jacobian ๐ฝ(๐‘ž)

Robotics 1 25

matrix function ๐‘-(๐‘ž, ๏ฟฝฬ‡๏ฟฝ, ๏ฟฝฬˆ๏ฟฝ)

Page 26: Differential kinematics - uniroma1.it

Primer on linear algebra

n rank ๐œŒ(๐ฝ) = max # of rows or columns that are linearly independentn ๐œŒ ๐ฝ โ‰ค min ๐‘š, ๐‘› โŸธ if equality holds, ๐ฝ has full rankn if ๐‘š = ๐‘› and ๐ฝ has full rank, ๐ฝ is nonsingular and the inverse ๐ฝF$ existsn ๐œŒ ๐ฝ = dimension of the largest nonsingular square submatrix of ๐ฝ

n range space โ„› ๐ฝ = subspace of all linear combinations of the columns of ๐ฝโ„› ๐ฝ = ๐‘ฃ โˆˆ โ„๏ฟฝ โˆถ โˆƒ๐œ‰ โˆˆ โ„E, ๐‘ฃ = ๐ฝ๐œ‰

n dim โ„› ๐ฝ = ๐œŒ(๐ฝ)

n null space ๐’ฉ(๐ฝ) = subspace of all vectors that are zeroed by matrix ๐ฝ๐’ฉ ๐ฝ = ๐œ‰ โˆˆ โ„E: ๐ฝ๐œ‰ = 0 โˆˆ โ„๏ฟฝ

n dim ๐’ฉ ๐ฝ = ๐‘› โˆ’ ๐œŒ(๐ฝ)

n โ„› ๐ฝ +๐’ฉ ๐ฝ: = โ„๏ฟฝ and โ„› ๐ฝ: +๐’ฉ ๐ฝ = โ„E (sum of vector subspaces) n any element ๐‘ฃ โˆˆ ๐‘‰ = ๐‘‰$ + ๐‘‰" can be written as ๐‘ฃ = ๐‘ฃ$ + ๐‘ฃ", ๐‘ฃ$ โˆˆ ๐‘‰$, ๐‘ฃ" โˆˆ ๐‘‰"

given a matrix ๐ฝ: ๐‘š ร— ๐‘› (๐‘š rows, ๐‘› columns)

Robotics 1 26

also called image of ๐ฝ

also called kernel of ๐ฝ

Page 27: Differential kinematics - uniroma1.it

Robot Jacobiandecomposition in linear subspaces and duality

0 0

space of joint velocities

space oftask (Cartesian)

velocities

โ„› ๐ฝ๐’ฉ(๐ฝ)

๐‘ฑ

space of joint torques

space oftask (Cartesian)

forces

0โ„› ๐ฝ: ๐’ฉ ๐ฝ:

๐‘ฑ๐‘ป

0

โ„› ๐ฝ +๐’ฉ ๐ฝ: = โ„๏ฟฝโ„› ๐ฝ: +๐’ฉ ๐ฝ = โ„E

(in a given configuration ๐‘ž)

dual spacesdual

spa

ces

Robotics 1 27

Page 28: Differential kinematics - uniroma1.it

Mobility analysis in the task spacen ๐œŒ(๐ฝ) = ๐œŒ(๐ฝ(๐‘ž)), โ„› ๐ฝ = โ„› ๐ฝ(๐‘ž) , ๐’ฉ ๐ฝ: = ๐’ฉ ๐ฝ:(๐‘ž) , etc. are locally

defined, i.e., they depend on the current configuration ๐‘žn โ„› ๐ฝ(๐‘ž) is the subspace of all โ€œgeneralizedโ€ velocities (with linear

and/or angular components) that can be instantaneously realized by the robot end-effector when varying the joint velocities ๏ฟฝฬ‡๏ฟฝ at the current ๐‘ž

n if ๐œŒ ๐ฝ ๐‘ž = ๐‘š at ๐‘ž (๐ฝ(๐‘ž) has max rank, with ๐‘š โ‰ค ๐‘›), the end-effector can be moved in any direction of the task space โ„๏ฟฝ

n if ๐œŒ(๐ฝ(๐‘ž)) < ๐‘š, there are directions in โ„๏ฟฝ in which the end-effector cannot move (at least, not instantaneously!)n these directions โˆˆ ๐’ฉ ๐ฝ:(๐‘ž) , the complement of โ„› ๐ฝ(๐‘ž) to task space โ„๏ฟฝ,

which is of dimension ๐‘š โˆ’ ๐œŒ(๐ฝ(๐‘ž))

n if ๐’ฉ(๐ฝ ๐‘ž ) โ‰  0 , there are non-zero joint velocities ๏ฟฝฬ‡๏ฟฝ that produce zero end-effector velocity (โ€œself motionsโ€)n this happens always for ๐‘š < ๐‘›, i.e., when the robot is redundant for the task

Robotics 1 28

Page 29: Differential kinematics - uniroma1.it

Mobility analysis for a planar 3R robotwhiteboard โ€ฆ

Robotics 1 29

n run the Matlab code subspaces_3Rplanar.m available in the course material

๐‘™$ = ๐‘™" = ๐‘™- = 1 ๐‘› = 3,

๐‘Š๐‘†$ = ๐‘ โˆˆ โ„": ๐‘ โ‰ค 3 โŠ‚ โ„"

๐‘Š๐‘†" = ๐‘ โˆˆ โ„": ๐‘ โ‰ค 1 โŠ‚ โ„"

๐‘ = ๐‘$ + ๐‘$" + ๐‘$"-๐‘ $ + ๐‘ $" + ๐‘ $"-

๐‘ฃ = ๏ฟฝฬ‡๏ฟฝ =โˆ’๐‘ $ โˆ’ ๐‘ $" โˆ’ ๐‘ $"- โˆ’๐‘ $" โˆ’ ๐‘ $"- โˆ’๐‘ $"-๐‘$ + ๐‘$" + ๐‘$"- ๐‘$" + ๐‘$"- ๐‘$"- ๏ฟฝฬ‡๏ฟฝ = ๐ฝ(๐‘ž)๏ฟฝฬ‡๏ฟฝ

๐‘š = 2!

"#$

#%

&$ = 1

#) *โ€ข

*"

*!&) = 1

&% = 1

๐‘ž = (0, ๐œ‹/2, ๐œ‹/2)

๐ฝ = โˆ’1 โˆ’1 00 โˆ’1 โˆ’1

case 1)

๐‘ž = (๐œ‹/2, 0, ๐œ‹)

๐ฝ = โˆ’1 0 10 0 0

case 2)

in โ„" in โ„-

Page 30: Differential kinematics - uniroma1.it

Mobility analysis for a planar 3R robotwhiteboard โ€ฆ

Robotics 1 30

๐‘ž = (0, ๐œ‹/2, ๐œ‹/2) ๐ฝ = โˆ’1 โˆ’1 00 โˆ’1 โˆ’1

๐œŒ ๐ฝ = 2 = ๐‘š

๐’ฉ ๐ฝ =1โˆ’11

dim๐’ฉ ๐ฝ = 1= ๐‘› โˆ’ ๐œŒ ๐ฝ = ๐‘› โˆ’ ๐‘šโ„› ๐ฝ = 1

0 , 01 = โ„"

๐’ฉ ๐ฝ: = 0

๐ฝ: =โˆ’1 0โˆ’1 โˆ’10 โˆ’1

๐œŒ ๐ฝ: = ๐œŒ ๐ฝ = 2

โ„› ๐ฝ: =1โˆ’10

,0โˆ’11

dimโ„› ๐ฝ: = 2 = ๐‘š

case 1)

โ„› ๐ฝ +๐’ฉ ๐ฝ: = โ„"

โ„› ๐ฝ: +๐’ฉ ๐ฝ = โ„-

Page 31: Differential kinematics - uniroma1.it

๐ฝ = โˆ’1 0 10 0 0

Mobility analysis for a planar 3R robotwhiteboard โ€ฆ

Robotics 1 31

๐‘ž = (๐œ‹/2, 0, ๐œ‹)

๐œŒ ๐ฝ = 1 < ๐‘š

๐’ฉ ๐ฝ =010,101

dim๐’ฉ ๐ฝ = 2= ๐‘› โˆ’ ๐œŒ ๐ฝ

โ„› ๐ฝ = 10

๐’ฉ ๐ฝ: = 01

๐ฝ: =โˆ’1 00 01 0

๐œŒ ๐ฝ: = ๐œŒ ๐ฝ = 1

โ„› ๐ฝ: =โˆ’101

dimโ„› ๐ฝ: = 1= ๐‘š โˆ’ ๐œŒ ๐ฝ

โ„› ๐ฝ +๐’ฉ ๐ฝ: = โ„"

โ„› ๐ฝ: +๐’ฉ ๐ฝ = โ„-

case 2)

dimโ„› ๐ฝ = 1 = ๐œŒ ๐ฝ

dim๐’ฉ ๐ฝ: = 1= ๐‘› โˆ’ ๐œŒ ๐ฝ

forbidden!

Page 32: Differential kinematics - uniroma1.it

Kinematic singularitiesn configurations where the Jacobian loses rank

โŸบ loss of instantaneous mobility of the robot end-effectorn for ๐‘š = ๐‘›, they correspond to Cartesian poses at which the number of

solutions of the inverse kinematics problem differs from the generic casen โ€œinโ€ a singular configuration, we cannot find any joint velocity that realizes

a desired end-effector velocity in some directions of the task spacen โ€œcloseโ€ to a singularity, large joint velocities may be needed to realize even

a small velocity of the end-effector in some directions of the task spacen finding and analyzing in advance the mobility of a robot helps in singularity

avoidance during trajectory planning and motion controln when ๐‘š = ๐‘›: find the configurations ๐‘ž such that det ๐ฝ(๐‘ž) = 0n when ๐‘š < ๐‘›: find the configurations ๐‘ž such that all ๐‘š ร—๐‘š minors of ๐ฝ(๐‘ž) are

singular (or, equivalently, such that det ๐ฝ(๐‘ž)๐ฝ:(๐‘ž) = 0)n finding all singular configurations of a robot with a large number of joints,

or the actual โ€œdistanceโ€ from a singularity, is a complex computational taskRobotics 1 32

Page 33: Differential kinematics - uniroma1.it

Singularities of planar 2R robot

n singularities: robot arm is stretched (๐‘ž" = 0) or folded (๐‘ž" = ๐œ‹)n singular configurations correspond here to Cartesian points that are on the

boundary of the primary workspacen here, and in many cases, singularities separate configuration space regions

with distinct inverse kinematic solutions (e.g., elbow โ€˜โ€˜upโ€ or โ€œdownโ€)

analytical Jacobian

det ๐ฝ(๐‘ž) = ๐‘™$๐‘™"๐‘ "

Robotics 1 33

๐‘ž1

๐‘ž2

๐‘ƒโ€ข

๐‘™1

๐‘™2

๐‘ฆ

๐‘ฅ๐‘๐‘ฅ

๐‘๐‘ฆ direct kinematics

๐‘Q = ๐‘™$๐‘$ + ๐‘™"๐‘$"๐‘R = ๐‘™$๐‘ $ + ๐‘™"๐‘ $"

๏ฟฝฬ‡๏ฟฝ = โˆ’ ๐‘™$๐‘ $ โˆ’ ๐‘™"๐‘ $" โˆ’ ๐‘™"๐‘ $"๐‘™$๐‘$ + ๐‘™"๐‘$" ๐‘™"๐‘$"

๏ฟฝฬ‡๏ฟฝ = ๐ฝ(๐‘ž)๏ฟฝฬ‡๏ฟฝ

Page 34: Differential kinematics - uniroma1.it

Singularities of polar (RRP) robotdirect kinematics

n singularitiesn E-E is along the ๐‘ง axis (๐‘ž" = ยฑ๐œ‹/2): simple singularity โ‡’ rank ๐œŒ(๐ฝ) = 2n third link is fully retracted (๐‘ž- = 0): double singularity โ‡’ rank ๐œŒ(๐ฝ) drops to 1

n all singular configurations correspond here to Cartesian points internal to the workspace (supposing no range limits for the prismatic joint)

analytical Jacobian

det ๐ฝ(๐‘ž) = ๐‘ž-"๐‘"

Robotics 1 34

๐‘๐‘ฅ

๐‘๐‘ฆ

๐‘๐‘ง

๐‘ž1

๐‘ž2

๐‘ž3

๐‘‘1

๐‘ƒ ๐‘Q = ๐‘ž-๐‘"๐‘$๐‘R = ๐‘ž-๐‘"๐‘ $๐‘S = ๐‘‘$ + ๐‘ž-๐‘ "

๏ฟฝฬ‡๏ฟฝ =โˆ’๐‘ž-๐‘ $๐‘" โˆ’๐‘ž-๐‘$๐‘ " ๐‘$๐‘"๐‘ž-๐‘$๐‘" โˆ’๐‘ž-๐‘ $๐‘ " ๐‘ $๐‘"0 ๐‘ž-๐‘" ๐‘ "

๏ฟฝฬ‡๏ฟฝ

= ๐ฝ(๐‘ž)๏ฟฝฬ‡๏ฟฝ

๐‘ฆ

๐‘ฅ

๐‘ง

Page 35: Differential kinematics - uniroma1.it

Singularities of robots with spherical wristn ๐‘› = 6, last three joints are revolute and their axes intersect at a pointn without loss of generality, we set ๐‘‚ยฆ = ๐‘Š = center of spherical wrist

(i.e., choose ๐‘‘ยฆ = 0 in DH table) and obtain for the geometric Jacobian

n since det ๐ฝ ๐‘ž$,โ‹ฏ , ๐‘žยง = det ๐ฝ$$ ยจ det ๐ฝ"", there is a decoupling property n det ๐ฝ$$ ๐‘ž$, ๐‘ž", ๐‘ž- = 0 provides the arm singularitiesn det ๐ฝ"" ๐‘žยฉ, ๐‘žยง = 0 provides the wrist singularities

n being in the geometric Jacobian ๐ฝ"" = ๐‘ง- ๐‘งยฉ ๐‘งยง , wrist singularities correspond to when ๐‘ง-, ๐‘งยฉ and ๐‘งยง become linearly dependent vectors โŸน when either ๐‘žยง = 0 or ๐‘žยง = ยฑ๐œ‹/2 (see Euler angles singularities!)

n inversion of ๐ฝ(๐‘ž) is simpler (block triangular structure)n the determinant of ๐ฝ(๐‘ž) will never depend on ๐‘ž$: why?Robotics 1 35

๐ฝ ๐‘ž = ๐ฝ$$ 0๐ฝ$" ๐ฝ""