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

Documents pareils