• Non ci sono risultati.

PROGETTAZIONE E REALIZZAZIONE DEI SISTEMI DI CONTROLLO E GESTIONE WIRELESS DI UN VECIOLO TERRESTRE AUTONOMO

N/A
N/A
Protected

Academic year: 2021

Condividi "PROGETTAZIONE E REALIZZAZIONE DEI SISTEMI DI CONTROLLO E GESTIONE WIRELESS DI UN VECIOLO TERRESTRE AUTONOMO"

Copied!
6
0
0

Testo completo

(1)

Candidato:Fabio Greco

Tesi: Progettazione e realizzazione dei sistemi di controllo e gestione wireless per

un veicolo autonomo terrestre

Lo scopo del lavoro è stato quello di realizzare un sistema di comando e supervisione wireless di un veicolo autonomo terrestre tramite Pocket PC. Inoltre si è proceduto alla realizzazione di un simulatore che riproducesse il più fedelmente possibile il comportamento del veicolo, ed allo studio di alcuni semplici controlli di posizione e traiettoria (una guida proporzionale, ed un controllo per l’inseguimento di una retta), poi sperimentati sul veicolo.

La piattaforma sperimentale sul quale è stato compiuto tutto il lavoro, prima di modellizzazione e poi di sperimentazione, è un veicolo per il trasporto di persone ed attrezzature in campi da golf, ceduto dalla ditta Golf Accessory Producer s.r.l al Dipartimento di Sistemi Elettrici ed Automazione dell’Università di Pisa. Il kart, commercializzato sotto il nome di GapDolly, è un veicolo a tre ruote con trazione posteriore, alimentato da due comuni batterie da auto da 12V. Originariamente esso era dotato di manubrio con acceleratore a manetta e sterzo comandato manualmente.

Il kart GapDolly

Negli anni il kart è stato modificato al fine di renderlo una piattaforma ideale per lo sviluppo e la sperimentazione di controlli (ad esempio di traiettoria o di posizione). In particolare:

• è stato eliminato il manubrio ed al suo posto è stato montato un motore per l’attuazione dello sterzo;

• sono stati aggiunti due sensori, un encoder incrementale ed un encoder assoluto, rispettivamente utilizzati per il rilevamento della velocità angolare della ruota anteriore del kart e dell’angolo di sterzata;

(2)

• sono state progettate e realizzate delle schede elettroniche per il controllo e l’interfacciamento dei sensori e dei motori con un calcolatore alloggiato a bordo del veicolo;

• è stato installato un dispositivo GPS per il rilevamento di informazioni come posizione e velocità rispetto ad un sistema di riferimento assoluto terrestre quale quello GPS;

• sono state montate due webcam sull’anteriore del veicolo in modo da poter sperimentare algoritmi di “obstacle avoidance” tramite visione stereo.

Il calcolatore di controllo utilizzato a bordo del veicolo è un comune Notebook con installato Window XP. Il notebook comunica con l’elettronica di controllo a bordo del veicolo tramite seriale. L’elettronica di comunicazione realizzata scrive sulla seriale, con una frequenza di 10 Hz, i dati provenienti dagli encoder. La comunicazione tra notebook e kart è stata realizzata tramite una S-Function Simulink che, tramite letture bloccanti sulla seriale, permette la sincronizzazione tra la simulazione Simulink ed elettronica del veicolo. La S-Function riceve in ingresso i valori di riferimento di angolo di sterzata e di coppia per il motore di trazione. Tali riferimenti vengono comunicati al veicolo, che tramite l’elettronica di controllo comanda i motori. Anche per la ricezione dei segnali del GPS è stata precedentemente sviluppata una S-Function che acquisisce tramite seriale tali dati.

La scelta di simulink come software di interfacciamento con il kart, ha permesso uno sviluppo molto più agevole delle tecniche di controllo.

Il lavoro si è sviluppato come segue:

1) per prima cosa è stato progettato e sviluppato il software di gestione del veicolo su Pocket PC. In questa fase si è tenuto di conto di tutti i possibili utilizzi per cui il software poteva essere adibito; si è dunque prestato molta attenzione allo sviluppo di codice ben strutturato in modo da rendere semplici eventuali modifiche. In questa fase è stato anche sviluppato il software di invio (lato kart) e di ricezione (lato Pocket PC) dello streaming video acquisito dalle webcam a bordo del veicolo;

