ITVR20130178A1 - Dispositivo e metodo per l'ottimizzazione della movimentazione di veicoli a guida automatica, e simili - Google Patents

Dispositivo e metodo per l'ottimizzazione della movimentazione di veicoli a guida automatica, e simili

Info

Publication number
ITVR20130178A1
ITVR20130178A1 IT000178A ITVR20130178A ITVR20130178A1 IT VR20130178 A1 ITVR20130178 A1 IT VR20130178A1 IT 000178 A IT000178 A IT 000178A IT VR20130178 A ITVR20130178 A IT VR20130178A IT VR20130178 A1 ITVR20130178 A1 IT VR20130178A1
Authority
IT
Italy
Prior art keywords
node
vehicle
vehicles
mission
automatic guided
Prior art date
Application number
IT000178A
Other languages
English (en)
Inventor
Fabrizio Dabbene
Croce Federico Della
Terlizzi Domenico Di
Marco Ghirardi
Roberto Olmi
Nicola Sacco
Original Assignee
Elettric 80 Spa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Elettric 80 Spa filed Critical Elettric 80 Spa
Priority to IT000178A priority Critical patent/ITVR20130178A1/it
Priority to EP14771380.4A priority patent/EP3025206B1/en
Priority to ES14771380.4T priority patent/ES2644703T3/es
Priority to PCT/IB2014/063349 priority patent/WO2015011661A2/en
Publication of ITVR20130178A1 publication Critical patent/ITVR20130178A1/it

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • G05D1/0297Fleet control by controlling means in a control room

Description

