• Aucun résultat trouvé

Id´ ee g´ en´ erale et objectif des v´ ehicules autoguid´ es

Consid´erons un syst`eme manufacturier flexible avec Ncressources, Nlproduits et NiAGVs (pouvant ˆetre d´esign´es par agents par commodit´e) o`u Nc, Nl, Ni ∈ N. Le niveau de pilotage haut est appel´e niveau de Gestion des Op´erations et des Ressources de Production (G.O.R.P). Les notations, adapt´ees d’un probl`eme de production comme [Trentesaux et al., 2013] et donn´ees `a la page 7, sont rappel´ees `a l’aide du tableau 2.1 afin de faciliter la compr´ehension du probl`eme.

Tableau 2.1 – Notations des variables et param`etres

R : ensemble des ressources (machines) R = {1, ..., Nc}. A : ensemble des AGVs (agents) A = {1, ...Ni}.

J : ensemble des produits J = {1, ..., Nl}.

Ol : ensemble s´equenc´e d’op´erations Ol={1, ..., Nn} `a effectuer par le produit l ∈ J . Rnl : ensemble de ressources pouvant effectuer l’op´eration n du produit l.

optnl : temps de traitement de l’op´eration n du produit l (`a une ressource b∈ Rnl). oddnl : ´ech´eance de l’op´eration n du produit l.

ctnlb : temps pour achever l’op´eration n du produit l `a la ressource b∈ Rnl. qb : position (xb, yb)T de la ressource b∈ R dans l’environnement manufacturier. wb : temps d’attente actuel `a la ressource b∈ R.

qi : position actuelle de l’agent i. vi : vitesse actuelle de l’agent i. qi(t) : Trajectoire de l’agent i.

Ti,init : Instant initial lorsque l’agent i d´emarre (ou a d´emarr´e) de la ressource. Ti,f in : Instant final que l’agent i planifie pour atteindre la prochaine ressource. Ti,upti : Instant (actuel) o`u la trajectoire de l’agent i est mise `a jour.

T Tib : Temps de transport vers la ressource b.

Ni : Ensemble des voisins de l’agent i (agents qui communiquent avec celui–ci).

HPi : Ensemble des voisins de l’agent i ayant un niveau de priorit´e plus haut que celui–ci. Rcom : Port´ee de communication pour tous les agents i∈ A.

dsaf e : Distance de s´ecurit´e `a respecter pour ´eviter les collisions inter–agents.

Dans ce syst`eme manufacturier, les AGVs ne doivent pas uniquement transporter leur produit entre les diff´erentes ressources. En effet, ils doivent aussi prendre dynamiquement des d´ecisions afin d’ordonnancer leur produit selon un cahier des charges comme le montre la Fig. 2.1.

Figure 2.1 – Interactions entre le niveau global et les AGVs

La premi`ere id´ee est de descendre la fonction d’ordonnancement au niveau local des AGVs dans l’algorithme de navigation. La fonction permettant d’´elaborer le cahier des charges reste au niveau global dans la gestion des op´erations et des ressources de production (G.O.R.P) et ne sera pas trait´ee dans les approches propos´ees. Le cahier des charges correspond `a l’assignement d’une date, appel´ee ´

ech´eance, pour laquelle une op´eration d’un produit doit ˆetre achev´ee sans pr´eciser explicitement sur quelle ressource l’op´eration doit ˆetre achev´ee. L’ordonnancement signifie l’affectation d’une ressource pour chaque op´eration en respectant le cahier des charges.

En plus de descendre la fonction d’ordonnancement au niveau local, la seconde id´ee est de faire une combinaison entre l’ordonnancement et la planification de trajectoire. Cette id´ee repose sur le fait que ces fonctions sont ´etroitement li´ees (voir chapitre 1). En effet, la planification de trajectoire permet d’avoir une information sur la date `a laquelle l’AGV arrivera `a la ressource en consid´erant l’´evitement de collisions. En la combinant `a la fonction d’ordonnancement, on peut s´electionner la ressource par rapport `a l’information donn´ee par la trajectoire (temps d’arriv´ee `a la ressource). Cependant, il convient de noter qu’il est difficile voire impossible, pour deux agents ou plus, d’ordonnancer leur produit d’une mani`ere simultan´ee, c’est-`a-dire en parall`ele. Ce probl`eme est illustr´e par un exemple `a l’aide de la Fig. 2.2 o`u deux agents doivent ordonnancer leur produit en mˆeme temps tout en planifiant leur trajectoire.

