Nel contesto della robotica mobile e della guida autonoma, i sensori svolgono un ruolo cruciale nella percezione dell'ambiente circostante. Ogni componente del sistema sensoriale contribuisce a un aspetto specifico della sicurezza e dell'affidabilità del veicolo. I lidar, i radar e le telecamere sono integrati in un sistema complesso che offre una visione più completa e precisa di ciò che accade intorno al veicolo.

Un esempio di questa integrazione è il lidar ibeo LUX 4L, che viene montato sul paraurti anteriore del veicolo. Questo lidar, grazie alla modalità a quattro strati, offre un angolo di visione orizzontale di 85 gradi, e la sua portata arriva fino a 200 metri. Quando il lidar è combinato con un radar Continental ARS 308, si crea un sistema di sicurezza che offre vantaggi significativi. Sebbene il radar fornisca una precisione angolare inferiore rispetto al lidar, è in grado di rilevare oggetti in movimento grazie all'effetto Doppler e presenta una maggiore resistenza alle condizioni climatiche avverse. In alcuni casi, i radar sono persino in grado di rilevare oggetti nascosti dietro ostacoli utilizzando i riflessi, il che aumenta notevolmente l'affidabilità in situazioni complesse. La ricerca attuale sta puntando sempre più sull'evoluzione del radar 4D, che include anche informazioni sull'altezza degli oggetti, ampliando ulteriormente le capacità di rilevamento.

Accanto a questi sensori, un laser rangefinder SICK LMS100-10000 è montato sul lato del paraurti anteriore. Questo lidar a 2D, con un angolo di visione di 270 gradi, fornisce informazioni sullo stato della strada, comprese le linee di demarcazione e i confini. La combinazione tra i lidar ibeo e SICK è una delle soluzioni più consigliate nell'industria per ottenere una comprensione dettagliata sia degli oggetti in movimento che della geometria statica della strada.

A supporto di questi sistemi, un ricevitore GNSS Magellan ProFlex 500 è montato all'interno del veicolo e, con due antenne sul tetto, fornisce informazioni di localizzazione di alta precisione. Una delle antenne è orientata lungo l'asse z del veicolo, per una ricezione ottimale del segnale satellitare, mentre l'altra è posizionata per la sincronizzazione con una stazione base RTK (Real-Time Kinematic), che migliora la precisione della localizzazione da livello metrico a livello centimetrico.

Il sistema di navigazione è completato da un'unità di misurazione inerziale (IMU), che misura accelerazioni lineari, velocità angolari e orientamento assoluto del veicolo. Gli IMU sono fondamentali quando si lavora in combinazione con i ricevitori GNSS per fornire un tracciamento continuo e preciso anche in ambienti complessi o con segnale satellitare limitato.

Un altro aspetto fondamentale della percezione autonoma è la fusione dei dati. I dati provenienti dai lidar, radar e telecamere vengono raccolti e elaborati in tempo reale da un'unità di controllo dedicata, che interagisce con la rete CAN (Controller Area Network) del veicolo per gestire in modo dinamico il controllo della sterzata, accelerazione e frenata. I due lidar Velodyne, tramite Ethernet, e il sistema GNSS/IMU, tramite USB, sono collegati a un'unità di calcolo integrata che esegue funzioni core della guida autonoma, come SLAM (Simultaneous Localization and Mapping), fusione dei dati sensoriali, e pianificazione del percorso.

La sincronia tra i vari sensori è garantita grazie all'uso di un'architettura basata su ROS (Robot Operating System). Ogni sensore è associato a un driver ROS specifico e i dati vengono acquisiti e sincronizzati tramite i timestamp di ROS. In questo modo, i dati vengono acquisiti in tempo reale senza ritardi, mentre l'elaborazione post-acquisizione avviene offline, per garantire la massima precisione nella gestione del flusso di informazioni. I dati acquisiti vengono poi immagazzinati nel formato rosbag, facilmente riproducibile per la verifica e l'analisi.