“DISPOSITIVO E METODO PER L’OTTIMIZZAZIONE DELLA MOVIMENTAZIONE DI VEICOLI A GUIDA AUTOMATICA, E SIMILI”.
CAMPO TECNICO DELL’INVENZIONE
La presente invenzione riguarda un dispositivo e un metodo per l’ottimizzazione della movimentazione di veicoli a guida automatica, e simili.
In particolare, la presente invenzione riguarda un dispositivo e un metodo che consenta di ottimizzare la movimentazione di veicoli a guida automatica utilizzati ad esempio in magazzini di vario tipo per il trasporto di articoli, così da perfezionare i percorsi che i veicoli devono seguire per raggiungere le diverse postazioni diminuendo i tempi di trasporto degli articoli, ed evitando che si possano generare ingorghi lungo i percorsi stessi.
STATO DELLA TECNICA ANTERIORE
In diversi settori è diffuso il ricorso a veicoli a guida automatica, tali veicoli, detti anche AGV abbreviazione delle parole inglesi Automated Guided Vehicle. Tali veicoli trovano ad esempio ampio utilizzo in magazzini industriali di vario tipo per il trasporto di articoli dei più disparati generi all’interno del magazzino.
Gli articoli per cui sono impiegati gli AGV possono appartenere a diversi settori quali il settore ceramico, il settore alimentare, il cosiddetto settore beverage, cioè bottiglie, lattine e simili, il cosiddetto settore tissue, cioè rotoli di carta in genere e simili, il settore meccanico per la movimentazione di semilavorati e pezzi finiti, eccetera.
Tali veicoli a guida automatica possono essere di varie tipologie, in ogni modo ricopre un ruolo di primaria importanza la gestione dei percorsi seguiti dagli stessi, così da eseguire le missioni assegnate - ad esempio trasportare articoli fra le varie postazioni -con efficienza e rapidità.
I dispositivi di gestione dei percorsi dei veicoli a guida automatica di tipo noto comprendono, fra l’altro, un cosiddetto grafo di connessione, cioè uno schema dei possibili percorsi attraverso i quali devono essere guidati i veicoli.
Lo schema dei percorsi è costituito da un determinato numero di nodi e da segmenti che collegano i nodi stessi.
Al fine di approntare i percorsi per i veicoli a guida automatica, bisogna tener in considerazione la presenza di determinati vincoli, il primo dei quali è che un segmento può essere assegnato ad un AGV solo se: altri veicoli non sono sullo stesso segmento;
nessun altro veicolo è su segmenti con lo stesso nodo di destinazione.
Va inoltre tenuto presente che un veicolo non è un punto, quindi per ragioni di ingombro del veicolo può accadere che un segmento possa essere incompatibile con alcuni dei segmenti e nodi vicini.
In particolare, tale incompatibilità è verificata calcolando – usualmente tramite un programma CAD - la forma dell’area spazzata dal veicolo mentre viaggia su ciascun segmento ed essendo posizionato in ogni nodo. Quindi, per ogni segmento si calcola l’insieme delle entità, ossia l’insieme dei segmenti e dei nodi per i quali la forma calcolata interseca la forma del segmento considerato.
Queste entità, di seguito denominate segmenti e nodi incompatibili, sono definite come entità di blocco per il segmento considerato.
Pertanto ulteriori vincoli prevedono che un segmento predeterminato possa essere assegnato ad un veicolo solo se:
nessun segmento di blocco per il segmento predeterminato è stato assegnato ad un altro veicolo;
nessun segmento che termina su un nodo di blocco per il segmento predeterminato è stato assegnato ad un altro veicolo;
nessun veicolo è su un nodo di blocco per il segmento predeterminato.
Inoltre, ogni volta che un veicolo lascia un nodo necessita di un certo tempo per lasciare effettivamente libero il nodo stesso, perché tutta la forma in pianta del veicolo deve effettivamente oltrepassare il nodo. Quindi ogni segmento ha un punto di rilascio, che è precisamente il punto del segmento che deve essere oltrepassato da un veicolo prima che il nodo possa essere dichiarato libero ed eventualmente impegnato da un altro veicolo.
Pertanto, un secondo vincolo da assegnare è che: nessun veicolo è su un segmento che parte da un nodo di blocco per il segmento predeterminato, ma non ha oltrepassato il suo punto di rilascio.
Infine, vanno poi identificate tutte quelle situazioni in cui gli AGV, pur non violando nessuno dei vincoli precedentemente descritti, vengono a trovarsi in posizioni tali da impedire, l’un l’altro, il movimento. Tali situazioni, che evidentemente avvengono se si considerano segmenti monodirezionali, sono in genere denominate deadlocks, cioè stalli o blocchi di AGV.
Una condizione analoga si verifica quando i veicoli si trovano in situazioni in cui sono possibili solamente movimenti che riportano, periodicamente, gli AGV nelle stesse posizioni. In questo caso, gli AGV non sono impossibilitati a muoversi, ma si trovano comunque in una situazione di stallo, perché come già detto sopra, gli AGV si possono muovere, ma ritornano periodicamente nelle stesse posizioni. Queste situazioni sono dette livelocks.
Tuttavia, i dispositivi e i metodi di tipo noto per la gestione dei percorsi dei veicoli a guida automatica si limitano semplicemente ad evitare le interferenze o le collisioni fra i diversi veicoli a guida automatica, ma non garantiscono un rapido ed ottimale impiego dei veicoli, determinando conseguentemente perdite del tempo necessario al trasporto di articoli e in definitiva determinando una perdita anche dal punto di vista economico.
SCOPI DELL’INVENZIONE
Lo scopo della presente invenzione è quindi quello di proporre un dispositivo e un metodo per l’ottimizzazione della movimentazione di veicoli a guida automatica, e simili, che perfezioni i percorsi che i veicoli devono seguire per raggiungere le diverse postazioni per compiere le missioni assegnate, in modo tale da diminuire i tempi necessari ad esempio per il trasporto di articoli fra le diverse postazioni, ed evitando che si possano generare interferenze fra i veicoli a guida automatica lungo i percorsi stessi, specie nel caso in cui sia impiegato un elevato numero di veicoli a guida automatica.
Costituisce un particolare scopo della presente invenzione realizzare un dispositivo e un metodo per l’ottimizzazione della movimentazione di veicoli a guida automatica, e simili, che consenta di diminuire la somma del tempo nominale di percorrenza di tutti i percorsi effettuati dall’insieme del parco veicoli in una determinata area o magazzino, ottenendo così un risparmio, oltre che di tempo, anche economico.
Si definisce il tempo nominale di percorrenza come la somma dei tempi nominali di percorrenza di ciascun segmento del percorso, determinati come rapporto fra la lunghezza e la velocità nominale del veicolo su ciascun segmento.
Questo scopo è raggiunto dal dispositivo per l’ottimizzazione della movimentazione di veicoli a guida automatica, e simili, secondo la rivendicazione 1.
Questo scopo è anche raggiunto dal metodo per l’ottimizzazione della movimentazione di veicoli a guida automatica, e simili, secondo la rivendicazione 15.
Ulteriori vantaggiose caratteristiche sono descritte nelle rivendicazioni dipendenti.
BREVE DESCRIZIONE DEI DISEGNI.
Le caratteristiche dell’invenzione saranno meglio comprese da ogni tecnico del ramo dalla descrizione che segue e dalle annesse tavole di disegni, dati quale esempio non limitativo, nei quali:
la figura 1 è uno schema del dispositivo per l’ottimizzazione della movimentazione di veicoli a guida automatica, e simili, secondo la presente invenzione;
la figura 2 è una vista schematica di possibili percorsi bidirezionali per veicoli gestibili tramite il metodo e il dispositivo per l’ottimizzazione della movimentazione di veicoli a guida automatica, secondo la presente invenzione.
la figura 3 è una vista schematica di possibili percorsi per veicoli gestibili tramite il metodo e il dispositivo per l’ottimizzazione della movimentazione di veicoli a guida automatica, secondo la presente invenzione; e
la figura 4 è una vista schematica di una sequenza di segmenti da percorrere per due veicoli a guida automatica, secondo la presente invenzione.
FORME DI ATTUAZIONE DELL’INVENZIONE.
Secondo quanto illustrato in figura 1, il dispositivo per l’ottimizzazione della movimentazione di veicoli a guida automatica, indicato complessivamente con il numero 20, comprende essenzialmente:
un modulo di gestione del traffico 21 che gestisce la movimentazione primaria di alcuni veicoli a guida automatica AGV1, AGV2, AGV3, …, AGVn;
un modulo di riassegnazione 24 delle missioni dei veicoli a guida automatica - cioè di assegnazione delle missioni di prelevamento e consegna degli articoli, per ciascun veicolo, secondo un criterio di ottimalità - collegato in modo da comunicare con il modulo di gestione del traffico 21 e con i veicoli a guida automatica AGVn, ricordiamo qui che il termine ottimale o ottimalità ha il significato di trovare la miglior soluzione ammissibile rispetto ai vincoli imposti;
un modulo risolutore 25 che è collegato ed è in comunicazione con il modulo di gestione del traffico 21.
In alcuni casi, il dispositivo per l’ottimizzazione 20 può comprendere in modo opzionale un modulo supervisore 23 di livello superiore, indicato per questo motivo in figura 1 con una linea tratteggiata. Questo modulo supervisore è a sua volta in comunicazione con il modulo di gestione del traffico 21 e con il modulo risolutore 25.
Tra i compiti del modulo supervisore vi sono la scelta preliminare, a medio termine, dei percorsi, l’allocazione preventiva di percorsi a particolari AGV attraverso criteri di ottimalità, il sequenziamento delle missioni di carico e scarico in modo da “prepianificare” il traffico.
Il dispositivo per l’ottimizzazione 20 comprende, inoltre, una memoria 26 in cui si è rappresentata la pianta del magazzino – il cosiddetto layout - o dell’area in cui si devono muovere i veicoli AGV, da questa pianta del magazzino è poi ricavato il grafo di connessione che si trova nel rispettivo modulo grafo di connessione 27, il quale comprende un tracciato dei possibili percorsi per i veicoli AGV.
Il grafo di connessione è quindi utilizzato dal modulo di gestione del traffico 21 per la movimentazione dei veicoli AGV.
Più in dettaglio, il modulo di gestione del traffico 21 riceve i dati dal modulo grafo di connessione 27 e lo stato complessivo del sistema, cioè la posizione corrente dei veicoli AGV, le missioni che devono compiere i veicoli, ecc.
Il modulo di gestione del traffico 21 quindi calcola per ciascun AGV un grafo di connessione ridotto, cioè un grafo che è formato dalla porzione di grafo generale che l’AGV può effettivamente raggiungere in un prefissato numero di passi, di seguito indicato come orizzonte temporale T .
Queste informazioni, cioè lo stato complessivo del sistema e il grafo di connessione ridotto per ciascun veicolo AGV, sono successivamente passate al modulo risolutore 25, il quale le rielabora attraverso un modello di programmazione lineare intera, di cui si dirà in seguito, fornendo una soluzione preliminare ottimizzata dei percorsi, sotto forma di una sequenza di segmenti che ciascun veicolo AGV dovrà percorrere. Poiché la soluzione preliminare fornita dal modulo risolutore 25 utilizza un modello approssimato (di cui si dirà in seguito), il modulo di gestione del traffico 21 deve verificare la effettiva compatibilità della soluzione e quindi controllare le assegnazioni dei segmenti di percorso ai veicoli in questione.
Nell’esempio illustrato in figura 4, il modulo risolutore 25 fornisce una sequenza di segmenti “b” e “c” per il veicolo AGV1, mentre per il veicolo AGV2, fornisce la sequenza di segmenti “a” e “d”.
Si deve notare che tale soluzione è attuabile per il modulo risolutore 25 in quanto nella prima fase il veicolo AGV1 percorre il segmento “b” e il veicolo AGV2 percorre il segmento “a” e nella fase successiva il veicolo AGV1 percorre il segmento “c” e il veicolo AGV2 percorre il segmento “d”.
Dall’esempio sopra citato risulta che la soluzione proposta sopra è compatibile perché, nonostante l’incrocio dei segmenti di percorso “a” e “c”, questi tratti sono percorsi dai due veicoli AGV1 e AGV2 in tempi diversi.
In dettaglio, il dispositivo 21 secondo la presente invenzione effettua le seguenti attività:
controlla periodicamente la posizione corrente dei veicoli a guida automatica nei diversi segmenti del percorso, ed ogni volta che un determinato veicolo AGVn cambia il suo segmento corrente, verifica la possibilità di assegnare agli altri veicoli AGV1, AGV2, … AGVn-1 gli altri segmenti;
assegna un segmento di percorso ad un determinato veicolo a guida automatica nel periodo di tempo “t1”, solo se tutti i segmenti di percorso relativi al precedente periodo di tempo “t1-1” sono stati assegnati a tutti gli altri veicoli, questa regola è necessaria per evitare che la soluzione che si va ad applicare soddisfi le priorità di passaggio indicate nella soluzione del modello;
compone un messaggio con i segmenti da assegnare a ciascun veicolo e lo invia al gestore del traffico 21 che lo smista ai veicoli AGV interessati.
Ogni volta che il modulo risolutore 25 ha elaborato una soluzione per la movimentazione degli AGV, viene richiamato il modulo di riassegnazione 24, il quale riassegna gli AGV – fra quelli che possono essere riassegnati – per attivare le missioni.
I veicoli AGV che possono essere riassegnati sono quelli che non sono connessi, intendendo con questo termine i veicoli AGV impegnati in una missione dal momento di inizio di presa di un carico di prodotti fino al termine dello scarico del carico.
Durante questo periodo di tempo, il carico di prodotti relativo ad una missione è fisicamente connesso al relativo veicolo AGV, e quindi non è possibile assegnare tale missione da eseguire ad altri veicoli. Si deve anche notare che il modulo di riassegnazione 24 assegna le missioni ai veicoli AGV in modo matematicamente ottimizzato, cioè minimizzando la somma dei tempi nominali relativi ai percorsi minimi (ovvero i percorsi che permettono di raggiungere la destinazione nel minor tempo possibile senza considerare possibili deviazioni necessarie ad evitare “ingorghi”) che i veicoli devono effettuare per spostarsi dal nodo finale del segmento assegnato fino a quel momento ai rispettivi nodi di destinazione di missione.
Più in dettaglio, il modulo di riassegnazione 24 riassegna le missioni ai veicoli AGV minimizzando la somma dei tempi di percorrenza delle distanze che hanno i veicoli stessi fino al raggiungimento della rispettiva missione obiettivo.
La funzione obiettivo da minimizzare è la somma di tutti i tempi nominali di percorrenza dal punto finale di ciascun veicolo AGV, inteso come il punto in cui terminano i dati segmenti fino a quel momento.
La suddetta somma di tutte le distanze è calcolata preventivamente sulla base dei percorsi predeterminati, per ogni coppia di nodi, tramite un algoritmo per il calcolo dei percorsi minimi (come ad esempio il noto algoritmo di Dijkstra).
In pratica, a ciascun nodo del grafo di connessione è associata una matrice che comprende tutti i tempi nominali minimi verso gli altri nodi, calcolate con l’algoritmo di calcolo dei percorsi minimi.
Il modulo risolutore 25 genera un modello di programmazione intera lineare utilizzando i dati ricevuti dal modulo di gestione del traffico 21.
In particolare, il modulo risolutore 25 comprende una memoria in cui sono registrati gli elementi della programmazione intera lineare che definiscono il sistema: variabili, coefficienti della funzione obiettivo, matrice dei vincoli; il modulo risolutore 25 comprende inoltre un risolutore lineare vero e proprio. Come già menzionato, il modulo risolutore utilizza un modello lineare approssimato, in cui:
a) il tempo di percorrenza di ciascun segmento del grafo è considerato noto e fisso, cioè ciascun segmento è percorso sempre nello stesso tempo. Questa è l’approssimazione più importante, che non è certamente soddisfatta dagli attuali grafi in cui coesistono segmenti molto corti e segmenti molto lunghi. Comunque da simulazione effettuate, si è potuto valutare che, se il rapporto fra la lunghezza dei segmenti più lunghi e più corti del percorso è compreso fra 1,5 e 2, allora la sequenza ottimale di fasi di percorso è quasi sempre la stessa. In realtà, ovviamente, i tempi di percorrenza dei segmenti possono variare, e questa è la ragione del controllo di compatibilità che viene eseguita ad ogni passo dal modulo di gestione del traffico;
b) nella attuale realizzazione dell’invenzione, i punti di rilascio sono ignorati, cioè il punto in un determinato segmento che deve essere oltrepassato da un veicolo prima che il nodo precedente possa essere dichiarato libero; questa ipotesi deriva dalla considerazione che l’uso delle informazioni sui punti di rilascio può essere considerato eccessivo se paragonato al tempo necessario per la comunicazione/decisione.
Una buona pianificazione assicura che i veicoli possano muoversi in maniera fluida pur essendo molto vicini tra loro. Nella pratica, però, se si hanno tempi di programmazione troppo stretti, si possono trovare in diverse situazioni non ideali. Ovviamente i punti di rilascio sono considerati dal modulo di gestione del traffico 21 durante l’assegnazione di segmenti.
Si deve notare come la soluzione proposta dal risolutore non può essere applicata, oppure è praticamente irrealizzabile, solamente nel caso di un anello o loop chiuso di segmenti (figura 3), in cui ogni segmento rimane bloccato finché il nodo di destinazione ancora è occupato, ma questa è una situazione che è quasi impossibile da realizzarsi, in quanto ogni veicolo è attirato verso la sua destinazione ed è difficile che i veicoli siano instradati in un anello o loop chiuso di segmenti.
Comunque, per evitare la maggior parte di queste situazioni, si aggiunge un’incompatibilità supplementare per ogni anello o loop di 2 segmenti (n1, n2) e (n2, n1), lasciando la possibilità che si verifichino loop di ordine superiore (tre AGV per tre segmenti, quattro AGV per quattro segmenti, e così via) che possono realizzarsi con probabilità trascurabile. Tornando al modulo del grafo di connessione 27 e come già sopra accennato, in tale modulo viene eseguito il calcolo delle distanze minime fra ogni coppia di nodi del grafo di connessione. Tale calcolo è fatto, per esempio, tramite l’algoritmo di Dijkstra, quindi a ciascun nodo del grafo è associata una matrice che comprende tutte le distanze minime verso gli altri nodi.
Nel modulo del grafo di connessione 27 si verificano inoltre le incompatibilità dei percorsi per i veicoli AGV individuate, preliminarmente, tramite l’analisi del grafo.
Per esempio, riferendosi allo schema illustrato in figura 2 di un corridoio bidirezionale, si considerino i segmenti (1,2) e (4,3): tali segmenti non sono di blocco l’uno per l’altro. Tuttavia se tali segmenti vengono assegnati uno dopo l’altro a due veicoli AGV, i due veicoli saranno costretti a fermarsi, si produce cioè il cosiddetto deadlock.
Inoltre, anche la coppia di segmenti (1,2) e (5,4) può presentare lo stesso problema: dopo l’assegnazione a due differenti veicoli AGV, il veicolo sul nodo 4 potrà solamente percorrere il segmento (4,3), che è incompatibile con il segmento (1,2). Ne consegue che anche i segmenti (1,2) e (5,4) presentano una cosiddetta incompatibilità statica, di cui si dirà in seguito.
Nello schema di figura 3, è rappresentato un altro esempio di incompatibilità con 3 segmenti.
Se un primo veicolo AGV1 è instradato sul segmento (8,1), un secondo veicolo AGV2 sul segmento (7,2) ed un terzo veicolo AGV3 sul segmento (9,3), si verificherà una condizione di blocco o deadlock.
Infatti, il segmento (1,4) per il primo veicolo è bloccato dal nodo 2, il segmento (2,5) per il secondo veicolo è bloccato dal nodo 3 ed il segmento (3,6) per il terzo veicolo è bloccato dal nodo 1.
La conseguenza è che l’insieme dei segmenti incompatibili, definito dalla stringa Sincomp= {(8,1), (7,2), (9,3)}, può essere aggiunto ad un elenco di segmenti che non si vuole che vengano assegnati a veicoli diversi in tempi consecutivi. Questo insieme di segmenti verrà considerato nel modello risolto dal modulo risolutore 25 attraverso alcuni vincoli, detti “di incompatibilità statica”.
Le situazioni di segmenti incompatibili devono essere identificate preventivamente nella struttura del grafo, si devono cioè trovare tutti i segmenti che non devono essere occupati contemporaneamente.
Per effettuare questa analisi si può procedere verificando in modo automatico il grafo di connessione, cioè attraverso un opportuno algoritmo di cui si forniranno i dettagli in seguito.
È anche possibile effettuare delle sessioni di prove sperimentali con i veicoli AGV trovando, per via simulativa, le situazioni di blocco o deadlock.
Una volta identificati i gruppi di segmenti incompatibili che causano il blocco di una simulazione, questi sono memorizzati in una lista e il modulo risolutore 25 applicherà opportuni vincoli per evitare che gli AGV vengano a trovarsi su tali gruppi di segmenti incompatibili.
Un caso particolare da considerare è quello dei segmenti bidirezionali. In generale, si vuole evitare che un veicolo AGV continui a muoversi avanti e indietro su segmenti bidirezionali: questa situazione è paragonabile ai livelock sopra citati e, anche quando non porta il sistema in una condizione irrisolvibile, causa una perdita di tempo e, quindi, un calo di prestazioni.
Quindi nella fase di verifica delle incompatibilità, si considerano solo i movimenti dei veicoli AGV che non tornano ad un segmento già visto.
Tuttavia, c’è un caso particolare in cui si vuole che il veicolo AGV torni indietro in uno stesso segmento di percorso.
Tale caso avviene quando un veicolo AGV entra nella zona di carico che gli è stata assegnata, è già chiaro che successivamente il veicolo dovrà uscire di nuovo da tale zona, e questo è l’unico caso in cui si consente ad un veicolo AGV di tornare indietro in uno stesso segmento di percorso.
Naturalmente, se non si considerasse questo caso particolare, tutti i possibili insiemi degli ultimi segmenti ad un nodo di missione sarebbero potuti essere classificati come incompatibili.
Infine, l’ultimo caso da considerare consiste nella definizione dei cosiddetti no-stop nodes. Per ragioni teoriche e tecnologiche, e per limitare il tempo di risoluzione, i modelli di programmazione lineare intera non possono avere un numero elevatissimo di variabili. Per questa ragione, si considera, come visto, un orizzonte temporale di T intervalli di tempo - oppure in modo equivalente T segmenti assegnabili, al massimo, ad ogni veicolo.
E’ conveniente che l’ultimo segmento assegnato ad un veicolo non sia tale che il suo nodo finale intralci, nel senso delle incompatibilità tra movimenti, altri AGV in manovra nei pressi dei rispettivi nodi missione. In questo modo si garantisce, agli AGV in uscita dalle missioni, un percorso verso la prossima destinazione, senza la necessità di aspettare che i veicoli entranti disimpegnino il segmento.
Per questo motivo, per ogni nodo missione vengono determinati a priori tutti i nodi che non devono essere il punto finale dell’ultimo segmento assegnato ad un AGV: tali nodi sono detti no-stop nodes, in quanto agli AGV non è permesso effettuare fermate (stop) su tali nodi. L’algoritmo per l’identificazione dei no-stop nodes verrà descritto in seguito.
Infine, in talune situazioni può essere conveniente pianificare, almeno in maniera approssimata, tratti di percorso con un significativo anticipo: ad esempio, per decidere l’ordine di ingresso degli AGV in un area dell’impianto. Il compito di pianificare in anticipo, “ad altro livello” la percorrenza di questi corridoi può essere effettuato dal modulo di alto livello 23, che, in ogni caso, demanda al risolutore 25 oggetto di questa invenzione la soluzione del problema “locale” di scelta del percorso di avvicinamento al corridoio, di assegnazione dei segmenti a tutti i veicoli presenti al fine di evitare deadlock.
FORMULAZIONE DEL MODELLO DI PROGRAMMAZIONE LINEARE
Come è noto, i modelli d’ottimizzazione lineare specificano la relazione tra le variabili di decisione ed i parametri, calcolando una misura rappresentativa da ottimizzare ed altre variabili risultanti.
I vincoli pongono invece limitazioni allo spazio delle possibili decisioni; i valori ammissibili delle variabili di decisione sono determinati tramite una serie di vincoli di uguaglianza o disuguaglianza.
Quindi si devono scegliere i valori delle variabili di decisione in modo tale da soddisfare i vincoli di disuguaglianza e nello stesso tempo massimizzare o minimizzare il risultato.
Il modello di programmazione lineare intera che è utilizzato nel modulo risolutore 25 è definito formulazione matematica descritta nel seguito. A tale proposito, per quanto riguarda le variabili di decisione ed i vincoli, il problema è descritto dalle variabili di decisione binarie X<v>
n<�>t<�>in cui l’apice v , con v �1,2,�,V che indica il numero del veicolo, ed il pedice n, indica il nodo corrente, ed in cui t �1,2,� ,T è l’intervallo di tempo corrente, essendo T il numero totale degli intervalli di tempo considerati.
Quindi, la definizione di variabile di decisione è
Con questa notazione, la variabile X<v>
n�0� rappresenta la condizione iniziale, rappresentante lo stato attuale del sistema.
Per quanto concerne la funzione obiettivo, essa è definita come
in cui i coefficienti f(v,n,t) dipendono principalmente dalla distanza minima tra il nodo n, su cui si trova il veicolo v al tempo t, e il nodo missione del veicolo v . Ulteriori dettagli riguardo la funzione obiettivo verranno descritti in seguito.
Si hanno poi i seguenti vincoli
che hanno il seguente significato:
Il vincolo (1.2) indica che ogni veicolo deve occupare uno, e un solo nodo, ad ogni istante di tempo;
Il vincolo (1.3) impone che non più di un veicolo può essere in un nodo ad ogni istante di tempo;
Il vincolo (1.4) impone la struttura del grafo. Infatti, essendo V(n) l’insieme dei nodi raggiungibili tramite un solo segmento di percorso uscente dal nodo n, il vincolo (1.4) garantisce che all’istante t � 1 l’AGV v sia su un nodo raggiungibile da uno dei nodi<n��V �n�>, con un singolo segmento di percorso.
Ulteriori vincoli prendono in considerazione le dimensioni fisiche degli AGV e delle incompatibilità tra segmenti e nodi precedentemente descritte.
Tali vincoli sono chiamati regole di blocco o blocking rules.
Il primo vincolo esprime la situazione “il segmento<�n>1<,n>2<�>blocca il segmento �n3,n4�” e può essere espresso nella forma lineare
scritta per ogni coppia di veicoli v1,v2e per ogni istante di tempo t� 0,�,T � 1.
Il secondo vincolo esprime la situazione “situazione “il nodo k blocca il segmento<�>n1,n2<�>”
scritto per ogni coppia di veicoli v1,v2e per ogni istante di tempo t� 0,�,T � 1.
Un ulteriore vincolo “statico” rende inammissibili tutte le posizioni relative di un insieme di veicoli che porterebbe il sistema ad un deadlock, cioè nella condizione in cui nessun AGV è libero di muoversi senza urtarne un altro. Prima di descrivere tale vincolo, è importante osservare che l’insieme delle posizioni inammissibili è determinato a priori, una volta per tutte, a partire dal grafo e dalle regole di incompatibilità segmento/segmento e nodo/segmento già discusse per mezzo di un algoritmo ad hoc che si descriverà in seguito. I vincoli di questo genere sono detti vincoli statici poiché vengono calcolati a priori e non dipendono dal tipo di missione degli AGV o dal relativo stato di non-connesso o connesso.
Il principio espresso da questo vincolo assicura che, dato un insiemeSsdi un numero s segmenti incompatibili, per esempio l’insieme S2di due segmenti tra loro incompatibili, l’insieme S3di tre segmenti tra loro incompatibili, e così via, a qualsiasi sottoinsieme di s veicoli non vengano assegnati insiemi di segmenti inSs.
Si deve notare che il numero s di segmenti incompatibili corrispondono al numero s di veicoli presi in considerazione.
Per esempio a due veicoli non vengano assegnati due segmenti che corrispondono ad un elemento di<S>2, a tre veicoli non vengano assegnati tre segmenti che corrispondono a uno degli elementi in S3, e così via. In particolare, nel caso di incompatibilità tra i due segmenti (n1,n2), che potrebbe essere percorso dall’AGV1 (<v>1), e (n3,n4), che potrebbe essere percorso dall’AGV2 (v2), il vincolo diventa
scritto per ogni coppia di veicoli v1,v2, con v1� v2, e per ogni coppia di istanti temporali t1�0,�, T � 1 e t2� 0,�,T� 1.
Si noti che il secondo membro è una costante che esprime il numero di variabili presenti al primo membro, diminuito di 1.
Nel caso in cui k veicoli che percorrendo rispettivamente gli archi (nsi,ndi), i � 1,2,...k, possono bloccarsi l’uno l’altro, mentre k � 1 veicoli avrebbero ancora la possibilità di muoversi lungo i rispettivi percorsi, il vincolo assume la forma
dove nsie ndirappresentano il nodo iniziale e finale dell’i -esimo AGV i , i � 1,2,...,k . Il vincolo (1.8) è scritto per ogni coppia insieme di se per ogni coppia di istanti temporali ti�0,�,T � 1.
Una seconda tipologia di vincoli considerati gestisce i no-stop nodes, che impongono che ad un veicolo, per esempio al veicolo v2non possa essere assegnato come ultimo nodo nx, se un altro veicolo, ad esempio v1, ha già percorso un particolare segmento, per esempio �ns,nd�.
In questo caso, il vincolo espresso in forma analitica diventa
scritto per ogni coppia di veicoli v1,v2, con v1� v2, e per ogni coppia di istanti temporali t1�0,�, T � 1 e t2�0,�, T � 1.
Si noti che sia i vincoli statici che i vincoli di nostop-node introducono test del tipo “l’ultimo segmento percorso dal veicolo…”.
Siccome non è possibile conoscere a priori in quale slot temporale sarà assegnato l’ultimo segmento, tali vincoli richiedono la generazione di T vincoli, uno per ogni intervallo temporale da 0 a T-1.
Si noti infine che i nodi considerati nella fase di ottimizzazione sono solo quelli che possono essere raggiunti da un determinato veicolo v entro l’intervallo di tempo T , partendo dal nodo occupato all’intervallo di tempo 0.
Per quanto riguarda la funzione obiettivo da minimizzare, i coefficienti f�n,v,t� di cui si è detto, sono diversi per veicoli con o senza missione.
Per i veicoli con missioni, il termine f�n,v,t� risulta essere:
f(n,v,t) = B(n) M(t) D(n,v) (1.11)
dove B(n) è un parametro aggiuntivo diverso da zero se il nodo “n” non è un nodo missione, D(n, v) è il tempo nominale di percorrenza del percorso minimo tra il nodo “n” e il nodo missione dell’AGV “v” e
se un determinato veicolo AGV non ha una missione, il modulo di riassegnazione delle missioni 24 lo reindirizza verso una posizione, detta home position. Come home position viene scelto il nodo più vicino all’AGV tra quelli appartenenti ad un insieme predefinito (memorizzato nel modulo 27) e non occupati da altri AGV.
Per quanto riguarda gli AGV senza missione, i coefficienti in funzione obiettivo sono pari ad 1 per i nodi su cui si trovano i veicoli, e pari a 2 per tutti gli altri nodi. Con questa scelta, tali veicoli “tendono” a rimanere fermi, a meno che non si trovino sul percorso di un AGV con missione, o siano incompatibili con esso. In questo caso, l’incremento del costo totale causato dallo spostamento di tali veicoli (cioè 2 per ogni nodo percorso) è trascurabile rispetto alla riduzione del costo totale dovuta all’avvicinamento dei veicoli con missione ai rispettivi obiettivi.
Lo stesso principio può essere facilmente applicato al caso in cui gli AGV senza missione vengano indirizzati verso le cosiddette home position. In questo caso, non appena un veicolo AGV raggiunge la home position n, il costo del segmento virtuale �n,n�, che rappresenta il comportamento “rimani sullo stesso nodo per un intervallo di tempo”, è posto a 1, mentre il costo del segmento �n,m�, con n � m , è impostato a 2; con queste scelte, anche in questo caso un veicolo senza missione rimane nella posizione iniziale se non costituisce un ostacolo per gli altri veicoli con delle missioni assegnate; come regola aggiuntiva, per ogni veicolo senza missione, si considera poi una “forza repulsiva” dai nodi missioni di altri AGV, così da ridurre le interferenze tra i veicoli con e senza missione. Il costo aggiuntivo per il quali sono moltiplicati i coefficienti f�n,v,t� del veicolo v per tutti i nodi n che sono, o possono essere, missione di altri AGV è dato dalla formula
RepulsionMax – minD(v)*RepulsionCoeff (1.10) dove RepulsionMax e RepulsionCoeff sono parametri di progetto, e minD(v) è la distanza minima tra il nodo in cui si trova il veicolo v senza destinazione e i nodi missioni di tutti gli altri. Nella definizione della funzione di costo intervengono inoltre le seguenti eccezioni: ;se n è un nodo di missione, e se il veicolo v non ha una missione nel nodo n, allora è f�n,v,t�� MAX _ INT , essendo MAX _ INT il più grande numero intero rappresentabile da un calcolatore. Questa scelta evita che un veicolo possa dirigersi verso in un nodo di missione diverso dal proprio; se dall’ultimo cambio di missione un AGV è stato sullo stesso nodo per TSDeadlock intervalli di tempo (potenziale deadlock), o è ripassato dallo stesso nodo più di TS_Count volte (potenziale livelock) allora il costo diventa ;F(n,v,t) = B(n) M(t)*MalusForDeadlock (1.13) dove MalusForDeadlock è un parametro di progetto.
ALGORITMI SUPPLEMENTARI: VINCOLI STATICI
Per l’identificazione degli insiemi di segmenti incompatibili che definiscono i vincoli statici si può procedere in due modi:
valutando le blocking rules che evitano le collisioni tra veicoli e determinando manualmente quali sono i gruppi di segmenti incompatibili; questo procedimento permette di individuare quasi tutte le coppie di segmenti incompatibili;
effettuando una campagna simulativa e memorizzando come incompatibili tutti i gruppi di segmenti sui quali si verificano situazioni di deadlock; questo metodo permette di identificare i gruppi di più di due segmenti che sono incompatibili ed eventualmente le coppie che fossero sfuggite durante la valutazione manuale, di cui al punto precedente.
ALGORITMI SUPPLEMENTARI: NO-STOP NODES
In questo paragrafo si descriverà l’algoritmo utilizzato per l’identificazione dei cosiddetti NO-STOP NODES.
A tale proposito, è importante osservare che ogni segmento s è caratterizzato da un diverso insieme di NO-STOP NODES, di seguito indicato con NSNs.
L’algoritmo prevede che:
1. sia S l’insieme di tutti i segmenti che collegano tutti i nodi dei possibili percorsi;
2. per ogni segmento s in S, sono NO-STOP NODES tutti i nodi incompatibili con tutti i successori di s; 3. se S non è vuoto
a. Estratto un segmento s in S, e rimosso da S, aggiungere aNSNstutti i nodi che sono NO-STOP NODES per tutti i successori di s, escludendo il segmento �j,i� inverso di s � �i,j�, se non unico;
b. Se l’insieme NSNsè cambiato, allora aggiungere ad S, se non già presenti, tutti i segmenti che precedono s;
4. aggiungere aNSNstutti i nodi incompatibili con i successori di s ;
5. per ogni segmento s ��i,j� rimuovere il NO-STOP NODES n se
a. n coincide con i , oppure con j, oppure è un nodo missione;
b. il percorso minimo tra i e n sommata al parametro di soglia NSN_Threshold è minore della distanza minima tra n e j;
c. la distanza minima tra j e n è maggiore di una certa distanza NSN_RangeMeters.
In questo algoritmo, poiché i punti 2, 3 e 4 possono generare molti NO-STOP NODES per ogni segmento s, si utilizzano dei meccanismi di limitazione dell’insieme NSNs, secondo quanto indicato al precedente punto 5: il primo meccanismo 5a di limitazione rimuove i nodi origine e destinazione di s e i nodi missione; il secondo meccanismo 5b di limitazione implementa una regola euristica volta ad eliminare dall’insieme NSNsalcuni nodi che, pur soddisfacendo il punto 4 dell’algoritmo, cioè sono “incompatibili” con i successori s, non sono veri NO-STOP NODES perché non esistono archi che possono essere percorsi a ritroso fino a s, condizione espressa dalla diseguaglianza tra le distanze;
il terzo meccanismo 5c di limitazione limita l’insieme NSNsai nodi entro una certa distanza (NSN_RangeMeters) da s.
L’invenzione, così concepita, consente di ottenere importanti vantaggi tecnici.
Un importante vantaggio tecnico è costituito dal fatto che il metodo per l’ottimizzazione della movimentazione di veicoli a guida automatica, e simili, permette di ottimizzare i percorsi che i veicoli devono seguire fra postazioni per compiere le missioni assegnate, riducendo i tempi necessari per il trasporto degli articoli, e garantendo che non possano crearsi ingorghi lungo i percorsi, anche in caso di un elevato numero dei veicoli a guida automatica. Il metodo per l’ottimizzazione della movimentazione di veicoli a guida automatica, e simili, permette inoltre un risparmio, oltre che di tempo, anche da un punto di vista economico. Si è così visto come l’invenzione raggiunge gli scopi proposti.
La presente invenzione è stata descritta secondo forme preferite di realizzazione, ma varianti equivalenti possono essere concepite senza uscire dall’ambito di protezione offerto dalle rivendicazioni che seguono.

