Rapport de projet de n d'études. Contribution à la précision des asservissements visuels 3D par une meilleure prise en compte du bruit.

Dimension: px
Commencer à balayer dès la page:

Download "Rapport de projet de n d'études. Contribution à la précision des asservissements visuels 3D par une meilleure prise en compte du bruit."

Transcription

1 Hirt Jordane Master Imagerie, Robotique et Ingénierie pour le Vivant Rapport de projet de n d'études Contribution à la précision des asservissements visuels 3D par une meilleure prise en compte du bruit Tuteurs : Pierre Renaud Maître de conférence HDR INSA de Strasbourg Jacques Ganglo Professeur Télécom Physique Strasbourg Université de Strasbourg Maître de stage : Christophe Doignon Professeur Télécom Physique Strasbourg Université de Strasbourg Année académique

2 Remerciements Je tiens à remercier l'ensemble de l'équipe du laboratoire Icube pour son acceuil chaleureux et cette belle experience de travail dans un milieu hautement scientique. Je remercie également mon maître de stage, M.DOIGNON Christophe, pour l'aide, les conseils et la rigueur scientique qu'il m'a apporté concernant les missions évoquées dans ce rapport, lors des diérents suivis. 1

3 Résumé Le travail présent porte sur l'étude de deux nouvelles techniques d'estimation de la pose, visant à accroitre la stabilité de cette estimation dans le cadre de leur utilisation pour les asservissements visuels basés 3D, mis en place sur des robots industriels munis d'un système de stéréovision. Les indices visuels extraits des images sont des droites. Le choix des droites plutôt que des habituels points vise à respecter implicitement la géométrie épipolaire du système stéréoscopique. L'algorithme actuellement utilisé pour l'estimation de la pose à partir de droites possède deux limites. La première vient du fait qu'il faille eectuer l'estimation en deux étapes, dans un premier temps l'estimation de la rotation puis dans un deuxième temps celle de la translation pour laquelle la rotation précédemment estimé est nécessaire ainsi que les données d'entrées à nouveau, bruitées, cumulant les erreurs sur la translation, ce qui se ressent dans son estimation. La deuxième vient du fait que les techniques utilisées actuellement pour l'estimation de la pose dans l'algorithme existant, sont optimales pour un bruit gaussien centré sur leurs données d'entrée. Or, comme il a été redémontré avec ces travaux, le bruit réel sur les acquisitions se révèle être bien plus complexe. Un premier algorithme ayant pu être adapté au problème et se basant sur l'algèbre des Quaternions Duaux se propose d'essayer d'enjamber la première limite en estimant l'ensemble des paramètres de la pose relative en n'utilisant qu'une fois les données d'entrée. Malheureusement des simulations conduitent sous matlab ont montré que ce dernier était bien moins robuste au bruit que l'algorithme actuellement utilisé. Une des raisons pourrait être la plus grande dimension du modèle mathématique utilisé, néfaste à tout algorithme d'optimisation car multipliant les minimums locaux. Un deuxième algorithme, nommé HEIV pour Heteroscedastic Errors In Variables, pouvant prendre en compte des bruits bien plus complexes sur ses données d'entrée, se propose d'essayer de souer la seconde limite. Suite à des simulations aux résultats très positifs, des tests sur le système réel se sont révélés très prometteur puisqu'il se trouve être au moins aussi performant que l'algorithme en place alors que sa capacité à gérer le bruit complexe présent sur les données n'a pas encore été exploité. Abstract The present work deals with the study of two new pose estimation techniques, aiming for increasing the stability of this estimation in the frame of their use with 3D visual servoings on stereovision equiped industrial robots. The images extracted visual features are lines. This line choice rather than the usual points goes after respecting implicitly the epipolar geometry of the stereoscopic system. The currently used algorithm estimating this pose based on lines have two limits. The rst one comes from the fact the estimation is done in two steps. First the rotation, then the translation, using for this one the formerly estimated rotation plus, again, the noised input datas, cumulating errors on the translation. The second comes from the fact the currently used techniques behind the current algorithm, are all least means squared based, so being optimal only for a gaussian like noise on their input datas. Yet, as this work will show again, the real noise present on acquisitions is far more complex. An initial algorithm that succeeded to be adapted to the problem, based on the Dual Quaternions algebra, promise to overcome the rst limit as the mathematical model it provides for the estimation leads to an single step estimation, so using only once the input datas. Unfortunately, simulations runned on Matlab showed that this algorithm is less noise-robust than the currently used. One of the reasons could be the large dimension of the mathematic model that is used, harmful to all optimisation algorithms as multiplying the local minimums. A second algorithm, named HEIV for Heteroscedastic Errors In Variables, able to deal with more complexes noises on its input datas, promise to blow the second limitation of the current algorithm. Following very good simulations results, tests on the real system turned out to be very promising. It gives already a bit more stable results than the currently used algorithm while we haven't already used its capacity to handle complexes noises. 2

4 Table des matières 1 Introduction Le Laboratoire ICube Présentation du sujet I Etude Bibliographique 9 2 Amélioration de l'estimation de la pose dans le cadre des asservissements stéréo basés position Introduction Approche classique des asservissements basés position ou 3D (PBVS) Technique basée sur le formalisme de Plücker et l'utilisation d'un système de stéréovision Estimation de la pose Méthode basée sur le lemme d'umeyama [14] Méthode basée sur l'utilisation des quaternions duaux Pondération des mesures, algorithme HEIV Triangulation des droites de l'espace 3D II Contribution 20 3 Mise en place d'une nouvelle solution d'estimation de la pose par stéréovision Adaptation de la méthode de Daniilidis basée sur les quaternions duaux Schéma de comparaison à la solution actuelle basée sur le lemme d'umeyama Le problème de la Triangulation des droites Résultats de la comparaison Meilleure prise en compte du bruit dans l'estimation de la pose Le bruit dans les problèmes linéaires par rapport aux paramètres Critique du modèle de bruit normal non biaisé sur les pixels composant les droites images Adaptation de la Méthode d'umeyama à HEIV Comparaison entre la Méthode basée sur Umeyama et son Adaptation à HEIV par Simulation Travail d'adaptation à HEIV de la Méthode basée sur les Quaternions Duaux Expérimentation des travaux en situation réelle sur un robot industriel Structure des tests de validation du travail en situation réelle Le problème de l'appariement Stéréoscopique des droites Le problème de l'appariement des droites 3D dans leurs congurations Actuelles et Désirées Résultats des Tests de stabilité des algorithmes d'umeyama et d'heiv avec le Robot Conclusion et Perspectives 51 8 Table des Annexes 51 3

5 Chapitre 1 Introduction 1.1 Le Laboratoire ICube Le laboratoire a été créé en 2013, regroupant les chercheurs et les moyens de l'ensemble du site universitaire de Strasbourg dans le domaine de l'ingénierie et de l'informatique, fédéré autour de l'imagerie. Le laboratoire se focalise tout particulièrement sur les technologies pour la Santé, l'environnement et le développement durable. Source : Laboratoire ICube Une organisation en 4 départements Département Informatique Recherche Ce département est composé de 5 équipes traitant de grands domaines de la recherche en informatique et en sciences et technologies de l'information et de la communication. On retrouve notamment : Les réseaux, l'internet du futur et des objets, l'informatique géométrique discrète, les contraintes et preuves en géométrie, le traitement d'images, le calcul scientique hautes performances, la compilation, le cloud computing, la bioinformatique, la fouille de données. 4

6 Département Electronique du Solide, Systèmes et Photonique Les recherches développées par les trois équipes couvrent un large spectre, de la physique et technologie des composants élémentaires à la conception de systèmes instrumentaux électroniques et photoniques, en passant par le développement de procédés innovants. Source : Laboratoire ICube Département Imagerie, Robotique, Télédétection et Santé Voici le groupe que j'ai intégré. Il s'agit du département attaché aux sciences et technologies de l'information. On y retrouve notamment l'acquisition et le traitement du signal et des images, la vision, l'automatique, la robotique, la télédetection et la biophysique. Source : Laboratoire ICube Département Mécanique Ce département composé de 3 équipes concentre notamment ses activités dans les domaines de la mécanique des uides dans ses composantes d'hydraulique, de rhéologie et de turbulence, les transferts réactifs, la biomécanique et la relation entre imagerie médicale et propriétés mécaniques et la mécanique des matériaux multiéchelle. 5

7 Chires clés Personnels Au 1 er janvier 2013, le laboratoire ICube compte 454 membres : 274 membres qui se répartissent en 55 professeurs dont 8 praticiens hospitaliers, 142 maîtres de conférences dont 10 praticiens hospitaliers, 1 professeur agrégé, 12 chercheurs et 8 directeurs de recherche, 45 ingénieurs et 11 techniciens. 180 non permanents qui se répartissent en 144 doctorants, 16 postdoctorants et 20 personnels sous contrats à durée déterminée. Répartition des personnels permanents par établissement : Brevets 4 dépôts de brevets en brevets actifs dans le portefeuille du laboratoire Collaborations internationales 193 collaborations internationales actives sur les 5 dernières années, dont 129 avec co-publications Partenaires industriels 113 partenaires industriels nationaux et internationaux parmi lesquels : Renault, AREVA, ARKEMA, SNCF, Suez Environnement, EDF,6Wind, Telmat, Orange, Alenia Space,Novartis, Daimler, Volkswagen, General Electric, Dynamore, Holcim, Merck-Millipore, Roche, Karl Storz Medical... Contrats de recherche 95 contrats actifs en 2012 d'un montant de 25,5 Me, dont : 14 contrats européens pour 3 Me, 34 contrats de l'agence Nationale de la Recherche pour 12,3 Me 31 contrats industriels pour 1,7 Me 16 autres contrats pour 8,5 Me(dont 5 projets FUI) Thèses 100 chercheurs sont titulaires de l'habilitation à diriger des recherches (HDR). 36 thèses ont été soutenues en Publications en chapitres d'ouvrages 164 publications dans des revues internationales avec comité de lecture 15 publications dans des revues nationales avec comités de lecture 183 publications dans des congrès internationaux avec comité de lecture 32 contrats ouverts en 2012 d'un montant de 9,5 Me, dont : 6 contrats européens pour 0,75 Me 9 contrats de l'agence Nationale de la Recherche pour 7,8 Me 9 contrats industriels pour 0,3 Me 8 autres contrats pour 0,6 Me Budget de fonctionnement Me Budget 2013 consolidé avec les contrats de recherche et les salaires des permanents et doctorants : 28 Me 6

8 1.2 Présentation du sujet Depuis leur apparition, les robots ont dû se contenter de réaliser des tâches pouvant se ramener à des interactions précises avec leur environnement. De ce fait, une modication de ce dernier peut entrainer de graves conséquences sur le déroulement de la tâche à accomplir. C'est ce qui a poussé les chercheurs à munir le robot de capteurs extéroceptifs, an de leur permettre d'appréhender cet environnement et de réagir à d'éventuels changements. Le principe de l'asservissement visuel consiste à prendre en compte des informations visuelles issues d'une ou plusieurs caméras et de les intégrer dans la boucle de commande d'un robot an d'en contrôler le mouvement. Les techniques d'asservissement visuel utilisent la perception an d'améliorer l'action et augmentent donc la exibilité et la précision des systèmes robotiques. Détection visuelle des objets à saisir. Adept robotics. Dans ce cadre, le laboratoire souhaite améliorer les algorithmes existants en matière d'asservissements basés sur des objets de géométrie inconnue. Bien qu'il soit possible en imposant quelques contraintes de l'envisager à l'aide d'un système monoculaire, notamment par des méthodes de prises de vues successives, le système stéréo est bien plus indiqué puisqu'il permet une cartographie 3D direct des amers présents dans la scène par triangulation. Mon stage sera axée autour de l'amélioration des algorithmes d'asservissements visuels 3D basés sur un système de stéréovision. Comme il sera expliqué plus en détails dans le premier chapitre, pour ce type d'asservissements, les données visuelles récupérées dans les images servent à reconstruire des informations 3D. Ces informations 3D sont alors utilisées dans la boucle d'asservissement du robot. Classiquement, pour asservir 6 degrés de libertés, on retrouve les informations d'angles et de position entre un repère caméra actuel et un repère caméra souhaité. On pourra parler de pose relative. Le repère caméra souhaité est construit à partir de la position souhaitée de la caméra vis à vis de l'objet. Une première constatation est que la précision de ce type d'asservissement dépend directement de la précision de l'estimation de la pose relative puisque ces paramètres servent à construire le vecteur d'erreur. Une quantité importante de travaux à ce sujet est disponible mais néanmoins rares sont ceux disponibles sur l'utilisation d'un système de stéréovision. On peut mettre ce faible intérêt pour la stéréovision sur le compte de problèmes techniques comme le fait d'avoir à gérer une quantité importante de données, des problèmes de débits de données, de synchronisation ne des acquisitions, des problèmes de robustesse comme ceux liés à la disparition d'indices pour une seule des deux caméras ou encore le coût. Grâce aux améliorations de cette dernière décennie (caméras USB 2.0/3.0/ Giga ethernet etc) il est désormais possible de gérer ces contraintes et de pouvoir disposer d'un tel système, de moyenne gamme, pour 2000 e à peine. Dans [6], F. Alkhalil, dont je vais reprendre le formalisme développé durant son travail de thèse dans le laboratoire, a mis au point une méthode d'estimation de la pose relative compatible avec l'utilisation d'indices visuels de type droites. Basée sur le lemme d'umeyama [14], la méthode se déroule en deux temps. Dans un premier temps l'utilisation du lemme permet d'obtenir la partie rotation sous forme matricielle. Puis dans un deuxième temps en réutilisant les données d'entrées et la rotation précédemment déterminée, on calcule la partie translation de la transformation rigide. Cet algorithme fourni une résolution en deux temps et nécessite donc d'utiliser deux fois les données d'entrées bruitées, ce qui amène à cumuler les erreurs. Une Première piste novatrice quant à l'estimation d'une transformation rigide basée sur la description 7

9 des objets rigides par des droites, est issue des quaternions duaux. On en retrouve un exemple d'utilisation intéressant dans [13] qui se propose de remplacer dans la boucle d'asservissement d'un robot 6 axes anthropomorphe, le traditionnel vecteur d'erreur composé des vecteurs rotation sous la forme angle/axe et de la translation relative, par le quaternion dual contenant directement la totalité de ces informations. Daniilidis propose également dans [5] d'utiliser cette algèbre an de simplier la résolution du problème classique d'"hand-eye calibration". Pour cela, il met au point un algorithme capable d'estimer cette transformation à partir de la seule connaissance de droites de l'espace et de l'utilisation des quaternions duaux. La résolution du problème posé dans cet article semble très similaire à notre problème d'estimation de la pose relative et nous laisse espérer pouvoir mettre en place une méthode similaire et adaptée. Cette méthode aurait l'avantage d'eectuer l'estimation en une seule étape au lieu de deux et de ne pas réutiliser les données d'entrée bruitées. Une Deuxième piste novatrice ressort de l'utilisation d'algorithmes prenant mieux en compte le bruit sur les données traitées. Un bon exemple, prometteur via les applications du domaine de la vision auquel il a déjà pu être adapté est l'algorithme HEIV, exposé dans [9]. Il présente l'avantage conséquent de pouvoir prendre en compte des bruits sur les mesures bien plus complexes dans la réalisation du processus d'optimisation et potentiellement d'augmenter sensiblement la précision et la stabilité des paramètres recherchés qui seraient assurés de ne pas être biaisés par cette technique, si la calibration du système stéréo était parfaite. Figure 1.1: Résultats tirés de [6] sur la mise en oeuvre d'un asservissement visuel 3D utilisant l'algorithme d'umeyama. Sur l'image de gauche l'évolution de l'erreur en Rotation et sur l'image de droite celle en Translation. On voit que le bruit est particulièrement fort en n d'asservissement et qu'il l'est encore plus pour la Translation. Cette forte variance en n d'asservissement et cette translation plus corrompue seront nos priorités. Le biais visible n'étant dû certainement qu'en petite partie à l'estimation de la pose mais plutôt à la calibration. 8

