FR3140979A1 - Procédé de détermination d’une position d’une zone d’un outil - Google Patents
Procédé de détermination d’une position d’une zone d’un outil Download PDFInfo
- Publication number
- FR3140979A1 FR3140979A1 FR2210547A FR2210547A FR3140979A1 FR 3140979 A1 FR3140979 A1 FR 3140979A1 FR 2210547 A FR2210547 A FR 2210547A FR 2210547 A FR2210547 A FR 2210547A FR 3140979 A1 FR3140979 A1 FR 3140979A1
- Authority
- FR
- France
- Prior art keywords
- tool
- relative
- zone
- image
- image capture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000000007 visual effect Effects 0.000 claims abstract description 96
- 239000003550 marker Substances 0.000 claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 230000004807 localization Effects 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000005553 drilling Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005498 polishing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003466 welding Methods 0.000 description 2
- 238000010146 3D printing Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013434 data augmentation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39045—Camera on end effector detects reference pattern
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39057—Hand eye calibration, eye, camera on hand, end effector
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
- G06T2207/30208—Marker matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Machine Tool Sensing Apparatuses (AREA)
Abstract
Procédé (300) de détermination d’une position d’une zone d’un outil par rapport à un dispositif de prise d’images situé sur l’outil, le procédé comprenant les étapes consistant à : placer (301) la zone de l’outil sur un point fixe de localisation connue par rapport à un dispositif de calibration, ledit dispositif de calibration comportant au moins un repère visuel, déterminer (302), par l’intermédiaire du dispositif de prise d’images, la position du repère visuel par rapport au dispositif de prise d’images=,déterminer (303) la position de ladite zone de l’outil par rapport au dispositif de prise d’images, à partir de la position du repère visuel par rapport au dispositif de prise d’images et de la localisation du point fixe par rapport au dispositif de calibration. Figure de l’abrégé : Figure 3
Description
La présente divulgation relève du domaine des procédés de détermination d’une position d’une zone d’un outil par rapport à un dispositif de prise d’images situé sur l’outil et des dispositifs associés.
La détermination d’une position d’une zone d’un outil, qui peut aussi être désignée par l’expression « calibration de la zone de l’outil », dans un référentiel défini est un élément essentiel afin d’assurer le bon fonctionnement d’un système de localisation de la zone de l’outil.
A cet égard, dans le domaine des bras robotisés, il est connu de déterminer la position de la zone d’un outil situé sur le bras robotisé, le plus souvent la pointe du bras robotisé, en pointant la zone de l’outil répétitivement en direction d’une localisation connue. Alternativement, afin de déterminer la position de la pointe du bras robotisé, il est courant d’exploiter le croisement entre des faisceaux laser issus de positions connues et la pointe du bras robotisé.
Néanmoins, les solutions préexistantes reposent sur des connaissances concernant la cinématique d’encodeurs dans les liaisons formant le bras robotisé. Ces solutions ne sont ainsi pas adaptées dans le cadre d’outils pour lesquels la cinématique de l’outil n’est pas connue.
La présente divulgation vient améliorer la situation.
Il est proposé un procédé de détermination d’une position d’une zone d’un outil par rapport à un dispositif de prise d’images situé sur l’outil, le procédé comprenant les étapes consistant à :
- placer la zone de l’outil sur un point fixe de localisation connue par rapport à un dispositif de calibration, ledit dispositif de calibration comportant au moins un repère visuel,
- déterminer, par l’intermédiaire du dispositif de prise d’images, la position du repère visuel par rapport au dispositif de prise d’images,
- déterminer la position de ladite zone de l’outil par rapport au dispositif de prise d’images, à partir de la position du repère visuel par rapport au dispositif de prise d’images et de la localisation du point fixe par rapport au dispositif de calibration.
Avantageusement, le procédé proposé permet de déterminer la position de la zone de l’outil par rapport au dispositif de prise d’images situé sur l’outil sans requérir de connaissances de la cinématique de l’outil. Dès lors, le procédé proposé convient à tous types d’outils. En particulier, le procédé proposé convient à des outils montés sur des bras robotisés autant qu’à des outils manuels. Notablement, le procédé proposé s’avère moins complexe que les solutions de l’art antérieur nécessitant un pointage mécanique ou une mire mécanique. Le procédé proposé permet ainsi une calibration de la zone de l’outil en une durée de l’ordre de deux minutes tandis que les solutions de l’art antérieur atteignent parfois des durées de l’ordre d’une quinzaine de minutes pour obtenir un résultat semblable.
Ainsi, grâce au procédé proposé, il est rendu possible, lorsque la position du dispositif de prise d’images est connue, d’en déduire la position de la zone de l’outil. Par suite, un suivi de la position de la zone de l’outil peut être mis en œuvre à partir d’informations concernant la position du dispositif de prise d’images. Aussi, selon un ou plusieurs modes de réalisation, des opérations réalisées par la zone de l’outil, par exemple de serrage ou de vissage, peuvent être contrôlées.
Les caractéristiques exposées dans les paragraphes suivants peuvent, optionnellement, être mises en œuvre, indépendamment les unes des autres ou en combinaison les unes avec les autres.
Selon un ou plusieurs modes de réalisation, l’au moins un repère visuel est un repère visuel 2D. Avantageusement, la détermination de la position de l’au moins un repère visuel 2D par rapport au dispositif de prise d’images peut se faire à partir d’une image 2D prise par le dispositif de prise d’images. Selon un ou plusieurs modes de réalisations, la détermination de la position de l’au moins un repère visuel 2D par rapport au dispositif de prise d’images peut en outre être réalisée à partir d’une image 3D et/ou d’au moins une image 2D apte à fournir des positions dans l’espace et une intensité des pixels du repère visuel.
Alternativement, selon un ou plusieurs modes de réalisation, l’au moins un repère visuel est un repère visuel tridimensionnel, 3D. Selon un ou plusieurs modes de réalisation, l’au moins un repère visuel tridimensionnel est non symétrique. Avantageusement, une dissymétrie permet d’éviter des ambiguïtés de positionnement. Ainsi, selon un ou plusieurs modes de réalisation, l’au moins un repère visuel peut être tout ou une partie d’un objet dissymétrique. En particulier, selon un ou plusieurs modes de réalisation, l’objet dissymétrique peut être obtenu par impression 3D. Avantageusement, la détermination de la position de l’au moins un repère visuel 3D par rapport au dispositif de prise d’images peut se faire à partir d’une image 3D prise par le dispositif de prise d’images. Selon un ou plusieurs modes de réalisations, la détermination de la position de l’au moins un repère visuel 3D par rapport au dispositif de prise d’images peut en outre se faire à partir d’informations issues d’un modèle de la conception assistée par ordinateur, CAO, du repère visuel 3D.
Selon un ou plusieurs modes de réalisation, le dispositif de calibration pourra comporter une pluralité de repères visuels et la position du dispositif de prise d’images pourra être déterminée par rapport à au moins une partie de la pluralité de repères visuels.
Avantageusement, la détermination de la position du dispositif de prise d’images par rapport à au moins une partie de la pluralité de repères visuels permet d’augmenter une précision de la calibration de la zone de l’outil. En effet, la position du dispositif de prise d’images peut ainsi être obtenue en exploitant des informations issues de plusieurs repères visuels réduisant une incertitude quant à une position relative entre un référentiel du dispositif de prise d’images et un référentiel du dispositif de calibration.
Selon un ou plusieurs modes de réalisation, le procédé pourra comporter une détermination d’une pluralité de positions de l’au moins un repère visuel par rapport au dispositif de prise d’images par l’intermédiaire du dispositif de prise d’images et les étapes consistant à :
- déterminer, pour chacune des positions de la pluralité de positions déterminées de l’au moins un repère visuel par rapport au dispositif de prise d’images, une position primaire de ladite zone de l’outil par rapport au dispositif de prise d’images, à partir de la position du repère visuel par rapport au dispositif de prise d’images et de la localisation du point fixe par rapport au dispositif de calibration,
- partitionner la pluralité de positions primaires de ladite zone de l’outil par rapport au dispositif de prise d’images en groupes,
- déterminer une taille d’un groupe contenant le plus de positions primaires,
- déterminer, en fonction de la taille du groupe déterminée, la position de ladite zone de l’outil par rapport au dispositif de prise d’images, à partir des positions primaires du groupe de la taille déterminée.
Par « partitionner » il est fait référence au partitionnement des données, ou « data clustering » en anglais. Le partitionnement vise à diviser la pluralité de positions primaires en différents groupes de positions primaires, en minimisant une inertie intra-classe des groupes, tout en maximisant une inertie inter-classe entre les groupes.
Avantageusement, le procédé proposé permet également d’augmenter une précision et une exactitude de la calibration de la zone de l’outil en déterminant la position de la zone de l’outil par rapport au dispositif de prise d’images en exploitant une pluralité de positions primaires. En particulier, des positions erronées, par exemple déterminées à partir d’images acquises alors que la zone de l’outil n’était pas placée sur le point fixe, peuvent ainsi être exclues de la calibration de la zone de l’outil.
Selon un ou plusieurs modes de réalisation, la pluralité de positions de l’au moins un repère visuel par rapport au dispositif de prise d’images pourra comprendre les positions qui ont été déterminées à partir d’une partie de la pluralité de repères visuels comprenant un nombre de repères visuels supérieur à un seuil.
Avantageusement, la précision de la calibration de la zone de l’outil peut ainsi être modulée en variant la valeur du seuil.
Selon un ou plusieurs modes de réalisation, l’étape de détermination de la pluralité de positions primaires de la zone de l’outil par rapport au dispositif de prise d’images sera itérée jusqu’à ce que la taille du groupe contenant le plus de positions primaires soit supérieure à une valeur seuil.
Avantageusement, l’exactitude de la calibration peut être augmentée en variant la valeur seuil. Une position intermédiaire de la zone de l’outil hors du point fixe peut ainsi être écartée de la détermination de la position de la zone de l’outil.
Selon un ou plusieurs modes de réalisation, le dispositif de calibration comprendra au point fixe de localisation connue par rapport au dispositif de calibration, au moins une partie d’une liaison pivot ou d’une liaison rotule entre le point fixe de localisation connue et la zone de l’outil.
Avantageusement, la présence d’une partie d’une liaison pivot ou d’une liaison rotule au point fixe ajoute au moins un degré de liberté dans les mouvements relatifs entre le dispositif de prise d’images et le dispositif de calibration, tout en conservant la position de la zone de l’outil par rapport au point fixe. Ainsi, une variété de positions entre le dispositif de prise d’images et le dispositif de calibration peut venir enrichir les données de calibration, permettant d’augmenter la précision et l’exactitude de la calibration. Additionnellement, la présence d’au moins une partie d’une liaison rotule permet d’obtenir des données sensiblement uniformes dans un espace tridimensionnel. En particulier, une hauteur du dispositif de prise d’images par rapport au dispositif de calibration peut être modifiée, permettant au dispositif de prise d’images d’acquérir des images de repères visuels qui n’auraient pas été visibles autrement.
Selon un ou plusieurs modes de réalisation, le procédé comprendra en outre les étapes consistant à :
- effectuer une rotation de la zone de l’outil autour d’un axe de la zone de l’outil, par l’intermédiaire de la liaison pivot,
- déterminer, par l’intermédiaire du dispositif de prise d’images, une pluralité de positions du dispositif de prise d’images par rapport à l’au moins un repère visuel du dispositif de calibration en fonction de la rotation autour de l’axe de la zone de l’outil,
- déterminer un axe de la zone de l’outil par rapport au dispositif de prise d’images, à partir de la pluralité de positions du dispositif de prise d’images par rapport au repère visuel en fonction de la rotation autour de l’axe de la zone de l’outil.
Par « axe de la zone de l’outil », il est ici entendu un axe le long duquel un accessoire fixé à la zone de l’outil peut s’étendre. Une extrémité d’un accessoire fixé à la zone de l’outil peut ainsi se situer sur l’axe de la zone de l’outil. La position de l’extrémité de l’accessoire fixé à la zone de l’outil sur l’axe de la zone de l’outil peut varier en fonction d’une taille de l’accessoire.
Avantageusement, la connaissance de l’axe de la zone de l’outil permet ainsi de contraindre l’espace des positions admissibles de la zone de l’outil, ou d’une extrémité d’un accessoire fixé à la zone de l’outil, par rapport au dispositif de prise d’images.
Alternativement, selon un ou plusieurs modes de réalisation, la détermination de l’axe de la zone de l’outil pourra comprendre les étapes consistant à :
- ajouter un accessoire à la zone de l’outil,
- placer une zone de l’accessoire sur le point fixe de localisation connue,
- déterminer, par l’intermédiaire du dispositif de prise d’images, la position du repère visuel par rapport au dispositif de prise d’images,
- déterminer la position de ladite zone de l’accessoire par rapport au dispositif de prise d’images, à partir de la position du repère visuel par rapport au dispositif de prise d’images et de la localisation du point fixe par rapport au dispositif de calibration,
- déterminer un axe de la zone de l’outil par rapport au dispositif de prise d’images, à partir de la position de ladite zone de l’outil par rapport au dispositif de prise d’images et de la position de ladite zone de l’accessoire par rapport au dispositif de prise d’images.
Selon un ou plusieurs modes de réalisation, en vue de détecter un changement d’un second accessoire fixé à la zone de l’outil, le procédé comprendra en outre les étapes consistant à :
- déterminer, par l’intermédiaire du dispositif de prise d’images, la position d’une extrémité du second accessoire par rapport au dispositif de prise d’images, à partir de l’axe de la zone de l’outil.
Avantageusement, une détection automatique d’un changement d’un second accessoire fixé à la zone de l’outil peut ainsi être atteinte. Par conséquent, la calibration de l’extrémité du second accessoire par rapport au dispositif de prise d’images peut être obtenue sans nécessiter de reproduire l’ensemble des étapes du procédé proposé. Une généralisation de la calibration de la zone de l’outil peut ainsi être obtenue pour tous types d’accessoires fixés à la zone de l’outil.
Selon un autre aspect, il est proposé un dispositif de prise d’images pour la mise en œuvre d’un procédé selon la présente description.
Selon un autre aspect, il est proposé un dispositif de calibration d’une position d’une zone d’un outil par rapport à un dispositif de prise d’images situé sur l’outil, le dispositif comprenant :
- un point fixe de localisation connue par rapport au dispositif,
- au moins un repère visuel de localisation connue par rapport au dispositif,
- optionnellement, au moins une partie d’une liaison pivot ou rotule située au niveau du point fixe pour recevoir la zone de l’outil.
Selon un autre aspect, il est proposé un programme informatique comportant des instructions pour la mise en œuvre de tout ou partie d’un procédé tel que défini dans les présentes lorsque ce programme est exécuté par un processeur. Selon un autre aspect, il est proposé un support d’enregistrement non transitoire, lisible par un ordinateur, sur lequel est enregistré un tel programme.
D’autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels :
Dans la description détaillée ci-après de modes de réalisation de l’invention, de nombreux détails spécifiques sont présentés pour apporter une compréhension plus complète. Néanmoins, l’homme du métier peut se rendre compte que des modes de réalisation peuvent être mis en pratique sans ces détails spécifiques. Dans d’autres cas, des caractéristiques bien connues ne sont pas décrites pour éviter de compliquer inutilement la description.
La présente description fait référence à des illustrations de diagrammes des méthodes et dispositifs selon un ou plusieurs modes de réalisation. Chacun des diagrammes décrits peut être mis en œuvre sous forme matérielle, logicielle (y compris sous forme de logiciel embarqué («firmware»), ou de «middleware»), microcode, ou toute combinaison de ces derniers. Dans le cas d'une mise en œuvre sous forme logicielle, les illustrations de diagrammes peuvent être mises en œuvre par des instructions de programme d'ordinateur ou du code logiciel, qui peut être stocké ou transmis sur un support lisible par ordinateur, incluant un support non transitoire, ou un support chargé en mémoire d'un ordinateur générique, spécifique, ou de tout autre appareil ou dispositif programmable de traitement de données pour produire une machine, de telle sorte que les instructions de programme d'ordinateur ou le code logiciel exécuté(es) sur l'ordinateur ou l'appareil ou dispositif programmable de traitement de données, constituent des moyens de mise en œuvre de ces fonctions.
Les modes de réalisation d'un support lisible par ordinateur incluent, de manière non exhaustive, des supports de stockage informatique et des supports de communication, y compris tout support facilitant le transfert d'un programme d'ordinateur d'un endroit vers un autre. Par «support(s) de stockage informatique», on entend tout support physique pouvant être accédé par ordinateur. Les exemples de support de stockage informatique incluent, de manière non limitative, les disques ou composants de mémoire flash ou tous autres dispositifs à mémoire flash (par exemple des clés USB, des clés de mémoire, des sticks mémoire, des disques-clés), des CD-ROM ou autres dispositifs de stockage optique de données, des DVD, des dispositifs de stockage de données à disque magnétique ou autres dispositifs de stockage magnétique de données, des composants de mémoire de données, des mémoires RAM, ROM, EEPROM, des cartes mémoires («smart cards»), des mémoires de type SSD («Solid State Drive»), et toute autre forme de support utilisable pour transporter ou stocker ou mémoriser des données ou structures de données qui peuvent être lues par un processeur d'ordinateur.
En outre, diverses formes de support lisible par ordinateur peuvent transmettre ou porter des instructions vers un ordinateur, telles qu'un routeur, une passerelle, un serveur, ou tout équipement de transmission de données, qu'il s'agisse de transmission filaire (par câble coaxial, fibre optique, fils téléphoniques, câble DSL, ou câble Ethernet), sans-fil (par infrarouge, radio, cellulaire, microondes), ou des équipements de transmission virtualisés (routeur virtuel, passerelle virtuelle, extrémité de tunnel virtuel, pare-feu virtuel). Les instructions peuvent, selon les modes de réalisation, comprendre du code de tout langage de programmation informatique ou élément de programme informatique, tel que, sans limitation, les langages assembleur, C, C++, Visual Basic, HyperText Markup Language (HTML), Extensible Markup Language (XML), HyperText Transfer Protocol (HTTP), Hypertext Preprocessor (PHP), SQL, MySQL, Java, JavaScript, JavaScript Object Notation (JSON), Python, et bash scripting.
De plus, les termes «notamment», «par exemple», «exemple» sont utilisés dans la présente description pour désigner des exemples ou illustrations de modes de réalisation non limitatifs, qui ne correspondent pas nécessairement à des modes de réalisation préférés ou avantageux par rapport à d'autres aspects ou modes de réalisation possibles.
Les termes « situé », « monté », « muni » et leurs variantes et formes diverses utilisés dans la présente description font référence à des couplages, connexions, montages qui peuvent être directs ou indirects. Ainsi, un dispositif de prise d’images situé/monté sur un outil peut être directement situé sur l’outil ou sur un élément intermédiaire positionné entre le dispositif de prise d’images et l’outil.
La montre, à titre d’exemple non limitatif d’outil 100, un outil de serrage ou de vissage monté sur un bras robotisé RBT selon un ou plusieurs modes de réalisation. Alternativement, l’outil 100 peut être un outil d’usinage, par exemple un outil parmi un outil de perçage, un outil d’ébavurage, un outil de chanfreinage, un outil de polissage, ou tout autre outil convenant pour la mise en œuvre du procédé proposé comme un outil de soudage. Sur l’exemple de la , la zone 101 de l’outil pour laquelle la calibration est recherchée correspond à la tête de l’outil 100, c’est-à-dire le point de l’outil 100 où l’action à effectuer à lieu. Ainsi, dans le cas de l’outil de serrage représenté sur la , la tête de l’outil 100 peut correspondre à une extrémité d’une douille. Dans le cas d’un outil de perçage, la tête de l’outil peut notamment correspondre à une extrémité d’un foret.
En outre, l’outil 100 est muni d’un dispositif de prise d’images 200. Le dispositif de prise d’images 200 est configuré pour acquérir des images. Le dispositif de prise d’images 200 comprend par exemple une caméra bidimensionnelle, 2D, ou une caméra tridimensionnelle, 3D. Selon un ou plusieurs modes de réalisation, le dispositif de prise d’images 200 comprend une caméra 2D et une caméra 3D, permettant de tirer profit des informations obtenues par les deux caméras. Selon un ou plusieurs modes de réalisation, la caméra 2D comprend 2 lentilles tricolores rouge vert bleu, RVB, couplées à une centrale inertielle. Selon un ou plusieurs modes de réalisation, la caméra 3D est une caméra de type Stéréo Active. En outre, le dispositif de prise d’images 200 est fonctionnellement couplé à un processeur permettant la mise en œuvre des procédés décrits dans la présente description.
Comme représenté sur la , la zone 101 de l’outil peut être distincte du dispositif de prise d’images 200. Plus particulièrement, un décalage, ou « offset » en anglais, référencé T_tcp entre le centre 201 du dispositif de prise d’images 200 et la zone 101 de l’outil est observable sur la .
Alternativement, la montre, à titre d’exemple non limitatif d’outil 100’, un outil manuel portatif. Plus particulièrement, l’exemple de la représente un outil manuel de serrage, plus spécifiquement un cliquet. Alternativement, l’outil 100’ peut être un outil manuel parmi un outil manuel de vissage, un outil manuel de perçage, un outil manuel d’ébavurage, un outil manuel de chanfreinage, un outil manuel de polissage, un outil manuel de soudage, ou tout autre outil manuel convenant pour la mise en œuvre du procédé proposé.
Comme pour l’outil 100 de la , un dispositif de prise d’images 200’ est situé sur l’outil 100’. Le décalage entre le centre 201’ du dispositif de prise d’images 200’ et la zone d’intérêt 101’ de l’outil est référencé T_tcp’. La zone d’intérêt de l’outil est par exemple l’extrémité d’une douille dans le cas d’un cliquet.
Dans chacun des cas de figure exposé ci-dessus, la connaissance du décalage T_tcp, T_tcp’ est recherchée afin de déduire d’une image acquise par le dispositif de prise d’images la position de la zone d’intérêt 101, 101’ par rapport au dispositif de prise d’image 200.
A cet effet, la est un diagramme illustrant le procédé 300 de calibration de la zone de l’outil proposé selon un ou plusieurs modes de réalisation.
Dans une première étape PLACE_TOOL 301, la zone d’intérêt 101, 101’ de l’outil est placée sur un point fixe. Le point fixe est un point de localisation connue par rapport à un dispositif de calibration. Ainsi, les coordonnées, référencées T_offset, T_offset’ sur les figures 6 et 7 respectivement, du point fixe dans un repère du dispositif de calibration sont connues.
En outre, le dispositif de calibration comporte au moins un repère visuel. Une localisation du repère visuel par rapport au dispositif de calibration est connue. Dès lors, la localisation du point fixe par rapport à l’au moins un repère visuel est également connue. Comme par exemple représenté sur les figures 7 et 8, et discuté ci-dessous, selon un ou plusieurs modes de réalisation, l’au moins un repère visuel est un repère visuel bidimensionnel, 2D.
Dans une seconde étape DET_POS_MARK/CAM 302, la position du repère visuel par rapport au dispositif de prise d’images 200, 200’ est déterminée par l’intermédiaire du dispositif de prise d’images 200, 200’.
Selon un ou plusieurs modes de réalisation, la détermination 302 de la position du repère visuel par rapport au dispositif de prise d’images 200, 200’ comprend, dans une première sous-étape, une détection de l’au moins un repère visuel par le dispositif de prise d’images 200, 200’. En particulier, la détection de l’au moins un repère visuel par le dispositif de prise d’images 200, 200’ peut se faire à partir d’une image 2D prise par le dispositif de prise d’images 200, 200’. L’image 2D peut être une image en niveaux de gris. Alternativement l’image 2D peut être une image en couleurs. Selon un ou plusieurs modes de réalisation, la détection de l’au moins un repère visuel par le dispositif de prise d’images 200, 200’ à partir de l’image 2D est effectuée par l’intermédiaire d’une librairie de vision assistée par ordinateur, par exemple la librairie OpenCV. Selon un ou plusieurs modes de réalisation, la librairie ArUco peut être utilisée (S. Garrido-Jurado, R. Muñoz-Salinas, F. J. Madrid-Cuevas, and M. J. Marín-Jiménez. 2014. "Automatic generation and detection of highly reliable fiducial markers under occlusion". Pattern Recogn. 47, 6 (June 2014), 2280-2292. DOI=10.1016/j.patcog.2014.01.005).
Selon un ou plusieurs modes de réalisation, dans une seconde sous-étape, une position 3D de l’au moins un repère visuel par rapport au dispositif de prise d’images 200, 200’ est déterminée. Selon un ou plusieurs modes de réalisation, la position 3D de l’au moins un repère visuel par rapport au dispositif de prise d’images 200, 200’ est obtenue à partir de l’image 2D. Plus particulièrement, selon un ou plusieurs modes de réalisation, la position 3D de l’au moins un repère visuel par rapport au dispositif de prise d’images 200, 200’ est obtenue par l’intermédiaire d’une librairie de vision assistée par ordinateur prenant en entrée l’image 2D. Selon un ou plusieurs modes de réalisation, la librairie de vision assistée par ordinateur peut également prendre en entrée un ou plusieurs paramètres intrinsèques au dispositif de prise d’images 200, 200’. Par exemple, la librairie de vision assistée par ordinateur est la librairie OpenCV. Plus particulièrement, la librairie ArUco peut être utilisée. Alternativement, selon un ou plusieurs modes de réalisation, lorsque le dispositif de prise d’images 200, 200’ comprend une caméra 3D, la position 3D de l’au moins un repère visuel par rapport au dispositif de prise d’images 200, 200’ peut être directement acquise par la caméra 3D.
Selon un ou plusieurs modes de réalisation, dans une troisième sous-étape, une transformation 3D entre le système de coordonnées du référentiel du dispositif de prise d’images 200, 200 et le système de coordonnées du référentiel du dispositif de calibration est déterminée. Selon un ou plusieurs modes de réalisation, la transformation 3D entre le système de coordonnées du référentiel du dispositif de prise d’images 200, 200 et le système de coordonnées du référentiel du dispositif de calibration est déterminée à partir de la position 3D de l’au moins un repère visuel par rapport au dispositif de prise d’images 200, 200’ et d’une position 3D de l’au moins un repère visuel par rapport au dispositif de calibration. Selon un ou plusieurs modes de réalisation, la position 3D de l’au moins un repère visuel par rapport au dispositif de calibration est connuea prioriet enregistrée. Selon un ou plusieurs modes de réalisation, la transformation 3D entre le système de coordonnées du référentiel du dispositif de prise d’images 200, 200 et le système de coordonnées du référentiel du dispositif de calibration est représentée par une matrice, notée MT_CAL,de taille 3 x 3 de telle sorte que la position 3D de l’au moins un repère visuel par rapport au dispositif de prise d’images 200, 200’ et la position 3D de l’au moins un repère visuel par rapport au dispositif de calibration, respectivement notées XCAMet XMARKpeut être exprimée par la relation [Math. 1] ci-dessous :
[Math. 1]
XCAM= MT_CAL* XMARK
Par suite, la transformation 3D entre le système de coordonnées du référentiel de calibration et du référentiel du dispositif de prise d’images 200, 200 est également connue. En effet, une matrice de la transformation 3D entre le système de coordonnées du référentiel de calibration et du référentiel du dispositif de prise d’images 200, 200 peut s’exprimer comme l’inverse de la matrice MT_CAL.
Dans une troisième étape DET_POS_TOOL/CAM 303, la position de la zone d’intérêt de l’outil 101, 101’ par rapport au dispositif de prise d’images 200, 200’, référencée T_tcp, T_Tcp’ sur les figures 6 et 7 respectivement, est déterminée. La position T_tcp, T_Tcp’ de la zone 101, 101’ de l’outil par rapport au dispositif de prise d’images 200, 200’ est obtenue à partir de la position du repère visuel par rapport au dispositif de prise d’images 200, 200’ et de la localisation T_offset, T_offset’ du point fixe par rapport au dispositif de calibration. Selon un ou plusieurs modes de réalisation, la position T_tcp, T_Tcp’ de la zone 101, 101’ de l’outil par rapport au dispositif de prise d’images 200, 200’, est obtenue selon la relation [Math. 2], respectivement [Math. 2’], ci-après :
[Math. 2]
T_tcp = MT_CAL* T_offset
[Math. 2’]
T_tcp’ = MT_CAL* T_offset’
Le procédé 300 décrit ci-dessus en référence à la peut être itéré. Selon un ou plusieurs modes de réalisation, le dispositif de prise d’images 200, 200’ acquiert une pluralité d’images. L’acquisition de la pluralité d’images peut se faire à intervalle de temps régulier. Par exemple, une fréquence d’acquisition peut être comprise par exemple entre 10 Hz et 100 Hz, de préférence encore entre 10 Hz et 2 Hz, de préférence encore de l’ordre de 15 Hz.
Selon un ou plusieurs modes de réalisation, dans les cas où une pluralité de positions de l’au moins un repère visuel par rapport au dispositif de prise d’images 200, 200’ est acquise, le procédé 400 de calibration illustré à la peut être mis en œuvre.
Selon un ou plusieurs modes de réalisation, dans une première étape PLACE_TOOL 301’, la zone d’intérêt 101, 101’ de l’outil est placée sur un point fixe similairement à l’étape PLACE_TOOL 301 décrite en référence à la .
Pour une ou plusieurs des images de la pluralité d’images acquises, voire pour chaque image de la pluralité d’images acquises, une détection de l’au moins un repère visuel similaire à la détection de l’au moins un repère visuel décrite en référence à la peut être mise en œuvre.
Selon un ou plusieurs modes de réalisation, dans les cas où le dispositif de calibration comporte une pluralité de repères visuels, le procédé 400 peut comporter une seconde étape DETECT_MARK 401, facultative. L’étape DETECT_MARK 401 peut comporter, pour une ou plusieurs des images de la pluralité d’images acquises, voire pour chaque image de la pluralité d’images acquises, une détermination d’un nombre de repères visuels détectés dans l’image.
Selon un ou plusieurs modes de réalisation, dans les cas où l’étape facultative DETECT_MARK 401 est mise en œuvre, le procédé peut comporter une troisième étape MIN_MARK 402 également facultative. L’étape MIN_MARK 402 peut comporter, pour une ou plusieurs des images de la pluralité d’images acquises, voire pour chaque image de la pluralité d’images acquises, une comparaison du nombre de repères visuels déterminé à l’étape DETECT_MARK 401 avec une première valeur seuil . La première valeur seuil peut avantageusement être choisie comprise entre 1 et 20, de préférence entre 2 et 15, de préférence encore de l’ordre de 4. Selon un ou plusieurs modes de réalisation, si, pour une image, le nombre de repères visuels déterminé à l’étape DETECT_MARK 401 est supérieur à la première valeur seuil , comme représenté par la flèche OK partant du bloc 402 sur la figure 4, l’étape 302’ peut être mise en œuvre. Alternativement, si, pour une image, le nombre de repères visuels déterminé à l’étape DETECT_MARK 401 est inférieur à la première valeur seuil , comme représenté par la flèche NOK partant du bloc 402 sur la , l’étape 401 peut être mise en œuvre sur une autre image de la pluralité d’images acquises.
Selon un ou plusieurs modes de réalisation, pour une ou plusieurs des images de la pluralité d’images acquises, voire pour chaque image de la pluralité d’images acquises, la détermination 302’ de la position de l’au moins un repère visuel par le dispositif de prise d’images 200, 200’ peut être effectuée selon un ou plusieurs modes de réalisation décrits ci-dessus en lien avec la figure 3 pour la détermination 302 de la position de l’au moins un repère visuel par le dispositif de prise d’images 200, 200’, dont la description n’est pas ici répétée aux fins de concision de la présente description. En particulier, selon un ou plusieurs modes de réalisation, la détermination 302’ de la position de l’au moins un repère visuel par le dispositif de prise d’images 200, 200’ est réalisée seulement pour les images dont le nombre de repères visuels déterminé à l’étape DETECT_MARK 401 est supérieur à la première valeur seuil comme indiqué précédemment.
Selon un ou plusieurs modes de réalisation, pour une ou plusieurs des images de la pluralité d’images acquises, voire pour chaque image de la pluralité d’images acquises, la détermination 303’ de la position de la zone d’intérêt de l’outil 101, 101’ par rapport au dispositif de prise d’images 200, 200’ peut être effectuée selon un ou plusieurs modes de réalisation décrits ci-dessus en lien avec la pour la détermination 303 de la position de la zone d’intérêt de l’outil 101, 101’ par rapport au dispositif de prise d’images 200, 200’, dont la description n’est pas ici répétée aux fins de concision de la présente description.
Selon un ou plusieurs modes de réalisation, dans une étape CLUST_POS_TOOL/CAM 403 les positions de la zone d’intérêt de l’outil 101, 101’ par rapport au dispositif de prise d’images 200, 200’ déterminées à l’étape 303 peuvent être partitionnées en groupes. Selon un ou plusieurs modes de réalisation, un algorithme deskplus proches voisins (k-NN) peut être utilisé. Selon un ou plusieurs modes de réalisation, l’algorithme deskplus proches voisins (k-NN) peut être utilisé avec deux classes. Alternativement, selon un ou plusieurs modes de réalisations, un algorithme de décalage moyen, ou « meanshift » en anglais, peut être utilisé. Selon un ou plusieurs modes de réalisation, le partitionnement peut être obtenu par l’intermédiaire d’une librairie destinée à l’apprentissage automatique, par exemple la librairie Scikit-Learn (Pedregosaet al.2011. « Scikit-learn : Machine Learning in Python, JMLR 12, pp. 2825-2830.). En particulier, selon un ou plusieurs modes de réalisation, l’algorithme DBSCAN peut être utilisé. Selon un ou plusieurs modes de réalisation, une distance maximale entre deux points pour qu’ils soient considérés comme dans le même groupe peut être ajustée. La distance maximale entre deux points pour qu’ils soient considérés comme dans le même groupe peut avantageusement être choisie comprise entre 1 mm et 3 mm, de préférence entre 1.5 mm et 2.5 mm, de préférence encore de l’ordre de 2 mm.
Selon un ou plusieurs modes de réalisation, une étape MIN_MAX_CLUST 404 facultative peut être mise en œuvre. L’étape MIN_MAX_CLUST 404 peut comprendre une détermination d’une taille d’un groupe parmi les groupes déterminés à l’étape CLUST_POS_TOOL/CAM 403. Plus particulièrement, la taille du groupe contenant le plus de positions de la zone d’intérêt de l’outil 101, 101’ par rapport au dispositif de prise d’images 200, 200’ peut être déterminée. La taille du groupe déterminée peut être comparée à une deuxième valeur seuil α. La deuxième valeur seuil α peut avantageusement être choisie comprise entre 50 et 250, de préférence entre 100 et 200, de préférence encore de l’ordre de 150. Selon un ou plusieurs modes de réalisation, si la taille du groupe déterminée est supérieure à la deuxième valeur seuil α, comme représenté par la flèche OK partant du bloc 404 sur la , l’étape 405 peut être mise en œuvre. Alternativement, si la taille du groupe déterminée est inférieure à la deuxième valeur seuil α, comme représenté par la flèche NOK partant du bloc 404 sur la , l’étape 401 peut être mise en œuvre sur une image de la pluralité d’images acquises pour laquelle aucune des étapes 401, 402, 302’, 303’ et 403 n’a été mise en œuvre.
Selon un ou plusieurs modes de réalisation, dans une étape DET_FINAL_POS_TOOL/CAM 405, une position dite « finale » de la zone de l’outil 101, 101’, 101’’ est déterminée à partir des positions du groupe de la taille déterminée. En particulier, selon un ou plusieurs modes de réalisation, la position « finale » de la zone de l’outil 101, 101’, 101’’ est une moyenne des positions du groupe de la taille déterminée. Alternativement, la position « finale » de la zone de l’outil 101, 101’, 101’’ peut être une médiane des positions du groupe de la taille déterminée.
Comme schématisé à la , selon un ou plusieurs modes de réalisation, un accessoire, référencé ACC, peut être fixé à la zone de l’outil 101’’.
Selon un ou plusieurs modes de réalisation, une position d’une extrémité, référencée 502, de l’accessoire ACC peut être déterminée selon l’un des procédés exposés en référence aux figures 3 et 4.
Alternativement, selon un ou plusieurs modes de réalisation, une position 3D de l’extrémité 502 de l’accessoire ACC par rapport au dispositif de prise d’images 200’’ peut être déduite, par l’intermédiaire du dispositif de prise d’images 200’’, à partir d’une connaissance d’un axe de la zone de l’outil, référencé A500.
Plus particulièrement, une position 2D de l’extrémité 502 par rapport au dispositif de prise d’images 200’’ peut être obtenue dans une image 2D prise par le dispositif de prise d’images 200’’ et comprenant l’extrémité 502. Une position 3D de l’extrémité 502 par rapport au dispositif de prise d’images 200’’ peut être obtenue à partir de la position 2D et de la connaissance de l’axe A500 de la zone de l’outil.
Par exemple, selon un ou plusieurs modes de réalisation, à partir de la connaissance de l’axe de la zone de l’outil A500, une distance, notée d, entre un centre, noté 201’’, du dispositif de prise d’images 200’’ et un point, noté 501, coplanaire à un plan d’un objectif du dispositif de prise d’images 200’’ passant par le centre 201’’ peut être obtenue. La distance d peut être désignée par le terme ligne de base, ou « baseline » en anglais.
Le point 501 peut définir le centre d’un dispositif de prise d’images virtuel dirigé selon l’axe de l’outil A500. Une position 2D de l’extrémité 502 par rapport au dispositif de prise d’images virtuel peut alors être déduite. En particulier, l’extrémité 502 peut se trouver au centre d’une image virtuelle qui serait prise par le dispositif de prise d’images virtuel.
Ainsi, à partir de la distance d entre le centre 201’’du dispositif de prise d’images 200’’ et le centre 501 du dispositif de prise d’images virtuel, des positions de l’extrémité 502 par rapport au dispositif de prise d’images 200’’ et au dispositif de prise d’images virtuel, la position 3D de l’extrémité 502 par rapport au dispositif de prise d’images 200’’ peut être obtenue par triangulation. En particulier, un écart, désigné par le terme disparité, noté δ, peut être déterminé entre la position de l’extrémité 502 par rapport au dispositif de prise d’images 200’’ et la position de l’extrémité 502 par rapport au dispositif de prise d’images virtuel. Selon un ou plusieurs modes de réalisation, l’écart δ peut être mesuré en pixels entre la position de l’extrémité 502 par rapport au dispositif de prise d’images 200’’ et la position de l’extrémité 502 par rapport au dispositif de prise d’images virtuel. Une troisième coordonnée, ou profondeur, notée z, peut être calculée à partir de la disparité δ et d’une longueur focale, notée f, du dispositif de prise d’images 200’’. La profondeur z peut notamment être calculée selon la formule [Math. 3] ci-dessous :
[Math. 3]
z = (d*f)/ δ
Alternativement, selon un ou plusieurs modes de réalisation, lorsque le dispositif de prise d’images 200’’ comprend une caméra 3D, la position 3D de l’extrémité 502 par rapport au dispositif de prise d’images 200’’ peut directement être obtenue à partir d’une image 3D prise par le dispositif de prise d’images 200’’ et comprenant l’extrémité 502.
Ainsi, la est un diagramme illustrant le procédé 600 de détection d’une extrémité d’un accessoire fixé à la zone de l’outil 101’’, la position de la zone de l’outil 101’’ ayant été déterminée par l’un des procédés présentés ci-avant.
Dans une première étape DETECT_AXIS 601, l’axe A500 de la zone de l’outil 101’’ est déterminé.
Selon un ou plusieurs modes de réalisation, lorsque la position de la zone de l’outil 101’’ par rapport au dispositif de prise d’images 200’’ est connue, par exemple déterminée par l’un des procédés présentés ci-avant, et qu’une position de l’extrémité d’un accessoire fixé à la zone de l’outil 101’’ par rapport au dispositif de prise d’images 200’’ est également connue, par exemple déterminée par l’un des procédés présentés ci-avant, l’axe A500 de la zone de l’outil 101’’ peut être déterminé comme un unique axe passant par ces deux positions.
Alternativement, selon un ou plusieurs modes de réalisation, le dispositif de calibration comprend au point fixe P de localisation connue par rapport au dispositif de calibration une liaison pivot entre le point fixe P de localisation connue et la zone de l’outil. Selon un ou plusieurs modes de réalisation, l’axe A500 de la zone de l’outil 101’’ est déterminé en effectuant une rotation autour de l’axe A500 de la zone de l’outil 101’’ par l’intermédiaire de la liaison pivot. Plus particulièrement, une pluralité de positions du dispositif 200’’ de prise d’images par rapport à l’au moins un repère visuel du dispositif de calibration peut être acquise en fonction de la rotation autour de l’axe A500 de la zone de l’outil. Une équation de l’axe A500 de la zone de l’outil par rapport au dispositif de prise d’images 200’’ peut alors être déterminée à partir de la pluralité de positions du dispositif de prise d’images 200’’ par rapport à l’au moins un repère visuel. En effet, la pluralité de positions du dispositif de prise d’images 200’’ par rapport à l’au moins un repère visuel forme un arc de cercle dans un plan orthogonal à l’axe A500. Une direction de l’axe A500 peut ainsi être déduite de la connaissance du plan orthogonal à l’axe A500. La direction de l’axe A500 est la normale au plan orthogonal à l’axe A500. Ainsi, connaissant un point de l’axe A500, qui se situe au point P fixe de localisation connue, et une direction de l’axe A500, l’axe A500 peut être uniquement déterminé.
Dans une deuxième étape DET_COORD_PICT 602, la position 2D de l’extrémité 502 par rapport au dispositif de prise d’images 200’’ est obtenue dans une image 2D prise par le dispositif de prise d’images 200’’ et comprenant l’extrémité 502.
Selon un ou plusieurs modes de réalisation, la position 2D de l’extrémité 502 par rapport au dispositif de prise d’images 200’’ est obtenue par l’intermédiaire d’un algorithme d’apprentissage profond. Par exemple, un réseau de neurones convolutif, ou « Convolutional Neural Network, CNN » en anglais, peut être utilisé. Un réseau de neurones convolutif régional, ou « Regional Convolutional Neural Network, R- CNN » en anglais, peut notamment être utilisé. En particulier, un réseau de neurones convolutif régional à masque, ou « Mask Regional Convolutional Neural Network, Mask R- CNN » en anglais, peut être utilisé. L’algorithme d’apprentissage profond peut être entraîné avec des images d’entraînement pour détecter l’extrémité 502. Les images d’entraînement peuvent comprendre des images réelles et/ou des images simulées. Une augmentation de données, ou « data augmentation » en anglais, peut être réalisée à partir d’un ensemble initial des images d’entraînements pour obtenir un ensemble augmenté d’images d’entraînement.
Alternativement, selon un ou plusieurs modes de réalisation, la position 2D de l’extrémité 502 par rapport au dispositif de prise d’images 200’’ est obtenue en analysant une intensité lumineuse de pixels le long de l’axe A500 pour détecter l’extrémité 502. Par exemple, une détection de contours peut permettre d’extraire l’extrémité 502. En particulier, un détecteur de Canny, ou « Canny edge detector » en anglais, peut être utilisé pour extraire l’extrémité 502.
Alternativement, selon un ou plusieurs modes de réalisation, la position 2D de l’extrémité 502 par rapport au dispositif de prise d’images 200’’ est obtenue en analysant une pluralité d’images prises par le dispositif de prise d’images 200’’. En effet, l’extrémité 502 étant fixe par rapport au dispositif de prise d’images 200’’, la position de l’extrémité 502 par rapport au dispositif de prise d’images 200’’ peut être obtenue en déterminant une position d’un point fixe sur la pluralité d’images. En particulier, selon un ou plusieurs modes de réalisation, la pluralité d’images est issue d’un flux vidéo pris par le dispositif de prise d’images 200’’.
Dans une troisième étape DET_POS_TOOL/CAM 603, la position 2D de l’extrémité 502 par rapport au dispositif de prise d’images 200’’ est convertie en la position 3D de l’extrémité 502 par rapport au dispositif de prise d’images 200’’ en exploitant de la connaissance de l’axe A500 de la zone de l’outil comme expliqué en référence à la .
La montre, à titre d’exemple non limitatif de dispositif de calibration 700, une vue du dessus d’une planche de calibration. Alternativement, selon un ou plusieurs modes de réalisation non représentés, le dispositif de calibration est un objet 3D non plan.
Le dispositif de calibration 700 comprend un point fixe P de localisation connue par rapport au dispositif de calibration.
Le dispositif de calibration 700 représenté comprend une pluralité de repères visuels, dont les repères visuels référencés 701 et 702, de localisations connues par rapport au dispositif 700. Comme représenté sur la , le point fixe P a pour localisation T_offset_702 par rapport à un coin du repère visuel 702. La localisation du point fixe P dans le référentiel de chacun des repères visuels n’est pas représentée sur la aux fins de clarté. Les repères visuels représentés sur la sont des coins de marqueurs issus de la librairie OpenCV ArUco. Selon un ou plusieurs modes de réalisation non représentés, les repères visuels peuvent être des coins de marqueurs de type April Tags qui peuvent être trouvés à l’adresse suivante : https://april.eecs.umich.edu/software/apriltag. Alternativement, selon un ou plusieurs modes de réalisation non représentés, le dispositif de calibration 700 comprend un unique repère visuel de localisation connue par rapport au dispositif de calibration 700.
Optionnellement, selon un ou plusieurs modes de réalisation, le dispositif de calibration 700 comprend une partie d’une liaison pivot ou rotule située au niveau du point fixe P pour recevoir la zone de l’outil 101, 101’, 101’’.
Comme visible sur la , la partie de la liaison rotule 800 située au niveau du point fixe P peut être une demi-sphère creuse. La zone de l’outil 101 peut être munie d’un embout sphérique configuré pour se loger dans la demi-sphère lors de la calibration. Dans cette configuration, la zone de l’outil 101 peut ainsi être confondue avec le point fixe P. Alternativement, selon un ou plusieurs modes de réalisation non représentés, la partie de la liaison pivot située au niveau du point fixe P peut comprendre deux cylindres emboîtés.
Comme précédemment décrit, la zone de l’outil 101 est placée, par exemple manuellement par un opérateur, sur le point fixe P de localisation connue par rapport au dispositif de calibration 700. La position T_cal_702 du repère visuel 702 par rapport au dispositif de prise d’images 200 qui est un coin d’un marqueur est déterminée par l’intermédiaire du dispositif de prise d’images 200. Le robot RBT peut générer des mouvements de la zone de l’outil 101 sur le point fixe P par l’intermédiaire de la liaison 800. Lors de ces mouvements, les repères visuels acquis peuvent varier sans nuire à la réalisation du procédé proposé. La position T_tcp de la zone de l’outil 101 par rapport au dispositif de prise d’images 200 peut alors être déterminée à partir de la position T_cal_702 du repère visuel 702 par rapport au dispositif de prise d’images 200 et de la localisation T_offset_702 du point fixe P par rapport au repère visuel 702.
En fonction du mode de réalisation choisi, certains actes, actions, évènements ou fonctions de chacune des méthodes décrites dans le présent document peuvent être effectués ou se produire selon un ordre différent de celui dans lequel ils ont été décrits, ou peuvent être ajoutés, fusionnés ou bien ne pas être effectués ou ne pas se produire, selon le cas. En outre, dans certains modes de réalisation, certains actes, actions ou évènements sont effectués ou se produisent concurremment et non pas successivement.
En particulier, selon un ou plusieurs modes de réalisation, l’outil peut être muni d’une pluralité de dispositifs de prise d’images. Un nombre n de dispositifs de prise d’images de la pluralité de dispositifs de prise d’images peut avantageusement être choisi entre 2 et 4. Le procédé de calibration précédemment décrit peut alors être mis en œuvre pour les n dispositifs de prise d’images. Avantageusement, selon un ou plusieurs modes de réalisation, le procédé de calibration précédemment décrit peut être mis en œuvre n fois en parallèle, en utilisant le même dispositif de calibration.
Bien que décrits à travers un certain nombre d'exemples de réalisation détaillés, le procédé de calibration proposé et le dispositif pour la mise en œuvre d'un mode de réalisation du procédé comprennent différentes variantes, modifications et perfectionnements qui apparaîtront de façon évidente à l'homme de l'art, étant entendu que ces différentes variantes, modifications et perfectionnements font partie de la portée de la présente divulgation, telle que définie par les revendications qui suivent. De plus, différents aspects et caractéristiques décrits ci-dessus peuvent être mis en œuvre ensemble, ou séparément, ou bien substitués les uns aux autres, et l'ensemble des différentes combinaisons et sous-combinaisons des aspects et caractéristiques font partie de la portée de la présente divulgation. En outre, il se peut que certains systèmes et équipements décrits ci-dessus n'incorporent pas la totalité des modules et fonctions décrits pour les modes de réalisation préférés.
Claims (11)
- Procédé (300) de détermination d’une position d’une zone (101, 101’, 101’’) d’un outil par rapport à un dispositif de prise d’images (200, 200’, 200’’) situé sur l’outil (100, 100’, 100’’), le procédé comprenant les étapes consistant à :
- placer (301) la zone (101, 101’, 101’’) de l’outil sur un point fixe (P) de localisation connue par rapport à un dispositif de calibration (700), ledit dispositif de calibration (700) comportant au moins un repère visuel (701, 731),
- déterminer (302), par l’intermédiaire du dispositif de prise d’images (200, 200’, 200’’), la position du repère visuel (701, 731) par rapport au dispositif de prise d’images (200, 200’, 200’’),
- déterminer (303) la position de ladite zone (101, 101’, 101’’) de l’outil par rapport au dispositif de prise d’images (200, 200’, 200’’), à partir de la position du repère visuel (701, 731) par rapport au dispositif de prise d’images (200, 200’, 200’’) et de la localisation du point fixe (P) par rapport au dispositif de calibration (700).
- Procédé selon la revendication 1, dans lequel le dispositif de calibration (700) comporte une pluralité de repères visuels (701, 731) et dans lequel la position du dispositif de prise d’images est déterminée par rapport à au moins une partie de la pluralité de repères visuels (701, 731).
- Procédé selon l’une des revendications précédentes dans lequel une pluralité de positions de l’au moins un repère visuel (701, 731) par rapport au dispositif de prise d’images (200, 200’, 200’’) est déterminée par l’intermédiaire du dispositif de prise d’images (200, 200’, 200’’), le procédé comprenant en outre les étapes consistant à :
- déterminer, pour chacune des positions de la pluralité de positions déterminées de l’au moins un repère visuel (701, 731) par rapport au dispositif de prise d’images (200, 200’, 200’’), une position primaire de ladite zone (101, 101’, 101’’) de l’outil par rapport au dispositif de prise d’images (200, 200’, 200’’), à partir de la position du repère visuel (701, 731) par rapport au dispositif de prise d’images (200, 200’, 200’’) et de la localisation du point fixe (P) par rapport au dispositif de calibration (700),
- partitionner la pluralité de positions primaires de ladite zone (101, 101’, 101’’) de l’outil par rapport au dispositif de prise d’images (200, 200’, 200’’) en groupes,
- déterminer une taille d’un groupe contenant le plus de positions primaires,
- déterminer, en fonction de la taille du groupe déterminée, la position de ladite zone (101, 101’, 101’’) de l’outil par rapport au dispositif de prise d’images (200, 200’, 200’’), à partir des positions primaires du groupe de la taille déterminée.
- Procédé selon les revendications 2 et 3, dans lequel la pluralité de positions de l’au moins un repère visuel (701, 731) par rapport au dispositif de prise d’images (200, 200’, 200’’) comprend les positions qui ont été déterminées à partir d’une partie de la pluralité de repères visuels (701, 731) comprenant un nombre de repères visuels (701, 731) supérieur à un seuil.
- Procédé selon la revendication 4, dans lequel l’étape de détermination de la pluralité de positions primaires de ladite zone (101, 101’, 101’’) de l’outil par rapport au dispositif de prise d’images (200, 200’, 200’’) est itérée jusqu’à ce que la taille du groupe contenant le plus de positions primaires soit supérieure à une valeur seuil.
- Procédé selon l’une quelconque des revendications précédentes, dans lequel le dispositif de calibration (700) comprend, au point fixe (P) de localisation connue par rapport au dispositif de calibration (700), au moins une partie d’une liaison pivot ou d’une liaison rotule (800) entre le point fixe (P) de localisation connue et la zone (101, 101’, 101’’) de l’outil.
- Procédé selon la revendication précédente, comprenant en outre les étapes consistant à :
- effectuer une rotation de la zone (101, 101’, 101’’) de l’outil autour d’un axe (A500) de la zone (101, 101’, 101’’) de l’outil, par l’intermédiaire de la liaison pivot,
- déterminer, par l’intermédiaire du dispositif de prise d’images (200, 200’, 200’’), une pluralité de positions du dispositif de prise d’images (200, 200’, 200’’) par rapport à l’au moins un repère visuel (701, 731) du dispositif de calibration (700) en fonction de la rotation autour de l’axe (A500) de la zone (101, 101’, 101’’) de l’outil,
- déterminer un axe (A500) de la zone (101, 101’, 101’’) de l’outil par rapport au dispositif de prise d’images (200, 200’, 200’’), à partir de la pluralité de positions du dispositif de prise d’images (200, 200’, 200’’) par rapport au repère visuel (701, 731) en fonction de la rotation autour de l’axe (A500) de la zone (101, 101’, 101’’) de l’outil.
- Procédé selon l’une quelconque des revendications précédentes, comprenant en outre les étapes consistant à :
- ajouter un accessoire (ACC) à la zone (101, 101’, 101’’) de l’outil,
- placer une zone (502) de l’accessoire sur le point fixe (P) de localisation connue,
- déterminer, par l’intermédiaire du dispositif de prise d’images (200, 200’, 200’’), la position du repère visuel (701, 731) par rapport au dispositif de prise d’images (200, 200’, 200’’),
- déterminer la position de ladite zone (502) de l’accessoire par rapport au dispositif de prise d’images (200, 200’, 200’’), à partir de la position du repère visuel (701, 731) par rapport au dispositif de prise d’images (200, 200’, 200’’) et de la localisation du point fixe (P) par rapport au dispositif de calibration (700),
- déterminer un axe (A500) de la zone (101, 101’, 101’’) de l’outil par rapport au dispositif de prise d’images (200, 200’, 200’’), à partir de la position de ladite zone (101, 101’, 101’’) de l’outil par rapport au dispositif de prise d’images (200, 200’, 200’’) et de la position de ladite zone (502) de l’accessoire par rapport au dispositif de prise d’images (200, 200’, 200’’).
- Procédé selon la revendication 8, comprenant en outre, en vue de détecter un changement d’un second accessoire fixé à la zone (101, 101’, 101’’) de l’outil, les étapes consistant à :
- déterminer, par l’intermédiaire du dispositif de prise d’images (200, 200’, 200’’), la position d’une extrémité du second accessoire par rapport au dispositif de prise d’images (200, 200’, 200’’), à partir de l’axe (A500) de la zone de l’outil.
- Programme informatique comportant des instructions pour la mise en œuvre du procédé selon l’une des revendications 1 à 9 lorsque ce programme est exécuté par un processeur.
- Support d’enregistrement non transitoire lisible par un ordinateur sur lequel est enregistré un programme pour la mise en œuvre du procédé selon l’une des revendications 1 à 9 lorsque ce programme est exécuté par un processeur.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2210547A FR3140979A1 (fr) | 2022-10-13 | 2022-10-13 | Procédé de détermination d’une position d’une zone d’un outil |
PCT/FR2023/051599 WO2024079429A1 (fr) | 2022-10-13 | 2023-10-13 | Procédé de détermination d'une position d'une zone d'un outil |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2210547A FR3140979A1 (fr) | 2022-10-13 | 2022-10-13 | Procédé de détermination d’une position d’une zone d’un outil |
FR2210547 | 2022-10-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3140979A1 true FR3140979A1 (fr) | 2024-04-19 |
Family
ID=85122608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR2210547A Pending FR3140979A1 (fr) | 2022-10-13 | 2022-10-13 | Procédé de détermination d’une position d’une zone d’un outil |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3140979A1 (fr) |
WO (1) | WO2024079429A1 (fr) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130010081A1 (en) * | 2011-07-08 | 2013-01-10 | Tenney John A | Calibration and transformation of a camera system's coordinate system |
FR3069691A1 (fr) * | 2017-07-25 | 2019-02-01 | Safran | Procede de determination de la position et de l'orientation d'un capteur optique matriciel par rapport a un robot porteur |
-
2022
- 2022-10-13 FR FR2210547A patent/FR3140979A1/fr active Pending
-
2023
- 2023-10-13 WO PCT/FR2023/051599 patent/WO2024079429A1/fr unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130010081A1 (en) * | 2011-07-08 | 2013-01-10 | Tenney John A | Calibration and transformation of a camera system's coordinate system |
FR3069691A1 (fr) * | 2017-07-25 | 2019-02-01 | Safran | Procede de determination de la position et de l'orientation d'un capteur optique matriciel par rapport a un robot porteur |
Non-Patent Citations (3)
Title |
---|
AMY TABB ET AL: "Solving the Robot-World Hand-Eye(s) Calibration Problem with Iterative Methods", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 29 July 2019 (2019-07-29), XP081451012, DOI: 10.1007/S00138-017-0841-7 * |
PEDREGOSA ET AL.: "Scikit-leam : Machine Learning in Python", JMLR, vol. 12, 2011, pages 2825 - 2830 |
S. GARRIDO-JURADOR. MUNOZ-SALINASF. J. MADRID-CUEVASM. J. MARIN-JIMÉNEZ: "Automatic génération and détection of highly reliable fiducial markers under occlusion", PATTERN RECOGN, vol. 47, no. 6, June 2014 (2014-06-01), pages 2280 - 2292, XP055601771, DOI: 10.1016/j.patcog.2014.01.005 |
Also Published As
Publication number | Publication date |
---|---|
WO2024079429A1 (fr) | 2024-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2491532B1 (fr) | Procede, programme d'ordinateur et dispositif de suivi hybride de representations d'objets, en temps reel, dans une sequence d'images | |
FR2976107A1 (fr) | Procede de localisation d'une camera et de reconstruction 3d dans un environnement partiellement connu | |
EP0863413A1 (fr) | Procédé et dispositif de localisation d'un objet dans l'espace | |
CN110672007A (zh) | 一种基于机器视觉的工件表面质量检测方法及系统 | |
EP2724203A1 (fr) | Génération de données de carte | |
EP3614306B1 (fr) | Procédé de localisation et d'identification de visage et de détermination de pose, à partir d'une vue tridimensionnelle | |
EP0059121A1 (fr) | Dispositif et procédé de localisation d'objets tridimensionnels en vrac pour la commande d'un terminal de préhension | |
EP3072109A1 (fr) | Procede d'estimation de la vitesse de deplacement d'une camera | |
EP3679517A1 (fr) | Procede de determination des bords saillants d'une cible sur une image | |
FR3027144A1 (fr) | Procede et dispositif de determination de mouvement entre des images video successives | |
FR3140979A1 (fr) | Procédé de détermination d’une position d’une zone d’un outil | |
EP4314703A1 (fr) | Imagerie de profondeur en mode mixte | |
WO2021009431A1 (fr) | Procede de determination de parametres d'etalonnage extrinseques d'un systeme de mesure | |
FR3066303B1 (fr) | Procede de calibration d'un dispositif de surveillance d'un conducteur dans un vehicule | |
FR2884781A1 (fr) | Methode et dispositif de calibrage de camera | |
FR3147650A1 (fr) | Procédé et dispositif de détermination d’une profondeur par un système de vision auto-supervisé. | |
FR3147648A1 (fr) | Procédé et dispositif de détermination de masques de visibilité pour un système de vision embarqué dans un véhicule. | |
FR2946446A1 (fr) | Procede et dispositif de suivi d'objets en temps reel dans une sequence d'images en presence de flou optique | |
EP3757943B1 (fr) | Procédé et dispositif de télémétrie passive par traitement d'image et utilisation de modeles en trois dimensions | |
FR3147647A1 (fr) | Procédé et dispositif de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule. | |
FR3147651A1 (fr) | Procédé et dispositif de détermination d’une profondeur par un système de vision stéréoscopique non parallèle. | |
FR3146005A1 (fr) | Procédé et dispositif de détection d’un défaut d’étalonnage d’un système de vision stéréoscopique non parallèle embarqué dans un véhicule. | |
FR3146006A1 (fr) | Procédé et dispositif de détection d’un défaut d’étalonnage d’un système de vision stéréoscopique non parallèle. | |
EP4169005A1 (fr) | Procede et systeme de caracterisation geometrique de feux | |
WO2015071426A1 (fr) | Système et un procédé de caractérisation d'objets d'intérêt présents dans une scène |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20240419 |
|
PLFP | Fee payment |
Year of fee payment: 3 |