Claims (5)

  1. RIVENDICAZIONI 1. Dispositivo (20) per l’ottimizzazione della movimentazione di veicoli a guida automatica, e simili, comprendente un modulo di gestione del traffico (21) per gestire la movimentazione primaria di alcuni veicoli a guida automatica (AGV1, AGV2, AGV3 …, AGVn) su percorsi di un grafo definito da segmenti e nodi di collegamento dei segmenti, detti veicoli a guida automatica essendo indicati da un numero v, in cui v indica il veicolo corrente, con v �1,2,� ,V , detti nodi essendo indicati da un numero n, in cui n indica il nodo corrente, con n = 1,2,…, N, secondo intervalli di tempo t, ed in cui t = 1, 2, …, T è l’intervallo di tempo corrente, caratterizzato dal fatto di comprendere un modulo risolutore (25) collegato e in comunicazione con il modulo di gestione del traffico (21), detto modulo risolutore (25) eseguendo la soluzione di ottimizzazione utilizzando la seguente formula principale di programmazione lineare intera: in cui f�n,v,t,� rappresenta la funzione obiettivo, e i coefficienti f(v,n,t) indicano la distanza minima dal nodo n su cui si trova il veicolo v al tempo t, rispetto al nodo missione del veicolo v , ed in cui X<v> n<�>t<�>è una variabile di decisione binaria definita come <v �>1 se il veicolo<v>è sul nodo<n> <Xn�t� �>�<�t � T>�0 altrimenti con i seguenti vincoli �X v n�t�<� 1 �>v<,>t<(1.2)>n �X v n�t�<� 1 �>n<,>t<(1.3)>v Xv n�t<�>1�<�>X v n��t�<�>n,v,t<�>T (1.4) n���V�n� che hanno il seguente significato: il vincolo (1.2) indica che ogni veicolo deve occupare uno, e un solo nodo, ad ogni istante di tempo; il vincolo (1.3) impone che non più di un veicolo può essere in un nodo ad ogni istante di tempo; il vincolo (1.4) impone la struttura del grafo.
  2. 2. Dispositivo (20) per l’ottimizzazione della movimentazione di veicoli a guida automatica secondo la rivendicazione 1, comprendente un vincolo che esprime la situazione in cui il segmento<�>n1,n2<�>blocca il segmento<�>n3,n4<�>ed è espresso nella forma lineare X<v>1���X<v>1� �1��X<v>2 n1tn2t 3�t�� X<v2> n n4�t�1�� 3, (1.5) scritta per ogni coppia di veicoli<v>1<,v>2e per ogni istante di tempo t � 0,�,T � 1.
  3. 3. Dispositivo (20) per l’ottimizzazione della movimentazione di veicoli a guida automatica secondo la rivendicazione 1 o 2, comprendente un vincolo che esprime la situazione in cui il nodo k blocca il segmento<�>n1,n2<�>ed è espresso nella forma lineare 2X<v>1 �2X<v1 v2> n1�t�n2�t�1��Xk�t��<v>X<2> k�t�1�� 4, (1.6) scritto per ogni coppia di veicoli v1,v2e per ogni istante di tempo t� 0,�,T � 1.
  4. 4. Dispositivo (20) per l’ottimizzazione della movimentazione di veicoli a guida automatica secondo una qualsiasi delle rivendicazioni precedenti, comprendente un vincolo che assicura che, presi due segmenti incompatibili, l’insieme degli ultimi segmenti assegnati a ciascuno dei veicoli non sia uguale ad uno degli elementi di S, ed è espresso nella forma lineare T T Xv1 2 n1<�>t1<��>Xv1 n�t�<�>Xv n3<�>t2<��>Xv2 n4�t�<�>2�T<�>1�<�>t1<�>t2<�>1 t�� 2 t1�1 t��t2�1 (1.7) scritto per ogni coppia di veicoli v1,v2, con v1� v2, e per ogni coppia di istanti temporali t1�0,�,T � 1 e t2� 0,�,T� 1. 5. Dispositivo (20) per l’ottimizzazione della movimentazione di veicoli a guida automatica secondo una qualsiasi delle rivendicazioni precedenti, comprendente un vincolo che esprime la situazione in cui s veicoli possono bloccarsi l’uno l’altro, mentre s � 1 veicoli avrebbero ancora la possibilità di muoversi lungo i rispettivi percorsi, ed è espresso nella forma lineare k<�>T vi � k �<�>Xvi �nsi�ti�<�>Xndi�t�<� �>k�T<�>1�<�>ti<�>1 (1.8) i�1�t��ti�1 � �i��1 dove nsie ndirappresentano il nodo iniziale e finale dell’i -esimo AGV i , i � 1,2,...,k . Il vincolo (1.8) è scritto per ogni coppia insieme di se per ogni coppia di istanti temporali ti�0,�, T � 1. 6. Dispositivo (20) per l’ottimizzazione della movimentazione di veicoli a guida automatica secondo una qualsiasi delle rivendicazioni precedenti, comprendente un vincolo che impone che ad un veicolo, per esempio al veicolo v2, non possa essere assegnato come ultimo nodo<n>x, se un altro veicolo, ad esempio v1, ha già percorso un particolare segmento, per esempio<�>ns,nd<�>, ed è espresso nella forma lineare T X v<1> <n>s<�>t1<� �>X v<1> nd�t�<�>X<v>2 nx�T�T<�>t1<�>1(1.9) t��<�> t1�1 scritto per ogni coppia di veicoli v1,v2, con<v>1<� v>2, e per ogni coppia di istanti temporali t1�0, �,T � 1 e t2�0,�, T � 1. 7. Dispositivo (20) per l’ottimizzazione della movimentazione di veicoli a guida automatica secondo una qualsiasi delle rivendicazioni precedenti, in cui la funzione f(n,v,t) è determinata nel seguente modo: f(n,v,t) = B(n) M(t) D(n,v) (1.11) dove B(n) è un parametro aggiuntivo diverso da zero se il nodo “n” non è un nodo missione, D(n, v) è il tempo nominale di percorrenza del percorso minimo tra il nodo “n” e il nodo missione dell’AGV e <t set T> <“v” e M(t) =>� � �(1.12)�t�t-1� set � T se n è un nodo missione, e se il veicolo v non ha una missione nel nodo n, allora è f�n,v,t�� MAX _ INT , essendo MAX _ INT il più grande numero intero rappresentabile da un computer, evitando così che un veicolo possa dirigersi verso un nodo di missione diverso dal proprio; se un determinato veicolo (AGVn) non ha una missione, il modulo di gestione del traffico (21) lo reindirizza verso una posizione iniziale, detta home position n, stabilita a priori, oppure lo lascia sull’ultimo nodo raggiunto; non appena il veicolo (AGVn) raggiunge la home position n, oppure rimane sull’ultimo nodo raggiunto, il costo del segmento virtuale �n,n�, che rappresenta il comportamento di rimanere sullo stesso nodo per un intervallo di tempo, è posto a 1, mentre il costo del segmento �n,m�, con n � m , è impostato a 2; in questo modo un determinato veicolo (AGVn) rimane nella posizione iniziale se non costituisce un ostacolo per gli altri veicoli con delle missioni assegnate. 8. Dispositivo (20) per l’ottimizzazione della movimentazione di veicoli a guida automatica secondo una qualsiasi delle rivendicazioni precedenti, comprendente una regola per cui per ogni veicolo (AGVn) senza missione, si considera una forza repulsiva dai nodi missioni di altri veicoli (AGV1, AGV2, AGV3 …, AGVn-1,…, AGVn+1, …), così da ridurre le interferenze tra i veicoli con missione e veicoli senza missione; il costo aggiuntivo per il quale è moltiplicato il coefficiente f(n,v,t) di un nodo senza missione è dato dalla formula RepulsionMax �minD �RepulsionC oeff(1.10)dove RepulsionMax e RepulsionCoeff sono parametri di progetto, e minD è la distanza minima tra il nodo in cui si trova il veicolo senza destinazione e i nodi missioni di tutti gli altri. 9. Dispositivo (20) per l’ottimizzazione della movimentazione di veicoli a guida automatica secondo una qualsiasi delle rivendicazioni precedenti, comprendente una regola per cui per ogni veicolo (AGVn) con missione, il costo aggiuntivo per il quale è moltiplicato il coefficiente f(n,v,t) risulta essere: <f>�<n>,<v>,<t>� = BonusForMission (1.11) �TimeMod(t)�distance �n,Mission�v�� dove BonusForMission è un parametro aggiuntivo diverso da zero se il nodo n non è un nodo missione e <t set T> <TimeMod(t) =>� � �(1.12)�t�t-1� set � T 10. Dispositivo (20) per l’ottimizzazione della movimentazione di veicoli a guida automatica secondo una qualsiasi delle rivendicazioni precedenti, comprendente la regola: se dall’ultimo cambio di missione un AGV è stato sullo stesso nodo per TSDeadlock intervalli di tempo (potenziale deadlock), o è ripassato dallo stesso nodo più di TS_Count volte (potenziale livelock) allora il costo diventa<f>�<n>,<v>,<t>� = BonusForMission (1.13) �TimeMod(t)�MalusForDe adlock dove MalusForDeadlock è un parametro di progetto. 11. Dispositivo (20) per l’ottimizzazione della movimentazione di veicoli a guida automatica secondo una qualsiasi delle rivendicazioni precedenti, comprendente una regola attraverso la quale per ogni nodo missione vengono determinati tutti i nodi che non devono essere il punto finale dell’ultimo segmento assegnato ad un determinato AGV, tali nodi essendo definiti no-stop nodes, la suddetta regola comprende: ogni segmento s è caratterizzato da un diverso insieme di NO-STOP NODES, indicato con NSNs; sia S l’insieme di tutti i segmenti che collegano tutti i nodi dei possibili percorsi; per ogni segmento s in S, sono NO-STOP NODES tutti i nodi incompatibili con tutti i successori di s; se S non è vuoto estratto un segmento s in S, e rimosso da S, aggiungere aNSN stutti i nodi che sono NO-STOP NODES per tutti i successori di s, escludendo il segmento �j,i� inverso di s � �i,j�, se non unico; se l’insieme NSNsè cambiato, allora aggiungere ad S, se non già presenti, tutti i segmenti che precedono s; aggiungere a NSNstutti i nodi incompatibili con i successori di s ; per ogni segmento s ��i,j� rimuovere il NO-STOP NODES ennesimo (n) se n coincide con i , oppure con j, oppure è un nodo missione; il percorso minimo tra i e n sommata al parametro di soglia (NSN_Threshold) è minore della distanza minima tra n e j; la distanza minima tra j e n è maggiore di una certa distanza (NSN_RangeMeters). 12. Dispositivo (20) per l’ottimizzazione della movimentazione di veicoli a guida automatica secondo una qualsiasi delle rivendicazioni precedenti, comprendente un modulo di riassegnazione (24) delle missioni dei veicoli a guida automatica, tale modulo di riassegnazione (24) essendo collegato in modo da comunicare con il modulo di gestione del traffico (21) e con i veicoli a guida automatica (AGV1, AGV2, AGV3, …, AGVn). 13. Dispositivo (20) per l’ottimizzazione della movimentazione di veicoli a guida automatica secondo una qualsiasi delle rivendicazioni precedenti, comprendente modulo grafo di connessione (27), il quale comprende un tracciato dei possibili percorsi per i veicoli (AGV1, AGV2, AGV3 …, AGVn). 14. Dispositivo (20) per l’ottimizzazione della movimentazione di veicoli a guida automatica secondo una qualsiasi delle rivendicazioni precedenti, in cui detto modulo risolutore (25) fornisce una soluzione approssimata delle assegnazioni dei percorsi a detti veicoli (AGV1, AGV2, AGV3, …, AGVn), ed in cui detto modulo di gestione del traffico (21) deve verificare la effettiva compatibilità della soluzione e quindi controllare le assegnazioni dei segmenti di percorso a detti veicoli (AGV1, AGV2, AGV3 …, AGVn).
  5. 5. Metodo per l’ottimizzazione della movimentazione di veicoli a guida automatica (AGV1, AGV2, …, AGVn), e simili, comprendente le fasi di: gestire la movimentazione primaria di alcuni veicoli a guida automatica (AGV1, AGV2, AGV3 …, AGVn) su percorsi di un grafo definito da segmenti e nodi di collegamento dei segmenti, detti veicoli a guida automatica essendo indicati da un numero v, in cui v indica il veicolo corrente, con v �1,2,�,V , detti nodi essendo indicati da un numero n, in cui n indica il nodo corrente, con n = 1,2,…, N, secondo intervalli di tempo t, ed in cui t = 1, 2, …, T è l’intervallo di tempo corrente, caratterizzato dal fatto di comprendere una fase di soluzione di ottimizzazione di detta movimentazione primaria di alcuni veicoli a guida automatica ottenuta utilizzando la seguente formula principale di programmazione lineare intera: N V T min fn,v,t ,<�>Xv n<�>t<�>(1.1) n��1v��1t�<�> �0 in cui f�n,v,t,� rappresenta la funzione obiettivo, e i coefficienti f(v,n,t) indicano la distanza minima dal nodo n su cui si trova il veicolo v al tempo t, rispetto al nodo missione del veicolo v , <v>ed in cui Xn<�>t<�>è una variabile di decisione binaria definita come <v �>1 se il veicolo<v>è sul nodo<n> <Xn �t� �>�<�t � T>�0 altrimenti con i seguenti vincoli �X v n�t�<� 1 �>v<,>t<(1.2)>n �X v n�t�<� 1 �>n<,>t<(1.3)>v X v�t<� 1>�<�>Xv nn��t�<�>n<,>v t<�>T (1.4) n���<,> V�n� che hanno il seguente significato: il vincolo (1.2) indica che ogni veicolo deve occupare uno, e un solo nodo, ad ogni istante di tempo; il vincolo (1.3) impone che non più di un veicolo può essere in un nodo ad ogni istante di tempo; il vincolo (1.4) impone la struttura del grafo.