Per quanto riguarda la calibrazione dei sensori, tutti i lidar e le telecamere sono calibrati intrinsecamente e i file di calibrazione sono inclusi nel dataset per garantire che i dati acquisiti siano corretti. La calibrazione extrinseca tra i sensori, come i lidar e le telecamere stereoscopiche, avviene mediante l'allineamento manuale dei dati di punto cloud raccolti in un ambiente strutturato, minimizzando la distanza tra i voxel delle nuvole di punti provenienti dai diversi sensori.

Un altro aspetto interessante riguarda il confronto tra diversi dataset utilizzati nella ricerca sulla guida autonoma. Il dataset KITTI, uno dei più noti nel settore, fornisce immagini stereoscopiche, nuvole di punti lidar 3D e coordinate GPS del veicolo. Questo dataset è apprezzato per la qualità delle annotazioni manuali e per la sua capacità di supportare vari benchmark, come la rilevazione e il tracciamento degli oggetti, la segmentazione semantica e la rilevazione di corsie e strade. Tuttavia, presenta delle limitazioni, come la sincronizzazione delle immagini con la nuvola di punti lidar, che può non riflettere con precisione le proprietà geometriche reali, e la scarsità di scenari complessi che rispecchiano le condizioni di guida in tempo reale.

Infine, è importante sottolineare che, per costruire un sistema autonomo affidabile, non basta semplicemente raccogliere dati. È essenziale garantire che la qualità dei dati sia elevata, che la calibrazione tra i sensori sia precisa e che la fusione dei dati venga effettuata in modo efficace. Solo con un approccio così integrato e accurato si potrà ottenere una guida autonoma sicura ed efficiente.

Come i dati sui veicoli autonomi stanno plasmando il futuro della robotica mobile

I dataset dedicati ai veicoli autonomi sono fondamentali per l'evoluzione della robotica mobile e, più in generale, dell'intelligenza artificiale applicata alla guida autonoma. Questi dataset, che racchiudono informazioni raccolte da vari sensori montati su veicoli autonomi, non solo offrono una visione precisa dell'ambiente di guida, ma sono anche essenziali per l'addestramento e la validazione dei modelli di machine learning.

Il dataset KITTI, lanciato nel 2012, è uno dei più noti e utilizzati per la visione artificiale legata alla guida autonoma. Esso fornisce una vasta gamma di dati, tra cui informazioni provenienti da lidar, telecamere monoculari e GPS-IMU, e rappresenta un punto di riferimento per i ricercatori. Tuttavia, sebbene KITTI sia una risorsa preziosa, non copre tutte le complessità del compito della guida autonoma. Il dataset si concentra principalmente su scene urbane, e le sue annotazioni, come quelle riguardanti i veicoli e i pedoni, sono derivate da proiezioni 2D delle immagini, il che può limitare la sua applicabilità in scenari più complessi.

Un altro esempio significativo è il dataset Waymo, lanciato nel 2019. Questo dataset è stato sviluppato con risorse industriali sostanziali e rappresenta un passo in avanti rispetto a KITTI, in quanto raccoglie dati continui e annotati provenienti da sensori multi-modali. Ogni scena del dataset Waymo comprende 20 secondi di guida, con variabili di tempo che spaziano dal giorno alla notte, e diverse condizioni atmosferiche come sole, nuvole e pioggia. La sincronizzazione dei sensori a livello hardware garantisce un allineamento preciso dei dati, favorendo così ricerche più avanzate su temi come il tracciamento degli oggetti, la previsione delle traiettorie e l'adattamento del dominio.

L'evoluzione di questi dataset non riguarda solo la qualità e la quantità dei dati, ma anche l'accuratezza delle annotazioni. Per esempio, Waymo classifica oggetti come motocicli e ciclisti in categorie generali come veicoli e pedoni, rispettivamente, ma una classificazione più dettagliata di questi oggetti sarebbe fondamentale per migliorare i modelli di rilevamento e il comportamento dei veicoli autonomi in scenari complessi.

