Stampa

Grazie alle GPU NVIDIA Astrobotic Technology si avvicina al Lunar Xprize di Google
Astrobotic
Il rover lunare di Astrobotic, progettato con le GPU NVIDIA

Astrobotic Technology, fondata nel 2008 come spinoff dell'istituto di robotica della Carnegie Mellon University, è all'avanguardia nel nascente settore commerciale spaziale. L'azienda è tra i pionieri delle nuove tecnologie robotiche per lo spazio ed è al servizio di organizzazioni commerciali, scientifiche e pubbliche per le quali organizza operazioni di consegna di carichi e raccolta di dati lunari. Astrobotic è al momento uno dei 23 gruppi che concorrono all'ambitissimo Lunar XPRIZE messo in palio da Google. Il premio prevede una dotazione di 30 milioni di dollari per il primo gruppo a finanziamento privato che riuscirà a far allunare con successo un robot sul satellite terrestre per poi farlo viaggiare per almeno 500 metri sulla superficie lunare inviando nel frattempo video, immagini e dati a Terra. I gruppi hanno a disposizione sino alla fine del 2015 per raggiungere questi obiettivi. Da lungo tempo cliente di NVIDIA, Astrobotic si affida all'accelerazione via GPU per far fronte a difficili esigenze di progettazione e analisi.

SFIDA

Come gruppo impegnato nella sfida Lunar XPRIZE, le principali attività di Astrobotic si concentrano attorno allo sviluppo di algoritmi di visione per l'allunaggio autonomo, progettazione di veicoli e simulazioni di allunaggio e scorribande lunari. La principale attività dei dieci ingegneri a tempo pieno di Astrobotic consiste nel progettare un veicolo in grado di sopravvivere sia al lancio che all'allunaggio, per essere poi pienamente operativo non appena arrivato sulla superficie lunare. L'ostacolo più grande per il team di progettazione è però quello di trovarsi sulla Terra.

“Non siamo in grado di riprodurre concretamente l'ambiente lunare e quindi non possiamo condurre veri test fisici di allunaggio”, ci ha spiegato Kevin Peterson, Director of Guidance, Navigation e Control di Astrobotic. “Sulla Terra abbiamo un'atmosfera, abbiamo le nubi, non abbiamo la stessa topografia. Il meglio che possiamo fare è utilizzare un simulatore 3D. Abbiamo diverse videocamere che sorvolano la luna e mappano la superficie e sorvegliano i movimenti nel corso del tempo in un flusso ottico. Il nostro piano consiste nell'utilizzare tutti questi punti dati come input per l'allunaggio, in modo che il nostro modulo di allunaggio possa scattare immagini mentre si avvicina alla superficie lunare e usare tutte queste informazioni per posizionarsi correttamente. C'è un ritardo di dieci secondi nelle comunicazioni con il modulo di allunaggio. È quindi imperativo che il modulo possa guidarsi e allunare autonomamente. La sfida da parte nostra consiste nel fatto che, data l'altissima mole di dati, le simulazioni sono molto impegnative in termini di calcolo e devono, per di più, essere fotorealistiche.”

Una sfida secondaria consiste nella simulazione di prove di lancio accurate, per assicurare che il veicolo sia effettivamente in grado di decollare. Un tipico modello di navicella spaziale include centinaia di parti uniche con più di 4.000 elementi di fissaggio. In più, la prova deve tenere conto di come ogni elemento individuale si comporta quando viene sottoposto alla vibrazione che una navicella spaziale deve sopportare al momento del lancio. Jason Calaiaro, CIO e Director of Propulsion di Astrobotic, aveva quindi l'esigenza di scoprire un modo per superare i colli di bottiglia computazionali che costringevano il suo team a eseguire simulazioni usando modelli CAD semplificati.

“All'epoca, spesso producevamo modelli CAD a shell dei nostri progetti originali per le analisi di simulazione, dal momento che questi erano meno impegnativi in termini di calcolo e quindi le prove avrebbero richiesto meno tempo”, ci ha spiegato Calaiaro. “Ma questa semplificazione ovviamente generava problemi. I modelli semplificati che utilizzavamo non erano sempre ben correlati ai risultati delle prove del mondo reale, il che significava che dovevamo tornare indietro, aumentare la complessità ed eseguire altre prove. Questo si traduceva in un gran numero di prove per trovare il giusto equilibrio tra complessità e qualità dei risultati. Ovviamente, tutto questo dispendio di tempo ed energie, combinato all'ulteriore dispendio dovuto alla realizzazione dei modelli a shell, aveva un effetto molto negativo sulle nostre scadenze.”

SOLUZIONE