IT000178A 2013-07-26 2013-07-26 Dispositivo e metodo per l'ottimizzazione della movimentazione di veicoli a guida automatica, e simili ITVR20130178A1 (it)

Priority Applications (4)

Application Number Priority Date Filing Date Title
IT000178A ITVR20130178A1 (it) 2013-07-26 2013-07-26 Dispositivo e metodo per l'ottimizzazione della movimentazione di veicoli a guida automatica, e simili
EP14771380.4A EP3025206B1 (en) 2013-07-26 2014-07-23 Device and method for optimising the movement of automated-guided vehicles
ES14771380.4T ES2644703T3 (es) 2013-07-26 2014-07-23 Dispositivo y método para optimizar el movimiento de vehículos de guiado automático
PCT/IB2014/063349 WO2015011661A2 (en) 2013-07-26 2014-07-23 Device and method for optimising the movement of automated-guided vehicles, and the like

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT000178A ITVR20130178A1 (it) 2013-07-26 2013-07-26 Dispositivo e metodo per l'ottimizzazione della movimentazione di veicoli a guida automatica, e simili

Publications (1)

Publication Number Publication Date
ITVR20130178A1 true ITVR20130178A1 (it) 2015-01-27

Family

ID=49263408

Family Applications (1)

Application Number Title Priority Date Filing Date
IT000178A ITVR20130178A1 (it) 2013-07-26 2013-07-26 Dispositivo e metodo per l'ottimizzazione della movimentazione di veicoli a guida automatica, e simili

