The goal of this thesis is to implement a Higher-Order-Sliding-Mode (HOSM) controller with model linearization strategy, on a quadcopter, using PX4 architecture, an open-source firmware able to reproduce a real application environment in simulation. This type of control action requires the model to be linearized by mathematical transformations that transforms the model into a Brunowvki canonical one. On this state space structure the “sliding mode” control is then applied. The transformations used are the linearization in FeedBack and in FeedForward, the first linearizes the system with respect to the its states, while the second linearizes it with respect to the reference to be given. The architecture used is PX4, (based on ardupilot [1] and dronecode [2]). The architecture, albeit seemingly complex at first, is designed to be modular, which turn eases modifications and the introduction of extensions in the firmware without affecting the entire system behaviour. The most difficult part was to understand how to modify the control architecture since it includes all the failsafe behaviours that we do not desired to modify. In this thesis is first showed an overview of the general architecture, then the control strategy used by PX4, and its firmware description. Lastly the appendix a brief and practical tutorial on how to make code modifications is showed, it should be useful to easy understanding of how the new control architecture is implemented in the code. Going into more details, the firmware is based on the real-time operating system (RTOS) Nuttx, completely open-source. One of PX4 features is the Ground Control Station (QGC), which is nothing more than a control interface that allows to give offboard commands, and analyze the flight data. The middleware that PX4 uses are those MAVLINK, used for offboard communication, and the internal messaging system is uORB, this allocates global memory on which different topics (messages) are created and then shared between the various system modules. The last peculiarity of the system is the possibility to simulate the whole architecture with different vehicles and in various simulation environments such as Gazebo and jmavsim. Both the simulators allows to have a realistic environment able to reproduce disturbaces, sensors and motors dynamic, and another feauture is the lockstep simulation technique, that allows to completely synchronize the firmware and the simulator. The second part is focused on on the mentioned control mode implementation, simulation tests and achieved results. In the analysis of results the nonlinear HOSM control compared to the internal controller (PID) of the system is shown. The new control technique, apart from the initial transient, has better performances than the one already implemented by PX4, which leaves the possibility to continue on this path by making further tests with different sliding mode algorithms and passing to real applications.

L’obiettivo di questa tesi è quello di implementare il controllo Higher-Order-Sliding- Mode (HOSM) utilizzando l’architettura PX4, open-source, che permette di simulare il volo di un quadricottero in un ambiente che replica quello reale, in particolare apportando alcune modifiche al suo firmware. Questo tipo di azione di controllo richiede che il modello sia linearizzato mediante trasformazioni matematiche e trasformato nel modello canonico di Brunovski. Le trasformazioni utilizzate sono la linearizzazione in FeedBack e in FeedForward, la prima linearizza il sistema rispetto ai suoi stati, mentre la seconda lo linearizza rispetto al riferimento che gli si vuol dare. L’architettura che abbiamo deciso di utilizzare è PX4, (basata su ardupilot [1] e dronecode [2]), questa risulta a primo impatto complessa, ma il suo approccio modulare facilita le modifiche e l’aggiunta di estensioni volte all’introduzione di nuove funzionalità nel software senza influenzare il comportamento del sistema esistente. La parte più difficile è stata capire come modificare la struttura di controllo poiché include tutti i comportamenti di sicurezza che non desideriamo modificare. In questa tesi viene mostrata per prima una panoramica dell’architettura generale, in seguito la struttura interna di controllo (analizzata nel dettaglio implementativo), una panoramica del firmware, ed infine (in appendice) un breve e pratico tutorial su come apportare modifiche sul codice. Tale guida risulterà necessaria per permettere facilmente di comprendere come la nuova architettura di controllo è stata implementata nel codice. Scendendo in maggiori dettagli il firmware utilizzato è basato sul sistema operativo a tempo reale (RTOS) Nuttx, completamente open-source. Una delle caratteristiche del sistema PX4 è la “Ground Control Station” (QGC), la quale non è che un’ interfaccia di controllo che permette di dare comandi da remoto, o in simulazione, e di analizzare i dati di volo. I middleware che PX4 utilizza sono quelli MAVLINK, per la comunicazione offboard, mentre la messaggistica interna è quella uORB, questa alloca memoria globale sulla quale i diversi topic (messaggi) sono creati e poi condivisi tra i vari moduli del sistema. Ultima peculiarità del sistema, è la possibilità di poter simulare il tutto con veicoli diversi e in vari ambienti di simulazione come Gazebo e jmavsim. Entrambi i simulatori consentono di avere un ambiente realistico in grado di riprodurre disturbi, dinamica dei sensori e dei motori, ed inoltre grazie alla tecnica di lockstep, consentono una completa sincronizzazione tra ambiente firmware e di simulazione. La seconda parte è incentrata sulla implementazione effettiva del controllo HOSM, la linearizzazione del modello necessaria all’utilizzo di tale controllore, test di simulazione e risultati raggiunti.Nell’analisi dei risultati viene mostrato il controllo non lineare HOSM, paragonato al controllore interno (PID) del sistema. La nuova tecnica di controllo, a meno di un transitorio iniziale, ottiene performance migliori della tecnica già implementata da PX4, il che lascia la possibilità di continuare su questa strada facendo ulteriori test con algoritmi diversi di Sliding Mode e passando ad applicazioni reali.

Quadcopter HOSM control on PX4 firmware architecture

Montemurro, Stefano
2020/2021

Abstract