Figure 2.2 – Exemple du probl`eme de l’ordonnancement combin´e avec la planification

Pour cet exemple, l’agent i a un niveau de priorit´e plus bas et doit ´eviter l’agent j (ou un conflit de collision avec celui–ci). Pour cela, il faut imp´erativement que l’agent i ait la connaissance du choix de ressource de l’agent j. En effet, ne connaissant pas le choix de ressource de l’agent j (car la planification est simultan´ee), l’agent i ne peux savoir s’il doit ´eviter la collision en E1 ou en E2 s’il se dirige vers la ressource A (voir Fig. 2.2). De la mˆeme fa¸con, il ne sait pas s’il doit ´eviter la collision en E3 avec l’agent j s’il se dirige vers la ressource C. De ces propos, on remarque qu’il faut mettre en oeuvre des outils permettant d’´eviter ce probl`eme.

Pour cela, les deux approches possibles sont ´enum´er´ees ci–dessous :

• La premi`ere approche, appliqu´ee dans le chapitre 3, consiste `a ne pas mettre `a jour la trajectoire et la ressource de plusieurs agents d’une mani`ere simultan´ee. Cependant, cela peut engendrer des r´epercussions car un agent doit attendre que tous les autres ont mis `a jour leur trajectoire pour savoir vers quelles ressources ils se dirigent.

• La seconde approche, appliqu´ee dans le chapitre 4, permet de mettre `a jour la trajectoire de plusieurs agents d’une mani`ere simultan´ee. Cependant, la ressource n’est pas mise `a jour `a chaque fois que la trajectoire l’est car tous les agents ne sont pas autoris´es `a ordonnancer leur produit `a chaque mise `a jour de trajectoire. Ainsi, certains agents ne se dirigent que vers une seule ressource, permettant aux autres d’ordonnancer leur produit en ´etant assur´es du choix de ressources des agents qu’ils doivent ´eviter.

L’objectif pour chaque AGV est, en d´emarrant de la ressource a∈ R(n−1)l, de minimiser le temps pour compl´eter l’op´eration n en cours, ce qui revient `a achever l’op´eration le plus rapidement possible.

Autrement dit, il faut choisir la meilleure ressource appropri´ee b∈ Rnl (ordonnancement) tout en planifiant une trajectoire qi(t) vers celle–ci (conduite). La meilleure ressource signifie celle qui permet d’achever le produit dans le plus court d´elai. Ceci revient `a minimiser le temps pour achever l’op´eration ctnlb comme suit :

min

qi(t), bctnlb = Ti,init+ T Tib+ wb+ optnl (2.2.1) o`u Ti,init est l’instant de d´epart de la ressource a ∈ R(n−1)l ayant effectu´ee l’op´eration n− 1, T Tib

est le temps de transport entre la position initiale qi(Ti,init) = qa de l’agent i et la position finale qb de la ressource b∈ Rnl. wb est le temps d’attente `a la ressource et optnl est le temps de traitement de l’op´eration. De ce crit`ere, on remarque que le choix de ressource se fait par rapport au temps de transport et au temps d’attente de la ressource. En effet, le temps de traitement optnl est le mˆeme quelque soit la ressource pouvant effectuer l’op´eration. Ainsi, si le temps d’attente `a une ressource est ´

elev´e, il y a plus de chance que l’agent choisisse une autre ressource. De la mˆeme mani`ere, si l’agent met plus de temps `a arriver `a une ressource (car elle est ´eloign´ee ou parce qu’il y a beaucoup de collisions `a ´

eviter), une autre ressource pourrait ˆetre choisie.