10 Première partie Etude Bibliographique 9

11 Chapitre 2 Amélioration de l'estimation de la pose dans le cadre des asservissements stéréo basés position 2.1 Introduction Dans le cadre des asservissements visuels, on retrouve deux écoles. Les asservissements visuels réputés "rapides" et les asservissements visuels réputés "lents". Les asservissements visuels dits "rapides" sont des asservissements directs (gure 2.1) dont la fréquence est supérieure ou égale à celle du contrôleur du robot et dont le correcteur est réglé grâce à un modèle dynamique précis du système en boucle ouverte. Ce type d'asservissements est assez récent et peut être mis en relation avec l'augmentation de la puissance de calcul des ordinateurs et des débits croissants des caméras. Les asservissements visuels dits "lents" sont des asservissements indirects (gure 2.2) et sont plutôt adaptés à des environnements complexes. Ils ont une fréquence inférieure à celle du robot et considèrent le robot comme un outil auquel on envoie une consigne. Le contrôleur du robot se charge ensuite de mettre oeuvre cette consigne. Les correcteurs implémentés pour ce type d'asservissement sont souvent élémentaires dans un premier temps, généralement un simple gain qui assure idéalement une décroissance exponentielle de la fonction d'erreur choisie, cela an de permettre de valider la faisabilité de la stratégie testée. La vraie problématique et complexité de ce type d'asservissements réside dans la volonté de construire une commande robuste. On peut citer comme exemples la volonté de générer des trajectoires rectilignes de l'eecteur dans l'espace 3D, la robustesse quant à la perte d'un ou plusieurs indices visuels, la possibilité de garantir la convergence ou encore la robustesse face aux erreurs de calibration des diérents éléments intervenants dans la mesure de l'erreur dans la boucle d'asservissement. Ce sont ces derniers, les asservissements réputés lents, qui vont nous intéresser ici puisque dans un contexte médical il apparait évident que la vitesse ne prime pas, mais la robustesse au contraire, si. Figure 2.1: Pour l'asservissement direct, le contrôleur conçu remplace le contrôleur bas niveau du robot an d'exploiter pleinement les possibilités dynamiques de ce dernier. Figure 2.2: Pour l'asservissement indirect, le contrôleur haut niveau se basant sur la mesure visuelle considère le robot comme un outil auquel la consigne est envoyée. 10

12 Tout asservissement visuel vise typiquement à minimiser une fonction d'erreur e(t) dénie comme ci-dessous et appelée fonction de tâche e(t) = s(m(t), a) s (2.1) On retrouve dans la formule (2.1) de l'erreur une diérence entre deux termes. la conguration actuelle s et la conguration souhaité s*. Cette conguration est dénie par deux paramètres. m est composé de diérents indices, visuels ou non, comme par exemple l'ensemble des coordonnées de points dans une image ou encore un angle dans l'espace. le coecient a reprend des constantes de modèles permettant de calculer s à partir des m(t). On a par exemple typiquement a représentant l'ensemble des paramètres intrinsèques du système de vision, estimés lors de l'étape de calibration. Pour les asservissements visuels dits "lents", la tâche majeure consiste à créer un vecteur d'état s permettant d'atteindre les objectifs de robustesse xés. Une fois s sélectionné le reste de la construction de la commande peut être assez simple. Le contrôleur est de type contrôleur en vitesse. Pour cela il faut établir le lien entre la variation temporelle de s et celle du déplacement la caméra. Nous allons exposer dans la suite de ce chapitre les techniques classiques de construction de s pour les asservissements 3D ou encore dénommées "basées position" (PBVS). Nous verrons ensuite une technique plus élaborée issue du travail de thèse de F. Alkhalil [6] dont je vais m'inspirer fortement pour mon travail. Dans cet article il se propose d'utiliser préférentiellement des droites comme indices visuels (mais pas forcément comme mesures, on peut typiquement se contenter de deux points), qui présentent des avantages lors de l'utilisation d'un système de stéréovision pour les asservissements 3D. Au fur et à mesure des explications sur les PBVS, nous aurons l'occasion de constater que les problèmes d'estimation de pose, courants en vision par ordinateur, y jouent un rôle central. Nous verrons à cet eet la technique explicitée par Alkhalil dans [6] pour eectuer cette estimation. Puis dans un deuxième temps une manière innovante issue des travaux de Daniilidis dans [5], qui utilise une technique basée sur les quaternions duaux an d'estimer la transformation entre le repère eecteur et le repère caméra d'une caméra montée sur l'organe terminal d'un robot anthropomorphe, le problème d'"hand-eye calibration". Enn nous aborderons des travaux de M. Mühlich et R. Mester dans [12] ainsi que ceux de B. Matei et P. Meer dans [9], qui traitent de l'amélioration des estimations par pondération des matrices de mesures dans un cas et par un nouvel algorithme basé sur la factorisation du problème d'optimisation dans l'autre avec une meilleure prise en compte du bruit sur les mesures dans les deux cas. Ces travaux pourraient potentiellement amener un gain dans les problèmes d'estimation de la pose, qui sont sensibles à des sources d'erreurs variées (calibration caméra, bruit des mesures, erreurs de modélisation etc). 2.2 Approche classique des asservissements basés position ou 3D (PBVS) Les asservissements visuels basés position utilisent l'estimation de la pose entre un repère caméra courant et un repère caméra désiré. Ce dernier est déni à partir d'une conguration désirée de la caméra par rapport à l'objet et est utilisé an de dénir s*. L'estimation de la pose est faite à partir d'indices visuels et est un problème très courant en vision par ordinateur. Il fait encore l'objet de recherches et discussions au sein de la communauté des asservissements visuels (AV). Sa détermination fera l'objet d'une attention minutieuse dans la section 2.4 puisque l'amélioration de la technique actuellement utilisée pour l'estimation de la pose fait partie de mes objectifs. En reprenant le formalisme de F.Chaumette dans [4] on dénit le torseur cinématique de la caméra v c = (ν c, ω c ) avec ν c la vitesse linéaire de l'origine du repère caméra et ω c la vitesse angulaire du repère caméra. La relation entre ces deux quantitées et la variation temporelle du vecteur d'état (ayant k composantes) est alors souvent exprimée matriciellement par ṡ = L s ν c (2.2) Où L s est une matrice (kx6) appelée "interaction matrix". On considère à présent que la caméra possède 6 degés de libertés et que la cible est statique. C'est à dire qu'elle ne bouge pas et ne subit pas de perturbations. Cela se traduit mathématiquement par s = 0. Par suite on peut écrire : 11

13 ė = L e ν c (2.3) Avec L e = L s. Si l'on considère ν c comme la commande d'entrée du robot et si l'on veut assurer une décroissance exponentielle de l'erreur en utilisant un correcteur simple de type gain, c'est à dire ė = λe, on obtient : ν c = λl + e e (2.4) On dénit maintenant s comme étant composé des 6 paramètres de la pose relative entre la conguration du repère caméra actuelle et celle souhaitée. Ces 6 paramètres sont pour moitié composés des trois composantes de la translation c t o entre le repère caméra actuel et le repère objet et complétés par les trois paramètres de la représentation angle/axe θu de la rotation entre le repère caméra actuel et celui souhaité. Il s'agit d'un choix parmi d'autres. On a donc s = ( c t o, θu), s = ( c t o, 0) et e = ( c t o c t o, θu) Et on peut montrer que pour ce vecteur d'état on obtient le schéma de commande : { νc = λ 1 (( c t o c t o ) + [ c t o ] θu) (λ 1, λ 2 ) R 2 ω c = λ 2 θu Une autre stratégie pour le PBVS consiste à utiliser s = ( c t c, θu). Dans cas on obtient le schéma de commande : { νc = λ 1 (R T c t c ) ω c = λ 2 θu qui permet donc un découplage partiel des commandes, un aspect recherché dans le domaine, mais qui se fait souvent au détriment de la visibilité des indices d'intérêt. Des résultats de ces commandes sont présentés dans les gures 2.3 et 2.4 issues des travaux de M. Chaumette et représentés dans dans son tutoriel [4]. Figure 2.3: Résultats issus de [4]. Comportement avec s = ( c t o, θu). En (a) la trajectoire des points d'intéréts dans l'image. En (b) l'évolution de l'erreur. En (c) la trajectoire de l'eecteur dans l'espace. Figure 2.4: Résultats issus de [4]. Comportement avec s = ( c t c, θu). En (a) la trajectoire des points d'intérêts dans l'image. En (b) l'évolution de l'erreur. En (c) la trajectoire de l'eecteur dans l'espace. Plusieurs remarques sont à faire sur les deux stratégies de commandes présentées. Comme on peut le voir dans la gure 2.3, la première stratégie permet d'obtenir des trajectoires à peu près rectilignes des indices visuels dans le plan image. On a donc une bonne robustesse quant à la perte d'indices visuels. La trajectoire suivie par l'eecteur est par contre peu commode et pourrait s'avérer gênante voir dangereuse pour l'environnement extérieur du robot. On constate dans la gure 2.4 dans un deuxième temps, que pour la seconde stratégie l'eecteur suit une belle trajectoire rectiligne. Mais les trajectoires des indices visuels sont au contraire très incurvées dans le plan image et il y a de grandes chances que l'on puisse perdre un indice visuel au cours de l'asservissement, qui échouera nalement. C'est notamment pour tenter de répondre à ces problèmes ainsi que d'autres comme le souci de précision de l'asservissement 3D, que F. Alkhalil s'est proposé de recourir à une autre méthode basée sur un système stéréoscopique et l'utilisation d'indices visuels plus complexes mais plus riches que sont les droites de l'espace. 12

14 2.3 Technique basée sur le formalisme de Plücker et l'utilisation d'un système de stéréovision Cette deuxième approche se base cette fois-ci sur l'utilisation d'un système de vision stéréoscopique. L'utilisation de ce type de système d'acquisition est très récente. Elle est due aux récentes avancées technologiques qui ont permis leur ascension. Il y avait auparavant des dicultées techniques au niveau de la synchronisation des acquisitions des deux caméras ainsi que des problèmes de débits trop faibles des caméras vers l'unité de traitement. Les progrès signicatifs de cette dernière décennie, notamment en termes de puissance de calcul des ordinateurs et de l'augmentation signicative des débits des caméras (caméras USB 2.0/3.0 et GigaEthernet) permettent désormais de pouvoir utiliser sereinement un système stéréo de qualité moyenne pour un budget de 2000e à peine. L'utilisation de ce type de système d'acquisition apporte plusieurs avantages comparé à l'utilisation de systèmes monoculaires classiques. En termes de précision, celle théorique atteignable par les méthodes d'estimation de pose basées sur des correspondances 2D-3D utilisées par les algorithmes liés aux systèmes monoculaires sont comparés aux calculs 3D basés sur la triangulation permise par un système stéréo dans l'article [7]. Puisque l'estimation de la coordonnée z du repère caméra est la plus sensible pour un système monoculaire c'est celle qui fait l'objet d'une étude théorique dans cet article. Il y est démontré que la précision atteignable à l'aide d'un système stéréo est nativement supérieure d'un facteur 2 à 3. On peut également en attendre un nombre moindre d'indices visuels nécessaires ainsi qu'un déplacement sans congurations singulières. On notera par ailleurs le grand avantage de ne pas nécessiter la connaissance de la géométrie de l'objet pour déterminer les coordonnées spatiales des objets d'intérêts grâce à ce système. Une exibilité qui sera d'autant plus appréciée lorsqu'il s'agira de traiter d'objets articulés ou même totalement déformables. Il faut néanmoins prendre conscience d'une contrainte particulière imposée par le système stéréo lorsque l'on observe des points dans une image. Un point aura une projection dans les images de gauche et droite, ce qui conférera en tout quatre informations. Un point 3D étant au plus caractérisé par 3 paramètres, il existe donc une relation non encore explicitée entre ces informations. Il s'agit de la contrainte épipolaire, et s'avère dicile à respecter lorsque les données images sont bruitées, ce qui est toujours le cas en pratique. C'est dans ce contexte que des objets d'intérêt de type droites de l'espace dévoilent tout leur intérêt. Celles-ci possèdent plusieurs avantages. Le premier répondant au problème précédent. En eet, celles-ci sont décrites par 4 paramètres et les données images des deux caméras susent donc tout juste à les reconstruires. Il faut comprendre par-là que la contrainte épipolaire est implicitement vériée et ne nécessite donc plus d'être explicitement vériée. Le deuxième est que celles-ci possédants 4 degrés de libertés, une droite pourra donc asservir 4 degrés de liberté (voir plus mais la cinématique du système utilisé ne sera pas totalement exploité). Enn dernier avantage pratique, comme pour les points, les droites sont des objets visuels qu'il est facile d'extraire des images. A l'aide d'une segmentation puis détection des contours on extrait les pixels composants la droite puis on estime ses paramètres en utilisant la "droite" des moindres carrés passant au mieux par ces points. Les algorithmes utilisés sont majoritairements linéaires et ne nécessitent qu'une faible puissance de calcul et donc temps d'analyse. Mais les droites possèdent aussi leurs inconvénients. Il s'agit d'objets de l'espace assez dicile à caractériser. Preuve en est, il n'existe pas de paramétrisation minimale pour ces dernières. Dans le cadre de mon stage qui poursuit le travail de thèse de F. Alkhalil, il a été décidé d'utiliser le formalisme de Plücker pour modéliser ces dernières, voir l'article [3] de A. Bartoli et P. Sturm qui traitent notamment des aspects géométriques des espaces projectifs avec des droites sous ce formalisme. Selon ce formalisme, une droite L de l'espace est représentée par un couple de vecteurs (v, w). Le premier, v, est un vecteur directeur de la droite. Le deuxième, w, est un vecteur perpendiculaire au plan d'interprétation, plan qui contient la droite et l'origine du repère dans lequel sont exprimées les coordonnées, w vérie donc w T v = 0. Plücker démontra que pour tous points M et N de cette droite on peut construire une matrice L caractéristique de la droite et indépendante de ces points, à la seule condition que ceux-ci ne soient pas confondus, on l'appellera L. L MN T NM T [ [w] ] v v T 0 0 u z u y avec [u] = u z 0 u x (2.5) u y u x 0 Le symbole signie ici égal à un facteur près. Ce facteur se nomme facteur d'échelle dans le jargon des espaces projectifs. Ce formalisme est tout particulièrement intéressant pour la projection perspective des droites, qui s'écrit 13

