0% ont trouvé ce document utile (0 vote)
55 vues46 pages

10 InverseKinematics-fr Doclingo - Ai

Le document traite de la cinématique inverse en robotique, en se concentrant sur la détermination des positions et orientations des articulations d'un robot pour atteindre une pose d'effecteur final souhaitée. Il aborde les concepts de solvabilité, d'unicité et de multiplicité des solutions, ainsi que des exemples pratiques avec des robots spécifiques comme le Unimation PUMA 560 et l'UR10. Enfin, il présente des méthodes de calcul et des visualisations des différentes configurations possibles pour des bras robotiques.

Transféré par

adamprof.90
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
55 vues46 pages

10 InverseKinematics-fr Doclingo - Ai

Le document traite de la cinématique inverse en robotique, en se concentrant sur la détermination des positions et orientations des articulations d'un robot pour atteindre une pose d'effecteur final souhaitée. Il aborde les concepts de solvabilité, d'unicité et de multiplicité des solutions, ainsi que des exemples pratiques avec des robots spécifiques comme le Unimation PUMA 560 et l'UR10. Enfin, il présente des méthodes de calcul et des visualisations des différentes configurations possibles pour des bras robotiques.

Transféré par

adamprof.90
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Upgrade to Premium, unlock image translationDoclingo.

ai

Robotics
Robotique 1 1

Inverse kinematics
Cinématique inverse

Prof. Alessandro De Luca

SAPIENZAUNIVERSITÉ
DE ROME

Robotics
Robotique 1 1 1
Upgrade to Premium, unlock image [Link]

Inverse kinematics
Cinématique inverse, que
what are we? looking for?
cherchons-nous

-50,19°

- 30,48° Cinématique directe 𝑝⃗ =


70,17°
Cinématique inverse
-81,24°

-51,01°

° O6

O0

La cinématique
direct directe est is
kinematics toujours
alwaysunique ; qu'en
unique;
how
est-il deabout inverse
la cinématique kinematics
inverse pour ce robotfor6R ? this 6R robot?
Robotics
Robotique 1 1 2
Upgrade to Premium, unlock image [Link]

Inverse de
Problème kinematics
cinématique problem
inverse


n given a desired
étant donné end-effector
un pose d'effecteur pose (position
final souhaitée (position + +
orientation), find
orientation), trouver the values
les valeurs of the
des variables joint variables
articulaires q qui la 𝑞
that will realize it
réaliseront
■ aunsynthesis
n problème de problem,
synthèse, avecwith input d'entrée
des données data insous the form
la forme
𝑅 𝑝
§𝑇= $ = %𝐴& (𝑞) § 𝑟 = 𝑓( (𝑞), for a task function
= [ 0R P ] =1 ° An (9) ■ r = fr (q), pour une fonction de tâche
classical
formulation formulation:
classique : generalized
formulation formulation:
généralisée :
inverse kinematics
cinématique for pose
inverse pour une a given end-effector
d'effecteur final donnéepose
T 𝑇 inverse kinematics
cinématique inverse pourfor
uneavaleur
givenr donnée 𝑟 ofvariables
value des task variables
de tâche


n auntypical nonlinear
problème non linéaireproblem
typique
■existence
n of asolution
existence d'une solution (workspace
(définition de l'espacedefinition)
de travail)
' , 𝑞 ∈ ℝ& )
n uniqueness/multiplicity of solutions ( 𝑟 ∈ ℝ
unicité/multiplicité des solutions (r ∈ R^m, q = R^n)
n solution
■ methods
méthodes de solution
Robotics
Robotique 1 1 3
Upgrade to Premium, unlock image [Link]

Solvabilityetand robot
Résolvabilité espace deworkspace
travail du robot
for tasks
pour related
les tâches liées à to a desired
un pose cartésienend-effector
d'effecteur final Cartesian
souhaité pose

n primary
espace de travail principal𝑊𝑆
workspace WS₁) :: ensemble
set of all
depositions 𝑝 that pcan
toutes les positions qui be
reached with
peuvent être at least
atteintes one
avec au moinsorientation (𝜙 or
une orientation (ou𝑅R))
n outdehors
en of WS there
de1WS₁, is ano
il n'y passolution toauthe
de solution problem
problème
n si p𝑝 E∈WS₁,
if 𝑊𝑆il#existe
, there un is a suitable
& (ou 𝜙 (or
R) approprié pour𝑅lequel
) for une
which a solution
solution existe exists

n secondary (orsecondaire
espace de travail dexterous) workspace
(ou habile) 𝑊𝑆* :deset
WS2 : ensemble of positions
positions p qui 𝑝
peuvent
that can êtrebe
atteintes
reachedavec n'importe
with any quelle orientation (among
orientation (parmi celles
those
réalisables for
feasible pourthe
la cinématique directekinematics)
robot direct du robot)
n si P𝑝Є ∈
if WS2,𝑊𝑆 $ , une
il existe there exists
solution a solution
pour toute for
faisabilité & (ou R) any feasible 𝜙 (or 𝑅 )

n 𝑊𝑆* Í 𝑊𝑆)

Robotics
Robotique 1 1 4
Upgrade to Premium, unlock image [Link]

Workspace
Espace de travail of Fanuc
du Fanuc R-2000i/165F
R-2000i/165F
Zone de travailEspace section
section pourfor
un a
constant
constantangle 𝑞"
𝑊𝑆! ⊂ ℝ"
de fonctionnement
angle q1