2) successivamente è stato sviluppato un simulatore del veicolo, al fine di avere un modello, il più vicino possibile (in termini di comportamento) al sistema reale. Nella costruzione del simulatore sono stati utilizzati dei modelli per la dinamica degli attuatori di trazione e di sterzo che erano già stati sviluppati in lavori precedenti, dei modelli per la riproduzione del comportamento dei sensori, ed un modello della cinematica del veicolo. Inoltre è stato parzialmente modificato e riadattato al simulatore un filtro di Kalman, anch’esso già

(3)

sviluppato in precedenza, che, integrando i dati provenienti dai vari sensori, permettesse una stima più accurata della posizione e delle velocità del veicolo.

3) nella terza fase si è proceduto alla sintesi di due tecniche di controllo del veicolo (guida proporzionale e inseguimento di traiettoria rettilinea), alla loro implementazione ed alla esecuzione di molteplici simulazioni al fine di verificare l’effettiva efficacia dei controlli. Si è anche progettato un sistema di controllo a più alto livello che permettesse lo switching dei differenti metodi di controllo.

4) In seguito è stato progettato ed implementato un protocollo di comunicazione tra Pocket PC e veicolo, con particolare attenzione alla verifica della correttezza delle informazioni ed alla salvaguardia del veicolo in caso di avaria del sistema di comunicazione.

5) In ultima istanza sono state realizzate varie sperimentazioni in campo aperto, per verificare il funzionamento di tutto il software sviluppato (sia di controllo, relativamente al veicolo, sia di gestione e supervisione, relativamente al Pocket PC).

Di seguito andiamo ad approfondire il lavoro svolto con riferimento ai cinque punti appena elencati. 1. Realizzazione del software sul Pocket PC

Il Software realizzato su pocket PC permette la supervisione ed il comando remoto del veicolo. Premettiamo che il Palmare utilizzato è dotato di un ricevitore GPS integrato. Il software è strutturato con una Main Window contenente cinque Tabs. Ogni tab adempie a funzioni diverse:

1) Il primo tab permette la visualizzazione dei dati GPS rilevati dal ricevitore integrato nel Pocket PC, e la visualizzazione di uno status monitor in cui vengono visualizzate tutte le informazioni relative alle operazioni che si compiono (comandi inviati al veicolo, attivazione o disattivazione di particolari settaggi, etc…)

2) Nel secondo vengono visualizzate le informazioni inviate dal veicolo al palmare (quindi latitudine, longitudine, quota, velocità), oltre che allo streaming video proveniente da una delle due webcam a bordo del veicolo

3) Il terzo tab è adibito al comando del veicolo. I comandi che possono essere dati al veicolo sono:

guida manuale: si spediscono periodicamente le informazioni di velocità ed angolo di sterzo; è stato realizzato un Joystick grafico che permette facilmente all’utente di guidare il veicolo

guida proporzionale: si spediscono informazioni circa un punto che si desidera far raggiungere al veicolo

(4)

due tipologie di guide waypoint (una realizzata con la guida proporzionale, una realizzata con il controllo di traiettoria): si spediscono le informazioni circa una lista ordinata di waypoint che vogliamo il veicolo raggiunga. guida tramite dati GPS del palmare; in particolare si tratta di due tipologie di

comando: una detta Come Here (il palmare spedisce al kart la sua posizione in termini di latitudine e longitudine ed il kart raggiunge tale punto) l’altra detta Follow Me (in cui il palmare tramite un timer spedisce con una frequenza prestabilita le informazioni circa la sua posizione ed il kart si appresta a seguirlo)

4) In questo tab è possibile visualizzare graficamente la posizione e l’orientamento del veicolo su una mappa pre-caricata del luogo nel quale si sta operando (le mappe sono state prese da Google Earth). La posizione è riferita ad un sistema piano cartesiano con coordinate in metri. E’ anche possibile visualizzare sulla mappa la traiettoria compiuta dal veicolo. Una funzione molto importante che è stata sviluppata è quella di poter inserire graficamente sulla mappa i waypoint che si desidera far raggiungere al kart.

