4. Kinematics of the Milky Way 4.1. Differential Rotation and Oortโs Constants
Differential kinematics - uniroma1.it
Transcript of Differential kinematics - uniroma1.it
Robotics 1
Differential kinematics
Prof. Alessandro De Luca
Robotics 1 1
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
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
๐ = ๐ ๐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$๏ฟฝฬ๏ฟฝ%๐ฃ- = ๐ง"๏ฟฝฬ๏ฟฝ-
Finite and infinitesimal translationsn finite ฮ๐ฅ, ฮ๐ฆ. ฮ๐ง or infinitesimal ๐๐ฅ, ๐๐ฆ, ๐๐ง translations
(linear displacements) always commute
Robotics 1 5
๐ฅ
๐ฆ
๐ง ฮ๐ฆ
ฮ๐ง๐ฅ
๐ฆ
๐งฮ๐ง
same finalposition
=
ฮ๐ฆ
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
๐ 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โฆ
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
= ๐ผ + ๐(๐๐)
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
๐
๐
๏ฟฝฬ๏ฟฝ
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
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 ๐๏ฟฝฬ๏ฟฝ
๏ฟฝฬ๏ฟฝ
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(๐)
๏ฟฝฬ๏ฟฝ = ๐ฝ(๐)๏ฟฝฬ๏ฟฝ
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
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 ๐๐๐
๐ฆ
๐ง
๐ฅ
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
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 ๐
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 ๐ท๐ธ?
๐ธ
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
๐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 ๐ง$
๐$
๐"
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๐$
๐"
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 ๐ ๏ฟฝฬ๏ฟฝ = ๏ฟฝ๐ฝ| ๐ ๏ฟฝฬ๏ฟฝ
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
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
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): ๏ฟฝฬ๏ฟฝ% = ๐ ร ๐%๏ฟฝฬ๏ฟฝ = ๐ ๐ ๐ ๐ ๐ = ๏ฟฝฬ๏ฟฝ๐ :
๐ = ๐[ฬ๏ฟฝ + ๐[ฬ๏ฟฝ + ๐[ฬ๏ฟฝ = ๐$๏ฟฝฬ๏ฟฝ$ + ๐" ๐$ ๏ฟฝฬ๏ฟฝ" + ๐- ๐$, ๐" ๏ฟฝฬ๏ฟฝ-= ๐ ๐ ๏ฟฝฬ๏ฟฝ
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 ๐-(๐, ๏ฟฝฬ๏ฟฝ, ๏ฟฝฬ๏ฟฝ)
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 ๐ฝ
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
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
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 โ-
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)
โ ๐ฝ +๐ฉ ๐ฝ: = โ"
โ ๐ฝ: +๐ฉ ๐ฝ = โ-
๐ฝ = โ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!
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
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 = ๐$๐ $ + ๐"๐ $"
๏ฟฝฬ๏ฟฝ = โ ๐$๐ $ โ ๐"๐ $" โ ๐"๐ $"๐$๐$ + ๐"๐$" ๐"๐$"
๏ฟฝฬ๏ฟฝ = ๐ฝ(๐)๏ฟฝฬ๏ฟฝ
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 ๐-๐" ๐ "
๏ฟฝฬ๏ฟฝ
= ๐ฝ(๐)๏ฟฝฬ๏ฟฝ
๐ฆ
๐ฅ
๐ง
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๐ฝ$" ๐ฝ""