The goal of this thesis is to design a model predictive control strategy for quadcopters, capable of generating trajectories in real-time in order to reach given targets and, at the same time, avoid fixed and moving obstacles. The trajectory is generated in terms of the jerk by solving a convex quadratic optimization problem. The obstacle avoidance task should be provided exploiting linear constraints, due to the great advantages that these entail in terms of computational load. First, a method that approximates the feasible space through convex polyhedra is implemented. After detecting several problems associated with this technique a different strategy is developed. The latter relies on the assumption of moving with constant longitudinal speed. Thus, the bounds on the positions can be imposed directly in the time domain. Furthermore, thanks to the holonomic nature of quadcopters, the optimization problem can be decoupled in the three axes. The lateral and vertical controls provide translations in order to avoid collisions, while the longitudinal control only decelerates if the solved trajectories do not avoid the obstacles properly. The two collision avoidance strategies are compared to each other. The method developed in this work shows great improvements concerning the reliability of the provided trajectories and the computational load needed to solve the optimization problems. Furthermore, the strategy is capable of managing higher speeds. The performance of the overall control is assessed through simulations done on a highly accurate model of the quadcopter. Real-time feasibility is also tested for low CPU frequencies, thus providing the requirements for a future implementation of the controller directly onboard the vehicle.

Questa tesi si propone di sviluppare un controllo per quadcopter basato sul Model Predictive Control in grado di generare traiettorie in tempo reale in modo da raggiungere determinati obiettivi evitando ostacoli fissi e mobili. La traiettoria è generata in termini di jerk, ovvero la derivata prima dell'accelerazione, risolvendo un problema di ottimizzazione quadratica. L'aggiramento degli ostacoli deve essere svolto per mezzo di vincoli lineari imposti sulla posizione del veicolo, in quanto questi ultimi comportano notevoli vantaggi in termini di costo computazionale. Il primo metodo studiato consiste nell'approssimare lo spazio praticabile attraverso poliedri convessi. Vari problemi associati a questa tecnica spingono a sviluppare un approccio diverso. Tale nuova strategia si basa sull'ipotesi di percorrere la traiettoria a velocità longitudinale costante. In tal modo, potendo esprimere la coordinata longitudinale in funzione del tempo, è possibile imporre dei vincoli sulle coordinate laterali e verticali per ogni istante di tempo. Inoltre, grazie alla natura olonoma del quadcopter, il problema di ottimizzazione può essere scomposto nei tre assi, riducendo così di molto il costo computazionale. La funzione di superamento ostacoli è quindi svolta dai controlli sugli assi laterale e verticale, mentre il controllo sull'asse orizzontale garantisce una velocità costante riducendola solamente in caso le traiettorie generate non siano in grado di evitare correttamente gli ostacoli. Le due strategie sono infine confrontate tra loro. Il metodo sviluppato in questa tesi risulta portare notevoli miglioramenti in termini di affidabilità delle traiettorie e di costo computazionale. Il controllo è quindi implementato in un modello altamente dettagliato del quadcopter in modo da valutarne le performance. Sono state inoltre svolte simulazioni a varie velocità di clock del processore in modo da verificare la fattibilità in tempo reale.

Online trajectory generation with obstacle avoidance for quadcopters using model predictive control

BORGIA, FEDERICO
2013/2014

Abstract

The goal of this thesis is to design a model predictive control strategy for quadcopters, capable of generating trajectories in real-time in order to reach given targets and, at the same time, avoid fixed and moving obstacles. The trajectory is generated in terms of the jerk by solving a convex quadratic optimization problem. The obstacle avoidance task should be provided exploiting linear constraints, due to the great advantages that these entail in terms of computational load. First, a method that approximates the feasible space through convex polyhedra is implemented. After detecting several problems associated with this technique a different strategy is developed. The latter relies on the assumption of moving with constant longitudinal speed. Thus, the bounds on the positions can be imposed directly in the time domain. Furthermore, thanks to the holonomic nature of quadcopters, the optimization problem can be decoupled in the three axes. The lateral and vertical controls provide translations in order to avoid collisions, while the longitudinal control only decelerates if the solved trajectories do not avoid the obstacles properly. The two collision avoidance strategies are compared to each other. The method developed in this work shows great improvements concerning the reliability of the provided trajectories and the computational load needed to solve the optimization problems. Furthermore, the strategy is capable of managing higher speeds. The performance of the overall control is assessed through simulations done on a highly accurate model of the quadcopter. Real-time feasibility is also tested for low CPU frequencies, thus providing the requirements for a future implementation of the controller directly onboard the vehicle.
ING - Scuola di Ingegneria Industriale e dell'Informazione
29-apr-2014
2013/2014
Questa tesi si propone di sviluppare un controllo per quadcopter basato sul Model Predictive Control in grado di generare traiettorie in tempo reale in modo da raggiungere determinati obiettivi evitando ostacoli fissi e mobili. La traiettoria è generata in termini di jerk, ovvero la derivata prima dell'accelerazione, risolvendo un problema di ottimizzazione quadratica. L'aggiramento degli ostacoli deve essere svolto per mezzo di vincoli lineari imposti sulla posizione del veicolo, in quanto questi ultimi comportano notevoli vantaggi in termini di costo computazionale. Il primo metodo studiato consiste nell'approssimare lo spazio praticabile attraverso poliedri convessi. Vari problemi associati a questa tecnica spingono a sviluppare un approccio diverso. Tale nuova strategia si basa sull'ipotesi di percorrere la traiettoria a velocità longitudinale costante. In tal modo, potendo esprimere la coordinata longitudinale in funzione del tempo, è possibile imporre dei vincoli sulle coordinate laterali e verticali per ogni istante di tempo. Inoltre, grazie alla natura olonoma del quadcopter, il problema di ottimizzazione può essere scomposto nei tre assi, riducendo così di molto il costo computazionale. La funzione di superamento ostacoli è quindi svolta dai controlli sugli assi laterale e verticale, mentre il controllo sull'asse orizzontale garantisce una velocità costante riducendola solamente in caso le traiettorie generate non siano in grado di evitare correttamente gli ostacoli. Le due strategie sono infine confrontate tra loro. Il metodo sviluppato in questa tesi risulta portare notevoli miglioramenti in termini di affidabilità delle traiettorie e di costo computazionale. Il controllo è quindi implementato in un modello altamente dettagliato del quadcopter in modo da valutarne le performance. Sono state inoltre svolte simulazioni a varie velocità di clock del processore in modo da verificare la fattibilità in tempo reale.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2014_04_Borgia.pdf

accessibile in internet per tutti

Descrizione: Testo della tesi
Dimensione 1.51 MB
Formato Adobe PDF
1.51 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/90908