Initiation à la SIMULATION - Université de Montpellier
Transcription
Initiation à la SIMULATION - Université de Montpellier
Université Montpellier II DESS R&D Produits Industriels Initiation à la SIMULATION L'objectif de ce bureau d'études est de vous initier à l'optimisation du fonctionnement d'une installation par simulation. L'analyse organique de l'installation et la modélisation par réseaux de Petri (RdP) de son fonctionnement dynamique (cf. cours F. Prunet) sont deux points importants dans la préparation de la simulation. L'exemple traité à l'aide d'un outil industriel de simulation de flux discret porte plus particulièrement sur la détermination des stratégies de pilotage (conduite de l'installation) les plus adéquates. En effet, les performances d'une installation en terme de flux par exemple (productivité) ne dépendent pas seulement des performances intrinsèques des machines constituant l'installation mais également de la manière dont est conduite cette installation. Les stratégies régissant d'une part l'ordonnancement des activités sur les machines et d'autre part les transferts de pièces entre les machines s'avèrent être prépondérantes dans l'optimisation. En résumé, mettre au point des machines très performantes est "inutile" si la conduite et la coopération de ces dernières ne sont pas efficaces. La réciproque est vraie, i.e. s'attacher à optimiser la coopération entre des machines peut s'avérer "inutile" si ces dernières sont très lentes. La conception d'un outil de production "performant" requiert la prise en considération à la fois de l'équipement (au sens machines) et de la manière de l'exploiter. Qu'est ce que la simulation ? La simulation est assimilable à une expérimentation sur un modèle, ce dernier étant une reproduction (artificielle) du système ou du phénomène que l'on désire étudier. La valeur scientifique des résultats obtenus en simulation dépend entre autre de la distance entre le modèle et la réalité. La correspondance entre le modèle et la réalité est donc primordiale mais le modèle ne doit pas être nécessairement une reproduction conforme de cette réalité, du moins dans sa globalité. En effet, la "finesse" du modèle est dépendante du phénomène à observer, c'est-à-dire directement dépendante de l'objectif de simulation. Le niveau d'agrégation des données d'observation en est induit. Tout comme la conception d'un système réel, une simulation fait l'objet de spécifications définissant son objectif, ses hypothèses et la granularité du modèle. La granularité spécifie les dimensions spatio-temporelles de la représentation au sens parties du système étudiées, profondeur de la représentation des phénomènes (niveau de détail, précision) et échelle de temps de l'observation. Pour le domaine qui nous intéresse, la productique, cette échelle de temps peut aller par exemple de la seconde à la journée selon que l'on souhaite étudier respectivement le déroulement précis d'une activité ou d'un phénomène, ou le fonctionnement global du système. La représentation du système physique peut quant à elle se situer à différents niveaux de détail : au niveau des équipements de production tels que les convoyeurs, les robots et autres les machines, ou au niveau des cellules de production (regroupements logiques et/ou physiques d'équipements) par exemple. Le niveau d'agrégation des données d'observation est directement lié à cette granularité spatio-temporelle. L'identification et la mesure des paramètres du système réel est nécessaire pour décrire correctement l'installation et son organisation ; il s'agit de l'analyse organique. La granularité spatiale exprime le niveau d'agrégation (omission des variables négligeables, dites secondaires) de cette analyse. Il faut également représenter le fonctionnement dynamique du système, cela requiert également l'identification de durées opérationnelles (durées des actions). Cette représentation événementielle peut se situer au niveau de la coopération entre les équipements ou au niveau des relations entre les cellules englobantes, par exemple. La Andreu / Prieur 1 Université Montpellier II DESS R&D Produits Industriels granularité temporelle, étroitement liée à la granularité spatiale, influence sur le niveau d'agrégation de ce modèle événementiel. Pourquoi simuler ? La simulation donne lieu au développement d'outils pouvant répondre à des objectifs divers : - outil de prévision ou de choix stratégique (simulation de flux en productique), - outil de formation de l'homme (simulateur de vol, simulateur de conduite d'installation, …), - outil d'ajustement de théories nouvelles (recherche fondamentale). Les objectifs "classiques" de la simulation dans un contexte de productique sont : • l'évaluation de solutions vis-à-vis de performances opérationnelles attendues (analyse des besoins, dimensionnement des équipements1, etc.), • la projection temporelle de l'état d'un système afin d'étudier son comportement dans un contexte de surveillance ou d'aide à la décision, • le déroulement d'un ordonnancement (plan de production) afin de vérifier sa faisabilité, • le test d'un ensemble de stratégies de pilotage afin d'optimiser la conduite du système (ajustement de stratégies ou de paramètres), • l'analyse de flux de produits afin d'identifier les zones et/ou ressources critiques sous leurs aspects spatio-temporels. Spécification / Conception (réglagle de paramètres, de cadences, de stratégies, de flux, etc.) Paramètres (entités à dimensionner) Simulation analyse modèle performances Définition / Validation du Plan de Production modèle Plan de production (prévisionnel) analyse Simulation Surveillance exploitation (1) / Aide à la décision (2) (2) modèle Simulation réalité Observation Effet de l'opération (projection de l'état) opération (1) 1 Détection Diagnostic Décision Reprise Réaction à la déviation détectée Capacités de stockage, de transfert et de transformation. Andreu / Prieur 2 Université Montpellier II DESS R&D Produits Industriels Comment décrire la simulation ? La description (spécification) d'une simulation, située ici dans un contexte d'évaluation de performance ou de dimensionnement, doit suivre un ensemble d'étapes à travers lesquelles il faut préciser : - l'objectif et les résultats attendus (ex: connaître et optimiser le débit d'une machine de tri) - les dimensions et autres caractéristiques physiques (ex: longueur d'un convoyeur) - le fonctionnement de l'installation (ex: stratégie d'allocation d'un robot à une opération). On retrouve les étapes clefs évoquées précédemment que sont la définition de l'objectif et de la granularité, l'analyse organique de l'installation et l'étude du fonctionnement dynamique. Il est parfois possible de se limiter à une identification partielle ou approximative des paramètres du système (l'identification est une "lourde" tâche) si une optimisation relative est suffisante. La conclusion est alors plus qualitative (meilleur que) que quantitative (10% en plus). Il n'y a pas une méthodologie particulière mais il est délicat de développer une simulation sans aucune méthodologie, au risque de ne pas répondre au besoin initial, i.e. à l'objectif même de cette simulation. Voici une représentation schématique d'une méthodologie possible : Besoin de Spécification de la simulation simulation (Cahier des charges, objectif, granularité) Analyse organique Documents (description du système physique et des relations avec le système logique) Analyse du fonctionnement dynamique (modélisation du système logique) Mise au point et validation (*) dépendent de l'objectif de la simulation Construction de la simulation Simulation Résultats intermédiaires Itération sur les paramètres, changement sur les stratégies, etc.. Complément (ou affinement) du cahier des charges Correction du modèle (optionnel) (*) Conclusion Résultats finals Andreu / Prieur (*) Rapport d'étude 3 Université Montpellier II DESS R&D Produits Industriels Comment fonctionne la simulation ? Il est possible de distinguer trois grandes techniques de simulation : (1) simulation "continue", à temps discrétisé (modèle numérique) (2) simulation événementielle, basée sur un échéancier (liste d'événements) (3) simulation mixte. Représentation schématique de ces techniques calcul état à t+1 calcul évolution Simulation Périodique (1) t0 t1 t2 t3 (2) …. tn Temps simulé calcul prochaine échéance calcul évolution Simulation Evénementielle (cas d'AUTOMOD) t0 ti tk …. tn Temps simulé Projection de l état à la date de la prochaine échéance (événement) Limitée à des durées ou des modèles simples (équations algébriques) Différence ? ……. sur la composante "continue" du modèle Étendue à des modèles complexes (équations algébro-différentielles) (3) calcul prochaine échéance calcul évolution Simulation Evénementielle t0 ti tk …. tn Temps simulé Projection de l'état à la date de la prochaine échéance (événement) Andreu / Prieur 4 Université Montpellier II DESS R&D Produits Industriels événement Nouveau jeu d'équations évolution modèle événementiel Nouvel État discret Andreu / Prieur Calcul modèle "continu" Seuil sur variable 5 Université Montpellier II DESS R&D Produits Industriels La Simulation de flux sous AUTOMOD Présentation AUTOMOD est un logiciel de simulation de flux discret 3D produit par la société américaine AUTOSIMULATION et distribué en France par la société SIMCORE. En plus d'une représentation graphique 3D, ce simulateur génère automatiquement de nombreuses statistiques et évaluations numériques permettant une comparaison chiffrée entre diverses simulations. Il est utilisé dans des industries aussi diverses que l'Aérospatiale, l'Automobile, l'Electronique, l'Industrie alimentaire, etc. Un modèle AUTOMOD est constitué de deux types de "systèmes" : • le système physique : il y a autant de systèmes physiques qu'il y a de types d'entités différentes (cf. le système physique). Ils décrivent les entités matérielles assurant le déplacement des produits au sein de l'installation. • le système logique : il est unique et dirige la simulation. Il régit le fonctionnement de l'ensemble de l'installation, notamment par la gestion du traitement logique des charges et de leur création, des opérateurs, du temps des opérations, des files d'attentes, etc.. Le système physique Il concerne la représentation matérielle de l'installation à simuler. Il est constitué d'une ou plusieurs entités types tels que : - les convoyeurs (conveyors), - les chariots filo-guidés (AGVS : Automated Guided Vehicles system), - les portiques (bridge crane), - les stockages en hauteur (ASRS: Automated Storage And Retrieval System). Les entités sont regroupées par types dans des plans (couches) différents couplés par des stations (cf. interaction entre le système logique et physique). Le système physique transporte des charges (appelées loads sous Automod). On appelle charge tout objet transporté par le système lors de la simulation (pièces, palettes, produits manufacturés divers). A titre d'exemple, un paquet se déplaçant sur un convoyeur est défini comme une charge. La notion de charge est importante sous AUTOMOD car ce sont les charges qui activent le programme (le système logique) et exécutent les instructions … s'il n'y a pas de charge introduite dans le système rien ne se passe au niveau de la simulation. Le système logique Le système logique est constitué par le (ou les) programme(s) appelé(s) process qui régissent le fonctionnement de l'installation. Le langage de programmation est le langage évolué Automod constitué d'une trentaine de mots clefs élémentaires. Il permet de définir la logique de fonctionnement de chaque sous-système, de définir les ressources (opérateurs et/ou machines), les temps de pannes, etc. mais également les charges qui sont véhiculées dans le système. Interaction entre le système logique et le système physique Les interactions entre le système logique et le système physique, ainsi que celles entre les systèmes physiques sont réalisées par l'intermédiaire de stations. Les stations correspondent à des emplacements spécifiques du système physique, auxquels sont associés par exemple des points d'aiguillage ou d'ancrage, des localisations de capteurs, d'actionneurs, ou de machines, Andreu / Prieur 6 Université Montpellier II DESS R&D Produits Industriels etc. Les process logiques sont exécutés lors du passage des charges sur les stations. Les charges passent de station en station par l'intermédiaire du système physique qui en assure le transport. La destination des charges est définie à travers les process logiques exécutés aux stations. Les connexions IN/OUT constituent les liaisons entre les systèmes physiques et logique. Une connexion IN permet de transmettre une charge du système physique au système logique, et une connexion OUT pour déposer la charge traitée par le système logique sur le système physique. Une charge passe d'un système physique à l'autre grâce à l'instruction move_to ; elle est véhiculée au sein du système physique par l'instruction travel_to qui permet de spécifier sa station de destination. Elle subit un process (ou passera d'un process à l'autre) grâce à l'instruction send_to qui permet de désigner le traitement que doit subir la charge sur la station considérée. Sta2 stations Process P2 Déclenchement par une charge … wait to be ordered on OLappro … Process P1 Sta1 … move_to Sta1 travel to Sta2 send_to P2 … Système physique Système logique Il est à noter qu'une charge ne se déplace sur le système physique que si le process de la station de départ est en relation avec le process de la station de destination. A défaut, pour pouvoir lancer un process sans que la charge ne passe réellement par la station concernée il faut "cloner" une charge dans le process cible afin qu'il puisse s'exécuter (i.e. créer une charge virtuelle qui lance le process cible). Formation à l'outil La formation à l'outil Automod sera effectuée en salle sous environnement windows PC. L'exemple choisi pour l'étude est une cellule robotisée présentée par la suite. Andreu / Prieur 7 Université Montpellier II DESS R&D Produits Industriels Simulation de flux d'une cellule robotisée Description Le système est une cellule robotisée organisée autour d'un tapis roulant en anneau sur lequel se déplacent des palets. Le sens de rotation est unidirectionnel. Les palets permettent le transport de pièces (une par palet) sur le convoyeur. Sans aucune commande, les palets sont arrêtés sur les ancrages ou au niveau des poussoirs (poussoirs 1 et 2) qui assurent la fermeture de l'anneau. Le système est équipé de capteurs qui permettent de localiser les palets sur le convoyeur. Saturation ancrage 2 Saturation ancrage 3 Saturation ancrage 4 Saturation ancrage 5 Accumulateur "externe" La cellule est alimentée en palettes (pas nécessairement pleines) pouvant comporter jusqu'à 8 pièces à traiter. Ces palettes sont dirigées vers le robot par l'intermédiaire d'un tapis et d'un poussoir. L'évacuation de ces palettes (une fois vidées) est supposée être effectuée manuellement. Le robot est chargé de transférer le contenu des palettes, pièce par pièce, sur les palets disponibles et vides au niveau de l'ancrage 2. Un fois le palet chargé (d'une pièce), il est acheminé vers l'ancrage 3 où une reconnaissance visuelle de la pièce transportée est effectuée. Si un palet vide se présente devant le poste de reconnaissance, il poursuit son chemin sans requérir de traitement. Par contre toute pièce de type A (respectivement B) est déchargée par le robot dans un bac A (respectivement B). Le palet qui transportait la pièce traitée est alors libéré et acheminé vers la voie intérieure via le poussoir 2. Andreu / Prieur 8 Université Montpellier II DESS R&D Produits Industriels Par ailleurs, 4 palets vides sont déposés sur l'accumulateur externe (ancrage 5), à disposition de l'opérateur afin qu'il puisse "injecter" des pièces sur le convoyeur. Ce stock doit être maintenu à 4 palets vides. Les poussoirs peuvent être considérés comme des ressources critiques au sens où ils ne peuvent servir (aiguiller) qu'un palet à la fois. De manière générale, une ressource "poussoir" doit être disponible (réservation) avant de libérer un palet en amont, c'est-à-dire avant de le laisser se diriger vers le poussoir. La ressource est restituée (libération) dès que le palet a franchi l'aiguillage, i.e. dès qu'il a quitté le poussoir considéré. Un palet issu de l'ancrage 3 et destiné à revenir sur l'anneau doit traverser les deux poussoirs. Il doit être maintenu bloqué au niveau de l'ancrage 3 tant que le poussoir 1 n'est pas disponible. Arrivé à l'ancrage 4 le palet doit être arrêté si le poussoir 2 n'est pas disponible. Cependant il est possible d'utiliser une stratégie d'anticipation ; en s'appuyant sur les durées estimées des opération de transfert (transport d'un palet de l'ancrage 3 à l'entrée du poussoir 1 d'environ 4 sec, aller/retour du poussoir 1 d'environ 2 sec) on s'aperçoit qu'un second palet peut être transporté vers le poussoir 1 alors que le palet précédent est en cours de transfert via (sur) le poussoir 1. Une amélioration des flux sur cette partie de l'installation est donc possible. Le robot apparaît également comme une ressource partagée, entre quatre opérations : • Déchargement des palettes, • Chargement des palets vides (sur l'ancrage 2), • Déchargement des palets pleins (sur l'ancrage 3), • Evacuation des palettes vides. Plusieurs stratégies de pilotage sont possibles aussi bien au niveau de la gestion du robot qu'au niveau de la gestion des palets vides (stockage et recyclage). Stratégies de gestion du robot L'allocation de la ressource partagée "robot" aux différentes opérations peut répondre à des stratégies plus ou moins évoluées : • Priorité au déchargement de la palette : les palets vides présents au niveau de l'ancrage 2 sont chargés en priorité. Le déchargement de ces palets au niveau de l'ancrage 3 est alors effectué uniquement lorsqu'il n'y a plus de pièce à traiter sur la palette en cours. Il faut cependant être conscient du risque de saturation du poste aval. Toute saturation, détectée par le capteur de saturation de l'ancrage 3, implique nécessairement l'arrêt du chargement de palets vides à l'ancrage 2 au profit du déchargement de palets pleins à l'ancrage 3 … sinon le système se trouve bloqué. • Alternance chargement/déchargement : pour chaque pièce de la palette, un palet est chargé à l'ancrage 2 puis le robot se déplace à l'ancrage 3 pour décharger la pièce après reconnaissance visuelle. Il est important de noter que le robot effectue dans ce cas de nombreux déplacements entre les deux postes qui peuvent s'avérer pénalisants. • Gestion dynamique d'une "file d'attente" (par comptage) : des palets vides se stockent en amont de l'ancrage 3 et des palets pleins en amont de l'ancrage 2. Il est possible de compter le nombre de palets pleins dans la file d'attente de l'ancrage 2 et de décider en fonction d'un seuil max (à trouver) de l'allocation du robot au chargement ou au déchargement de palets. Les déplacements du robot d'un ancrage à l'autre étant assez Andreu / Prieur 9 Université Montpellier II • DESS R&D Produits Industriels longs, il faut également déterminer le nombre min de palets à décharger avant de revenir au poste de chargement (décharger un palet et revenir au poste de chargement est presque équivalent à l'alternance évoquée ci-dessus). Priorité à l'évacuation de la palette vidée par rapport au déchargement des palets présents au niveau de l'ancrage 3 … Une vision locale du problème n'est pas suffisante pour conclure rigoureusement en terme de stratégie la plus performante. En effet, prenons à titre d'exemple la première stratégie : enchaîner le chargement de pièces sur les palets évite les déplacements du robot du poste de chargement au poste de déchargement entre chaque pièce. Cependant cette stratégie risque d'induire une situation de famine pour les postes aval au chargement (faux problème dans le cas présent puisque le seul poste aval est celui de déchargement et il nécessite le robot), voire une saturation en aval du poste de chargement. Il apparaît donc clairement qu'aucune conclusion n'est possible sans observer les conséquences de chaque stratégie au niveau global, i.e. les conséquences en terme de flux au sein de l'installation et donc de conséquences en terme de performances. Il vous appartient de tester ces différentes stratégies et de conclure quant à la stratégie à retenir pour optimiser les flux et par conséquent la productivité du système. Stratégies de stockage et de recyclage des palets vides Afin de permettre à l'opérateur d'injecter "manuellement" des pièces dans l'installation, 4 palets vides lui sont réservés dans la zone amont à l'ancrage 5 (accumulateur externe). Ces palets sont normalement libérés, i.e. injectés dans l'anneau, dès qu'il n'y a plus de palette à traiter. Ces palets ne subissent pas d'arrêt au niveau de l'ancrage 2 puisqu'ils n'ont pas à être chargés par le robot. Il aurait pu être intéressant d'injecter ces palets avant qu'il n'y ait plus de palette à traiter (entre deux palettes par exemple), tout en maintenant le stock de palets disponibles à l'opérateur au nombre de 4 (un palet vide issu de l'ancrage 3 vient alors remplacer le palet libéré par l'ancrage 5). Cependant, il est actuellement (au vu de l'instrumentation disponible) impossible d'établir la distinction entre un palet arrivant vide ou plein sur l'ancrage 2 … le robot ne saurait donc pas s'il doit charger ou non le palet courant. Malgré l'intérêt potentiel d'une telle stratégie de stockage et recyclage des palets, il est inutile de simuler son influence dans la mesure où elle ne pourrait être implantée. En effet, l'objectif est ici d'optimiser le fonctionnement d'une installation existante, mais ces simulations auraient trouvé un intérêt si l'objectif avait été l'identification d'améliorations de l'installation existante. L'objectif de la simulation est par conséquent primordial. Andreu / Prieur 10 Université Montpellier II DESS R&D Produits Industriels Travail à effectuer Votre tâche consiste à : 0- Définir votre simulation (objectif et granularité) 1- Modéliser le fonctionnement de l'installation par réseaux de Petri (Autant de modèles qu'il y a de stratégies différentes). 2- Faire l'analyse organique et développer l'installation physique sous AUTOMOD : il s'agit du système physique. Selon la granularité fixée, cette modélisation peut requérir celle du robot. 3- Développer les charges de votre installation sous AUTOMOD. 4- Implémenter les stratégies de pilotage à l'aide du langage AUTOMOD, la structure des process et leurs interactions étant décrites par les réseaux de Petri correspondants : il s'agit du système logique. 5- Simuler et produire des traces de fonctionnement vous permettant d'évaluer les performances de votre système. Les étapes 4 et 5 sont à répéter pour chaque modèle (de l'étape 1). 6- Comparer les résultats obtenus et conclure sur le jeu de stratégies de pilotage (stratégie de gestion du robot) conduisant à une utilisation "optimale" de l'installation. Andreu / Prieur 11 Université Montpellier II DESS R&D Produits Industriels ANNEXES Description des entrées/sorties Saturation ancrage 2 Présence pièce Ancrage 1 Présence pièce Ancrage 2 Saturation ancrage 3 Présence pièce Poussoir 2 Poussoir 2 intérieur Présence pièce Ancrage 4 Saturation ancrage 4 Présence pièce Ancrage 3 Poussoir 1 intérieur Présence pièce Poussoir 1 Saturation ancrage 5 Libération Poussoir 2 Sortie Poussoir 2 Poussoir 2 Poussoir 2 extérieur Présence pièce Ancrage 5 Sortie Poussoir 2 Libération poussoir 1 Poussoir 1 extérieur Positionnement des stations (pour modèle Automod) Andreu / Prieur 12