In recent years, the industry, particularly the manufacturing sector, has been increasingly interested in what is called "Industry 5.0," whose two fundamental elements are the use of automation technologies and human-centricity. It is precisely at the intersection of these two elements that collaborative robotics comes into play, gaining significant importance. Collaborative robotics, in fact, facilitates the operator's work by relieving them from the need to perform the most repetitive or burdensome tasks, or simply by acting as support to ensure greater productivity. The objective of this thesis project is to develop a tool that allows for deciding which tasks to assign to operators and which to robots, in order to minimize the cycle time of each considered production line. To achieve this result, we rely on an optimization suite developed by Google, "Google OR-Tools," which provides tools and libraries to solve a wide range of optimization problems. The problem that best fits the goals of this project is the Vehicle Routing Problem (VRP), where there is a certain number of vehicles and locations to visit (with distances provided as input), and it defines which locations each vehicle should visit to minimize the total length of the longest route. The problem, adapted to the purposes of this thesis, replaces vehicles with resources (operators and robots) and locations with tasks. In the traditional problem, the distance between location i and location j is replaced by the sum of half the time to complete task i and half the time to complete task j. This creates a symmetric time matrix: the time required to move from task i to task j is equal to the time required to move from task j to task i, thus facilitating the solution. In addition to the time matrix, to adapt the VRP to the task allocation problem, it is necessary to include all the usual constraints present in the work environment, which limit the possible solutions. There are two different types of constraints: the first allows specifying whether the task can only be performed by a particular resource, by multiple resources but not all, or by all resources. The second allows indicating the presence of tasks that must necessarily be performed in succession; these sequences are called clusters. Once the optimization algorithm development is complete, the focus shifts to creating a graphical interface that allows an operator inexperienced in programming to intuitively input the required data and clearly obtain the output. For data entry, the operator is given two options: the first is to use an application developed in Matlab, the second is to use a specially created Excel sheet, which, once saved, can be loaded into the Matlab application and used as input for the optimization algorithm. After completing these activities, the results are analyzed. The suite provided by Google uses heuristic algorithms to solve the problem; it allows inputting the computation time after which the best result obtained is provided as output. This final phase aims to define, depending on the cases, the optimal computation time to be provided as input, in order to achieve a trade-off between low computation time and the quality of the solution found.
Negli ultimi anni, l'industria, in particolare quella manifatturiera, sta guardando con sempre maggiore interesse a quella che viene chiamata "Industria 5.0", i cui due elementi fondamentali sono l’uso di tecnologie di automazione e l’human-centrismo. È proprio a cavallo tra questi due elementi che si inserisce la robotica collaborativa, la quale sta assumendo sempre maggiore importanza. Essa, infatti, permette di agevolare il lavoro dell’operatore, sollevandolo dalla necessità di compiere i task maggiormente ripetitivi o gravosi, o semplicemente fungendo da supporto per garantire una maggiore produttività. L'obiettivo di questo progetto di tesi è sviluppare uno strumento che permetta di decidere quali task assegnare agli operatori e quali ai robot, in modo tale da minimizzare il tempo ciclo di ciascuna linea considerata. Per raggiungere questo risultato ci si basa su una suite di ottimizzazione sviluppata da Google, "Google OR-Tools", la quale fornisce strumenti e librerie per risolvere una vasta gamma di problemi di ottimizzazione. Il problema che meglio si adatta agli obiettivi di questo progetto è il Vehicle Routing Problem (VRP), nel quale si ha un certo numero di veicoli e di località da visitare (poste tra loro ad una distanza fornita in input) e si definisce quali location far visitare a ciascun veicolo in modo da minimizzare la lunghezza complessiva del percorso più lungo. Il problema, adattato agli scopi di questa tesi, sostituisce ai veicoli le risorse (operatori e robot) e alle location i task. Quella che nel problema tradizionale è la distanza tra la location i e la location j viene sostituita dalla somma di metà del tempo di realizzazione del task i e metà del tempo di realizzazione del task j. Questo permette di ottenere una matrice dei tempi simmetrica: il tempo necessario per passare dal task i al task j è pari al tempo per passare dal task j al task i, facilitando così la risoluzione. Oltre alla matrice dei tempi, per poter adattare il VRP al problema di allocazione dei task è necessario inserire tutti i vincoli usualmente presenti all’interno dell’ambiente di lavoro, i quali limitano le possibili soluzioni. Si hanno due diverse tipologie di vincoli: la prima consente di specificare se il task può essere realizzato solo da una particolare risorsa, da più risorse ma non da tutte, o da tutte le risorse. La seconda invece consente di indicare la presenza di task che devono essere necessariamente eseguiti in successione; a queste successioni viene dato il nome di cluster. Una volta completato lo sviluppo dell’algoritmo di ottimizzazione, ci si concentra sulla realizzazione di un’interfaccia grafica che permetta a un operatore inesperto in programmazione di inserire in modo intuitivo gli input richiesti ed ottenere in modo chiaro l’output. Per l’inserimento dei dati all’operatore vengono date due possibilità: la prima è quella di sfruttare un’applicazione sviluppata su Matlab, la seconda è quella di utilizzare un foglio Excel, appositamente realizzato, che una volta salvato può essere caricato nell’applicazione Matlab e usato come input per l’algoritmo di ottimizzazione. Completate queste attività, si passa a un’analisi dei risultati ottenuti. La suite fornita da Google utilizza per la risoluzione del problema algoritmi di tipo euristico; viene data la possibilità di inserire come input il tempo di computazione al termine del quale viene fornito in output il miglior risultato ottenuto. Quest’ultima fase mira a definire, a seconda dei casi, il tempo di computazione ottimale da fornire in input, in modo da ottenere un trade-off tra basso tempo di computazione e qualità della soluzione trovata.
Ottimizzazione dell'allocazione dei task in applicazioni di robotica collaborativa
NUCCI, ANDREA
2023/2024
Abstract
In recent years, the industry, particularly the manufacturing sector, has been increasingly interested in what is called "Industry 5.0," whose two fundamental elements are the use of automation technologies and human-centricity. It is precisely at the intersection of these two elements that collaborative robotics comes into play, gaining significant importance. Collaborative robotics, in fact, facilitates the operator's work by relieving them from the need to perform the most repetitive or burdensome tasks, or simply by acting as support to ensure greater productivity. The objective of this thesis project is to develop a tool that allows for deciding which tasks to assign to operators and which to robots, in order to minimize the cycle time of each considered production line. To achieve this result, we rely on an optimization suite developed by Google, "Google OR-Tools," which provides tools and libraries to solve a wide range of optimization problems. The problem that best fits the goals of this project is the Vehicle Routing Problem (VRP), where there is a certain number of vehicles and locations to visit (with distances provided as input), and it defines which locations each vehicle should visit to minimize the total length of the longest route. The problem, adapted to the purposes of this thesis, replaces vehicles with resources (operators and robots) and locations with tasks. In the traditional problem, the distance between location i and location j is replaced by the sum of half the time to complete task i and half the time to complete task j. This creates a symmetric time matrix: the time required to move from task i to task j is equal to the time required to move from task j to task i, thus facilitating the solution. In addition to the time matrix, to adapt the VRP to the task allocation problem, it is necessary to include all the usual constraints present in the work environment, which limit the possible solutions. There are two different types of constraints: the first allows specifying whether the task can only be performed by a particular resource, by multiple resources but not all, or by all resources. The second allows indicating the presence of tasks that must necessarily be performed in succession; these sequences are called clusters. Once the optimization algorithm development is complete, the focus shifts to creating a graphical interface that allows an operator inexperienced in programming to intuitively input the required data and clearly obtain the output. For data entry, the operator is given two options: the first is to use an application developed in Matlab, the second is to use a specially created Excel sheet, which, once saved, can be loaded into the Matlab application and used as input for the optimization algorithm. After completing these activities, the results are analyzed. The suite provided by Google uses heuristic algorithms to solve the problem; it allows inputting the computation time after which the best result obtained is provided as output. This final phase aims to define, depending on the cases, the optimal computation time to be provided as input, in order to achieve a trade-off between low computation time and the quality of the solution found.File | Dimensione | Formato | |
---|---|---|---|
Nucci_Andrea.pdf
accesso riservato
Dimensione
3.86 MB
Formato
Adobe PDF
|
3.86 MB | Adobe PDF |
The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License
https://hdl.handle.net/20.500.12608/75363