15 [l] P LP T (2.6) Avec P la matrice caméra et [l] la matrice symétrique de la droite image de L. Il est encore intéressant de noter qu'en considérant la projection inverse on peut reconstruire le plan dual : π = P T l. Et de là il est possible de reconstruire la matrice de Plücker duale. Celle-ci est une reconstruction de la droite mais non pas basée sur deux points mais sur les vecteurs normaux de deux plans. La reconstruction de la droite est alors vue comme l'intersection de deux plans π dans l'espace. L = (π d ) T π g (π g ) T π d (2.7) Ce formalisme présente donc le premier avantage d'une représentation très commode lorsqu'il s'agit de réaliser des projections mais aussi des changements de repères, formule que nous n'avons pas vue mais qui n'implique qu'une matrice (6x6). Le deuxième et principal avantage est aussi que ce formalisme est très bien adapté aux asservissements visuels stéréo et permet d'établir des commandes cinématiques découplées. On pourra se référer à l'article [6] qui explicite deux commandes basées sur l'asservissement des 4 degrés de libertés d'une droite par commandes découplées. Dans le cadre de ce formalisme, l'article [6] présente également une commande 3 Rotations - 3 Translations basée sur l'utilisation d'au moins deux droites non parallèles. Comme vu dans la section de l'approche classique des PBVS, tous les asservissements 3D à 6 degrés de libertés vont suivre le même schéma de commande. Tout l'art de la technique réside pour ce type d'asservissement dans le choix des indices visuels, des vecteurs d'état et enn des procédés qui permettront une estimation ne de la pose entre le repère caméra courant et le repère caméra désiré. 2.4 Estimation de la pose Méthode basée sur le lemme d'umeyama [14] Lemme : Etant donné deux ensembles de n points {x i } et {y i } dans un espace de dimension m, on forme les matrices A et B de taille (m*n) concaténations des vecteurs colonnes des points. Soit UDV T la décomposition en valeurs singulières de AB T (UU T = V V T = I) et D = diag(d i ) avec d 1... d m 0. Alors la rotation R permettant de passer de la matrice A à la matrice B réduisant la fonction de cout min R A RB 2 est R = USV T (2.8) Avec Et on a encore { S = I si det(u)det(v ) = 1 diag(1,..., 1, 1) si det(u)det(v ) = 1 (2.9) min R A RB 2 = A 2 + B 2 2tr(DS) (2.10) Ce lemme est à la base de l'algorithme proposé dans [6] pour un asservissement 3D basé sur des droites. En eet, bien que ce lemme ai été prouvé par Umeyama pour des ensembles de points, celui-ci a été prouvé dans [6] comme restant valide pour des droites, c'est à dire pour un ensemble de vecteurs directeurs de droites. Ce sont les vecteurs v du formalisme de Plücker. Ainsi on s'attache à déterminer la matrice de rotation s R s entre les ensembles de droites désirées et courantes en dénissant A = ((v 1) T,..., (v N )T ) T et B = (v 1 (t) T,..., v N (t) T ) T avec v i un vecteur directeur de la ieme droite désirée et v i (t) un vecteur directeur de la i eme droite courante à un instant t. Bien que l'article [14] d'umeyama présente une solution pour les problèmes de similitudes entre deux ensembles de points, c'est à-dire également l'estimation de la translation et d'un agrandissement entre ces deux ensembles, ce travail ne sera pas réutilisable tel quel avec des vecteurs directeurs de droites. 14

16 Il est alors montré dans [6] que pour la translation s t s, en se basant sur la relation de transformation des coordonnées de Plücker entre les repères courant et désiré (voir [3]), on a : [ ] w j = v j [ s ] [ ] R s [ s t s ] s R s wj (t) 0 s R s v j (t) (2.11) On peut concaténer les équations (2.11) pour N droites et ainsi former le système linéaire Où s t s est le vecteur inconnu et H s t s = Q (2.12) H = ([v 1] [v 2]... [v N ] ) T (2.13) La matrice H est constante et l'on a q j = s R s w j (t) w j. Q = (q T 1 q T 2... q T N) T (2.14) L'article établit enn la preuve que la solution existe toujours si l'on considère au moins deux droites non parallèles. Plusieurs constatations sont à faire et ont amené à me proposer un travail d'amélioration de cette estimation de transformation rigide. La première est que l'estimation de la transformation rigide est eectuée en deux temps. Dans un premier temps on détermine la rotation, puis dans un second temps on estime la translation en réutilisant les données d'entrées et la rotation estimée. L'erreur sur la translation est donc très grande en comparaison de celle commise sur la rotation. Des résultats conrment d'ailleurs ce pressentiment dans [6] et en gure 1.1. Un deuxième point est que lorsque le repère courant va se rapprocher du repère désiré, le vecteur colonne Q va tendre vers 0 et aucune garantie n'est faite qu'avec du bruit en plus sur les mesures, un calcul correct de la translation puisse encore être assuré, ce point serait à étudier Méthode basée sur l'utilisation des quaternions duaux Les quaternions duaux se retrouvent dans la résolution d'une grande variété de problèmes tels que le rendu graphique, le guidage de robots par vision, la stéréovision, le recalage et les problèmes de mécanique classique en général. En eet, tous ces problèmes ont comme vecteur commun le besoin de modéliser ou d'estimer des transformations de corps rigides, c'est à dire des rotations et des translations. Or, les quaternions duaux sont probablement l'outil le mieux adapté aujourd'hui pour y parvenir. Nous avons nous-même aaire à un problème d'estimation de transformation rigide et les résultats de l'article de P. Fraisse [8] sur le contrôle de la pose d'un robot anthropomorphe à l'aide d'une fonction d'erreur basée sur les quaternions duaux laissent entrevoir leur utilité dans le domaine. L'article [5] de Daniilidis sur l'estimation de la transformation rigide entre le repère lié à l'eecteur d'un robot anthropomorphe et le repère caméra, caméra xée sur l'organe terminal, à l'aide des quaternions duaux, nous laisse à penser qu'il sera possible d'utiliser une technique semblable qui permet l'estimation de la transformation dans sa totalité en n'utilisant qu'une fois les données d'entrées. Les prochains calculs vont être détaillés dans l'espace des quaternions duaux. A ce titre le lecteur pourra se référer aux annexes A,B et C traitants respectivement d'introductions aux domaines des quaternions, nombres duaux et quaternions duaux. Les travaux exposés sont fortement inspirés de l'article [5] de Daniilidis. En eet, Ces travaux explicitent le quaternion dual q représentant la transformation rigide entre deux ensemble de droites. Son travail a été réalisé dans le cadre de l'estimation de la transformation rigide entre un repère lié à l'eecteur d'un robot et celui d'une caméra montée rigidement sur celui-ci. Mais son travail semble pouvoir être adaptable à notre problématique où nous devons également trouver une transformation rigide entre deux ensemble de droites, les droites liées à l'objet, vues dans le repère courant et les même droites vues dans le repère désiré. 15

17 Notons ă = a + ɛa = (0, a) + ɛ(0, a ) (avec ( a, a ) ses coordonnées de Plucker) la représentation d'une droite de l'espace et b = b + ɛb une autre issue de ă par une transformation rigide. On rappelle que cette transformation peut se mettre sous la forme : (voir 8.3) ă = q b q (2.15) On peut réécrire l'équation (2.15) comme suit en isolant les parties duales et non duales { a = qb q a = qb q + qb q + q b q (2.16) En multipliant à droite par q et en utilisant le fait que q soit unitaire, on obtient le système équivalent : { aq qb = 0 a q qb + aq q b = 0 (2.17) Puisque a,a,b et b sont des quaternions représentant des vecteurs, on peut réécrire ce système sous la forme matricielle [ a b [ a + ] [ ] b] 0 3x1 0 3x3 q a b [ a + b ] a b [ a + b] q = 0 (2.18) Nommons cette matrice S. Elle est de taille (6x8). De plus nous avons les deux contraintes liées au fait que q soit unitaire. { q T q = 1 q T q = 0 (2.19) Cela fait en tout huit équations et huit inconnues. Mais a et b sont unitaires et a et a, respectivement b et b, représentent en fait les vecteurs de Plucker de deux droites. On a donc a et a, respectivement b et b, qui sont orthogonaux. Il y a donc de fait deux équations redondantes. Il va donc falloir deux droites au minimum pour estimer la transformation. Intuitivement cela était prévisible puisqu'une droite ne contraint que 4 degrés de liberté et une transformation rigide de l'espace 3D en requièrt 6 dans le cas général. On concatène les matrices S de manière à obtenir T = (S T 1...S T N )T, matrice qui est de rang 6 dans le cas de données non bruitées. Sans rentrer dans les détails que le lecteur pourra retrouver dans l'article [5], on peut trouver les solutions d'un tel problème en procédant à la décomposition en valeurs singulières (svd) de la matrice T = UΣV T. Puisque la matrice est de rang 6 et que la décomposition en valeurs singulières classe sur la diagonale les valeurs singulières par ordre décroissant, les 2 dernières seront donc forcément égales à 0, au bruit près. L'espace des solutions sera donc généré par les deux derniers vecteurs colonne de V, v 7 et v 8 que l'on peut écrire On a alors : v T 7 = ( u T 1, v T 1 ) et v T 8 = ( u T 2, v T 2 ). [ q q ] [ ] [ ] u1 u2 = λ 1 λ v 2 1 v 2 (2.20) λ 1 et λ 2 sont déterminés par les contraintes faisant de q une transformation rigide. Ces contraintes fournissent deux équations quadratiques en λ 1 et λ 2. λ 2 1 u 1 T u 1 + 2λ 1 λ 2 u 1 T u 2 + λ 2 1 u 2 T u 2 = 1 (2.21) λ 2 1 u 1 T v 1 + λ 1 λ 2 ( u 1 T v 2 + u 2 T v 1 ) + λ 2 2 u 2 T v 2 = 0 (2.22) 16

18 En suivant l'algorithme explicité dans [5], on trouve une solution non triviale pour q et q'. Cette méthode présente l'avantage de répondre aux problèmes soulevés par la méthode d'umeyama. En eet, les estimations de la translation et de la rotation sont eectuées simultanément, on ne réutilise pas une deuxième fois les données d'entrées bruitées. De plus, lorsque les droites sont très proches le problème n'est pas mal conditionné. Il faudra encore implémenter ces deux algorithmes, les simuler puis les tester en conditions réelles an d'en déterminer concrètement les performances Pondération des mesures, algorithme HEIV Il est bien connu que la majorité des problèmes de vision par ordinateur peuvent se ramener à des problèmes d'optimisation non linéaire. C'est par exemple le cas pour la calibration de(s) caméra(s) ou de l'estimation de la matrice fondamentale. Le caractère complexe de cette optimisation réside dans la non linéarité des équations et il existe plusieurs techniques éprouvées dans le domaine de la vision par ordinateur pour résoudre ces problèmes. La première se base sur une méthode du type moindres carrés totaux (TLS en anglais). Si l'on écrit x i0 R q, i = 1..n les vraies valeurs liées à la mesure i et θ R p, i = 1..p le vecteur des paramètres inconnus et recherchés, ces vecteurs sont reliés par une fonction non linéaire à m composantes : φ(x i0, θ) = 0 (2.23) La possibilité d'utilisation de la méthode des TLS vient du fait que pour beaucoup de problèmes de vision, l'équation (2.23) peut être linéarisée par rapport au vecteur des inconnues et peut encore se noter : φ(x i0, θ) = Z(x i0 )θ = 0 Z R m p (2.24) La solution des TLS consiste alors à prendre le plus petit vecteur propre de la matrice de dispersion dénie par les variables bruitées : S = n Zi T Z i (2.25) i=1 Ou encore en prenant la décomposition en valeurs singulières de la concaténation verticale des matrices Z i. Mais cette linéarisation a un coût. Il peut être montré que cela peut amener a une distribution statistique de l'erreur sur les composantes de Z non gaussienne voir dépendant directement de la mesure, ce qui est encore appelé bruit heteroscedastique (voir la démonstration dans l'article [9]). L'algorithme des TLS, pour retourner une solution proche de la valeur réelle, c'est à dire non biaisée et minimisant la variance de la solution, impose aux variables bruitées, ici les composantes de Z, de suivre une même loi de moyenne nulle et dont le bruit sur les mesures successives est indépendant, condition encore appelé i.i.d ( identical and independant noise ). Ce critère n'est donc pas toujours respecté dans le cas d'une linéarisation, ce qui explique le caractère médiocre des résultats fournis par exemple par l'algorithme des 8 points de Longuet-Higgins utilisant les TLS pour l'estimation de la matrice fondamentale. Il faut en général procéder par la suite à un anage du vecteur des paramètres trouvés à l'aide de l'algorithme de Levenberg-Marquardt (L-M) par exemple. L'algorithme de Levenberg-Marquardt est un algorithme d'optimisation non-linéaire. Cet algorithme ne nécessite donc pas de linéarisation des équations et est donc bien moins sensible au bruit sur les mesures. Néanmoins dans les zones de fortes courbures de φ un biais peut être introduit par l'approximation au premier ordre d'un certain nombre de calculs associés à cet algorithme (il y a donc linéarisation, mais linéarisation réevalué à chaque itération), biais qu'il n'est pas possible de compenser par la suite. Bien que cet algorithme donne des résultats très satisfaisants pour dans la majorité des cas, cette précision se paye d'un coût élevé en temps de calculs. Dans ce cadre, d'autres études ont été menées an de proposer des solutions alternatives. On retrouve la solution de renormalisation des données de Kanatani qui consiste à retirer de manière itérative le biais sur le résultat fourni par les TLS. L'utilisation du ltre de Kalman dans se variantes "Unscented" ou "Extended". L'article [10] propose une autre méthode de rejection de ce biais introduit par les TLS en proposant une méthode simple d'adaptation 17

19 de la métrique utilisée par l'algorithme à des données bruitées biaisées. Les techniques TLS utilisent la norme 2 qui consiste en fait à minimiser la distance orthogonale au carré entre la solution et les mesures. Les TLS qui, en supposant que φ puisse se décomposer en φ(x i0, θ) = y i0 ψ(u i0, θ), i = 1..n (condition imposée pour pouvoir utiliser l'algorithme de L-M), peuvent s'écrire encore sous la forme argmin θ χ 2 = 1 2 n (y i0 φ(x i0, θ)) 2 = 1 2 (y φ(x, θ))t (y φ(x, θ)) (2.26) i=1 L'article [10] montre alors qu'il est possible en introduisant une matrice W comme ci-après, de pouvoir utiliser les TLS tout en garantissant d'obtenir une réponse non biaisée, l'article propose également une manière d'obtenir cette matrice W. argmin θ χ 2 = 1 2 (y φ(x, θ))t W (y φ(x, θ)) (2.27) Dans le même état d'esprit, l'article [9] décrit une méthode puissante de résolution des problèmes d'optimisations non-linéaires pouvants êtres linéarisés par rapport aux paramètres recherchés, comme en (2.24). La méthode HEIV, pour Heteroscedastic Errors In Variables. Comme son nom l'indique celle-ci est compatible avec les problèmes d'optimisation avec variables soumises à un bruit heteroscedastique. Elle retourne le jeu de paramètres estimés mais également l'estimation du jeu de mesures non corrompues. En plus de cela, ses bases mathématiques solides lui permette de retourner une expression analytique des matrices de covariance sur ces deux estimées, ce qui, pour la majorité des autres algorithmes existants, dont celui de L-M, est très laborieux et se fait par propagation des erreurs. L'article dont cette technique est issue souligne spéciquement son adaptabilité à la majorité des problèmes de vision par ordinateur ce qui nous laisse espérer pouvoir l'adapter au problème d'estimation de pose, objet de cette section, problème dont les résultats fournis par les algorithmes testés précédemment ne prennent pas en compte le caractère heteroscedastique des variables traitées. En plus de cette négligence intervient aussi celle sur la triangulation des droites qui est particulièrement problématique en termes de sensibilité au bruit. 2.5 Triangulation des droites de l'espace 3D Nous avons vu dans la section précédente que les méthodes d'estimation de la pose telles que celle d'umeyama ou celle basée sur les Quaternions Duaux utilisent toutes les coordonnées de Plucker des droites de l'espace 3D. Or, les données de départ sont les droites images extraites et il faut, à partir de celles-ci, trianguler les coordonnées de Plucker des droites de l'espace 3D. Pour ce faire, un premier moyen, indiqué dans la section 2.3 avec l'équation (2.7) est de reconstruire la matrice de Plucker duale de la droite 3D. Mais cette méthode présente le douloureux inconvénient d'avoir recours aux paramètres de calibration de la caméra. Paramètres qui sont souvent le goulot d'étranglement en termes de précision pour les applications basées vision. Une manière de diminuer la sensibilité de cette triangulation des droites de l'espace 3D aux paramètres de la calibration des caméras vient d'un travail de F. Alkhalil, résumé dans [1], qui étudiait alors un moyen innovant d'eectuer des asservissements basés images, toujours à partir de droites et à l'aide d'un système d'acquisition stéréoscopique. Des résultats de ce travail nous fournissent un moyen de calculer les coordonnées de Plucker d'une droite de l'espace 3D en utilisant uniquement la calibration ane du système stéréo. C'est à-dire l'estimation de la matrice fondamentale et de l'homographie à l'inni. Soit L la représentation de Plücker d'une droite. La projection de cette droite dans un plan image est une droite l telle que [l] = P LP T avec P la matrice caméra considéré. Dans un repère commun F s les matrices caméra de gauche et droite peuvent s'écrire P l = M l [I 3 σ l ] et P r = M r [I 3 σ r ] avec M une matrice non singulière et σ la dernière colonne de P. En développant l'équation de projection de la matrice de Plücker L, on obtient les formules l r M T r (w + σ r v) (2.28) 18