5) L’ultimo tab è quello dei settings e sono impostabili tramite esso tutti i parametri del software: dal funzionamento del sistema di comunicazione, all’abilitazione/disabilitazione della ricezione e dell’invio dei pacchetti, al caricamento delle mappe, etc…

Precisiamo che la comunicazione tra palmare ed elaboratore di controllo a bordo del kart avviene tramite una rete Ethernet Wifi con protocollo di trasporto UDP/IP.

2. Sviluppo del simulatore

Per lo sviluppo del simulatore sono stati riorganizzati e riutilizzati, tramite Simulink, dei modelli già sviluppati in diversi altri lavori precedenti. In particolare sono stati utilizzati i modelli della dinamica dell’attuatore di sterzo e dell’attuatore di trazione. Alcuni dei modelli sono stati validati verificando che il loro comportamento corrispondesse a quello reale degli attuatori. Il controllo di posizione dello sterzo era già realizzato a livello di microcontrollore hardware (e quindi già modellizzato) mentre per il controllo di velocità del motore di trazione è stato utilizzato un semplice PID anch’esso già sviluppato. Sono stati inoltre riutilizzati e parzialmente modificati dei modelli che potessero riprodurre il comportamento dei sensori (encoder e GPS). Il modello cinematico utilizzato per la modellizzazione del veicolo è quello di un biciclo.

(5)

Una volta ottenuto un macro-sistema comprendente tutti questi modelli si è proceduto alla introduzione di un filtro di Kalman che permettesse una stima più accurata della posizione del veicolo integrando le informazioni provenienti dai diversi sensori. Anche il filtro era già stato sintetizzato in un precedente progetto. In questo caso l’algoritmo del filtro era stato implementato tramite una S-Function in linguaggio Matlab. Il lavoro svolto è consistito nella traduzione del codice in blocchi Simulink (questo ha permesso un notevole miglioramento delle prestazioni), nell’introduzione di un sistema di inizializzazione dello stato del filtro, ed in nuovo tuning dei parametri del filtro atto a migliorarne le prestazioni. Inoltre sono state affrontate le problematiche di trasformazione delle coordinate geografiche (Latitudine e Longitudine) provenienti dal GPS in coordinate lineari in metri riferite ad un sistema di riferimento locale arbitrario con assi rivolti rispettivamente ad Est e Nord. Lo studio della questione ha portato alla scrittura di una S-Function “C” che permettesse tale trasformazione. La necessità di riferirsi ad un sistema cartesiano piano in metri è stata dettata sia dalla necessità di interfacciamento con i vari moduli che erano già stati realizzati, sia dal fatto che l’utilizzo di un sistema di riferimento cartesiano bidimensionale sembrava estremamente più vantaggioso ai fini dello sviluppo dei controlli.

3. Sviluppo dei controlli

Una volta sviluppato il simulatore sono stati progettati due semplici controlli:

• Guida proporzionale: si dà come riferimento allo sterzo un comando proporzionale all’angolo di vista cioè l’angolo dato dalla differenza tra l’angolo di heading del veicolo e l’angolo sotteso tra la retta congiungente il kart con il target e l’asse delle ascisse.

• Inseguitore di traiettoria rettilinea: sulla base del modello del biciclo si è studiato un controllo non lineare alla Lyapunov per l’inseguimento di una retta generica.

I due controlli sono stati utilizzati per implementare anche la guida waypoint. E’ stata creata una apposita S-Function che una volta ricevuta la lista dei waypoint, fornisce in uscita le coordinate del primo waypoint. La funzione è dotata di un ingresso sul quale le viene fornita l’informazione circa la distanza del veicolo dal Waypoint. Una volta che tale distanza risulta inferiore ad una certa soglia la funzione restituisce in uscita le coordinate del waypoint successivo. Raggiunto l’ultimo waypoint il veicolo viene arrestato. Oltre a questi controlli è stato realizzato un controllo di più alto livello che, interpretando i comandi giunti da Pocket PC, permette lo switching dei vari sistemi di controllo.

