FR2987685A1 - Procede de commande d'un robot pour le deplacement d'au moins un objet dispose sur un support dans un espace 3d - Google Patents

Procede de commande d'un robot pour le deplacement d'au moins un objet dispose sur un support dans un espace 3d Download PDF

Info

Publication number
FR2987685A1
FR2987685A1 FR1251930A FR1251930A FR2987685A1 FR 2987685 A1 FR2987685 A1 FR 2987685A1 FR 1251930 A FR1251930 A FR 1251930A FR 1251930 A FR1251930 A FR 1251930A FR 2987685 A1 FR2987685 A1 FR 2987685A1
Authority
FR
France
Prior art keywords
space
geometric
geometric primitive
image
robot
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
Application number
FR1251930A
Other languages
English (en)
Inventor
Stephane Morel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AKEO PLUS
Original Assignee
AKEO PLUS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by AKEO PLUS filed Critical AKEO PLUS
Priority to FR1251930A priority Critical patent/FR2987685A1/fr
Publication of FR2987685A1 publication Critical patent/FR2987685A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40053Pick 3-D object from pile of objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)

Abstract

Ce procédé comprend les étapes : - d'acquisition d'au moins deux images 2D de l'espace 3D, - de segmentation de chaque image 2D précédemment acquise, destinée à extraire de chaque image 2D au moins une primitive géométrique 2D (15), - de recherche de correspondances entre les primitives géométriques 2D (15) extraites d'images 2D distinctes, - de calcul des coordonnées d'une primitive géométrique 3D contenue dans l'espace 3D pour chaque groupe de primitives géométriques 2D (15) correspondantes, - d'association de chaque primitive géométrique 3D avec un objet (1) connu, - de recherche de la position et de l'orientation dans l'espace 3D de chaque objet (1) connu auquel a été associée au moins une primitive géométrique 3D, - de déplacement par l'intermédiaire du robot (101) d'au moins l'un des objets (1) connus.

Description

