October 25, 2013

Telemetria

Explorer plotter processing

Con lo sviluppo del nuovo robot si rese necessario riprogettare il sistema di telemetria di Ottobot, durante la progettazione si tenne conto dei vari elementi di controllo e la necessità di poter controllare e modificare i vari parametri del robot. Si iniziò quindi a delineare il disegno del nuovo programma “Plotter” che iniziava a garantire le prime specifiche di controllo (nella figura affianco).

Si iniziò ad implementare una prima versione di simulatore che permetteva di pilotare il robot disegnato nel programma e testare le leggi di controllo, ma la difficoltà di implementare nuovi comandi come quella di dover riprogettare le schermate di controllo comportò una nuova riprogettazione del sistema complessivo.

Dall’esperienza acquisita nella realizzazione dei software precedenti si iniziò a progettare una nuova IDE (Integrated Development Environment) capace di garantire la facilità negli aggiornamenti dal punto di realizzativo e con la capacità di integrare un sistema di simulazione di robot mobili generando quindi ostacoli virtuali e permettere a robot virtuali e reali di poter evitarli, simulando così leggi di controllo avanzate.

L’IDE di sviluppo è costituita da elementi mobili, nella figura successiva, quali la mappa dinamica dei robot ed un grafico istantaneo per valutare visivamente delle variabili della piattaforma mobile, il programma permette di poter avere più informazioni in contemporanea dal robot e poter salvare i dati ricevuti o simulati dal programma in un formato che sia leggibile da altri programmi quali ad esempio “Matlab” dando quindi la possibilità all’utilizzatore di poter sviluppare e valutare le leggi di controllo su software di calcolo computazionale più precisi.

Explorer robots

Nella IDE si possono simulare in contemporanea più robot mobili ed è possibile inserire in maniera dinamica più ostacoli per poter costruire un ambiente di simulazione utile per gli studi. Sulla sinistra della schermata è possibile visionare tutti i robot presenti ed è possibile impostare in tempo reale i metodi di comunicazione del robot con l’esterno. Questo permette di poter simulare il comportamento del robot e quando necessario iniziare a ricevere i dati dal robot reale senza cambiare programma.

É possibile pilotare manualmente il robot per poter verificare il corretto funzionamento del robot e nella mappa principale del programma è possibile impostare una direzione di moto da far raggiungere al robot, potendo vedere in contemporanea il percorso dal robot eseguito.

La IDE di sviluppo è sviluppata anche in maniera tale da garantire uno sviluppo graduale delle sue parti, senza intaccare il resto del codice presente. Questa scelta è divenuta di grande utilità, vista la facilità di sviluppare nuovi sistemi di controllo o nuove componenti per la piattaforma mobile. Si è tenuto conto anche della possibilità di pilotare più robot con diversi protocolli di comunicazione oltre quello ZigBee trattato precedentemente. Infatti è possibile poter comunicare con altri robot anche con protocolli di rete WI-FI o direttamente andando ad usare la porta seriale.

ROBOT BUILDER

É stato sviluppato in dettaglio un sistema di costruzione del robot, all’interno del programma di sviluppo dando quindi la possibilità all’utilizzatore di poter configurare in poco tempo i parametri necessari per farlo funzionare. Nella schermata, nella figura successiva, si possono vedere le varie componenti disponibili nella “palette” ed i componenti che un robot nell’esempio è dotato.

Explorer robot information

Si possono integrare molti componenti, da componenti meccaniche o di controllo, quali:

  • Struttura del robot;
  • Ruote;
  • PID;
  • Controlli di alto livello;
  • Sistemi di guida manuale;
  • Sensori infrarossi, ultrasuoni, etc etc;
  • Variabili aggiuntive di controllo.

Una volta ultimata la “costruzione” del progetto, questo viene automaticamente salvato in una cartella dove al suo interno sono contenute tutte le varie configurazioni del robot e tutte gli archivi di dati salvati durante le varie simulazioni.

É sempre possibile aggiornare il progetto del robot in ogni suo momento e configurare con facilità i vari parametri del robot, come è possibile vedere nella schermata successiva relativa ai vari parametri di gestione.

Explorer robot builder

IL SIMULATORE

La IDE ha al suo interno un sistema di simulazione che garantisce una simulazione dei vari componenti presenti e simula il comportamento dei sensori in presenza di ostacoli, una libreria di gestione di poligoni restituisce il valore generato dai sensori virtuali ed invia il valore letto al robot relativo, quale che sia virtuale o reale.

Com’è possibile vedere dall’ultima schermata sono stati simulati più di un robot ed alcuni di essi hanno riconosciuto l’ostacolo (il cubo nero) presente in traiettoria, garantendo quindi la possibilità di far adottare strategie di controllo tali da evitare l’ostacolo e come verranno trattate nel capitolo successivo.

Explorer telemetria ostacoli

IL CODICE

Il codice del framework di controllo del robot è disponibile su Github al seguente indirizzo:

https://github.com/rbonghi/RBFramework.git

ed i file di esempio:

https://github.com/rbonghi/World-RBFramework.git

Copyright © 2013. All Rights Reserved.

Leave a Reply