The goal of this thesis work is the implementation of control logics for single quadcopters and swarms of quadcopters to accomplish path planning, featuring collision avoidance with known obstacles and between the agents themselves. Control strategies are developed for both simulated drones and real drones, employing a sim-to-real simulation framework based on ROS. The goal of such a framework is to create a correspondence between the real quadrotor and the simulated one and to offer the possibility to develop ROS nodes working in both cases with little or no changes at all. In this way, control strategies can be tested in simulation before being deployed in experiments. The drone employed for experiments is the Crazyflie 2.1, developed by Bitcraze. A model of the quadrotor was created to run simulations. The software framework used to control the drones both in simulation and experiments is based on ROS Noetic and written in Python 3, while Gazebo (version 11.0.0) is chosen as a robotics simulator, and the adopted operating system is Ubuntu 20.04.2 LTS. All the software employed within the thesis project is open-source. Two controllers are implemented to control a single drone in cluttered environments, achieving collision avoidance with obstacles having a predefined position and geometry: the MPC controller and the CBF controller. Both controllers are based on single integrator dynamics, which proved to be suitable to control drones both in simulations and experiments. The ROS nodes employed to implement such control logics are the same for the simulated system and its real counterpart. A hybrid controller is developed to control the swarm, achieving collision avoidance with predetermined obstacles and between quadcopters. A swarm level MPC controller is used to compute velocity set-points for the agents, while a drone level CBF controller is responsible for collision avoidance. The centralized version of such a hybrid controller proved to be effective in simulation, where up to 9 drones were tested successfully.

Lo scopo di questa tesi è l'implementazione di logiche di controllo, per singoli quadricotteri e stormi di quadricotteri, che consentano la pianificazione del percorso evitando collisioni con ostacoli conosciuti e tra i droni stessi. Le strategie di controllo sono sviluppate sia per i droni simulati che per quelli reali, utilizzando un framework di simulazione sim-to-real basato su ROS, la cui finalità è creare una corrispondenza tra il sistema reale e quello simulato e fornire la possibilità di sviluppare nodi ROS che funzionino in entrambi i casi, con minime variazioni al codice. In questo modo le strategie di controllo possono essere testate in simulazione prima di essere utilizzate con il sistema reale. Il drone utilizzato per gli esperimenti e che è stato modellato per la parte di simulazione è il Crazyflie 2.1 di Bitcraze. Il framework software impiegato per controllare i droni sia in simulazione che nella realtà è basato su ROS Noetic e scritto in Python 3, mentre Gazebo (versione 11.0.0) è stato scelto come programma di simulazione robotica e il sistema operativo adoperato è Ubuntu 20.04.2 LTS. I software impiegati nell'ambito di questa tesi sono completamente open-source. Due tipi di controllori sono implementati per controllare un singolo drone in ambienti in cui sono presenti ostacoli, le cui posizioni e geometrie sono predefinite: il controllore MPC e il controllore CBF. Entrambi i controllori sono basati su una dinamica a integratore puro, che si è rivelata adeguata per controllare i droni sia in simulazione che nella realtà. I nodi ROS impiegati per attuare tali logiche di controllo sono gli stessi per quanto riguarda la parte simulata e la parte reale. Un controllore ibrido è sviluppato per controllare lo stormo di droni, il quale consente di evitare collisioni con ostacoli predeterminati e tra i quadricotteri componenti lo stormo. Un controllore MPC a livello dello stormo è adoperato per calcolare i set-point di velocità per i droni, mentre un controllore CBF è impiegato per evitare collisioni. La versione centralizzata di tale controllore ibrido si è dimostrata efficace in simulazione, dove fino a 9 droni sono stati testati con successo.

Analysis and experiments on navigation strategies for quadrotor swarms

Grassi, Pietro
2021/2022

Abstract

