Intelligence artificielle et industries
Ces travaux de thèse s’inscrivent dans un contexte d’intégration de l’intelligence artificielle (IA) à la production industrielle et plus particulièrement de l’apprentissage automatique ou « machine learning ». L’apprentissage automatique s’intègre déjà dans des grands groupes en assistance à la production et à la prise de décisions développant ainsi des industries intelligentes dites « smart industries » ou industries 4.0. Cette intégration dans la production permet dans un premier temps une universalisation des outils de production. En effet, les algorithmes mis en jeu s’adaptent aisément à de nouvelles données et peuvent être utilisés dans des processus divers. L’intégration de l’IA réduit également les coûts de recherche et développement ainsi que ceux de production. Un algorithme adaptable limite la conception et fabrication de machines dédiées à un processus particulier et favorise donc une mise en production rapide. Grâce aux fortes capacités combinatoires qu’elle offre, certains composants onéreux en particulier en traitement du signal, peuvent être simulés. Un processus industriel peut alors être envisagé à bas coût tout en se libérant de certaines contraintes des fournisseurs de technologies (matériels propriétaires, interventions…). L’IA peut également être employée à des fins d’anticipation et de traitement des données issues des machines, offrant alors des possibilités de maintenance prédictive sur les installations d’une usine. Ceci assure une meilleure qualité de fabrication tout en limitant les éventuels arrêts de production, gage de confiance pour les clients de l’entreprise. L’IA intervient aussi en assistance à la production afin de guider les opérateurs dans leurs tâches en analysant leurs gestes et environnements. Cet intérêt s’est rapidement démontré en robotique à travers l’émergence des robots collaboratifs désormais représentés sous le terme de cobotique. Ils optimisent ainsi les cycles de production tout en améliorant les conditions de travail des opérateurs. Enfin, les applications d’IA basées sur un paradigme biologique ou du biomimétisme, offrent la possibilité d’automatiser des processus contraignant pour des opérateurs, tout en assurant une qualité et des cadences de production supérieures.
Le dévracage industriel
L’exemple du dévracage a été choisi pour illustrer l’intérêt d’une approche IA dans une application industrielle, il apparaît utile d’en décrire les principales caractéristiques.
Le processus
Il existe plusieurs étapes à la création d’une pièce en plastique injecté. La matière initialement sous forme granulée, est chauffée puis injectée dans un moule pressé. Après un refroidissement, la pièce dite non-finie, est éjectée du moule afin d’être placée dans un bac (Fig. 1). Dans la majorité des cas, la pièce finale n’est obtenue qu’après un assemblage de différentes pièces non-finies. Cette étape pouvant être réalisée dans une autre usine, les pièces à assembler doivent être au préalable chacune extraites de leur bac respectif. Cette étape est appelée dévracage. Une fois placées sur des empreintes, un processus industriel permet d’obtenir la pièce finale avec, par exemple, un soudage des parties (Fig. 2).
La tâche de dévracage est aujourd’hui réalisée manuellement par un opérateur de production. Puisque ce travail est répétitif et peu valorisant, les ressources humaines sont difficiles à trouver ce qui augmente les délais de production. De plus, des gestes répétés accroissent les risques de troubles musculo-squelettiques (TMS) et nécessitent donc des pauses régulières et des aménagements ergonomiques adaptés. Enfin, une majorité des pièces produites sont des éléments de sécurité automobile et les mauvaises manipulations pouvant être liées à la fatigue de l’opérateur (chute, mauvais placement sur l’empreinte), ne permettent plus de respecter les contraintes de qualité et la pièce risque d’être envoyée au rebut. Afin de pallier ces défauts, le processus de dévracage peut être automatisé.
Automatisation du dévracage
Principes et critères
Il convient dans un premier temps, de distinguer deux types de dévracage automatisé. Le dévracage de tri consiste à séparer des pièces de natures différentes contenues dans un bac, afin de les placer dans des bacs respectifs. Dans ce cas, le problématique principale se concentre sur l’identification de la pièce et sa bonne préhension. Dans ce type de dévracage, l’estimation de pose est grossière et un préhenseur universel absorbant l’erreur de pose est employé. La dépose est réalisée dans un autre bac et ne nécessite donc pas de préhension rigide (la pièce peut éventuellement changer de pose durant la saisie). Le second type concerne le dévracage avec dépose. Dans ce cas, toutes les pièces dans le bac sont identiques. La pièce à saisir doit être déposée précisément sur une empreinte ce qui nécessite au préalable, une estimation de pose précise ainsi qu’une préhension rigide.
Un système de vision (2D ou 3D) est chargé de détecter les pièces dans le bac avant d’estimer leur position et orientation. En connaissant le modèle 3D de l’objet ainsi qu’une liste de zones de préhension autorisées, un bras de robot muni d’un préhenseur (pince, ventouse…) saisit une des pièces afin de la placer sur une empreinte d’un processus d’assemblage (Fig. 3).
Verrous technologiques
Le problème du dévracage peut être simplifié en plaçant des pièces sur des surfaces planes ou en utilisant des cibles spécifiques sur les objets. Bien que l’emploi d’un convoyeur (tapis roulant) permette de limiter les rotations d’un objet et de fixer sa translation sur l’axe Z, cette solution est onéreuse et ne permet pas de réaliser des modules de taille réduite. De façon similaire, les solutions en peau vibrante (ou bol vibrant) permettent de désunir les pièces et de limiter les occlusions. Cependant, elles sont réservées à des pièces de faible volume. Enfin, les pièces étant éjectées des moules, il est complexe de leur appliquer des marquages (cibles) de façon automatisée. De plus, elles sont pendant un certain temps encore à température élevée et le collage peut ne pas fonctionner. Il en va de même pour l’application d’une peinture qui n’est pas toujours autorisée sur les pièces par les constructeurs et peut ne pas tenir sur toutes les gammes de plastiques. Face à ce constat, certains prestataires industriels proposent des solutions de dévracage avec dépose depuis des bacs. Les systèmes les plus courants comportent généralement un module d’acquisition 3D (stéréoscopie, infrarouge, lasers…) fournissant un nuage de points dense de la scène. Un second module permet à la fois de détecter les pièces dans le nuage et d’estimer leur pose selon le modèle 3D de l’objet. Une pièce est ensuite choisie puis saisie selon une liste pré-établie de zones de préhension par un bras de robot. La communication avec le robot tout comme la phase de dépose, sont souvent laissées à la charge du client. Si ces solutions sont classées au niveau 9 de Technology Readiness Level (TRL), elles soulèvent néanmoins de nombreux verrous technologiques (Table 2).
Dévracage et intelligence artificielle
Choix technologiques
Dans le cadre du module de vision du dévracage, l’algorithme doit permettre de localiser (segmenter) un nombre prédéterminé de pièces dans la scène et d’estimer leur position et orientation associées. Le choix de la zone de préhension et le calcul de la trajectoire du robot sont réalisés par des algorithmes ad hoc et ne sont pas détaillés dans cette thèse. Le fonctionnement du module consiste dans un premier temps, à isoler les pièces du bac puis, à les découper afin de former un nombre déterminé d’instances de la pièce. Chaque instance est ensuite traitée pour estimer à la fois la position de la pièce dans le repère du bac et son orientation par rapport à un modèle 3D de référence. Contrairement au module industriel du commerce testé précédemment, les estimations de pose de ces pièces doivent être réalisées en un temps court. Les calculs de pose sont donc effectués en parallèle par des composants de calculs adaptés notamment en utilisant des cartes graphiques (Graphics Processing Unit, GPU). Dans le but d’employer des technologies peu onéreuses et de limiter les défauts liés aux scanners 3D (Table 2), ces travaux de thèse proposent de se limiter à une image 2D en couleurs (Red Green Blue, RGB) du haut du vrac comme donnée d’entrée pour le module de vision. L’algorithme va donc chercher à établir deux correspondances principales : une image de bac vers une ou plusieurs images de pièces segmentées et une image d’une pièce segmentée vers une position et une orientation. Ces deux correspondances sont complexes puisqu’un bac peut contenir un grand nombre de pièces enchevêtrées chacune présentant des réflexions lumineuses différentes. Cependant, à partir d’exemples, l’apprentissage automatique doit permettre de construire automatiquement ces correspondances démontrant alors, la pertinence de l’intelligence artificielle pour ce processus. Afin de respecter les critères du module de vision (Table 1), l’algorithme doit être capable d’estimer une pose parmi toutes les orientations possibles d’une pièce mais il doit également être robuste aux différentes variations lumineuses que peut subir le matériau plastique. Pour cela, les exemples servant à l’apprentissage doivent être suffisamment hétérogènes afin de couvrir une large gamme de poses de pièce aux luminances variées. Néanmoins, construire un tel jeu de données est chronophage car l’apprentissage nécessite plusieurs centaines de milliers d’images pour fonctionner de façon optimale. De plus, il n’est pas simple d’obtenir en pratique toutes les orientations d’une pièce dans une scène et les tables tournantes, parfois utilisées dans de tels cas, sont limitées aux positions d’équilibre de l’objet. Enfin, toute session de prises de vue est dépendante de l’éclairage de la pièce et peut ne pas correspondre aux futures conditions d’utilisation en usine. En effet, le poste de dévracage peut être placé à n’importe quel emplacement d’une usine, sans contrôle d’éclairage, aussi bien en production de jour comme de nuit .
Face à ce constat, ces travaux de thèse proposent d’employer un apprentissage basé sur des images de synthèse du modèle 3D de la pièce. Un rendu 3D permet d’envisager toutes les orientations possibles de l’objet tout en contrôlant à la fois l’éclairage de la scène virtuelle et les propriétés du matériau. Ces rendus peuvent être effectués par une carte graphique durant l’entraînement de l’algorithme ce qui ne nécessite pas de stockage de données au préalable. Les paramètres de scène sont modifiables dynamiquement et aléatoirement, ce qui permet à l’apprentissage automatique de constamment traiter des données différentes. Pour générer des bacs, un moteur de collision peut être injecté dans le rendu 3D afin de créer un vrac réaliste par l’intermédiaire d’un lancer de pièces. De plus, selon l’initialisation du lancer et le nombre de pièces souhaité, l’algorithme peut apprendre à traiter un vrac plus ou moins dense. Cependant, le défaut majeur de la génération d’images est le biais introduit entre les données synthétiques et les données réelles. En effet, certaines pièces possèdent des défauts d’aspects (lignes de soudure dans le moule, traces des éjecteurs et injecteurs…) et des gravures de traçabilité (logo, numéro de lot…) relativement difficiles à simuler. Il convient donc de bien maîtriser les paramètres de scène afin de fournir des images réalistes anticipant les futures conditions d’exploitation en usine mais aussi, de proposer un algorithme d’apprentissage absorbant ce biais introduit. L’utilisation d’images de synthèse pour l’apprentissage permet également de s’affranchir de la production a priori de la pièce. L’entraînement peut alors être réalisé en connaissant le type de plastique employé ainsi que les pigments de couleur. Ceci est un avantage lorsque les délais de réponses aux clients sont courts et que l’entreprise doit s’assurer que la pièce finale peut être produite dans les meilleures conditions .
|
Table des matières
Introduction
Intelligence artificielle et industries
Le dévracage industriel
Le processus
Automatisation du dévracage
Test d’une solution industrielle
Dévracage et intelligence artificielle
Choix technologiques
État de l’art
Problématique
I Génération de données
1 Définition et manipulation des modèles 3D
Introduction
1.1 Modèle CAO de l’objet
1.1.1 Maillage triangulaire
1.1.2 Unification et normales aux sommets
1.1.3 Nuage de points
1.2 Manipulations du modèle
1.2.1 Représentations de la rotation
1.2.2 Rotations et translations
1.3 Gammes d’objets considérés
1.3.1 Géométrie
1.3.2 Jeux de données
Synthèse et conclusion du chapitre
2 Création d’images
Introduction
2.1 Rendu 3D
2.1.1 Projection
2.1.2 Ombrage de Phong
2.1.3 Intégration OpenGL
2.2 Jeu d’images virtuelles
2.2.1 Génération de pose
2.2.2 Génération de vrac
2.2.3 Augmentation des données
2.3 Jeu d’images réelles
2.3.1 Vracs de pièces
2.3.2 Prises de vue
Synthèse et conclusion du chapitre
II Méthodes d’estimation de pose
3 Segmentation de pièces
Introduction
3.1 État de l’art
3.1.1 Analyses ascendantes et descendantes
3.1.2 Compréhension de scènes
3.1.3 Réseaux de neurones
3.1.4 Positionnement de nos travaux
3.2 Segmentation sémantique
3.2.1 Architecture
3.2.2 Inférence
3.2.3 Performances
3.3 Segmentation d’instances
3.3.1 Réseaux récurrents
3.3.2 Réseaux récurrents avec inhibition
3.3.3 Réseaux récurrents avec attention visuelle
3.3.4 Algorithme ad-hoc
Synthèse et conclusion du chapitre
4 Estimation de pose
Introduction
4.1 État de l’art
4.1.1 Points à points
4.1.2 Caractéristiques locales
4.1.3 Modèles d’objets
4.1.4 Réseaux de neurones
4.1.5 Positionnement de nos travaux
4.2 Modalités des réseaux
4.3 Profondeur locale d’une pièce
4.3.1 Architecture
4.3.2 Performances
4.4 Orientation et translation sur Z
4.4.1 Équivalences en projection sur SO(3)
4.4.2 Architecture des réseaux
4.4.3 Apprentissage du réseau d’orientation
4.4.4 Performances
4.5 Rétro-projection et recalage
4.5.1 Initialisation
4.5.2 Estimation des normales
4.5.3 Fonctionnement
4.5.4 Performances
Synthèse et conclusion du chapitre
5 Déploiement du module de vision
Introduction
5.1 Précision de la pose
5.1.1 Incrément angulaire
5.1.2 Matériel
5.2 Biais réel-virtuel
5.2.1 Paramètres de scène
5.2.2 Calibration
5.3 Implémentation
5.3.1 Déportation des calculs
5.3.2 Préhension
Synthèse et conclusion du chapitre
Conclusions
Télécharger le rapport complet