Simulatore simulink del sistema
Il simulatore dell’impianto è interamente contenuto nel subsystem model della libreria CRANE_model.mdl come mostra la figura seguente. Per realizzare una simulazione dell’impianto è necessario copiare tutti i blocchi contenuti in tale subsystem nel top level system di un nuovo schema Simulink.
Il simulatore del carro ponte: CRANE, in colore azzurro, presenta tre ingressi ed una sola uscita mentre la maggior parte dei segnali viene scambiata automaticamente dai blocchi di sensori e attuatori attraverso l’uso di blocchi GOTO e FROM.
Gli ingressi Brake e Hook rappresentano i comandi di azionamento del Freno e del Gancio rispettivamente: impostare Brake=1 comporta l’attivazione del freno, a patto che la velocità di scorrimento del cavo sia inferiore, in valore assoluto, ad 1 cm/sec. Impostare Brake=0 rilascia il freno. Il segnale in uscita OBrake riflette quello di Brake una volta che l’effettivo azionamento del freno sia avvenuto.
Figura 4 Simulatore dell’impianto
Impostare Hook=1 comporta la chiusura del sistema di aggancio che avviene a patto che siano rispettate le specifiche descritte precedentemente; una qualsiasi attivazione del gancio in condizioni differenti da quelle descritte provoca un messaggio di errore e la terminazione della simulazione. Impostare Hook=0 provoca l’apertura del gancio; operazione che porterà al corretto completamento della procedura di sgancio del carico solo se saranno rispettate le specifiche descritte precedentemente.
Il segnale OperationStart avvia il contatore di tempo inetrno alla simulazione; tale segnale va mantenuto a 0.0 durante la procedura di calcolo della lunghezza del cavo di sollevamento e portato e successivemnete mantenuto a 1.0 quando inizia la procedura di spostamento del Gancio.
Il simulatore dell’impianto è provvisto di un sistema che calcola automaticamente, all’avvio della simulazione, il costo dei componenti di tutto il sistema: il Cost Counter; tutti i blocchi Simulink contenuti nel subsystem model della libreria CRANE_model.mdl sono necessari alla realizzazione del simulatore. All’inizio della simulazione il display Components Cost mostra il costo totale di tutti i componenti utilizzati; alla fine della simulazione Il display Operation Time mostra il tempo totale necessario ad effettuare lo spostamento del carico mentre il display Performance mostra un indice di performance del sistema di controllo che tiene conto sia del tempo necessario ad effettuare la manovra che del costo dei componenti dell’impianto. Minore è tale valore, migliori sono da considerarsi le performance del sistema.
Per l’utilizzo del simulatore e’ necessario eseguire due file di configurazione: crane_init.m che inizializza i parametri del sistema e crane_problem.m che predispone le variabili che identificano la manovra da eseguire ed il valore della massa del carico. Il file crane_init.m non deve essere modificato in quanto contiene parametri costanti del simulatore del carro ponte. Il file crane_problem.m può essere modificato per impostare differenti condizioni di test; in particolare le costanti XT0 e YT0 definiscono la posizione iniziale di Bridge e Trolley, le costanti XL0 e YL0 definiscono la posizione iniziale del gancio (questi valori dovrebbero essere impostati uguali a XT0 e YT0 rispettivamente per evitare transitori iniziali sul sistema che, all’accensione è in quiete). Il valore L0 definisce la lunghezza del cavo di sollevamento all’accensione, da considerarsi incognita. Le costanti XS e YS definiscono la posizione iniziale del carico, quella alla quale deve avvenire la presa, mentre le costanti XF e YF rappresentano la posizione desiderata del carico (tali valori sono utilizzati dal simulatore per verificare se la presa del gancio sul carico possa avvenire in sicurezza). La costante mL rappresenta il peso del carico; tale valore va considerato incognito e non può essere utilizzato nel sistema di controllo del carro ponte.
Esempio di file crane_problem.m
%initial CRANE conditions
%bridge and trolley
XT0=0.0;
YT0=0.0;
%load
XL0=XT0;
YL0=YT0;
%cable length
L0=14.0;
%problem statement
%start
XS=0;
YS=0;
%finish
XF=0;
YF=1;
%load weight
mL=1000;
Sensori disponibili
La tabella seguente elenca tutti i sensori a disposizione per il controllo del sistema. Tutti i sensori elencati possono essere usati contemporaneamente.
Attuatori disponibili
Figura 7 attuatori disponibili
La tabella seguente elenca tutti i attuatori a disposizione per il controllo del sistema; due attuatori per lo stesso elemento: trolley, bridge, o cavo di sollevamento non possono essere usati contemporaneamente sullo stesso schema.
Carroponte - Virtual Crane
E’ possibile utilizzare un sistema di visualizzazione tridimensionale del carro ponte che può essere attivato sia durante la simulazione che in playback di una simulazione registrata (tramite il modello Simulink CRANE_playback.mdl).
Il sistema di visualizzazione viene attivato semplicemente avviando l’eseguibile DynaEmbeddedCRANE.exe; il collegamento con qualunque simulazione Simulink sarà automatico.
La figura seguente mostra uno screenshot del simulatore; con i tasti in basso è possibile scegliere vari punti di vista predefiniti: Trolley Cam rappresenta una telecamera posizionata sotto il trolley e punta verso il gancio; con tale telecamera sarà possibile verificare le oscillazioni del carico durante le simulazioni; Look At Load, Look At Structure e Barycenter Cam sono tre le camere puntate verso il carico, la struttura ed un punto arbitrario qualche metro sotto il trolley; tali telecamere sono modificabili come punto di vista e zoom muovendo il mouse tenendo il tasto sinistro o destro premuto durante il movimento.
Controllo del sistema
Prima di realizzare il sistema di controllo è necessario definire i sensori e gli attuatori necessari. Sono disponibili una serie di attuatori e sensori utilizzabili sul carro ponte, ognuno con differenti caratteristiche dinamiche e di precisione e con differente costo. A parità di prestazioni ottenute, il progetto di maggior successo sarà quello che avrà richiesto un costo dei componenti minore.
La libreria Simulink CRANE_Model.mdl contiene tutte le componenti necessarie a simulare il sistema ed a costruire la rete di sensori e attuatori per l’impianto; nessun altro componente e/o tecnica potrà essere usata per generare segnali di feedback per il sistema di controllo del carro ponte.
Figura 9 Schema Simulink della libreria
Affinché lo schema Simulink risulti corretto non sarà possibile utilizzare contemporaneamente sullo stesso schema due attuatori per la stessa grandezza: ad esempio due attuatori per la movimentazione del Bridge quali sono “Bridge Motor-High Performance” e “Bridge Motor – Low Performance”.
La dinamica di attuatori e sensori ed eventuali frequenze di campionamento per sensori di tipo digitale sono specificate nelle maschere dei blocchi o sono ricavabili per ispezione diretta dei blocchi (funzione “look under mask” di Simulink). Ai fini del progetto nessun blocco di libreria potrà essere modificato in alcun suo parametro.
Gli elementi contenuti nella libreria funzionano attraverso l’uso di blocchi Simulink GOTO e FROM e non necessitano quindi di collegamento diretto al blocco che simula l’impianto.
Obiettivo di Controllo del sistema
All’accensione il sistema e’ in quiete, con il carico sganciato e con il freno del cavo di sollevamento azionato ma srotolato di una quantità sconosciuta.
L’obiettivo del sistema di controllo è:
- Determinare la lunghezza del cavo in fase di accensione dell’impianto: all’accensione dell’impianto la lunghezza del cavo non è nota; sarà quindi necessario avviare una procedura di reset del contatore dell’encoder al fine di ottenere una misura precisa. Alla fine della procedura di reset e’ necessario segnalare l’inizio della manovra di spostamento ai fini del conteggio automatico del tempo necessario (segnale OperationStart).
- Partendo da condizioni iniziali qualsiasi, raggiungere una determinata locazione XSYS con il gancio di sollevamento ad una quota superiore a 5 metri da terra. Il sistema carro ponte è alto 18 metri, il carico da trasportare e’ alto 3 metri, quando quindi il cavo è srotolato di 15 metri, questo è all’altezza del carico (all’altezza del punto di aggancio). Spostare il gancio ad una quota superiore a 5 metri implica quindi che la lunghezza del cavo in quiete deve essere inferiore a 13 metri.
- Calare il cavo fino a 3 metri da terra (lunghezza cavo = 15 metri). Al momento in cui la coordinata ZL raggiunge il valore desiderato (15 metri), il cavo ed il carico dovranno essere in quiete (assenza o quasi di oscillazioni) e l’errore sulle coordinate XL e YL dovrà essere inferiore a 0.1 metri per permettere l’aggancio in sicurezza.
- Attivare il sistema di aggancio automatico.
- Ad aggancio avvenuto, sollevare il carico ad una quota superiore a 5 metri sul livello del terreno.
- Portare il carico alle coordinate XFYF di destinazione e calare il carico fino a terra (lunghezza cavo = 15 metri). Al momento in cui la coordinata ZL raggiunge il valore desiderato, il cavo dovrà essere in quiete e l’errore sulle coordinate XL e YL dovrà essere inferiore a 0.1 metri per permettere una sicura deposizione del carico. Inoltre la deposizione dovrà avvenire in maniera dolce senza provocare urti eccessivi sul terreno.
- Sganciare il carico. Se la procedura avrà avuto successo la simulazione terminerà automaticamente e la finestra di Matlab conterrà un messaggio di positiva conclusione.
Il controllore migliore sarà quello capace di garantire la funzionalità con qualunque carico compreso tra 1000 Kg e 10000 Kg, che impiegherà il minor tempo possibile a completare la manovra (escludendo dal conteggio dei tempi la fase iniziale di azzeramento del sensore di lunghezza cavo) e che costerà meno.