Oltre alla qualità dei dati, uno degli aspetti più critici nell'analisi di questi dataset è il concetto di "overfitting". Il benchmarking pubblico, che è diventato sempre più comune nel campo della robotica mobile, ha il vantaggio di standardizzare le metodologie e le metriche di valutazione, ma ha anche degli svantaggi. Un esempio di overfitting si osserva nel confronto dei metodi di rilevamento degli oggetti sui dataset KITTI e L-CAS. Sebbene le annotazioni 3D sui point cloud di KITTI possano migliorare il rilevamento, lo stesso approccio potrebbe risultare dannoso quando applicato a dataset con un diverso sistema di annotazione. Pertanto, è importante che i ricercatori e gli sviluppatori di veicoli autonomi prestino attenzione a non adattare i modelli troppo strettamente ai dataset di benchmarking, ma piuttosto a testare la generalizzabilità dei loro approcci su diverse piattaforme e condizioni.

Un'altra questione centrale nel benchmarking della robotica mobile è l'uso dell'intelligenza artificiale (AI) per valutare l'intelligenza artificiale. Questo approccio si ricollega al concetto del test di Turing, che utilizzava l'interazione tra agenti per valutare il comportamento intelligente. Nell'AI moderna, i metodi di deep learning hanno portato a significativi progressi nella risoluzione di problemi complessi, sebbene la mancanza di interpretabilità rimanga una delle principali limitazioni di questi sistemi. In futuro, una combinazione dei metodi simbolici e di quelli basati sulle reti neurali potrebbe risultare in sistemi AI più robusti e capaci di affrontare una gamma più ampia di scenari complessi. Inoltre, una direzione promettente per la ricerca consiste nell'utilizzare AI per valutare l'interazione tra umani e robot (HRI), considerando le emozioni e i sentimenti degli utenti, aspetti che al momento sono difficili da quantificare in modo preciso.

I dataset, come quelli di Waymo e KITTI, rappresentano solo una parte della sfida più ampia che i ricercatori affrontano nello sviluppo di veicoli autonomi. Non si tratta solo di avere a disposizione dati accurati e completi, ma anche di sviluppare sistemi intelligenti che possano adattarsi alle variazioni imprevedibili del mondo reale. In questo contesto, è fondamentale non solo migliorare la qualità delle annotazioni e dei modelli, ma anche affrontare le sfide legate alla sincronizzazione dei sensori, all'overfitting e alla capacità di generalizzare i modelli a scenari non previsti.

La Segmentazione e la Rilevazione degli Oggetti nelle Nuvole di Punti: Un Approccio Basato su Pipeline

La segmentazione delle nuvole di punti e la rilevazione degli oggetti sono tematiche fondamentali per la robotica mobile, in particolare nei contesti di guida autonoma e interazione con ambienti complessi. Un aspetto cruciale di queste tecniche è la suddivisione di una nuvola di punti in sottoinsiemi non sovrapposti, ognuno dei quali rappresenta un oggetto distinto. Ogni sottoinsieme viene successivamente etichettato con una categoria, utilizzando modelli specifici. Questi modelli possono essere top-down, basati su tecniche di machine learning, o bottom-up, che si concentrano sul movimento degli oggetti.

I metodi end-to-end, strettamente correlati alle tecniche di deep learning, permettono ai modelli di riconoscere gli oggetti direttamente dalle nuvole di punti, bypassando i tradizionali passaggi di pre-elaborazione e classificazione. Sebbene questi metodi abbiano portato a progressi significativi nelle performance di rilevazione, la loro interpretabilità limitata e la difficoltà di adattamento ai cambiamenti di dominio li rendono ancora meno versatili rispetto ai metodi basati su pipeline. Nonostante ciò, la loro applicazione è in continua espansione, in particolare nelle tecnologie più avanzate come i sistemi di robotica mobile.

Un approccio per ottimizzare l'efficienza computazionale nelle nuvole di punti 3D è la conversione di queste in dati 2D. Ad esempio, il sistema PIXOR converte la nuvola di punti 3D in una vista dall'alto (Bird’s Eye View, BEV), dove ciascun punto è rappresentato da due canali: altezza e intensità. Successivamente, un modello di rete neurale fine-tuned come RetinaNet viene utilizzato per la rilevazione degli oggetti. Un altro esempio è il metodo Complex-YOLO, che segue un approccio simile, ma con l'inclusione di canali aggiuntivi come densità, insieme ad altri dati 2D, per migliorare la rilevazione.

