Agenci AI sami testują i poprawiają kod robotów w symulacji
Zespoły agentów sztucznej inteligencji potrafią już napisać program sterujący robotem, przetestować go w wirtualnym świecie i poprawić, gdy coś nie działa. Naukowcy z Uniwersytetu Kalifornijskiego w Berkeley i firmy NVIDIA nazywają to podejście „agentic robotics”, czyli robotyką agentową. Ma ono ominąć dwa wielkie problemy tej dziedziny: potrzebę gigantycznych zbiorów danych i żmudne ręczne programowanie.
Dlaczego roboty uczą się wolniej niż chatboty
Dotychczas były dwie główne drogi. W robotyce opartej na modelach inżynierowie samodzielnie programują, jak robot ma rozpoznawać przedmioty, planować ruchy i sterować działaniem, co wymaga ogromnej pracy. W podejściu bez modeli robota uczy się z pokazów metodą naśladowania, a to z kolei pochłania mnóstwo danych i czasu.
Ken Goldberg, profesor inżynierii z Berkeley, przekonywał w zeszłym roku, że istnieje „luka danych” rzędu 100 tysięcy lat. Modele językowe uczono na ogromie tekstów i obrazów z internetu, a w robotyce nie ma niczego porównywalnego. Według Goldberga agentowa robotyka jest brakującym ogniwem między obiema metodami i nie wymaga dodatkowych danych.
Jak działa Graph-as-Policy
Zespół zmienił sposób organizacji kodu. W frameworku o nazwie Graph-as-Policy zadanie dzieli się na pojedyncze umiejętności, na przykład znalezienie przedmiotu, zaplanowanie chwytu czy przesunięcie chwytaka bez kolizji. Goldberg porównuje je do klocków, z których składa się większą całość.
Agenci AI generują te umiejętności i łączą je w program. Następnie, korzystając z bibliotek symulacyjnych NVIDIA Isaac, sami ćwiczą go na różnych wariantach zadania, wykrywają miejsca porażek i poprawiają rozwiązanie przed wdrożeniem. Inżynierowie mogą przy tym zrozumieć, jak program działa, co ułatwia jego weryfikację.
Badacze opisali test z modelem Astra firmy OpenAI. Dostał on dostęp do interfejsu symulacji oraz krótki film z prawdziwym robotem, który gąbką zmywał tusz z metalowego pręta. W niecałą godzinę model stworzył symulację fizyki wiernie odtwarzającą nagranie, łącznie z odkształcaniem się gąbki. Potem wygenerował i wielokrotnie poprawiał program sterujący, który uruchomiony na prawdziwym robocie zadziałał. Gdy w jednej próbie robot przewrócił pręt, bo źle oszacował jego masę, agent wykorzystał nagranie porażki do ulepszenia symulacji i kodu.
Pierwsze efekty w magazynach
Firma Ambi Robotics, zajmująca się logistyką i realizacją zamówień w magazynach, zastosowała metodę do analizy danych o sortowaniu paczek i testowania zmian w zachowaniu robotów. Testy wykazały wzrost wydajności o ponad 15 tysięcy posortowanych paczek rocznie na robota. Zmiana działa już w 30 proc. amerykańskiej floty firmy. Współzałożyciel Jeff Mahler podkreślił, że dane produkcyjne zamieniono na aktualizacje zachowania robotów, a inżynierowie zachowali nad nimi kontrolę.
Goldberg zastrzega, że na robota składającego pranie w domu trzeba jeszcze poczekać. Obiecujące są za to zastosowania przemysłowe, gdzie zadania są powtarzalne i wykonywane na dużą skalę. Badacze udostępniają otwarty kod oparty na platformie Isaac oraz branżowy test porównawczy do oceny robotów w zadaniach przemysłowych. Wyniki opublikowano na serwerze preprintów arXiv i zaprezentowano na konferencji Conference on Robot Learning.
Co to oznacza dla Polski
Opisane prace to na razie badania i wdrożenia w amerykańskiej firmie, a nie gotowy produkt dla polskich zakładów. Ponieważ kod jest otwarty, mogą jednak z niego skorzystać także europejscy badacze i integratorzy robotów. Dla polskich fabryk i centrów logistycznych, które coraz częściej automatyzują pracę, najważniejsza może być możliwość testowania zmian w symulacji, zanim trafią na linię produkcyjną, bo to mniej przestojów i ryzyka. Czy metoda sprawdzi się w konkretnych warunkach, pokażą dopiero kolejne wdrożenia.
Sam Goldberg ocenia, że to prawdziwa zmiana paradygmatu. Jak powiedział: „Agentic robotics łączy klasyczną teorię sterowania i fizykę z szybko rozwijającym się programowaniem agentowym.”
Źródło: Tech Xplore – „AI agents test and improve robot code in virtual worlds before deployment”