Country Status (4)

Country Link
EP (1) EP3025206B1 (it)
ES (1) ES2644703T3 (it)
IT (1) ITVR20130178A1 (it)
WO (1) WO2015011661A2 (it)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016009255B4 (de) * 2016-07-29 2023-01-26 Kuka Roboter Gmbh Koordinierung von Pfaden mehrerer beweglicher Maschinen
CN107067779A (zh) * 2016-11-30 2017-08-18 英华达(上海)科技有限公司 自动导引运输车交通管制系统及方法
CN110347178B (zh) * 2019-06-21 2021-11-05 东华大学 一种基于空间几何特征的无人机航迹规划方法
DE102020214005A1 (de) 2020-11-08 2022-05-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein Methode zur effizienten Routenplanung von Fahrzeugen in einem Sortiersystem
US20220163969A1 (en) * 2020-11-20 2022-05-26 Rapyuta Robotics Co., Ltd. Systems and methods for optimizing route plans in an operating environment
CN112783211A (zh) * 2021-01-06 2021-05-11 中国人民解放军陆军装甲兵学院 一种基于剖分理论的无人机与地面装甲编队协同控制方法
EP4095640A1 (en) * 2021-05-26 2022-11-30 Volvo Autonomous Solutions AB Method and system for controlling a plurality of vehicles, in particular autonomous vehicles
EP4113241B1 (en) * 2021-07-01 2023-08-16 Volvo Autonomous Solutions AB Method and system for traffic control of a plurality of vehicles, in particular autonomous vehicles

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DAMJAN MIKLIC ET AL: "A modular control system for warehouse automation - algorithms and simulations in USARSim", ROBOTICS AND AUTOMATION (ICRA), 2012 IEEE INTERNATIONAL CONFERENCE ON, IEEE, 14 May 2012 (2012-05-14), pages 3449 - 3454, XP032450625, ISBN: 978-1-4673-1403-9, DOI: 10.1109/ICRA.2012.6224894 *
NISHI T ET AL: "A distributed route planning method for multiple mobile robots using lagrangian decomposition technique", PROCEEDINGS / 2003 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION : SEPTEMBER 14 - 19, 2003, THE GRAND HOTEL, TAIPEI, TAIWAN; [PROCEEDINGS OF THE IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION], IEEE SERVICE CENTER, PISCATAWAY, NJ, vol. 3, 14 September 2003 (2003-09-14), pages 3855 - 3861, XP010668326, ISBN: 978-0-7803-7736-3, DOI: 10.1109/ROBOT.2003.1242188 *

