Programowanie Robotów w Języku Lua
Lua - Elastyczne sterowanie robotami
Alternatywne programowanie dla Universal Robots
Optymalizacja procesów w automatyzacji
Integracja Lua z systemami robotycznymi
Precyzja i wydajność w sterowaniu
Nowoczesne podejście do automatyzacji
Lua to lekki i wydajny język programowania stosowany w systemach robotycznych, takich jak Universal Robots. NexaRob oferuje wsparcie w programowaniu, integracji i optymalizacji systemów Lua, dostosowując je do specyficznych wymagań produkcyjnych i automatyzacyjnych.
Skontaktuj się z nami Obejrzyj wideoPoznaj kluczowe atuty i możliwości języka Lua - fundament elastycznego sterowania robotami Universal Robots
Programowanie Robotów przemysłowych Universal Robots w języku Lua
Lua to lekki i szybki język skryptowy, który stał się atrakcyjną alternatywą dla bardziej rozbudowanych platform programistycznych, zyskując uznanie m.in. w środowiskach Universal Robots (UR). Jego składnia jest prosta, a elastyczność - imponująca, co sprawia, że idealnie nadaje się do tworzenia zróżnicowanych sekwencji ruchów, aplikacji logistycznych czy obsługi dodatkowych czujników i kamer. W praktyce oznacza to wydajne i łatwe w modyfikacji rozwiązania, przydatne zwłaszcza w dynamicznych procesach produkcyjnych, gdzie każda sekunda ma znaczenie.
Dzięki Lua, inżynierowie mogą tworzyć oprogramowanie robotów UR, które oferuje:
- Precyzyjne sterowanie ruchem: Wielość dostępnych poleceń umożliwia realizację zadań z dużą dokładnością, zarówno w prostych, jak i bardziej złożonych operacjach produkcyjnych.
- Elastyczną integrację z systemami przemysłowymi: Lua może wchodzić w interakcje z różnorodnymi komponentami linii produkcyjnej - od sensorów obecności i czujników siły, aż po systemy wizyjne czy zewnętrzne kontrolery.
- Szybką adaptację do zmiennego środowiska: Intuicyjna składnia i niewielkie wymagania sprzętowe sprawiają, że modyfikowanie kodu w odpowiedzi na potrzeby biznesowe (np. wprowadzenie nowego modelu produktu) nie stanowi większego wyzwania.
Dlaczego Lua w Universal Robots?
- Minimalistyczna konstrukcja języka: Prosta, czytelna składnia przyspiesza wdrożenie nawet w zespołach, które dotąd nie miały styczności z programowaniem robotów UR.
- Wysoka wydajność przy niskich zasobach: Lua potrafi efektywnie działać nawet na urządzeniach z ograniczonymi możliwościami pamięci i procesora, co przekłada się na płynne działanie robotów i krótsze przestoje.
- Otwarta architektura: Język umożliwia tworzenie własnych bibliotek i modułów, dzięki czemu inżynierowie mają pełną swobodę w projektowaniu logiki i funkcjonalności pod konkretne wymagania procesowe.
Jak NexaRob może pomóc?
- Analiza i dobór rozwiązań: Wspólnie z klientem określamy specyfikę aplikacji oraz ustalamy priorytety, tak aby Lua rzeczywiście przyniosła korzyści w sterowaniu robotami UR i integracji z pozostałymi elementami linii produkcyjnej.
- Pisanie i optymalizacja kodu: Zapewniamy kompleksowe wsparcie - od tworzenia struktury programu w Lua, poprzez testy offline i symulacje, aż po uruchomienie na robocie.
- Szkolenia operatorów i wsparcie długoterminowe: Oferujemy zestaw warsztatów, które pozwalają zespołom efektywnie zarządzać tworzonym kodem. W razie potrzeby służymy ciągłym wsparciem - zarówno przy rozbudowie aplikacji, jak i przy utrzymaniu ich stabilności.
Roboty Universal Robots zyskują nowy wymiar możliwości, gdy są programowane w Lua. NexaRob dba o to, by całość wdrożenia była nie tylko efektywna i precyzyjna, ale również łatwo skalowalna w obliczu zmieniających się potrzeb produkcyjnych.
Przekonaj się, co wyróżnia Lua na tle innych rozwiązań i w jakich zastosowaniach roboty UR osiągają najwyższą efektywność
Kluczowe Funkcje i Przykłady Zastosowań w Języku Lua
Lua oferuje szeroki wachlarz narzędzi, które przekładają się na skuteczne i bezpieczne programowanie robotów Universal Robots. Dzięki temu możliwe jest nie tylko przygotowanie zaawansowanych sekwencji ruchowych, ale także aktywne reagowanie na zmienne warunki na linii produkcyjnej. Oto kilka przykładów kluczowych atutów, które wyróżniają język Lua w środowisku UR
Modularna struktura kodu:
Program można dzielić na oddzielne pliki i moduły, co ułatwia porządkowanie logiki, edycję oraz ponowne wykorzystanie wybranych fragmentów.
Przykład zastosowania: Zakłady produkcyjne, w których konieczne jest regularne rozszerzanie lub modyfikowanie kodu z uwagi na wprowadzanie nowych modeli produktów lub zmiany w procesach montażowych.
Bogate instrukcje ruchu
Dzięki rozszerzeniom dla Universal Robots, w Lua dostępne są predefiniowane polecenia dla ruchów liniowych, przegubowych czy łukowych, co sprzyja precyzji i płynności działania.
Przykład zastosowania: Aplikacje montażowe lub spawalnicze, gdzie robot musi wykonać serię dokładnych ruchów, minimalizując ryzyko uszkodzenia komponentów.
Możliwość integracji z systemami wizyjnymi i czujnikami siły
Lua może odbierać dane z kamer 2D/3D oraz z urządzeń pomiarowych, dynamicznie dostosowując trajektorię ruchu do aktualnej pozycji obiektów lub warunków pracy.
Przykład zastosowania: Linia montażowa, w której robot UR sortuje elementy w zależności od kształtu i położenia, rozpoznanych przez system wizyjny.
Obsługa komunikacji sieciowej
Język Lua - w połączeniu z dedykowanymi bibliotekami - umożliwia wymianę informacji z systemami ERP, MES czy sterownikami PLC, zapewniając integrację na poziomie całej fabryki.
Przykład zastosowania: Przemysł automotive, gdzie każdy ruch robota musi być skoordynowany z innymi maszynami, a dane o stanie produkcji muszą trafiać do centralnej bazy danych w czasie rzeczywistym.
Zaszyte funkcje bezpieczeństwa
Możliwość definiowania warunków awaryjnych oraz reagowania na sytuacje zagrażające operatorom lub sprzętowi - np. poprzez monitorowanie wartości momentu na osi czy obecności człowieka w obszarze roboczym.
Przykład zastosowania: Aplikacje, w których robot UR współpracuje z człowiekiem (tzw. cobot), i wymagana jest błyskawiczna reakcja w razie potencjalnych kolizji.
NexaRob wspiera organizacje na każdym etapie wdrożenia – od analizy potrzeb, poprzez projektowanie i pisanie kodu w Lua, aż po testy oraz szkolenia załogi. W dalszych blokach wyjaśnimy, jak przygotować środowisko offline do pisania i debugowania kodu, jak radzić sobie z integracjami wizyjnymi czy czujnikami, a także przedstawimy studium przypadku ilustrujące realne korzyści płynące z wdrożenia Lua w robotach Universal Robots. Dzięki temu dowiesz się, jak w pełni wykorzystać potencjał tej technologii, aby uczynić procesy bardziej wydajnymi, elastycznymi i bezpiecznymi.
Sprawdź, jak efektywnie tworzyć i testować kod w Lua dla robotów Universal Robots
Środowisko Programistyczne, Edycja Offline i Debugowanie
Programowanie robotów Universal Robots w języku Lua może odbywać się na kilka sposobów - od pisania i uruchamiania kodu bezpośrednio w panelu robota, aż po zaawansowane symulacje offline. NexaRob pomaga dobrać najbardziej efektywny model pracy, dopasowany do poziomu doświadczenia zespołu i konkretnego charakteru produkcji. Dzięki temu cały cykl tworzenia oprogramowania - od prototypu po wdrożenie - staje się szybszy, bardziej elastyczny i bezpieczny.
Programowanie Online (bezpośrednio na robocie)
- Natychmiastowa interakcja: Kod Lua można wprowadzać za pomocą panelu operatorskiego (Teach Pendant), co pozwala na szybką weryfikację prostych sekwencji ruchu i obserwację reakcji robota w czasie rzeczywistym.
- Szybkie korekty na linii: Idealne, gdy w trakcie pracy konieczna jest dynamiczna modyfikacja parametrów - np. dostosowanie prędkości czy punktów zatrzymania robota.
- Ograniczenia: Przy większych projektach manualne dodawanie wielu instrukcji może być czasochłonne, a brak szerokich narzędzi diagnostycznych online utrudnia zaawansowane debugowanie.
Edycja Offline (środowisko symulacyjne)
- Przygotowanie kodu na komputerze: Lua i dedykowane narzędzia UR umożliwiają tworzenie oraz testowanie ruchów robota „wirtualnie”, co minimalizuje ryzyko kolizji na linii produkcyjnej.
- Oszczędność czasu: Inżynierowie mogą pracować nad kolejną wersją oprogramowania bez zatrzymywania robota. Gotowy kod wgrywa się dopiero w momencie, gdy jest pewność co do poprawnego działania sekwencji.
- Zastosowanie: Doskonale sprawdza się w złożonych projektach, gdzie niezbędne są skomplikowane trajektorie, a ewentualne błędy ruchowe mogłyby generować wysokie koszty lub zagrożenia dla bezpieczeństwa.
Zdalna Modyfikacja Kodów
- Dostęp przez sieć: Jeśli infrastruktura fabryki to umożliwia, istnieje opcja zdalnego połączenia z kontrolerem UR, aby wprowadzać korekty bądź monitorować parametry pracy robota w czasie rzeczywistym.
- Wsparcie ekspertów: NexaRob lub wewnętrzny dział R&D może szybko reagować w sytuacjach awaryjnych albo wtedy, gdy potrzebne są pilne zmiany w oprogramowaniu - nawet bez fizycznego dostępu do maszyny.
Najlepsze praktyki w debugowaniu
- Logowanie zdarzeń: Regularne zapisywanie komunikatów i punktów kontrolnych pozwala na łatwiejsze diagnozowanie przyczyn nieprawidłowości.
- Testy modułowe: Drobne fragmenty kodu Lua można sprawdzać w izolacji, co zmniejsza ryzyko pojawienia się trudnych do wykrycia błędów w projekcie o dużej skali.
- Kontrola wersji: Systemy typu Git umożliwiają zachowanie pełnej historii zmian i sprawne współdzielenie kodu w zespole, co przydaje się szczególnie w długofalowych projektach.
Wybór metody i narzędzi zależy od poziomu skomplikowania zadania oraz potrzeb zakładu. NexaRob oferuje doradztwo i wsparcie w konfiguracji środowisk programistycznych, aby tworzenie kodu w Lua – online czy offline – było maksymalnie efektywne.
Dowiedz się, jak kod Lua pozwala robotom UR reagować na dane z kamer i sensorów, dopasowując się do zmiennych warunków produkcji
Integracja z Systemami Wizyjnymi i Czujnikami w Lua
Roboty i urządzenia Festo, sterowane w języku FTL, nie są ograniczone do odtwarzania ustalonych tras ruchu. Dzięki możliwości komunikacji z systemami wizyjnymi (2D/3D) oraz czujnikami (np. siły), mogą aktywnie dostosowywać swoje operacje do aktualnej sytuacji na linii. Poniżej prezentujemy, jak FTL wspiera taką inteligentną współpracę:
Systemy Wizyjne (Vision Systems)
- Protokół komunikacji: Lua może korzystać z dedykowanych bibliotek do wymiany danych z kamerami, które dostarczają informacji o położeniu, rozmiarze lub jakości elementów na linii.
- Dynamiczne korygowanie trajektorii: Po rozpoznaniu kształtu bądź pozycji przedmiotu, robot UR automatycznie wylicza offset ruchu, co skraca czas cyklu i minimalizuje błędy w montażu.
- Przykładowe zastosowania: Sortowanie nieregularnych obiektów, precyzyjne układanie podzespołów czy kontrola jakości w branży spożywczej.
Czujniki Siły i Momentu
- Regulacja nacisku: Robot może w czasie rzeczywistym zmieniać siłę docisku, aby nie uszkodzić delikatnych komponentów lub uniknąć blokady w przypadku niewłaściwego spasowania elementów.
- Wykrywanie kolizji: Jeśli moment na osi przekroczy zaprogramowany próg, kod Lua natychmiast przerywa operację i generuje sygnał awaryjny, chroniąc zarówno sprzęt, jak i operatorów.
- Przykładowe zastosowania: Precyzyjne dokręcanie śrub, wstawianie komponentów elektronicznych, procesy montażowe w warunkach o dużej zmienności.
Integracja z systemami sterowania i chmurą
- Komunikacja sieciowa: Robot UR może wymieniać dane z innymi maszynami czy systemami MES/ERP, dzięki czemu cały proces produkcji staje się zsynchronizowany i transparentny.
- Obsługa dodatkowych osi: Lua umożliwia sterowanie też dodatkowymi akcesoriami (np. stoły obrotowe, chwytaki), rozszerzając funkcjonalność robota UR w kontekście bardziej złożonych aplikacji.
- Zastosowanie: Linie produkcyjne działające w modelu Industry 4.0, gdzie każdy element wyposażenia fabryki jest połączony z centralną platformą analizy danych.
Zastosowanie systemów wizyjnych i czujników sprawia, że roboty Universal Robots programowane w Lua mogą dostosowywać się do bieżących potrzeb, np. reagując na zmieniające się parametry surowca czy układ detali na taśmie. NexaRob wspiera firmy w doborze odpowiednich urządzeń, opracowaniu kodu oraz pełnej integracji, co przekłada się na wyższą wydajność i lepszą jakość produkcji.
Przekonaj się, jak dzięki kodowi Lua można usprawnić kluczowe etapy procesu w branży przemysłowej
Optymalizacja Montażu z Universal Robots
W tym bloku przedstawiamy przykładowy scenariusz z sektora produkcji, w którym roboty Universal Robots - programowane w języku Lua - wyraźnie podniosły efektywność i jakość finalnych wyrobów. Choć konkretne rozwiązania różnią się w zależności od branży, główne wnioski i osiągnięte rezultaty pokazują realną wartość płynącą z wdrożenia Lua w zautomatyzowanych procesach.
Kontekst i Główne Wyzwania
- Złożoność operacji montażowych: Firma realizowała wiele etapów składania komponentów, co wymagało wysokiej precyzji i dokładnej koordynacji ruchów robota.
- Krótkie serie produkcyjne: Częste zmiany modeli lub wariantów produktu powodowały konieczność szybkiego przełączania się między sekwencjami ruchu i dostosowywania parametrów.
- Ograniczenia przestrzeni: Linia produkcyjna nie mogła zostać znacznie rozbudowana, a robot miał pracować w bliskim sąsiedztwie operatorów, co wymagało podniesionych standardów bezpieczeństwa.
Modułowa Struktura Procesu
Każdy kluczowy podproces (np. kontrola jakości, dokręcanie śrub, układanie detali) otrzymał własny moduł w kodzie Lua. Dzięki temu łatwo było modyfikować lub wyłączać wybrane fragmenty programu bez ingerencji w pozostałe elementy linii.
Integracja z Czujnikami Siły
Robot UR monitorował siłę docisku podczas montażu, zapewniając delikatne osadzanie elementów - w razie wyczucia oporu skrypt zatrzymywał ruch i wysyłał alert do operatora. Ta funkcja ograniczyła liczbę uszkodzonych komponentów i pozwoliła uniknąć powtarzania całego procesu montażowego.
Efekty i Korzyści
- Przyspieszenie tempa montażu o około 20-30%: Dzięki dynamicznej korekcji ruchu i szybkiej konfiguracji nowego produktu skrócono przestoje w linii.
- Redukcja błędów i odpadów: Wykorzystanie czujników siły i wizyjnych pozwoliło na automatyczne wyeliminowanie błędnie złożonych elementów oraz uszkodzonych podzespołów.
- Wyższy poziom bezpieczeństwa: Precyzyjne monitorowanie obciążenia i zaimplementowanie procedur awaryjnych w Lua zmniejszyło ryzyko kolizji i wypadków w miejscu pracy.
- Łatwiejsza adaptacja do nowych wymagań: Dzięki modułowej strukturze kodu inżynierowie mogli błyskawicznie dodawać kolejne podprocesy lub zmieniać istniejące parametry.
Rola NexaRob Firma NexaRob wsparła klienta na każdym etapie projektu: od wstępnej analizy potrzeb, poprzez projektowanie kodu w Lua, aż po wdrożenie i szkolenia operatorów. W efekcie zakład produkcyjny zyskał nowoczesne i elastyczne rozwiązanie, które realnie poprawiło konkurencyjność i zdolność szybkiego reagowania na potrzeby rynku.
Dowiedz się, jak utrzymać wysoką efektywność i niezawodność aplikacji w Lua, przestrzegając jednocześnie wymogów bezpieczeństwa
Optymalizacja Kodów i Procedury Bezpieczeństwa w środowisku Universal Robots
Po uruchomieniu aplikacji w Lua dla robotów Universal Robots warto kontynuować jej doskonalenie. NexaRob rekomenduje zestaw praktyk, które pomagają zachować stabilność, wydajność oraz spełnić wymogi BHP i branżowych norm jakości - nawet w najbardziej wymagających procesach produkcyjnych.
Analiza czasu cyklu i ścieżek ruchu
- Monitorowanie statystyk: Robot może gromadzić dane o liczbie wykonanych cykli, czasie przestojów czy awariach. Analiza tych informacji ułatwia identyfikację wąskich gardeł i potencjalnych obszarów do optymalizacji.
- Optymalizacja trajektorii: Drobne korekty prędkości, przyspieszenia i punktów zatrzymania potrafią znacznie skrócić czas operacji, nie obniżając bezpieczeństwa ani precyzji ruchu.
Struktura i klarowność kodu
- Refaktoryzacja: Regularne usuwanie powtarzalnych fragmentów i tworzenie funkcji wspólnych umożliwia sprawniejsze rozwijanie aplikacji, przy jednoczesnym ograniczeniu ryzyka błędów.
- Konsekwentne nazewnictwo: Stosowanie czytelnych, spójnych nazw zmiennych (np. forceLimit, homePosition) pozytywnie wpływa na pracę całego zespołu i ułatwia debugowanie.
Procedury bezpieczeństwa
- Warunki awaryjne: Kodeks Lua może w dowolnym momencie przerwać pracę robota w razie wykrycia nietypowych przeciążeń czy naruszenia stref bezpieczeństwa wokół maszyn.
- Testy zgodności: Warto regularnie sprawdzać, czy mechanizmy ochronne (np. bariery świetlne, czujniki obecności operatorów) są aktualne i działają zgodnie z obowiązującymi przepisami.
Aktualizacje i konserwacja
- Nowe wersje firmware: Universal Robots może udostępniać aktualizacje, które poprawiają stabilność lub wprowadzają nowe funkcje. Ich instalacja często przynosi wymierne korzyści wydajnościowe.
- Skalowanie aplikacji: Wraz z rozwojem produkcji lub wprowadzeniem nowych wariantów produktów można łatwo rozszerzyć istniejący kod Lua, np. dodając obsługę kolejnych czujników czy zmieniając konfiguracje ruchu.
Regularna optymalizacja kodu Lua i dbałość o procedury bezpieczeństwa to fundament długotrwałej, bezproblemowej eksploatacji robotów UR. NexaRob pomaga w okresowych przeglądach, usprawnianiu trajektorii ruchu oraz integracji nowych urządzeń – tak, aby Twoja linia produkcyjna pozostawała maksymalnie wydajna, a ryzyko nieplanowanych przestojów utrzymywało się na minimalnym poziomie.
Rozwiej wątpliwości dotyczące tworzenia i utrzymania aplikacji w Lua na robotach Universal Robots
Najczęściej Zadawane Pytania
Poniżej przedstawiamy dziewięć pytań, które często pojawiają się w kontekście programowania robotów UR z wykorzystaniem języka Lua. Jeśli nie widzisz tutaj odpowiedzi na swoje wątpliwości, skontaktuj się z NexaRob - nasi specjaliści pomogą w doborze optymalnych rozwiązań i zaproponują model współpracy dostosowany do potrzeb Twojej firmy.
Nie. Lua charakteryzuje się prostą składnią i niewielkimi wymaganiami sprzętowymi, co pozwala na szybkie wdrożenie nawet osobom niezaznajomionym z zaawansowanymi językami programistycznymi. NexaRob oferuje szkolenia, które umożliwiają sprawne rozpoczęcie pracy z kodem.
Lua umożliwia korzystanie z dedykowanych bibliotek do komunikacji z kamerami 2D/3D czy czujnikami siły i momentu. Dzięki temu robot UR może w czasie rzeczywistym korygować trajektorię ruchu, reagując na zmieniające się warunki na linii produkcyjnej.
Jak najbardziej pozytywnie - w kodzie można uwzględnić mechanizmy awaryjne, np. natychmiastowe zatrzymanie ruchu w razie przekroczenia dopuszczalnych wartości momentu na osi. Ważne jest też regularne testowanie i aktualizowanie zabezpieczeń zgodnie z obowiązującymi normami.
Zależy to od dynamiki procesów produkcyjnych oraz pojawiających się aktualizacji ze strony producenta. Zazwyczaj warto cyklicznie (np. co kilka miesięcy) sprawdzać dostępność nowych wersji oprogramowania kontrolera UR i weryfikować, czy wprowadzone zmiany mogą poprawić wydajność lub bezpieczeństwo
Tak. NexaRob specjalizuje się w kompleksowej integracji robotów z całym ekosystemem produkcyjnym. Pomagamy w wyborze odpowiednich protokołów, konfiguracji sieci oraz zabezpieczeń, tak aby wymiana danych między robotem UR a systemami nadrzędnymi przebiegała sprawnie i bezpiecznie.
Oprócz testów na samym robocie UR można korzystać z symulacji offline, które pozwalają na weryfikowanie trajektorii ruchu i parametrów procesów bez ryzyka kolizji w środowisku rzeczywistym. Zaleca się też logowanie zdarzeń i wprowadzenie testów modułowych, by szybciej identyfikować ewentualne błędy.
Niekoniecznie. Roboty UR z natury są przystosowane do pracy w istniejących środowiskach przemysłowych. Lua jest językiem lekkim, a modyfikacje w kodzie często można wprowadzać etapami, bez konieczności długotrwałego wstrzymywania produkcji.
Lua umożliwia szybkie przełączanie między różnymi sekwencjami ruchu czy ustawieniami robota. Dzięki modularnej budowie kodu można łatwo wprowadzić warianty dopasowane do nowych produktów - co znacznie skraca czas przezbrojeń i wspiera elastyczność w branży o częstych zmianach asortymentu.
NexaRob skupia się głównie na programowaniu, integracji i optymalizacji procesów, jednak współpracujemy z globalną siecią zaufanych dostawców sprzętu. Dzięki temu możemy rekomendować konkretne rozwiązania i pomóc w doborze wyposażenia (np. chwytaki, systemy wizyjne) tak, by w pełni wykorzystać potencjał robota UR i języka Lua.
Masz więcej pytań?
Skontaktuj się z NexaRob - nasi eksperci z przyjemnością doradzą w kwestiach związanych z tworzeniem kodu Lua, wdrażaniem robotów Universal Robots oraz integracją pełnej linii produkcyjnej. Dzięki takiemu wsparciu zyskasz pewność, że Twoja inwestycja w automatyzację i robotyzację przyniesie wymierne rezultaty w postaci wyższej efektywności i redukcji błędów.
Zautomatyzuj swoją Firmę z NexaRob - Skontaktuj się z Nami!
Ciekawostki ze świata
Wizyjna nawigacja dla robotów czteronogich: bez map, z precyzją i głęboką kontrolą
Badacze Amazon Science opracowali nowe podejście do nawigacji dla czteronogich robotów, które pozwala im bezpiecznie
Nowy zbiór danych multimodalnych dla analizy zaangażowania w interakcji z humanoidem
Badacze z Uniwersytetu w Seoul opracowali nowy protokół zbierania danych do budowy dynamicznego, multimodalnego zbioru
Nowy chwytak ARTiS dla precyzyjnej manipulacji narzędziami w demontażu
Nowy chwytak robota o nazwie ARTiS został przyjęty do publikacji w czasopiśmie TASE i może
FANUC przedstawia Physical AI i cyfrowe podwójniki na IMTS 2026
Na IMTS 2026 FANUC America przedstawił nowe rozwiązania oparte na Physical AI, które mają zmienić
GAM: nowy model podstawowy dla manipulacji robotycznej w przemyśle
Amazon przedstawił Generalized Action Model (GAM) - zaawansowany model podstawowy dla manipulacji robotycznej, który w