(≈ 𝑊𝑆
(WS2 for spherical
pour!poignet sphériquewrist
sans
without
limites joint limits)
d'articulation)

Vue latérale

Vue de dessus

rotating
rotation de the
base joint
l'angle de de base 𝑞
jointangle q1"
Robotics
Robotique 1 1 5
Upgrade to Premium, unlock image [Link]

Workspace
Espace de travailof a bras
d'un planar 2R arm
plan 2R
22 orientations
orientationssi p
𝑦 𝑝 = 𝑂𝑃 if 𝑝 Î int(𝑊𝑆" )
= int(WS₁)

𝑃
= 𝑊𝑆" − 𝜕𝑊𝑆"
𝑙2
𝑞2
𝑙! + 𝑙" 𝑂•
𝑙1
𝑞1 𝑙! − 𝑙"
𝜕𝑊𝑆"
𝑂 𝑥 outerextérieures
limites and inner
et
boundaries
intérieures 11 orientation
orientationsur
n if 𝑙! ¹ 𝑙*
si l₁ on 𝜕𝑊𝑆"
$ WS₁
𝑊𝑆#=={p 𝑝= Î
n WS₁ R² ℝ
: |l₁: 𝑙−#l₂|
−≤ 𝑙$ ||p|| ⊂ ℝ$
≤ 𝑝 ≤≤l₁𝑙#++l₂}𝑙$< R²
n 𝑊𝑆$ = Æ
n sifi 1𝑙1! = 𝑙* = 𝑙
n 𝑊𝑆# = 𝑝 Î ℝ$ : 𝑝 ≤ 2𝑙 ⊂ ℝ$
n 𝑊𝑆$= =
WS₂ {p = 𝑝0}= 0 (all
(toutes les feasible
orientations réalisables at
orientations à l'origine!... un nombre
the origin!... infini)
an infinite number)
Robotics
Robotique 1 1 6
Upgrade to Premium, unlock image [Link]

Wristduposition
Position and d'inversion
poignet et solutions E-E pose de
pose E-E pour
inverse un robotfor
solutions articulé 6R
an articulated 6R robot
LEFT DOWN
GAUCHE BAS Unimation PUMA 560 RIGHT
DROITE BAS DOWN

44solutions
inverse solutions
inverses hors
outsingularités
des of singularities
(for lathe
(pour position
position of
du centre
thepoignet
du wristuniquement)
center only)

LEFT UP
GAUCHE HAUT 88 solutions
inverseinverses considérant
solutions la pose
considering RIGHT
DROITE HAUT UP
E-E
thecomplète
complete (poignet
E-E pose
(spherical
sphérique wrist: alternatives
: 2 solutions 2 alternative
pour
solutions
les 3 dernièresfor the last 3 joints)
articulations)

Robotics
Robotique 1 1 7
Upgrade to Premium, unlock image [Link]

Counting/visualizing the de8 lasolutions


Comptage/visualisation des 8 solutions
cinématique
of inverse
the inverse pour un Unimation
kinematics Puma 560 Puma 560
for a Unimation

RIGHT
DROITE HAUT UP

RIGHT
DROITE BAS DOWN

LEFT UP
GAUCHE HAUT

LEFT DOWN
GAUCHE BAS

Robotics
Robotique 1 1 8
Upgrade to Premium, unlock image [Link]

Inverse kinematic
Solutions de cinématique solutions
inverse of UR10
du robot universel UR10 à
6-dof
6 degrésUniversal
de liberté, Robot UR10,
avec poignet nonwith non-spherical wrist
sphérique
video
vidéo (au(slow
ralenti)motion)
pose désiréepose
desired
−0.2373
−0.0832
p = -0,0832] [m]
[m]1,3224
1.3224
√√3/2
3/2 0,5 0.50 0
R = −0.5
-0,5 √3/20 3/2 0
0 0 1
home configuration
configuration de la maison au at start
départ
𝑞 = 0 −𝜋/2 0 −𝜋/2 0 0 T

[rad]

Robotics
Robotique 1 1 9
Upgrade to Premium, unlock image [Link]

88solutions
inverse kinematic
cinématiques inversessolutions
du UR10 of UR10

shoulderRight
épauleDroitePoignetBas shoulderRight
épauleDroitePoignetBasCoudeBas shoulderRight
épauleDroitePoignetHautCoudeHaut shoulderRight
épauleDroitePoignetHautCoude
wristDown wristDown wristUp wristUp
elbowUp
coudeHaut elbowDown elbowUp elbowDown
1.0472 1.0472 1.0472 1.0472
−1.2833 −1.9941 −1.5894 −2.0944
𝑞 = −0.7376 𝑞 = 0.7376 𝑞 = −0.5236 𝑞 = 0.5236
−2.6915 2.8273 0.5422 0
−1.5708 −1.5708 1.5708 1.5708
3.1416 3.1416 0 0

shoulderLeft
épauleGauchepoignetBas shoulderLeft
épaule gauche, poignet shoulderLeft
épaule gauche, poignet shoulderLeft
épauleGauchepoignetHautcou
wristDown wristDown
vers le bas, coude wristUp
vers le haut, wristUp
elbowDown
coude vers le bas elbowUp
vers le haut elbowDown
coude vers le bas elbowUp
2.7686 2.7686 2.7686 2.7686
−1.0472 −1.5522 −1.1475 −1.8583
𝑞 = −0.5236 𝑞 = 0.5236 𝑞 = −0.7376 𝑞 = 0.7376
3.1416 2.5994 0.3143 −0.4501
−1.5708 −1.5708 1.5708 1.5708
1.4202 1.4202 −1.7214 −1.7214

Robotics
Robotique 1 1 10
Upgrade to Premium, unlock image [Link]

Multiplicity of solutions
Multiplicité des solutions quelques
exemples
few examples

■ E-E
n Positionnement E-Eofduplanar
positioning robot plan
2R 2R (m =(𝑚
robot n ==
2) 𝑛 = 2)
n 22 solutions
regularrégulières
solutions int(𝑊𝑆# )
in int(WS₁)
dans
■1
n solution
1 solution W₁ 𝜕𝑊𝑆#
sur on
singularsingulières
solutions solutions
■ pour𝑙l₁
n for # ==12𝑙$: :∞∞solutions
solutions
dans in 𝑊𝑆$
WS2
n E-E positioning
Positionnement E-E of
du elbow-type
robot spatial à spatial 3R (m(𝑚 = 𝑛 = 3)
3R robot
bras élastique
n■ 44 solutions
regular régulières
solutionsdans 𝑊𝑆#(avec
in WS₁ (with
dessingular casesà yet
cas singuliers to be...)
enquêter investigated ...)

n spatial
bras 6R robot
robotiques arms
spatiaux (𝑚= n== 𝑛6) = 6)
6R (m
n £ 16
≤ distinctdistinctes,
16 solutions solutions,
horsout of singularities:
singularités : cette "limite this “upper
supérieure" desbound”
solutions of
a
solutions
été montrée was
comme shown
atteinteto
parbe
uneattained by a particular
instance particulière instance of
de robot "orthogonal",
“orthogonal”
c'est-à-dire robot,
avec des anglesi.e., with a₁
de torsion twist ±π/2 𝛼
= 0 ouangles * = 0 or ±𝜋/2 (∀𝑖 )
(Vi)
n analysis
l'analyse based
basée sur deson algebraic algébriques
transformations transformations of transcendantes
des équations robot kinematics
de la
n cinématique des robots
transcendental est transformée
equations en une seule équation
are transformed into a polynomiale en une variable
single polynomial equation
in one variable
(nombre de racines (number of roots = degree of the polynomial)
= degré du polynôme)
n seek
■ for aune
rechercher transformed polynomial
équation polynomiale equation
transformée of the
de degré least
le plus bas possible
possible degree
Robotics
Robotique 1 1 11
Upgrade to Premium, unlock image [Link]

Algebraicalgébriques
Transformations transformations
tableau blanc ...
whiteboard …

start withparsome
commencez trigonometric
une équation equation
trigonométrique in the
dans l'angle jointjoint angle
à résoudre ...a 𝜃
sinto
+ bbe
cos solved
0 = c (*) …
𝑎 sin 𝜃 + 𝑏 cos 𝜃 = 𝑐 (✻)

introduce
introduisez lathe algebraic transformation
transformation (…formules
algébrique (... et les and the related
inverses inverse formulas)
associées)
𝑢 = tan 𝜃 ⁄2
2𝑢 1 − 𝑢!
⇒ sin 𝜃 = cos 𝜃 = (⇒ sin# 𝜃 + cos # 𝜃 = 1)
1 + 𝑢! 1 + 𝑢!
2 tan 𝜃 ⁄2 2𝑢
tan 𝜃 = tan 2 𝜃 ⁄2 = = (using
(en theladuplication
utilisant formula)
formule de duplication)
1 − tan! 𝜃 ⁄2 1 − 𝑢!
substituting
en in (*)
substituant dans (✻)
! polynomial
équation equation
polynomiale of second
de second degré en udegree in 𝑢
2𝑢 1−𝑢 !
𝑎 +𝑏 =𝑐 ⇒ 𝑏 + 𝑐 𝑢 − 2𝑎 𝑢 − 𝑏 − 𝑐 = 0
1 + 𝑢! 1 + 𝑢!
𝑎 ± 𝑎! + 𝑏! − 𝑐 !
⇒ 𝑢",! = ⇒ 𝜃#,$ = 2 arctan 𝑢#,$
𝑏+𝑐
only if argument
uniquement si l'argumentisestreal, else pas
réel, sinon nodesolution
solution
Robotics
Robotique 1 1 12
Upgrade to Premium, unlock image [Link]

A robot
Un 6R 6Rrobot with IK16
avec 16 solutions IKdistinctes
toutes solutions
et non
singulières
all distinct and non-singular

anmanipulateur
un orthogonalorthogonal
manipulator
avec unwith DHDHtable
tableau M. for the
pour desired
la pose désirée deend-effector
l'effecteur final pose

3𝑇 =
4

ilthere are 16réelles


y a 16 solutions realdesolutions
la

𝑎 of the inverse
cinématique inverse ! kinematics!
a₁!= =
0,3,0.3,
a2 𝑎" = 1, 𝑎1 = 1.5,
= 1,5, d3𝑑=20,2
= 0.2
base all non-singular
tous non-singuliers

withunnon-spherical wrist Oui


avec poignet non sphérique
m. dét (J³)

end-effector
effecteur terminal

Manseur
Manseur and: Doty:
et Doty
International
Revue Journal
Internationale of Robotics
de Recherche Research,
en Robotique, 1989 1989

solutions found
solutions trouvées using
à l'aide d'una fast
numerical inversion
algorithme d'inversion algorithm
numérique …
rapide ...
Robotics
Robotique 1 1 13
Upgrade to Premium, unlock image [Link]

A espace
Un planar 3R dearm
de travail
bras plan 3Rand
workspace et lenumber/type
nombre/type de solutionssolutions
of inverse inverses
𝑦 𝑞$ 𝑝 𝑙# ==l₂𝑙=$ l₃==𝑙31 = 𝑙
l₁ 𝑛 = 3, 𝑚 = 2
𝑝𝑦 •
𝑙3 𝑝 ∈R²ℝ: $||p||
𝑊𝑆#=={p ∈ : 𝑝 ≤ 3𝑙 <⊂R²ℝ$
≤ 31}
𝑙2 𝑞! WS₁
$ $
𝑊𝑆$= =
WS₂ 𝑝 ∈R²ℝ: ||p||
{p ∈ : 𝑝 ≤≤1}𝑙 <⊂
R² ℝ
𝑙1
𝑞" any planar
toute orientation
orientation is feasible
plane est réalisable dans 𝑊𝑆!
in WS2
𝑥
𝑝𝑥
in int 𝑊𝑆#- WS2− :𝜕𝑊𝑆 # regular solutions
1.
1. dans int(WS₁) $ : ∞ régulières
001 solutions où l'E-E
peutwhich
at prendrethe
un continuum
E-E can de take∞ a continuum of ∞
orientations
orientations (but
(mais not all
pas toutes lesorientations inlethe
orientations dans planplane!)
!)
2. if 𝑝 = 3𝑙
si ||pl| 31 (à(at 𝜕𝑊𝑆 ): only 11 solution,
WS₁):#seulement solution, singular
singulière
𝑝 = 1=(à𝑙 (at 𝜕𝑊𝑆
3. siif||pl|
3. ∞# solutions,
WS2):$ ):∞01 solutions, dont
3 of3 sont singulières
which singular

4. 𝑝 <<1𝑙(dans
4. siif||p|| (in int
int(WS2)) ∞#solutions
𝑊𝑆$ :):∞¹ regularrégulières
solutions (that
(qui arejamais
ne sont neversingulières)
singular)
Robotics
Robotique 1 1 14
Upgrade to Premium, unlock image [Link]

Workspace
Espace de travail d'unofbrasa3Rplanar
plan avec des3R arm
longueurs
de
withliengeneric
génériques
link lengths

a) l₁ = 1, l₂ = 0,4, l₃ = 0,3 [m] ⇒ ⇒ Imax = l₁ 11= 1, med = 12 = =0,4, 1min= 13 l=min


0,311
= l3 = 0.3

Ro=1+1+1=1,7

+13=0,7 = 0,3

|12-13|=0,1 Rin=1,-(1₂+13)=0,3

Exercise #3le in
Exercice n°3 dans
balayage par q
classroom test
test en classe du 21
of 21 Nov 2014
novembre 2014

b) ₁ = 0,5, 12 = 0,7, l3 = 0,5 [m] ⇒lmax = ⇒