Un altro approccio per migliorare l'efficienza computazionale consiste nella voxelizzazione della nuvola di punti. Il sistema VoxelNet divide la nuvola in piccoli voxel, campiona casualmente e normalizza i punti contenuti, quindi estrae caratteristiche locali attraverso strati di codifica delle caratteristiche voxel. Successivamente, vengono applicati strati convoluzionali 3D per l'astrazione e la proposta di regioni per la rilevazione. Il miglioramento di VoxelNet, chiamato SECOND, sostituisce la convoluzione standard 3D con la convoluzione sparsa, migliorando ulteriormente la velocità di rilevazione e l'efficienza della memoria.

Oltre a questi metodi, esistono anche approcci che mirano ad apprendere rappresentazioni spaziali geometriche direttamente dalle nuvole di punti. Un esempio significativo è PointPillars, che utilizza PointNet per apprendere la rappresentazione delle nuvole di punti organizzate sotto forma di colonne verticali (pillars). La velocità operativa di oltre 60Hz rende PointPillars uno dei metodi end-to-end più utilizzati nella robotica mobile, soprattutto nella guida autonoma.

La segmentazione delle nuvole di punti può essere suddivisa in tre principali categorie in base alla tassonomia dell'intelligenza artificiale: basata su regole, basata su machine learning tradizionale e basata su deep learning. I metodi basati su regole segmentano le nuvole di punti utilizzando caratteristiche geometriche come intensità, normali della superficie e altre informazioni. Questi metodi offrono vantaggi in termini di efficienza computazionale e interpretabilità, ma incontrano difficoltà quando si trattano scene complesse o quando sono presenti ostruzioni e rumore.

I metodi di machine learning tradizionale estraggono caratteristiche superficiali dalle nuvole di punti e le segmentano utilizzando modelli basati sui dati. Questi approcci condividono vantaggi e limiti con i metodi basati su regole. I metodi di deep learning, come PointNet, apprendono rappresentazioni astratte e profonde dai dati delle nuvole di punti tramite reti neurali. Questi metodi superano alcune limitazioni dei due approcci precedenti, ma richiedono grandi quantità di dati di addestramento e sono suscettibili al fenomeno dell'overfitting, oltre a mancare di interpretabilità.

L'adattamento delle tecniche di clustering rappresenta una delle soluzioni più interessanti per la segmentazione delle nuvole di punti. Il metodo di "clustering adattivo" rimuove inizialmente i punti che rappresentano il suolo dalla nuvola di punti, poiché questi non sono di interesse e sono spesso collegati ad altri oggetti, creando problemi durante la segmentazione. Una volta rimosso il suolo, i punti rimanenti vengono segmentati in cluster non sovrapposti, utilizzando un criterio di distanza massima tra i punti per determinare i confini dei cluster. Questo approccio, sebbene semplice e efficiente, ha limitazioni nel trattare nuvole di punti sparse o non strutturate. La chiave per un'implementazione efficace è il bilanciamento tra la distanza minima tra i punti e la dimensione del cluster.

Oltre a questo, l'approccio basato su regole è spesso il punto di partenza, ma la combinazione di tecniche basate su regole e deep learning potrebbe rappresentare la via più promettente per affrontare le sfide pratiche di rilevamento degli oggetti nelle nuvole di punti, in quanto permette di coniugare efficienza e capacità di adattamento a scenari complessi.

Come migliorare la navigazione sociale nei robot attraverso l'apprendimento rinforzato online

Il modulo di navigazione sociale per i robot, progettato per migliorare la loro capacità di interagire in ambienti umani, si compone di due strati principali: il modulo di navigazione di base e il modulo di adattamento sociale online. Quest'ultimo si avvale dell'apprendimento rinforzato online (ROL), che consente al robot di apprendere e adattarsi costantemente alle dinamiche sociali variabili durante le sue operazioni in ambienti reali.

