Bureau C418 – courriel : [email protected] Université de Strasbourg, FRANCE
Christophe DOIGNON
Professeur à Télécom Physique Strasbourg ICube, Université de Strasbourg
Vision et Commande (1/3)
(Partie 1 : Vision robotique)
Télécom Physique 3A ISAV et Master IRIV (édition 2019-2020)
1
2
Multiple view geometry in computer vision, Andrew Zisserman, Richard Hartley, Cambridge University Press, ISBN : 0-521-62304-9, 2000, 607 pages.
Introductory techniques for 3-D computer vision, Emanuele Trucco, Alessandro Verri, Prentice Hall, ISBN:0- 13-261108-2, 1998, 330 pages
Geometric Invariance in Computer Vision, J. Mundy, A. Zisserman, MIT Press, ISBN: 0-262-13285-0, 1992, 540 pages
Computer and Robot Vision,R.M. Haralick, L.G. Shapiro,
Addison-Wesley Publishing, 1992, 0-201-10877-1, (2 volumes), 1340 pages Digital Image Processing,K. Castleman,
Prentice Hall, ISBN: 0-13-211467-4, 1996, 650 pages Handbook of Image and Video Processing, A. Bovik, Academic Press, ISBN:0-12-119790-5, 2000, 880 pages,
Image Analysis for the Biological Sciences,C.A. Glasbey and G.W. Horgan, Vic Barnett Editor,Wiley & Sons, ISBN:0-471-93726-6, 1995, 210 pages.
An Invitation to 3-D Vision : From images to geometric models, Y. Ma, S. Soatto, J. Kosecka, S.-S. Sastry, Springer, ISBN:978-1-4419-1846-8, 2004, 528 pages.
3
A new approach to visual servoing in robotics, B. Espiau, F. Chaumette, and P. Rives, IEEE Trans. Robotics and Automation, vol. 8, pp. 313–326, June 1992.
Model-based object pose in 25 lines of codes, D. Dementhon, L. Davis. IJCV, 15:123–141, 1995.
A tutorial on visual servo control, S. Hutchinson, G. Hager, P. Corke.. IEEE TRA, 12(5):651–670, 1996.
Visual Servo Control Part I: Basic Approaches, F. Chaumette, S. Hutchinson, IEEE Robotics and Automation Mag, Décembre 2006.
A new technique for fully autonomous and efficient 3D robotics hand-eye calibration, R. Tsai and R. Lenz, IEEE Trans. Rob. Automat., vol. 5, no. 3, pp. 345–358, June 1989.
Dynamic sensor-based control of robots with visual feedback, L. Weiss, A. Sanderson, and C. Neuman, IEEE J. Robot. Automat., vol. 3, pp.404–417, Oct. 1987.
Visual tracking of a moving target by a camera mounted on a robot: A combination of vision and control, N. Papanikolopoulos, P. Khosla, and T. Kanade, IEEE Trans. Robot. Automat., vol. 9, no. 1, pp. 14–35, Feb.
1993.
ORB-SLAM: A Versatile and Accurate Monocular SLAM System, Raúl Mur-Artal, J. M. M. Montiel and Juan D. Tardós, IEEE Transactions on Robotics, vol. 31, no. 5, pp. 1147-1163, Octobre 2015.
References (Visual servoing and tracking )
4
Handbook of robotics
Bruno Siciliano et Oussama Khatib, Springer-Verlag Berlin Heidelberg, 1600 pages, 2008.
Robot modeling and Control
Mark W. Spong, Seith Hutchinson, M. Vidyasagar , Wiley, , 480 pages, 2006.
Theory of robot control
Carlos Canudas De Wit, Bruno Siciliano, Georges Bastin, Communications and Control Engineering Series, Springer, 408 pages, 2012.
Introduction to robotics: Mechanics and Control
John J. Craig, Addison-Wesley series in electrical and computer engineering, control Engineering, Prentice-Hall, Troisième édition, 400 pages, 2004.
Robotics, Vision and Control: Fundamental Algorithms in MATLAB®
Peter Corke, Springer tracts in advanced robotics 73, Springer Link, 552 pages, 2011.
5
De l’information visuelle géométrique aux asservissements visuels
tel aurait pu être le sous-titre de ce cours. La vision robotique fait référence à la partie de la vision par ordinateur qui est utile à la mise en œuvre d’un déplacement d’un robot (réel ou virtuel) équipé d’un capteur visuel, embarqué ou déporté. Cela passe généralement par la mise en œuvre d’une commande. Il y a donc desgrandeurs à commander et des grandeurs à asservir.
Qu’il s’agisse de mettre en œuvre un suivi visuel ou une tâche de positionnement à l’aide d’un robot, ce cours s’intéresse à la démarche qu’il faut maitriser pour exploiter l’information visuelle en vue de ces applications.
Nous présenterons des modèles et des techniquesqu’il faut appréhender pour dimensionner un système de vision, en vue de son utilisation avec un robot ou un programme informatique. Les techniques présentées ici s’appuient sur des méthodes d’estimations linéaires et d’optimisation numérique des déplacements apparents (dans l’image) associés aux (vrais) déplacements dans la scène 3-D et que l’on peut formaliser grâce à la géométrie euclidienne.
➔ Alors le choix de la représentation des données, des vecteurs d’états choisis et la connaissance des échelles mises en jeu sont les principaux facteurs influenceurs.
Objectifs du cours
6
Chapitre 1 : Introduction
• Introduction,
• Espaces et coordonnées homogènes
• Représentation des rotations
• Applications
Chapitre 2 : De la scène 3D à l’image 2D (et vice-versa)
• Acquisition d’images
• Modélisation géométrique
• Recalage 2D-3D rigide (incluant la Pose d’une caméra)
Chapitre 3 : de l ’analyse du mouvement apparent aux asservissements visuels
• Analyse du champ de mouvement
• Asservissement visuel basé image (IBVS)
• Asservissement visuel basé position (PBVS)
Chapitre 1
Introduction
7
8
➢ La vision par ordinateur rend compte des relations associant la scène et les images de cette scène par l'emploi de capteurs visuels et de modèles mathématiques. Cette discipline s'intéresse aux traitements des images, à l'interprétation des informations visuelles et à leur utilisation. Les informations visuelles géométriques et cinématiques permettront d'établir un lien avec les asservissements visuels, par la prise en compte :
• de la modélisation de la projection sur une imaged’un objet de la scène,
9
1.1 Introduction
➢ La vision par ordinateur rend compte des relations associant la scène et les images de cette scène par l'emploi de capteurs visuels et de modèles mathématiques. Cette discipline s'intéresse aux traitements des images, à l'interprétation des informations visuelles et à leur utilisation. Les informations visuelles géométriques et cinématiques permettront d'établir un lien avec les asservissements visuels, par la prise en compte :
• de la modélisation de la projection sur une imaged’un objet de la scène,
• des relations géométriques entre des projections d’unobjet de la scène,
10
➢ La vision par ordinateur rend compte des relations associant la scène et les images de cette scène par l'emploi de capteurs visuels et de modèles mathématiques. Cette discipline s'intéresse aux traitements des images, à l'interprétation des informations visuelles et à leur utilisation. Les informations visuelles géométriques et cinématiques permettront d'établir un lien avec les asservissements visuels, par la prise en compte :
• de la modélisation de la projection sur une imaged’un objet de la scène,
• des relations géométriques entre des projections d’unobjet de la scène,
• des relations cinématiques entre projections d’un objet de la scène en mouvement et les déplacements correspondant dans la scène.
11
1.1 Introduction
➢ La vision par ordinateur rend compte des relations associant la scène et les images de cette scène par l'emploi de capteurs visuels et de modèles mathématiques. Cette discipline s'intéresse aux traitements des images, à l'interprétation des informations visuelles et à leur utilisation. Les informations visuelles géométriques et cinématiques permettront d'établir un lien avec les asservissements visuels, par la prise en compte :
• de la modélisation de la projection sur une imaged’un objet de la scène,
• des relations géométriques entre des projections d’unobjet de la scène,
• des relations cinématiques entre projectionsd’un objet de la scène en mouvement.
➢ Les domaines d’applicationssont très variés et majoritairement les suivants :
• la localisation (recalage) et le suivi visuel sur une séquence,
• la reconnaissance des formes,
• la modélisation d'un environnement,
• le contrôle dimensionnel, la vidéo-surveillance,
• la réalité augmentée et la synthèsed’images.
Les secteurs économiques concernés sont surtout le transport (industrie automobile), l’agro-alimentaire, le médical, le sport, l’industriedes loisirs (cinéma, spectacle), la sécurité,...
https://www.youtube.com/watch?v=k10LvJMQUGw
Visual tracking with Denso Robot
12
Grâce aurecalage entre le capteur de vision (le plus souvent une caméra) et l'objet d'intérêt dont les images sont capturées, une tâche de positionnement d'un système articulé peut être envisagée, même si l'objet d’intérêt est en mouvement. Ce dernier aspect, aspect dynamique, n’est possible que si l’objet d’intérêt reste visiblepar le capteur de vision pendant tout son déplacement.
𝑴
𝑐𝑜?
(R
o) (R
c)
𝑴
𝑐𝑜= 𝑅
𝑐𝑜𝑡
𝑐𝑜0 0 0 1
13
1.1 Introduction
Grâce aurecalage entre le capteur de vision (le plus souvent une caméra) et l'objet d'intérêt dont les images sont capturées, une tâche de positionnement d'un système articulé peut être envisagée, même si l'objet d’intérêt est en mouvement. Ce dernier aspect, aspect dynamique, n’est possible que si l’objet d’intérêt reste visiblepar le capteur de vision pendant tout son déplacement.
𝑴
𝑐𝑜?
(R
o) (R
c)
𝑴
𝑐𝑜(𝑡
𝑓) 𝑴
𝑐𝑜(𝑡
𝑖)
𝑴
𝑐𝑜= 𝑅
𝑐𝑜𝑡
𝑐𝑜0 0 0 1
✓ Tache de positionnement (nécessitant un recalage): asservissement visuel dit basé position ou pose (Rotation 𝑅 et translation 𝑡 ) pour la commande en déplacement d’un robot d’une configuration initiale 𝑴𝑐𝑜(𝑡𝑖)vers une configuration finale 𝑴𝑐𝑜(𝑡𝑓)[ICube (ex LSIIT) Univ. Strasbourg, 1994]
14
Introduction –application au guidage par vision
✓ Tache de Navigation (nécessitant l’estimation des déplacements relatifs ➔tracking) :
asservissement basé image (IBVS) pour commander les déplacements d’un robot [INRIA, Rennes]
15
1.2 Espaces et coordonnées homogènes
➢ Les coordonnées inhomogènes (ou appelées aussi affines) entre deux repères (𝑅
0) et (𝑅
1) du point 𝑃 :
0𝑃 dans (𝑅
0) et
1𝑃 dans (𝑅
1). Si, par exemple, l’espace considéré est de dimension 3, alors le nombre de coordonnées inhomogènes est égal à 3. Si de plus la transformation géométrique est une transformation euclidienne (qui conserve le produit scalaire) alors
0𝑅
1est une matrice de rotation et
0𝑡
1est un vecteur de translation (entre les origines des deux repères. Ainsi
0
𝑃 =
0𝑅
1 1𝑃 +
0𝑡
1La matrice de rotation et le vecteur de translation de la transformation euclidienne prise comme exemple seront aussi de dimension 3 (matrice (3 × 3) pour la rotation, vecteur (3 × 1) pour la translation).
➔ La plupart du temps les coordonnées inhomogènes ont une unité (mètre, pixel,…).
16
Exemple :
0𝑃 =
0𝑅
3 3𝑃 +
0𝑡
3Les coordonnées inhomogènes (ou appelées aussi affines) entre deux repères (𝑅
0) et (𝑅
3) du même point 𝑃 :
0𝑃 dans (𝑅
0) d’origine 𝑂
0et
3𝑃 dans (𝑅
3) d’origine 𝑂
3(figure de gauche).
𝑂
3𝑂
0𝑃
𝑃
Le robot Neuromate est l'un des premiers robots utilisés en chirurgie.
Il sert à placer un instrument dans le cerveau. Le robot positionne un guide de manière rigide, recalé par rapport au crâne du patient.
Schématisationd’unrobot cylindrique.
17
1.2 Espaces et coordonnées homogènes
Puisqu’il s’agit d’une seule transformation des coordonnées, ce serait plus pratique de ne manipuler qu’une matrice au lieu de deux ! De plus, comment traiter les points qui se situent à l’infini ? En quoi c’est important de s’intéresser aux points situés à l’infini ?
➢ Les coordonnées homogènes permettent de manipuler des transformations géométriques, aussi bien dans un espace euclidien que dans un espace affine ou un espace projectif. Si l’on réécrit la relation précédente (entre (𝑅
0) et (𝑅
1)) en intégrant dans une seule matrice – mais de taille plus élevée – la rotation et la translation, on obtient la relation compacte suivante, dite de transformation homogène :
0
𝑃 𝑤
0≡
0
𝑅
1 0𝑡
10 … 0 1
1
𝑃
𝑤
1; ෪
0𝑃 =
0𝐸
1෪
1
𝑃
et où les 𝑤
𝑖sont des nombres réels, il s‘ensuit que dans un espace de dimension 3 par exemple, ෪
0
𝑃et ෪
1
𝑃 ont alors 4 coordonnées, dites coordonnées homogènes (souvent notées (𝑥, 𝑦, 𝑧, 𝑤)).
➢ En règle générale, dans un espace de dimension 𝑛, une transformation linéaire vers un autre
espace de même dimension peut être représentée par une matrice carrée de dimension
(𝑛 + 1). La matrice 𝐸 (
0𝐸
1) est alors appelée matrice d’une transformation homogène.
18
➢ Remarque 1 : quelle que soit la dimension (finie) de l’espace considéré, si le point se trouve à l’infini, sa dernière coordonnée homogène est nulle.
➢ Remarque 2 : de la définition précédente, il découle que les coordonnées homogènes (𝑥, 𝑦, 𝑧, 𝑤) et (𝜎 𝑥, 𝜎 𝑦, 𝜎 𝑧, 𝜎 𝑤)) correspondent au même point géométrique si 𝜎 est un nombre complexe non nul. Ceci se généralise à un espace de dimension quelconque.
Exemple : dans un espace de dimension 2 (2-D), que pouvez-vous dire sur les coordonnées homogènes suivantes :
2 2 1
; 4 4 1
;
−2
−2
−1
;
18 18
−9
; 1 0 0
; 3 0 0
Exemple : on rencontre souvent les deux notations suivantes pour définir des coordonnées homogènes : (𝑥, 𝑦, 𝑧, 𝑤) et 𝑤′(𝑥
′, 𝑦
′, 𝑧
′, 1).
1. Quelles sont les différences fondamentales entre les deux ? 2. Qu’en déduisez-vous sur les transformations qui les utilisent ?
3. Comment obtient-on les coordonnées inhomogènes à partir des coordonnées homogènes ?
19
1.2 Espaces et coordonnées homogènes
➢ Les transformations géométriques peuvent être classées selon un niveau hiérarchique, correspondant aux différents sous-espaces dans lesquels elles opèrent. Pour les transformations linéaires (en coordonnées homogènes), la hiérarchie des transformations que nous utiliserons est la suivante :
Question : Dans quelles catégories sont les rotations, les translations, les changements d’échelles, les déformations (élongations, cisaillements, contractions,…), les projections perspectives, les homographies ?
Transformations projectives
20
➢ Pour faire simple, l’espace projectif est un espace qui comprend aussi bien des points que des directions, souvent représentées par des droites. Une transformation géométrique dans un espace projectif peut alors transformer un point en un point, une droite en une droite mais aussi un point en une droite (direction), une droite en un point. Toute transformation linéaire opérant entre deux espaces projectifs (ou au sein d’un même espace projectif) est appelée transformation projective. L’espace projectif permet de formaliser les liens entre les différentes vues d’un objet.
➢ L’espace affine est un espace projectif réduit aux transformations qui transforment strictement un point en un point, une droite en une droite. On en déduit que le parallélisme est conservé par transformation affine, le barycentre aussi. Toute transformation linéaire opérant entre deux espaces affines (ou au sein d’un même espace affine) est appelée transformation affine. L’espace affine permet de formaliser les déformations/déplacements d’un objet.
➢ L’espace euclidien est un espace affine où toutes les transformations géométriques
conservent les angles et les distances (conservation du produit scalaire). Toute
transformation linéaire opérant entre deux espaces euclidiens (ou au sein d’un même espace
euclidien) est appelée transformation euclidienne. Cet espace permet de formaliser les
déplacements d’un objet rigide.
21
1.2 Espaces et coordonnées homogènes
❑ EXERCICES : (sur les transformations dans le plan et leurs invariants!)
1. Dans un plan projectif, est-il vrai que deux droites ont toujours une intersection ?
2. Si un carré est transformé en un autre carré de même côté mais orienté différemment, quelle est la transformation géométrique linéaire qui le permet ?
3. Si un carré est transformé en un autre carré de côté différent et orienté différemment, quelle est la transformation géométrique linéaire qui le permet ?
4. Si un carré est transformé en un rectangle, quelle est la transformation géométrique linéaire qui le permet ?
5. Si un carré est transformé en un quadrilatère quelconque, quelle est la transformation géométrique linéaire qui le permet ?
6. Si un carré est transformé en un hexagone régulier, existe-t-il une transformation
géométrique linéaire qui le permet ?
22
Transformations linéaires en dimension 1 : P = (x,w) ➔ Q = (x’,w’)
Espaces Degrés de liberté
(nb de points définissant la base)
Représentations matricielles
(coordonnées homogènes)
Euclidien 1-D 1 (2) 𝑥′
𝑤′ = 1 𝑡
𝑥0 1
𝑥 𝑤
Affine 1-D 2 (2) 𝑥′
𝑤′ = 𝑎
11𝑎
120 1
𝑥 𝑤
Projectif 1-D (homographie)
3 (3) 𝑥′
𝑤′ = 𝑎
11𝑎
12𝑎
21𝑎
22𝑥 𝑤
P
1P
2P
3Q
1Q
2Q
323
1.2 Espaces et coordonnées homogènes
➢ Remarque 1 : une transformation géométrique linéaire entre deux espaces projectifs de même dimension (𝑛) peut être représentée par une transformation homogène à l’aide d’une matrice carrée de dimensions (𝑛 + 1).
➢ Remarque 2 : une homographie est une transformation linéaire bijective d’un espace projectif vers un autre espace projectif de même dimension. Elle représentée le plus souvent par une matrice carrée ayant un déterminant non nulle.
➢ Remarque 3 : la dernière ligne d’une matrice homogène représentant une transformation affine est toujours de la forme (0 … . . 0 𝑑), avec autant de zéros que la dimension de l’espace (𝑑 ≠ 0).
❑ EXERCICE : étant donné deux points dans un espace affine 1-D et dont les coordonnées
homogènes sont 𝑃
1= (4,2)
𝑇et 𝑃
2= (−3,1)
𝑇. Déterminer la matrice réelle homogène 𝐴
qui relie les coordonnées homogènes de ces points à leurs transformés 𝑃′
𝑖= 𝐴 𝑃
𝑖quand
𝑃′
1= (5,1)
𝑇et 𝑃′
2= (−1, −1)
𝑇.
24
Transformations linéaires en dimension 2 : P = (x,y,w) ➔ Q = (x’,y’,w’)
P
1P
2P
3Q
1Q
2Q
3P
4Q
425
1.2 Espaces et coordonnées homogènes
Transformations linéaires en dimension 2 : P = (x,y,w) ➔ Q = (x’,y’,w’)
𝑅 = 𝑟11 𝑟12
𝑟21 𝑟22 = cos 𝜃 −sin 𝜃
sin 𝜃 cos 𝜃 ; det 𝑅 = +1et 𝑅𝑇𝑅 = 𝐼2 (identité)
Espaces Degrés de liberté
(nb de points définissant la base)
Représentations matricielles
(coordonnées homogènes)
Euclidien 2-D 3(3, non colinéaires) 𝑥′
𝑦′
𝑤′
=
𝑟11 𝑟12 𝑡𝑥 𝑟21 𝑟22 𝑡𝑦
0 0 1
𝑥 𝑦 𝑤
Similitude 2-D 4(3, non colinéaires) 𝑥′
𝑦′
𝑤′
=
𝑠 𝑟11 𝑠 𝑟12 𝑡𝑥 𝑠 𝑟21 𝑠 𝑟22 𝑡𝑦
0 0 1
𝑥 𝑦 𝑤
Affine 2-D 6(3, non colinéaires) 𝑥′
𝑦′
𝑤′
=
𝑎11 𝑎12 𝑎13 𝑎21 𝑎22 𝑎23
0 0 1
𝑥 𝑦 𝑤 Projectif 2-D
(homographie)
8 (4, aucun triplet colinéaire) 𝑥′
𝑦′
𝑤′
=
𝑎11 𝑎12 𝑎13 𝑎21 𝑎22 𝑎23 𝑎31 𝑎32 𝑎33
𝑥 𝑦 𝑤
26
Transformations linéaires en dimension 3 : P = (x,y,z,w) ➔ Q = (x’,y’,z’,w’)
𝑅 =
𝑟
11𝑟
12𝑟
13𝑟
21𝑟
22𝑟
23𝑟
31𝑟
32𝑟
33; det 𝑅 = +1 et 𝑅
𝑇𝑅 = 𝐼
3; 𝑡 = 𝑡
𝑥𝑡
𝑦𝑡
𝑧 𝑇P
1P
2P
3Q
1Q
2Q
3P
4Q
4P
5Q
5❑ EXERCICE : (voir tableau suivant)
1. Dans un espace de dimension 𝑛 = 3, si 𝐸 = 𝑅 𝑡
0 0 0 1 représente une transformation euclidienne entre deux repères, comment exprime-t-on la transformation inverse 𝐸
−1en fonction de la matrice de rotation 𝑅 et du vecteur 𝑡 de translation ?
2. Même question avec la similitude 𝑆 = 𝑠𝑅 𝑡
0 0 … 0 1 , où 𝑠 est un réel non nul.
27
1.2 Espaces et coordonnées homogènes
Espaces Degrés de liberté
(nb de points définissant base)
Représentations matricielles
(coordonnées homogènes)Euclidien 3-D 6(4, non coplanaires) 𝑥′
𝑦′
𝑧′
𝑤′
= 𝑅 𝑡 0𝑇 1
𝑥𝑦 𝑤𝑧
Similitude 3-D 7(4, non coplanaires) 𝑥′
𝑦′
𝑧′
𝑤
= 𝑠 𝑅 𝑡 0𝑇 1
𝑥𝑦 𝑤𝑧
Affine 3-D 12 (4, non coplanaires) 𝑥′
𝑦′
𝑧′
𝑤′
=
𝑎11 𝑎12 𝑎13 𝑎14 𝑎21 𝑎22 𝑎23 𝑎24 𝑎31
0
𝑎32 0
𝑎33 𝑎34 0 1
𝑥𝑦 𝑤𝑧 Projectif 3-D
(homographie)
15 (5, aucun quadruplet coplanaire)
𝑥′
𝑦′
𝑧′
𝑤′
=
𝑎11 𝑎12 𝑎13 𝑎14 𝑎21 𝑎22 𝑎23 𝑎24 𝑎31
𝑎41
𝑎32 𝑎42
𝑎33 𝑎34 𝑎43 𝑎44
𝑥𝑦 𝑤𝑧
28
➢ Une rotation est une transformation géométrique linéaire qui conserve le produit scalaire (donc les angles et les distances). Elle est caractérisée par un espace invariant de dimension 1, appelé axe de rotation. Elle peut être représentée par une matrice orthonormale ayant un déterminant positif :
𝑅𝑇𝑅 = 𝑅 𝑅𝑇 = 𝐼𝑛 et det 𝑅 = +1 ➔ 𝑅−1 = 𝑅𝑇 où 𝐼𝑛 est la matrice identité de dimension𝑛.
➢ Un résultat important issu de l’algèbre linéaire (connu sous le nom de formule de Cayley-Gibbs- Rodriguez pour les matrices orthonormales) indique que pour toute matrice orthonormale 𝑅, il existe une matrice antisymétrique𝑆telle que
𝑅 = 𝐼𝑛 − 𝑆 −1 𝐼𝑛 + 𝑆 ➔ 𝑆 = 𝑅 − 𝐼𝑛 𝑅 + 𝐼𝑛 −1 et 𝑆 = −𝑆𝑇 .
➔En dimension 𝑛 = 3, 𝑆 est de la forme suivante (pré-produit vectoriel)
𝑆 =
0 −𝑠𝑧 𝑠𝑦 𝑠𝑧 0 −𝑠𝑥
−𝑠𝑦 𝑠𝑥 0
= 𝑠 ×
et𝑠 = (𝑠𝑥, 𝑠𝑦, 𝑠𝑧)𝑇 est un vecteur.
29
1.3 Représentation des rotations
➔ Une conséquence immédiate est qu’une rotation 3-D peut être représentée par trois paramètres indépendants. En généralisant, en dimension 𝒏 quelconque, une rotation est définie par exactement
𝒏×(𝒏−𝟏)
𝟐 paramètres indépendants.
Exemple: En dimension 𝑛 = 2, une telle matrice anti-symétrique (𝑆 = −𝑆𝑇) est définie par seulement 1 paramètre, car elle peut se mettre sous la forme :
𝑆 = 0 tan(𝜃/2)
− tan(𝜃/2) 0 donne 𝑅 = cos(𝜃) − sin(𝜃) sin(𝜃) cos(𝜃)
où 𝜃 est un nombre réel. Il en résulte immédiatement qu’une rotation 2-D, quelle que soit sa représentation, est définie exactement par un seul paramètre.
30
Formule de Rodrigues (rotation en dimension 3)
Etant donné un vecteur quelconque 𝑣. La rotation, en dimension 3, de 𝑣 autour du vecteur 𝑢 d’un angle 𝜃 fournit le vecteur 𝑣′telle que 𝑣′ = 𝑅𝑢 𝜃 𝑣.
Cette expression correspond à (formule de Rodrigues):
𝑣′ = 𝑐𝑜𝑠 𝜃 𝑣 + sin 𝜃 𝑢 ∧ 𝑣 + 1 − cos 𝜃 𝑢 𝑢𝑇 𝑣
𝑢 × =
0 −𝑢𝑧 𝑢𝑦 𝑢𝑧 0 −𝑢𝑥
−𝑢𝑦 𝑢𝑥 0
➔ 𝑢 ∧ 𝑣 = 𝑢 × 𝑣
et 𝑢 est un vecteur unitaire. La matrice 𝑅 s’exprime alors à partir des coordonnées de 𝑢 et de l’angle 𝜃 (𝑐 = cos 𝜃,𝑠 = sin 𝜃) par :
𝑅 =
𝑢𝑥2 + 1 − 𝑢𝑥2 𝑐 𝑢𝑥𝑢𝑦 1 − 𝑐 − 𝑢𝑧 𝑠 𝑢𝑥𝑢𝑧 1 − 𝑐 + 𝑢𝑦 𝑠 𝑢𝑥𝑢𝑦 1 − 𝑐 + 𝑢𝑧 𝑠 𝑢𝑦2 + 1 − 𝑢𝑦2 𝑐 𝑢𝑧𝑢𝑦 1 − 𝑐 − 𝑢𝑥 𝑠 𝑢𝑥𝑢𝑧 1 − 𝑐 − 𝑢𝑦 𝑠 𝑢𝑧𝑢𝑦 1 − 𝑐 + 𝑢𝑥 𝑠 𝑢𝑧2 + 1 − 𝑢𝑧2 𝑐
Question : de la formule de Rodrigues ci-dessus, quelle est l’expression matricielle de 𝑅 en fonction de l’angle𝜃 et du vecteur unitaire 𝑢 ?
31
1.3 Représentation des rotations
Représentation vectorielle angle / axe
Il est commode souvent d’avoir une représentation des rotations sous forme de vecteur plutôt que de matrice, indépendamment de la définition de la séquence des axes de rotation et des angles. Un tel vecteur s’emploiequand on souhaite comparer deux rotations.
➢ Une rotation possède toujours un axe, appelé axe de rotation, sur lequel la rotation est invariante. Il est donc défini par l’ensemble des vecteurs 𝑢 vérifiant : 𝑅 𝑢 = 𝑢 . Un tel vecteur est aussi le vecteur propre de 𝑅 associé à la valeur propre 1.
➔ En 3-D en effet, à partir du polynôme caractéristique d’une matrice (3 × 3) de rotation 𝑅, on montre que :
det 𝜆𝐼 − 𝑅 = 𝜆 − 1 𝜆2 + 1 − 𝑇𝑟 𝑅 𝜆 + 1 = 0
En posant cos 𝜃 = (𝑇𝑟 𝑅 − 1)/2 , les 3 valeurs propres sont :
𝜆1 = 1 et 𝜆2,3 = cos(𝜃) ± 𝑗 sin 𝜃 = 𝑒±𝑗𝜃
➢ Remarque : 𝜃 et 𝑢 = (𝑢𝑥, 𝑢𝑦, 𝑢𝑧) (vecteur unitaire) correspondent bien à trois paramètres indépendants.
Question : la définition decos 𝜃 ci-dessus impose :−1 ≤ 𝑇𝑟 𝑅 −1
2 ≤ 1. Est-ce vrai en toute circonstance ?
32
➢ Représentation vectorielle angle / axe
La représentation angle/axe, abordée à travers le formule de Rodrigues, est très commode. Ainsi le vecteur à 3 composantes 𝑟 = 𝜃𝑢 peut représenter une rotation 3-D. 𝜃 est l’angle de rotation et s’obtient avec la norme de 𝑟, alors que le vecteur unitaire 𝑢 représente la direction de l’axe de rotation et vérifie 𝑅𝑢 = 𝑢.
𝑟 peut être exprimé à partir de 𝑅 = (𝑟𝑖𝑗) avec les formules suivantes :
𝜃 = acos 𝑇𝑟 𝑅 − 1
2 = acos 𝑟11 + 𝑟22 + 𝑟33 − 1 2
et 𝑢 = 1
2 sin 𝜃
𝑟32 − 𝑟23 𝑟13 − 𝑟31
𝑟21 − 𝑟12 , donc 𝑟 = 1
2 sinc 𝜃
𝑟32 − 𝑟23 𝑟13 − 𝑟31 𝑟21 − 𝑟12 ,
ou encore : 𝑟 × = − 1
2 sin𝑐 𝜃(𝑅 − 𝑅𝑇) .
➢ Remarques :
• 𝑟 = 𝜃𝑢 et 𝑟 = (−𝜃)(−𝑢) sont équivalents (correspondent à la même matrice de rotation𝑅).
• Inversement, on a : 𝑅 = exp( 𝑟 ×) (C’est donc aussi l’expression matricielle de Rodrigues, à mettre en relation avec une question précédente…)
33
1.3 Représentation des Rotations
➢ Représention matricielle
Dans la représentation matricielle d’une rotation 3-D, 𝑅 = (𝑟𝑖𝑗), les composantes sont telles que 𝑟𝑖𝑗 ≤ 1, et sont dépendantes entre elles par des relations quadratiques qui sont issues de la condition d’orthonormalité :𝑅𝑇𝑅 = 𝐼3 (identité). Les colonnes sont notées respectivement𝑐1,𝑐2, et 𝑐3 :
𝑅 =
𝑟11 𝑟12 𝑟13 𝑟21 𝑟22 𝑟23 𝑟31 𝑟32 𝑟33
= (𝑐1 , 𝑐2 , 𝑐3)
➢ L’orthogonalité de la matrice 𝑅 implique que les deux premières colonnes soient unitaires et orthogonales entre elles (3 équations) :
𝑐1 2 = 1 = 𝑟112 + 𝑟212 + 𝑟312 ; 𝑐2 2 = 1 = 𝑟122 + 𝑟222 + 𝑟322 𝑐1𝑇𝑐2 = 0 = 𝑟11𝑟12 + 𝑟21𝑟22 + 𝑟31𝑟32
et que la troisième colonne est le produit vectoriel des deux premières : 𝑐3 = 𝑐1 ∧ 𝑐2 (3 relations), dans cet ordre pour assurer que det 𝑅 = +1.
❑ EXERCICE :
1. Montrer qu’étant donné la sous-matrice supérieure gauche(2 × 2) d’une rotation de dimension 3, 𝑅 = (𝑟𝑖𝑗), (i,j=1,2,3), iln’existe que deux solutions pour la matrice complète 𝑅 ; indiquer ces deux solutions, fonctions de𝑟11,𝑟21, 𝑟12 et 𝑟22. 𝑅 =
𝑟11 𝑟12 ∗ 𝑟21 𝑟22 ∗
∗ ∗ ∗
.
2. Est-il possible de déterminer toutes les matrices de rotation 𝑅 avec la connaissance de 𝑟11,𝑟12 et𝑟22 ?
34
➢ Représentation avec les Angles d’Euler
Une représentation angulaire très employée est celle d’Euler. Elle consiste à décomposer une rotation 3-D en une succession de rotations élémentaires. Il existe plusieurs conventions pour les angles d’Euler ! Celle présentée ici est la conventionZ-Y-Z suivante : ((𝑅0)➔(𝑅𝑎) ➔(𝑅𝑏)➔(𝑅1))
• Rotation autour de 𝑧0 = 𝑧𝑎 (précession 𝜓 : −𝜋 < 𝜓 ≤ 𝜋),
• Rotation autour de 𝑦𝑎 = 𝑦𝑏 = 𝑅𝑧(𝜓) 𝑦0 (spin 𝜃 : 0 ≤ 𝜃 ≤ 𝜋 ), et
• Rotation autour de 𝑧𝑏 = 𝑧1 = 𝑅𝑧(𝜓)𝑅𝑦 𝜃 𝑧0 (nutation 𝜙 : −𝜋 < 𝜙 ≤ 𝜋 )
𝑅𝑧(𝜙) =
𝑐𝜙 −𝑠𝜙 0 𝑠𝜙 𝑐𝜙 0
0 0 1
, 𝑅𝑦(𝜃) =
𝑐𝜃 0 𝑠𝜃
0 1 0
−𝑠𝜃 0 𝑐𝜃
, 𝑅𝑧(𝜓) =
𝑐𝜓 −𝑠𝜓 0 𝑠𝜓 𝑐𝜓 0
0 0 1
,
et 𝑐𝜃 = cos 𝜃 et 𝑠𝜃 = sin 𝜃, etc. Ci-dessous sont représentées les rotations élémentaires du repère (𝑅0) vers le repère (𝑅1).
Ԧ 𝑥0
Ԧ 𝑦𝑎 Ԧ
𝑧0= Ԧ𝑧𝑎
Ԧ 𝑥𝑎
Ԧ 𝑦0
Ԧ 𝑥𝑏
Ԧ 𝑦𝑎 = Ԧ𝑦𝑏 Ԧ
𝑧𝑎
𝜃
Ԧ 𝑥𝑎 Ԧ 𝑧𝑏
Ԧ 𝑥𝑏
Ԧ 𝑦𝑏 Ԧ
𝑥1 Ԧ
𝑧𝑏 = Ԧ𝑧1
Ԧ 𝑦1
𝜓 𝜙
35
1.3 Représentation des rotations
➢ Représentation avec les Anglesd’Euler
La rotation complète est la matrice 𝑅 = 𝑅𝑧 𝜓 𝑅𝑦 𝜃 𝑅𝑧(𝜙) (attention à l’ordre !!) pour la rotation de (𝑅0) vers(𝑅1), exprimée dans (𝑅0): 0𝑅1
𝑅 = 0𝑅1 =
∗ ∗ 𝑐𝜓𝑠𝜃
∗ ∗ 𝑠𝜓𝑠𝜃
−𝑠𝜃𝑐𝜙 𝑠𝜃𝑠𝜙 𝑐𝜃
➢ Remarques :
• 0 ≤ 𝜃 ≤ 𝜋 ➔ 𝑠𝜃 ≥ 0
• Quel que soitl’ordre des rotations choisi pour les angles d’Euler,la représentation d’une rotation 3-D par les anglesd’Euler possède toujours une singularité quand la première et la dernière rotation élémentaire ont lieu selon la même direction (blocage de Cardan – gimbal lock). Cela se voit sur la convention Z-Y-Z quand on prend𝜃 = 0ou 𝜃 = 𝜋.
➢ Remarque pratique : pour la fonction arctan(𝑥, 𝑦) ci-dessus, de nombreux compilateurs intègrent une fonction atan2(y,x) pour calculer l’arc tangente du rapport 𝑦/𝑥 dans l’intervalle [−𝜋 , 𝜋]. Avec cette fonction, les signes de 𝑥 et de 𝑦 sont pris en comptent pour déterminer le bon quadrant angulaire et gérer les singularités. Remarquez l’ordre des arguments de la fonctionatan2().
❑ EXERCICE: extraire les angles d’Eulerdepuis les composantes𝑅 = (𝑟𝑖𝑗).
• Réponses :𝜃 = arccos(𝑟33) ; 𝜙 = arctan(−𝑟31
sin(𝜃), 𝑟32
sin(𝜃)) ;𝜓 = arctan( 𝑟13
sin(𝜃), 𝑟23
sin(𝜃))
36
➢ Représentation roulis-tangage-lacet
Une rotation de Givens , notée Q, est une rotation autour d’un des axes de base des coordonnées. En dimension 3, il existe donc trois matrices de Givens, rotations selon les axesx,y, et z :
𝑄𝑥 =
1 0 0
0 𝑐 −𝑠 0 𝑠 𝑐
, 𝑄𝑦 =
𝑐 0 𝑠 0 1 0
−𝑠 0 𝑐
, 𝑄𝑧 =
𝑐 −𝑠 0
𝑠 𝑐 0
0 0 1
,
etc = cos 𝜃 et𝑠 = sin 𝜃. (trois angles différents).
La rotation complète est la matrice𝑄 telle que 𝑄 = 𝑄𝑧 𝑄𝑦 𝑄𝑥 , C’estla décomposition yaw-pitch-roll (lacet-tangage-roulis) illustrée sur la figure ci-contre, et implémentée ci-dessous avec Matlab.
function Q = theta2r( theta )
c1 = cos(theta(1)); s1 = sin(theta(1));
c2 = cos(theta(2)); s2 = sin(theta(2));
c3 = cos(theta(3)); s3 = sin(theta(3));
Qx = [ 1 0 0; 0 c1 -s1; 0 s1 c1];
Qy = [c2 0 s2; 0 1 0;-s2 0 c2];
Qz = [c3 -s3 0;s3 c3 0; 0 0 1];
Q = Qz*Qy*Qx;
37
1.3 Représentation des rotations
➢ Dérivéed’une rotation
Etant donné une matrice (𝑛 × 𝑛) orthonormale 𝑅. Celle-ci vérifie 𝑅𝑇𝑅 = 𝐼𝑛. En différentiant cette relation, il vient :
ሶ𝑅𝑅𝑇 + 𝑅 ሶ𝑅𝑇 = 0𝑛
où 0𝑛 est la matrice (𝑛 × 𝑛)nulle, expression que l’onpeut mettre sous la forme 𝑅𝑅ሶ 𝑇 + ( ሶ𝑅𝑅𝑇)𝑇= 0𝑛.
➢ Vitesse de rotation : en définissant 𝑆 = ሶ𝑅𝑅𝑇, on a bien : 𝑆 + 𝑆𝑇 = 0𝑛, donc 𝑆 est la matrice antisymétrique qui introduit la vitesse angulaire de rotation Ω = (Ω𝑥, Ω𝑦, Ω𝑧 )𝑇 grâce à la matrice de pré-produit vectoriel :
𝑆 = Ω × =
0 −Ω𝑧 Ω𝑦 Ω𝑧 0 −Ω𝑥
−Ω𝑦 Ω𝑥 0 .
et finalement, on a : Ω × = ሶ𝑅𝑅𝑇
• A partir de la formule de dérivation d’une rotation, la vitesse de rotation est reliée aussi à la dérivée de la représentation vectorielle angle/axe :Ω = ሶ𝜃𝑢 + 𝜃 ሶ𝑢 = ሶ𝑟
❑ EXERCICE : on considèrequ’entreles instants 𝑡 et 𝑡 + 𝑑𝑡 , la vitesse de rotation est constante et vaut Ω𝑡 . Au premier ordre, la matrice 𝑅𝑡+𝑑𝑡 ≈ 𝑅𝑡 + ሶ𝑅𝑡 𝑑𝑡 . Donnez son expression en fonction de Ω𝑡,𝑅𝑡 et 𝑑𝑡, et montrez que c’est une matrice de rotation (au premier ordre en𝑑𝑡) si𝑅𝑡 en est une.
38
Introduction –application au guidage par vision
Suivi visuel à partir d’indices visuels couleur et descripteurs statistiques (moments du second ordre)
Asservissement visuel virtuel pour le calcul de la pose de la caméra à l’aide d’indices visuels multiples
(et fusionnés) (INRIA Rennes)
39
1.4 Applications
Introduction –application au guidage par vision
Suivi visuel (de l’œil) pour les personnes à mobilité réduite Université de
Tsukuba, NAIST, Japon)
40
Introduction –application au guidage par imagerie médicale
Image scanner CT (mode fluoroscopique)
Image échographique fournie par une sonde à ultra-sons robotisée (INRIA Rennes).
Coupe scanner CT et guidage d’aiguille sur plate-forme porte-aiguille robotisée
(HUS et ICube/AVR).
41
1.4 Applications
Introduction –application au guidage par imagerie médicale
Imagerie endoscopique robotisée : la laparoscopie sur le système
AESOP 3000 la chirurgie mini-invasive télé-manipulée (IRCAD et ICube/AVR) : exemple d’asservissement avec caméra déportée.
42
Introduction : application au guidage par vision (déplacements contraints sur un plan)