Brevet FR3126638A1 — publié le 20230310

L’invention se rapporte à procédé de commande de bras de robot qui réalise un traitement de surface d’une zone (3a) d’une pièce à partir d’une trajectoire 2D de balayage générée à partir d’un modèle 2D issu d’un maillage 3D de cette pièce. A cette fin, un nuage 3D (50) de points indexés (5a, 5b x , 5c xy ) est construit sur le maillage 3D (5) selon un processus itératif à partir d’une origine (5a) et d’une ligne de référence d’origine (5d 0 ) selon la direction longitudinale principale (5f) et passant par cette origine (5a). Puis le nuage 3D (50) est compacté par transposition de ces points (5a, 5b x , 5c xy ) en un nuage 2D de points de même indexation et localisés selon cette indexation pour constituer le modèle 2D dans un plan de repère de balayage donné. La trajectoire 2D de balayage, générée à partir d’un contour en 2D dudit volume de matière à traiter, est ensuite décompactée en trajectoire 3D réglée de balayage sur le maillage 3D (5) selon une correspondance inverse. Figure de l’abrégé : Figure 3 Procédé de commande de bras de robot pour une génération de trajectoire 3D à partir d’une définition en mode 2D. L’invention se rapporte à un procédé de commande d’un bras de robot aux fins de traitement de surface d’une pièce, en particulier d’une pièce de courbure complexe, par retrait (usinage) ou ajout de matière, par exemple pour réparer des pièces en matériau composite ou pour recouvrir une pièce d’un revêtement de peinture ou de protection. Ce procédé permet de générer une trajectoire 3D (tridimensionnelle) de ce robot à partir d’une définition en mode plan ou bidimensionnel (2D) de cette trajectoire. La modernisation des méthodes de production a permis d’augmenter la part de robotique au sein des structures industrielles dans lesquelles des robots sont utilisés pour l’usinage et la réparation de pièces industrielles, ou encore l’ajout de matière comme un revêtement de peinture, de vernis ou autre. Ces robots disposent de bras pouvant comporter un nombre important de degrés de libertés (par exemple 7 et au-delà) qui leur permettent de réaliser des tâches complexes. Ces tâches, telles que le contrôle non destructif de pièces composites ou lors de la projection de matière de revêtements, se retrouvent dans de nombreux secteurs de l’industrie, comme l’automobile et l’aéronautique. Pour ce faire, ces bras de robots sont commandés pour suivre une trajectoire choisie par l’opérateur. Deux approches principales peuvent être mises en œuvre pour définir cette trajectoire : une approche « on-line » (« connectée » en terminologie anglaise) qui consiste à piloter en direct une trajectoire ainsi qu’un volume de matière à traiter (par ajout ou retrait), ou une approche « off-line » (« hors ligne » en terminologie anglaise) mise en place par une définition de trajectoire élaborée par des moyens numériques par des entrées de données précises et en grande quantité. L’approche « on-line » est rapide à mettre en place et, après enregistrement, est dédiée à des actions basiques et répétitives sur un support simple comme un panneau plan. L’approche « off-line » est plus avancée et permet la création de mouvements à la fois complexes et précis, en particulier sur des supports pouvant présenter des surfaces à faible rayon de courbure et/ou à double courbure : c’est l’approche qui correspond aux conditions d’utilisation de l’objet de l’invention. État de la technique L’objet de l’invention se destine à la réalisation de traitements complexes de pièces qui nécessitent une grande précision dans les mouvements d’un bras de robot, une durée de traitement minimalisée et un pas de balayage constant : une approche off-line de la programmation de la trajectoire de ce bras est donc privilégiée. Ces traitements consistant en particulier en l’application d’un revêtement ou le retrait d’une couche de matière, le bras du robot effectue des balayages successifs prédéfinis de la pièce à usiner et sa trajectoire 3D doit être réglée, c’est-à-dire que le ou les pas de balayage doivent être prédéterminés. Pour ce faire, le point de départ est une modélisation par un maillage 3D de la pièce à usiner, à partir de fichiers CAO (Conception Assistée par Ordinateur) ou d’un scan classique (laser, palpeur, stéréoscopie ou équivalent). Les pièces scannées respectent plus particulièrement la réalité géométrique de ces pièces, à savoir les variabilités dues aux tolérances de forme et les déformations. Ce maillage 3D de la pièce sert alors de base à l’élaboration de la trajectoire du robot après avoir défini le volume de matière à traiter. Concernant la maîtrise du pas de balayage, un maillage 3D de la pièce scannée est indépendant de la trajectoire qui lui sera appliquée et est donc non corrélé au pas de balayage nécessaire. Mineo et al. ont développé une méthode permettant de générer un nouveau maillage à partir d’un maillage 3D dont la taille de maille correspond au pas de balayage, ce qui permet de générer une trajectoire réglée (Mineo et al., 2016, Robotics and Computer-Integrated Manufacturing 37, 1–12; Mineo et al., 2013, Computer-Aided Tool Path Generation for Robotic Non-Destructive Inspection, 52nd Annual Conference of the British Institute of Non-Destructive Testing). Cependant cette méthode est très coûteuse en temps de calcul pour obtenir le nouveau maillage. De plus, cette méthode impose à l’opérateur d’identifier le volume de matière à traiter sur la base de ce maillage 3D complexe, ce qui demande de résoudre des problèmes pour déterminer les éléments du maillage par lesquels passe la trajectoire de balayage. Afin de faciliter la définition du volume de matière à traiter, d’autres méthodes indépendantes visent à aplatir le maillage 3D scanné. Lorsque les contraintes géométriques sont peu complexes en termes de courbure, une méthode usuelle consiste à projeter axialement le maillage 3D sur un plan. La définition du volume de matière à traiter peut ainsi être déterminée à partir d’une surface plane Une trajectoire en mode 2D est alors déduite du volume de matière à traiter en mode 2D puis cette trajectoire en mode 2D est re-projetée sur le maillage scanné 3D (Xia et al., 2010, Industrial Robot: An International Journal 37, 202–213; Zhang et al., 2018, Mathematical Problems in Engineering). Cependant, ce type de projection ne conserve pas de distance constante entre deux droites initialement parallèles, de sorte qu’un pas de balayage réglé en mode 2D n’est plus réglé après re-projection en mode 3D. Et la projection s’effectuant dans un plan, il n’est pas possible de la modifier pour corriger les erreurs de projection. Par ailleurs, différents outils à commande assistée par ordinateur (CFAO) proposent des méthodes de déploiement des maillages 3D en mode 2D via des fonctions de type « flatten », « squish », « smash » (respectivement « aplatir », « écraser », « briser » en terminologie anglaise). Or ces méthodes se basent sur une minimisation des déformations des mailles et en particulier sur une minimisation de la variation de surface des mailles entre les maillages 3D et 2D. Si ces méthodes sont particulièrement adaptées pour l’emboutissage, elles le sont moins pour définir un volume de matière à traiter en mode 2D ni générer une trajectoire 3D réglée. L’invention a pour objectif principal de créer une commande de trajectoire de balayage de bras de robot réglée en mode 3D sur un maillage quelconque à partir d’un volume de matière à traiter défini en mode 2D, de sorte que le balayage en mode 3D puisse présenter une haute précision de pas de balayage et un temps de calcul de génération minimisé. L’invention vise plus particulièrement les pièces de surface complexe, présentant une courbure de rayon localement faible par rapport à la zone à traiter ou une double courbure, mais peut bien entendu s’appliquer dans le cas de surfaces à simple courbure ou de rayon de courbure localement important. Pour y parvenir, l’invention prévoit de compacter le maillage 3D d’une pièce à usiner en un modèle 2D, le maillage 3D étant obtenu par un fichier 3D issu d’une étude de pièce ou d’un scan 3D. Le volume de matière à traiter est porté sur le modèle 2D et un balayage de traitement est défini sur ce modèle 2D, ce balayage 2D étant ensuite reporté en mode 3D pour piloter les mouvements du robot. Plus précisément, la présente invention a pour objet un procédé de commande d’un bras de robot qui réalise un traitement de surface d’une zone d’une pièce à partir d’une trajectoire plane de balayage (2D) générée à partir d’un volume de matière à traiter, défini en mode 2D de la zone sur un modèle 2D issu d’un maillage tridimensionnel de cette pièce ayant une direction longitudinale principale, cette trajectoire 2D étant reportée sous forme de trajectoire 3D de balayage sur le modèle 3D. Après génération du maillage 3D, un nuage de points 3D est construit sur ce maillage 3D selon un processus itératif par discrétisation du maillage 3D, à partir d’une origine et d’une ligne de référence d’origine selon la direction longitudinale principale et passant par cette origine. Puis ces points sont indexés et le nuage 3D est compacté par transposition de ces points en un nuage 2D de points de même indexation et localisés selon cette indexation pour constituer dans un plan de repère de balayage donné le modèle 2D sur lequel est générée la trajectoire 2D de balayage à partir d’un contour dudit volume de matière à traiter, cette trajectoire 2D étant ensuite décompactée en trajectoire 3D réglée de balayage sur le maillage 3D selon une transposition inverse. Un avantage de l’invention est de pouvoir utiliser tout type de modèle 2D défini dans tout type de repère 2D, par exemple les points d’intersection d’un quadrillage défini dans un repère orthogonal ou les points définis en cercles concentriques dans un repère polaire. De plus , le balayage 2D est un balayage de tout type connu, par exemple en lignes parallèles, en spirale, à rayon ou à pas constant ou équivalents. Ce balayage peut passer par les points du modèle 2D ou peut être défini par interpolation en fonction de ces points. Selon une forme de mise en œuvre préférée, une génération de trajectoire peut alors se dérouler selon les étapes suivantes : - génération du maillage 3D de la pièce à traiter ; - détermination d’un repère de référence de trajectoire de balayage sur le maillage 3D ; - construction du nuage de points 3D indexés sur le maillage 3D ; - compactage du nuage de points 3D en points indexés du modèle 2D ; - définition du volume de matière à traiter en mode 2D et génération de la trajectoire 2D de balayage sur le modèle 2D ; - décompactage de la trajectoire 2D en trajectoire 3D de balayage réglée sur le maillage 3D, et - conversion de la trajectoire 3D validée en un jeu d’instructions de pilotage du bras de robot et chargement de ces instructions dans une mémoire de commande du robot de traitement. Avantageusement l’indexation en correspondance des points du nuage de points 3D avec ceux du modèle 2D permet de localiser sur le modèle 3D des zones sélectionnées sur le modèle 2D et inversement. Il est alors possible de représenter sur le maillage 3D des volumes de matière à traiter déterminés sur le modèle 2D, ainsi que des trajectoires de traitement. Réciproquement, lors du scan de la pièce à usiner, les nœuds du maillage 3D peuvent être marqués, c’est-à-dire que ces nœuds peuvent encapsuler des informations, concernant notamment la texture ou la couleur de la zone modélisée, et qui sont transférées aux points du modèle 2D pour une représentation plane de ces informations ou réciproquement du modèle 2D au maillage 3D. Avantageusement également, la construction itérative du nuage de points 3D selon l’invention est réalisée directement à partir du maillage 3D sans devoir l’adapter à partir d’un maillage provenant de la CAO : la mise en œuvre du procédé, ne nécessitant pas d’étape préalable sur le maillage 3D, s’en trouve alors accélérée. Dans certaines formes de mise en œuvre privilégiées : - validation de la trajectoire 3D de balayage réglée sur le maillage 3D par ajustement du contour en 2D sur le modèle 2D. - le maillage 3D est issu soit d’une CAO de la pièce soit d’un scan de la pièce obtenu par un scanner fixe qui détecte la pièce à traiter et sa localisation par rapport au bras de robot ainsi que par un scanner mobile, dont la trajectoire 3D a été déterminée à partir du maillage 3D obtenu par le scanner fixe ; - l’origine est un point choisi par une répartition homogène de la courbure de la pièce sur le modèle 2D pour minimiser le compactage de l’ensemble des points du nuage 3D; - la direction longitudinale principale est déterminée en fonction des rayons de courbure ainsi que des marges d’erreurs entre le modèle 3D et la pièce réelle sur la ligne de référence d’origine définie par cette direction longitudinale principale et passant par l’origine ; - les autres lignes de références sont chacune construites itérativement à équidistance de la ligne de référence précédente à partir de la ligne de référence d’origine passant par l’origine; - la distance entre les points du nuage 3D d’une même ligne de référence ainsi que celle entre les centres de ces lignes ou entre l’origine et les centres adjacents est égale à un pas de discrétisation qui est fonction du pas de balayage recherché ; - deux cycles d’itération de sens opposé peuvent être réalisés afin de couvrir l’ensemble de la zone de la pièce à traiter ; - le modèle 2D est défini dans un repère permettant de localiser les points de ce modèle 2D obtenu par compactage ; - le contour en 2D et la trajectoire 2D générée relient séquentiellement des points indexés du modèle 2D ; - le maillage 3D et/ou le modèle 2D de la pièce à traiter peut comporter des marquages surfaciques qui sont identifiés et enregistrés lors du scan et/ou ajouté ultérieurement permettant en particulier de délimiter sur la pièce le contour de la zone de traitement , et - les marquages surfaciques peuvent être choisis entre des couleurs, des textures, des volumes et/ou des profondeurs de traitement et sont transférables du maillage 3D au modèle 2D, et réciproquement, afin de traiter les marquages surfaciques sous forme d’information. On entend par « compacter » et « décompacter » les opérations qui transforment le nuage de points 3D en nuage de points 2D et inversement, ces deux nuages de points ayant le même nombre d’éléments et étant indexés de manière identique ou équivalente. Présentation des figures D’autres caractéristiques et avantages de la présente invention ressortiront à la lecture qui suit d’un exemple de réalisation détaillé sans en limiter la portée, en référence aux figures annexées qui représentent, respectivement : la , une vue en perspective de la pièce à traiter et du bras de robot qui est dédié à effectuer ce traitement ; la , un organigramme conforme au procédé selon l’invention; la , la vue d’un nuage de points 3D qui intervient dans ce procédé; la , la construction du nuage de points 3D ; la , un schéma de la construction des centres de référence selon une approche circulaire; la , un schéma du modèle 2D et d’une trajectoire de balayage 2D bâtie sur ce modèle ; la , un schéma du modèle 2D avec une trajectoire de balayage 2D modifiée la , une vue de la trajectoire de balayage 3D formée à partir du nuage de points 3D; la , une vue de la trajectoire de balayage 3D modifiée la , un schéma de la construction des centres de référence selon une approche de projection plane, et la , un schéma de la construction des centres de référence selon une approche de suivi de surface. Procédé de commande d’un bras de robot (1) qui réalise un traitement de surface d’une zone (3a) d’une pièce (3) à partir d’une trajectoire plane 2D de balayage générée à partir d’un volume de matière à traiter, défini en mode 2D de la zone (3a) sur un modèle 2D (6) issu d’un maillage tridimensionnel 3D de cette pièce (3) ayant une direction longitudinale principale (5f), cette trajectoire 2D étant reportée sous forme de trajectoire 3D de balayage sur le modèle 3D, caractérisé en ce que, après génération du maillage 3D, un nuage 3D (50) de points indexés (5a, 5b x , 5c xy ) est construit sur le maillage 3D (5) selon un processus itératif par discrétisation du maillage 3D, à partir d’une origine (5a) et d’une ligne de référence d’origine (5d 0 ) selon la direction longitudinale principale (5f) et passant par cette origine (5a), puis le nuage 3D (50) est compacté par transposition de ces points (5a, 5b x , 5c xy ) en un nuage 2D de points (5’a, 5’b x , 5’c xy ) de même indexation et localisés selon cette indexation pour constituer le modèle 2D (6) dans un plan de repère de balayage donné, en ce que la trajectoire 2D (6b) de balayage est générée à partir d’un contour en 2D (6a) dudit volume de matière à traiter, et en ce que cette trajectoire 2D (6b) est ensuite décompactée en trajectoire 3D (6g) réglée de balayage sur le maillage 3D (5) selon une correspondance inverse. Procédé de commande d’un bras de robot (1) selon la revendication 1, dans lequel la génération de trajectoire se déroule selon les étapes suivantes : - génération du maillage 3D de la pièce (3) à traiter ; - détermination d’un repère de référence de trajectoire de balayage sur le maillage 3D; - construction du nuage 3D (50) de points indexés (5a, 5b x , 5c xy ) sur le maillage 3D ; - compactage du nuage 3D (50) de points en points indexés (5’a, 5’b x , 5’c xy ) du modèle 2D (6) ; - définition du volume de matière à traiter en mode 2D et génération de la trajectoire 2D (6b) de balayage sur le modèle 2D (6) ; - décompactage de la trajectoire 2D (6b) en trajectoire 3D (5g) réglée de balayage sur le modèle 3D (5), et - conversion de la trajectoire 3D (5g) validée en un jeu d’instructions de pilotage du bras de robot (1) et chargement de ces instructions dans une mémoire de commande du robot de traitement. Procédé de commande d’un bras de robot (1) selon la revendication 2, dans lequel le procédé comporte une étape de validation de la trajectoire 3D de balayage (5g) réglée sur le maillage 3D (5) par ajustement du contour en 2D (6a) sur le modèle 2D (6). Procédé de commande d’un bras de robot (1) selon l’une quelconque des revendications 1 à 3, dans lequel le maillage 3D est issu soit d’une CAO de la pièce (3) soit d’un scan de la pièce (3) obtenu par un scanner fixe (4) qui détecte la pièce (3) à traiter et sa localisation par rapport au bras de robot (1) ainsi que par un scanner mobile dont le trajectoire 3D a été déterminée à partir du maillage 3D obtenu par le scanner fixe (4). Procédé de commande d’un bras de robot (1) selon l’une quelconque des revendications 1 à 4, dans lequel l’origine (5a) est un point choisi par une répartition homogène de la courbure de la pièce (3) sur le modèle 2D (6). Procédé de commande d’un bras de robot (1) selon l’une quelconque des revendications 1 à 5, dans lequel la direction longitudinale principale (5f) est déterminée en fonction des rayons de courbure ainsi que des marges d’erreurs entre le modèle 3D et la pièce (3) réelle sur la ligne de référence d’origine (5d 0 ) définie par cette direction longitudinale principale (5f) et passant par l’origine (5a). Procédé de commande d’un bras de robot (1) selon l’une quelconque des revendications 1 à 6, dans lequel des lignes de références (5d x ) sont chacune construites itérativement à une distance égale au pas de discrétisation de la ligne de référence précédente (5d x-1 ) à partir de la ligne de référence d’origine (5d 0 ). Procédé de commande d’un bras de robot (1) selon l’une quelconque des revendications 1 à 6 en combinaison avec la revendication 7, dans lequel la distance entre les points (5c xy ) du nuage 3D (5) d’une même ligne de référence (5d x ) ainsi que celle entre les centres (5c xy ) de ces lignes ou entre l’origine (5a) et les centres (5b x ) adjacents est égale à un pas de discrétisation (8) qui est fonction du pas de balayage recherché. Procédé de commande d’un bras de robot (1) selon l’une quelconque des revendications 1 à 8, dans lequel deux cycles d’itération de sens opposé sont réalisés afin de couvrir l’ensemble de la zone de la pièce (3) à traiter. Procédé de commande d’un bras de robot (1) selon l’une quelconque des revendications 1 à 9, dans lequel le modèle 2D (6) est défini dans un repère permettant de localiser les points de ce modèle 2D (6) obtenu par compactage. Procédé de commande d’un bras de robot (1) selon l’une quelconque des revendications 1 à 10, dans lequel le contour en 2D (6a) et la trajectoire 2D (6b) générée relient séquentiellement des points indexés du modèle 2D (6). Procédé de commande d’un bras de robot (1) selon l’une quelconque des revendications 1 à 11, dans lequel le maillage 3D et/ou le modèle 2D (6) de la pièce (3) à traiter comporte des marquages surfaciques qui sont identifiés et enregistrés lors du scan et/ou ajoutés ultérieurement. Procédé de commande d’un bras de robot (1) selon la revendication 11, dans lequel les marquages surfaciques sont choisis entre des couleurs, des textures, des volumes et/ou des profondeurs de traitement et sont transférables du maillage 3D au modèle 2D et réciproquement.