www.archeosub.it |
|
L'architettura di controllo dei ROV
La complessità delle funzioni richieste ai moderni robot richiede lo sviluppo di architetture distribuite e modulari
di Riccardo Bono
Ricercatore del Reparto Robotica presso l'Istituto per l'Automazione Navale di Genova del Consiglio Nazionale delle Ricerche
pubblicata su "TECNOLOGIE TRASPORTI MARE" nel numero di novembre del 2000
per gentile concessione dell'editore e del curatore della rubrica Ing. Gianmarco Veruggio
Il compito fondamentale di un ROV (Remotely Operated Vehicle) è quello di consentire ad un operatore in superficie di interagire con l'ambiente sottomarino.
Un compito così complesso è in realtà scomponibile in molte attività estremamente differenti.
Possiamo qui elencare le principali attività, andando da quelle più "primitive" o fondamentali a quelle più "evolute" o accessorie:
- controllare il funzionamento dei propulsori, mantenendo per ciascuno di questi la spinta impostata;
- acquisire i dati dei sensori di bordo e filtrarli, per ottenere informazioni affidabili sull'ambiente circostante il veicolo;
- gestire l'impiantistica di bordo, effettuando commutazioni di alimentazioni o segnali e verificando il buon funzionamento degli apparati;
- controllare l'assetto ed il movimento del veicolo, utilizzando le letture dei sensori per stabilire le spinte da richiedere ai propulsori. L'assetto e il movimento da mantenere sono comandi ricevuti dai livelli superiori;
- integrare i dati dei sensori per stimare la posizione del veicolo rispetto all'ambiente circostante;
- determinare, sulla base della posizione stimata e dei comandi ricevuti dai livelli superiori, una sequenza di assetti e movimenti da fare assumere al veicolo.
Non tutte queste attività sono necessariamente svolte dal ROV, anche se la sua capacità di svolgerle fornisce un parametro di valutazione della "qualità" del veicolo.
I compiti non eseguibili dal sistema di elaborazione del robot rimangono a carico dell'operatore umano.
Questi dovrà, nel caso ottimale, definire il piano della missione da svolgere, nel caso intermedio fornire orientazioni e velocità del veicolo durante l'intera missione e, nel caso meno evoluto, fornire in continuazione indicazioni delle spinte da esercitare dai vari propulsori.
La potenza di elaborazione dei sistemi di calcolo attualmente presenti sul mercato è tale che tutti i compiti descritti in precedenza potrebbero essere svolti da un singolo calcolatore, ma l'architettura di un ROV è per sua natura distribuita.
Infatti, essendo il veicolo lontano dall'operatore, non è conveniente raggruppare tutte le funzioni di controllo né sul veicolo né in superficie, perché in entrambi i casi sarebbe necessario portare un numero enorme di connessioni lungo il cavo.
Nel primo caso (operatore lontano dal calcolatore), bisognerebbe far giungere all'elemento lontano dal sistema di elaborazione tutti i collegamenti necessari ad acquisire i comandi, nel secondo (veicolo lontano dall'unità di calcolo), i collegamenti necessari ad attuare i comandi e acquisire i sensori.
Occorre pertanto suddividere il sistema di elaborazione, collocandone una parte a bordo del veicolo ed una parte in superficie e collegando i due sottosistemi con un adeguato impianto di comunicazione.
|
|
La divisione dei compiti fra il sistema sottomarino e quello di superficie è abbastanza elastica.
Infatti se è certo che il sistema sottomarino si deve occupare di controllare i propulsori, acquisire i sensori e controllare gli impianti di bordo ed è altrettanto assodato che il sistema di superficie deve acquisire i comandi dell'operatore e presentargli la situazione del veicolo, i vari compiti di controllo della guida (mantenimento delle grandezze cinetiche e dinamiche) e di controllo della navigazione (raggiungimento dei punti della traiettoria) possono risiedere sia nell'unità sottomarina sia in quella di superficie.
Un parametro che orienta nella decisione sulla distribuzione dei compiti è la capacità del sistema di comunicazione adottato: se il canale è veloce, si può scegliere di tenere un maggior numero di compiti nell'unità di superficie, in quanto molte attività in superficie implicano molti comandi da inviare lungo il cavo; se invece il canale è lento conviene allocare più attività sul sistema sottomarino, inviando solo pochi comandi di alto livello dalla superficie.
Tratteremo ora il sistema sottomarino e il sistema di comunicazione, mentre il sistema di superficie costituirà materia di un prossimo articolo.
Il sistema sottomarino viene generalmente realizzato utilizzando sistemi di elaborazione di tipo industriale, su schede singole raccolte su un "bus".
I tipi di processore più utilizzati sono i Motorola (68000 e Power PC), gli Intel (Pentium vari) ed i processori Sparc della SUN.
Le famiglie Motorola utilizzano in prevalenza il bus VME, mentre per gli Intel si usa una combinazione di ISA e PCI (come i PC da scrivania) o il più robusto ed affidabile Compact PCI.
Una certa preferenza viene data alla combinazione Motorola/VME, non tanto per ragioni di velocità di elaborazione, quanto per il fatto che tale sistema offre una maggior possibilità di collegamento dei vari dispositivi di ingresso/uscita, caratteristica molto apprezzabile quando si ha, come nel caso di un ROV, un gran numero di attuatori e sensori da controllare.
Qualunque sia l'architettura di elaborazione scelta, il sistema sarà comunque dotato di ingressi e uscite sia analogiche che digitali, di linee di comunicazione seriali e, quasi sicuramente, di una interfaccia di rete.
I programmi che si utilizzano nell'unità sottomarina, così come nelle altre unità di superficie, sono sviluppati direttamente dai costruttori del ROV: non esistono "pacchetti software" per il controllo di un robot sottomarino!
Questi programmi girano su sistemi operativi di tipo "real-time", quali Vx Works, Linx OS o Solaris.
Decisamente inadeguati sono invece sia Unix che Windows, in quanto entrambi mancano della dote principale del "real-time", cioè la capacità di reagire ad un evento esterno in un tempo ridotto e garantito: chiunque ha avuto occasione di sperimentare le momentanee "assenze" di Windows, momenti in cui il calcolatore si attarda per eseguire compiti non direttamente collegati ai comandi dell'utente e non dà risposta agli ingressi di mouse e tastiera.
Sarebbe sicuramente poco piacevole se uno di questi momenti di "assenza" si verificasse mentre il veicolo si sta dirigendo verso uno scoglio o peggio, mentre sta risalendo in prossimità delle eliche della nave appoggio!
Il sistema di superficie, molto spesso viene ulteriormente ripartito su più calcolatori.
Vedremo nel prossimo articolo i motivi e le modalità di questa divisione.
Alla luce della molteplicità di unità di elaborazione presenti nel sistema di controllo di un ROV, il sistema di comunicazione acquista un'importanza notevole.
Le varie unità di superficie sono connesse tra loro da una LAN (Local Area Network), normalmente Ethernet, e così quelle interne al veicolo.
Il collegamento tra le due reti è ovviamente legato al tipo di cavo utilizzato per la connessione.
Una prima distinzione si può fare tra collegamento seriale e collegamento LAN.
Nel primo caso sarà sufficiente una coppia di doppini in rame, su cui trasmettere un segnale seriale.
Tranne i casi più semplici di veicoli per basse profondità, il cavo avrà comunque una lunghezza minima di alcune centinaia di metri, per cui sarà necessario l'utilizzo di una coppia di modem in banda base.
Una restrizione legata al collegamento seriale è che questo si realizza tra una coppia di calcolatori, per cui bisognerà identificare i due elaboratori agli estremi del cavo responsabili delle comunicazioni e poi dotarli di programmi dedicati alla distribuzione dei dati trasmessi alle altre unità presenti in superficie o nel veicolo.
Nel caso invece si utilizzi una LAN, le comunicazioni possono diventare più "democratiche": le varie unità possono, se necessario, comunicare liberamente, stabilendo connessioni tra una qualsiasi unità di elaborazione di superficie ed una qualsiasi unità sottomarina.
Realizzare però una LAN attraverso il cavo richiede, nel caso di doppini in rame, l'aggiunta ai modem in banda base, comunque necessari, di una coppia di bridge/router che realizzino il trasporto dei pacchetti di rete attraverso il cavo, in maniera analoga alla connessione di due uffici di una stessa organizzazione attraverso una linea telefonica.
Le velocità ottenibili con questa soluzione sono al massimo di 2 MBps.
Volendo ottenere maggiori velocità sulla comunicazione, si rende necessario il passaggio alla fibra ottica.
In questo caso alla fibra ottica va collegata una coppia di multiplexer che realizza, dal punto di vista LAN, una connessione a 10 MBps, completamente compatibile con le tipiche connessione tra computer di ufficio o laboratorio.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
www.archeosub.it