20 l l M T l (w + σ l v) (2.29) Qui, en imposant les contraintes de facteurs d'échelles l T r M r σ r = 1 et l T l M lσ l = 1, peuvent se réécrire v (M T r l r M T l l l ) (2.30) w (M T l l l M T r lr) (2.31) On pourra trouver une démonstration du passage des équations (3.6) et (3.7) aux équations (3.8) et (3.9) dans l'annexe D. En posant s 1 = (l r H T l l ) et s 2 = (l r + H T l l ) on obtient v mm 1 r s 1 (2.32) w M T r s 2 (2.33) Avec m le déterminant de M. Pour xer le facteur d'échelle on impose v = 1 et on rappelle que les coordonnées de Plücker sont dénies à un unique facteur d'échelle près. On pose donc à cet eet q = mmr 1 s 1. On obtient v = mm 1 r s Ω (2.34) w = M T r s ν (2.35) Avec s Ω = s1 q et s ν = s2 q. Les équations (2.34) et (2.35) nous fournissent donc bien un moyen de calculer les coordonnées de Plucker d'une droite de l'espace 3D en utilisant uniquement M r et H inf, c'est à dire uniquement la calibration ane du système d'acquisition stéréoscopique. La calibration ane étant plus simple à estimer de manière précise. 19

21 Deuxième partie Contribution 20

22 Chapitre 3 Mise en place d'une nouvelle solution d'estimation de la pose par stéréovision 3.1 Adaptation de la méthode de Daniilidis basée sur les quaternions duaux Daniilidis dans [5] s'attaque au problème dit d'hand-eye calibration. Il s'agit d'estimer la transformation rigide entre le repère associé à l'organe terminal du robot et le repère lié à la caméra, elle-même montée rigidement sur l'organe terminal. Pour la résolution de ce problème il décide d'adopter une stratégie basée sur les quaternions duaux, formalisme très bien adapté pour la description des transformations rigides de l'espace 3D, notamment par sa concision de description des torseurs et des transformations rigides en un seul élément. On peut montrer qu'une droite b de l'espace 3D est transformée rigidement en une droite ă par ă = q b q (3.1) Où q représente la transformation rigide et q son conjugué. Cette relation reste valide pour des torseurs et montre alors qu'en posant ă comme le torseur cinématique de la caméra et b comme celui de l'organe terminal du robot, le problème d'estimation de la transformation rigide peut se ramener à résoudre l'équation matriciel [ a b [ a + ] [ ] [ ] b] 0 3x1 0 3x3 q q a b [ a + b ] a b [ a + b] q = Z q 0 (3.2) Avec encore les deux contraintes q T q = 1 et q T q = 0 an que q représente bien une transformation rigide. La matrice ci-dessus constitue la matrice Z, c'est une matrice de dimension 6 8, mais malgré les deux contraintes supplémentaires on ne peut pas résoudre tel quel le problème car a et b sont des vecteurs unitaires et a et b sont perpendiculaires à a et b, il y a donc 2 équations redondantes (rang 4) et il faut donc un minimum de 2 mouvements de l'ensemble Robot+caméra correspondant à 2 torseurs caméra et 2 torseurs robot, pour pouvoir résoudre le problème. La nouvelle matrice correspondante sera la concaténation de ces deux matrices, elle ne pourra pas être plus que de rang 6. En eet, la présence des matrices skew symétriques dans Z engendre 2 colonnes linéairement dépendantes. Ce qui justie la nécessité de 2 contraintes supplémentaires, quadratiques ici. L'analogie entre cette description de la résolution du problème d'hand-eye calibration et notre soucis d'estimation de la pose à partir d'objets décrit par des droite est presque naturel. Il sut de remplacer la droite associée au torseur caméra (dont les partie translation et rotation n'apportent pas d'information supplémentaire pour la résolution du problème) par la droite vues couramment sur l'objet et la droite associée au torseur de l'eecteur à la même droite de l'objet mais vu dans sa conguration désirée. Le fait qu'y faille au minimum 2 mouvements de l'ensemble Robot+caméra pour Daniilidis se traduit ici par l'utilisation d'au moins 2 droites pour la description de l'objet rigide de référence de l'asservissement (au minimum deux non parallèles). N.B : A partir de ce point, la méthode d'estimation de la pose basée sur cette technique pourra être évoqué sous les titres de "Méthode de Daniilidis" ou encore "Méthode des Quaternions duaux" pour plus de commodité. 21

23 De même la méthode vue en basé sur le lemme d'umeyama pourra être évoquée sous le nom de "méthode d'umeyama". Figure 3.1: Résultats tirés de [2]. On retrouve en bleu les droites décrivant l'objet dans sa conguration désirée et en vert les droites éstimées de l'objet vu couramment. Voici l'algorithme de cette technique d'estimation de la pose par les moindres carrés en pseudo langage On construit la matrice Z, correspondant aux droites courantes et désirées On effectue la décomposition en valeurs singulières de Z La solution est une combinaison linéaire des deux vecteurs singuliers associés aux valeurs singulières les plus petites On trouve les deux coefficients de la combinaison linéaire à l aide des deux équations quadratiques restantes Figure 3.2: Principales étapes de la méthode d'estimation de la pose basée l'emploi des Quaternions Duaux 22

24 3.2 Schéma de comparaison à la solution actuelle basée sur le lemme d'umeyama Pour comparer ces deux algorithmes d'estimation de la pose, on va leur faire reconstruire des poses à partir d'ensembles de droites bruitées. Pour ce faire, on commence par créer un ensemble de N droites dans le repère par défaut R 0. Pour créer ces droites on construit deux points de l'espace, puis à partir de ces deux points on construit la matrice de Plücker correspondante. On forme ainsi un ensemble de N droites. On construit alors deux transformations notées T 1 et T 2 qu'on applique à l'ensemble des droites par défaut an d'en construire deux nouveaux. Figure 3.3: A partir de l'ensemble des droites initiales on construit deux nouveaux ensembles L'ensemble 1 correspond à l'ensemble des droites vues couramment et l'ensemble 2 correspond aux droites dans la conguration désirée. Notez que la création des points servant à dénir les droites est un processus aléatoire ainsi que la construction des transformations T 1 et T 2. An de simuler du bruit sur les droites, on les projetes dans les plans images du système de stéréovision, puis on applique un algorithme de bruitage sur les lignes projetées. Cet algorithme applique un bruit gaussien centré à chaque pixel constituant une droite image, puis les paramètres de la droite bruitée sont reconstruits à l'aide des moindres carrés. Après bruitage synthétique des droites projetées, on reconstruit les droites de l'espace par construction des matrices duales de Plücker associées aux droites images/projetées. Ce processus est décrit dans [6]. On ne bruite par contre pas les droites censées représenter celles-ci dans leur conguration désiré bien que cela soit le cas en pratique. Remarque : Il est nécessaire de bruiter les droites projetées et non celles de l'espace pour trois raisons. La première tient au fait que si l'on avait directement bruitée la matrice de Plücker cela n'en aurait plus été une car les vecteurs v et w n'auraient plus été orthogonaux. La deuxième est que cela nous permet de connaitre la transformation rigide optimale, ce qui nous permettra de pouvoir calculer des erreurs relatives. La troisième tient du fait que le bruitage des droites image simule bien plus précisément le bruit réel rencontré. On aurait très bien pu, au lieu de partir de droites de l'espace que l'on projetes, bruites et reconstruit, partir d'un ensemble de droites images, que l'on aurait bruité puis on aurait construit les droites de l'espace correspondantes. Le choix retenu tient à la facilité de construire des droites de l'espace avec lesquelles on peut mieux se représenter les choses et notamment comprendre les problèmes qui peuvent arriver lors du codage ainsi que de connaitre de manière simple la transformation rigide nominale entre ces ensembles. Les deux algorithmes sont alors chargés de retrouver la transformation rigide entre l'ensemble 1 bruité et l'ensemble 2 non bruité. 23

25 Construction d un ensemble {0} de droites dans le repère par défaut. Création de deux ensemble {1} et {2} pour les ensemble de droites courantes et désirées. Les droites de {1} sont projetées et leurs projections sont bruitées. On reconstruit l ensemble {1} des droites de l espace, bruitées. On lance les algorithmes d Umeyama et des Quaternions Duaux afin de trouver la transformation rigide entre {1} et {2} Figure 3.4: Résumé du processus de comparaison des algorithmes de la méthode d'umeyama et de la méthode des Quaternions duaux 3.3 Le problème de la Triangulation des droites Comme abordé au paragraphe précédent, il s'agit de la dernière étape avant de pouvoir estimer la transformation rigide entre les deux ensembles. Il s'agit de l'étape qui s'occupe, à partir des données images gauches et droites des droites, de reconstruire les coordonnées de Plücker des droites de l'espace. Cette étape, contrairement aux apparences, est la plus problématique et pose énormément de soucis comme nous allons le voir, ce qui a d'ailleurs poussé à étudier la faisabilité d'algorithmes d'estimation de la pose basés directement sur les données images et non plus les coordonnées de Plücker. Le premier problème découle du processus de reconstruction des coordonnées spatiales de la droite elle-même. Comme illustré ci-dessous dans la gure (4.5), l'expression mathématique de la reconstruction de la droite de l'espace peut s'interpréter physiquement comme l'intersection de deux plans, nommés (Pr) et (Pl) dans la gure (4.5). Ces deux plans sont formés pour chaque image, de la droite image et du centre de projection du plan image correspondant. 24

26 Figure 3.5: Schématisation du processus de reconstruction des coordonnées spatiales d'une droite Cette schématisation du processus de reconstruction rend maintenant plus clair l'existence de situations singulières pour ce processus. On peut citer notamment le cas où, la droite épipolaire, les axes optiques de gauche et droite formeraient un plan et que la droite de l'espace (Li) serait contenu dans ce plan, dans ce cas précis les deux plans (Pr) et (Pl) sont confondus et la reconstruction est impossible. Mais ce cas de gure pourrait être évité par une disposition judicieuse des 2 caméras. Un deuxième cas bien moins courant est celui d'une droite de l'espace alignée avec un des axes optiques des deux caméras, la projection est alors un point et lors de la reconstruction il est impossible d'utiliser ou (Pr) ou (Pl). Dans la pratique on ne tombera jamais réellement sur une singularité du processus de reconstruction mais l'on pourra assez fréquemment se rapprocher de l'une de ces situations et la reconstruction des coordonnées spatiales perd alors drastiquement en précision. Ce manque de précision sur la reconstruction des droites est l'un des facteurs clé du manque de stablité sur les paramètres de la pose estimé. La deuxième diculté dans la reconstruction des droites arrive après l'étape de reconstruction des coordonnées spatiales de la droite. Une fois celle-ci reconstruite, ou la matrice de Plücker correspondante, il reste à repréciser le bon facteur d'échelle et le bon signe pour la matrice de Plücker. En eet, si les droites actuelles et les droites désirées ne possèdent pas le même facteur d'échelle, la transformation entre les deux ensembles ne sera plus une transformation rigide mais une similitude. Ce premier point se résout facilement, il sut de xer le facteur d'échelle d'une manière qui se verra conservé par transformation rigide. Le choix qui a été fait a été de dénir le facteur d'échelle an de rendre le vecteur directeur de la droite correspondante unitaire. Ce choix est assez trivial et permet de plus d'appréhender plus facilement les résultats puisque dans ce cas la norme du deuxième vecteur de Plücker s'interprête comme la distance orthogonale de la droite à l'origine. Ce choix permet en outre d'exprimer facilement la vitesse de rotation Ω : v = Ω v Le problème est plus conséquent pour le choix du signe à aecter à la matrice de Plücker reconstruite et il n'a été que partiellement résolu, faute de temps. En eet, du signe des droites reconstruites va dépendre la faisabilité de pouvoir trouver une transformation rigide ou non entre les ensembles de droites actuelles et désirées. An de pouvoir reconstruire ce signe sur la droite reconstruite il va falloir utiliser des informations entre les diérentes droites actuelles reconstruites et celle désirées, informations qui devront être invariantes par transformation rigide. L'une de ces informations, conservé par transformation rigide, est le produit scalaire. L'algorithme de reconstruction du signe est alors le suivant : 1 On reconstruit Les matrices de Plücker des droites désirées, on xe le facteur d'échelle de manière à avoir le vecteur directeur de la droite unitaire et on laisse le signe de la matrice tel quel, considéré désormais comme xé. 2 On reconstruit la première droite de l'ensemble des droites actuelles. Pour celle-ci on xe correctement le facteur d'échelle et on laisse le signe inchangé. 3 A partir de la reconstruction de la deuxième droite actuelle, on xe son facteur d'échelle correctement, puis, pour choisir son signe, on va comparer le signe du produit scalaire entre les vecteurs directeurs de cette droite et de la première droite actuelle reconstruite avec celui du produit scalaire entre les deux vecteurs directeurs 25

27 des deux droites désirées correspondantes. Si ces signes ne sont pas les mêmes on devra inverser le signe de la matrice de Plücker reconstruite, dans le cas contraire on le laisse inchangé. De cette manière, il reste une ambiguïté sur le signe général de l'ensemble des droites reconstruites. En eet comme le signe de la première droite est choisi arbitrairement, si celui-ci est mauvais, le signe de chacune des autres droites reconstruites sera mauvais. La gure (4.6) illustre l'ambiguïté laissée par le produit scalaire. Figure 3.6: Schématisation de l'ambiguïté du signe sur les droites reconstruites Cette ambiguïté est en eet problématique, puisque l'ensemble reconstruit peut être le symétrique du bon ensemble, or la symétrie n'est pas une rotation dans l'espace. De cette manière il se pourra que cette ambiguïté conduise à reconstruire des ensembles pour lesquels il est impossible de trouver une transformation rigide. An de lever l'ambiguïté, l'idée est de comparer le signe du produit mixte (ou déterminant) des trois premiers vecteurs directeurs de l'ensemble reconstruit des droites actuelles au produit mixte de leur correspondantes dans l'ensemble des droites désirées. En eet, le produit mixte, qui pourrait être imagé par l'obtention d'un chire positif dans le cas d'un trièdre direct et négatif dans le cas d'un trièdre indirect, est conservé par transformation rigide, donc comparable entre des droites des deux ensembles actuelles et désirées, et son signe n'est pas conservé par symétrie centrale. Il s'agit donc de l'outil naturel répondant à ce problème. Néanmoins cette technique nécessite un minimum de trois droites, or, seules deux droites sont nécessaires aux algorithmes d'estimation de la pose. Faute de temps, une autre technique pour lever cette dernière ambiguïté n'a pas pu être trouvé à partir de la connaissance de seulement deux droites. Il y a eu des pistes intéressantes comme l'essai de la construction d'une troisième droite à partir des deux premières ou encore l'utilisation de la deuxième coordonnée de Plücker, mais celles-ci n'ont pas abouti. 3.4 Résultats de la comparaison Les deux algorithmes retournent tous deux la matrice de transformation homogène. An de donner un sens aux valeurs de cette matrice on extrait la translation, qui pourra être comparée telle quelle. La matrice de rotation ne peut pas être comparée telle quelle. Il faut commencer par extraire les informations de rotation pour pouvoir eectuer une comparaison qui ai du sens. Cela peut être fait de plusieurs façon, on peut extraire les angles aéronautiques, les angles d'euler ou encore la représentation angle/axe. C'est cette dernière représentation de la rotation qui a été choisie puisque celle-ci ne possède qu'une seule singularité, bien établie, pour un angle de π. Une fois celle-ci obtenue on réécrit encore les composantes du vecteur axe dans le repère R(ρ, φ, θ) sphérique an d'obtenir une représentation plus parlante en termes d'erreur sur l'axe de rotation. Puisqu'il existe au moins deux manières populaires de dénir les coordonnées sphériques voici l'illustration de celle qui a été retenue. 26