Also Published As

Publication number Publication date
EP3025206A2 (en) 2016-06-01
EP3025206B1 (en) 2017-09-06
ES2644703T3 (es) 2017-11-30
WO2015011661A3 (en) 2015-07-02
WO2015011661A2 (en) 2015-01-29
WO2015011661A9 (en) 2015-08-13

Similar Documents

Publication Publication Date Title
ITVR20130178A1 (it) Dispositivo e metodo per l&#39;ottimizzazione della movimentazione di veicoli a guida automatica, e simili
CN110009259B (zh) 一种应用于双向路径下柔性制造车间的多agv调度方法
KR101740529B1 (ko) 무인운전차량의 주행경로 결정 및 배차 방법
Nguyen et al. A dispatching method for automated lifting vehicles in automated port container terminals
CN110182527B (zh) 用于货架阵列的出入库控制方法和搬运系统
Sterzik et al. Reducing hinterland transportation costs through container sharing
Hsueh A simulation study of a bi-directional load-exchangeable automated guided vehicle system
Liu et al. Prediction, planning, and coordination of thousand-warehousing-robot networks with motion and communication uncertainties
Beaulieu et al. An enumeration algorithm for solving the fleet management problem in underground mines
CN110182528B (zh) 用于货架阵列的出入库控制方法和搬运系统
Fazlollahtabar et al. Mathematical model for deadlock resolution in multiple AGV scheduling and routing network: a case study
CN108364100A (zh) 一种基于动态节点检测的多agv调度方法
Hvězda et al. Context-aware route planning for automated warehouses
Hamzeei et al. An exact and a simulated annealing algorithm for simultaneously determining flow path and the location of P/D stations in bidirectional path
US20220089372A1 (en) Systems and methods for managing movement of materials handling vehicles
Secchi et al. A dynamic routing strategy for the traffic control of AGVs in automatic warehouses
Pach et al. Proposition of a potential fields approach to solve routing in a rail-road π-hub
Bruno et al. Dynamic positioning of idle automated guided vehicles
Downsland et al. Collision avoidance in bi-directional AGV systems
Vivaldini et al. Automatic routing of forklift robots in warehouse applications
Chiba et al. Integrated design with classification of transporter routing for AGV systems
Bocewicz et al. Multimodal cyclic processes scheduling in fractal structure networks environment
Fang et al. Research on Multi-AGV Autonomous Obstacle Avoidance Strategy Based on Improved A* Algorithm
KR102404695B1 (ko) Oht 시스템의 동적 라우팅 방법 및 장치
Shen et al. Planning of flow path to minimize expected waiting time for free-ranging automated guided vehicle systems