Robotyczny ChatGPT jest możliwy

Robotyczny ChatGPT jest możliwy

Dr inż. Maksym Figat z Politechniki Warszawskiej, tegoroczny laureat Konkursu o Nagrodę ABB, mówi o uniwersalnym metamodelu, badaniach dla NASA i tworzeniu prostych systemów robotycznych na własne, codzienne potrzeby.

fot. Re:View, arch. ABB
fot. Re:View, arch. ABB
center

Sądząc po tytule, tematyka pracy, która dała Panu zwycięstwo w Konkursie o Nagrodę ABB, teoretycznie wydaje się dosyć prosta: „Automatyczne generowanie sterowników systemów robotycznych na podstawie specyfikacji”. Za proste rzeczy nie dostaje się jednak nagród. Co jest więc w Pańskiej pracy przełomowego i odkrywczego?

Mój promotor, prof. dr hab. Cezary Zieliński, postawił przede mną wymagające zadanie opracowania metodyki projektowania systemów robotycznych bez określenia klasy typów systemów i realizowanych działań. Musiałem poznać różne architektury robotyczne, aktualnie stosowane wzorce projektowe oraz odnaleźć punkty wspólne. W efekcie opracowałem uniwersalną metodykę projektowania systemów robotycznych, opartą na ontologii rozwijanej od wielu lat przez nasz zespół badawczy. Ta kompleksowość i złożoność nie mają swojego odzwierciedlenia w tytule pracy.

Udało się stworzyć uniwersalny model?

Powiedziałbym, że udało się opracować podejście oparte na sparametryzowanym metamodelu. Stworzyłem uniwersalny metamodel, który obejmuje całościowo system robotyczny, jego strukturę, kanały komunikacji i sposób działania poszczególnych elementów. Chociaż nie da się zweryfikować wszystkich kombinacji możliwych do opracowania systemów robotycznych, udało nam się wykazać uniwersalność tego podejścia w pewnym zakresie. Współpraca z profesorem Cezarym Zielińskim była kluczowa dla osiągnięcia tego rezultatu.

A czy to nie kłóci się trochę z kierunkiem rozwoju współczesnej inżynierii, w ramach której zdecydowana większość rozwiązań jest przygotowywana pod konkretne urządzenia dla indywidualnie opracowanych aplikacji? Pan próbował stworzyć coś „superuniwersalnego”, a przecież mówi się, że jak coś jest do wszystkiego, to zazwyczaj jest do niczego.

Rozumiem obawy związane z tym podejściem. Większość rozwiązań inżynierskich jest projektowana pod konkretne urządzenia i indywidualne aplikacje. W ramach mojej pracy podjąłem jednak próbę przeciwdziałania temu typowemu podejściu do projektowania sterowników. Wiele systemów robotycznych jest tworzonych w sposób ad hoc, kiedy to projektanci korzystają z istniejących funkcji bibliotecznych i komponentów, pomijając etap tworzenia specyfikacji systemu i nie stosując wzorców projektowych. Choć doświadczeni projektanci mogą być w stanie stworzyć taki system, pojawia się wysoki próg wejścia dla nowych użytkowników lub modyfikacji systemu w przyszłości.

Dlatego też wprowadziłem wzorce projektowe, które umożliwiają opracowanie modelu systemu, analizę jego właściwości, generację kodu sterownika oraz dalszy rozwój projektu. W ramach mojego doktoratu zaproponowałem metodykę opartą na parametrycznym metamodelu dla systemów robotycznych. Mówiąc konkretnie – specyfikacja systemu jest definiowana przez określenie interesujących nas parametrów. Na podstawie tych parametrów generowany jest model systemu, a następnie kod sterownika uruchomiony na robocie. Chociaż stworzenie „superuniwersalnego” systemu może budzić obawy, moje podejście koncentruje się na takim modelu i narzędziach, które mogą być dostosowane do różnych aplikacji w dziedzinie robotyki. W ten sposób staram się zrównoważyć elastyczność projektowania z efektywnością i skalowalnością. Wierzę, że tego typu narzędzie może być przydatne dla projektantów, umożliwiając im tworzenie systemów robotycznych w sposób bardziej efektywny i dostosowany do ich potrzeb.

Rzeczywiście, tytuł Pańskiej pracy jest prosty tylko teoretycznie…