28 Figure 3.7: Illustration du système de coordonnées sphérique choisie Après 100 essais utilisant un objet décrit par 3 droites, reconstruites à partir de droites images constituées de 256 pixels et dont chacune a été bruitée avec un bruit gaussien centré d'écart type 0.5, on obtient les résultats suivants : Umeyama Dual Quaternions Umeyama Dual Quaternions Relative error in angle Relative error in phi Test indice Test indice Figure 3.8: Comparaison de l'erreur relative sur l'angle. Erreur relative sur l'angle en ordonnée, indice du test en abscisse. Figure 3.9: Comparaison de l'erreur relative sur φ. Erreur relative sur φ en ordonnée, indice du test en abscisse. 27

29 Umeyama Dual Quaternions Umeyama Dual Quaternions Relative error in theta Relative error in Tx Test indice Test indice Figure 3.10: Comparaison de l'erreur relative sur θ. Erreur relative sur θ en ordonnée, indice du test en abscisse. Figure 3.11: Comparaison de l'erreur relative sur Tx. Erreur relative sur Tx en ordonnée, indice du test en abscisse Umeyama Dual Quaternions Umeyama Dual Quaternions Relative error in Ty Relative error in Tz Test indice Test indice Figure 3.12: Comparaison de l'erreur relative sur Ty. Erreur relative sur Ty en ordonnée, indice du test en abscisse. Figure 3.13: Comparaison de l'erreur relative sur Tz. Erreur relative sur Tz en ordonnée, indice du test en abscisse. Qu'il s'agisse de la translation ou de la rotation, l'algorithme des Quaternions Duaux se montre nettement moins performant. La diérence est néanmoins moins signicative pour les composantes de la translation. Cela est dû au manque de précision actuelle de l'algorithme d'umeyama. On note la présence de pics d'erreurs pour les deux algorithmes. Néanmoins l'algorithme basé sur les quaternions duaux en présente de beaucoup plus forts et tout particulièrement pour la rotation. La présence de ces pics possède deux explications. La première vient du processus de triangulation des droites 3D qui possède des singularitées et donc des chutes de précision lorsque l'on les approches. La deuxième vient probablement du fait que le bruit sur les coordonnées de Plucker des droites, qui sont en fait les données d'entrées des algorithmes d'umeyama et des Quaternions Duaux, n'est pas gaussien centré mais est de nature hétéroscédastique, malgré le fait que le bruit sur les pixels composants les acquisitions soit lui gaussien centré. Nous verrons cela dans le détail dans le chapitre suivant. (voir sections 5.1 et 5.2). 28

30 Statistiques obtenues pour un bruit sur les pixels d'écart-type 0.5 A partir des diérents résultats achés ci-dessus on construit une statique de ces dernières sous matlab proposant pour chacune des grandeurs sa moyenne ainsi que son écart-type sur 100 essais : Figure 3.14: Statistiques de la moyenne sur les diérentes erreurs relatives. Figure 3.15: Statistiques de l'écart-type sur les diérentes erreurs relatives. Statistiques obtenues pour un bruit sur les pixels d'écart-type 1 Figure 3.16: Statistiques de la moyenne sur les diérentes erreurs relatives. 29

31 Figure 3.17: Statistiques de l'écart-type sur les diérentes erreurs relatives. En observant les statistiques découlant de 100 tests on s'aperçoit que par simulation la méthode basée sur Umeyama est plus précise d'un facteur 10 pour la rotation et que sur les diérentes composantes de la translation les résultats sont similaires voir pire notamment suivant T x. Même constat au niveau des variances. Les résultats ne sont donc pas ceux ésperés mais il ne faut pas oublié qu'ils sont théoriques et qu'il a été supposé que le bruit sur les mesures soit gaussien centré, ce qui n'est pas évident en pratique comme nous allons le voir dans la prochaine partie. La comparaison des statistiques obtenues pour les tests menés avec un bruit sur les pixels composant les droites images de 0.5 pixel d'écart-type et ceux menés avec un bruit de 1 pixel d'écart-type nous montre que la précision est dégradé et que l'on perd sur certaines composantes plus de la moitié de la précision. C'est cette constatation d'une si forte et non-linéaire dépendance au bruit des deux algorithmes qui a poussé en premier lieu à la partie suivante qui va s'eorcer de mieux prendre en compte le bruit sur les mesures lors de l'estimation des paramètres de la pose. 30

32 Chapitre 4 Meilleure prise en compte du bruit dans l'estimation de la pose 4.1 Le bruit dans les problèmes linéaires par rapport aux paramètres Dans le cas le plus général, un modèle d'un phénomène physique met en liaison un certain nombre de variables mesurables x i0 R q et un certain nombre de paramètres constants du modèle θ R p. Il peut également y avoir des inéquations mais nous oublierons celles-ci car elles ne nous intéressent pas dans le cadre de notre étude. En restant toujours général, les équations peuvent se présenter sous forme implicite et forment un système d'équations, tel que : Avec x i = x i0 + δx i δx i GI(0, σ 2 C x ) φ(x i0, θ) = 0 i = 1,.., n φ R m (4.1) Dans de nombreux problèmes, et notamment de vision par ordinateur, ces équations liées aux modèles employés, sont linéaires par rapport aux paramètres du modèle où le système d'équations se réécrit alors φ(x i0, θ) = Z(x i0 )θ Z R m p (4.2) Les méthodes basées sur les moindres carrés retournent alors pour solution le vecteur propre correspondant à la plus petite valeur propre de S = Z T i Z i et celles-ci ne retournent la valeur optimale que si les éléments de Z i subissent un bruit indépendant gaussien centré. Notons Z kl i un élément de Z i et étudions sont développement de Taylor à l'ordre 1 : Z kl i = Z kl i0 + Zkl i x i0 révèle que le bruit δz kl i T (x i x i0 ) (x i x i0 ) T H kl i0 (x i x i0 ) = Z kl i0 + δz kl i (H matrice Hessienne) (4.3) a pour moyenne et pour variance au premier ordre : µ kl i = σ2 2 tr[c xh kl i0 ] (4.4) σ 2 Z kl i = Zkl T i Zi kl C x (4.5) x i0 x i0 Il apparait clairement qu'en fonction du modèle, des mesures entachées d'un bruit gaussien peuvent conduire à des éléments de la matrice Z i biaisés et de variance variant en fonction du point de mesure. Ce type de bruit est 31

33 appelé hétéroscédastique. On rappelle maintenant le modèle utilisé pour calculer l'estimation de la pose par la méthode basée sur Daniilidis [ a b [ a + ] [ ] b] 0 3x1 0 3x3 q a b [ a + b ] a b [ a + b] q = 0 (4.6) et le modèle utilisé pour l'estimation de la translation dans la méthode basée sur le lemme d'umeyama où s t s est le vecteur inconnu et H s t s = Q (4.7) H = ([v 1] [v 2]... [v N ] ) T (4.8) la matrice H est constante et l'on a q j = s R s w j (t) w j. On peut réécrire cette équation sous la forme homogène suivante : Q = (q T 1 q T 2... q T N) T (4.9) [ ] [ ] α s t H Q s = 0 (4.10) α C'est donc désormais l'étude des composantes de Z i suivant les modèles qui déterminera si nous aurons aaire à un bruit hétéroscédastique et peut être à des biais sur les paramètres recherchés. Les moindres carrés seraient une méthode optimale si le bruit sur les composantes de Z i était normal centré, mais ce n'est pas une approximation très proche de la réalité pour notre problème d'estimation de la pose par un système de stéréovision, comme nous allons le voir maintenant. 4.2 Critique du modèle de bruit normal non biaisé sur les pixels composant les droites images Un modèle de bruit normal non biaisé sur les droites images, c'est à dire sur les coordonnées des vecteurs directeurs, sous-entend un bruit normal centré sur les pixels qui composent ces droites. En eet, points composant une droite et vecteur des paramètres de la droite sont des valeurs duales. Chaque pixel (x, y) vérie ax + by + c = 0. En prenant plusieurs mesures on obtient : x 1 y a b = 0 (4.11) x n y n 1 c On peut déterminer le vecteur directeur à l'aide des moindres carrés, méthode qui n'est optimale seulement si le bruit sur les éléments de Z i est normal non biaisé, bien que ce modèle de bruit sur les pixels soit loin de la réalité. Pour ce qui est des coordonnées de la droite de l'espace correspondante, coordonnées qui sont réellements utilisées pour les calculs d'estimation de pose par les 2 algorithmes, elles sont données par les équations : v (M T r l r M T l l l ) (4.12) w (M T l l l M T r lr) (4.13) Le facteur d'échelle est xé en normalisant v. On rappelle que ces équations ont déjà été abordées dans la seconde partie de l'étude bibliographique en (3.3). 32

34 Ces calculs changent totalement la nature du bruit sur les composantes de la droite 3D. Le produit vectoriel pour v, par les multiplications sur les termes des vecteurs, entraine des produits de gaussiennes. De plus le fait de normaliser les vecteurs v et w par la norme de v entraine clairement des calculs lourds et non-linéaires. Il est important de noter qu'au vu de l'étude précédente et tout particulièrement des équations 5.4, 5.5, 5.12 et 5.13, on voir que le bruit présent sur les coordonnées de Plucker d'une droite est hétéroscédastique malgré le fait que le bruit les pixels acquis n'est que simplement gaussien centré. Cette propriété explique en grande partie la mauvaise stabilité des estimations de pose avec les algorithmes actuelle, que ce soit sur la gure 1.1 ou lors des simulations en (4.4). Nous allons maintenant revoir l'hypothèse du bruit gaussien centré sur les pixels composants les droites images. Figure 4.1: Illustration du ou présent naturellement dans une image. freakyfresh.fr. L'image (5.1) illustre le ou naturellement présent dans les photos et dû à la profondeur de champ, qui est nie. Ce bruit est naturellement présent même dans les conditions d'acquisition les plus favorables, pas de smearing, éclairage uniforme etc. A travers ce simple exemple on imagine très bien que le bruit est fonction des coordonnées x,y dans l'image mais aussi et surtout de la distance Z par rapport à la caméra. Nous avons ici les caractéristiques d'un bruit hétéroscédatique. Une solution pourrait consister en une contrainte supplémentaire qui imposerait l'utilisation d'objets d'intérêt plans sur lesquels ont eectuerait la mise au point. Néanmoins cette hypothèse contraignante supprime par la même un des grands avantages des systèmes stéréo qui est leur capacité à traiter des objets tridimensionnels. Nous aurons donc un bruit doublement complexe pour les algorithmes d'umeyama et des Quaternions Duaux sur le système réel. Une première complexité résultant d'une part d'un bruit sur les pixels composant l'acquisition, naturellement hétéroscédastique, comme montré dans cette section. Une deuxième complexité venant des équations non-linéaires de triangulation des droites 3D (voir 5.12 et 5.13) qui comme démontré en 5.1, complexient le bruit. L'algorithme HEIV évitera lui une des deux dicultées puisqu'il utilise directement les droites images et non les coordonnées de Plucker. Néanmoins, il faudrait encore lui fournir un modèle n du bruit hétéroscédastique naturellement présent dans les acquisitions pour obtenir des performances optimales sur le système réel. Chose que l'on observera dans le chapitre 6. 33

35 4.3 Adaptation de la Méthode d'umeyama à HEIV Il est important de repréciser que pour pouvoir utiliser l'algorithme HEIV(Heteroscedastic Errors in Variables), le modèle dont on recherche les paramètres doit être factorisable par rapport à ces derniers. L'algorithme peut éventuellement prendre en compte des contraintes secondaires mais cela ne nous intéresse pas pour le moment dans le cadre de l'adaptation de l'algorithme basé sur le lemme d'umeyama. Pour la partie rotation, il ne va plus être possible d'utiliser le lemme d'umeyama. Il existe néanmoins une autre solution qui pour l'estimation de la rotation propose un modèle qui se prête à l'algorithme HEIV. Cette solution est basée sur l'utilisation des quaternions. On peut retrouver cette solution assez rapidement en prenant les 3 premières équations issues du modèle de Daniilidis pour l'estimation de la pose, on trouve alors : [ a b [ a + b] ] [q ] = 0 (4.14) Et fait remarquable, en utilisant l'équation (3.12) on peut réecrire l'équation matricielle (5.14) comme [ det(mr )Mr 1 ( s Ωa s Ωb ) ] [ ] Mr T [ s Ωa + s Ωb ] M r q = 0 (4.15) Avec s Ωi ne faisant pas intervenir la calibration des caméras dans son calcul mais uniquement l'homographie à l'innie, plus facile à estimer de manière précise. M r quand à lui est imposé par l'utilisateur et déni en quelque sorte l'orientation du repère stéréo par rapport au repère caméra de droite. L'estimation de la rotation utilisant l'équation matricielle précédente sera donc indépendante de la calibration des caméras. En ce qui concerne l'estimation de la translation, l'équation ci-dessous, issue des travaux de F. Alkhalil dans [6], se prête à l'algorithme HEIV [ ] [ ] α s t H Q s = 0 (4.16) α La résolution sera donc, comme pour la méthode basée précédemment sur Umeyama, faite en 2 parties. Dans un premier temps une estimation de la rotation par HEIV. Puis dans un deuxième temps une estimation de la translation toujours par l'algorithme HEIV. 4.4 Comparaison entre la Méthode basée sur Umeyama et son Adaptation à HEIV par Simulation l'algorithme HEIV (décrit sommairement en gure 5.11), est à la base une méthode d'optimisation sans contraintes qui a été étendue par la suite, et qui s'attèle à retirer itérativement le biais et à réduire la forte variance du bruit sur les paramètres à estimer dû au bruit hétéroscédastique. En conséquence il est donc préférable de lui soumettre des systèmes de petite dimension an de limiter le nombre d'itérations, leur temps de calcul ainsi que les minimums locaux. Il converge très rapidement, entre 2 ét 4 itérations sont seulement nécessaires à comparer aux 200 à 300 itérations pour le même problème avec Levenberg-Marquardt(L-M) (données issues de [9]) bien qu'une itération d'heiv soit bien plus conséquente en temps de calculs. On peut attendre un gain d'un facteur 10 au niveau du temps de calcul par rapport à L-M. La comparaison présentée ici a été eectué sous Matlab avec les mêmes conditions de bruit que pour la comparaison entre les algorithmes basés sur Umeyama et les Quaternions duaux en (4.4). Après 100 essais utilisant un objet décris par 3 droites, reconstruites à partir de droites images constituées de 256 pixels et dont chacun à été bruité avec un bruit gaussien centré d'écart type 0.5, on obtient les résultats suivants : N.B : Contrairement à la simulation précédente, cette fois-ci les droite actuelles ET désirées ont été bruitées. Cela car l'algorithme HEIV ne se base pas directement sur les vecteurs de Plücker mais de l l et l r les droites images de gauche et droite. Possibilité permise par le fait qu'heiv est à la base un algorithme généraliste de traitement des problèmes d'optimisation. La simulation se rapproche donc un peu plus de la réalité. Il est encore très important 34