Nel modulo di navigazione di base, il robot è guidato da un approccio di apprendimento rinforzato profondo, noto come Socially Attentive Reinforcement Learning (SARL), che ottimizza la politica di navigazione per massimizzare la ricompensa cumulativa e ridurre al minimo le deviazioni dal percorso. L'algoritmo SARL si concentra non solo sull'arrivo a una destinazione, ma anche sul mantenimento di un comportamento socialmente accettabile. La funzione di ricompensa modificata è progettata per premiare il robot non solo per la distanza percorsa, ma anche per la minimizzazione degli errori nel percorso, senza compromettere la conformità sociale. In pratica, invece di utilizzare una semplice ricompensa binaria, viene applicata una formula che tiene conto della distanza euclidea tra la posizione iniziale e quella finale del robot, nonché della distanza effettiva percorsa.

Inoltre, la funzione di ricompensa è dinamica e tiene conto della distanza tra il robot e le persone, regolando i parametri di comfort sociale in modo adattivo in base al contesto spaziale e temporale. Questo significa che, a seconda della situazione, il robot può navigare in modo più o meno distanziato dalle persone, per esempio aumentando la distanza in contesti affollati o durante periodi di distanziamento sociale (ad esempio, durante un'epidemia), mentre riduce la distanza in ambienti meno congestionati.

Il modulo di adattamento sociale online rappresenta un ulteriore passo avanti nel miglioramento della navigazione sociale del robot. Questo modulo apprende in tempo reale dalle traiettorie osservate degli esseri umani, aggiornando continuamente il comportamento del robot per rispondere in modo più appropriato alle dinamiche sociali. L'approccio utilizza una rete di valori sociali, che valuta se il comportamento del robot, basato sulle azioni suggerite dal SARL, è socialmente accettabile. Se un'azione è considerata appropriata, la sua selezione viene rafforzata; se è inadeguata, la sua probabilità di essere scelta viene ridotta. Questo processo di apprendimento avviene online, permettendo al robot di adattarsi in tempo reale a nuovi comportamenti umani o modifiche nei contesti sociali.

Il cuore di questo modulo di adattamento è la classificazione delle traiettorie del robot in "sociali" e "non sociali" tramite una rete di valutazione sociale. Le traiettorie vengono analizzate utilizzando unità ricorrenti a porte (GRU) e perceptroni multilivello (MLP), che, attraverso l'apprendimento, determinano il valore sociale di ogni traiettoria. La selezione finale delle azioni da parte del robot viene quindi migliorata grazie all'integrazione di questo valore sociale nel processo di scelta dell'azione ottimale, con un coefficiente che ne regola l'importanza relativa.

Questa strategia di apprendimento rinforzato online, arricchita dall'adattamento sociale, consente al robot di operare in modo più fluido e naturale negli ambienti abitati da esseri umani, migliorando l'efficacia delle sue interazioni sociali. La capacità di adattarsi continuamente e di personalizzare il proprio comportamento in base al contesto sociale rappresenta un vantaggio significativo nelle applicazioni di robotica sociale, come i robot di assistenza o quelli impiegati in spazi pubblici affollati.

Un aspetto fondamentale che il lettore deve comprendere è l'importanza di integrare modelli di apprendimento che non solo ottimizzano le prestazioni tecniche (come la velocità o la precisione del movimento), ma che tengono conto in modo esplicito delle dinamiche sociali in atto. Le interazioni sociali non sono solo un aspetto secondario della progettazione di un robot, ma un fattore chiave che determina il successo dell'integrazione del robot nella società umana.

Inoltre, è importante comprendere che, mentre i modelli come il SARL sono fondamentali per migliorare la navigazione in ambienti affollati, l'efficacia di questi sistemi dipende fortemente dalla qualità e dalla quantità dei dati di apprendimento. Un modello che non viene alimentato con dati aggiornati o che non può adattarsi a nuove situazioni rischia di diventare obsoleto o inefficace. Il progresso futuro dipenderà dalla capacità di sviluppare modelli che possano generalizzare in modo più ampio e che possano imparare e adattarsi a una vasta gamma di situazioni sociali in tempo reale.