The goal of this thesis work is the implementation of control logics for single quadcopters and swarms of quadcopters to accomplish path planning, featuring collision avoidance with known obstacles and between the agents themselves. Control strategies are developed for both simulated drones and real drones, employing a sim-to-real simulation framework based on ROS. The goal of such a framework is to create a correspondence between the real quadrotor and the simulated one and to offer the possibility to develop ROS nodes working in both cases with little or no changes at all. In this way, control strategies can be tested in simulation before being deployed in experiments. The drone employed for experiments is the Crazyflie 2.1, developed by Bitcraze. A model of the quadrotor was created to run simulations. The software framework used to control the drones both in simulation and experiments is based on ROS Noetic and written in Python 3, while Gazebo (version 11.0.0) is chosen as a robotics simulator, and the adopted operating system is Ubuntu 20.04.2 LTS. All the software employed within the thesis project is open-source. Two controllers are implemented to control a single drone in cluttered environments, achieving collision avoidance with obstacles having a predefined position and geometry: the MPC controller and the CBF controller. Both controllers are based on single integrator dynamics, which proved to be suitable to control drones both in simulations and experiments. The ROS nodes employed to implement such control logics are the same for the simulated system and its real counterpart. A hybrid controller is developed to control the swarm, achieving collision avoidance with predetermined obstacles and between quadcopters. A swarm level MPC controller is used to compute velocity set-points for the agents, while a drone level CBF controller is responsible for collision avoidance. The centralized version of such a hybrid controller proved to be effective in simulation, where up to 9 drones were tested successfully.
SINIGAGLIA, CARLO
ING - Scuola di Ingegneria Industriale e dell'Informazione
22-lug-2022
2021/2022
Lo scopo di questa tesi è l'implementazione di logiche di controllo, per singoli quadricotteri e stormi di quadricotteri, che consentano la pianificazione del percorso evitando collisioni con ostacoli conosciuti e tra i droni stessi. Le strategie di controllo sono sviluppate sia per i droni simulati che per quelli reali, utilizzando un framework di simulazione sim-to-real basato su ROS, la cui finalità è creare una corrispondenza tra il sistema reale e quello simulato e fornire la possibilità di sviluppare nodi ROS che funzionino in entrambi i casi, con minime variazioni al codice. In questo modo le strategie di controllo possono essere testate in simulazione prima di essere utilizzate con il sistema reale. Il drone utilizzato per gli esperimenti e che è stato modellato per la parte di simulazione è il Crazyflie 2.1 di Bitcraze. Il framework software impiegato per controllare i droni sia in simulazione che nella realtà è basato su ROS Noetic e scritto in Python 3, mentre Gazebo (versione 11.0.0) è stato scelto come programma di simulazione robotica e il sistema operativo adoperato è Ubuntu 20.04.2 LTS. I software impiegati nell'ambito di questa tesi sono completamente open-source. Due tipi di controllori sono implementati per controllare un singolo drone in ambienti in cui sono presenti ostacoli, le cui posizioni e geometrie sono predefinite: il controllore MPC e il controllore CBF. Entrambi i controllori sono basati su una dinamica a integratore puro, che si è rivelata adeguata per controllare i droni sia in simulazione che nella realtà. I nodi ROS impiegati per attuare tali logiche di controllo sono gli stessi per quanto riguarda la parte simulata e la parte reale. Un controllore ibrido è sviluppato per controllare lo stormo di droni, il quale consente di evitare collisioni con ostacoli predeterminati e tra i quadricotteri componenti lo stormo. Un controllore MPC a livello dello stormo è adoperato per calcolare i set-point di velocità per i droni, mentre un controllore CBF è impiegato per evitare collisioni. La versione centralizzata di tale controllore ibrido si è dimostrata efficace in simulazione, dove fino a 9 droni sono stati testati con successo.
File allegati
File Dimensione Formato  
2022_07_Grassi.pdf

non accessibile

Dimensione 23.66 MB
Formato Adobe PDF
23.66 MB Adobe PDF   Visualizza/Apri
2022_07_Grassi_Executive_Summary.pdf

non accessibile

Dimensione 1.23 MB
Formato Adobe PDF
1.23 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/189881