Tom's Hardware Italia
Tecnologia a bordo

Progetto Hercules, la guida autonoma più rivoluzionaria è “Made in Italy”

Obiettivo raggiunto per il progetto HERCULES. Un team di ricercatori italiani hanno implementato un sistema rivoluzionario per la guida autonoma.

Volevano realizzare un sistema per la guida autonoma delle auto (e non solo) che fosse a basso consumo energetico, efficiente e poco ingombrante. Volevano dominare il “tempo reale” nel processing. Ci sono riusciti a Modena, grazie al progetto europeo Hercules, i ricercatori dell’Università degli Studi di Modena e Reggio Emilia (UNIMORE), coadiuvati da Czech Technical University, ETH Zurich, Airbus, l’Evidence Srl di S.Giuliano Terme (PI), pi.tom di Navacchio (PI) e Magneti Marelli.

Tom’s Hardware ha avuto il privilegio di far parte dell’advisory board dal maggio del 2016. Dopo la designazione delle sfide, nel luglio 2017 il progetto High-Performance Real-Time Architectures for Low-Power Embedded Systems ha iniziato ad affrontare il capitolo dello sviluppo software. Due settimane fa mi sono accomodato su un prototipo sportcar allestito per l’occasione che non solo si è mosso agevolmente in un percorso prestabilito, ma ha lasciato tutti a bocca aperta per i ridotti ingombri delle apparecchiature impiegate.

Però andiamo con ordine perché questa è una storia di innovazione, passione e ricerca profondamente italiana che esige attenzione.

Modena, altro che Silicon Valley

A Modena architettura barocca, medievale e rinascimentale si alternano con armonia. Lo stesso attributo che bisogna riconoscere alle Maserati, Ferrari, Lamborghini e Pagani realizzate nel circondario.

In questo contesto un gruppo di ricercatori dell’UNIMORE, coadiuvati da un team internazionale, ha compiuto quel che lo chef Massimo Bottura – sua l’Osteria Francescana di Modena, considerata tra i migliori ristoranti al mondo – potrebbe considerare un esempio. “Noi italiani abbiamo una cosa unica che gli altri ignorano: la capacità di maneggiare l’irrazionale”, ha scritto recentemente.

Irrazionale è senza dubbio accettare la sfida che neanche colossi statunitensi hanno ancora affrontato e men che meno i produttori hardware. Ovvero individuare una soluzione che consenta con l’hardware attuale di ottenere una capacità di elaborazione (davvero) in tempo reale di immagini o dati provenienti da sensoristica senza troppi compromessi. Non è cosa da poco “il tempo reale” soprattutto se si vuole ottenere con dispositivi di poco ingombro, a basso consumo, a fronte di una prevedibilità dimensionabile. Come a dire: nella peggiore delle ipotesi non si potrà mai scendere sotto una specifica soglia, in particolare riguardo al tempo di risposta del sistema, che per le attività safety critical dev’essere sempre garantito. In sintesi, hai ad esempio 1/10 di secondo per prendere una decisione, e devi garantirmi che riuscirai sempre a farlo, in qualsiasi condizione di funzionamento, pena la messa a rischio della vita dei passeggeri del veicolo.

Sport-car italiana con sistema a guida autonoma basato su Hercules

Il “sistema” che governa un’auto realmente autonoma – quelle sperimentali che non possono circolare per strada – spesso può occupare l’intero bagagliaio. Il prototipo lussuoso impiegato dal team di UNIMORE sfrutta la piccola piattaforma Nvidia Jetson TX2  – che è il cuore della prima linea Nvidia di schede ad alte prestazioni per l’automotive, e due comuni power bank: uno alimenta l’unità principale, l’altro il LIDAR (Laser Imaging Detection and Ranging).

Certamente non è tutto qui, poiché vi sono telecamere esterne, centraline e cavetteria ma la sostanza è aver ridimensionato il cuore del sistema.

Avia Pervia (L’inaccessibile diventa accessibile)

Sullo scudo araldico di Modena si legge “Avia Pervia” che tradotto dal latino vuol dire “L’inaccessibile diventa accessibile”. Ed è questo che si è compiuto nel risolvere il problema più prosaico dell’hardware, considerata la leggerezza calviniana che contraddistingue il software.