Najlepiej zobrazować to na przykładzie. Wyobraźmy sobie robota, którego zadaniem jest łapanie rzucanych piłeczek. Na pierwszy rzut oka może to wydawać się prostym zadaniem. Codziennie wykonujemy podobne czynności, jak chwytanie różnych przedmiotów, które poruszają się w przestrzeni z różną prędkością. Co więc będzie nam potrzebne? Na pewno manipulator z chwytakiem, który będzie w stanie chwytać lecące piłeczki. Dodatkowo potrzebny będzie czujnik, np. kamera. Jednak sama kamera i chwytak nie będą w stanie zrealizować zadania. Potrzebny będzie również system decyzyjny, który będzie przetwarzał dane z czujnika (tj. wykrywał piłeczki w obrazie z kamery) i podejmował decyzje dotyczące ruchu manipulatora i chwytaka. Można to porównać do człowieka, który ma dwie ręce i oczy, ale to mózg podejmuje decyzję, w którą stronę poruszyć ręką. Decyzja ta opiera się na analizie obrazu lotu piłeczki dostarczonego przez oczy. W pracy doktorskiej skupiam się na funkcjonowaniu „mózgu” robota, tj. zarówno na niższych, jak i wyższych warstwach projektowanego systemu.

Dość oczywiste, gdy mówimy o człowieku, ale z perspektywy robotyki to pewnie o wiele bardziej złożone zagadnienie?

Robot musi być wyposażony w manipulator o odpowiedniej liczbie stopni swobody, najlepiej redundantny (czyli posiadający dodatkowe stopnie swobody umożliwiające osiągnięcie tego samego położenia docelowego na różne sposoby). Decyzje dotyczące ruchu manipulatora, oparte na informacjach z kamery, muszą być podejmowane w odpowiednim czasie. Dodatkowo, robot może napotkać różne problemy, takie jak ograniczona przestrzeń robocza manipulatora, konieczność unikania przeszkód czy zachowanie stabilności podczas przemieszczania się. W przypadku chwytania lecących obiektów, pojedyncza kamera może nie wystarczyć do precyzyjnego określenia ich pozycji. Być może trzeba by postarać się dodatkową kamerę lub czujniki. Różnorodność obiektów, ich właściwości fizyczne i różne warunki pracy, dodatkowo wszystko komplikują. Innymi słowy, zadanie chwytania i manipulacji poruszającymi się obiektami, które dla człowieka jest trywialne, stanowi znacznie większe wyzwanie dla systemu robotycznego.

Rozwijanie i modyfikowanie systemów robotycznych wymaga więc starannego planowania i rozważania wielu czynników. Użycie podejścia ad hoc może ograniczać możliwość dalszej modyfikacji i rozbudowy systemu. Dlatego proponowane w rozprawie doktorskiej podejście, oparte na łatwej integracji niezależnych elementów systemu, umożliwia jego nieograniczoną modyfikację i rozbudowę. To kluczowy element, szczególnie w przypadku rosnącej liczby robotów pracujących dla ludzi i zwiększającego się zakresu ich zadań. Programowanie sterowników od podstaw za każdym razem byłoby niepraktyczne i ograniczałoby rozwój robotyki.

Czy efekty Pana pracy da się skomercjalizować, wykorzystać w biznesie? A może już pojawiły się konkretne propozycje ze strony firm inżynierskich?

Obecnie nie ma konkretnych propozycji ze strony firm inżynierskich dotyczących skomercjalizowania efektów mojej pracy. Jednak dzięki takim inicjatywom, jak Konkurs o Nagrodę ABB, moja praca, prowadzona pod kierunkiem prof. Zielińskiego, będzie szerzej promowana i znana. Być może doprowadzi to do skomercjalizowania koncepcji w przyszłości.

To dla mnie niezwykłe i ogromne wyróżnienie, zwłaszcza z perspektywy młodego naukowca. Kosztowało mnie to wiele lat pracy i wyrzeczeń. Mam też motywację do kontynuowania badań, ponieważ mimo tego, że praca doktorska liczy już 214 stron, nadal posiadam wiele niewykorzystanego materiału, który warto wykorzystać. Lata poświęcone na doktorat miały sens i mam nadzieję, że moje opracowanie nie pozostanie jedynie w bibliotece, ale również zostanie docenione przez przemysł.

  • fot. Re:View, arch. ABB
  • fot. Re:View, arch. ABB
  • fot. Re:View, arch. ABB

Czy to już koniec pracy nad wspomnianą koncepcją?

Cały czas będę kontynuował badania i doskonalenie opracowanej metodyki. Moim celem jest stworzenie środowiska służącego do projektowania sterowników robotycznych, w którym programowanie robotów stanie się mniej skomplikowane i nie będzie wymagać specjalistycznej wiedzy ani wieloletnich studiów. Chciałbym, aby podobnie jak w przypadku informatyki, gdzie wymagania wobec programistów stawały się coraz mniejsze (poprzez coraz to bardziej abstrakcyjne języki programowania), za pomocą sztucznej inteligencji, narzędzi takich jak ChatGPT oraz mojego podejścia projektowania sterowników systemów robotycznych, można było tworzyć zaawansowane rozwiązania bez konieczności posiadania doświadczenia eksperta w danym obszarze.

