Robotique Et Vision Cours
Robotique Et Vision Cours
Robotique Et Vision Cours
Robotique et vision
M'hammed EL ALLAMI
m.elallami@gmail.com
1
Table des matières
Chapitre 1
Introduction à la robotique
PLAN
Robotique
Utilisation des robots
Historique
Générations de robots
Robots en chiffres
Avenir des robots
Le robot industriel ou le robot manipulateur
1.1 Robotique
Un robot : « Appareil effectuant, grâce à un système de commande automatique à base de micro-
processeur, une tâche précise pour laquelle il a été conçu dans le domaine industriel, scientifique
ou domestique ».
La robotique est l'ensemble des domaines scientifiques et industriels en rapport avec la
conception et la réalisation de robots.
1.3 Historique
1934: l'américain Willard L. G. Pollard Jr conçoit un des premiers robots industriels: robot
parallèle à 2 ddl pour peinture sur carrosserie automobile.
1937: la compagnie DeVilbiss achète une licence de ce brevet.
1938: Willard L. V. Pollard, père de Pollard, invente un robot de peinture et dépose une
demande de brevet : robot parallèle à 5 ddl.
1941: DeVilbiss fabrique le premier robot industriel, inventé et sous la direction de Harold
Roselund : un robot sériel pour peinture.
1954: l'américain George Devol demande un brevet pour un robot de transfert qui donne
naissance à la robotique industrielle d’aujourd'hui.
1956: Joseph Engelberger, jeune ingénieur qui travaille dans l'industrie spatiale, démarre la
compagnie Unimation.
1961: Unimation développe son premier prototype Unimate, utilisé pour assister une machine a
coulée par injection et le vend à General Motors.
1956: la compagnie AMF introduit le premier robot cylindrique le Versatran.
1962: six robots Versatran sont installés dans une usine de Ford.
1964: General Motors commande 66 autres robots Unimate,
1969: Unimation installe 26 robots soudeurs sur une ligne d'assemblage de Chevrolet Vega, chez
General Motors.
1969: Victor Scheinman développe le Stanford Arm à l'Université Standford : robot sériel à 6
ddl dont l’architecture est la plus utilisée à ce jour.
1973: Scheinman démarre sa propre entreprise et commercialise le Vicarm.
1973: Asea (aujourd'hui ABB) développe IRB6, le premier robot à 6 ddl avec un
parallélogramme.
1973: l’allemand KUKA développe son propre robot à 6 ddl, le FAMULUS.
1980: 19 000 robots industriel sont fabriqués au Japon par quelques 150 fabricants :
Kawasaki, Yaskawa, Kitachi, Mitsubishi Heavy Industries, Fanuc et Nachi.
Le Japon devient le plus grand fabricant et utilisateur de robots industriels au monde.
Organe terminal :
Effecteur, outil
Axe, articulation
Actionneur, moteur
Corps, segment
Base
1.7.3 Actionneurs :
Electriques : à courant continu, sont les plus utilisés + un réducteur pour amplifier le couple
moteur + souvent des transmissions par courroies crantées. Des moteurs à commutation
électronique et pas à pas sont de plus en plus utilisés
Hydrauliques : Pour les très lourdes charges. Vérin hydraulique agissant en translation ou
moteur hydraulique en rotation.
Pneumatiques : Pour un nombre limité de degrés de liberté. Asservissement en position
difficile dû à la compressibilité de l'air.
1.7.4 Capteurs :
La perception permet de gérer les relations entre le robot et son environnement. Deux types de
capteurs :
Capteurs proprioceptifs : lorsqu'ils mesurent l'état interne du robot (positions et vitesses
des articulations)
Capteurs extéroceptifs : lorsqu'ils recueillent des informations sur l'environnement :
détection de présence, de contact, mesure de distance, vision artificielle.
1.7.7 Géométrie
Robot = système mécanique poly-articulé :
Articulation
prismatique P
Articulation rotoïde
R
3 axes, série, RRR, 3DL 3 axes, série, PPP, 3DL 4 axes, parallèle, RP+RP, 3DL
Robot cylindrique :
3 axes, série, RPP, 3 ddl
Espace de travail cylindrique
Très rapide
Robot sphérique
3 axes, série, RRT, 3 ddl
Espace de travail sphérique
Grande charge utile
Robot Cartésien
3 axes 2 à 2, série, PPP, 3 ddl
Très bonne précision
Lent
Robot parallèle
L'effecteur est relie à la base via plusieurs bras
et la plupart des articulations ne sont pas
motorisées
Plusieurs chaînes cinématiques en
parallèle
Espace de travail réduit
Précis : structure rigide
Rapide
Robot anthropomorphe:
Reproduit la structure d'un bras humain
6 axes, série, 6R, 6 ddl
1.7.13 Programmation
Classiquement, 2 étapes sont utilisées pour faire en sorte qu'un robot connaisse la tâche à
exécuter.
L'apprentissage,
La génération de trajectoires et les opérations à réaliser
L'apprentissage :
Enregistrement dans une mémoire de la trajectoire à exécuter, sous contrôle d'un opérateur
humain.
Pour cela, on a besoin :
Pantin : Structure mécanique identique à celle du robot, qui est déplacée et qui mémorise les
points « pertinents »,
Les langages de programmation les plus courants sont : WAVE, VAL (Unimate), LM (Hitachi).
Chapitre 2
PLAN
Cinématique d'un robot sériel plan à 2 ddl.
Passage de coordonnées dans le plan / Matrice de rotation,
Passage de coordonnées dans l’espace /Position et orientation
𝑥
⃗⃗⃗⃗⃗ = [ 𝐵 ] = [𝑙1 𝑐𝑜𝑠𝜃1 + 𝑙2 (𝑐𝑜𝑠𝜃1 𝑐𝑜𝑠 𝜃2 − 𝑠𝑖𝑛𝜃1 𝑠𝑖𝑛 𝜃2 )]
𝑂𝐵 (2.1)
𝑦𝐵 𝑙1 𝑠𝑖𝑛𝜃1 + 𝑙2 (𝑠𝑖𝑛𝜃1 𝑐𝑜𝑠 𝜃2 + 𝑐𝑜𝑠𝜃1 𝑠𝑖𝑛 𝜃2 )
L‘équation ((2.1) représente la solution de la cinématique directe du robot sériel plan à 2 ddl. Elle
permet de calculer la position de l'effecteur si on connait les rotations des deux moteurs : 1 et 2
et longueurs des deux bras l1 et l2.
Exercice 1
Eant donné un robot sériel plan à 2 ddl. Les 2 bras sont de longueurs L1=300 mm et L2= 400
mm. Trouver la position de l'effecteur si les angles de rotation des deux moteurs 1= 50° et 2=
30°.
𝑥 2 𝐵 + 𝑦 2 𝐵 − 𝑙12 − 𝑙22
𝜃2 = ±𝑎𝑟𝑐𝑐𝑜𝑠 ( ) (2.3)
2𝑙1 𝑙2
Ces deux solutions sont réelles uniquement si l'argument de la fonction arccos(_) est dans
l'intervalle [-1; 1]. Ce qui permet d’écrire :
(𝑙1 − 𝑙2 )2 ≪ 𝑥 2 𝐵 + 𝑦 2 𝐵 ≪ (𝑙1 + 𝑙2 )2
Les deux solutions de l‘équation (2.3) coïncident pour la position 2 = 0. Cette position
correspond à la situation lorsque le robot est complétement étendu.
Ce qui permet d’écrire : 𝑥 2 𝐵 + 𝑦 2 𝐵 = (𝑙1 + 𝑙2 )2
Une fois trouvées les deux solutions de 2, on peut calculer les deux solutions correspondantes
pour l'angle 1, en utilisant chaque solution de 2 dans l'expression de l‘équation (2.1) :
Cette équation vectorielle représente un système de deux équations linéaires à deux inconnues
(sin1 et cos1) dont la solution est :
𝑥𝐵 (𝑙1 +𝑙2 𝑐𝑜𝑠 𝜃2 )+𝑦𝐵 𝑙2 𝑠𝑖𝑛 𝜃2 𝑦𝐵 (𝑙1 +𝑙2 𝑐𝑜𝑠 𝜃2 )−𝑥𝐵 𝑙2 𝑠𝑖𝑛 𝜃2
𝑐𝑜𝑠𝜃1 = , 𝑠𝑖𝑛𝜃1 = (2.6)
𝑥 2 𝐵 +𝑦 2 𝐵 𝑥 2 𝐵 +𝑦2 𝐵
Remarque :
Le cas spécial 𝑥𝐵2 + 𝑦𝐵2 = 0 peut arriver uniquement lorsque l1=l2.
Ce cas représente une singularité où le point B (l'effecteur) est confondu avec le point O et donc
restera immobile même si l'angle 1 varie.
Exercice 2
Etant donné un robot sériel plan à 2 ddl dont les 2 bras sont de longueurs L1=300 mm et L2= 400
mm. Trouver les angles de rotation des deux moteurs si la position de l'effecteur est (250 mm,600
mm).
Soit les deux référentiels R0 (O0, x0, y0) et R1 (O1, x1, y1).
R0 est un référentiel fixe et R1 est un référentiel mobile par rapport au référentiel fixe R0.
𝑹𝟎
𝑹𝟏
Le vecteur ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
𝑂0 𝑂1 , 0 représente les coordonnées de l'origine du référentiel R1 par rapport au
référentiel R0.
L'angle représente la rotation de l'axe x0 par rapport à l'axe x1.
Admettons que les coordonnées d'un point B sont connues uniquement dans le référentiel R1 :
𝑥𝐵,1
⃗⃗⃗⃗⃗⃗⃗
𝑂1 𝐵,1 = [𝑦 ]
𝐵,1
⃗⃗⃗⃗⃗⃗⃗⃗
𝑂0 𝐵,0 = ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
𝑂0 𝑂1 ,0 + ⃗⃗⃗⃗⃗⃗⃗
𝑂1 𝐵,0
⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗
𝑂1 𝐵,0 = 𝑂 ⃗⃗⃗⃗⃗⃗
1 𝐻,0 + 𝐻𝐵,0
D’où : ⃗⃗⃗⃗⃗⃗⃗
𝑂1 𝐵,0 = 𝑅01 . ⃗⃗⃗⃗⃗⃗⃗
𝑂1 𝐵,1 (2.8)
Et : ⃗⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
𝑂0 𝐵,0 = 𝑂 ⃗⃗⃗⃗⃗⃗⃗
0 𝑂1 ,0 + 𝑅01 . 𝑂1 𝐵,1 (2.9)
𝑐𝑜𝑠𝜃 −sin 𝜃
Avec : 𝑅10 = 𝑅1,0 = 𝑅01 = [ ] (2.10)
𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃
𝑅10 = 𝑅1,0 = 𝑅01 est la matrice de rotation qui représente l'orientation du référentiel F1 par
rapport au référentiel F0.
Cette règle permet à un vecteur exprimé dans un référentiel R1 le Passage de coordonnées dans
un autre référentiel R0,
Remarque :
La matrice rotation du référentiel R1 par rapport au référentiel R0 est constituée de :
𝑥1,0 𝑦1,0
𝑐𝑜𝑠𝜃 −sin 𝜃
𝑅01 = [ ]
𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃
La matrice de rotation est une matrice orthogonale qui respecte les relations suivantes :
𝑐𝑜𝑠𝜃 sin 𝜃
𝑅01 = [ ]
−𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
La connaissance des coordonnées du point B/R0 (𝑂 0 𝐵,0 ) nous permet de trouver les
coordonnées de ce point/R1 :
⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
𝑂1 𝐵,1 = 𝑂 ⃗⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗
1 𝑂0 ,1 + 𝑂0 𝐵,1 = 𝑂1 𝑂0 ,1 + 𝑅10 . 𝑂0 𝐵,0 (2.13)
Exercice 3
R0(O0, 𝑥0, 𝑦0, 𝑧0) et R1(O1, 𝑥1, 𝑦1, 𝑧1) sont deux repères confondus au départ et un point P,0=(1,1).
Trouver la matrice rotation 𝑅01 et P,1 dans les deux cas suivants :
i. Rotation 90° autours de 𝑧0,
ii. Rotation 180° autours de 𝑧0
Dans le cas général, la situation du repère R1 par rapport au repère de base R0 est réalisée par
une position et une orientation :
Le choix d’une description est guidé par les caractéristiques du manipulateur (forme du volume
de travail) d’une part, et par la tâche à réaliser d’autre part.
Coordonnées cartésiennes
⃗⃗⃗⃗⃗⃗ :
Un point M de l’espace est repéré par trois composantes du vecteur 𝑂𝑀
⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗𝝆 + 𝒛𝒆
𝑶𝑴(𝝆, 𝝋, 𝒛) = 𝝆𝒆 ⃗⃗⃗⃗𝒛
Équivalent en Coordonnées cartésiennes :
Coordonnées sphériques
La connaissance de deux vecteurs choisis parmi les 3 est suffisante (le troisième est obtenu par le
produit vectoriel des deux autres).
Les angles d’Euler
Dans ce cas, l’orientation d’un repère Rn associé à un solide quelconque, dans un repère
référence R0, est déterminée par la spécification de 3 angles correspondants à trois rotations
successives suivant (z, x, z) : φ (précession), θ (nutation), ψ (rotation propre)
La matrice d’orientation :
Les roulis-tangage-lacet
Comme pour les deux représentations précédentes, l’orientation d’un repère Rn, associé à un
solide quelconque, dans un repère de référence R0, est déterminée par la spécification de 3 angles
correspondants à 3 rotations successives (z, y,
x).
La matrice d’orientation :
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
Les coordonnées du point P dans le 𝑂 ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
0 𝑃,0 = 𝑂0 𝑂1,0 + 𝑂1 𝑃,0
repère R0 sont :
= ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
𝑂0 𝑂1,0 + 𝑅01 × 𝑂 1 𝑃,1
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
Translation de R1/ R0 le long de l’axe O0O1 :𝑂 0 𝑂1,0
On a alors : 𝑅01 = 𝑅01 (𝑥0 , 𝜃𝑥0 ) × 𝑅01 (𝑦0 , 𝜃𝑦0 ) × 𝑅01 (𝑧0 , 𝜃𝑧0 )
𝑋1
Soit le point P dans le repère R1 : ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
𝑂 𝑃
1 ,1 = ( 𝑌1 )
𝑍1
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
𝑂 ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
0 𝑃,0 = 𝑂0 𝑂1,0 + 𝑅01 × 𝑂1 𝑃,1
Les coordonnées du point P dans le
0 1 0 0 𝑋1 𝑋1
repère R0 sont : = (𝐿 ) + [0 1 0] × ( 𝑌1 ) = (𝐿 + 𝑌1)
0 0 0 1 𝑍1 𝑍1
𝑋1
Soit le point P dans le repère R1 : ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
𝑂 1 𝑃,1 = ( 𝑌1 )
𝑍1
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
𝑂 ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
0 𝑃,0 = 𝑂0 𝑂1,0 + 𝑅01 (𝑥0 , 𝜃𝑥0 ) × 𝑂1 𝑃,1
Les coordonnées du point P dans le
0 1 0 0 𝑋1
repère R0 sont : = (0) + [0 cos 𝜃𝑥0 − sin 𝜃𝑥0 ] × ( 𝑌1 )
0 0 sin 𝜃𝑥0 cos 𝜃𝑥0 𝑍1
𝑋1
= (𝑌1 cos 𝜃𝑥0 − 𝑍1 sin 𝜃𝑥0 )
𝑌1 sin 𝜃𝑥0 +𝑍1 cos 𝜃𝑥0
Exercice 4
Exprimer les matrices de rotation : 𝑅01 (𝑦0 , 𝜃𝑦0 ) 𝑒𝑡 𝑅01 (𝑧0 , 𝜃𝑧0 )
Cas de : Translation + Rotation
𝑋1
Soit le point P dans le repère R1 : ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
𝑂 1 𝑃,1 = ( 𝑌1 )
𝑍1
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
𝑂 ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
0 𝑃,0 = 𝑂0 𝑂1,0 + 𝑅01 (𝑥0 , 𝜃𝑥0 ) × 𝑂1 𝑃,1
𝑎 1 0 0 𝑋1
Les coordonnées du point P dans le = ( 𝑏 ) + [0 cos 𝜃𝑥0 − sin 𝜃𝑥0 ] × ( 𝑌1 )
𝑐 0 sin 𝜃𝑥0 cos 𝜃𝑥0 𝑍1
repère R0 sont :
𝑎 + 𝑋1
= (𝑏 + 𝑌1 cos 𝜃𝑥0 − 𝑍1 sin 𝜃𝑥0 )
𝑐 + 𝑌1 sin 𝜃𝑥0 +𝑍1 cos 𝜃𝑥0
Exercice 5
X1
Z1
Y1
Z0
Y0
X0
Chapitre 3
Transformations homogènes
PLAN DU COURS
Transformations homogènes,
Paramètres de Denavit-Hartenberg modifié
L’équation vectorielle donne un calcul fastidieux et n’est pas adapté au calcul numérique. Les
matrices homogènes permettent de résoudre ce problème.
Soit M de l'espace :
𝑥
Coordonnées cartésiennes : ⃗⃗⃗⃗⃗⃗ = (𝑦)
0𝑀
𝑧
𝑥
⃗⃗⃗⃗⃗⃗ 𝑦
Coordonnées homogènes : 0𝑀 = ( )
𝑧
1
𝑅𝑂𝑇𝐴𝑇𝐼𝑂𝑁 𝑇𝑅𝐴𝑆𝐿𝐴𝑇𝐼𝑂𝑁
La matrice T01 :
représente la transformation pour passer du repère R1 au repère R0.
permet d'exprimer dans le repère R0, les coordonnées pour un vecteur exprimé dans le repère
R1.
1 0 0 𝑎 1 0 0 0 1 0 0 0 1 0 0 𝑎
0 1 0 0 0 1 0 𝑏 0 1 0 0 0 1 0 𝑏
=[ ]×[ ]×[ ]=[ ]
0 0 1 0 0 0 1 0 0 0 1 𝑐 0 0 1 𝑐
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
𝑥𝑗
Soit le point M dans le repère Rj : 𝑂𝑗 𝑀,𝑗 = (𝑦𝑗 )
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
𝑧𝑗
1 0 0 𝑎 𝑥𝑗 𝑎 + 𝑥𝑗
Les coordonnées du point M dans le 0 1 0 𝑏 𝑦𝑗 𝑏 + 𝑦𝑗
𝑇𝑖𝑗 × 𝑀,𝑗 = [ ] × (𝑧 ) = ( )
repère Ri sont : 0 0 1 𝑐 𝑗 𝑐 + 𝑧𝑗
0 0 0 1 1 1
1 0 0 0
0 cos 𝜃𝑗 − sin 𝜃𝑗 0
𝑇𝑖𝑗 = 𝑅𝑜𝑡(𝑥𝑗 , 𝜃𝑗 ) = [ ]
0 sin 𝜃𝑗 cos 𝜃𝑗 0
0 0 0 1
𝑥𝑗
Soit le point M dans
𝑂𝑗 𝑀,𝑗 = (𝑦𝑗 )
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
le repère Rj : 𝑧𝑗
Les coordonnées du 1 0 0 0 𝑥𝑗 𝑥𝑗
0 cos 𝜃𝑗 − sin 𝜃𝑗 0 𝑦𝑗
point M dans le 𝑇𝑖𝑗 × 𝑀,𝑗 = [ ] × ( 𝑧 ) = (𝑦𝑗 cos 𝜃𝑗 − 𝑧𝑗 sin 𝜃𝑗 )
0 sin 𝜃𝑗 cos 𝜃𝑗 0 𝑗
𝑦𝑗 sin 𝜃𝑗 +𝑧𝑗 cos 𝜃𝑗
repère Ri sont : 0 0 0 1 1
Exercice 1
Calculer les matrices de transformation homogène 𝑅𝑜𝑡(𝑦𝑗 , 𝜃𝑗 ) et 𝑅𝑜𝑡(𝑧𝑗 , 𝜃𝑗 )
1 0 0 𝑎 1 0 0 0 1 0 0 𝑎
0 1 0 𝑏 0 cos 𝜃𝑗 − sin 𝜃𝑗 0 0 cos 𝜃𝑗 − sin 𝜃𝑗 𝑏
=[ ]×[ ]=[ ]
0 0 1 𝑐 0 sin 𝜃𝑗 cos 𝜃𝑗 0 0 sin 𝜃𝑗 cos 𝜃𝑗 𝑐
0 0 0 1 0 0 0 1 0 0 0 1
𝑥𝑗
Soit le point M dans
𝑂𝑗 𝑀,𝑗 = (𝑦𝑗 )
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗
le repère Rj : 𝑧𝑗
1 0 0 𝑎 𝑥𝑗
0 cos 𝜃𝑗 − sin 𝜃𝑗 𝑏 𝑦𝑗
𝑇𝑖𝑗 × 𝑀,𝑗 = [ ] × (𝑧 )
Les coordonnées du 0 sin 𝜃𝑗 cos 𝜃𝑗 𝑐 𝑗
0 0 0 1 1
point M dans le
𝑎 + 𝑥𝑗
repère Ri sont :
= (𝑏 + 𝑦𝑗 cos 𝜃𝑗 − 𝑧𝑗 sin 𝜃𝑗 )
𝑐 + 𝑦𝑗 sin 𝜃𝑗 +𝑧𝑗 cos 𝜃𝑗
𝑥𝑛
Les coordonnées du point M
⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ 𝑦𝑛
𝑂 0 𝑀,0 = 𝑇0𝑛 × 𝑂𝑛 𝑀,𝑛 = 𝑇0𝑛 × ( 𝑧 )
dans le repère R0 sont : 𝑛
1
Remarques
Une matrice de transformation peut se décomposer en 2 matrices :
0
𝑅𝑜𝑡3×3 𝑇𝑟𝑎3×1 𝐼 𝑇𝑟𝑎3×1 𝑅𝑜𝑡3×3 0
𝑇=[ ]=[ ]×[ ]
0 0 0 1 0 0 0 1 0
0 0 0 1
𝑇𝑅𝐴𝑆𝐿𝐴𝑇𝐼𝑂𝑁 𝑅𝑂𝑇𝐴𝑇𝐼𝑂𝑁
𝑇1 × 𝑇2 ≠ 𝑇2 × 𝑇1
𝑇𝑗𝑖 = 𝑇𝑖𝑗 −1 ≠ 𝑇𝑖𝑗 𝑡
𝑅𝑜𝑡𝑖𝑗 𝑇𝑟𝑎𝑖𝑗
Si 𝑇𝑖𝑗 = [ ] 𝑎𝑙𝑜𝑟𝑠
0 0 0 1
3.2.1 Hypothèses :
Le robot correspond à une chaîne simple ouverte,
3.2.2 Notations
Le robot possède :
n+1 corps de C0, …, Cn
n articulations j de variable qj (j=1..n)
Le corps Cj de repère Rj est lié au corps Cj-1 à travers
l’articulation j, de variable qj et d’axe OjZj
Autrement dit :
L’articulation j :de variable qj, d’axe OjZj du repère Rj et lie le corps Cj à Cj-1
En résumé :
Remarques
On définit le paramètre j de l’articulation tel que :
j=0 si l'articulation j est une rotation alors qj=j et j, dj, rj sont constantes.
j=1 si l'articulation est une translation alors qj=rj et j, dj, j sont constantes.
Toujours, prendre R0 confondu avec le repère R1 quand q1=0 (fig1)
Pour une articulation j prismatique, l'axe zj est parallèle à l'axe de l'articulation mais la
position de cet axe dans l'espace peut être quelconque. (fig2)
(fig1) (fig2)
Bien souvent, les deux axes de liaisons consécutifs d'un robot sont orthogonaux ou
parallèles, il en résulte un angle i égale à 0, +-90, 180 degré.
Lorsque les axes zj-1et zj sont parallèles, il y a une infinité de perpendiculaires communes
entre zj-1et zj . On place le point Oj ( centre de zj ) tel que rj=0.
Lorsque les axes zj-1et zj sont orthogonaux, le point Oj est placé à l’intersection des axes zj-1et
zj (dj=0) .
Exercice 7
Robot SCARA à 4 ddl
i. Trouver les paramètres de DH.M du robot SCARA à 4 ddl,
Dans les deux cas suivants :
CAS1 : configuration initiale: q1= q2= q3= q4=0
CAS2 : configuration : q1=0, q2=-/2, q3=/2, q4=0
ii. Trouver la matrice T04,
iii. Retrouver à l'aide de la matrice T04 , la situation de l'outil par rapport au repère R0.
Chapitre 4
Robotique Mobile
Modèle cinématique
PLAN
Système d’avance,
Définitions,
Typologie de robots mobiles et modèle cinématique
Des roues fixes dont l’axe de rotation, de direction constante, passe par le centre de la roue ;
4.1.2 Chenilles,
Ce type de plate-forme peut également être utilisé avec des chenilles ce qui fournit une capacité
de franchissement de petits obstacles intéressante.
Ces plates-formes peuvent ainsi être utilisées en extérieur ou dans des décombres. L’utilisation de
chenilles conduit cependant à une odométrie très bruitée à cause du contact mal défini entre les
chenilles et le sol qui glissent beaucoup, notamment lors des rotations. L’estimation de la
direction par l’odométrie sur ce type de plates-formes est donc en général rapidement inutilisable.
4.1.3 Pattes
Des plates-formes à deux, quatre ou six pattes peuvent également être utilisée. Elle ont l’avantage
théorique de pouvoir se déplacer sur des terrains assez complexes, même si en pratique la plupart
de ces plates-formes ne fonctionnent que sur des sols plans.
• Les plates-formes à six pattes sont relativement pratiques car le robot peut être en
équilibre permanent sur au moins 3 pattes, ce qui facilite le contrôle.
• Les plates-formes à deux ou quatre pattes sont plus complexes à commander et le simple
contrôle de la stabilité et d’une allure de marche correcte reste aujourd’hui difficile, ce qui
les rend en général relativement lentes.
Ces différents facteurs font que ces plates-formes sont rarement utilisées quand l’application
visée a un besoin précis de positionnement et de navigation.
4.2 Définitions,
4.2.1 Situation/ configuration
𝑥
on appelle situation ou posture du robot le vecteur :𝜉 = (𝑦)
𝜃
Si le manipulateur est plan : 𝜉 est de dimension 3
𝑞1
𝑞2
On définira la configuration du robot mobile par un vecteur : 𝑞 = . : de dimension n
.
𝑞
( 𝑛)
Exemple :
𝑥
𝑦
𝑞= 𝜃
𝜑𝑑
(𝜑𝑔 )
Il s’agit de trouver les deux modèles cinématique en posture et en configuration connaissant le
vecteur vitesse : u(v, )T
⃗Q = v
v ⃗⃗ ∧ ⃗⃗⃗⃗⃗
⃗P+ω PQ = ⃗0
𝑦̇ + 𝑟𝜑̇ 𝑠𝑖𝑛𝜃 = 0
Que l’on peut transformer dans le repère lié à la roue R’(O’; x’;y’;z’) :
−𝑥
̇ 𝑠𝑖𝑛𝜃 + 𝑦̇ 𝑐𝑜𝑠𝜃 = 0
Ces contraintes traduisent le fait que la vitesse de P soit dans le plan de la roue et ait pour module
:
‖v
⃗ P ‖ = 𝑟𝜑̇
4.2.3 Holonomie
Si une des contraintes de RSG est non intégrable : elle est dite non holonome.
Une contrainte non holonome implique que le système ne peut pas effectuer certains
mouvements instantanément.
• une plateforme holonome est capable de se déplacer en avant, sur le coté et tourner sur
elle-même.
• Une voiture n’est pas holonomes, ce qui oblige à manœuvrer pour réaliser certaines
trajectoires. il est nécessaire de faire un créneau pour réaliser un déplacement latéral.
En robotique, une plateforme est holonome lorsque que le nombre de degrés de libertés
contrôlables est égal au nombre total de degrés de liberté.
Le centre instantané de rotation ou CIR est un point qui a une vitesse nulle à un instant considéré.
Le CIR est situé à l'intersection des perpendiculaires de tous les vecteurs vitesse d'un solide.
𝑥
Situation ou posture du robot, le vecteur : 𝜉 = (𝑦)
𝜃
𝑥 𝑥
𝑦 𝑦
Configuration du robot mobile, le vecteur : 𝑞 = 𝜃 ou encore 𝑞 = 𝜃
𝜑𝑑 𝜑𝑑
𝜑
( 𝑔) ( )
Avec u(v ) : vecteur de commande cinématique
T
Et :
𝑣𝑑 + 𝑣𝑔 𝜑̇ 𝑑 − 𝜑̇ 𝑔
𝑣𝑑 = −𝑟𝜑̇ 𝑑 = (𝜌 + 𝐿)𝜔 𝑣= = −𝑟
2 2 𝜑̇ 𝑑 − 𝜑̇ 𝑔
𝜌=𝐿
𝜑̇ 𝑑 + 𝜑̇ 𝑔
𝑣𝑔 = +𝑟𝜑̇ 𝑔 = (𝜌 − 𝐿)𝜔 𝜑̇ 𝑑 + 𝜑̇ 𝑔
𝜔 = 𝜃̇ = −𝑟
2𝐿
𝑦̇ = 𝑣 𝑠𝑖𝑛𝜃
𝜃̇ = 𝜔
Ou sous forme matricielle :
𝜉̇ =(𝑥̇ 𝑦̇ ̇ ) cos 𝜃 0
𝜉̇ = 𝐶(𝑞)𝑢 Avec ∶ et 𝐶(𝑞) = ( sin 𝜃 0)
u=(v ) 0 1
1 0 L 𝑐𝑜𝑠𝜃 r cos𝜃 0
𝐴𝑇 (𝑞)𝑞̇ = 0
0 1 L 𝑠𝑖𝑛𝜃 r 𝑠𝑖𝑛𝜃 0
et 𝐴𝑇 (𝑞) = ( )
1 0 −L 𝑐𝑜𝑠𝜃 0 −r cos𝜃
Avec : q = (x y d g) T
0 1 −L 𝑠𝑖𝑛𝜃 0 −r 𝑠𝑖𝑛𝜃
Remarque :
A(q) n’est pas de rang plein, Rang=3 : q = (x y d g)T est constitué de grandeurs non
indépendantes en effet :
𝜑̇ 𝑑 + 𝜑̇ 𝑔 𝜑𝑑 + 𝜑𝑔
𝜔 = 𝜃̇ = −𝑟 , 𝜃 = −𝑟 + 𝜃0
2𝐿 2𝐿
𝜃0 : Valeur initiale des angles des roues mesurée par des codeurs incrémentaux, choisie nulle.
𝑥
𝑦
On peut donc éliminer une des quatre variables du vecteur q : 𝑞 = 𝜃
𝜑𝑑
( )
Ce qui donne :
𝐴𝑇 (𝑞)𝑞̇ = 0
1 0 L 𝑐𝑜𝑠𝜃 r cos𝜃
et 𝐴𝑇 (𝑞) = ( )
0 1 L 𝑠𝑖𝑛𝜃 r 𝑠𝑖𝑛𝜃
Avec : q = (x y d)T
q = (x y d)T 𝑐𝑜𝑠𝜃 0
𝑠𝑖𝑛𝜃 0
𝑞̇ = 𝐵(𝑞)𝑢 Avec ∶ u=(v )T et 𝐵(𝑞) = 0 1
1 L
− −
( 𝑟 𝑟)
𝑥
Situation ou posture du robot, le vecteur : 𝜉 = (𝑦)
𝜃
x
y
Configuration du robot mobile, le vecteur : 𝐪 = ( θ )
ψ
Avec u(v 𝜂 )T, vecteur de commande cinématique
Le robot peut se dirige en ligne droite pour = 0 et théoriquement tourne sur place autour du
point O’ pour = /2. Néanmoins, le rayon de braquage de la roue orientable : 2 -/2< < /2
interdisant cette rotation du robot sur lui-même.
𝑦̇ = 𝑣 𝑠𝑖𝑛𝜃
𝑣
𝜃̇ = 𝑡𝑔ψ
𝐷
ψ̇ = 𝜂
Le robot de type voiture est plus stable puisqu'il possède un point d'appui supplémentaire.
Toutes les autres propriétés du robot voiture sont identiques au robot tricycle.
Remarques :
Les roues suédoises ou mecanum permettent à un véhicule de se diriger dans toutes les
directions. Ces roues ont été inventées par le suédois Bengt Ilon en 1973, alors employé par
la société Mecanum AB.
Les Robots omnidirectionnels sont relativement limitées en capacité de franchissement
d’obstacles et requièrent un sol très plan.