Sigma Ingegneria

I giovani ingegneri in Sigma? Da 110 e lode!

Due nuove tesi sperimentali su progetti Sigma

Sistemi di guida autonoma, rover industriali e droni multirotore equipaggiati con sensoristica per collision avoidance in grado di esplorare ambienti non noti: questi sono solo alcuni degli ambiti applicativi che hanno interessato il percorso delle due giovani tesiste del Corso di Laurea Magistrale in Ingegneria Robotica e dell’Automazione del Dipartimento di Ingegneria dell’Informazione dell’Università di Pisa, concluso con il massimo dei voti.

Elisabetta e Benedetta, giovani neo-laureate

Da una parte la realizzazione di un drone multirotore, la nuova versione dell’esacottero Efesto precedentemente progettato e sviluppato, dotato di un sistema di obstacle sensing e collision avoidance, che lo rende in grado di esplorare ambienti non noti a priori, seguendo in autonomia una missione preimpostata. Dall’altra, lo sviluppo di un sistema di guida e navigazione autonoma del rover sviluppato nell’ambito del progetto BMIFOCUS della Regione Toscana, con possibili applicazioni che prevedono ispezione, trasporto o manutenzione industriale, sia indoor che outdoor, e quindi potenziali interazioni con operatori e veicoli manned (equipaggiato con pilota) o Unmanned.

Oggi le due giovani studentesse neo-laureate magistrali in Ingegneria Robotica e dell’Automazione, Elisabetta Papallo e Benedetta Tarmati, sono state integrate nell’organico dell’azienda e si occupano, insieme agli altri ingegneri, di tutte le attività progettuali nell’ambito della robotica e dell’automazione.

Sicurezza in volo e performance operative: il drone multirotore con sistema di obstacle sensing e collision avoidance

Il drone sviluppato nell'ambito del percorso di tesi

La prima tesi (Sviluppo di un drone multirotore con sistema di obstacle sensing e collision avoidance – Elisabetta Papallo, Dipartimento di Ingegneria dell’Informazione, Università di Pisa) analizza la sensoristica utilizzata oggi nel campo della guida autonoma, e l’utilizzo di un particolare sensore per l’identificazione degli ostacoli. Tutto il lavoro di stesura si è basato su una iniziale analisi delle tecnologie esistenti dedicate all’implementazione di algoritmi anticollisione, alla fine del quale sono state individuate come soluzioni una stereo-camera per la detection, ovvero il rilevamento degli ostacoli ed una Companion Board dedicata all’elaborazione dei dati raccolti dal sensore stesso.

L’installazione del sensore (stereo-camera) e della Companion Board sul nuovo drone è stata realizzata grazie ad alcuni supporti disegnati ad hoc e stampati in 3D in Onyx, un materiale composito di nylon e fibre di carbonio corte, che conferisce ai componenti una maggiore resistenza e una superficie finita nera opaca.

Sviluppo

Oltre all’hardware individuato, l’ambiente scelto per lo sviluppo dell’applicazione è il framework ROS e l’algoritmo sviluppato per la detection degli ostacoli si basa sull’analisi della cosiddetta “nuvola di punti” ottenuta dalla stereo-camera, dalla quale vengono estratte tutte le informazioni sulle dimensioni degli oggetti presenti nell’ambiente di lavoro in cui opera il drone e le loro distanze da esso. Questa nuvola di punti (point cloud) viene quindi elaborata e filtrata grazie alla Libreria PCL (Point Cloud Library), che permette di processare un insieme di punti dello spazio con l’obiettivo di utilizzare le informazioni ottenute dall’elaborazione per vari scopi. Al termine di tali calcoli, viene estratto un set di nuvole di punti, relative ai singoli ostacoli, utilizzate successivamente per modificare la traiettoria del velivolo.

In seguito alla detection degli ostacoli è stato sviluppato anche l’algoritmo di avoidance ovvero quel sistema che, in caso di ostacolo presente sulla traiettoria, interviene modificando la missione del drone, evitando la collisione e facendo proseguire il volo in sicurezza. L’intero algoritmo si basa sullo studio di un corridoio virtuale di sicurezza, all’interno del quale il drone si deve muovere, e in cui non devono essere presenti ostacoli.Una volta che la Companion board, elaborando i dati della nuvola di punti, identifica un ostacolo in questo corridoio virtuale, vengono calcolate le coordinate di un punto ausiliario necessario all’avoidance che, convertite in coordinate GPS, vengono comunicate alla Flight controller board del drone.