Zmierzam w stronę zakodowania wiedzy i doświadczenia w metodyce, wskazówkach i ontologii, aby użytkownik mógł zdefiniować swoje oczekiwania w prosty sposób, znając jedynie podstawowe pojęcia. Cała reszta ma być dla użytkownika „niewidoczna”, a wynikiem jego pracy ma być automatycznie wygenerowany kod. Oczywiście przede mną jeszcze wiele pracy, ale wierzę, że taki docelowy model jest możliwy do osiągnięcia.

Wkrótce będę miał również wspaniałą okazję do weryfikacji moich pomysłów i wniosków. Na początku września rozpoczynam półroczne stypendium, które zostało mi przyznane przez amerykańską Fundację Kościuszkowską. W ramach tego stypendium będę prowadził badania nad systemami wielorobotycznymi w Jet Propulsion Laboratory, które jest częścią NASA.

Co może być długofalowym, końcowym efektem tego typu prac?

Może być nim zaawansowany system, który umożliwi użytkownikom tworzenie i dostosowywanie prostych systemów robotycznych według własnych potrzeb, podobnie jak w przypadku ChatGPT. Użytkownik będzie mógł określić swoje oczekiwania i preferencje dotyczące rozwiązania, złożyć odpowiednie urządzenia i wyposażenie, a system automatycznie wygeneruje oprogramowanie sterowników, które zapewni działanie systemu zgodnie z oczekiwaniami.

Istnieją już pewne zrobotyzowane urządzenia, takie jak autonomiczne kosiarki czy odkurzacze, które pomagają w codziennych czynnościach. Jednak zmiana ich funkcji i przeprogramowanie wciąż jest trudne lub wręcz niemożliwe dla przeciętnego użytkownika. Taki zaawansowany system, który umożliwi personalizację i dostosowywanie robotów, otworzyłby nowe możliwości w domenie robotyki i umożliwił użytkownikom tworzenie prostych systemów robotycznych na własne potrzeby. Efektem byłyby bardziej dostępne i funkcjonalne systemy robotyczne, które pomagają w różnych dziedzinach życia, takich jak kuchnia czy sprzątanie, ale dostosowane do indywidualnych preferencji i potrzeb użytkowników.

Wspomniał Pan o automatycznych odkurzaczach. Czy gdybyśmy chcieli, żeby takie urządzenie podnosiło przy okazji porozrzucane przez dzieci zabawki, sprawa się bardzo komplikuje?

Dodanie funkcji zbierania i sortowania porozrzucanych zabawek niesie ze sobą pewne wyzwania. Konieczne byłoby wyposażenie urządzenia w nowe czujniki, takie jak kamera do rozpoznawania zabawek, oraz odpowiedni chwytak do ich podnoszenia i przenoszenia. Dodatkowo, ze względu na to, że robot by działał w środowisku dziecka, musielibyśmy zapewnić odpowiednie mechanizmy bezpieczeństwa, aby uniknąć ryzyka zranienia przez manipulator rączki dziecka.

Mimo tych dodatkowych komplikacji, rozwinięcie takiej funkcjonalności jest możliwe poprzez odpowiednie projektowanie i implementację. W miarę postępu technologicznego i udoskonalania systemów robotycznych, takie urządzenia mogą być programowane i wyposażone w zaawansowane funkcje, dzięki którym pozbierają i posortują zabawki w sposób bezpieczny i efektywny. Pamiętajmy, że rozwój takich rozwiązań wymaga czasu i systematycznego podejścia. Nie jest to proces, który może nastąpić z dnia na dzień, ale wymaga stopniowego doskonalenia i ewolucji. Konieczne jest również tworzenie prostszych interfejsów i narzędzi programistycznych, które umożliwią łatwiejsze programowanie i konfigurację tych urządzeń.

Wierzę, że poprzez dalszy rozwój technologii i dostępność prostszych narzędzi projektowych, możemy upowszechnić programowanie sterowników robotów wśród społeczeństwa. To otwiera nowe perspektywy i potencjalne zastosowania, w życiu codziennym, ale i np. w obszarze opieki nad osobami starszymi i niepełnosprawnymi.

Biuro prasowe ABB

Linki

Skontaktuj się z nami

Do pobrania

Poleć artykuł

Facebook LinkedIn Twitter WhatsApp