The goal of this thesis is to implement a Higher-Order-Sliding-Mode (HOSM) controller with model linearization strategy, on a quadcopter, using PX4 architecture, an open-source firmware able to reproduce a real application environment in simulation. This type of control action requires the model to be linearized by mathematical transformations that transforms the model into a Brunowvki canonical one. On this state space structure the “sliding mode” control is then applied. The transformations used are the linearization in FeedBack and in FeedForward, the first linearizes the system with respect to the its states, while the second linearizes it with respect to the reference to be given. The architecture used is PX4, (based on ardupilot [1] and dronecode [2]). The architecture, albeit seemingly complex at first, is designed to be modular, which turn eases modifications and the introduction of extensions in the firmware without affecting the entire system behaviour. The most difficult part was to understand how to modify the control architecture since it includes all the failsafe behaviours that we do not desired to modify. In this thesis is first showed an overview of the general architecture, then the control strategy used by PX4, and its firmware description. Lastly the appendix a brief and practical tutorial on how to make code modifications is showed, it should be useful to easy understanding of how the new control architecture is implemented in the code. Going into more details, the firmware is based on the real-time operating system (RTOS) Nuttx, completely open-source. One of PX4 features is the Ground Control Station (QGC), which is nothing more than a control interface that allows to give offboard commands, and analyze the flight data. The middleware that PX4 uses are those MAVLINK, used for offboard communication, and the internal messaging system is uORB, this allocates global memory on which different topics (messages) are created and then shared between the various system modules. The last peculiarity of the system is the possibility to simulate the whole architecture with different vehicles and in various simulation environments such as Gazebo and jmavsim. Both the simulators allows to have a realistic environment able to reproduce disturbaces, sensors and motors dynamic, and another feauture is the lockstep simulation technique, that allows to completely synchronize the firmware and the simulator. The second part is focused on on the mentioned control mode implementation, simulation tests and achieved results. In the analysis of results the nonlinear HOSM control compared to the internal controller (PID) of the system is shown. The new control technique, apart from the initial transient, has better performances than the one already implemented by PX4, which leaves the possibility to continue on this path by making further tests with different sliding mode algorithms and passing to real applications.
INCREMONA, GIAN PAOLO
ING - Scuola di Ingegneria Industriale e dell'Informazione
21-dic-2021
2020/2021
L’obiettivo di questa tesi è quello di implementare il controllo Higher-Order-Sliding- Mode (HOSM) utilizzando l’architettura PX4, open-source, che permette di simulare il volo di un quadricottero in un ambiente che replica quello reale, in particolare apportando alcune modifiche al suo firmware. Questo tipo di azione di controllo richiede che il modello sia linearizzato mediante trasformazioni matematiche e trasformato nel modello canonico di Brunovski. Le trasformazioni utilizzate sono la linearizzazione in FeedBack e in FeedForward, la prima linearizza il sistema rispetto ai suoi stati, mentre la seconda lo linearizza rispetto al riferimento che gli si vuol dare. L’architettura che abbiamo deciso di utilizzare è PX4, (basata su ardupilot [1] e dronecode [2]), questa risulta a primo impatto complessa, ma il suo approccio modulare facilita le modifiche e l’aggiunta di estensioni volte all’introduzione di nuove funzionalità nel software senza influenzare il comportamento del sistema esistente. La parte più difficile è stata capire come modificare la struttura di controllo poiché include tutti i comportamenti di sicurezza che non desideriamo modificare. In questa tesi viene mostrata per prima una panoramica dell’architettura generale, in seguito la struttura interna di controllo (analizzata nel dettaglio implementativo), una panoramica del firmware, ed infine (in appendice) un breve e pratico tutorial su come apportare modifiche sul codice. Tale guida risulterà necessaria per permettere facilmente di comprendere come la nuova architettura di controllo è stata implementata nel codice. Scendendo in maggiori dettagli il firmware utilizzato è basato sul sistema operativo a tempo reale (RTOS) Nuttx, completamente open-source. Una delle caratteristiche del sistema PX4 è la “Ground Control Station” (QGC), la quale non è che un’ interfaccia di controllo che permette di dare comandi da remoto, o in simulazione, e di analizzare i dati di volo. I middleware che PX4 utilizza sono quelli MAVLINK, per la comunicazione offboard, mentre la messaggistica interna è quella uORB, questa alloca memoria globale sulla quale i diversi topic (messaggi) sono creati e poi condivisi tra i vari moduli del sistema. Ultima peculiarità del sistema, è la possibilità di poter simulare il tutto con veicoli diversi e in vari ambienti di simulazione come Gazebo e jmavsim. Entrambi i simulatori consentono di avere un ambiente realistico in grado di riprodurre disturbi, dinamica dei sensori e dei motori, ed inoltre grazie alla tecnica di lockstep, consentono una completa sincronizzazione tra ambiente firmware e di simulazione. La seconda parte è incentrata sulla implementazione effettiva del controllo HOSM, la linearizzazione del modello necessaria all’utilizzo di tale controllore, test di simulazione e risultati raggiunti.Nell’analisi dei risultati viene mostrato il controllo non lineare HOSM, paragonato al controllore interno (PID) del sistema. La nuova tecnica di controllo, a meno di un transitorio iniziale, ottiene performance migliori della tecnica già implementata da PX4, il che lascia la possibilità di continuare su questa strada facendo ulteriori test con algoritmi diversi di Sliding Mode e passando ad applicazioni reali.
File allegati
File Dimensione Formato  
TESI_HOSM_PX4_MONTEMURRO.pdf

accessibile in internet per tutti

Descrizione: Tesi relativa all'implementazione del controllo HOSM sull' architettura PX4
Dimensione 14.39 MB
Formato Adobe PDF
14.39 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/182053