12 = 0,7, Imed = 1min = 1₁(or 13) = 0,5 0.5

Rinin= =
R 0, Rout
0, = 1,7
Robotics
Robotique 1 1 15
Upgrade to Premium, unlock image [Link]

Multiplicity of solutions
Multiplicité des solutions résumé
des cas généraux
summary of the general cases

n si m𝑚
if = n= 𝑛
n ∄ solutions

n unfinite
a nombrenumber
fini de solutions (cas régulier/générique)
of solutions (regular/generic "solutions
case)
n dégénérées"
“degenerate”: ensemble infini ou
solutions: fini, mais
infinite or de touteset,
finite façonbut
différent
anywayen
nombre du cas
different générique from
in number (singularité)
the generic case (singularity)

n siif m𝑚< n<(le𝑛robot est kinematiquement
(robot redondant
is kinematically pour la tâche)for
redundant ■ Athe
solutions
task)
n ∄ solutions
n ∞456 solutions
solutions con-m (cas régulier/générique)
(regular/generic case)
n aunfinite
nombreor
finiinfinite number
ou infini de solutionsof singular solutions
singulières
n use of the
l'utilisation term
du terme singularity
singularité will
deviendra plusbecome clearer
claire lors du traitementwhen
de la dealing
with differential
cinématique différentiellekinematics
n instantaneous velocity
cartographie de la vitesse mapping
instantanée from
du joint à lajoint todetask
vitesse tâchevelocity
n lack
manqueof de
fullpleine
rankrangée
of thedeassociated 𝑚×𝑛 Jacobian
la matrice jacobienne J(q) 𝐽(𝑞)
matrix
mxn associée
Robotics
Robotique 1 1 16
Upgrade to Premium, unlock image [Link]

