Nowości

Zespół Astrobotic Technology zyskuje przewagę w konkursie Lunar XPRIZE firmy Google dzięki układom GPU NVIDIA
Astrobotic
Łazik księżycowy firmy Astrobotic, zaprojektowany przy pomocy układów GPU NVIDIA

Firma Astrobotic Technology, założona w 2008 roku jako wydzielone jednostka Instytutu Robotyki Uniwersytetu Carnegie Mellon, jest w czołówce powstającego przemysłu komercyjnych lotów kosmicznych. Firma jest pionierem przystępnych cenowo technologii związanych z robotyką kosmiczną, zapewniającą komercyjnym, naukowym i rządowym organizacjom obsługę związaną z dostarczaniem ładunków na Księżyc oraz zbieraniem danych. Astrobotic jest jednym z 23 zespołów walczących w konkursie Lunar XPRIZE, sponsorowanym przez firmę Google, w którym przeznaczono 30 milionów dolarów dla zespołów, które wykorzystując prywatne fundusze bezpiecznie wylądują robotem na powierzchni Księżyca, przejadą nim 500 metrów, przekazując jednocześnie na Ziemię obraz wideo, zdjęcia i dane. Zespoły mają na wypełnienie tych zadań czas do końca 2015 roku. Długoletni klient firmy NVIDIA, Astrobotic, zdaje się na akcelerację układami GPU, aby sprostać wymagającym potrzebom projektowym i analitycznym.

WYZWANIE

Główne działania firmy Astrobotic, jako zespołu w konkursie Lunar XPRIZE, obejmują tworzenie algorytmów wizyjnych związanych z autonomicznym lądowaniem, projektowaniem pojazdu oraz symulacjami lądowania i poruszania się po powierzchni. Głównym zadaniem 10-osobowego zespołu inżynierów firmy Astrobotic jest zaprojektowanie pojazdu, który przetrwa zarówno start jak i lądowanie, i będzie w pełni sprawny po wylądowaniu na powierzchni Księżyca. Jednak największą przeszkodą dla tego zespołu jest to, że tkwią na powierzchni naszej planety.

„Nie potrafimy, na potrzeby fizycznych prób lądowania, odtworzyć warunków panujących na Księżycu” wyjaśnił Kevin Peterson, dyrektor działu naprowadzania, nawigacji i kontroli firmy Astrobotic. „Na Ziemi mamy atmosferę, chmury i mamy inną topografię, więc w najlepszym wypadku musimy się posłużyć symulatorem 3D. Mamy kilka kamer, które latają nad Księżycem i mapują powierzchnię oraz śledzą ruch w czasie na potrzeby analizy ruchu i położenia obiektów. Nasz plan polega na wykorzystaniu tych wszystkich punktów danych na potrzeby lądowania, kiedy nasz pojazd będzie robił zdjęcia podczas podchodzenia do lądowania na księżycowej powierzchni w celu wykorzystania tych informacji na potrzeby właściwego pozycjonowania pojazdu. W komunikacji z lądownikiem występuje dziesięciosekundowe opóźnienie, więc najważniejsze jest to, żeby mógł się samodzielnie naprowadzać i wylądować. Ze względu na ogrom danych symulacje są bardzo wymagające obliczeniowo, a muszą być fotorealistyczne i jest to dla nas wyzwaniem”.

Kolejnym wyzwaniem jest symulacja dokładnych warunków startu, by mieć pewność, że pojazd w ogóle oderwie się od powierzchni. Typowy model pojazdu kosmicznego składa się z setek unikalnych części z ponad 4 tysiącami elementów łączących. W procesie testowania trzeba wziąć pod uwagę to, jak zachowywałby się każdy z poszczególnych elementów w warunkach wibracji, jakich pojazd doświadczy podczas startu. Jason Calaiaro, dyrektor ds. informatyki oraz działu napędów potrzebował sposobu, aby zlikwidować wąskie gardło w obliczeniach, które zmuszało jego zespół do przeprowadzania symulacji przy użyciu uproszczonych modeli powierzchniowych CAD.

„Często tworzymy modele powierzchniowe CAD naszych oryginalnych projektów na potrzeby analizy symulacji, ponieważ są mniej złożone obliczeniowo i testowanie zabiera mniej czasu” wyjaśnił Calaiaro. „To uproszczenie prowadziło jednak do problemów. Testy na uproszczonych modelach, z których korzystaliśmy, nie zawsze były zbieżne z wynikami prawdziwych testów, co oznaczało powrót do symulacji, zwiększenie ich złożoności i ponowne testowanie. Metodą prób i błędów próbowaliśmy trafić w właściwą kombinację poziomu złożoności i jakości wyników i to, w połączeniu z czasem jaki potrzebowaliśmy na stworzenie modeli powierzchniowych, miało wpływ na nasz napięty kalendarz”.

ROZWIĄZANIE