Come impiegare soluzioni multi-core al meglio in ottica di “tempo reale”? Oggi la partita del processing è giocata su un core alla volta, magari con strategie efficienti, ma pur sempre non sfruttando il traino contemporaneo della cavalleria a disposizione. Più sensori rilevano dati che vanno gestiti ed elaborati, ma non tutti sono prioritari. Ad esempio sarà più importante l’algoritmo che rileva un pedone rispetto a quello che gestisce il sistema audio. E soprattutto ogni elaborazione richiede tempi e necessità di processing diversi.

“Il nodo della questione è la cosiddetta prevedibilità. Essere sicuri che i tempi di esecuzione e richiesta siano non solo brevi, ma noti e dimensionabili. Come a dire: alla peggio andrà così”, spiega il ricercatore Marco Solieri di UNIMORE. “O si lavora su hardware di 10 anni fa o si cerca di far funzionare bene i multi-core. A parte i colli di bottiglia che si possono avere nella gestione della memoria o della cache, il tema è quello delle risorse contese. Core diversi che vogliono usare le stesse risorse e la cui contesa introduce imprevedibilità”.

Sport car italiana con sistema di guida autonoma basato su Hercules e Nvidia Jetson TX2. Solo due power bank per alimentare hardware e LIDAR.

Ecco che la soluzione arriva dal software di Hercules. “Possiamo identificare tre livelli. Quello centrale rappresentato da Erika, il sistema operativo real-time che stabilisce priorità e scadenze. Su tutto questo, un software di compilazione che aiuta il programmatore, e sotto la gestione effettuata dell’hypervisor, il sistema operativo dei sistemi operativi”.

Insomma, la sinergia di questi tre elementi organizza ed esegue l’azione strategica di processing secondo il principio di priorità e partizionamento delle risorse. In linea di massima le richieste ad alta criticità sono servite più spesso e usano risorse non condivise con quelle a bassa priorità. Possono quindi accedere più frequentemente alla memoria centrale e ricevono porzioni di cache dedicate. Un po’ come avviene nei voli di linea: bicchieri di cristallo e champagne in business class, noccioline in quella economy, personale separato e tendina a marcare il confine.

L’esperienza su un’auto a guida autonoma

Una berlina sportiva della terra dei motori è già un bel vedere, se poi viene allestita con guida autonoma il fascino tecnologico aumenta – al netto delle disquisizioni sul piacere della guida sportiva manuale. L’azienda modenese produttrice in verità ha fornito solo l’auto e non si è fatta coinvolgere troppo nel progetto poiché non era questo l’intento dell’iniziativa.

A bordo la qualità degli interni a 5 stelle è palpabile e anche se si tratta di un progetto sperimentale il piacere del bello è lecito. Dopodiché, seduti nella zona posteriore, ogni distrazione è diventata secondaria. I tre ricercatori seduti al mio fianco erano concentrati affinché il test avvenisse in completa sicurezza. Non ho potuto fare a meno di notare anche vistosi pulsanti rossi per interrompere ogni attività in caso di emergenza.

Il circuito ricavato nella zona parcheggi dell’università di Modena è stato un assaggio adeguato. Ovviamente in un momento che ha preceduto la demo, l’auto ha “registrato” i perimetri grazie al Lidar (3D laser scanning) e i ricercatori hanno stabilito punto di partenza e punto di arrivo. Dal monitor si poteva intuire la mappatura circostante grazie a linee verdi e rosse: le prime statiche, le seconde correlate agli elementi in movimento, come ad esempio le persone o altri mezzi.

Sport car italiana con sistema di guida autonoma basato su Hercules. Monitor interno con rilevazione LIDAR.

Per la partenza è stato sufficiente avviare l’auto e schiacciare i pulsanti della guida autonoma sul volante. Dopodiché il prototipo si è mosso tracciando traiettorie in autonomia e frenando in caso di ostacoli. A bassa velocità prevedibilmente l’auto è risultata un po’ goffa nelle partenze da fermo anche perché non aveva mai la possibilità di procedere alla velocità di crociera che le è congeniale, ma quel che conta è stato vedere mulinare il volante in scioltezza fra le curve.

Il Lidar in questo caso è stato montato sul tettuccio. Si trattava di un modello Velodyne a 32 livelli di scansione con un angolo di copertura compreso tra -25° e 10° e un raggio d’azione di 200 metri. Una configurazione adeguata per uno scenario a bassa velocità. Diversa sarebbe stata la situazione in un circuito o ipoteticamente su una strada ad alto scorrimento dove sarebbe stato attivato anche il radar frontale capace di 800 metri di copertura. Ovviamente non mancavano anche due telecamere per la ripresa esterna, fondamentali per completare la sperimentazione.