Dexter 8R robot
robot bras Dexter 8R arm
n 𝑚= =
m 6 (position
6 (position and orientation
et orientation de E-E) of E-E)
n n𝑛= 8=(toutes
8 (all revolute
les articulations sontjoints)
rotatives)
$ inverse kinematic solutions (redundancy degree = 𝑛 − 𝑚 = 2)
n solutions
∞ cinématiques inverses co² (degré de redondance = n - m =

video
vidéo

exploring
exploration desinverse
solutions dekinematic solutions
cinématique inverse by a robot
par le mouvement self-motion
autonome d'un robot
Robotics
Robotique 1 1 17
Upgrade to Premium, unlock image [Link]

Solution
Méthodes methods
de solution

ANALYTICAL
solution ANALYTIQUEsolution
(sous NUMERICAL
solution NUMÉRIQUE solution
(sous
(in
formeclosed
fermée) form) (in
formeiterative
itérative) form)

§ preferred, if itpeut
préférée, si elle can found*
betrouvée*
être certainly needed
§ certainement nécessaire ifsi n𝑛> >m 𝑚
§ use
utiliserad-hoc geometric
des méthodes inspection
géométriques ad hoc (redundant
(cas redondant) oucase)
à/prèsordesat/close
singularitésto
§ algebraic methods
d'inspection algébrique (solution of
(solution singularities
polynomial equations)
d'équations polynomiales) slower,
§ plus butplus
lent, mais easier
facile àtomettre
be set up
en place
§ systematic ways defor
manières systématiques generating
générer un a § in
dansits
sa basic
forme deform,
base, il it uses
utilise le the
reduced setd'équations
ensemble réduit of equations to be
à résoudre matrice jacobienne
(analytical) (analytique)
Jacobian de la carte
matrix de
of the
solved cinématique directe
direct kinematics map
* les
sufficient conditions
conditions suffisantes pour des for
bras à6-dof
6 degrésarms
de 𝜕𝑓" (𝑞)
liberté sont que 3 axesrotational
de joint rotatifjoint
consécutifs
𝐽" 𝑞 =
• 3 consecutive axessoient
are 𝜕𝑞
incident (par (e.g.,
incident exemple,spherical
poignet sphérique),
wrist), ou or
§ Newton
Méthode demethod, Gradient
Newton, méthode method,
du gradient,
• 3
queconsecutive rotational
3 axes de joint rotatif consécutifsjoint axes are
soient parallèles
and
et ainsi so on…
de suite...
parallel
D. Pieper,
D. Pieper, thèsePhD thesis,
de doctorat, Stanford
Université University,
de Stanford, 1968
1968Robotics 1

Robotics 1 18
Upgrade to Premium, unlock image [Link]

Inverse kinematics
Cinématique of planar
inverse d'un bras plan 2R 2R arm
𝑦

𝑃 direct kinematics
cinématique directe
𝑝𝑦
𝑙2 𝑝7==l₁c₁
Px 𝑙# 𝑐+#l₂c₁₂
+ 𝑙$ 𝑐#$
𝑞2
𝑝8==l₁s₁
Py 𝑙# 𝑠+#l₂$12
+ 𝑙$ 𝑠#$
𝑙1
𝑞1 𝑥 data 𝑞# , 𝑞inconnus
$ unknowns
91,92
𝑝𝑥
“squaring
"carré and summing”
et somme" the equations
des équations of the direct
de la cinématique directekinematics
p² + p² −
𝑝 $ + 𝑝 $ − 𝑙 $ + 𝑙 $ = 2𝑙 𝑙 𝑐 𝑐 + 𝑠 𝑠
(1²7 + 1²)8= 2l₁l₂(C₁C₁₂
# $ + S₁S₁₂)
# $ = 2l₁l₂C₂
# #$ # #$ = 2𝑙# 𝑙$ 𝑐$

and from this


et de cela

𝑐$ = 𝑝7$ + 𝑝8$ − 𝑙#$ + 𝑙$$ W2𝑙# 𝑙$ , 𝑠$ = ± 1 − 𝑐$$ 𝑞# = atan2 𝑠# , 𝑐#

must
doit êtrebe [−1,1]
dansin[-1,1] (sinon,(else, Pis est en𝑃
le point point 2 solutions
in analytical
sous form
forme analytique
is outside
dehors robot
de l'espace workspace!)
de travail du robot!)
Robotics
Robotique 1 1 19
Upgrade to Premium, unlock image [Link]

Inverse
Cinématiquekinematics of2R2R
inverse d'un bras arm
(suite) (cont’d)
𝑦
𝑝𝑦 𝑙2 • 𝑃 by geometric inspection
par inspection géométrique 9₁
𝑞!
b =𝑞!
α -=B 𝛼−𝛽
𝑙1
𝑞" a
𝑝𝑥 𝑥
22solutions
solutions
(onepour
forchaque
eachvaleur
value of 𝑠2)
𝑞! = atan2 𝑝$ , 𝑝% − atan2 𝑙# 𝑠# , 𝑙! + 𝑙# 𝑐#
(une de s₂)
note:
remarquedifference
: la différence of
des atan2’s needs
atan2 doit être
to be re-expressed
réexprimée dans (-π, π] ! in (−𝜋 , 𝜋]!
𝑞!%%
• p % %%
𝑞#92}HAUT/GAUCHE
{{91, , 𝑞$ }UP/LEFT 𝑞!etand
92 q 92 𝑞ont have
! la mêmesame
valeurabsolute
absolue,
𝑞!% value,
mais des but
signesopposite
opposés signs
{𝑞# ,92}BAS/DROITE
{91, 𝑞$ }DOWN/RIGHT 𝑞"%% 𝑞"% etand
q₁
%%
q₁ 𝑞sont en général
" are in general
𝑞"% unrelated to avec
sans rapport les uns each other
les autres

Robotics
Robotique 1 1 20
Upgrade to Premium, unlock image [Link]

Algebraic
Solution solution
algébrique q₁ 𝑞;
pourfor
another
une autre 𝑝7==l₁c₁
Px 𝑙# 𝑐+#l₂C12
+ 𝑙$ 𝑐=#$
l₁c₁=+𝑙l₂
# 𝑐(C1
# +C2
𝑙$- 𝑐S1# 𝑐S2)
$ − 𝑠# 𝑠$ linear
linéaire enin
solution
méthode de
𝑠#etand
S1 c₁ 𝑐#
method…
solution... 𝑝8 ==l₁s₁
Py 𝑙# 𝑠+# l₂S12
+ 𝑙$ 𝑠=#$l₁s₁
= 𝑙+#l₂(S₁C2
𝑠# + 𝑙$ +𝑠C₁
# 𝑐$S2)
+ 𝑐# 𝑠$

𝑙# + 𝑙$ 𝑐$ −𝑙$ 𝑠 $ 𝑐# 𝑝7
𝑙$ 𝑠$ 𝑙# + 𝑙$ 𝑐$ 𝑠# = 𝑝8

si l₁ if 𝑙# = douze
except
sauf 𝑙$ andet 𝑐c₂$ C2=
= −1-1
det = 𝑙#$ + 𝑙$$ + 2𝑙# 𝑙$ 𝑐$ > 0 being then
étant alors q₁𝑞91indéfini(cas
# undefined
singulier : 001
(singular ∞# solutions)
solutions)
case:
𝑞# = atan2 𝑠# , 𝑐#
quatre-vingt
-onze =

= atan2 𝑝8 𝑙# + 𝑙$ 𝑐$ − 𝑝7 𝑙$ 𝑠$ ⁄det , 𝑝7 𝑙# + 𝑙$ 𝑐$ + 𝑝8 𝑙$ 𝑠$ ⁄det


notes:
notes : a)a) this
cette method
méthode provides
fournit directly
directement the dans
le résultat result in (−𝜋, 𝜋]
(-π,π]
b) when
b) lors evaluatingdeatan2
de l'évaluation det
atan2, ,det > 0>peut
0 can
être be simply éliminé
simplement eliminated
des
from the expressions
expressions de s₁ et c₁ (sans 𝑠" andle 𝑐résultat)
of changer " (not changing the result)
Robotics
Robotique 1 1 21
Upgrade to Premium, unlock image [Link]

Cinématique
Inverse inverse d'unof
kinematics bras polaire
polar (RRP) arm
(RRP)
𝑝𝑧
note:
note : ici here
𝑝7 = 𝑞3 𝑐$ 𝑐#
𝑞! n'est
is NOT PAS un a 𝑞3 𝑃 direct
cinématique
𝑝8 = 𝑞3 𝑐$ 𝑠#
DH variable!
variable DH !
kinematics
directe
𝑝9 = 𝑑# + 𝑞3 𝑠$
𝑞2
𝑝&! + 𝑝'! + 𝑝( − 𝑑" !
= 𝑞$!
𝑑1
𝑝𝑦
𝑞3 = + 𝑝7$ + 𝑝8$ + 𝑝9 − 𝑑# $

𝑝𝑥 𝑞1 our choice:
notre take ici
choix : prendre here only the
seulement positive
la valeur value...
positive...
si q3
if 𝑞$===
=0,0alors
, thenq₁ 91et
𝑞" 92q2
andrestent tous deuxboth
𝑞! remain indéfinis (arrêter); sinon
undefined 91 else
(stop);
(ifnous
(si we arrêtons,
stop, it is
𝑞$ = atan2 𝑝9 − 𝑑# ⁄𝑞3 , ± 𝑝7$ + 𝑝8$ W𝑞3 a singular
c'est case:
un cas singulier
# or ∞"
:∞solutions
si
if p²
𝑝&!+ +
p Px𝑝 ! = 0, then 𝑞 remains undefined (stop); else solutions)
' = 0, alors q₁ reste
" indéfini (arrêt); sinon co² ou co¹)

𝑞# = atan2 𝑝8 ⁄𝑐$ , 𝑝7 ⁄𝑐$ (2 solutions{91,𝑞"92,


regularrégulières
(2 solutions , 𝑞93})
! , 𝑞$ )
1 jour
Robotics
Robotique 1 1 en éliminant q3𝑞>* 0>des
eliminating 0 deux
fromarguments
both arguments 22
Upgrade to Premium, unlock image [Link]

Inverse
Cinématiquekinematics of 3R
inverse d'un bras à 3Relbow-type
de type coude arm
𝑢,d}𝑑 : :coude
{u, elbow up, down
en haut, en bas
𝐿2
𝑞3
𝑞2
𝐿3
𝑃
𝑑1 𝑝
{f,b}
𝑓, 𝑏 ::faisant
facing,face, dos à 𝑧
backing
Pzpoint𝑝 p== (Px,
point 𝑝5 , 𝑝Py,
6, 𝑝
Pz)
7
𝑝𝑦

𝑝& 𝑞1
symmetric
structure structure
symétrique without
sans décalages, offsets
par exemple,
e.g.,
les first 3 joints
3 premières of Mitsubishi
articulations PA10 PA10
du robot Mitsubishi robot

WS₁
𝑊𝑆"=== {spherical
= {coquille sphérique centrée enat
shell centered (0,0, d₁),𝑑" ),
(0,0,
44solutions
regularrégulières
inverse
avec
withun rayonradius
outer extérieur Rout== 𝐿L2! ++L3𝐿$
𝑅)*+
kinematics solutions
d'inverse cinématique in 𝑊𝑆"
dans WS₁
et
andun inner
rayon intérieur
radius 𝑅Rin,- ==|L2𝐿!- L3|}
− 𝐿$ }
more
plus details
de détails (par(e.g., fullgestion
exemple, handling
complèteofdes
singular cases)
cas singuliers)
peuvent
can beêtre trouvésindans
found thelasolution
solution de of
l'exercice n°1 #1
Exercise
in written
dans l'examenexam
écrit duof
11 11
avrilApr
2017 2017

Robotics
Robotique 1 1 23
Upgrade to Premium, unlock image [Link]

Inverse kinematics
Cinématique inverse of 3R
d'un bras à coude elbow-type
3R étape 1 arm
step 1

𝐿2
𝑞3 𝑝7==C₁𝑐(L2C2
Px # 𝐿$ 𝑐+$L3+C23)
𝐿3 𝑐$3
𝑞2 direct
cinématique
𝐿3 𝑝8==S₁𝑠(L2C2
Py # 𝐿$ 𝑐
+$L3+C23)
𝐿3 𝑐$3
kinematics
directe

𝑑1 𝑝𝑧 𝑝9==d₁𝑑+#L2S2
Pz + 𝐿+$ 𝑠L3$ S23
+ 𝐿3 𝑠$3
𝑝𝑦

𝑞1
𝑝&
𝑝&! + 𝑝'! + 𝑝( − 𝑑" ! = 𝑐"! 𝐿! 𝑐! + 𝐿$ 𝑐!$ ! + 𝑠"! 𝐿! 𝑐! + 𝐿$ 𝑐!$ ! + 𝐿! 𝑠! + 𝐿$ 𝑠!$ !

= ⋯ = 𝐿!! + 𝐿!$ + 2𝐿! 𝐿$ 𝑐! 𝑐!$ + 𝑠! 𝑠!$ = 𝐿!! + 𝐿!$ + 2𝐿! 𝐿$ 𝑐$


𝑐C3$ ==(p²𝑝+&!p²++𝑝(Pz
! ! − 𝐿! − 𝐿! ⁄2𝐿 𝐿 ∈ −1, +1 (else, 𝑝 is out of workspace!)
' + 𝑝( − 𝑑
-− d₁)² -– Ľ²¾½ -– Ľ³½³)/2L2L3
" ! $ €! [−1,
$ +1] (sinon, p est hors de l'espace de travail!)
:
𝑞3 = atan2 𝑠3 , 𝑐3
± 𝑠$ = ± 1 − 𝑐$! twosolutions
deux solutions
5 :
𝑞3 = atan2 −𝑠3 , 𝑐3 = − 𝑞3
Robotics
Robotique 1 1 24
Upgrade to Premium, unlock image [Link]

Inverse kinematics
Cinématique inverse of 3R
d'un bras articulé elbow-type
3R étape 2 arm
step 2

𝐿2
𝑞3 𝑝7==C₁𝑐(L2C2
Px # 𝐿$ 𝑐+$L3
+C23)
𝐿3 𝑐$3
𝑞2 direct
cinématique
𝐿3 𝑝8==S₁𝑠(L2C2
Py # 𝐿$ 𝑐 + 𝐿3 𝑐$3
+$L3C23)
kinematics
directe

𝑑1
𝑝9==d₁𝑑+#L2S2
Pz + 𝐿$+ 𝑠L3S23
$ + 𝐿3 𝑠$3
𝑝𝑧
𝑝𝑦

𝑞1 ! ! !
… étant
being p𝑝+
& p
+=𝑝(L2C2
' = 𝐿 +!L3C23)²
𝑐! + 𝐿$>𝑐!$
0 >0
𝑝&
𝑐" = 𝑝& O± 𝑝&! + 𝑝'!
only when
seulement 𝑝7$p²++ 𝑝
quand p8
$
>0…
(sinon 𝑞1 est
(else q₁ is undefined —infinite
indéfini - solutions solutions!)
infinies !) 𝑠" = 𝑝' O± 𝑝&! + 𝑝'!

:
𝑞# = atan2 𝑝8 , 𝑝7
again, two
encore, deux solutions
solutions
𝑞#5 = atan2 −𝑝8 , −𝑝7
Robotics
Robotique 1 1 25
Upgrade to Premium, unlock image [Link]

Inverse kinematics
Cinématique inverse of 3R
d'un bras à trois elbow-type
articulations arm
de type coude
étape
step 33

combine
combine firstlesthe
d'abord deuxtwo equations
équations of direct
de la cinématique
𝐿2
kinematics and rearrange
directe et réarrangez la dernière the last one
𝑞3 𝑐" 𝑝& + 𝑠" 𝑝' = 𝐿! 𝑐! + 𝐿$ 𝑐!$
𝑞2
𝐿3 = 𝐿! + 𝐿$ 𝑐$ 𝑐! − 𝐿$ 𝑠$ 𝑠!
𝑑1 𝑝𝑧 𝑝( − 𝑑" = 𝐿! 𝑠! + 𝐿$ 𝑠!$
𝑝𝑦 = 𝐿$ 𝑠$ 𝑐! + 𝐿! + 𝐿$ 𝑐$ 𝑠!
defineet and
définir solve
résoudre a linear
un système Ax = b𝐴𝑥
system
linéaire dans=les𝑏
𝑞1 in the algebraic
inconnues x = (C2, S2) 𝑥 = (𝑐! , 𝑠! )
algébriquesunknowns
𝑝&

𝐿# + 𝐿* 𝑐* −𝐿* 𝑠*
+,-
𝑐# +,- +,- 44 solutions
regularrégulières
solutions q₂,𝑞! ,
pourfor
𝑐" 𝑝. + 𝑠" 𝑝/ dépendant des on
combinaisons de {+-} }
𝑠# = depending the combinations
𝐿* 𝑠*
+,-
𝐿# + 𝐿* 𝑐* 𝑝0 − 𝑑" de q₁ 91 et q393-} 91
of +, − from 𝑞" and 𝑞$
coefficient
matrice matrix
de coefficients A 𝐴 known
vecteur vector
b connu 𝑏
! ! ! .,/ , *,0
conditiondet
àprovided que𝐴det=A𝑝=&p²++𝑝p²' +
+ (pz𝑝-( d₁)²
− 𝑑± " 0≠ 0 𝑞!
.,/ , *,0 .,/ , *,0
(sinon𝑞q2
(else estundefined
! is indéfini - solutions infinies
—infinite !)
solutions!) = atan2 𝑠! , 𝑐!
Robotics
Robotique 1 1 26
Upgrade to Premium, unlock image [Link]

Inverse inverse
Cinématique kinematics
pour les
for robots
robots withsphérique
avec poignet spherical wrist
last 3 joints
dernières RRR, RRR,
3 articulations with
𝑧4 𝑦6
axes intersecting in 𝑊
j6 𝑊 𝑥6 avec des axes se croisant en W
first
les 3 robot
3 premiers joints joints
de robot 𝑂1 = 𝑝
of tout
de anytype
type
(RRR,(RRR, RRP,
RRP, PPP, ...) PPP, …)
𝑧3 𝑧5 𝑧6 = 𝑎

𝑧0 j5
j4 𝑑6
rouver𝑞9#1,, ⋯ , 𝑞; des
tfind from the d'entrée
données input data
𝑦0
§ p𝑝(origine
(origin06)𝑂; )
𝑥0 j1 𝑛 𝑠(orientation
§▪𝑅R ==[n_s_a] 𝑎 (orientation
de RF6) of 𝑅𝐹; )
1. 𝑊 = 𝑝 − 𝑑; 𝑎 ⇒ 𝑞# , 𝑞$ , 𝑞3 (cinématique
(inverse “position” kinematics
inverse "position" pour lesfor main
axes axes)
principaux)
2. 𝑅 = <𝑅3 (𝑞# ,𝑞$ ,𝑞3 ) 3𝑅; (𝑞= ,𝑞> ,𝑞; ) ⇒ 3𝑅; 𝑞= ,𝑞> ,𝑞; = <𝑅3? 𝑅 ⇒ 𝑞= , 𝑞> , 𝑞;
↑donné
Euler 𝑍𝑌𝑍
matrice de 𝑍𝑋𝑍
orEuler
rotation (kinématique“orientation”
(inverse inverse
given known,
connu, two solutions
deux regular kinematics
"orientation" pour
afterl'étape
après step1 1 rotation matrix
ZYZ ou ZXZ avec 94,95,96with
(04, forlethe
poignet)
wrist)
régulières
solutions
Robotics
Robotique 1 1 𝑞2 ,𝑞3 ,𝑞1 (𝜃2 ,𝜃3 ,𝜃1 )
05,06) 27
Upgrade to Premium, unlock image [Link]

6R
Robotrobot Unimation
6R Unimation PUMA 600 PUMA 600

spherical
poignet 𝑛 = 0𝑥6(𝑞)
wrist
sphérique

𝑠 = 0𝑦6(𝑞)

a
unefunction of
fonction de 91,
𝑞"93
92, , 𝑞seulement
# , 𝑞* only!
!
TABLEAU DES 𝑎 = 0𝑧1 (𝑞)
PARAMÈTRES ILINK POUR LE BRAS PUMA

Articulation Plage₁:+/-160°82:
+45

𝑝 = 𝑂6(𝑞)

88 solutions
different (regular)
inverses différentesinverse solutions
(régulières) qui
ici
hered6 =𝑑0,5 = 0, that can
peuvent être be found
trouvées sousinforme
closed
ferméeform
Robotics
Robotique 1 1
so sorte
de thatque𝑂506==W𝑊directement
directly 28
Upgrade to Premium, unlock image [Link]

Finding nice relations


Trouver de belles kinematic relations
cinématiques
whiteboard
tableau blanc ... …

the
§ la most complex
cinématique inverse
inverse la plus kinematics
complexe qui peut être that
résoluecan be solved
en principe in principle
sous forme in closed
fermée (c'est-à-dire
form (i.e., analytically)
analytiquement) is that ofenasérie
est celle d'un manipulateur 6R6R, serial manipulator,
avec un with arbitrary
tableau DH arbitraire■ DH
des façons de table
générer
§systématiquement des équationsgenerate
ways to systematically à partir deequations
la cinématique directe
from thequi pourraient
direct être plusthat
kinematics faciles à be
could
easier tocertaines
résoudre solve équations
⇒ some scalaires
scalar equations maypeut-être
peuvent contenir containune
perhaps a single
seule variable unknown
inconnue ! variable!
3
𝑇4 = 3𝐴! 𝜃! !
𝐴" 𝜃" ⋯ 8𝐴4 𝜃4 = 𝑈3
method used
méthode utilisée pour for
le the
Unimation PUMA
Unimation 600 en600
PUMA (*) in (*)
3 9! 3
𝐴! 𝑇4 = 𝑈! (= !𝐴" ⋯ 8𝐴4 ) 3
𝑇4 8𝐴9! 3 1
4 = 𝑉8 (= 𝐴! ⋯ 𝐴8 )
! 9! 3 9! 3
𝐴" 𝐴! 𝑇4 = 𝑈" = "𝐴2 ⋯ 8𝐴4 oraussi
ou also ... ...
3
𝑇4 8𝐴9!
4
1 9!
𝐴8 = 𝑉1 = 3𝐴! ⋯ 2𝐴1
⋯ ⋯
1 9!
𝐴8 ⋯ !𝐴9!
"
3 9! 3
𝐴! 𝑇4 = 𝑈8 (= 8𝐴4 ) 3
𝑇4 𝐴4 𝐴8 ⋯ !𝐴9!
8 9! 1 9! 3
" = 𝑉! (= 𝐴! )

(*)Paul,
(*) Paul, Shimano,
Shimano and
et Mayer Mayer:
: IEEE IEEEonTransactions
Transactions on Cybernetics,
Systems, Man, and Systems,1981Man, and Cybernetics, 1981

§■generating
générer à partir
from de la
thecinématique directe un ensemble
direct kinematics réduitset
a reduced d'équations à résoudre
of equations (en solved
to be posant w.l.o.g.
(setting
d₁ = d = 0) ⇒ 4 équations scalaires compactes dans les 4 inconnues 02, ..., 05d1
w.l.o.g. 𝑑" = 𝑑5 = 0) ⇒ 4 compact scalar equations in the 4 unknowns 𝜃# , … , 𝜃6

3 𝑛 𝑠 𝑎 𝑝 𝑎7 = 𝑎: 𝜃 𝑧 𝑝 " = 𝑝: 𝜃 𝑝(𝜃) résolu


solved analytiquement
analytically
𝑇4 = = 3𝐴4 𝜃
0 0 0 1 𝑝7 = 𝑝: 𝜃 𝑧 𝑝: 𝑎 = 𝑝: 𝜃 𝑎 𝜃 or numerically …
ou numériquement ...

:
𝑧= 0 0 1 … alors
thenrésolvez facilement
solve easily for pour 𝜃"etand
les restants 01
the remaining 06 𝜃#
Manseur
Manseur et and
Doty :Doty: International
International JournalResearch,
Journal of Robotics of Robotics
1988 Research, 1988

Robotics
Robotique 1 1 29
Upgrade to Premium, unlock image [Link]

Numerical solution
Solution numérique des of
inverse kinematics
problèmes d'inverse problems
cinématique


n use when
à utiliser a closed-form
lorsque solution
une solution analytique 𝑞 =tofr (q)
q à r₁ 𝑟+ n'existe
= 𝑓( (𝑞) does
pas ou not
est "trop
difficile"
exist orà trouver
is “too hard” to be found
,-L(/)

n all methods
toutes are sont
les méthodes iterative and
itératives et nécessitent matrice 𝐽Jr((q)𝑞 =
need thelamatrix
,/
(analytical Jacobian)
(Jacobian analytique)

n Newton
méthode demethod
Newton (ici seulement
(here pour
only for 𝑚 m==𝑛,n, at
à lathe
k-ième itération)
𝑘 th iteration)
6 6 6 6 ¬ négligé
← neglected
dans
n𝑟0 = 𝑓 5 𝑞
▪ ra = fr(q) = fr(q*) + Jr(q*)(q − q*) + 0 (||q -− q* ||)
= 𝑓5 𝑞 + 𝐽5 𝑞 𝑞 − 𝑞 + 𝑜 𝑞 − 𝑞 in Taylordeexpansion
l'expansion Taylor

𝑞 Q:# = 𝑞 Q + 𝐽N5# (𝑞 Q ) 𝑟O − 𝑓N 𝑞 Q
n convergence
< (initial guess) close enough to some 𝑞 ∗ : 𝑓 (𝑞 ∗ ) = 𝑟
𝑞(estimation
■ convergence pourforqº initiale) suffisamment proche de quelque q*:
N fr (q*) = ra
O
n problems
■ neardes
problèmes près singularities of lathe
singularités de Jacobian
matrice matrix
Jacobienne 𝐽N 𝑞
Jr (q)
#
■inencase
n cas de
ofredondance robotique(𝑚
robot redundancy (m < 𝑛),utiliser
< n), use thela pseudoinverse
pseudoinverse J# 𝐽(q)
N (𝑞)
n has
■ quadratic
a un taux convergence
de convergence quadratiquerate when
lorsqu'il near to
est proche a solution
d'une (fast!)
solution (rapide!)

Robotics
Robotique 1 1 30
Upgrade to Premium, unlock image [Link]

Operation
Opération de laof Newton
méthode method
de Newton.
n in
■ dansthe scalar
le cas scalaire,case, alsoconnue
également known sousas “method
le nom of the
de "méthode de latangent”
tangente"
■ pouraune
n for fonction différentiable
differentiable functionf(x),𝑓(𝑥)
trouver, find
une racine
a root 𝑥 ∗ƒof
x* de (x*)𝑓= 𝑥0 ∗en =
itérant
0 by
comme
iterating as
𝑓(𝑥Q )
𝑥Q:# = 𝑥Q − R
𝑓 𝑥Q

an
une approximating sequence
séquence d'approximation

𝑥# , 𝑥$ , 𝑥3 , 𝑥= , 𝑥> , ⋯ ⟶ 𝑥 ∗

function
fonction
tangent
tangente

animation
animation de from
[Link]
[Link] Iteration_Ani.gif

Robotics
Robotique 1 1 31
Upgrade to Premium, unlock image [Link]

Numerical solution
Solution numérique des of
inverse kinematics
problèmes d'inverse problems
cinématique (suite) (cont’d)

n Gradient
Méthode du method (max descent)
gradient (descente maximale)
n minimize the error
minimiser la fonction d'erreur function
! # ! '
𝐻 𝑞 = 𝑟& − 𝑓" (𝑞) = 𝑟& − 𝑓" (𝑞) 𝑟& − 𝑓" (𝑞)
# #

𝑞 ()! = 𝑞 ( − 𝛼 ∇* 𝐻(𝑞 ( )
from
de
8
8 8
∇7 𝐻(𝑞) = 𝜕𝐻(𝑞)⁄𝜕𝑞 =− 𝑟0 − 𝑓5 𝑞 𝜕𝑓5 (𝑞)⁄𝜕𝑞 = −𝐽58 (𝑞) 𝑟0 − 𝑓5 (𝑞)
we get
nous obtenons

𝑞 ()! = 𝑞 ( + 𝛼 𝐽"' (𝑞 ( ) 𝑟& − 𝑓" (𝑞 ( )


■ the
n scalar
la taille de passtep size
scalaire a> 𝛼0 doit
> 0être
should
choisie be chosenà garantir
de manière so as to uneguarantee
diminution
a
de decrease of theà error
la fonction d'erreur chaquefunction at valeurs
itération : des each iteration:
trop grandes too
pour large
a
peuvent for 𝛼 lamay
valuesamener leadà the
méthode method
"rater" to “miss” the minimum
le minimum
■ when
n the
lorsque la step
taille size
du pas is too
est trop small,
petite, convergence
la convergence is extremely
est extrêmement lente slow
Robotics
Robotique 1 1 32
Upgrade to Premium, unlock image [Link]

Revisited
Revisité en tantas
que a feedback
schéma scheme
de rétroaction
𝑞(0)
𝑟& + 𝑒 𝑞̇ 𝑞
' ó rd = cost
𝑟&= coût
Si𝐽"(a)
(𝑞) 𝛼 õ
-
𝑟 𝛼>0
𝑓" (𝑞)

𝑒 = 𝑟& − 𝑓" 𝑞 ® 0 ⟺ équilibre en boucle


closed-loop fermée𝑒 e== 0
equilibrium 0
is
estasymptotically
asymptotiquement stable
stable
!
𝑉 = 𝑒'𝑒 ³ 0 is auneLyapunov
est candidate
fonction candidate function
de Lyapunov
#
𝑑
̇ '
𝑉 = 𝑒 𝑒̇ = 𝑒 '
𝑟& − 𝑓" (𝑞) = −𝑒 ' 𝐽" 𝑞 𝑞̇ = −𝛼 𝑒 ' 𝐽" 𝑞 𝐽"' 𝑞 𝑒 ≤ 0
𝑑𝑡
𝑉̇ = 0 ⟺ 𝑒 ∈ 𝒩 𝐽"' (𝑞) in particular,
en particulier, e = 0𝑒 = 0
↑espace
nul space
null asymptotic
stabilité stability
asymptotique
Robotics
Robotique 1 1 33
Upgrade to Premium, unlock image [Link]

Properties
Propriétés de la of Gradient
méthode method
du gradient

n computationally
computationally simpler:
simpler: utiliser lause the Jacobian
transposée transpose,
du Jacobien, rather
plutôt que son
than its (pseudo)inverse
(pseudo)inverse
n same use alsoégalement
même utilisation for robots
pour that are qui
les robots redundant (𝑛 >(n𝑚
sont redondants ) for
> m) pourthe task
la tâche
n may
peut nenot
pas converge toune
converger vers a solution, but
solution, mais il neit diverge
neverjamais
diverges
n the discrete-time
l'évolution en temps discret evolution of the continuous scheme
du schéma continu

𝑞 ()! = 𝑞 ( + ∆𝑇 𝐽"' (𝑞 ( ) 𝑟& − 𝑓" (𝑞 ( ) , 𝛼 = Δ𝑇


is
est equivalent toitération
équivalent à une an iteration of the
de la méthode duGradient
gradient method
n the
le scheme
schéma peut can be accelerated
être accéléré en utilisant by
uneusing
matriceade
gain K>0 𝐾 >0
gainmatrix
𝑞̇ = 𝐽"' 𝑞 𝐾𝑒 = 𝐽"' 𝑞 𝐾 𝑟& − 𝑓" (𝑞)

note : K𝐾→⟶
note: K+ 𝐾
Ks,+avec
𝐾S Ks
, with 𝐾S skew-symmetric,
skew-symétrique, can être
peut également be used
utilisé also to “escape”
pour "s'échapper"
7 ?
from being stuck in a stationary point of 𝑉 =
d'un point stationnaire de V = ½½e Ke, en faisant tourner 𝑒 𝐾𝑒, by rotating the error
8 l'erreur Ke hors de l'espace
𝐾𝑒 de
nul out JT of the nullsingularité
(lorsqu'une 𝐽N?rencontrée)
space ofest (when a singularity is encountered)
Robotics
Robotique 1 1 34
Upgrade to Premium, unlock image [Link]

A case
Une étude de study
cas des
expr essions
analytic expressions of Newton
analytiques des itérationsand gradient
de New iterations
ton et de gradient

n Robot 2R avec
2R robot ₁ = l₂
with 𝑙#== 𝑙$ = 1,d'effecteur
1, position desired terminal
end-effector position
désirée rd 𝑟O = 𝑝O = (1,1)
= Pa = fonction
n cinématiqu e directe etfunction
direct kinematic erreur and error
𝑐" + 𝑐"! 1
𝑓5 𝑞 = 𝑠" + 𝑠"! 𝑒 = 𝑝0 − 𝑓5 𝑞 = − 𝑓5 (𝑞)
1
n Jacobian
Matrice matrix
jacobienne
𝜕𝑓5 (𝑞) − 𝑠" + 𝑠"! −𝑠"!
𝐽5 𝑞 = =
𝜕𝑞 𝑐" + 𝑐"! 𝑐"!
n Newton versus
Itération de Newton Gradient
contre iteration
itération de gradient

𝐽5<" (𝑞 6 )
det 𝐽9 (𝑞)
1 𝑐"! 𝑠"! 𝑒6
𝑠! − 𝑐" + 𝑐"! − 𝑠" + 𝑠"! |7;7 ! 1 − 𝑐" + 𝑐"!
69" 6
𝑞 =𝑞 + ×
− 𝑠" + 𝑠"! 𝑐" + 𝑐"! 1 − 𝑠" + 𝑠"! |7;7 !
𝛼
−𝑠"! 𝑐"! |7;7 !

8 6
Robotics
Robotique 1 1
SI (ak))
𝐽5 (𝑞
35
Upgrade to Premium, unlock image [Link]

Error function
Fonction d'erreur

n Robot
2R 2R avec
robot with₁ 𝑙=# l₂== 𝑙1$ et
=position finale désirée
1 and desired de l'effecteur
end-effector pa = (1,1)
position 𝑝O = (1,1)
distance cartésienne au carré des solutions pour p = (1,1) iso-niveaux de distance cartésienne des deux solutions (") pour p = (1,1)

𝑒 = 𝑝O − 𝑓N (𝑞)

activé

$ twominima
deux locallocaux
minima
tracé of
plot 𝑒 as
de ||e||2 en afonction de of 𝑞 = (𝑞# , 𝑞$ )
function
(inversecinématiques
(solutions kinematicinverses)
solutions)
Robotics
Robotique 1 1 36
Upgrade to Premium, unlock image [Link]

Configuration space
Espace de configuration du of 2R2Rrobot
robot
whiteboard
tableau blanc …

n pouvons-nous représenter
can we represent la "distance"
the correct correcte entre
‘‘distance’’ deux two
between configurations 𝑞 % ce
q' et q" de
configurations 𝑞 %%
robot
and
sur une région
of this robot (carrée) dans R² ?region in ℝ! ?
on a (square)
𝑞#
𝜋
𝑞; 𝑞; 𝑞;
join the
joindre les join the
joindre les
twocôtés
deux sides twocôtés
deux sides
𝑞" 𝑞!= = −𝜋 &
close
proche ouor
loin far?
? 9₁ -π et 𝑞" = −𝜋
𝑞;; 𝑞;; and
q₁ = π𝑞! =𝜋 𝑞;; and
et q₂ =𝑞$π = 𝜋
−𝜋
−𝜋 𝜋
n configuration
l'espace space isest
de configuration un tore𝑆𝑂
a torus 1 ××SO(1),
SO(1) 𝑆𝑂 1c'est-à-dire
, i.e., the surfaced'un
la surface of a"beignet"
‘‘donut’’
𝑞"

(0,0)

𝑞#

n the
la right
bonne metric
métrique est is
unea géodésique
geodesicsuronlethe
tore torus
.. …

Robotics
Robotique 1 1 37
Upgrade to Premium, unlock image [Link]

Error reduction
Réduction byla Gradient
d'erreur par méthode dumethod
gradient
n flowd'itérations
flux of iterations
le long along thenégatif
du gradient negative (or anti-) gradient
(ou anti-gradient)
n two cas
deux possible
possiblescases: convergence
: convergence or(àstuck
ou blocage (at zero gradient)
zéro gradient)
iso-niveaux de distance cartésienne des deux solutions (") pour p = (1,1) niveaux iso de distance cartésienne par rapport aux deux solutions (*) pour p = (1,1)

start
début

onesolution
une solution

activé
maximum
.
local maximum local point
saddleselle point
.
(stop ifsi this
(arrêtez c'est is the initial initiale)
la supposition guess) (stop
(arrêtezafter
après some iterations)
quelques itérations)

another start...
un autre départ...

...the
..l'autre other
solution solution

(𝑞! , 𝑞" ); = (0, 𝜋/2) (𝑞! , 𝑞" );; = (𝜋/2, −𝜋/2) (𝑞 ! , 𝑞" )<=5
(91,92)max = (−3𝜋/4,0)
= (-3π/4,0) (91,92) selle(𝑞! , 𝑞" )>=??@A = (𝜋/4,0)

Robotics
Robotique 1 1 𝑒 ∈ 𝒩(𝐽9: (𝑞)) ! 38
Upgrade to Premium, unlock image [Link]

Convergence
Analyse analysis
de la convergence : quand la
méthode
when doesdu the
gradient se bloque-t-elle
gradient method get ? stuck?
n lack
le of convergence
manque de convergence seoccurs when
produit lorsque
n the
la Jacobian
matrice matrix
jacobienne J_r(q) is pas
n'est
𝐽B (𝑞) not defullplein
rank (the
rang (le robot is in
robot est a “singular
dans configuration”)
une "configuration
n singulière")
AND the error 𝑒 is in
ET l'erreur e est
thedans
nulll'espace
spacenul 𝐽9: (𝑞)
of de J(q)
𝑝

𝑝% =
1 𝑒 = 𝑝% − 𝑝 = 1 − 2
𝑝% 1− 2
1
𝑞2 − 𝑠" + 𝑠"$ 𝑐" + 𝑐"$
𝐽&' 𝑞 =
−𝑠"$ 𝑐"$ |)*)!"##$%
− 2 2
𝑞1 𝑝% =
− 2 2

(𝑞" , 92)
(91, 𝑞# )=<>>?@
selle = = (𝜋/4,0)
(π/4,0) 𝑒 ∈ 𝒩(𝐽58 (𝑞))

𝑝? 𝑒 ∉ 𝒩(𝐽58 (𝑞)) !!
𝑒 ∈ 𝒩(𝐽58 (𝑞)) the algorithm
l'algorithme will
procédera
proceed
dans ce cas,in this case,
moving
sortir de la out of
𝑝 the singularity
singularité
𝑝 (𝑞" , 𝑞# );<. = (−3𝜋/4,0) (𝑞" , 𝑞# ) = (𝜋/9,0)
Robotics
Robotique 1 1 39
Upgrade to Premium, unlock image [Link]

Issues
Problèmesind'implémentation
implementation
n estimation
initial initiale𝑞qº<
guess
n onlyseule
une onesolution
inverse solution
inverse is generated
est générée pour chaque for each guess
estimation,
n multiple initializations
plusieurs initialisations for obtaining
pour obtenir other solutions
d'autres solutions
n optimal
taille de passtep sizea 𝛼
optimale > 0>dans0 in Gradient
la méthode method
du gradient
n une étape constante
a constant step peut
maybien workfonctionner au début, mais
good initially, but pas
notprès de lato the
close
solution
solution (ou(or
vicevice
versa)versa)
n unean recherche
adaptive de one-dimensional
ligne unidimensionnelle line search
adaptative (e.g., Armijo’s
(par exemple, rule)pourrait
la règle d'Armijo) could
be
être used
utilisée to
pourchoose
choisir le the best
meilleur a à𝛼 at each
chaque iteration
itération
n stopping criteria
critères d'arrêt
Cartesian
erreur cartésienneerror
algorithm
incrément de
(possibly, separate for 𝑟0 − 𝑓5 𝑞 6 ≤𝜀 𝑞 69" − 𝑞 6 ≤ 𝜀7
(possiblement, séparé pour increment
l'algorithme
position and orientation)
position et orientation)

n understanding
compréhension de la closeness
proximité des to singularities
singularités
6
good condition
bonne numerical conditioning
numérique
𝜎I,- 𝐽5 𝑞 ≥ 𝜎J de
of laJacobian
matrice jacobienne
matrix (SVD) (ou
(SVD)
(or a simpler
un test plus simpletest
sur on
son its determinant,
déterminant, = n) 𝑚 = 𝑛)
pour m for
Robotics
Robotique 1 1 40
Upgrade to Premium, unlock image [Link]

Numerical
Tests numériques tests onRRP
sur le robot RRP robot
n Robot RRP/polaire
RRP/polar robot: : position
desired E-EE-E
désirée rα = Pa
position 𝑟0== 𝑝0 = 1, 1, 1
—seela slide
―voir #22,
diapositive avec 𝑑
with
n° 22, d₁" =€ 0.5
0,5

n the
■ two solutions
les deux (known)analytiques
analytical solutions,
(connues), 93 ≥𝑞+0, ≥
avecwith sont0, are
𝑞 ∗==
q* (0.7854,
(0,7854, 0,3398,0.3398,
1,5) 1.5)
∗∗
𝑞
q** ==(q†(𝑞"∗-−−ñ‚π
𝜋, -—
𝜋 −92,𝑞!∗93)
, 𝑞$∗=)(−2,3562,
= (−2.3562, 2.8018, 1.5)
2,8018, 1,5)


n norms 10<3
normes &𝜀 ==10-5 (max
(erreur Cartesian
cartésienne error),εq𝜀=7 10-6
maximale), = 10 <1
(min minimal
(incrément joint increment)
de
<2
n 𝑘 IL& = 15
joint)kmax = 15(max # iterations),
(nombre det 𝐽5det
maximal d'itérations), (𝑞)Jr (q)|
≤ 10 (singularity
≤ 10-4 (proximité decloseness)
singularité)
n numerical performance
performance numérique of Gradient
du Gradient (with different
(avec différentes steps
étapes α) par 𝛼 )àvs.
rapport Newton
Newton
J
test
ntest 1:= 𝑞(0,0,1)
1 : q° = (0, 0, 1)
comme as de
point initial
départguess
initial
J
testtest
n 2 : qº2:= 𝑞(−π/4,π/2,
= (−𝜋/4, 1) —𝜋/2, — ‘‘singular”
1)"singulier",
début start,
puisque since
c₂ C2= 0 (voir𝑐!diapositive
= 0 (see#22)
slide #22)
J
n test
test 3 : qº3:= 𝑞 = (0,
(0,π/2, 0) —"doublement
𝜋/2,début
0) -— ‘‘doubly singular” start, q3
singulier", puisque since
= 0 also 𝑞$ = 0
solution
nsolution and plots
et graphiques avecwith MATLAB
le code MATLAB code

Robotics
Robotique 1 1 41
Upgrade to Premium, unlock image [Link]

Numerical
Test numérique - 1test - 1
J

n test
test 11:
: q°𝑞 ===
= (0,0,1) 1) as initial
(0, 0, comme guess;
estimation initialeevolution
; évolution of the
de la error
norme norm
d'erreur
Méthode du gradient avec un pas constant = 0,5 Méthode du gradient avec un pas constant = 1 Méthode de gradient avec un pas constant = 0,7

Gradient:
Gradient : a = 0,5 𝛼 = 0.5 Gradient: 𝛼 = 1 Gradient:
Gradient : a = 0,7𝛼 = 0.7
norme de l'erreur de position cartésienne [m]

norme de l'erreur de position cartésienne [m]

norme de l'erreur de position cartésienne [m]


toogrand,
trop large, oscillates
oscille autour
de la solution
around solution good,
bon, converges
converge en 11
in 11 iterations
itérations
slow,
lent, 15 (max)
15 (max)
iterations
itérations

6
itérations itérations itérations
Composantes d'erreur cartésiennes
méthode de Newton
0.57⋅10-5
Newton
𝑒𝑥
Cartesian
Erreurs errors
cartésiennes
norme de l'erreur de position cartésienne [m]

component-wise
composantes
very
très fast,
rapide, converges
converge en 5
in 5 iterations
itérations 𝑒𝑦

𝑒𝑧
0.15⋅10-8
itérations

Robotics
Robotique 1 1
itérations
42
Upgrade to Premium, unlock image [Link]

Numerical
Test numérique - 1test - 1

J

n test
test 11:
: qº𝑞====(0,0,1) 1) asestimation
(0, 0,comme initial guess;
initiale ;evolution ofvariables
évolution des joint variables
conjointes
Variables conjointes Variables conjointes Variables conjointes

lait F
lait F

5 6 7 8 9 10 11 12 13 14 itérations

itérations
itérations

Gradient: 𝛼 = 1 Gradient:
Gradient : a = 0,7 𝛼 = 0.7 Newton
not converging
ne converge pas vers converges
converge en in converges
converge en in
to asolution
une solution 11 iterations
11 itérations 55itérations
iterations


both
les deuxtovers
thela same solution
même solution q 𝑞 = (0.7854, 0.3398, 1.5)

Robotics
Robotique 1 1 43
Upgrade to Premium, unlock image [Link]

Numerical
Test numérique - 2test - 2
J

n test
test 22:
: qº𝑞= (−π/4,π/2,1)
= (−𝜋/4, 𝜋/2, 1):
: début singular start
singulier
Méthode du gradient avec séparation constante de 0,7 méthode de Newton withvérification
avec checkdeof
Newton singularity:
la singularité :

ma
blocked at start
bloqué au départ
norms

norme de l'erreur de position cartésienne [m]


norme de la position cartésienne enorm

without
sans check:
vérification : ça
normes d'erreur

it diverges!
error

diverge !
Gradient
Gradientα = 0,
𝛼
7 = 0.7

érations
itérations

Variables conjointes !! Variables conjointes

starts toward
commence vers la
solution,
solution, mais but
blesvariables
conjointes

slowly stops
s'arrête
(in singularity):
lentement (en Je
when Cartesian
singularité) error
: lorsque le vecteur
joint

𝐽58 (𝑞)
varia

d'erreur 𝑒∈𝒩
vectorcartésien e E NU (q))

7 8 9 itérations

Robotics
Robotique 1 1 44
Upgrade to Premium, unlock image [Link]

Numerical
Test numérique - 3test - 3
J

n test
test 33:
: qº𝑞 = = 1): doubly
(−𝜋/4, 𝜋/2,: début
==(-π/4,π/2,1) singular
doublement start
singulier
Méthode de gradient avec un pas constant = 0,7

Gradient
Gradient (with
(avec 𝛼 = 0.7)
α = 0,7) Newton
Newton
starts vers
1 commence toward solution
la solution 2 sort is
est either
soit
norme de l'erreur de position cartésienne [m]


norm

de laexits
② doublethe double
singularité singularity
③ converge blocked at start
bloqué au départ soit
norme d'erreur

③ slowly
lentement converges
en 19 itérations versin
la 19 or (w/o
(sans check)
vérification)
error

0.96⋅10-5 iterations
solution to the solution explodes!
explose !⇒

𝑞 = (0.7854, 0.3398, 1.5) ⇒ “NaN”
"NaN" in MATLAB
dans MATLAB
9 10 11 12 13 14 15 16 17 18 19 itérations
Variables conjointes

Composantes d'erreur cartésiennes

𝑒𝑥
errors

jointblesvariables
conjointes
Erreurs cartésiennes

𝑒𝑦 ➂
Cartesian

varia


𝑒𝑧
G. [m]

10 11 12 13 14 15 16 17 18 19 itérations
9 10 11 12 13 14 15 16 17 18 19 itérations

Robotics
Robotique 1 1 45
Upgrade to Premium, unlock image [Link]

Final remarks
Remarques finales

n anschéma
un efficient iterative
itératif scheme
efficace peut can
être conçu be devised by combining
en combinant
■ les itérations
n initial initialesusing
iterations utilisant le Gradient
Gradient ("sûr but
(“sure maisslow”,
lent", taux de convergence
linear convergencelinéaire)
rate)
n puis
■ switchpasser
thenà latométhode
Newton de method
Newton (taux de convergence
(quadratic terminalterminal quadratique)rate)
convergence
n joint
les range
limites limits
de portée are considered
conjointes only at
ne sont considérées qu'àthe end
la fin
checksiiflathe
n vérifiez solution
solution trouvée found is feasible,
est faisable, comme pouras
lesfor analytical
méthodes methods
analytiques
n or, ancritère
ou, un optimization
d'optimisationcriterion and/or incluses
et/ou des contraintes constraints included diriger
dans la recherche.■ in thelessearch
itérations
n drive vers une solution
iterations cinématique
toward inverse kinematic
an inverse avec de meilleures propriétés
solution with sinicer
le problème doit
properties
n if
êtrethe problem
résolu en ligne has to be solved on-line
n execute
■ exécuter desiterations
itérations etand associate
associer an actual
un mouvement robotréel
robotique motion:
: répéterrepeat steps
les étapes aux at
timest₀,𝑡Jt₁, 𝑡="t₀=
temps + T,𝑡Jtₖ+ 𝑇, ...,
= tₖ-1T (par𝑡6exemple,
= 𝑡6<"toutes
+ 𝑇les(e.g., ms) 𝑇 = 40 ms)
T = 40 every
J
a “good”
n un choix "bon"choice
pour laforsupposition
the initial guess
initiale q° à𝑞t estatla𝑡solution
6 is the dusolution
problème of the previous
précédent à tₖ-1
problem 𝑡6<" (provides
(fournit uneatcontinuité, continuity,
nécessite seulement requiresdeonly
1-2 itérations 1-2 leNewton
Newton) iterations)
passage par des
n crossing
singularitésof
et singularities and de
la gestion des limites handling
plage desofarticulations
joint range limits une
nécessitent need special care
attention
n Jacobian-based
particulière. Des schémasinversion
d'inversion schemes are used
basés sur le Jacobien sont also for utilisés
également kinematic
pour lecontrol,
contrôle
moving
cinématique,along/tracking a continuous
se déplaçant le long/suivant taskdetrajectory
une trajectoire tâche continue𝑟Orₐ(t)
(𝑡)
Robotics
Robotique 1 1 46

Vous aimerez peut-être aussi