This thesis work aims to implement a predictive control algorithm based on the Model Predictive Control (MPC) strategy using the Robot Operating System (ROS) framework. To be able to guarantee an adequate level of performance, the implemented MPC control is linear. The ROS framework has been chosen because it has a series of advantages. These advantages allow the code to be easily understandable and reusable on different platforms and let the easy implementation of different kinds of programs even on rather complex robots. This is due to the fact that this framework allows to create different nodes communicating with each other by messages. Thanks to this nodes-like structure of the program, the nodes can be implemented on different programmable control devices allowing their easier interaction. For the test phase, this algorithm has been implemented to control a vehicle modeled with a single track non linear model. To be able to use the linear MPC algorithm, the model has been linearized using the feedback linearization technique that allows viewing, from the outside, the system as a linear one. The control algorithm and the simulator have been implemented directly as ROS nodes, and the C++ program language was chosen for the relative written code.

Il presente lavoro di tesi si pone l’obiettivo di implementare un algoritmo di controllo predittivo di tipo Model Predictive Control (MPC) mediante il Robotic Operating System (ROS) framework. Per garantire buone prestazioni è stato implementato un controllo MPC di tipo lineare. La decisione di usare il framework ROS è dovuta ai vantaggi che questa piattaforma offre. Questi vantaggi permettono di rendere il codice prodotto facilmente leggibile e riutilizzabile su più piattaforme oltre a permettere una più facile implementazione e programmazione di robot, anche con struttura complessa, grazie alla possibilità di suddividere il programma in nodi che comunicano tra loro. Questi nodi possono anche risiedere su diverse schede di controllo programmabili, rendendo la loro interazione di facile. Per la fase di prova si è scelto di implementare l’algoritmo per controllare un veicolo modellizzato tramite un modello single track non lineare. Per far sì che questo modello sia compatibile con l’algoritmo di controllo scelto è stata impiegata la tecnica della feedback linearization per renderlo lineare agli effetti esterni. Sia l’algoritmo di controllo che il simulatore sono stati implementati direttamente come nodi; il linguaggio di programmazione scelto tra quelli compatibili con ROS è stato il C++.

Realizzazione di un controllore MPC in ambiente ROS

MARIAZZI, DARIO
2015/2016

Abstract

This thesis work aims to implement a predictive control algorithm based on the Model Predictive Control (MPC) strategy using the Robot Operating System (ROS) framework. To be able to guarantee an adequate level of performance, the implemented MPC control is linear. The ROS framework has been chosen because it has a series of advantages. These advantages allow the code to be easily understandable and reusable on different platforms and let the easy implementation of different kinds of programs even on rather complex robots. This is due to the fact that this framework allows to create different nodes communicating with each other by messages. Thanks to this nodes-like structure of the program, the nodes can be implemented on different programmable control devices allowing their easier interaction. For the test phase, this algorithm has been implemented to control a vehicle modeled with a single track non linear model. To be able to use the linear MPC algorithm, the model has been linearized using the feedback linearization technique that allows viewing, from the outside, the system as a linear one. The control algorithm and the simulator have been implemented directly as ROS nodes, and the C++ program language was chosen for the relative written code.
ING - Scuola di Ingegneria Industriale e dell'Informazione
27-apr-2016
2015/2016
Il presente lavoro di tesi si pone l’obiettivo di implementare un algoritmo di controllo predittivo di tipo Model Predictive Control (MPC) mediante il Robotic Operating System (ROS) framework. Per garantire buone prestazioni è stato implementato un controllo MPC di tipo lineare. La decisione di usare il framework ROS è dovuta ai vantaggi che questa piattaforma offre. Questi vantaggi permettono di rendere il codice prodotto facilmente leggibile e riutilizzabile su più piattaforme oltre a permettere una più facile implementazione e programmazione di robot, anche con struttura complessa, grazie alla possibilità di suddividere il programma in nodi che comunicano tra loro. Questi nodi possono anche risiedere su diverse schede di controllo programmabili, rendendo la loro interazione di facile. Per la fase di prova si è scelto di implementare l’algoritmo per controllare un veicolo modellizzato tramite un modello single track non lineare. Per far sì che questo modello sia compatibile con l’algoritmo di controllo scelto è stata impiegata la tecnica della feedback linearization per renderlo lineare agli effetti esterni. Sia l’algoritmo di controllo che il simulatore sono stati implementati direttamente come nodi; il linguaggio di programmazione scelto tra quelli compatibili con ROS è stato il C++.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
Tesina.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Testo della tesina
Dimensione 1.26 MB
Formato Adobe PDF
1.26 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/121464