Brevet FR3069691A1 — publié le 20190201

Procédé de détermination de la position et de l'orientation d'un capteur optique matriciel par rapport à un robot porteur La présente invention concerne le domaine de la robotique et plus particulièrement celui des robots équipés de caméras. Il est connu d'équiper un robot industriel d'une (ou plusieurs) de caméra(s) équipée(s) d'un capteur optique matriciel. Comme pour d'autres effecteurs équipant le robot, il est nécessaire de connaître avec précision la position et l'orientation réelles de la caméra, qui sert de repère outil au calculateur au robot et lui permet de positionner correctement la caméra pour les besoins des opérations (généralement de contrôle) à effectuer. Un exemple d'application courant est celui du contrôle non destructif par thermographie d'une pièce (par ex. une tôle) ayant une surface complexe. Sur des pièces de grandes dimensions, il est alors nécessaire de réaliser plusieurs acquisitions optiques effectuées depuis différents points de vue à l'aide d'une caméra infrarouge positionnée sur le bras d'un robot. Les images issues de la caméra peuvent, à l'aide des informations disponibles sur la position et l'orientation du robot pour chaque point de mesure, être projetées sur un modèle virtuel tridimensionnel de la pièce. Mais les procédures ordinaires ne fournissent qu'une projection très approximative des images sur le modèle virtuel tridimensionnel de pièce. De fait, les différentes images projetées ne se superposent pas parfaitement au modèle virtuel de pièce et on observe des discontinuités entre elles. Ces discontinuités sont dues notamment : à une distorsion des images, due aux caractéristiques optiques de la caméra, - à une maîtrise insuffisante du champ de vision de la caméra dans l'environnement de la pièce. Les effets de la distorsion peuvent être compensés grâce à une calibration intrinsèque de la caméra permettant de calculer les paramètres de distorsion de l'image. Afin de limiter les décalages entre les images, une solution théorique consiste à déterminer avec précision les dimensions de l'outillage permettant de fixer la caméra au robot afin d'obtenir une meilleure 2 maîtrise de son positionnement. Cependant, la faible tolérance de l'ensemble au positionnement angulaire rend sa mise en oeuvre complexe et augmente drastiquement le coût des outillages pour un effet incertain. Trois repères mathématiques peuvent être définis : 5 un repère lié au robot, noté RTcpo , centré sur un point TCP0 (Tool Center Point ou Point Central d'Outil) positionné au voisinage d'une extrémité du bras du robot, un repère lié à la caméra, noté Roptique_réel, centré sur un point immatériel correspondant au centre optique de la caméra, 10 un repère lié à la mire, noté Rmire. Si les repères RTcpo et Rmire sont connus des opérateurs, le repère Roptiqueréel ne l'est pas. Le centre optique de la caméra, qui ne correspond pas à un point matériel particulier, ne peut être déterminé ni par un calcul simple, ni au moyen d'une chaîne de côtes. 15 La plupart des solutions visant à déterminer le repère Roptique_réel Pour une prise de vue donnée, sont basées sur une calibration extrinsèque de la caméra. Le repère robot Rirpo est connu pour chaque acquisition grâce aux données constructeur, mais ce repère n'est pas déterminé dans le repère 20 mire Rmire. On peut tenter de combler ce défaut en utilisant des nappes laser. Mais cette méthode nécessite la mise en place de moyens matériels supplémentaires. L'objectif de la présente invention est de proposer une solution 25 permettant de déterminer de manière simple le repère caméra Roptique_ réel par rapport au repère robot Rirpo. D'un point de vue mathématique, l'objectif est de définir une méthode de détermination d'une transformation géométrique (sous forme d'une matrice de passage) permettant de passer du repère caméra 30 Roptique_réel (inconnu) au le repère robot Rirpo, ou réciproquement. Ainsi la présente invention propose, en premier lieu, un procédé de détermination de la position et de l'orientation d'une caméra associée à un repère caméra Roptique_réel, embarquée sur un robot porteur pourvu d'un bras et associé à un repère robot Rirpo centré sur un point TC/30 positionné 3 au bout du bras du robot, par rapport à ce robot, comportant les étapes de : fourniture d'une mire de calibration pourvue d'une face frontale définissant un motif géométrique, cette mire portant également, du 5 côté de la face frontale, au moins trois points qui, par apprentissage avec le robot, définissent mécaniquement un repère mire Rmire associé à la mire ; apprentissage des points de la mire par le robot ; acquisition, au moyen de la caméra, d'un nombre prédéfini d'images 10 de la mire selon des orientations et des positions spatiales diverses du bras du robot ; calcul, à partir de toutes ces images de la mire, des paramètres de calibration intrinsèque et extrinsèque de la caméra, pour chaque image : 15 o calcul de la matrice de passage du repère caméra Roptiqu réel vers le repère mire Rmire, 0 calcul de la matrice de passage du repère mire Rmire vers le repère robot RTcpo, 0 calcul de la matrice de passage du repère caméra Roptique_ réel 20 vers repère robot RTcpo à partir des deux matrices de passages précédemment calculées ; calcul d'une moyenne des matrices de passage du repère caméra Roptique_réel vers le repère robot RTcpo , définissant la position et l'orientation de la caméra par rapport au robot. 25 Ce procédé permet de déterminer de manière simple et fiable la relation entre le repère caméra Roptioue_réel et le repère robot RTcpo L'avantage de connaître une telle relation est de pouvoir déterminer aisément et a fortiori de façon précise la position du centre optique de la caméra. 30 Selon une caractéristique particulière, l'étape de calcul de la moyenne des matrices de passages du repère caméra Roptique_réel vers le repère robot RTcpo comprend les opérations de : passage des matrices de passage du repère caméra Roptioue_réel vers le repère robot RTcpo dans un espace ou algèbre de Lie, plus 35 spécifiquement, cette étape pouvant consister à effectuer un 4 passage des matrices de passage du groupe de Lie vers un espace tangent (identifiable avec l'algèbre de Lie) - calcul, dans cette algèbre, de la moyenne de ces matrices de passage, 5 - calcul de la matrice du groupe de Lie correspondant à la moyenne calculée à l'étape précédente, en particulier, le passage inverse de l'espace tangent au groupe de Lie permettant de fournir le résultat. La présente invention propose en deuxième lieu un procédé de 10 contrôle de la forme d'une pièce réelle comportant les étapes de : fourniture d'un modèle virtuel tridimensionnel de cette pièce, fourniture d'une caméra associée à un repère caméra Roptique_réel montée sur un bras d'un robot associé à un repère robot RTcpo , détermination de la matrice de passage du repère caméra Roptique_réel 15 vers le repère robot RTcpo à partir du procédé précédemment décrit, acquisition de plusieurs images d'une pièce réelle au moyen de la caméra, projection des images sur le modèle virtuel tridimensionnel de la pièce au moyen de la matrice de passage du repère caméra 20 Roptique_réei Vers le repère robot RTcpo Dans une réalisation particulière de l'invention, la mire de calibration peut comprendre une plaque de faible (ou forte, respectivement) émissivité portant un réseau de plots de forte (ou faible, respectivement) émissivité, de préférence régulièrement répartis sur la plaque. 25 L'invention sera mieux comprise et d'autres détails, caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante faite à titre d'exemple non limitatif en référence aux dessins dans lesquels : La FIG.1 est une illustration d'un dispositif utilisé pour l'acquisition 30 des images montrant les repères robot Rirpo, mire Rmi' et caméra Roptique_réel; La FIG.2 est une illustration d'une mire de calibration ; La FIG.3 est une illustration du motif géométrique de la mire prévue dans le cas de l'utilisation d'une caméra infrarouge; 35 La FIG.4 est un diagramme fonctionnel illustrant la méthodologie utilisée par le premier procédé proposé par la présente invention. 5 La FIG.5 est une illustration d'un dispositif utilisé pour l'acquisition d'images issue d'une pièce réelle dans le cadre du procédé de contrôle de la forme de la pièce. La FIG.6 illustre l'étape de projection d'image d'une pièce réelle sur 5 le modèle tridimensionnel de la pièce. Nous nous référons dans un premier temps à la FIG.1 illustrant le dispositif 1 utilisé pour l'acquisition des images. Ce dispositif 1 comprend une caméra 2 associée à un repère caméra R optique_réel, un robot porteur 3 pourvu d'un bras 4 et associé à un repère robot Rirpo centré sur un point 10 TCP0 positionné au bout du bras 4 du robot 3, et d'une mire de calibration 5. Le repère Rirpo est une donnée fournisseur décrivant la cinématique du robot 3 concerné. Le repère caméra Roptique_ réel est centré sur le centre optique C de la caméra 2 et sa direction z est la direction de visée réelle de la caméra 2. La caméra 2 est fixée au bras 4 du robot 3 au moyen 15 d'un outillage 0 prévu à cet effet. On souhaite déterminer la position et de l'orientation de la caméra 2 associée au repère caméra Roptique_ réel, embarquée sur le robot porteur 3 dont le bras 4 est associé au repère robot Rirpo. A cet effet, on effectue les opérations suivantes : 20 fourniture d'une mire de calibration 5 (voir FIG.2) pourvue d'une face frontale 6 définissant un motif géométrique 7 (voir FIG.3), cette mire 5 portant, du côté de la face frontale 6, au moins trois points ici formés par des pointes 8a, 8b et 8c qui définissent un repère mire Rmire associé à la mire 5; 25 apprentissage des pointes 8a, 8b et 8c de la mire 5 par le robot 3, ce qui définit Rmire/RTcp0; acquisition, au moyen de la caméra 2, d'un nombre prédéfini d'images de la mire 5 selon des orientations et des positions spatiales diverses du bras 4 du robot 3; 30 calcul, à partir de toutes les images de la mire, des paramètres de calibration intrinsèque et extrinsèque de la caméra 2, pour chaque image : o calcul d'une matrice de passage du repère Roptique_ réel vers le repère mire Rmire, 6 o calcul d'une matrice de passage du repère mire Rmi' vers le repère robot Rirpo, 0 calcul d'une matrice de passage du repère caméra Roptique_réel vers le repère robot Rirpo à partir des deux matrices de 5 passages précédemment calculées ; calcul d'une moyenne des matrices de passage du repère caméra Roptique_réel vers le repère robot Rirpo, définissant la position et l'orientation de la caméra 2 par rapport au robot 3. L'étape de calcul de la moyenne des matrices de passages du 10 repère caméra Roptioue_réei vers le repère robot RTcpo est avantageusement réalisée dans un espace de Lie. En effet les matrices de passage sont des matrices de transformation rigide, de taille 4X4 (comprenant 16 éléments). Il est connu que ces matrices sont des entités du groupe spécial euclidien SE(3). De façon générale, la moyenne d'entités 15 appartenant au groupe spécial euclidien SE(3) n'est pas une entité de ce groupe. La moyenne des entités de ce groupe ne peut donc pas être calculée par application d'une formule linéaire. Cependant, SE(3)est un groupe de Lie auquel correspond l' algèbre de Lie se(3). Une algèbre de Lie se(3) est un espace vectoriel, dans lequel la moyenne linéaire t est 20 une opération interne. Donc, pour réaliser la moyenne des matrices de passage du repère caméra Roptique_réel vers le repère robot RTcpo , il est avantageux de passer par l'algèbre de Lie se(3). La moyenne calculée appartient donc à cet espace. Une opération de conversion de cette moyenne dans un le groupe de Lie SE(3) permet d'exprimer ladite 25 moyenne sous forme d'une matrice 4x4. La mire de calibration 5 comprend un motif régulier à détecter par un algorithme de traitement d'image. Ce motif à détecter peut prendre plusieurs formes en fonction de la caméra 2 utilisée : damier, réseau de lignes horizontales ou verticales, réseau de points, etc. et être composée 30 de plusieurs matériaux (papier, plastique, métal, etc.). Dans le contexte d'une application employant une caméra infrarouge présenté ici à titre d'exemple non limitatif, le motif géométrique 7 est différent du damier rencontré classiquement. La mire 5 illustrée est un exemple de mire qui peut être utilisée dans 35 le cas d'un contrôle par caméra infrarouge. Elle comprend une plaque de faible émissivité à laquelle est superposé un réseau de plots P de forte 7 émissivité régulièrement espacés de sorte à former le motif géométrique 7 illustré en FIG.3. Le réseau de plots P comprend un nombre M de colonnes et un nombre N de lignes. Il est également possible d'utiliser un motif formé à partir d'une plaque de forte émissivité avec un réseau 5 (MxN) de plots P de faible émissivité. L'invention ne se limitant pas aux contrôles par caméra infrarouge, il est possible d'utiliser une mire formée par un motif géométrique sur un fond quelconque de telle sorte qu'il existe un contraste entre le fond et le motif. 10 Le repère mire Rmi' est défini comme un repère objet où l'objet considéré est la mire 5. Ce repère mire Rmi' est coplanaire à la face frontale 7 de la mire 5 et centré sur un point du motif géométrique situé à équidistance des pointes 8b et 8a. L'étape d'apprentissage des pointes 8a, 8b et 8c de la mire 5 par le 15 robot 3 est une procédure classique employée dans le domaine de la robotique permettant de faire apprendre au robot 3 le lien entre le repère objet (ici le repère mire Rmi') et le repère robot Rirpo. Cette procédure peut, à titre d'exemple faire appel à un système de pointes/contrepointes : une contrepointe est positionnée au bout du bras 20 4 du robot 3 et vient palper au moins trois pointes permettant de définir le repère objet. Dans le cas de la présente invention, la contrepointe vient palper les trois pointes 8a, 8b et 8c permettant de décrire le repère mire Rmi', de manière à apprendre la relation spatiale entre ce repère mire Rmi' et le repère robot Rirpo. Le palpage des trois pointes permet 25 de générer un plan dont la position est exprimée dans le repère robot RTcp,' en utilisant un modèle cinématique inverse. Chaque image correspond ainsi à une configuration d'acquisition correspondant à une orientation et à une position spatiale connue du bras 4 du robot 3. Les caractéristiques optiques de la caméra 2 sont calculées au 30 moyen d'une calibration intrinsèque et d'une calibration extrinsèque. Il s'agit d'une procédure classique proposée par exemple dans la boîte à outils (toolbox) de Jean Yves Bouguet, accessible en ligne par le lien indiqué ci-après : https://www.vision.caltech.edu/bouguetj/calib doc/. Les paramètres intrinsèques de la caméra 2 sont généralement la 35 distance focale f, les facteurs d'agrandissement kt" et k de l'image, les coordonnées (c,,c,) du centre optique C de la caméra 2 dans le repère 8 image (non représenté). L'obtention des paramètres de distorsion et la correction de la distorsion d'une image peut être réalisée par des approches connues dans la littérature, pouvant être paramétriques (ex. Flexible Camera Calibration by Viewing a Plane from Unknown 5 Orientations - Zhang, ICCV99, or A Four-step Camera Calibration Procedure with Implicit Image Correction - Heikkil and Silven, CVPR97). Les paramètres extrinsèques de la caméra 2 sont une matrice de rotation (3x3) et les composantes (tx,ty,t,) de la translation permettant de passer du repère lié à l'objet (ici le repère mire Rmire) au repère caméra 10 Roptique_réel - Ainsi la matrice de passage M --Rmire->Roptiqueréel du repère mire Rmire vers le repère caméra Roptique_ réel, défini par les paramètres extrinsèques de la caméra 2, est connue pour chaque configuration d'acquisition. Au cours de chaque acquisition, la mire 5 est fixe par rapport à un 15 repère de référence Rmonde - D'une configuration d'acquisition à une autre, c'est la position du bras 4 du robot 3 par rapport à ce repère Rmonde qui varie. Comme la caméra 2 est positionnée au bout du bras 4 du robot 3, la position du point TC/30 dans le repère de référence Rmonde est connue pour chaque configuration d'acquisition réalisée. Par ailleurs, 20 l'apprentissage du repère mire Rmire par le robot 3 permet de connaître la relation entre le repère mire Rmire et le repère robot RTcpo. La relation entre les deux repères et la position du point TC/30 dans le repère de référence Rmonde permettent de déduire, pour chaque configuration d'acquisition, une matrice de passage du repère mire Rmire vers le repère 25 robot RTcp, notée MR,flire,RT,po. Ainsi, pour chaque configuration d'acquisition, les matrices de M passage sont déterminées. Il est alors - --R et MR mire mire->RTCP0 possible, par combinaison des matrices et comme illustré dans la FIG.4, de calculer la matrice de passage du repère caméra Roptique_ réel vers le 30 repère robot RTcpo, noté MRoptique_réel->RTCP0 et illustré par l'équation (1) : MRoptique_réei->RTcpc, = MRmire->RTCP0' MRoptique_réel->Rmire (1) On compte autant de matrices de passage M Roptique_réel-> obtenues RTCP 0 que de configurations d'acquisition. La matrice de passage finale mf Roptique_réei->RTcpc, est obtenue en calculant la moyenne de ces matrices de 35 passag e MRoptique_réel->RTCP0' via l'algèbre de Lie, comme explicité 9 précédemment, ladite matrice de passage finale définissant ainsi la position et l'orientation de la caméra 2 par rapport au robot 3. Il est proposé, en deuxième lieu, un procédé de contrôle de la forme d'une pièce réelle 9, qui comprend les étapes suivantes : 5 fourniture d'un modèle virtuel tridimensionnel 10 de cette pièce 9, fourniture d'une caméra 2 associée à un repère caméra Roptiqu réel montée sur un bras 4 d'un robot 3 associé à un repère robot Rirpo, détermination de la matrice de passage du repère caméra Roptique_réel vers le repère robot Rirpo à partir du procédé précédemment décrit, 10 - acquisition de plusieurs images d'une pièce réelle 9 au moyen de la caméra 2, comme illustré sur la FIG.5, projection des images sur le modèle virtuel tridimensionnel 10 de la pièce réelle au moyen de la matrice de passage du repère caméra Roptique_réel vers le repère robot Rirpo. 15 Le nombre d'images de la pièce 9 acquises lors de ce procédé varie en fonction des détails à contrôler sur la pièce. A titre d'exemple non limitatif, la FIG.6 illustre la projection de deux éléments 10a et 10b obtenus partir de deux images acquises de la pièce 9, sur son modèle tridimensionnel 10. 20 Ce deuxième procédé permet, par l'utilisation du premier procédé, d'obtenir une projection des images de la pièce à contrôler en réduisant les possibles erreurs de recalage avec le modèle virtuel tridimensionnel. De plus l'étape de projection des images sur un modèle 3D peut ainsi être réalisée quelle que soit l'orientation de la caméra 2 par rapport à 25 l'outillage 0 et quelle que soit l'orientation de la caméra 2 par rapport au robot 3. Le domaine de la robotique manque de méthodes simples et fiables pour déterminer la position du centre optique d'une caméra embarquée sur un robot lorsque ce centre optique est un point immatériel. Le premier 30 procédé proposé par la présente invention est une combinaison innovante de deux techniques classiques (la calibration de la caméra 2 et l'utilisation d'une mire de calibration 5 pour l'apprentissage d'un repère objet par le robot 3), donc à bas coût. Ce procédé permet de bien maîtriser une chaîne de mesure en 35 prenant en compte les caractéristiques de la caméra 2 utilisée et la position du centre optique de la caméra 2 (définissant la position de son 10 angle de vue) dans l'environnement d'un robot 3 industriel. Cette connaissance permet d'atteindre une incertitude acceptable pour pallier le manque de précision du robot 3 et autorise l'utilisation d'outillages de support plus simples et de coût réduit. 5 Par ailleurs, la connaissance du repère Roptique_réel permet avantageusement de générer des trajectoires du robot 3 prenant en compte des caractéristiques réelles de la caméra 2. La trajectoire du robot 3 permet généralement d'obtenir des images recouvrant ensemble toute la surface 10 de la pièce 9 à analyser. 10 Les procédés présentés peuvent être appliqués quelle que soit la caméra 2 utilisée (dans le visible ou l'infrarouge) sous réserve d'utiliser une mire de calibration 5 adaptée au type de caméra et à l'application. REVENDICATIONS1. Procédé de détermination de la position et de l'orientation d'une caméra (2) associée à un repère caméra Roi,tique_réel, embarquée sur un robot porteur (3) pourvu d'un bras (4) et associé à un repère robot RTcp0 centré sur un point TCP0 positionné au bout du bras (4) du robot (3), par rapport à ce robot (3), comportant les étapes de : - fourniture d'une mire de calibration (5) pourvue d'une face frontale (6) définissant un motif géométrique (7), cette mire (5) portant, du côté de la face frontale (6), au moins trois points (8a), (8b) et (8c) qui définissent un repère mire Rmire associé à la mire (5); - apprentissage des points (8a), (8b) et (8c) de la mire (5) par le robot (3) ; - acquisition, au moyen de la caméra (3), d'un nombre prédéfini d'images de la mire (5) selon des orientations et des positions spatiales diverses du bras (4) du robot (3) ; - calcul, à partir de toutes les images de la mire (5), des paramètres de calibration intrinsèque et extrinsèque de la caméra, pour chaque image : o calcul de la matrice de passage du repère Roptique_réel vers le repère mire Rmire, o calcul de la matrice de passage du repère mire Rmire vers le repère robot RTcpo, 0 calcul de la matrice de passage du repère caméra Roptiqueyéel vers le repère robot RTcpo à partir des deux matrices de passages précédemment calculées ; - calcul d'une moyenne des matrices de passage du repère caméra Roptique_reel vers le repère RTcpo, définissant la position et l'orientation de la caméra (2) par rapport au robot (3). 2. Procédé selon la revendication 1, caractérisé en ce que l'étape de calcul de la moyenne des matrices de passages du repère Roptique_réel vers le repère robot RTcpo comprend les opérations de : - passage des matrices de passage du repère caméra Roptique_réel vers le repère robot RTcpc, dans l'algèbre de Lie, 12 - calcul, dans cette algèbre, de la moyenne de de ces matrices de passage, - calcul de la matrice du groupe de Lie correspondant à la moyenne calculée. 5 3. Procédé de contrôle de la forme d'une pièce réelle (9) comportant les étapes de : fourniture d'un modèle virtuel tridimensionnel (10) de cette pièce (9); fourniture d'une caméra (2) associée à un repère caméra Roptique_réel 10 montée sur un bras (4) d'un robot (3) associé à un repère robot RTCP0 ; détermination de la matrice de passage du repère caméra Roptique_réel vers le repère robot RTcp0 à partir du procédé de l'une quelconque des revendications 1 à 2 ; 15 acquisition de plusieurs images d'une pièce réelle (9) au moyen de la caméra (2); projection des images sur le modèle virtuel tridimensionnel (10) de la pièce réelle (9) au moyen de la matrice de passage du repère caméra Roptique_ réel vers le repère robot RTcpo. 20 4. Procédé selon l'une des revendications précédentes, dans lequel la mire (5) de calibration comprend une plaque de faible ou forte, respectivement émissivité portant un réseau de plots (P) de forte ou faible, respectivement émissivité, de préférence régulièrement répartis sur la plaque. 25