36 de bien préciser que l'emploi de l l et l r avec HEIV au lieu des coordonnées de Plücker v et w permet de souer une certaine sensibilité aux erreurs de calibration des caméras et de la reconstruction des droites Umeyama Umeyama HEIV Umeyama Umeyama HEIV Relative error in angle Relative error in phi Test indice Test indice Figure 4.2: Comparaison de l'erreur relative sur l'angle. Erreur relative sur l'angle en ordonnée, indice du test en abscisse. Figure 4.3: Comparaison de l'erreur relative sur φ. Erreur relative sur φ en ordonnée, indice du test en abscisse Umeyama Umeyama HEIV Umeyama Umeyama HEIV 0.35 Relative error in theta Relative error in Tx Test indice Test indice Figure 4.4: Comparaison de l'erreur relative sur θ. Erreur relative sur θ en ordonnée, indice du test en abscisse. Figure 4.5: Comparaison de l'erreur relative sur Tx. Erreur relative sur Tx en ordonnée, indice du test en abscisse. 35

37 Umeyama Umeyama HEIV Umeyama Umeyama HEIV Relative error in Ty Relative error in Tz Test indice Test indice Figure 4.6: Comparaison de l'erreur relative sur Ty. Erreur relative sur Ty en ordonnée, indice du test en abscisse. Figure 4.7: Comparaison de l'erreur relative sur Tz. Erreur relative sur Tz en ordonnée, indice du test en abscisse. On note que les pics d'erreurs sur la rotation on été drastiquement réduits avec l'utilisation d'heiv. Bien que la performance soit positive également pour les composantes de la translation, la performance est toutefois limité par rapport aux excellents résultats obtenus sur les composantes de la rotation. On peut expliquer au moins en partie ce déclin de performance par le fait que l'algorithme HEIV, tout comme pour celui d'umeyama, eectue son estimation en deux temps, avec une estimation de la translation qui se base sur celle précédente de la rotation et de la réutilisation des données d'entrée. On a donc un cumule des erreurs et on retrouve la première faiblesse de l'algorithme d'umeyama. Voici les statistiques issues des 100 tests ci-dessus. Figure 4.8: Statistiques de la moyenne sur les diérentes erreurs relatives. 36