(6)

4. Protocollo di comunicazione

Al fine di permettere al kart di interpretare i comandi provenienti dal Pocket PC, è stato realizzato un protocollo di comunicazione. Innanzi tutto il protocollo è implementato su rete Wireless Ethernet utilizzando il protocollo di trasporto UDP.

La comunicazione tra palmare e Kart avviene tramite pacchetti di dimensione fissa. Ogni pacchetto è costituito da una parte di informazione comuni a tutti i pacchetti (numero di pacchetto, codice di comando) e da una parte che varia in funzione del tipo di comando che l’utente invia (nella guida manuale ad esempio vengono inviati i riferimenti di angolo di sterzo e velocità, nella guida proporzionale vengono invece inviati i dati di latitudine e longitudine del punto target).

Il lavoro più complesso è stato quello di sviluppare un protocollo che permettesse l’invio della lista dei waypoint e l’invio di eventuali modifiche a tale lista (eliminazioni, inserimenti o modifiche dei waypoint in lista) anche con veicolo in movimento.

E’ stato infine progettato un sistema che permette al veicolo di rilevare la perdita di comunicazione con il Pocket PC e di fermarsi in caso di avaria di tale sistema. Il sistema è stato predisposto per la semplice realizzazione di politiche di gestione delle avarie del sistema di comunicazione ad alto livello. Sarebbe ad esempio possibile con poche modifiche alla struttura del modello Simulink, far in modo che in caso di perdita di comunicazione il veicolo proceda verso l’ultima posizione, a lui nota, del Pocket PC.

5. Sperimentazione

Una volta verificato il corretto funzionamento del sistema sul simulatore, il macro-blocco contenente il modello cinematico del kart ed i modelli dei sensori, è stato sostituito con un macro-blocco comprendente tutte le S-Function di interfacciamento con i dispositivi fisici (i due blocchi sono stati organizzati in modo tale da avere stessi ingressi e stesse uscite ed essere dunque intercambiabili).

Sono state inizialmente fatte delle prove parziali su banco (parziali perché ad esempio, con il kart sollevato da terra, non era a disposizione l’informazione sulla velocità della ruota anteriore). Successivamente sono state eseguite delle prove di Guida Waypoint, e Guida con i dati GPS del Pocket PC, presso il campo sportivo del CONI di Pisa. Il veicolo ha raggiunto i waypoint piazzati sul campo manualmente (e quindi probabilmente anche loro stessi affetti da errore di posizionamento) con une errore piuttosto contenuto.

Il lavoro è terminato con l’analisi dei dati sperimentali e il confronto tra dati sperimentali e dati provenienti dalle simulazioni.

Riferimenti

Documenti correlati

Ultimamente invece, grazie soprattutto allo sviluppo dell'elettronica e dei calcolatori elettronici che ha permesso di disporre di dispositivi molto efficienti a basso costo,

Received: 09 December 2015 Accepted: 14 December 2015 Published: 19 January 2016 Citation: Lattanzi W and Geloso MC (2016) Editorial: Crosstalk between the Osteogenic and

Corigliano, Via Roma, strada-corridoio con le case di altezza contenuta sorte sui due lati della «gola» rilevata dal Saint-Non, tagliata dal ponte-acquedotto, (foto collezione

In seguito alla descrizione dell'oggetto -i numeri-, lo strumento -l'allegoria-.. "Questi commentari vanno quasi tutti del pari, ed hanno un comun difetto fra di loro; mentre

Per la sezione elettrochimica, è stato utilizzato un modello semplificato presente in letteratura, ed opportunamente adottato al sistema RCU-4500 modificando i

Italia e Francia producono oltre un terzo del vino mondiale, ma attraversano una fase di evidente difficoltà e nonostante la crescita di nuovi Paesi produttori, che negli

nostro gruppo di ricerca ha sviluppato un sem- plice sistema nel quale un macrociclo transita unidirezionalmente lungo un asse molecolare in modo ripetitivo usando la luce come unica

La fatica attiva è correlata al sovraccarico: guida con alta densità di traffico, scarsa visibilità o la richiesta di eseguire un compito secondario alla guida