UN SISTEMA DI CONTROLLO PER ELICOTTERO Realizzazione con Simulink e Direct3D di M. CARIDI e L. DAGA Dipartimento di Informatica e Sistemistica Università degli Studi di Roma La Sapienza via Eudossiana 18, 00184 ROMA Email: leo@pcdeca1.ing.uniroma1.it Introduzione Nel presente articolo sarà presentato il procedimento di sintesi di un sistema di controllo per un elicottero, il cui modello matematico non lineare è stato costruito con particolare accuratezza per rappresentare efficacemente le varie condizioni di volo. Per i test di funzionamento è stato implementato il modello matematico dell elicottero in Simulink, mentre il sistema di controllo di tipo robusto è stato progettato con la toolbox µ-analysis and Synthesis. Per un test più completo del sistema di controllo è stato realizzato un simulatore di volo in tempo reale utilizzando Simulink come motore di calcolo e dei blocchi appositamente costruiti per l interfacciamento con il controllo manuale (joystick + tastiera) e l operatore esterno. L assetto istantaneo dell elicottero è rappresentato in tempo reale utilizzando il motore grafico Direct3D della Microsoft. Il modello matematico dell elicottero Aerodinamica. Per il modello matematico [1]sono state adottate alcune assunzioni atte a semplificarne la formulazione per quanto possibile. Per i rotori è stata adottata una modellazione quasi statica, assumendo che la dinamica del rotore sia molto più rapida di quella della fusoliera. Per le altre superfici portanti (impennaggi e fusoliera) si ipotizzano azioni aerodinamiche stazionarie. Nonostante le semplificazioni ne consegue un set di equazioni algebriche non lineari, tempo indipendenti ed esplicite. Il calcolo viene eseguito attraverso lo schema Simulink riportato nella Figura 1. Il calcolo delle forze e dei momenti generati dai due rotori necessitano di una procedura di risoluzione iterativa. Il numero di iterazioni richieste viene notevolmente ridotto memorizzando il vettore di parametri λ da un ciclo di risoluzione a quello successivo, come mostra la figura 1. Modello matematico non lineare. Il valore totale delle azioni aerodinamiche viene utilizzato per il calcolo della dinamica dell elicottero, come riportato dalle formule implicite in Figura 2. Ne risulta lo schema a blocchi riportato nella Figura 3, dove è mostrato il modo intuitivo in cui è stata realizzata la funzione di trasferimento comandi posizione assetto. Linearizzazione. Per la sintesi del controllo robusto il modello matematico dell elicottero è stato linearizzato rispetto a molteplici condizioni di volo (di equilibrio o trim). La successiva determinazione dei modi del sistema permette la visualizzazione del comportamento del modello dina- IV
mico dell elicottero al variare, per esempio, della velocità longitudinale nel caso di moto rettilineo orizzontale. Nella figura 4 è stato riportato il grafico degli autovalori del sistema linearizzato al variare della velocità orizzontale longitudinale. Dalla figura sono evidenti le variazioni della posizione degli autovalori stabili ed instabili, particolarmente in corrispondenza delle due velocità di transizione (15 e 24m/s), in cui si ha una variazione discontinua delle condizioni di flusso sulle superfici portanti. Figura 1: Schema Simulink per il calcolo delle azioni aerodinamiche Figura 2: Equazioni del modello matematico non lineare del moto dell elicottero Figura 3: Schema Simulink funzione di trasferimento I/O del modello non lineare dell elicottero V
Figura 4: Variazione degli autovalori del sistema da controllare al variare della velocità. Le cifre nel grafico indicano la velocità, riportata in m/sec. La sintesi del sistema di controllo robusto. Per la sintesi del sistema di controllo robusto, è stato utilizzato un metodo basato su una procedura di loopshaping e sulla fattorizzazione del sistema da controllare. La prima parte della procedura tende a creare il giusto valore di banda passante del sistema controllato ed un sufficiente margine di fase. La seconda parte tende a massimizzare la robustezza mantenendo il più possibile i risultati precedentemente ottenuti. Nella Figura 5 sono mostrati gli andamenti dei valori singolari prima e dopo l applicazione del controllo robusto K* e della matrice di allineamento WA. Il controllore è stato calcolato utilizzando le funzioni della toolbox µ - Analysis and Synthesis del MATLAB e realizzato con Simulink per rendere possibile l interazione con il modello di simulazione non lineare dell elicottero. Figura 5: Valori singolari delle funzioni di trasferimento a ciclo chiuso del sistema da controllare dopo la fase di loopshaping e dopo l applicazione del controllore VI
Un metodo efficace per testare la robustezza del sistema di controllo a situazioni particolari non riconducibili a risposte ad ingressi canonici, è l utilizzazione di un simulatore completo in cui un operatore interagisce in tempo reale sul sistema controllato avendo come feedback la visione 3D della situazione in cui si trova l elicottero. La disponibilità sul mercato di numerose schede con acceleratori grafici 3D molto potenti, solitamente sfruttate nel campo dell intrattenimento multimediale, ha reso possibile la ricostruzione della visione 3D del moto dell elicottero, usando in particolare le librerie grafiche Microsoft Direct3D disponibili per i sistemi operativi Windows. Nella figura 6 è mostrato l insieme del simulatore, composto dal modello matematico non lineare realizzato con il Simulink, da un programma preposto alla lettura degli ingressi dal joystick e il programma che gestisce la visualizzazione. La visualizzazione del moto dell elicottero con le librerie Direct3D Il meccanismo di visualizzazione dell elicottero si basa sulla trasmissione DDE dello stato attuale dell elicottero dal Simulink al motore grafico 3D. L oggetto da visualizzare può essere costruito seguendo alcune semplici regole e può prevedere più corpi in movimento e in rotazione reciproca. La lettura dei comandi avviene in modo speculare rispetto alla visualizzazione 3D. Il server DDE che gestisce il joystick e la tastiera ne legge continuamente lo stato e lo mette a disposizione del Simulink che lo richiede ad ogni iterazione. Il joystick ha la funzione di controllare pitch e roll mentre la tastiera viene usata per il controllo dell imbardata e della quota. Ulteriore compito del server di lettura dei comandi è fornire la temporizzazione che rende verosimile l interazione tra operatore e simulatore. Il tempo di simulazione del Simulink viene agganciato al tempo reale fornito dall orologio di Windows, con precisioni che arrivano fino ad 1 msec. Figura 6: Schema di costruzione del simulatore di volo per elicottero Un esempio di manovra Per mostrare le capacità grafiche del sistema di visualizzazione è stata simulata una semplice manovra di sidestep (spostamento laterale finito). I comandi impartiti per compiere la manovra sono due impulsi sull angolo di roll in direzioni opposte, generando la traiettoria descritta in figura 7. La sovrapposizione delle successive posizioni assunte dall elicottero durante la manovra è riportata, secondo due punti di vista differenti, nella figura 8. Figura 7: Risposta dell elicottero nella simulazione di manovra di spostamento laterale. VII
µ-analysis and Synthesis info studi&ricer che Figura 8: Visualizzazione 3D della risposta dell elicottero nella manovra di spostamento laterale secondo diverse inquadrature. Conclusioni Il progetto di un sistema di controllo per un processo fisico molto complesso richiede un lavoro oneroso in termini di tempo di sviluppo di ogni singola parte. La possibilità di poter lavorare secondo livelli di astrazione successivi consente un organizzazione migliore e la localizzazione degli errori di sintesi che si presentano ad ogni approfondimento di ogni singolo componente del progetto. In questo contesto, un ambiente di progetto ad elevata modularità e ad alta possibilità di astrazione come il Simulink è destinato a sicuro successo, in special modo se in tale ambiente è presente la possibilità di interfacciare parti simulate del processo fisico con dispositivi reali onde simulare il reale funzionamento del processo controllato. Riferimenti [1] L. Daga, Dalla simulazione al controllo robusto del modello non lineare di un elicottero monorotore tramite sensori d assetto GPS/INS, Tesi di dottorato, Roma, Novembre 1997. [2] R. A. Hyde, H* Aerospace Control Design, Springer Verlaag, Berlin 1996. [3] M. Caridi, C. Carpinteri, L. Daga, L. Onofri, Realizzazione di un simulatore di elicottero realizzato con Simulink e la tecnologia Microsoft Direct3D per il test di un sistema di controllo robusto, 2 a Conferenza MATLAB, Torino 1997 Il µ-analysis and Synthesis Toolbox contiene funzioni per realizzare il progetto di controlli robusti sfruttando la tecnica del controllo ottimo H e del valore singolare strutturato,µ.la Versione 3 ha una interfaccia grafica che facilita la manipolazione delle sequenze dei blocchi per la progettazione di controllori H sfruttando la sintesi µ approssimata con iterazioni D-K effettuate automaticamente. CAR ARATTERISTICHE TERISTICHE " Progetto di controllo ottimo H e H2 " µ-analisi a valore singolare strutturato sia reale che complesso " Iterazioni D-K per µ-sintesi approssimata " Elaborazioni di sistema,risposta in frequenza,e simulazioni nel dominio del tempo " Strumenti grafici per l analisi delle risposte temporali sfruttando i controllori derivati dall elaborazione " Funzioni per la riduzione del modello:elaborazione per mezzo della norma di Hankel e realizzazioni compensate " Manipolazione immediata di connessioni complesse fra sistemi VIII