Jako klienci firmy NVIDIA, inżynierowie Astrobotic już wcześniej doświadczyli znaczących wzrostów wydajności wynikających z wykorzystania akceleracji układów GPU (zamiast jednostek CPU) do projektowania mechanicznego w SolidWorks i analizy metodą elementów skończonych w oprogramowaniu ANSYS. Peterson i Calaiaro wybrali opcję wymiany posiadanych jednostek GPU NVIDIA ze starszej generacji Fermi na aktualną generację - Kepler, na kartę Quadro K2000 i 2 jednostki Tesla K20 , co miało na celu dalsze przyspieszenie prowadzonych prac. Dzięki oprogramowaniu ANSYS, które w wersji 14.5 wprowadziło obsługę wielu układów GPU, druga jednostka GPU Tesla dostarczyła dodatkowego przyspieszenia. Przestawili się także na oprogramowanie NVIDIA iray, aby skorzystać z akceleracji GPU do tworzenia fotorealistycznych renderingów.

Peterson i Calaiaro od razu zauważyli poprawę wydajności jednostek GPU Quadro i Tesla, opartych na architekturze Kepler. Calaiaro dostrzegł znaczące wzrosty wydajności zarówno w SolidWorks jak i ANSYS. „Teraz mogę łatwo i prosto przejść z projektowania do analizy, bez konieczności tworzenia uproszczonych modeli powierzchniowych CAD. Zamiast tego mogę korzystać z siatki bryły wyliczonej bezpośrednio z oryginalnego modelu CAD, co usprawnia tok pracy i oszczędza około tydzień czy dwa samego czasu projektowania” powiedział. „Średnio, dzięki dodatkowej jednostce GPU, widzę przyspieszenie analizy o jakieś 40%. Chociaż każdy test zabierał tylko 5 czy 10 minut na jednej jednostce GPU, kiedy musisz przetestować 100 różnych zmiennych, te oszczędności czasu naprawdę są widoczne. Dzięki tej dodanej mocy jednostki GPU mogę także jednocześnie pracować w SolidWorks i ANSYS, taka dwukierunkowość daje wielką moc i zmienia nasze podejście do projektowania i analizy”.

Astrobotic
Przykładowy obraz analizy części kół dla nowego łazika

Wykorzystanie oprogramowania iray przez Petersona przyspieszyło rendery księżycowej powierzchni na jednostkach GPU do 20 klatek na sekundę, w porównaniu do 1 klatki na minutę w przypadku jednostki CPU. Peterson wyjaśnia: „aby dać ogólne wyobrażenie powiem, że wcześniej musielibyśmy ustawić render i dosłownie zostawić go do przetworzenia przez noc. Teraz mogę usiąść i zrobić ten render w 10 minut. Różnica jest kolosalna. Oblatywanie jest niewspółmiernie drogie, dlatego musimy polegać na symulacjach. Przed startem musimy przeprowadzić milion różnych symulacji powierzchni księżycowej, aby mieć pewność, że przetestowaliśmy każdy możliwy scenariusz lądowania. Symulacje muszą być bardzo wysokiej jakości, bardzo dokładne, ale musimy też mieć możliwość szybkiej iteracji, a jednostki GPU NVIDIA Kepler dają nam moc i szybkość jakiej potrzebujemy”.

EFEKT

W wyścigu na Księżyc, szybkość i dokładność są kluczowe. Jednostki GPU NVIDIA Quadro i Tesla, oparte na architekturze Kepler, pozwalają inżynierom firmy Astrobotic zajmować się wymyślnymi projektami i dogłębną analizą bez jakichkolwiek kompromisów, co prowadzi do bardziej dokładnych wyników.

„Analiza jest kluczowa, ponieważ pozwala na stworzenie bardziej przemyślanego projektu” powiedział Calaiaro. „Dzięki możliwości wykorzystania potencjału dwóch jednostek GPU mogę teraz przeprowadzać testy dokładniejszych modeli i szybciej uzyskać potrzebne wyniki”.

„Dla nas wszystko musi być zrobione na wczoraj” dodał Peterson. „Trzeba to zawsze zrobić dobrze, ale szybko. Nie ma specjalnie wiele czasu, aby się cofnąć i zrobić przerwę, szybko podejmujemy decyzje i idziemy do przodu najefektywniej jak to możliwe. Jednostki GPU firmy NVIDIA pozwoliły nam na uzyskanie cyklu projektowego, który jest około 4-6 razy szybszy niż u naszych konkurentów, na przykład przy tworzeniu naszego łazika spędzimy pół roku, podczas gdy porównywalnym firmom z branży lub agencjom rządowym prawdopodobnie zajęłoby to ponad 2 lata”.

„Rzecz w tym, że jesteśmy małą firmą, która próbuje działać przy napiętych terminach i przy ograniczonych środkach” zakończył Peterson. „Jednostki GPU NVIDIA i oprogramowanie do renderingu iray pozwala nam zachować przewagę konkurencyjną i to bez chodzenia na skróty”.

Wykorzystany sprzęt i oprogramowanie:

Astrobotic