Insomma, fermo restando il fatto che si è trattato pur sempre di una demo, il progetto Hercules ha dimostrato la fattibilità degli assunti iniziali. E infatti nel baule le uniche apparecchiature rilevate sono state un power bank di alimentazione per il Lidar e un altro power bank di alimentazione per il kit Nvidia TX2. Quest’ultima, montata su carrier Auvidea, ormai è di riferimento in campo automotive e anche in ogni settore dove è richiesta guida autonoma (si pensi anche ai droni): si tratta in fondo una piccola piattaforma hardware integrata da meno di 30 W basata su architettura Nvidia Pascal. Qui le specifiche complete.

Da Airbus a Magneti Marelli, altre applicazioni sperimentali

Il progetto Hercules ha visto il coinvolgimento di diverse realtà industriali poiché le applicazioni sul campo possono essere molteplici. Airbus ha pensato ad esempio al tracciamento visivo di oggetti basato su machine learning. Ovvero la possibilità di fornire ipoteticamente a un velivolo la capacità di “imparare” a riconoscere elementi ambientali e quindi tracciarli. Oggi sarebbe un compito troppo gravoso con il semplice calcolo parallelo sulle GPU delle schede video, ma Hercules invece sarebbe in grado con tempi di esecuzione sostenibili anche in caso di scenari complessi.

La startup Lifetouch ha sviluppato invece Moveo, un robottino elettrico su 6 ruote capace di fare consegne in ambito metropolitano. In questo caso tramite app viene stabilito il luogo di consegna e il robot, grazie alla tecnologia Hercules abbinata al Lidar, procede in autonomia evitando ostacoli e per di più affrontando piccoli gradini.

Lifetouch Moveo, robot a guida autonoma per le consegne a corto raggio

Bylogix ha mostrato il suo prototipo di veicolo a guida autonoma, basato su Citroen E-Mehari elettrica. In questo caso invece del costoso Lidar è stata impiegata una telecamera frontale Full HD da 30 frame al secondo per la “detection” – per individuare il miglior compromesso di spostamento tra spazio a disposizione e traiettoria – e due GPS per una localizzazione costante più precisa. In futuro verranno montate altre due videocamere frontali per la “computer vision” e altre due per la “line detection”, e infine una posteriore per il porcheggio. Il Lidar mapperà tridimensionalmente le posizioni spaziali di ciascun punto e la guida sarà ancor più recisa.

Citroen E-Mehari di Bylogix con sistema a guida autonoma basato su Hercules.

Pi.Tom sta lavorando invece a un drone dotato di videocamera e GPS capace di effettuare il tracciamento in tempo reale di un oggetto in movimento. Ad esempio consentire l’inseguimento visivo e fisico di un’auto che corre sulla strada.

Drone Pi.Tom con guida autonoma basata su sistema Hercules.

Magneti Marelli ha allestito una Renegade con GPS, videocamere e sensori di parcheggio capace, grazie a Hercules, di eseguire in autonomia il “valet parking”. Ovvero, senza l’interazione del conducente, selezionare un posto libero in una zona parcheggi e procedere automaticamente. Per il ritiro dell’auto all’utente viene chiesto di sfruttare una app per smartphone: si clicca sul tasto pick-up e il veicolo arriva.

Jeep Renegade con sistema Magneti Marelli per il valet parking

Insomma, “Avia Pervia”. I ricercatori dell’Università degli Studi di Modena e Reggio Emilia, ci hanno dimostrato che l’inaccessibile può diventare accessibile, “migliorando – come prefigurava Marko Bertogna, il professore di UNIMORE che ha coordinato il progetto– di un ordine di grandezza il consumo e il costo delle applicazioni real-time di prossima generazione. Il framework Hercules unisce un insieme di tecnologie applicabili non solo all’ambito automotive e avionico, ma anche ad altri domini che abbiano elevate richieste computazionali entro determinati vincoli temporali: sistemi cyber-physical, automazione industriale, agricoltura intelligente, biomedicale, big data. E la gran parte delle tecnologie prodotte è rilasciata open source”. Implementare tali tecnologie sulle architetture considerate è stato un enorme lavoro per i ricercatori coinvolti, sul solco delle dodici fatiche di Ercole. A differenza dell’eroe mitologico, il progetto HERCULES non riceverà dagli dei l’immortalità, ma il piacere di aver servito la comunità scientifica e la rete industriale con un impulso innovativo.