38 Figure 4.9: Statistiques de l'écart-type sur les diérentes erreurs relatives. On constate visuellement sur le tracé des erreurs relatives, et cela est conrmé par les statistiques, que les variances sur les composantes de la rotation ainsi que sur celles de la translation sont fortement réduites, typiquement d'un facteur 2 à 3, voir plus pour la composante θ. Notez bien que lorsqu'uemyama présente des "pics", HEIV est beaucoup moins sensible et tout particulièrement pour les composantes de la rotation. Cela est en partie dû au fait qu'au vu de la structure de l'algorithme HEIV, il a été possible de partir directement des paramètres des droites images de gauche/droite appariées pour faire l'estimation de la pose ce qui est impossible avec Umeyama et les Quaternions Duaux qui nécessitent l'étape de reconstruction des droites de l'espace. Les coordonnées de Plücker des droites 3D (et donc la reconstruction des droites de l'espace et les paramètres de calibration) interviennent également dans l'algorithme HEIV mais de manière indirecte, dans des calculs de Jacobiennes. Les résultats présentés ici ne sont qu'une première étape. En eet, l'algorithme HEIV pour ses calculs se base sur la matrice de Covariance des paramètres d'entré utilisés, en l'occurrence nous utilisons comme dit plus tôt, directement les paramètres des droites images. Des tests sous Matlab ont montré que la abilité de cette matrice de covariance n'inue pas grandement sur la précision des résultats dans le cas d'un bruit gaussien sur les pixels, reste a voir si cela est encore le cas en pratique avec un bruit hétéroscédastique. Néanmoins cette matrice de covariance joue sur le nombre d'itérations nécessaires à la convergence. En eet, pour une matrice de covariance proche de la réalité l'algorithme nécessite typiquement 2, voire 3 itérations pour converger contre 3 à 5 lorsque l'on muliplie ces variances par 10, ce qui n'est pas négligeable pour un calcul de commande d'asservissement puisque qu'une itération d'heiv est très gourmande en calculs. Nous obtenons donc les résultats espérés pour le moment quant à la méthode HEIV et qui pointent vers la prochaine étape qui est celle de la confrontation des diérents algorithmes à la réalité, où l'on espère comme attendu, réduire la variance, notamment sur l'estimation de la pose en n d'asservissement. (voir gure 1.1) 4.5 Travail d'adaptation à HEIV de la Méthode basée sur les Quaternions Duaux A première vue la méthode basée sur les quaternions duaux semble être facilement adaptable avec, on le rappelle, au coeur de l'estimation de la pose, la résolution de l'équation matricielle ci-dessous, linéaire par rapport aux paramètres recherchés : [ a b [ a + ] [ ] b] 0 3x1 0 3x3 q a b [ a + b ] a b [ a + b] q = 0 (4.17) Mais il faut ensuite que l'espace des solutions retournées satisfasse encore 2 contraintes secondaires quadratiques à prendre en compte an de trouver une solution unique : q = 1 et qq = 0. Malgré l'enthousiasme de l'article [9] à gérer des contraintes secondaires non-linéaires, la tâche s'avoue délicate en réalité. Pour le comprendre il faut 37

39 rentrer un peu plus en détail dans le fonctionnement de l'algorithme HEIV. Le principe de l'algorithme est exposé ci-dessous en gure L'expression des matrices S(θ i ) et C(θ i ) peut être retrouvé dans l'article [9] à la page 4. L'étape posant problème est celle de la projection itérative de la nouvelle solution (θ i+1 ) sur l'hypersurface dénie par le système de contraintes non-linéaires. Ce système s'écrit sous la forme τ(θ) = 0 Construction d une solution initiale, par l utilisation des moindres carrés par exemple Evaluer les matrices Projeter itérativement la nouvelle solution sur l hypersurface défini par le système de contraintes secondaires non-linéaires Résoudre le problème de valeurs propres généralisées est le vecteur propre généralisé correspondant à la valeur propre la plus petite Figure 4.10: Principe de l'algorithme HEIV. 38

40 Figure 4.11: Etape de projection de la nouvelle solution sur l'hypersurface déni par le système de contraintes secondaires sur la solution. Aucun problème dans l'implémentation de l'algorithme n'a été relevé jusqu'à présent et il y a actuellement deux pistes pour la poursuite de ce travail : 1. La meilleure manière de savoir si l'implémentation n'est pas exempte de bug serait d'implémenter HEIV pour un des exemples de l'article [9] où le problème présente également des contraintes secondaires non-linéaires et de voir si, dans son implémentation actuelle, l'algorithme peut venir à bout du problème. 2. Séparer la matrice (5.17) en deux blocs de 3x8 et eectuer l'estimation en 2 étapes. Le premier bloc serait composé des 3 premières lignes de la matrice et pourrait se mettre sous la forme [ det(mr )Mr 1 ( s Ωa s Ωb ) ] [ ] Mr T [ s Ωa + s Ωb ] M r q = 0 (4.18) Comme discuté en 5.3 et permettrai d'estimer la rotation grâce à HEIV, de la même manière que pour l'adaptation d'umeyama à HEIV. Le deuxième bloc serait composé des 3 dernières lignes et q y serait alors désormais considéré comme une constante et l'équation secondaire qq = 0 (voir section 2.4.2) auparavant non-linéaire n'est désormais qu'une simple équation linéaire incorporable à la matrice. On obtient alors l'équation matricielle [ a b [ a + b] ( a b [ a + b ] [ ] ] )q αq = 0 (4.19) q 0 α Que l'on peut, comme en 5.3 et grâce à l'équation (3.13), ramener à [ ] [ ] det(mr )Mr 1 ( s Ωa s Ωb ) Mr T [ s Ωa + s Ωb ] M r (Mr T ( s µa s µb ) det(m r )Mr 1 [ s µa + s µb ] )Mr T q αq = 0 (4.20) q 0 α Qui ne dépend aussi que de la calibration ane des du système stéréoscopique et peut se résoudre avec HEIV. Notez après adaptation la ressemblance entre Umeyama pour HEIV et les Quaternions Duaux pour HEIV, l'estimation se fait en 2 étapes, la première étant la même et la deuxième se basant pour les 2 sur une équation homogène. On notera également le rapprochement possible avec la programmation SQP (Semi-denite Quadratic programming) Ce problème serait l'un des enjeux clé si ce travail venait à être poursuivi ultérieurement car présentant autant un intérêt pour ce problème spécique que pour une vaste étendue de problèmes que l'on pourrait résoudre par ce biais si l'on peut eectivement adapter l'algorithme à des contraintes secondaires non-linéaires. 39

41 Chapitre 5 Expérimentation des travaux en situation réelle sur un robot industriel 5.1 Structure des tests de validation du travail en situation réelle L'implémentation en C sous Linux Temps Réel mou des algorithmes d'umeyama, celui basé sur Umeyama adapté à HEIV (abrégé HEIV par la suite) ainsi que l'implémentation de l'asservissement peuvent présenter dans un premier temps des bugs. A n de limiter les risques humains et de casse de matériel il est très important de ne commander le robot qu'à partir d'algorithmes dont la robustesse a été éprouvé. Pour cela les tests ont été divisés en 2 parties : Figure 5.1: Une con guration de la cellule robotisée observant l'objet d'intérêt. 1. Dans un premier temps il s'agira de tester la performance et la robustesse des algorithmes d'estimation de la pose. Pour réaliser cela et éviter de perdre trop de temps en manipulations du robot pour cette partie qui ne le recquière pas on se contentera de placer le robot dans 3 con gurations di érentes et pour chacune on réalisera 10 acquisitions avec le système stéréoscopique. De cette manière on pourra obtenir 3*10 résultats d'estimation voir 3*10*10 résultats d'estimation en utilisant toutes les combianaisons possibles d'images, ce qui est largement su sant pour tester le bon fonctionnement des algorithmes d'estimation de la pose et même obtenir les premières statistiques des performances de ces algorithmes. On rappelle que le but premier est de tester la stabilité des estimations, c'est pour cette raison que pour chacune des 3 con gurations du robot l'on a e ectué 10 acquisitions d'images. On pourra donc calculer pour 40

42 chacune des combinaisons de 2 con gurations parmi les 3 disponibles l'écart-type sur les composantes des 10 à 100 transformations rigides possibles à estimer et les comparer pour les 2 algorithmes. Puisque la calibration n'est que très grossière il sera par contre inutile pour le moment de chercher a comparer la précision obtenue par les 2 algorithmes, étapes qui nécessiterai l'utilisation du modèle géométrique du robot ainsi que des informations des codeurs de chaque axe. Figure 5.2: Une deuxième con guration de la cellule robotisé observant l'objet d'intérêt. 2. Dans un second temps, alors que la partie estimation de la pose a été testé, débuggé et robusti é, il va s'agire de tester l'asservissement visuel 3D de manière générale. Il s'agit de la partie la plus risquée puisqu'une partie du débogage du code ne pourra se faire qu'avec l'exécution sur le robot. Néanmoins un grand nombre de gardes fous sont présents pour éviter les incidents. Une barrière optique empêchant à toute personne d'accéder à l'espace de travail du robot lorsque celui-ci est en fonctionnement, des sécuritées logicielles et matérielles : 3 boutons d'arrêts d'urgence dont un toujours à porté de main de l'utilisateur, des butées logicielles et une limitation de la vitesse du robot pour ne citer que quelques exemples. L'asservissement visuel qu'il soit basé image ou 3D nécessite une référence comme pour tout asservissement. Il y a 2 manières classique de l'obtenir : (a) La référence peut découler d'une acquisition d'images stéréoscopiques qui vont servir à évaluer le vecteur d'état de référence. Dans le cas des asservissements visuels basés 3D, les 2 images vont servir à reconstruire les informations 3D nécessaires au calcul du vecteur d'état. Dans le cas des asservissements visuels basés images il y a possibilité de ramener les informations visuelles des 2 plans images dans un troisième plan image virtuelle créé de toute pièce, un plan image stéréo. Cette façon de procéder présente de multiples avantages sur lesquels nous ne reviendront pas car abordés dans la seconde partie de l'étude bibliographique traitant du suivi d'objets déformables. (b) La référence peut également être construite manuellement, à partir de la construction virtuelle de l'image souhaitée pour les asservissements basés images ou sur l'indication d'une transformation rigide relative du repère caméra pour les asservissements basés 3D. Dans le cadre des asservissements visuels 3D, seule la première manière nous intéressera, pour plusieurs raisons. Dans la réalité des faits il s'agit de la méthode la plus employée. En e et on traite souvent d'objets d'intérêt de géométrie inconnue et on veut placer le robot de telle manière à pouvoir interagir avec ce-dernier (le saisir etc..) le robot pourra alors le percevoir sous n'importe quel angle, il ne pourra pas "calculer" de quelle manière se déplacer pour le voir dans la con guration qu'il souhaite pour interagir. Il y aura forcément, et cela est très courant, une phase d'apprentissage consistant à cartographier l'objet sous tous ses angles et notamment dans les con gurations propices à certaines interactions. La mise en route de l'asservissement se fera donc schématiquement en 3 étapes (voir gure 6.3). L'objectif sera alors, avec une calibration grossière, de véri er la baisse de la sensibilité au bruit, notamment en n 41

43 d'asservissement (voir gure 1.3). Malheureusement faute de temps cette dernière étape de validation nécessaire de l'algorithme HEIV n'a pas pu être conduite par mes soins. Phase d apprentissage: {Robot+Caméra} dans une configuration n 0. Acquisition stéréo de la référence et construction des informations 3D nécessaire au vecteur d état Déplacement du système {Robot+Caméra} dans une configuration n 1 Début de l asservissement Figure 5.3: Les 3 étapes de mise en route de l'asservissement visuel 3D. 42

44 Déroulement des programmes de tests Etapes communes aux 2 tests Etapes spécifiques au test n 1 Acquisition synchronisée des images de gauche/droite Equalisation d Histogramme puis Extraction du/des Contour(s) du/des objet(s) d intérêt par un filtre de Canny-Deriche Etapes spécifiques au test n 2 Affinement du Contour On Regroupe les points du contour appartenant à une même Droite (gradient pointant dans la même direction) Appariement des droites images dans les plans images de Gauche et Droite Appariement des droites de l espace Actuelles et Désirées à partir de 2 prises de vues effectuées pour 2 configurations du robot. Appariement des droites de l espace Actuelles et Désirées à partir de 2 prises de vues effectuées aux configurations actuelle et désirée du robot. Estimation de la Pose par l un des 2 algorithmes Calcul d un nouveau pas de l asservissement et Envoi de la commande au Robot Figure 5.4: Organigramme des 2 tests réalisés. En Noir on retrouve la partie commune aux 2 algorithmes, en Bleu la partie spécique au test n 1 et en Rouge celle spécique au test n 2. Avant de discuter les résultats des tests il reste à présenter deux points qui ont nécessité un travail particulier lors de ce stage : Les étapes d'appariement stéréoscopique des droites images extraites et l'etape d'appariement des droites de l'espace dans leurs congurations actuelles et désirées. 43

45 5.2 Le problème de l'appariement Stéréoscopique des droites Il existe des méthodes ayant fait leur preuves concernant l'appariement stéréoscopique des données, c'est à dire l'appariement des données dans les plans images de gauche et de droite. Celles-ci se basent souvent sur des procédés lourd en calculs comme des produits de corrélation, car voulant, dans le cas général, apparier tous les pixels. Le code mis en place visant à réaliser un asservissement numérique, plus le temps de calcul nécessaire an d'établir la nouvelle commande sera faible plus la dynamique possible de l'asservissement sera élevé (dépendant encore de la modélisation du système physique sur lequel agit la commande). Dans cette optique et puisque les données à apparier, des droites, sont des objets à l'information modérément complexe, nous avons voulu mettre au point un nouvel algorithme d'appariement dédié spéciquement aux droites. Première initiative Lors de la première tentative, l'idée a été de chercher quelles informations sont conservées intrinsèquement, selon les lois de la géométrie, entre les 2 images. Puisque la transformation entre les deux plans images est une Homographie, on sait que les points d'intersections vont être conservés. Or, dans notre cas, l'extraction N(N 1) des N droites images fourni 2 points d'intersections (CN 2 intersections possibles), certains correspondent à des points d'intersections physiques présents dans la géométrie observée, d'autres sont virtuels. A partir de ce constat, la clé de voute de l'algorithme a été de mettre en correspondance les points d'intersections en utilisant la contrainte épipolaire x right F x left = 0 qui fournit une équation implicite reliant les points images de gauche et droite. Puisque le nombre de points d'intersections est limité, an de les appariés il surait de prendre un point d'intersection de l'image de gauche x left et de tester la relation ci-dessus avec tous les points d'intersections x right. Le point x right correspondant serait alors celui minimisant la contrainte epipolaire. Figure 5.5: Les points d'intersections réels sont ceux observés physiquement sur la géométrie observée (les points limites des extrêmités des segments de droites, en rouge ici. Mais ce raisonnement possédait une faille. En eet, ce raisonnement sous-entend que la contrainte épipolaire est une contrainte susante à l'appariement des points, alors qu'en réalité elle s'avère n'être qu'une contrainte nécessaire. La meilleure preuve a été celle apportée lors des tests de l'algorithme. Lorsque la géométrie vue par la caméra présentait une des lignes extraites comme une droite horizontale dans le plan image d'une des caméras, le programme retournait un résultat erroné car ne pouvait pas choisir entre deux points d'intersections, ceux formants les extrémitées de cette droite image vue horizontalement dans le plan image. En eet, le système stéréoscopique utilisé est composé de deux caméras montées de telle sorte que leurs axes optiques sont parallèles. En fait les caméras sont montées de telle sorte que l'on peut passer de l'une à l'autre avec un mouvement de translation uniquement. Cette particularité engendre le fait que les droites épipolaires associées aux points images sont des droites horizontales dans les plans images. En eet, si l'on prend la droite épipolaire de gauche, celle-ci passe par le point correspondant dans le plan image de droite et l'épipole de droite. L'épipole de droite étant déporté à l'inni en raison de la conguration des caméras, la droite épipolaire devient une ligne horizontale. On peut se faire une idée intuitive du phénomène en observant que les épipoles sont déportés à l'inni lorsque les axes optiques des 2 caméras deviennent parallèles sur la gure (4.5). 44

46 Figure 5.6: Situation concrète où l'algorithme se révèle impossible à corréler les points d'intersections. Une des droites du triangle est vue horizontalement dans les plans images. La contrainte épipolaire entre points de droite et gauche x right F x left = 0 peut encore se réécritre x right l xleft = 0 avec l xleft la droite épipolaire de gauche. On voit donc que si une des lignes de la géométrie observé par la caméra se révèle être à l'horizontale, ses deux points formant ses extrémités vont se trouver sur une même ligne épipolaire et tout deux vont vérier de la même manière la relation x right l xleft = 0. Preuve en est donc mathématiquement que la contrainte épipolaire n'est qu'une condition nécessaire de l'appariement des points images. Deuxième initiative La deuxième idée part de la deuxième relation que nous avons à notre disposition pour relier les points images de gauche et de droite x right H x left + e left (5.1) H étant l'homographie à l'innie et e left l'épipole de gauche. En considérant deux points de même facteur d'échelle et en soustrayant membre à membre l'expression ci-dessus pour ces deux points on obtient la relation x1 right x2 right H (x1 left x2 left ) (5.2) Or, soustraire deux points images de même facteur d'échelle revient à créer un vecteur dans ce même plan image. Voici donc la relation permettant de changer de plan image un vecteur. La clé de cette nouvelle méthode se base sur cette relation et l'utilisation de celle-ci pour passer dans le second plan image le vecteur normal à une droite. En eet une droite est caractérisée par l'expression ax + by + c = 0 avec (a, b) un vecteur normal à cette droite. L'algorithme s'attèle alors à passer chaque normale de chaque droite du plan image de droite dans le plan image de gauche et de tester le produit vectoriel entre ce dernier vecteur et l'ensemble des vecteurs normaux aux droites détectées dans le plan image de gauche. En prenant une norme adaptée on regarde pour quel couple de vecteurs normaux gauche/droite ce produit vectoriel est minimale et on en déduit les droites à apparier. L'algorithme fonctionne très bien et s'est avéré très robuste au bruit en plus d'un coup en calculs très faible. Il présente cependant une limite, si l'objet observé présente des droites parallèles, l'algorithme se retrouvera mis à mal. N'ayant plus de temps à passer à mettre au point un algorithme palliant ce défaut il a été décidé d'utiliser le fait que les deux caméras ne dièrent dans leurs congurations que d'une simple translation. De ce fait il a su de comparer, en xant un seuil de manière empirique, la dernière coordonnée c des droites de gauche et droite, s'il y a ambiguïté sur la droite à apparier. En eet celle-ci représente la distance orthogonale de la droite à l'origine. 45

47 Figure 5.7: Plan image de gauche, les droites appariées sont représentées de la même couleur. Figure 5.8: Plan image de droite, les droites appariées sont représentées de la même couleur. 5.3 Le problème de l'appariement des droites 3D dans leurs congurations Actuelles et Désirées Il s'agit maintenant de mettre en correspondance les droites de l'espace actuelles et désirées mais il faudra en outre veiller à reconstruire également correctement le signe des vecteurs de Plücker représentant les deux ensembles de droites an de garantir que l'on puisse trouver une transformation rigide entre ces deux ensembles. Le problème concernant la détermination correcte du signe des vecteurs de Plücker avait déjà été rencontré sous Matlab lors des simulations, voir (4.3). Mais nous allons voir à présent que la situation vue en (4.3) ne regroupe pas tous les cas de gure et que dans le cadre de nos expériences nous nous sommes trouvés dans une situation qui mettait à mal l'algorithme exposé en (4.3). Voici les 4 grandes étapes de l'algorithme, elles sont pour le moment oues, mais vont être détaillées juste après l'organigramme. A partir de l appariement stéréoscopique, on construit les coordonnées de Plucker des droites de l espace, actuelles et désirées. On commence par apparier deux droites actuelles et deux droite désirées On peut alors apparier une troisième droite qui pourra elle-même lever l ambiguité sur la labélisation des deux premières On apparie les N-3 droites restantes Figure 5.9: Etapes principales de l'algorithme d'appariement des droites Actuelles/Désirées 46

Utilisation d informations visuelles dynamiques en asservissement visuel Armel Crétual IRISA, projet TEMIS puis VISTA L asservissement visuel géométrique Principe : Réalisation d une tâche robotique par

Plus en détail

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies Régis Boulet Charlie Demené Alexis Guyot Balthazar Neveu Guillaume Tartavel Sommaire Sommaire... 1 Structure

Plus en détail

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes. Introduction L'objectif de mon TIPE est la reconnaissance de sons ou de notes de musique à l'aide d'un réseau de neurones. Ce réseau doit être capable d'apprendre à distinguer les exemples présentés puis

Plus en détail

I Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème...

I Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème... TABLE DES MATIÈRES 5 Table des matières I Stabilité, Commandabilité et Observabilité 11 1 Introduction 13 1.1 Un exemple emprunté à la robotique................... 13 1.2 Le plan...................................

Plus en détail

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R 2. RAPPEL DES TECHNIQUES DE CALCUL DANS R Dans la mesure où les résultats de ce chapitre devraient normalement être bien connus, il n'est rappelé que les formules les plus intéressantes; les justications

Plus en détail

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007 Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................

Plus en détail

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Filtrage stochastique non linéaire par la théorie de représentation des martingales Filtrage stochastique non linéaire par la théorie de représentation des martingales Adriana Climescu-Haulica Laboratoire de Modélisation et Calcul Institut d Informatique et Mathématiques Appliquées de

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

Notions d asservissements et de Régulations

Notions d asservissements et de Régulations I. Introduction I. Notions d asservissements et de Régulations Le professeur de Génie Electrique doit faire passer des notions de régulation à travers ses enseignements. Les notions principales qu'il a

Plus en détail

Analyse de la vidéo. Chapitre 4.1 - La modélisation pour le suivi d objet. 10 mars 2015. Chapitre 4.1 - La modélisation d objet 1 / 57

Analyse de la vidéo. Chapitre 4.1 - La modélisation pour le suivi d objet. 10 mars 2015. Chapitre 4.1 - La modélisation d objet 1 / 57 Analyse de la vidéo Chapitre 4.1 - La modélisation pour le suivi d objet 10 mars 2015 Chapitre 4.1 - La modélisation d objet 1 / 57 La représentation d objets Plan de la présentation 1 La représentation

Plus en détail

Éléments d'architecture des ordinateurs

Éléments d'architecture des ordinateurs Chapitre 1 Éléments d'architecture des ordinateurs Machines take me by surprise with great frequency. Alan Turing 1.1 Le Hardware Avant d'attaquer la programmation, il est bon d'avoir quelques connaissances

Plus en détail

Principe de symétrisation pour la construction d un test adaptatif

Principe de symétrisation pour la construction d un test adaptatif Principe de symétrisation pour la construction d un test adaptatif Cécile Durot 1 & Yves Rozenholc 2 1 UFR SEGMI, Université Paris Ouest Nanterre La Défense, France, cecile.durot@gmail.com 2 Université

Plus en détail

CIFA2006 La Commande Prédictive Visuelle

CIFA2006 La Commande Prédictive Visuelle CIFA26 La Commande Prédictive Visuelle Guillaume Allibert, Estelle Courtial, Youssou Touré Laboratoire de Vision et Robotique - LVR Université d'orléans - Polytech'Orléans, 8 rue Léonard de Vinci, 4572

Plus en détail

Date : 18.11.2013 Tangram en carré page

Date : 18.11.2013 Tangram en carré page Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches

Plus en détail

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils

Plus en détail

INTRODUCTION. A- Modélisation et paramétrage : CHAPITRE I : MODÉLISATION. I. Paramétrage de la position d un solide : (S1) O O1 X

INTRODUCTION. A- Modélisation et paramétrage : CHAPITRE I : MODÉLISATION. I. Paramétrage de la position d un solide : (S1) O O1 X INTRODUCTION La conception d'un mécanisme en vue de sa réalisation industrielle comporte plusieurs étapes. Avant d'aboutir à la maquette numérique du produit définitif, il est nécessaire d'effectuer une

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

Logiciel EV3 LEGO MINDSTORMS Education

Logiciel EV3 LEGO MINDSTORMS Education Robot éducateur : LEGO Education a le plaisir de vous présenter Robot éducateur, une sélection d'activités pédagogiques vous permettant de prendre en main votre EV3 LEGO MINDSTORMS Education de façon structurée

Plus en détail

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Calculer avec Sage. Revision : 417 du 1 er juillet 2010 Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1

Plus en détail

D'UN THÉORÈME NOUVEAU

D'UN THÉORÈME NOUVEAU DÉMONSTRATION D'UN THÉORÈME NOUVEAU CONCERNANT LES NOMBRES PREMIERS 1. (Nouveaux Mémoires de l'académie royale des Sciences et Belles-Lettres de Berlin, année 1771.) 1. Je viens de trouver, dans un excellent

Plus en détail

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1 CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste

Plus en détail

1.5 0.5 -0.5 -1.5 0 20 40 60 80 100 120. (VM(t i ),Q(t i+j ),VM(t i+j ))

1.5 0.5 -0.5 -1.5 0 20 40 60 80 100 120. (VM(t i ),Q(t i+j ),VM(t i+j )) La logique oue dans les PME/PMI Application au dosage de l'eau dans les bétons P.Y. Glorennec INSA de Rennes/IRISA glorenne@irisa.fr C. Hérault Hydrostop christophe@hydrostop.fr V. Hulin Hydrostop vincent@hydrostop.fr

Plus en détail

Rapport d'analyse des besoins

Rapport d'analyse des besoins Projet ANR 2011 - BR4CP (Business Recommendation for Configurable products) Rapport d'analyse des besoins Janvier 2013 Rapport IRIT/RR--2013-17 FR Redacteur : 0. Lhomme Introduction...4 La configuration

Plus en détail

CAPTEURS - CHAINES DE MESURES

CAPTEURS - CHAINES DE MESURES CAPTEURS - CHAINES DE MESURES Pierre BONNET Pierre Bonnet Master GSI - Capteurs Chaînes de Mesures 1 Plan du Cours Propriétés générales des capteurs Notion de mesure Notion de capteur: principes, classes,

Plus en détail

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION DES NOMBRES par Jean-Luc BREGEON professeur formateur à l IUFM d Auvergne LE PROBLÈME DE LA REPRÉSENTATION DES NOMBRES On ne conçoit pas un premier enseignement

Plus en détail

Immersion - Vision 3D dans la RV.

Immersion - Vision 3D dans la RV. Cours RVS Master II IVA Immersion - Vision 3D dans la RV. Cours de Réalité Virtuelle et Simulation Master II - IVA A. Mebarki - Maître de Conférences Département d'informatique Faculté des Mathématiques

Plus en détail

= 1 si n = m& où n et m sont souvent des indices entiers, par exemple, n, m = 0, 1, 2, 3, 4... En fait,! n m

= 1 si n = m& où n et m sont souvent des indices entiers, par exemple, n, m = 0, 1, 2, 3, 4... En fait,! n m 1 épartement de Physique, Université Laval, Québec Pierre Amiot, 1. La fonction delta et certaines de ses utilisations. Clientèle Ce texte est destiné aux physiciens, ingénieurs et autres scientifiques.

Plus en détail

Propagation sur réseau statique et dynamique

Propagation sur réseau statique et dynamique Université de la Méditerranée UFR Sciences de Luminy Rapport de stage informatique pour le Master 2 de Physique, Parcours Physique Théorique et Mathématique, Physique des Particules et Astroparticules.

Plus en détail

LES CAPTEURS CCD/CMOS

LES CAPTEURS CCD/CMOS Jérôme SIX Léo MEIGNAN Licence Professionnelle Gestion de la Production Industrielle, spécialité Vision Industrielle LES CAPTEURS CCD/CMOS Introduction...3 I) CCD...4 I.1) Historique...4 I.2) Fonctionnement...4

Plus en détail

Chapitre 1 Cinématique du point matériel

Chapitre 1 Cinématique du point matériel Chapitre 1 Cinématique du point matériel 7 1.1. Introduction 1.1.1. Domaine d étude Le programme de mécanique de math sup se limite à l étude de la mécanique classique. Sont exclus : la relativité et la

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre : Terminale STSS 2 012 2 013 Pourcentages Synthèse 1) Définition : Calculer t % d'un nombre, c'est multiplier ce nombre par t 100. 2) Exemples de calcul : a) Calcul d un pourcentage : Un article coûtant

Plus en détail

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories : La vision nous permet de percevoir et d interpreter le monde qui nous entoure. La vision artificielle a pour but de reproduire certaines fonctionnalités de la vision humaine au travers de l analyse d images.

Plus en détail

Correction de l examen de la première session

Correction de l examen de la première session de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi

Plus en détail

NOTATIONS PRÉLIMINAIRES

NOTATIONS PRÉLIMINAIRES Pour le Jeudi 14 Octobre 2010 NOTATIONS Soit V un espace vectoriel réel ; l'espace vectoriel des endomorphismes de l'espace vectoriel V est désigné par L(V ). Soit f un endomorphisme de l'espace vectoriel

Plus en détail

3 Approximation de solutions d équations

3 Approximation de solutions d équations 3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle

Plus en détail

Table des matières. 10 Gimp et le Web. Option de traitement d'images Mémento pour la séance N o 8. 10.1 Création d'animation

Table des matières. 10 Gimp et le Web. Option de traitement d'images Mémento pour la séance N o 8. 10.1 Création d'animation Université de NiceSophia Antipolis Semaine du 26 novembre 2007 Licence de Sciences de la vie, semestre 1 Option de traitement d'images Mémento pour la séance N o 8 Table des matières 10 Gimp et le Web

