Robotyka

NVIDIA GraspGen: Przełom w technologii chwytania robotycznego z wykorzystaniem modeli dyfuzyjnych

Precyzyjne i niezawodne chwytanie obiektów przez roboty pozostaje jednym z najbardziej fundamentalnych, a zarazem złożonych wyzwań w robotyce, od zastosowań przemysłowych po roboty humanoidalne. Pomimo dekad intensywnych badań, efektywne chwytanie z sześcioma stopniami swobody (6-DOF) wciąż stanowi otwarty problem. W odpowiedzi na te wyzwania, NVIDIA wprowadziła GraspGen – nowatorski framework do generowania chwytów, który opiera się na modelach dyfuzyjnych. Technologia ta ma potencjał, by zapewnić nieporównywalną elastyczność, skalowalność i niezawodność w świecie rzeczywistym.

Wyzwania w chwytaniu robotycznym i nowe podejście

Generowanie precyzyjnych i niezawodnych pozycji chwytów w przestrzeni 3D – gdzie zarówno pozycja, jak i orientacja chwytu muszą być dokładnie zdefiniowane – wymaga algorytmów zdolnych do generalizacji. Jest to kluczowe, biorąc pod uwagę nieznane obiekty, różnorodne typy chwytaków oraz trudne warunki środowiskowe, włączając w to częściowe obserwacje i bałagan. Klasyczne planery chwytów, bazujące na modelach, opierają się na precyzyjnej estymacji pozycji obiektów lub skanach z wielu punktów widzenia, co czyni je niepraktycznymi w zastosowaniach “in-the-wild”. Chociaż podejścia oparte na uczeniu maszynowym wykazują pewien potencjał, to obecne metody często borykają się z problemami generalizacji i skalowalności, szczególnie przy zmianie chwytaka lub w złożonych środowiskach.

Kolejnym istotnym ograniczeniem istniejących systemów chwytania jest ich zależność od ogromnych ilości kosztownych, rzeczywistych danych lub specyficznego dostrajania domeny. Zbieranie i etykietowanie danych chwytów jest niezwykle drogie i niełatwo przenosi się między różnymi typami chwytaków czy złożonością scen. NVIDIA GraspGen odwraca ten paradygmat, odchodząc od drogiego gromadzenia danych z rzeczywistego świata na rzecz wykorzystania generowania danych syntetycznych na dużą skalę w symulacjach. Wykorzystuje przy tym obszerną bazę danych obiektów Objaverse (ponad 8000 obiektów) oraz symulowane interakcje chwytaków, generując ponad 53 miliony chwytów.

Modelowanie dyfuzyjne i architektura GraspGen

Kluczowym elementem GraspGen jest formułowanie generowania chwytów jako procesu denoisingu w modelu dyfuzyjnym (DDPM), działającego w przestrzeni pozycji SE(3) (obejmującej rotacje i translacje 3D). Modele dyfuzyjne, dobrze znane z generowania obrazów, iteracyjnie doskonalą losowe próbki szumu, kierując je ku realistycznym pozycjom chwytów, warunkowanych chmurą punktów reprezentującą obiekt. To podejście modelowania generatywnego naturalnie oddaje multimodalny rozkład ważnych chwytów na złożonych obiektach, co umożliwia przestrzenną różnorodność kluczową do radzenia sobie z bałaganem i ograniczeniami zadaniowymi.

Architektura GraspGen jest również innowacyjna. Wykorzystuje ona transformator dyfuzyjny z rdzeniem PointTransformerV3 (PTv3) do kodowania surowych, nieustrukturyzowanych danych chmury punktów w reprezentacje latentne. To różni się od wcześniejszych prac opartych na PointNet++ czy reprezentacji chwytów bazujących na kontakcie, co przekłada się na lepszą jakość chwytów i efektywność obliczeniową.

Istotnym ulepszeniem jest również „on-generator training” dyskryminatora. Zamiast szkolić dyskryminator na statycznych, offline’owych zbiorach danych o udanych/nieudanych chwytach, GraspGen uczy go na próbkach generowanych przez model dyfuzyjny podczas treningu. Te 'on-generatorowe’ chwyty ekspozycjują dyskryminator na typowe błędy modelu, takie jak chwyty lekko kolidujące czy odstające, co pozwala mu lepiej identyfikować i filtrować fałszywe pozytywy podczas wnioskowania. Ponadto, dyskryminator ponownie wykorzystuje zamrożony koder obiektów z generatora dyfuzyjnego, co znacząco redukuje zużycie pamięci.

Testy i wyniki: Od symulacji do rzeczywistości

GraspGen został przetestowany z trzema typami chwytaków: równoległymi (Franka Panda, Robotiq-2F-140), ssącymi oraz wielopalcowymi (planowane na przyszłość). Framework wykazuje również niezwykłą elastyczność środowiskową, działając zarówno na częściowych, jak i kompletnych chmurach punktów, a także w scenach z pojedynczymi obiektami i tych zaśmieconych. Kluczowe jest, że GraspGen, szkolony wyłącznie w symulacji, wykazał silne przeniesienie “zero-shot” na rzeczywiste platformy robotyczne, nawet w obecności szumów wizualnych.

W testach na benchmarku FetchBench, obejmującym 100 różnorodnych, zaśmieconych scen i ponad 6000 prób chwytu, GraspGen znacznie przewyższył najnowocześniejsze osiągnięcia, takie jak Contact-GraspNet i M2T2, poprawiając sukces zadania o prawie 17% w porównaniu do Contact-GraspNet. Nawet idealny planer z danymi “ground-truth” ledwo przekraczał 49% sukcesu, co podkreśla skalę wyzwania.

W eksperymentach z prawdziwym robotem UR10 i czujnikiem głębi RealSense, GraspGen osiągnął 81,3% ogólnego sukcesu chwytu w różnych scenariuszach rzeczywistych (w tym z bałaganem, w koszach, na półkach), przewyższając M2T2 o 28%. Co ważne, generował on skupione chwyty wyłącznie na obiektach docelowych, unikając fałszywych chwytów obserwowanych w modelach scentrowanych na scenie.

Otwartość i przyszłość

NVIDIA udostępniła publicznie zbiory danych GraspGen, wspierając rozwój społeczności. Zawiera on około 53 milionów symulowanych chwytów z 8515 siatek obiektów. Dodatkowo, kod źródłowy GraspGen i wstępnie wytrenowane modele są dostępne na licencji open-source. To działanie ma na celu umożliwić dalszy rozwój i zastosowanie tych innowacji w całej społeczności robotycznej.

GraspGen stanowi znaczący krok naprzód w dziedzinie chwytania robotycznego 6-DOF. Wprowadza on generatywny framework oparty na dyfuzji, który przewyższa wcześniejsze metody skalowalnością w zakresie wielu chwytaków, złożoności scen i warunków obserwacji. Nowatorska metoda treningu “on-generatorowego” dla oceny chwytów znacząco poprawia filtrowanie błędów modelu, prowadząc do dramatycznych wzrostów sukcesu chwytu i wydajności zadaniowej, zarówno w symulacji, jak i na prawdziwych robotach.

Łącząc symulację, uczenie maszynowe i modułowe komponenty robotyki, GraspGen staje się kompleksowym rozwiązaniem, przybliżając wizję niezawodnego chwytania robotycznego jako powszechnie stosowanego, fundamentalnego elementu manipulacji robotycznej ogólnego przeznaczenia.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *