MENU

L’interfaccia

Un modo per comunicare con il veicolo

Per modificare i parametri di controllo online, per visualizzare le variabili sensibili ed ottenere il minimo errore possibile, per registrare e visualizzare i punti da inseguire, ma soprattutto per far vedere il nome dei primi sponsor che hanno reso possibile questa parte del progetto. È stato deciso di realizzare una interfaccia grafica. È stato scelto il software Qt che fornisce le base della programmazione visuale per interfacce grafiche. Sono state implementate molte funzioni ed estese delle classi per raggiungere tutti i requisiti dell’interfaccia fino a raggiungere le 4000 righe di codice.


Per gestire una grande mole di dati è stato deciso di dividere le funzioni in 6 schede che svolgono la funzione di menu principale.


Sono stati implementati in totale 8 timer che vengono gestiti in un core fisico separato dal resto dell’interfaccia. Tre di questi timer consentono l’invio su seriale di quattro caratteri che sono stati definiti in modo da consentire l’invio di alcuni set di variabili come ad esempio la telemetria base, le variabili di controllo, e le variabili di offset.


Sono visibili le variabili che permettono la modifica della visualizzazione della mappa, gli offset e la loro modifica con delle slide bar. È possibile il salvataggio o il reset dei log generando il nome secondo le necessita del test. È stato inoltre implementato anche del codice per consentire un debug del firmware rapidamente anche questo generato con un timer. Infine sarà possibile il salvataggio nella EEPROM dei parametri di controllo, degli offset e dei punti da inseguire.


Nella terza pagina dell’interfaccia è visibile la mappa di google maps per la visualizzazione di alcune delle variabili di controllo durante la navigazione. Da questa pagina sarà possibile l’acquisizione delle coordinate di riferimento, la modifica con l’invio dei waypoint da raggiungere sia dalla mappa, sia dall’interfaccia, sia registrando dove si trova lo stesso veicolo. È inoltre stato implementato del codice per la verifica della connessione e la navigazione risultando di fatto un browser.


Nella quarta pagina visibile in figura sono presenti le costanti di controllo, le variabili per la generazione della rotta desiderata e le variabili per il controllo sul boma. Sono disponibili tutte le variabili per la visualizzazione atte a minimizzare l’errore di traiettoria. È stato deciso di visualizzare una figura dove sono presenti le andature ed i vari angoli di riferimento che possono essere modificati per ottimizzare il controllo. Tutte le variabili sono registrabili singolarmente premendo appositi pulsanti. Sono visualizzate in questa pagina anche le variabili registrate da Arduino uno con l’utilizzo dei timer provenienti dalla ricevente che potranno anche essere utilizzate per il controllo assistito modificando dal menu a tendina la variabile di auto pilotaggio all’interno del firmware. Sono stati inseriti anche dei parametri di controllo per ottenere l’inclinazione massima di rollio correggendo il boma e nel caso estremo modificando la rotta desiderata stringendo il vento e quindi limitando la forza applicata sulla vela.


Nella sesta e settima scheda sono visualizzati dei grafici real time per la visualizzazione delle variabili della generazione della traiettoria che potranno essere scelte indipendentemente dal resto delle visualizzazioni e dello stato delle variabili di controllo spuntando le caselle di riferimento. Questi grafici potranno essere zommati con la rotellina del il mouse e potranno essere visualizzate anche le prime registrazioni delle variabili spuntando “muovi grafico” che consentirà anche la navigazione all’interno del plot trascinandolo con il tasto sinistro del mouse. Durante l’invio e la ricezione delle variabili di telemetria potranno essere modificati il numero di punti visualizzati e quindi potrà essere modificata la velocità di avanzamento del grafico modificando il valore nella casella in alto a sinistra. Questi grafici sono eseguiti da un core fisico separato e non influiscono ne sulle prestazioni della macchina ne sulla generazione dell’invio della richiesta delle variabili da monitorare. Per concludere sono stati testati per più di 4 ore di funzionamento senza arrecare rallentamenti o la saturazione della cache di qualche tred.


Analogamente a quanto detto prima anche sulla settima scheda dell’interfaccia sarà possibile la navigazione con il mouse che è abilitata di default. Sara possibile abilitare la dissolvenza della traiettoria e cliccando sul pulsante “Genera Rif” saranno stampate le variabili che corrispondono ai punti da inseguire come pallini rossi della dimensione della variabile RaggioGPS che consente il cambio dei riferimenti con quelli successivi. In questo grafico è possibile abilitare l’autoZomm e rimanere centrati rispetto alla navigazione. Questo grafico fornisce una visualizzazione più pulita della mappa su google maps ed anche se non sono presenti riferimenti visibili del territorio sarà più facile visualizzare le rotte desiderate e reali in modo da consentire anche la visualizzazione grafica dell’errore che è indispensabile per la modifica dei parametri di controllo per il miglioramento dell’inseguimento della traiettoria.


L’implementazione di questa interfaccia ha consentito l’acquisizione delle basi della programmazione in finestre che potranno essere utilizzate per la creazione di future interfacce in ambito lavorativo e personale garantendo sicuramente un valore aggiunto alla propria formazione.


Nelle immagini è nascosto un MaxTetaPuppa perché almeno un puppa ci doveva essere!