Plus en détail

Comment créer un diagramme de Gantt avec OpenOffice.org

Comment créer un diagramme de Gantt avec OpenOffice.org Comment créer un diagramme de Gantt avec OpenOffice.org Version 1.9 du 05.05.2005 Réalisé avec : OOo 2.0 Plate-forme / Os : Toutes Distribué par le projet Sommaire 1 Une rapide introduction : Diagramme

Plus en détail

Modèles bi-dimensionnels de coques linéairement élastiques: Estimations de l écart entre leurs solutions.

Modèles bi-dimensionnels de coques linéairement élastiques: Estimations de l écart entre leurs solutions. Problèmes mathématiques de la mécanique/mathematical problems in Mechanics Modèles bi-dimensionnels de coques linéairement élastiques: Estimations de l écart entre leurs solutions. Cristinel Mardare Laboratoire

Plus en détail

SLAM Visuel 3D pour robot mobile autonome

SLAM Visuel 3D pour robot mobile autonome Master de Sciences Mention «Imagerie, Robotique et Ingénierie pour le Vivant» - Projet de Fin D étude - SLAM Visuel 3D pour robot mobile autonome Romain Drouilly Encadrants ECA Benoit Morisset Pierrick

Plus en détail

CHAPITRE I. Modélisation de processus et estimation des paramètres d un modèle

CHAPITRE I. Modélisation de processus et estimation des paramètres d un modèle CHAPITRE I Modélisation de processus et estimation des paramètres d un modèle I. INTRODUCTION. Dans la première partie de ce chapitre, nous rappelons les notions de processus et de modèle, ainsi que divers

Plus en détail

de calibration Master 2: Calibration de modèles: présentation et simulation d

de calibration Master 2: Calibration de modèles: présentation et simulation d Master 2: Calibration de modèles: présentation et simulation de quelques problèmes de calibration Plan de la présentation 1. Présentation de quelques modèles à calibrer 1a. Reconstruction d une courbe

Plus en détail

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES Dominique LAFFLY Maître de Conférences, Université de Pau Laboratoire Société Environnement Territoire UMR 5603 du CNRS et Université de Pau Domaine

Plus en détail

Les correcteurs accorderont une importance particulière à la rigueur des raisonnements et aux représentations graphiques demandées.

Les correcteurs accorderont une importance particulière à la rigueur des raisonnements et aux représentations graphiques demandées. Les correcteurs accorderont une importance particulière à la rigueur des raisonnements et aux représentations graphiques demandées. 1 Ce sujet aborde le phénomène d instabilité dans des systèmes dynamiques

Plus en détail

modélisation solide et dessin technique

modélisation solide et dessin technique CHAPITRE 1 modélisation solide et dessin technique Les sciences graphiques regroupent un ensemble de techniques graphiques utilisées quotidiennement par les ingénieurs pour exprimer des idées, concevoir

Plus en détail

Télécom Nancy Année 2013-2014

Télécom Nancy Année 2013-2014 Télécom Nancy Année 2013-2014 Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON

Plus en détail

COMMISSION DES NORMES COMPTABLES. Avis CNC 138/5 Logiciels

COMMISSION DES NORMES COMPTABLES. Avis CNC 138/5 Logiciels COMMISSION DES NORMES COMPTABLES Avis CNC 138/5 Logiciels Introduction La Commission a consacré une étude approfondie au traitement comptable de la création ou de l acquisition d un logiciel par une entreprise,

Plus en détail

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008) Examen optimisation Centrale Marseille (28) et SupGalilee (28) Olivier Latte, Jean-Michel Innocent, Isabelle Terrasse, Emmanuel Audusse, Francois Cuvelier duree 4 h Tout resultat enonce dans le texte peut

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane Poteaux Adrien XLIM-DMI, UMR-CNRS 6172 Université de Limoges Soutenance de thèse 15 octobre

Plus en détail

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE LA PHYSIQUE DES MATERIAUX Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE Pr. A. Belayachi Université Mohammed V Agdal Faculté des Sciences Rabat Département de Physique - L.P.M belayach@fsr.ac.ma 1 1.Le réseau

Plus en détail

Transmission d informations sur le réseau électrique

Transmission d informations sur le réseau électrique Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en

Plus en détail

Couples de variables aléatoires discrètes

Couples de variables aléatoires discrètes Couples de variables aléatoires discrètes ECE Lycée Carnot mai Dans ce dernier chapitre de probabilités de l'année, nous allons introduire l'étude de couples de variables aléatoires, c'est-à-dire l'étude

Plus en détail

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab notre compétence d'éditeur à votre service créée en juin 2010, Scilab enterprises propose services et support autour

Plus en détail

NC 06 Norme comptable relative aux Immobilisations incorporelles

NC 06 Norme comptable relative aux Immobilisations incorporelles NC 06 Norme comptable relative aux Immobilisations incorporelles Objectif 01. Une entreprise peut acquérir des éléments incorporels ou peut elle-même les développer. Ces éléments peuvent constituer des

Plus en détail

G.P. DNS02 Septembre 2012. Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

G.P. DNS02 Septembre 2012. Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction DNS Sujet Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3 Réfraction I. Préliminaires 1. Rappeler la valeur et l'unité de la perméabilité magnétique du vide µ 0. Donner

Plus en détail

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL J. TICHON(1) (2), J.-M. TOULOTTE(1), G. TREHOU (1), H. DE ROP (2) 1. INTRODUCTION Notre objectif est de réaliser des systèmes de communication

Plus en détail

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans Mathématique et Automatique : de la boucle ouverte à la boucle fermée Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans Maitine.Bergounioux@labomath.univ-orleans.fr Plan 1. Un peu de

Plus en détail

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond

Plus en détail

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES Sommaire 1 Méthodes de résolution... 3 1.1. Méthode de Substitution... 3 1.2. Méthode des combinaisons linéaires... 6 La rubrique d'aide qui suit s'attardera aux

Plus en détail

APPLICATION DU SCN A L'EVALUATION DES REVENUS NON DECLARES DES MENAGES

APPLICATION DU SCN A L'EVALUATION DES REVENUS NON DECLARES DES MENAGES 4 mars 1996 FRANCAIS Original : RUSSE COMMISSION DE STATISTIQUE et COMMISSION ECONOMIQUE POUR L'EUROPE CONFERENCE DES STATISTICIENS EUROPEENS OFFICE STATISTIQUE DES COMMUNAUTES EUROPEENNES (EUROSTAT) ORGANISATION

Plus en détail

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria.

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria. Perl Console Votre compagnon pour développer en Perl Les Journées du Perl 2007 16, 17 novembre, Lyon Alexis Sukrieh Plan Pourquoi une console? Le modèle «Read-Eval-Print-Loop» Dépendances

Plus en détail

Algorithmes de recherche

Algorithmes de recherche Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème

Plus en détail

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,

Plus en détail

Once the installation is complete, you can delete the temporary Zip files..

Once the installation is complete, you can delete the temporary Zip files.. Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une

Plus en détail

Retournement Temporel

Retournement Temporel Retournement Temporel Rédigé par: HENG Sokly Encadrés par: Bernard ROUSSELET & Stéphane JUNCA 2 juin 28 Remerciements Je tiens tout d'abord à remercier mes responsables de mémoire, M.Bernard ROUSSELET

Plus en détail

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU Odile VERBAERE UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU Résumé : Cet article présente une réflexion sur une activité de construction de tableau, y compris

Plus en détail

Domaine 1 : S approprier un environnement informatique de travail. Domaine 3 : Créer, produire, traiter et exploiter des données.

Domaine 1 : S approprier un environnement informatique de travail. Domaine 3 : Créer, produire, traiter et exploiter des données. Les différents domaines sont : Domaine 1 : S approprier un environnement informatique de travail. Domaine 2 : Adopter une attitude responsable. Domaine 3 : Créer, produire, traiter et exploiter des données.

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA) La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA) I. L'intérêt de la conversion de données, problèmes et définitions associés. I.1. Définitions:

Plus en détail

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois

Plus en détail

Conduite et Gestion de Projet - Cahier des charges

Conduite et Gestion de Projet - Cahier des charges Conduite et Gestion de Projet - Cahier des charges 1 Introduction Sophie Toulouse LIPN - Université Paris 13 +33.1.49.40.40.73 99 av. Jean-Baptiste Clément toulouse@lipn.univ-paris13.fr 93430 Villetaneuse

Plus en détail

I3, Probabilités 2014 Travaux Dirigés F BM F BM F BM F BM F B M F B M F B M F B M 20 20 80 80 100 100 300 300

I3, Probabilités 2014 Travaux Dirigés F BM F BM F BM F BM F B M F B M F B M F B M 20 20 80 80 100 100 300 300 I3, Probabilités 2014 Travaux Dirigés TD 1 : rappels. Exercice 1 Poker simplié On tire 3 cartes d'un jeu de 52 cartes. Quelles sont les probabilités d'obtenir un brelan, une couleur, une paire, une suite,

Plus en détail

$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU

$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU $SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU Fabien FIGUERES fabien.figueres@mpsa.com 0RWVFOpV : Krigeage, plans d expériences space-filling, points de validations, calibration moteur. 5pVXPp Dans le

Plus en détail

Texte Agrégation limitée par diffusion interne

Texte Agrégation limitée par diffusion interne Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse

Plus en détail

La (les) mesure(s) GPS

La (les) mesure(s) GPS La (les) mesure(s) GPS I. Le principe de la mesure II. Equation de mesure GPS III. Combinaisons de mesures (ionosphère, horloges) IV. Doubles différences et corrélation des mesures V. Doubles différences

Plus en détail

chapitre 4 Nombres de Catalan

chapitre 4 Nombres de Catalan chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C

Plus en détail

Analyse des trajectoires acceptables en approche de virage assistance aux conducteurs

Analyse des trajectoires acceptables en approche de virage assistance aux conducteurs DIVAS Analyse des trajectoires acceptables en approche de virage assistance aux conducteurs N 3.C.1 Décembre 2008 Projet financé par l Agence Nationale de la Recherche Responsable : S. Espié Projet ANR

Plus en détail

Nombre de marches Nombre de facons de les monter 3 3 11 144 4 5 12 233 5 8 13 377 6 13 14 610 7 21 15 987 8 34 16 1597 9 55 17 2584 10 89

Nombre de marches Nombre de facons de les monter 3 3 11 144 4 5 12 233 5 8 13 377 6 13 14 610 7 21 15 987 8 34 16 1597 9 55 17 2584 10 89 Soit un escalier à n marches. On note u_n le nombre de façons de monter ces n marches. Par exemple d'après l'énoncé, u_3=3. Pour monter n marches, il faut d'abord monter la première. Soit on la monte seule,

Plus en détail

COMMENT MAITRISER LA GESTION DES APPROVISIONNEMENTS ET DES STOCKS DE MEDICAMENTS

COMMENT MAITRISER LA GESTION DES APPROVISIONNEMENTS ET DES STOCKS DE MEDICAMENTS 1 sur 9 COMMENT MAITRISER LA GESTION DES APPROVISIONNEMENTS ET DES STOCKS DE MEDICAMENTS (L'article intégral est paru dans Gestions Hospitalières n 357 de juin-juillet 1996) Pour plus d'informations concernant

Plus en détail

Oscillations libres des systèmes à deux degrés de liberté

Oscillations libres des systèmes à deux degrés de liberté Chapitre 4 Oscillations libres des systèmes à deux degrés de liberté 4.1 Introduction Les systèmes qui nécessitent deux coordonnées indépendantes pour spécifier leurs positions sont appelés systèmes à

Plus en détail

Intérêt du découpage en sous-bandes pour l analyse spectrale

Intérêt du découpage en sous-bandes pour l analyse spectrale Intérêt du découpage en sous-bandes pour l analyse spectrale David BONACCI Institut National Polytechnique de Toulouse (INP) École Nationale Supérieure d Électrotechnique, d Électronique, d Informatique,

Plus en détail

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands. Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands. Pourquoi un autre catalogue en Suisse romande Historique En 1990, la CRUS (Conférences des

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

CHAPITRE VIII : Les circuits avec résistances ohmiques

CHAPITRE VIII : Les circuits avec résistances ohmiques CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On

Plus en détail

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178 Thèse no. 7178 PROBLEMES D'OPTIMISATION DANS LES SYSTEMES DE CHAUFFAGE A DISTANCE présentée à l'ecole POLYTECHNIQUE FEDERALE DE ZURICH pour l'obtention du titre de Docteur es sciences naturelles par Alain

Plus en détail

Logiciel SCRATCH FICHE 02

Logiciel SCRATCH FICHE 02 1. Reprise de la fiche 1: 1.1. Programme Figure : Logiciel SCRATCH FICHE 02 SANS ORDINATEUR : Dessiner à droite le dessin que donnera l'exécution de ce programme : Unité : 50 pas : Remarque : vous devez

Plus en détail

Problème : Calcul d'échéanciers de prêt bancaire (15 pt)

Problème : Calcul d'échéanciers de prêt bancaire (15 pt) Problème : Calcul d'échéanciers de prêt bancaire (15 pt) 1 Principe d'un prêt bancaire et dénitions Lorsque vous empruntez de l'argent dans une banque, cet argent (appelé capital) vous est loué. Chaque

Plus en détail

YAO : Un logiciel pour les modèles

YAO : Un logiciel pour les modèles YAO : Un logiciel pour les modèles numériques et l'assimilation de données Sylvie Thiria, Fouad Badran, Charles Sorror Rapport de recherche (22 juin 2006) 1 Table des matières 1 Introduction 3 2 Principes

Plus en détail

I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes):

I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes): Master Chimie Fondamentale et Appliquée : spécialité «Ingénierie Chimique» Examen «Programmation, Simulation des procédés» avril 2008a Nom : Prénom : groupe TD : I. Programmation I. 1 Ecrire un programme

Plus en détail

Vers l'ordinateur quantique

Vers l'ordinateur quantique Cours A&G Vers l'ordinateur quantique Données innies On a vu dans les chapîtres précédents qu'un automate permet de représenter de manière nie (et même compacte) une innité de données. En eet, un automate

Plus en détail

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

Plus en détail

L ' E N V I R O N N E M E N T À T R A V E R S L A S I M U L A T I O N N U M É R I Q U E : D E L ' I N G É N I E R I E D U B Â T I M E N T

L ' E N V I R O N N E M E N T À T R A V E R S L A S I M U L A T I O N N U M É R I Q U E : D E L ' I N G É N I E R I E D U B Â T I M E N T L ' E N V I R O N N E M E N T À T R A V E R S L A S I M U L A T I O N N U M É R I Q U E : U N E N O U V E L L E P R A T I Q U E D E L ' I N G É N I E R I E D U B Â T I M E N T Pour les bâtiments et à l'échelle

Plus en détail

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET Glossaire La terminologie propre au projet, ainsi que les abréviations et sigles utilisés sont définis dans le Glossaire. Approbation Décision formelle, donnée

Plus en détail

Théories de la Business Intelligence

Théories de la Business Intelligence 25 Chapitre 2 Théories de la Business Intelligence 1. Architectures des systèmes décisionnels Théories de la Business Intelligence Depuis les premières requêtes sur les sources de données OLTP consolidées

Plus en détail

Chapitre 0 Introduction à la cinématique

Chapitre 0 Introduction à la cinématique Chapitre 0 Introduction à la cinématique Plan Vitesse, accélération Coordonnées polaires Exercices corrigés Vitesse, Accélération La cinématique est l étude du mouvement Elle suppose donc l existence à

Plus en détail

Chapitre 1 Régime transitoire dans les systèmes physiques

Chapitre 1 Régime transitoire dans les systèmes physiques Chapitre 1 Régime transitoire dans les systèmes physiques Savoir-faire théoriques (T) : Écrire l équation différentielle associée à un système physique ; Faire apparaître la constante de temps ; Tracer

Plus en détail