Come clienti NVIDIA, gli ingegneri di Astrobotic hanno già sperimentato vantaggi di prestazioni significativi rispetto alla CPU grazie allo sfruttamento dell'accelerazione via GPU per la progettazione meccanica in SolidWorks e per l'analisi a elementi finiti in ANSYS. Peterson e Calaiaro hanno deciso l'upgrade delle proprie GPU NVIDIA dalla vecchia generazione Fermi all'attuale generazione Kepler. La configurazione scelta include una scheda Quadro K2000 e due schede Tesla K20 e consente di ottenere una velocità ancora superiore. Dato che ora ANSYS 14.5 supporta le configurazioni multi-GPU, la seconda GPU Tesla offre un ulteriore spunto. Inoltre, Astrobotic ha deciso di passare a NVIDIA iray per sfruttare l'accelerazione via GPU e ottenere rendering fotorealistici.

Peterson e Calaiaro hanno notato immediati miglioramenti delle prestazioni grazie alle GPU Quadro e Tesla a base Kepler. Calaiaro ha sperimentato incrementi significativi delle prestazioni sia in SolidWorks sia in ANSYS. “Ora posso passare facilmente e direttamente dalla progettazione all'analisi senza dovermi preoccupare di realizzare modelli CAD semplificati. Invece, posso usare un mesh solido direttamente dal mio modello CAD originale. Questo snellisce il workflow e permette di risparmiare 1-2 settimane di tempo di progettazione”. “In media, vedo un aumento della velocità del 40% nelle analisi con la GPU supplementare. Anche se ciascuna prova impiega solo 5 o 10 minuti su una GPU, quando si devono testare 100 variabili differenti, questi risparmi di tempo producono effetti cumulativi molto interessanti. Grazie alla maggiore potenza offerta dalle GPU posso eseguire simultaneamente SolidWorks e ANSYS. Questa bi-direzionalità è incredibilmente potente e cambia radicalmente il modo in cui approcciamo la progettazione e l'analisi.”

Astrobotic
Analisi di un campione di immagine di un componente delle ruote del nuovo rover

L'uso di iray ha inoltre portato il rendering della superficie lunare di Peterson a 20 frame al secondo su GPU. Un netto incremento rispetto alla velocità di 1 frame al minuto su CPU. Peterson ci spiega: “Per mettere la cosa nella giusta prospettiva, prima dovevamo configurare le operazioni di rendering e lanciare un'elaborazione notturna. Ora posso sedermi ed eseguire lo stesso rendering in dieci minuti. È un vantaggio sensazionale. Le prove di volo sono dispendiose in modo proibitivo, quindi ci affidiamo alle simulazioni. Dobbiamo eseguire un milione di simulazioni diverse della superficie lunare prima del lancio, per accertarci di aver testato ogni possibile scenario di allunaggio. Queste prove devono essere ad alta fedeltà ed estremamente accurate, ma devono anche essere reiterabili rapidamente. Le GPU Kepler di NVIDIA ci offrono tutta la potenza e la velocità che ci occorrono.”

IMPATTO

Nella corsa verso la luna, velocità e precisione sono fondamentali. Le GPU NVIDIA a base Kepler Quadro e Tesla permettono agli ingegneri di Astrobotic di gestire progetti intricati e analisi smisurate senza scendere a compromessi. Questo porta a ottenere risultati nettamente più accurati.

“L'analisi è la chiave perché permette di eseguire un progetto più informato”, ci ha detto Calaiaro. “Ora, con le capacità di due GPU, sono in grado di effettuare prove di modelli molto più precisi e di ottenere i risultati che mi occorrono molto più rapidamente.”

“Per noi, tutto deve essere pronto ieri”, ha aggiunto Peterson. “Tutto deve essere fatto nel modo giusto ma anche molto rapidamente. Non c'è molto margine per tornare sui propri passi e fare pause. Dobbiamo sempre decidere molto rapidamente e continuare ad avanzare nel modo più efficiente possibile. Le GPU NVIDIA ci permettono di avere un ciclo di progettazione da 4 a 6 volte più rapido delle nostre controparti – per esempio, trascorreremo 6 mesi nella costruzione del nostro rover, mentre i membri di aziende come la nostra o di enti pubblici probabilmente impiegheranno più di due anni per ottenere lo stesso risultato.”

“Alla fine dei conti, siamo una piccola società che cerca di ottenere risultati agendo in base a scadenze molto impegnative e con risorse limitate”, ha concluso Peterson. “Le GPU di NVIDIA e iray renderer ci permettono di mantenere un vantaggio competitivo senza costringerci a dolorose rinunce.”

Hardware e software utilizzato:

Astrobotic