Simulazione e test

Per una verifica funzionale del sistema, prima di effettuare le prove in volo, è stata inoltre realizzata una simulazione Matlab: una rappresentazione 2D dello scenario di lavoro nella quale una griglia di occupazione binaria rappresenta la mappa in cui il drone, visto come un punto materiale, si muove. Per raccogliere le informazioni sulle dimensioni degli ostacoli nella mappa è stato utilizzato un tool che permette di simulare un sensore di distanza grazie al quale è stato possibile implementare la strategia di avoidance. Ciò ha permesso di riprodurre l’elaborazione che nella realtà è effettuata con l’elaborazione della PointCloud ottenuta dalla stereo-camera.

Tutti i test effettuati in campo con il drone multirotore hanno evidenziato un successo della strategia implementata consentendo l’avoidance degli ostacoli percepiti dalla telecamera in tempo reale.

Guida e navigazione autonoma in ambito industriale: il rover in grado di pianificare la sua traiettoria in base agli ostacoli

Il rover sviluppato in Sigma

La seconda tesi (Sviluppo ed integrazione di un sistema di guida e navigazione autonoma per un rover industriale con pianificazione selettiva per persone e veicoli – Benedetta Tarmati, Dipartimento di Ingegneria dell’Informazione, Università di Pisa) si basa invece sullo studio di un sistema di guida e navigazione autonoma di un rover industriale con applicazioni pratiche quali ispezione, trasporto o manutenzione in ambito industriale, e interazioni con operatori e veicoli.

Sviluppo

Questo studio ha inizialmente previsto la definizione dell’architettura hardware del sistema, da integrare a bordo del veicolo, per consentire la comunicazione fra i dispositivi, quali un PC industriale (utilizzato per l’elaborazione degli algoritmi di guida e navigazione) e due schede dedicate alla gestione delle stereo-camere installate.

Tutti i dati raccolti dai sensori presenti a bordo, (LiDAR, stereo-camere, encoder e unità inerziale con GPS), sono stati acquisiti ed elaborati con il framework ROS (Robot Operating System). Particolare attenzione è stata rivolta alla ricezione dei dati provenienti dagli encoder: in questo modo sono stati acquisiti ed elaborati i dati angolari del rover, soprattutto relativi a sterzata e propulsione, ottenendo una stima dello spostamento compiuto dal veicolo. Sono stati testati poi gli algoritmi di mapping e localizzazione realizzati sfruttando le librerie di navigazione messe a disposizione da ROS, con lo scopo di acquisire la mappa all’interno della quale il robot si muove. È stata quindi individuata la strategia più adatta per la pianificazione della traiettoria in modo che il rover fosse in grado di individuare ed evitare gli ostacoli rilevati, sia in fase di mapping che in tempo reale grazie al sensore Lidar.  

Inoltre, per ottenere una pianificazione selettiva, che potesse diversificare il comportamento del Rover in relazione alla tipologia di ostacolo rilevato, sono stati sfruttati gli algoritmi AI di riconoscimento già integrati nelle stereo-camere. Lo sviluppo di una pianificazione selettiva, ha permesso inoltre di diversificare la distanza di sicurezza da mantenere, a seconda della tipologia di ostacolo riconosciuto, e quindi di evitare scontri soprattutto nel caso di veicoli e persone in movimento. Il sistema di pianificazione è stato inoltre ottimizzato grazie alla stima delle velocità (eseguita dal sensore di visione) delle persone e dei veicoli presenti sulla traiettoria del rover.

Test finali

I test finali hanno infine permesso di testare la bontà delle strategie di avoidance selettive per evitare ostacoli, persone e veicoli, sia statici che dinamici, rispettando le specifiche di distanza richieste, quindi senza interferire con il loro percorso, garantendo lo svolgimento di missioni aventi impatto su produttività e sicurezza.