La présente invention concerne un procédé de commande d'un robot pour le déplacement d'un objet disposé dans un espace tridimensionnel. Dans un souci d'amélioration de la performance et des cadences de production, il est particulièrement avantageux d'automatiser les lignes de production. Les robots utilisés dans les lignes de production se déplacent généralement selon des trajectoires qui sont déterminées, ou au moins déterminables. Il arrive cependant que des robots doivent accomplir parfois des tâches pour lesquelles leurs mouvements ne peuvent pas être déterminés à l'avance. Cela s'avère être le cas de robots destinés à saisir des pièces dont la position et l'orientation sont aléatoires. A titre d'exemples, il peut s'agir de composants qui sont acheminés jusqu'au(x) robot(s) via un tapis roulant et qui sont disposées aléatoirement sur ce dernier, ou encore de composants disposés en vrac sur un support ou dans un récipient aussi appelé bac. Les composants ou pièces à saisir ou déplacer peuvent en outre être de forme, de matière et de dimensions différentes. Dans ces situations, il devient nécessaire de pouvoir détecter, reconnaître, localiser et connaître l'orientation des composants, ou objets, pour ensuite commander conséquemment les déplacements du robot dont la tâche est de les attraper ou les déplacer.
Il est connu de détecter un objet dans un espace tridimensionnel (3D), aussi appelé scène, par l'intermédiaire d'une caméra unique permettant l'acquisition d'images en deux dimensions (2D). Cette caméra 2D renvoie classiquement une image correspondant à un plan de projection de la scène observée. La difficulté réside ainsi dans l'appréciation de la profondeur. Cette troisième dimension est classiquement extrapolée par calibration de la caméra 2D. Cependant, on comprendra aisément que la précision de la localisation des objets selon la profondeur s'avère limitée. Il est également connu d'utiliser une caméra en liaison avec un laser qui balaye la scène. Cette technique offre la possibilité de réaliser un nuage de points 3D, qui permet une bonne appréciation de la profondeur. Mais elle pose le problème de la classification des points du nuage de points 3D, c'est-à-dire de leur appartenance à tel ou tel objet recherché. En particulier, cette technique offre une robustesse limitée pour des objets de forme complexe. En outre, elle nécessite le déplacement du laser pour lui permettre de balayer l'ensemble de la scène. Ce déplacement est chronophage et, compte-tenu de la répétition des opérations de mesure dans le cadre d'une industrialisation, peut impacter sensiblement la cadence d'une ligne de production. Il nécessite en outre l'utilisation d'une motorisation pour le déplacement du laser. Il existe aussi des systèmes de détection d'objets par stéréovision.
Ces systèmes comprennent traditionnellement deux caméras 2D, qui acquièrent chacune, simultanément, une image 2D de la scène. Cette technique offre une bonne précision des mesures dans la profondeur. Cependant, elle s'avère particulièrement sensible aux phénomènes de bruit, qui peuvent fausser le résultat ; sa robustesse est donc limitée.
Plus récemment, une technique utilisant une caméra de profondeur infrarouge a été développée. La robustesse de cette technique est cependant limitée, notamment en raison de sa dépendance à la couleur des objets et aux phénomènes de réflexion sur ces objets. On notera enfin que la détection puis la saisie d'objets par un robot peut être facilitée grâce à des systèmes mécaniques permettant de disperser les objets, comme un tapis vibrant. Toutefois, ces systèmes sont souvent encombrants. Il existe donc un besoin de pouvoir détecter et déplacer des objets par un robot sans restriction de l'espace disponible. Aussi la présente invention vise à pallier tout ou partie de ces inconvénients en proposant un procédé et un système de commande d'un robot pour le déplacement d'un objet contenu dans un espace 3D, ou scène, peu sensible aux variations lumineuses et offrant robustesse, rapidité d'exécution, tout en étant d'un encombrement limité. A cet effet, la présente invention a pour objet un procédé de 25 commande d'un robot pour le déplacement d'au moins un objet disposé sur un support dans un espace 3D, caractérisé en ce que le procédé comprend les étapes : - d'acquisition d'au moins deux images 2D de l'espace 3D, par l'intermédiaire d'un système de vision 2D, 30 - de segmentation de chaque image 2D précédemment acquise, destinée à extraire de chaque image 2D au moins une primitive géométrique 2D, - de recherche de correspondances entre les primitives géométriques 2D extraites d'images 2D distinctes, afin de 35 définir des groupes de primitives géométriques 2D correspondantes, - de calcul des coordonnées d'une primitive géométrique 3D contenue dans l'espace 3D pour chaque groupe de primitives géométriques 2D correspondantes, - d'association de chaque primitive géométrique 3D avec un objet connu, - de recherche de la position et de l'orientation dans l'espace 3D de chaque objet connu auquel a été associée au moins une primitive géométrique 3D, - de déplacement par l'intermédiaire du robot d'au moins l'un des objets connus disposé dans l'espace 3D. Ainsi, le procédé selon l'invention offre la possibilité de détecter, localiser et orienter des objets dans un espace 3D. Ce procédé, basé sur une succession d'étapes robustes et itératives permet d'aboutir rapidement (algorithmes inférieurs à la seconde) et avec robustesse au guidage d'un robot pour le déplacement (dont préhension) d'un ou plusieurs objets. Le procédé selon l'invention présente en outre l'avantage d'être peu sensible aux variations de la lumière ambiante. Il permet aussi bien de traiter de petits objets de près que des objets de dimensions plus importantes de loin.
Selon une possibilité, l'extraction d'au moins une primitive géométrique 2D comprend la reconnaissance d'un motif de base via une technique de corrélation d'images 2D robuste.Le cas échéant, le calcul des coordonnées d'une primitive géométrique 3D peut être accompagné du calcul des coordonnées du centre et de l'orientation de chaque motif de base reconnu. Selon une forme d'exécution, l'étape de recherche de correspondances entre les primitives géométriques 2D extraites d'images 2D distinctes est mise en oeuvre par des techniques de classification des plus proches voisins sur les images 2D rectifiées.
Selon une caractéristique du procédé selon l'invention, celui-ci comprend, préalablement à l'étape de calcul des coordonnées d'une primitive géométrique 3Dcontenue dans l'espace 3D pour chaque groupe de primitives géométriques 2D correspondantes, une étape de discrétisation de chaque primitive géométrique mise en correspondance.
La discrétisation des primitives géométriques permet de limiter la quantité de données à traiter, donc d'augmenter la rapidité d'exécution du procédé selon l'invention, sans perdre en robustesse. Selon une autre caractéristique du procédé selon l'invention, l'étape d'association de chaque primitive géométrique 3D avec un objet connu comprend une étape de définition d'un ensemble de primitives géométriques caractéristiques d'un objet connu, et de comparaison de chaque primitive géométrique 3D avec les primitives géométriques caractéristiques de chaque objet connu.
Selon une caractéristique du procédé selon l'invention, celui-ci comprend une étape de calibration du système de vision 2D. Selon encore une autre caractéristique du procédé selon l'invention, l'étape de définition d'un ensemble de primitives géométriques caractéristiques de l'objet connu est réalisée à partir d'un modèle géométrique 15 de l'objet connu sur fichier de conception assistée par ordinateur (CAO). Selon une forme d'exécution, l'étape de recherche de la position et de l'orientation dans l'espace 3D de chaque objet connu comprend une étape de calcul des coordonnées d'un point caractéristique de chaque objet connu par translations successives de ce point caractéristique depuis l'origine d'un 20 repère fixe jusqu'à un point caractéristique de la primitive géométrique 3D correspondante. Selon un mode de réalisation, l'étape de recherche de la position et de l'orientation dans l'espace 3D de chaque objet connu comprend une étape de calcul des angles d'Euler de chaque objet connu par rapport au repère fixe 25 (31), par rotations successives selon trois axes du repère fixe (31) et ayant pour centre de rotation le point caractéristique de chaque objet connu. Avantageusement, le procédé selon l'invention comprend une étape de vérification de la meilleure position et orientation possibles de chaque objet connu dans l'espace 3D, par calcul de la distance entre des points de 30 chaque objet connu et des points de chaque primitive géométrique 3D correspondante avec un algorithme de recherche des plus proches voisins. Cela permet d'augmenter la précision et la robustesse du procédé selon l'invention. Selon une possibilité, le procédé selon l'invention comprend les 35 étapes : - d'acquisition d'un nuage de points 3D par l'intermédiaire d'un système de numérisation 3D, - de classification des points du nuage de points 3D, destinée à associer des points du nuage de points 3D à chaque primitive géométrique 3D.
Ces étapes offrent l'avantage d'une meilleure précision des mesures effectuées. Elles sont particulièrement avantageuses pour des objets de forme complexe ou dans des environnements difficiles, c'est-à-dire des environnements industriels (poussière, chaleur, vibrations, etc.) et extérieurs (changement de luminosité, nuages). Elles contribuent ainsi à la robustesse du procédé selon l'invention. De manière avantageuse, le procédé selon l'invention comprend, préalablement à l'étape de déplacement d'au moins l'un des objets connus, une étape de sélection de l'un des objets connus à déplacer le premier. Selon un mode de réalisation, l'étape de sélection de l'un des objets connus à déplacer le premier comprend une étape de calcul des coordonnées du support, et en fonction du résultat de ce calcul, de calcul de la position et de l'orientation dans l'espace 3D de chaque objet connu préalablement localisé et orienté. Cela permet de déterminer les nouvelles coordonnées des objets 20 connus et recherchés en cas de déplacement imprévu du support, donc de gagner en robustesse. Le procédé selon l'invention peut donc être auto-adaptatif, en fonction d'un mouvement de l'environnement. Selon un mode de réalisation, le procédé selon l'invention comprend, préalablement à l'étape d'association de chaque primitive 25 géométrique 3D avec un objet connu, une étape de requalification de chaque primitive géométrique 3D. L'invention concerne également un produit programme d'ordinateur comprenant des instructions permettant de réaliser les étapes d'un procédé conforme à l'invention, un support de stockage de données comprenant un tel 30 produit programme d'ordinateur, et un système de commande d'un robot pour le déplacement d'un objet disposé dans un espace 3D, sur un support, caractérisé en ce qu'il comprend un système de vision 2D avec au moins une caméra 2D,chaque caméra 2D étant destinée à acquérir au moins une image 2D de l'espace 3D, des moyens de traitement de chaque image 2D, des 35 moyens de calcul et de commande comprenant un produit programme d'ordinateur ayant les caractéristiques précitées, destinés à commander des déplacements du robot en fonction des résultats de calculs effectués sur la base des données collectées à partir des images traitées par les moyens de traitement d'image. Selon une possibilité, les moyens de calcul et de commande comprennent un ordinateur avec un processeur. Le cas échéant, le produit programme est implémenté pour être exécuté par l'ordinateur. Selon un mode de réalisation, les moyens de calcul et de commande comprennent une carte électroniquehybride temps réel, par exemple du type ARM, DSP ou FPGA. Le cas échéant, le produit programme d'ordinateur est implémenté pour être exécuté par la carte électronique embarquée. Avantageusement, le système de commande comprend un capteur 3D. Ainsi, le système de commande du robot pour la mise en oeuvre du procédé selon l'invention est un système hybride 2D/3D qui permet de reconnaître de manière robuste et rapide la position d'un objet connu et recherché dans un espace 3D. D'autres caractéristiques et avantages de la présente invention ressortiront clairement de la description détaillée ci-après d'un mode de réalisation de la présente invention, donné à titre d'exemple non limitatif, en référence aux dessins annexés dans lesquels : - la figure 1 est un organigramme montrant les différentes étapes possibles du procédé selon l'invention, - la figure 2 est une représentation schématique d'un système de commande pour la mise en oeuvre du procédé selon l'invention, - les figures 3 à 7 illustrent de façon schématique certaines des étapes du procédé selon l'invention, - la figure 8 est une représentation schématique illustrant plus particulièrement la mise en correspondance de primitives géométriques. La figure 1 représente plusieurs étapes d'un procédé de commande d'un robot 101 selon l'invention, agencées selon un ordre 35 chronologique possible.
Comme illustré à la figure 2, qui montre un système de commande 100, le procédé selon l'invention permet de commander un robot 101, notamment un bras de robot 106, pour le déplacement d'un ou plusieurs objets 1 disposés dans un espace 3D. Le bras de robot 106 peut par exemple permettre de soulever les objets 1 ou de les saisir, et être munis d'un ou plusieurs outils convenant à cet usage. Les objets 1 peuvent être disposés en vrac dans cet espace 3D, c'est-à-dire de manière aléatoire et non ordonnée. Ainsi, le procédé selon l'invention permet de commander un robot 101 pour le déplacement d'objets 1 10 tridimensionnels dont l'orientation et la disposition relatives sont inconnues. De plus, les objets 1 contenus dans l'espace 3D peuvent être identiques ou différents. Ainsi, dans l'exemple de la figure 2, les objets 1 correspondent à un premier écrou 2, un deuxième écrou 3 et un troisième écrou 4, de forme 15 identique, et disposés en vrac. Les objets 1 sont disposés sur un support 5. Le support 5 peut correspondre à un récipient, ou bac, destiné à contenir une pluralité d'objets 1 dans un volume prédéterminé. Selon une première étape El, une pluralité d'images 2D d'une 20 scène de travail est acquise par l'intermédiaire d'un système de vision 2D. La scène de travail correspond à un espace 3D incluant le support 5 et les objets 1 répartis sur/dans ce support 5. Le système de vision 2D peut comprendre deux capteurs 2D, comme des caméras 2D 102. Dans l'exemple de la figure 2, le système de 25 vision 2D de la scène comprend trois caméras 2D 102, une première caméra 6, une deuxième caméra 7, et une troisième caméra 8, destinées chacune à acquérir une projection 2D de la scène avec des angles de vue différents. Ainsi, les caméras 2D 102 peuvent ne pas être alignées et avoir des lignes de mire non parallèles. 30 Il peut aussi être envisagé un système de vision 2D avec un unique capteur 2D (par exemple caméra 2D) déplacé en au moins deux positions distinctes, dans chacune desquelles le capteur 2D acquiert une image 2D de la scène. Selon une deuxième étape E2, des moyens de traitement d'image 35 103 permettent d'extraire de chaque image 2D des primitives géométriques 2D 15. Chaque primitive géométrique 2D 15 correspond à une forme géométrique destinée à caractériser un objet 1 à détecter, comme cela sera décrit plus en détails ci-après. Les primitives géométriques 2D 15 utilisées pour la mise en oeuvre du procédé selon l'invention correspondent par exemple à un point, un segment, une droite, un plan, un cercle, une ellipse, un quadrilatère (dont carré, losange, rectangle, parallélogramme, trapèze), une spline, ou une courbe. Certaines primitives géométriques comme les points, les quadrilatères ou les ellipses peuvent être aussi détectées par corrélation d'image à partir d'un motif de référence.
L'étape E2 de segmentation est effectuée de manière indépendante pour chaque image 2D. Les primitives géométriques 2D 15 peuvent être extraites selon une technique de détection des contours. Pour faciliter la détection des contours de chaque image 2D, des moyens d'éclairage 107 de la scène de travail peuvent 15 être prévus. Dans l'exemple de la figure 3, une première image 10 en 2D est obtenue grâce à la première caméra 6, une deuxième image 11 est obtenue grâce à la deuxième caméra 7, et une troisième image 12 est obtenue grâce à la troisième caméra 8. 20 Comme cela est visible sur les figures 1 à 3, de la première image 10 peuvent être extraites trois primitives géométriques 2D 15 : une droite 16, une ellipse 17 et un parallélogramme 18. De la deuxième image 11 peuvent être extraites trois primitives géométriques 2D 15 : une droite 19, une ellipse 20 et un point 21. De la troisième image 7 peuvent être extraites trois primitives 25 géométriques 2D 15 : une droite 22, un point 23 et un parallélogramme 24. Selon une troisième étape E4, les primitives géométriques 2D 15 extraites de chaque image 2D sont mises en correspondance avec les primitives géométriques 2D 15 de chacune des autres images 2D acquises,à partir d'une reconnaissance par fenêtrage local des images rectifiées selon un 30 plan de correspondance nul défini lors de la calibration. Cette technique, illustrée à la figure 8, utilise un fenêtrage dynamique dépendant du décalage en z par rapport au plan de correspondance nul. La figure 8 montre un exemple pour une forme géométrique 50de type carré, avec une fenêtre de correspondance 51 du carré dans le plan de correspondance nul zo et une 35 fenêtre de correspondance dynamique 52 fonction du décalage en z. Un algorithme analyse la cohérence des points et des formes par rapport à la position des caméras 2D 102 et de l'objet 1 pour valider la correspondance. Cette étape E4 permet de former des groupes de primitives géométriques 2D 15 correspondantes. Chaque groupe ainsi formé comprend au minimum deux primitives géométriques 2D 15, chacune extraite d'une image 2D distincte. Autrement dit, les primitives géométriques 2D 15 qui n'apparaissent que sur une image 2D ne sont pas retenues. Ainsi, en référence à l'exemple de la figure 3, les droites 16, 19, 22 extraites respectivement de la première image 10, de la deuxième image 11 et de la troisième image 12 sont mises en correspondance. Elles forment un groupe de primitives géométriques 2D 15 correspondantes auquel sera associée une primitive géométrique 3D 30. De même, les ellipses 17, 20 extraites respectivement de la première image 10 et de la deuxième image 11 sont mises en correspondance ; les parallélogrammes 18, 23 extraits respectivement de la première image 10 et de la troisième image 12 sont mis en correspondance ; les points 21, 23 extraits respectivement de la deuxième image 11 et de la troisième image 12 sont mis en correspondance. On notera que cette étape E4 de mise en correspondance des primitives géométriques 2D 15 nécessite une étape E3 préalable de calibration 20 de chaque caméra 2D 102, ici de la première caméra 6, de la deuxième caméra 7 et de la troisième caméra 8. Cette étape de calibration de chaque caméra 2D 102 permet d'établir une relation entre les coordonnées des points de l'espace 3D et les coordonnées 2D de leur projection dans chaque image 2D acquise. 25 L'étape de recherche des primitives géométriques 2D 15 par traitement d'image caméra par caméra peut être réalisée avant ou après l'étape E3 de calibration. Le procédé selon l'invention peut comprendre avantageusement, après l'étape E4 de mise en correspondance des primitives géométriques 2D 30 15, une étape E5 de discrétisation des primitives géométriques 2D 15 correspondantes sur chaque image 2D, comme cela est représenté sur la figure 4. Dans une quatrième étape E6, illustrée à la figure 5, les coordonnées 2D des primitives géométriques 2D 15 (discrétisées ou non) 35 permettent, pour chaque groupe de primitives géométriques 2D 15 correspondantes, le calcul des coordonnées 3D d'une primitive géométrique 3D 30 dans un repère fixe 31 de l'espace 3D, par triangulation. Ainsi, à chaque groupe de primitives géométriques 2D 15 correspondantes peut correspondre une primitive géométrique 3D 30.
A cet effet, les coordonnées 2D des primitives géométriques 2D 15 discrétisées sont injectées dans un algorithme de triangulation qui permet de déterminer, via des moyens de calculet de commande tels qu'un ordinateur 104 muni d'un processeur 105 CPU ou tels qu'une électronique embarquée supportant aussi les mêmes algorithmes, les coordonnées de chaque primitive géométrique 3D 30 dans l'espace 3D. A l'issue de l'étape E6 de triangulation d'une primitive géométrique 3D 30 pour chaque groupe de primitives géométriques 2D 15 correspondantes, le procédé selon l'invention peut comprendre une étape E7 de requalification de chaque primitive géométrique 3D 30 triangulée, c'est-à-dire d'identification de la forme réelle des primitives géométriques 2D 15 dans l'espace 3D. En effet, vu sous un certain angle, un cercle peut prendre l'aspect d'une ellipse, un rectangle peut prendre l'aspect d'un parallélogramme. Ainsi, selon l'exemple de la figure 5, les droites 16, 19, 22 correspondantes de la première image 10, de la deuxième image 11, et de la troisième image 12 restent une même droite 35 dans l'espace 3D, les ellipses 17, 20 de la première image 10 et de la deuxième image 11 correspondent en fait à un même cercle 36 dans l'espace 3D, les parallélogrammes 18, 23 de la première image 10 et de la troisième image 12 correspondent en fait à un même rectangle 37 dans l'espace 3D, et les points 21, 23 de la deuxième image 11 et de la troisième image 12 restent un même point 38 dans l'espace 3D. On notera ici que sur la figure 5, le point 38 correspond à l'un des angles du rectangle 37. Selon un mode de réalisation de l'invention, une étape E8 30 d'acquisition d'un nuage de points 3D et de classification des points 3D de ce nuage peut être avantageusement prévue à l'issue de l'étape E6 ou de l'étape E7. L'acquisition du nuage de points 3D est effectuée par l'intermédiaire d'un système de numérisation 3D, comprenant au moins capteur 35 3D, référencé 40 sur la figure 1. Le capteur 3D 40 peut correspondre à une frange laser, des franges de lumière structurée, ou un capteur de profondeur comme un capteur infrarouge basé sur la technologie « temps de vol ». Des moyens de déplacement du capteur 3D 40 peuvent être prévus. En particulier, l'étape E8 d'acquisition et de classification du nuage de points 3D vise à utiliser des métriques particulières comme la distance Euclidienne ou celle de Mahalanobispermettant de trouver, à partir des positions des points du capteur 3D 40, les points 3D environnants chaque primitive géométrique 3D 30 triangulée. Les points 3D obtenus permettent notamment de définir des plans. La classification des points 3D obtenus vise à définir 10 l'appartenance de ces points 3D avec l'une ou l'autre des primitives géométriques 3D 30 triangulées. Ainsi, les primitives géométriques 3D 30 triangulées peuvent être notamment associées à des plans comprenant une pluralité de points 3D, ce qui permet d'identifier aisément l'objet auquel correspondent cette primitive 15 géométrique 3D et ce(s) plan(s). Selon la représentation de la figure 6, les cercles pointillés 41 symbolisent l'appartenance des points 3D à l'une des primitives géométriques 3D 30 triangulée. Ainsi, les points 3D référencés 42 sont associés à la droite 35, les 20 points 3D référencés 43 sont associés au cercle 36, et les points 3D référencés 44 sont associés au rectangle 37. A l'issue de l'étape E6, E7, ou E8, le procédé selon l'invention comprend une étape E9d'association de chaque primitive géométrique 3D (30) triangulée avec un objet 1 connu et recherché, sur la base des primitives 25 géométriques 3D 30 triangulées et, le cas échéant, des points 3D du nuage de points 3D. L'étape E9 vise à déterminer le ou les objets 1 à l'origine de chaque primitive géométrique 3D 30. L'étape E9 d'association de chaque primitive géométrique 3D 30 triangulée avec un objet 1 connu et recherché est comprend une étape de 30 définition d'un ensemble de primitives géométriques caractéristiques de l'objet 1 connu, et de comparaison de chaque primitive géométrique 3D 30 triangulée avec les primitives géométriques de chaque objet 1 connu L'ensemble de primitives géométriques caractéristiques des objets 1 peut être obtenu à partir d'une numérisation de chaque objet 1, à partir d'un 35 fichier de conception assistée par ordinateur (CAO), ou à partir d'une description manuelle, c'est-à-dire à partir de données saisies par un utilisateur, de ces primitives géométriques caractéristiques de chaque objet 1 à détecter. Le procédé selon l'invention comprend ensuite une étape E10 de recherche de position et d'orientation de chaque objet 1 auquel a été associée 5 au moins une primitive géométrique 3D 30. L'étape E10 est réalisée sur la base d'une stratégie de blocage itératif de six degrés de liberté (trois en translations selon les axes x, y, z du repère fixe 31, et trois rotations par rapport aux axes x, y, z du repère fixe 31) d'un repère objet 46, rattaché à chaque objet 1, par rapport au repère fixe 31.
10 L'étape E10 comprend à cet effet une étape de recherche d'un point caractéristique d'une primitive géométrique 3D 30 associée à l'objet 1, par exemple le centre du carré si la primitive géométrique 3D 30 est un carré, à faire coïncider avec un point géométrique caractéristique d'une primitive géométrique elle-même caractéristique de l'objet 1. Ce point caractéristique, ou 15 centre objet, pourra correspondre à l'origine 47 du repère objet 46. Dans l'exemple de la figure 7, le centre objet peut correspondre au centre du cercle 48 délimité par le trou 49, le cercle 48 correspondant à une primitive géométrique caractéristique de l'objet 1. Par translations successives depuis l'origine O du repère fixe 31, 20 l'origine 47 du repère objet 46 est ainsi placée aux coordonnées du point caractéristique de la primitive géométrique 3D 30. Chaque objet 1 est ainsi localisé/centré. Ensuite, par rotations successives autour des axes du repère fixe 31 et ayant pour centre l'origine 47 du repère objet 46, les angles d'Euler de 25 chaque objet 1 sont calculés. Leur calcul permet d'obtenir l'orientation de l'objet 1 dans l'espace 3D. Selon une possibilité, le procédé selon l'invention comprend une étape de calcul de la meilleure position et orientation possible par une technique de recherche des plus proches voisins entre des points de l'objet 1 30 et des points mesurés sur la scène (par exemple de points discrétisés de la primitive géométrique 3D 30 correspondante ou des points 3D correspondants du nuage de points 3D). Il est ainsi procédé pour chaque objet 1 détecté dans l'espace 3D. Une fois les objets 1 détectés, localisés et orientés, le procédé 35 selon l'invention peut comprendre une étape El 1 de sélection du meilleur 2 9876 85 13 candidat parmi ces objets 1 pour être déplacé en premier par le robot 101, ou scoring. Cette étape El 1 de scoring consiste à déterminer l'objet 1 le plus facile à déplacer, en affectant à chaque objet 1 détecté, localisé et orienté un 5 score sur la base d'un ou plusieurs critères prédéterminés. Ces critères peuvent correspondre à la forme de l'outil du robot 101 destiné au déplacement des objets 1, au nombre de prises possibles du robot 101 par rapport à la forme de l'objet 1, à la forme du support 5 sur lequel sont disposés les objets 1 ou à celle des pièces environnants chaque objet 1, à la 10 position de l'objet 1 (par rapport à son support 5, dans la profondeur) ou à l'orientation de l'objet 1 (ce critère pouvant notamment être apprécié en combinaison avec la position de l'objet 1 par rapport à son support 5). Les critères peuvent être pondérés afin d'affecter un score à chaque objet 1 détecté, localisé et orienté.
15 L'étape El 1 de scoring comprend également une étape de calcul des coordonnées du support 5 des objets 1 dans l'espace 3D, le support 5 servant de référence locale pour le déplacement des objets 1 par le robot 101. En fonction des coordonnées calculées du support 5, dont la position normale dans l'espace 3D est connue, il est possible de déduire si le 20 support 5 a été déplacé, et donc de recalculer les coordonnées de chaque objet 1 préalablement détecté, localisé et orienté dans l'espace 3D, ainsi que leur orientation, afin de tenir compte des éventuels déplacements du support 5 (qui reste normalement immobile). Bien entendu, l'invention n'est pas limitée au mode de réalisation 25 du procédé selon l'invention décrit ci-dessus, ce mode de réalisation n'ayant été donné qu'à titre d'exemple, mais en embrasse au contraire toutes les variantes.

Claims (15)

  1. REVENDICATIONS1. Procédé de commande d'un robot (101) pour le déplacement d'au moins un objet (1) disposé sur un support (5) dans un espace 3D, 5 caractérisé en ce que le procédé comprend les étapes : - d'acquisition d'au moins deux images 2D de l'espace 3D, par l'intermédiaire d'un système de vision 2D, - de segmentation de chaque image 2D précédemment acquise, destinée à extraire de chaque image 2D au moins une primitive 10 géométrique 2D (15), - de recherche de correspondances entre les primitives géométriques 2D (15) extraites d'images 2D distinctes, afin de définir des groupes de primitives géométriques 2D (15) correspondantes, 15 - de calcul des coordonnéesd'une primitive géométrique 3D (30) contenue dans l'espace 3D pour chaque groupe de primitives géométriques 2D (15) correspondantes, - d'association de chaque primitive géométrique 3D (30) avec un objet (1) connu, 20 - de recherche de la position et de l'orientation dans l'espace 3D de chaque objet (1) connu auquel a été associée au moins une primitive géométrique 3D (30), - de déplacement par l'intermédiaire du robot (101) d'au moins l'un des objets (1) connus disposé dans l'espace 3D. 25
  2. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend, préalablement à l'étape de calcul des coordonnées d'une primitive géométrique 3D (30) contenue dans l'espace 3D pour chaque groupe de primitives géométriques 2D (15) correspondantes, une étape de discrétisation 30 de chaque primitive géométrique (15) mise en correspondance.
  3. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que l'étape d'association de chaque primitive géométrique 3D (30) avec un objet (1) connu comprend une étape de définition d'un ensemble de primitives 35 géométriques caractéristiques d'un objet (1) connu, et de comparaison de 2 9876 85 15 chaque primitive géométrique 3D (30) avec les primitives géométriques caractéristiques de chaque objet (1) connu.
  4. 4. Procédé selon la revendication 3, caractérisé en ce que l'étape 5 de définition d'un ensemble de primitives géométriques caractéristiques de l'objet (1) connu est réalisée à partir d'un modèle géométrique de l'objet (1) connu sur fichier de conception assistée par ordinateur (CAO).
  5. 5. Procédé selon l'une des revendications 1 à 3, caractérisé en ce 10 que l'étape de recherche de la position et de l'orientation dans l'espace 3D de chaque objet (1) connu comprend une étape de calcul des coordonnées d'un point caractéristique de chaque objet (1) connu par translations successives de ce point caractéristique depuis l'origine d'un repère fixe (31) jusqu'à un point caractéristique de la primitive géométrique 3D (30) correspondante. 15
  6. 6. Procédé selon la revendication 5, caractérisé en ce que l'étape de recherche de la position et de l'orientation dans l'espace 3D de chaque objet (1) connu comprend une étape de calcul des angles d'Euler de chaque objet (1) connu par rapport au repère fixe (31), par rotations successives selon 20 trois axes du repère fixe (31) et ayant pour centre de rotation le point caractéristique de chaque objet (1) connu.
  7. 7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce qu'il comprend une étape de vérification de la meilleure position et orientation 25 possibles de chaque objet (1) connu dans l'espace 3D, par calcul de la distance entre des points de chaque objet (1) connu et des points de chaque primitive géométrique 3D (30) correspondante avec un algorithme de recherche des plus proches voisins. 30
  8. 8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce qu'il comprend les étapes : - d'acquisition d'un nuage de points 3D par l'intermédiaire d'un système de numérisation 3D, - de classification des points du nuage de points 3D, destinée à 35 associer des points du nuage de points 3D à chaque primitive géométrique 3D (30).
  9. 9. Procédé selon l'une des revendications 1 à 8, caractérisé en ce qu'il comprend, préalablement à l'étape de déplacement d'au moins l'un des objets (1) connus, une étape de sélection de l'un des objets (1) connus à 5 déplacer le premier.
  10. 10. Procédé selon la revendication 9, caractérisé en ce que l'étape de sélection de l'un des objets (1) connus à déplacer le premier comprend une étape de calcul des coordonnées du support (5), et en fonction du résultat de 10 ce calcul, de calcul de la position et de l'orientation dans l'espace 3D de chaque objet (1) connu préalablement localisé et orienté.
  11. 11. Procédé selon l'une des revendications 1 à 10, caractérisé en ce qu'il comprend, préalablement à l'étape d'association de chaque primitive 15 géométrique 3D (30) avec un objet (1) connu, une étape de requalification de chaque primitive géométrique 3D (30).
  12. 12. Produit programme d'ordinateur comprenant des instructions permettant de réaliser les étapes du procédé selon l'une des revendications 1 à 20 11.
  13. 13. Support de stockage de données comprenant un produit programme d'ordinateur selon la revendication 12. 25
  14. 14. Système de commande (100) d'un robot (101) pour le déplacement d'un objet (1) disposé dans un espace 3D, sur un support (5), caractérisé en ce qu'il comprend un système de vision 2D avec au moins une caméra 2D (102), chaque caméra 2D (102) étantdestinée à acquérir au moins une image 2D de l'espace 3D, des moyens de traitement (103) de chaque 30 image 2D, des moyens de calcul et de commande comprenant un produit programme d'ordinateur selon la revendication 12, destinés à commander des déplacements du robot (101) en fonction des résultats de calculs effectués sur la base des données collectées à partir des images traitées par les moyens de traitement d'image (103). 35
  15. 15. Système de commande selon la revendication 14, caractérisé en ce qu'il comprend un capteur 3D (40).
FR1251930A 2012-03-02 2012-03-02 Procede de commande d'un robot pour le deplacement d'au moins un objet dispose sur un support dans un espace 3d Pending FR2987685A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1251930A FR2987685A1 (fr) 2012-03-02 2012-03-02 Procede de commande d'un robot pour le deplacement d'au moins un objet dispose sur un support dans un espace 3d

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1251930A FR2987685A1 (fr) 2012-03-02 2012-03-02 Procede de commande d'un robot pour le deplacement d'au moins un objet dispose sur un support dans un espace 3d

Publications (1)

Publication Number Publication Date
FR2987685A1 true FR2987685A1 (fr) 2013-09-06

Family

ID=46514515

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1251930A Pending FR2987685A1 (fr) 2012-03-02 2012-03-02 Procede de commande d'un robot pour le deplacement d'au moins un objet dispose sur un support dans un espace 3d

Country Status (1)

Country Link
FR (1) FR2987685A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015162390A1 (fr) 2014-04-25 2015-10-29 Sileane Procédé et installation de préhension automatique d'un objet
CN108145711A (zh) * 2017-12-14 2018-06-12 苏州华兴源创电子科技有限公司 产品位置移动方法和系统
US11524406B2 (en) * 2018-11-20 2022-12-13 Industrial Technology Research Institute Calibration method and device for robotic arm system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DIRK KRAFT ET AL: "Learning Objects and Grasp Affordances through Autonomous Exploration", 13 October 2009, COMPUTER VISION SYSTEMS, SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 235 - 244, ISBN: 978-3-642-04666-7, XP019131953 *
JEANNETTE BOHG ET AL: "Grasping familiar objects using shape context", ADVANCED ROBOTICS, 2009. ICAR 2009. INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 22 June 2009 (2009-06-22), pages 1 - 6, XP031497250, ISBN: 978-1-4244-4855-5 *
MARTON Z ET AL: "General 3D modelling of novel objects from a single view", INTELLIGENT ROBOTS AND SYSTEMS (IROS), 2010 IEEE/RSJ INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 18 October 2010 (2010-10-18), pages 3700 - 3705, XP031920392, ISBN: 978-1-4244-6674-0, DOI: 10.1109/IROS.2010.5650434 *
S. EFFENDI ET AL: "Robot manipulation grasping of recognized objects for assistive technology support using stereo vision.", AUSTRALASIAN CONFERENCE ON ROBOTICS AND AUTOMATION, 2008., 1 January 2008 (2008-01-01), XP055047184 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015162390A1 (fr) 2014-04-25 2015-10-29 Sileane Procédé et installation de préhension automatique d'un objet
CN108145711A (zh) * 2017-12-14 2018-06-12 苏州华兴源创电子科技有限公司 产品位置移动方法和系统
US11524406B2 (en) * 2018-11-20 2022-12-13 Industrial Technology Research Institute Calibration method and device for robotic arm system

Similar Documents

Publication Publication Date Title
GB2564794B (en) Image-stitching for dimensioning
JP6117901B1 (ja) 複数の物品の位置姿勢計測装置及び該位置姿勢計測装置を含むロボットシステム
JP5458885B2 (ja) 物体検出方法と物体検出装置およびロボットシステム
EP1976671B1 (fr) Procede et systeme permettant la prehension automatisee de piece(s)
JP5618569B2 (ja) 位置姿勢推定装置及びその方法
US9529945B2 (en) Robot simulation system which simulates takeout process of workpieces
JP6506731B2 (ja) ビジョンシステムで3dポイントクラウドマッチングに使用するクラッタをスコアリングするためのシステム及び方法
JP6703812B2 (ja) 3次元物体検査装置
JP5839929B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
US9679384B2 (en) Method of detecting and describing features from an intensity image
CN107077735A (zh) 三维对象识别
KR20160019497A (ko) 데이터베이스 생성의 목적을 위한 대화식 및 자동 3-d 오브젝트 스캐닝 방법
JP2013217893A (ja) モデル生成装置、位置姿勢推定装置、情報処理装置、モデル生成方法、位置姿勢推定方法、情報処理方法
WO2012091144A4 (fr) Appareil et procédé de traitement d'information
JP6101134B2 (ja) 情報処理装置及び情報処理方法
US10607350B2 (en) Method of detecting and describing features from an intensity image
CN113008195B (zh) 一种基于空间点云的三维曲面距离测量方法及系统
JP7353757B2 (ja) アーチファクトを測定するための方法
FR3025918A1 (fr) Procede et systeme de modelisation automatisee d'une piece
FR2987685A1 (fr) Procede de commande d'un robot pour le deplacement d'au moins un objet dispose sur un support dans un espace 3d
JP2018195070A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2009216480A (ja) 三次元位置姿勢計測方法および装置
CN105074729B (zh) 用于光度边缘描述的方法、系统和介质
JP2013072857A (ja) 3次元位置・姿勢認識装置およびその方法、プログラム
JP3867410B2 (ja) 三次元視覚位置決め方法及び装置

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 5