Strona główna ASTOR
Automatyka w praktyce

Pierwsze kroki w astorinoIDE

Kontakt w sprawie artykułu: Kamila Jaworowska - 2025-09-03

Z tego artykułu dowiesz się:

  • jak wygląda środowisko astorinoIDE i do czego służą jego poszczególne elementy,
  • jak połączyć się z robotem lub symulatorem i zsynchronizować dane,
  • jak tworzyć i zarządzać projektami oraz programami w astorinoIDE,
  • w jaki sposób korzystać z wizualizacji 3D, dodawać chwytaki i kształty, eksportować sceny i śledzić trajektorie,
  • jak wykorzystać narzędzia takie jak Robot Manager, I/O Monitor, Terminal czy Controller,
  • jak wykonać prosty projekt paletyzacji i przygotować środowisko symulacyjne do jego realizacji.

Potrzebne urządzenia oraz oprogramowanie:

  • Robot Astorino wraz z dedykowanym oprogramowaniem.
  • Oprogramowanie astorinoIDE.
  • Symulator ASTORINO-OPT-SIMBOX (do testowania i walidacji programów bez użycia fizycznego robota).
  • Komputer PC z systemem operacyjnym Windows.

Wstęp

W dobie intensywnego rozwoju technologii robotycznych edukacja w zakresie automatyzacji i programowania robotów przemysłowych nabiera szczególnego znaczenia. Odpowiedzią na rosnące potrzeby dydaktyczne w tym zakresie jest Astorino –  sześciosiowy robot edukacyjny, opracowany z myślą o wykorzystaniu w szkołach, uczelniach technicznych oraz innych instytucjach edukacyjnych.

Robot ten, wyposażony w silniki krokowe pracujące w pętli zamkniętej, stanowi przystępne narzędzie do nauki zaawansowanych zagadnień związanych z robotyką przemysłową. Konstrukcja robota opiera się na technologii druku 3D z wykorzystaniem włókna węglowego, co umożliwia łatwą konserwację i naprawy poprzez samodzielne drukowanie uszkodzonych elementów.

Programowanie Astorino odbywa się za pomocą dedykowanego oprogramowania Astorino, które umożliwia naukę języka AS – tego samego, który wykorzystywany jest w programowaniu robotów przemysłowych Kawasaki Robotics. Dzięki temu użytkownicy mogą tworzyć realistyczne aplikacje przemysłowe w warunkach edukacyjnych. Dla bardziej zaawansowanych użytkowników opracowano środowisko astorinoIDE, które rozszerza możliwości programowania i organizacji projektów.

W przeciwieństwie do klasycznego oprogramowania, astorinoIDE pozwala na przechowywanie wielu projektów bezpośrednio na komputerze użytkownika, dzięki czemu możliwe jest niezależne tworzenie i testowanie różnych aplikacji bez ingerencji w pamięć robota. Takie podejście znacząco zwiększa elastyczność i efektywność procesu dydaktycznego, umożliwiając rozwój praktycznych umiejętności w zakresie programowania, planowania trajektorii ruchu oraz tworzenia złożonych procedur sterowania.

W niniejszym artykule omówione zostaną podstawowe zagadnienia dotyczące architektury i funkcjonalności środowiska astorinoIDE, a także możliwości zastosowania go w praktyce dydaktycznej i symulacyjnej.

Wygląd środowiska

Okno główne

Poniższa ilustracja przedstawia wygląd okna głównego programu AstorinoIDE.

 Kolejne elementy przestawione na ilustracji to:

1. Eksplorator projektu – drzewko aktualnie otwartego projektu. Pozwala na przeglądanie programów w ramach otwartego projektu, zapisywanie i przeglądanie punktów kartezjańskich i złączowych.

2. Okno terminala – terminal do odbierania i wysyłania poleceń. Dzięki niemu można za pomocą odpowiedniej instrukcji wywołać ruch robotem, zapisać punkty, a także sprawdzić aktualne położenie robota.

3. Pasek sterowania programem – załączanie/wyłączanie cyklu, zmiana prędkości.

4. Pasek sterowania – zarządzanie projektem oraz robotem. Umożliwia wybór trybu pracy, włączenie wizualizacji oraz otwarcie połączenia między robotem i komputerem.

5. Pasek Menu – zarządzanie oprogramowaniem (otwieranie nowego projektu, programu).

6. Obszar główny – sterowanie robotem oraz edycja programów.

7. Pasek stanu – aktualny stan robota oraz połączenia.

Otwieranie połączenia z robotem

Środowisko pracy umożliwia połączenie z robotem na dwa sposoby, co znacząco zwiększa elastyczność i bezpieczeństwo programowania.

Pierwszą możliwością jest bezpośrednie podłączenie rzeczywistego robota Astorino do komputera za pomocą interfejsu USB. W tym przypadku wszelkie ruchy programowane w środowisku astorinoIDE są równocześnie odwzorowywane przez fizycznego robota. Rozwiązanie to stanowi alternatywę dla tradycyjnej metody programowania z użyciem teach pendanta, oferując jednocześnie większą precyzję i możliwość wcześniejszej walidacji kodu.

Drugą opcją jest wykorzystanie urządzenia symulacyjnego ASTORINO-OPT-SIMBOX, które również podłączane jest do komputera, na przykład za pomocą portu USB. W tym trybie ruchy robota wykonywane są wyłącznie w symulacji, co pozwala na bezpieczne testowanie programów, których działanie nie jest jeszcze w pełni znane. Zmniejsza to ryzyko uszkodzeń mechanicznych i innych zagrożeń podczas fazy prototypowania. Przeniesienie gotowego programu z symulacji na rzeczywistego robota jest następnie procesem prostym i szybkim, co znacząco ułatwia wdrożenie.

Po uruchomieniu środowiska programistycznego oraz podłączeniu odpowiedniego urządzenia – rzeczywistego robota lub symulatora ASTORINO-OPT-SIMBOX – konieczne jest nawiązanie połączenia między systemem a urządzeniem. Procedura ta przebiega identycznie, niezależnie od typu podłączonego sprzętu.

W celu zaprezentowania szerokich możliwości środowiska astorinoIDE, w niniejszym artykule zdecydowano się na wykorzystanie połączenia z symulatorem SIMBOX.

W pierwszym kroku wybieramy rodzaj połączenia z listy rozwijanej (w przykładzie wybrano połączenie USB) oraz klikamy przycisk Connect/Disconnect.

Określamy kierunek synchronizacji (w tym przypadku z komputera do robota) oraz klikamy SYNC.

Synchronizacja z robota do komputera nadpisuje wszelkie dane projektu na komputerze. Synchronizacja z komputera do robota nadpisuje wszelkie dane projektu na robocie.

Tworzenie i edycja projektu

Tworzenie nowego projektu

Tworzenie pierwszego programu w oprogramowaniu astorinoIDE należy rozpocząć od stworzenia nowego lub otwarcia istniejącego projektu.

W tym celu klikamy Project z górnego paska menu i wybieramy odpowiednią opcję z listy rozwijanej. Tworzenie nowego projektu wybieramy klikając przycisk New z listy rozwijanej.

Otworzy się wówczas okno tworzenia nowego projektu. Wpisujemy nazwę oraz klikamy przycisk OK.

Potwierdzamy gotowość do stworzenia nowego projektu w oknie ostrzeżenia ponownie klikając przycisk OK.

Wówczas w eksploratorze projektu można zauważyć, że projekt rzeczywiście został otwarty.

Otwieranie istniejącego projektu

W celu otwarcia istniejącego projektu należy z listy rozwijanej zakładki Project z górnego paska menu, wybrać opcję Open.

Otworzy się wówczas okno z drzewem katalogu projektów. Po rozwinięciu katalogu można otworzyć istniejący już projekt poprzez kliknięcie go lewym przyciskiem myszy oraz zatwierdzeniu przyciskiem OK.

Następnie potwierdzamy gotowość do otwarcia nowego programu w oknie ostrzeżenia, ponownie klikając przycisk OK.

Wówczas w eksploratorze projektu można zauważyć, że projekt rzeczywiście został otwarty.

Tworzenie i edycja nowego programu

Tworzenie nowego programu w ramach otwartego projektu

W środowisku astorinoIDE możliwe jest tworzenie wielu niezależnych programów w ramach jednego projektu. Każdy z tych programów może realizować odrębne funkcje lub zadania, co pozwala na modularne podejście do programowania oraz lepszą organizację kodu. Takie rozwiązanie ułatwia testowanie poszczególnych fragmentów logiki sterowania oraz zwiększa przejrzystość projektu.

Stworzenie nowego programu można dokonać za pomocą opcji w górnym pasku menu i zakładce File – polecenie New.

Wyświetlone zostanie okno, w którym wpisujemy nazwę pliku i zatwierdzamy przyciskiem OK.

Po poprawnym stworzeniu nowego programu w drzewku projektu po lewej stronie powinniśmy dostrzec stworzony przez nas program wraz z zapisanymi punktami (zakładka Points). Rodzaje punktów zostaną omówione w dalszej części artykułu. Z kolei na panelu głównym powinno otworzyć się okno wraz z kodem programu. W przypadku nowego programu jest to tylko linia rozpoczynająca wraz z nazwą programu oraz linia kończąca.

Otwieranie istniejącego programu w ramach projektu

Istniejący projektu można otworzyć z katalogu Program Files z drzewka projektu po lewej stronie. Należy rozwinąć dany katalog oraz wybrać istniejący program, który chcemy otworzyć.

Po kliknięciu prawym przyciskiem myszy na program otworzy nam się zakładka do zarządzania programem. W celu otwarcia programu klikamy opcję Open.

Poprawne otwarcie programu powinno skutkować pojawieniem się okna z kodem. Ponieważ nic nie zostało zmodyfikowane jeszcze w programie EXAMPLE_PROG, to zawiera on tylko linię rozpoczynającą i kończącą.

Okno wizualizacji robota

Otwieranie okna symulacji

Środowisko astorinoIDE umożliwia podgląd ruchu robota w symulacji. Włączenie okna wizualizacji można dokonać w zakładce Tools -> Visualization.

Można to zrobić klikając analogiczny symbol na pasku sterowania.

W obszarze głównym pojawi się wówczas okno wizualizacji.

Funkcjonalność okna wizualizacji

Rodzaje chwytaków oraz dodawanie ich do symulacji

Okno wizualizacji pozwala na dodawanie chwytaków do robota. Rodzaje, które oferuje oprogramowanie to:

  • chwytaki pneumatyczne,
  • chwytaki elektryczne,
  • chwytaki próżniowe (przyssawka),
  • chwytaki magnetyczne.

W celu dodania konkretnego chwytaka z paska menu okna symulacji należy wybrać Gripper oraz kliknąć rodzaj, który nas interesuje.

Jeśli chcemy, aby narzędzie nie było chwytakiem, możemy dodać je jako dowolny kształt. Zostanie to omówione w dalszej części artykułu.

Rodzaje kształtów oraz dodawanie ich do symulacji

Oprogramowanie umożliwia dodawanie różnych kształtów (brył) do przestrzeni roboczej robota. Istnieją trzy rodzaje kształtów:

  • Obstacle – obiekty tego typu są statycznymi obiektami sceny.
  • Work – obiekty tego typu mogą być przenoszone przez robota.
  • Tool – obiekty tego typu zawsze poruszają się zgodnie z kiścią robota.

Dodanie kształtu odbywa się za pomocą generatora, który otwieramy klikając Open Shape Generator na pasku głównym okna wizualizacji.

Wówczas po prawej stronie okna wizualizacji powinno wyświetlić się okno generatora kształtów.

Wybierając odpowiednią zakładkę z górnego paska menu okna możemy dodać interesujący kształt: sześcian, prostopadłościan, stożek, walec, kula, ostrosłup, czy nawet walec wycięty. Po wprowadzeniu odpowiednich parametrów dla konkretnej bryły, możemy dodać jej nazwę, położenie w przestrzeni, rodzaj obiektu oraz kolor. Wówczas możemy dodać bryłę przyciskiem Add.

Środowisko astorinoIDE umożliwia też na wgrywanie własnych kształtów z plików z rozszerzeniem *.stl.

Przykładową scenę przestawiono na rysunku poniżej.

W przypadku, gdy w przyszłości zajdzie potrzeba wykorzystania identycznego rozkładu kształtów, jaki został wprowadzony, lub przeprowadzenia symulacji z przenoszeniem obiektów rozpoczynającej się od tego samego układu, scenę można wyeksportować do pliku z rozszerzeniem *.XML. Takie rozwiązanie usprawnia pracę w kolejnych etapach projektu i pozwala zaoszczędzić cenny czas. W tym celu należy wybrać ustawienia symulacji, klikając przycisk Settings, a następnie przycisk Export (rys.21).

Aby załadować wcześniej zapisaną scenę, czyli układ kształtów w przestrzeni, należy skorzystać z opcji Import dostępnej w ustawieniach, a następnie wskazać odpowiedni, wcześniej zapisany plik.

Wykreślanie trajektorii punktu TCP

Okno wizualizacji pozwala również na rysowanie trajektorii, pokonywanej przez TCP (Tool Center Point). Aby móc zacząć rysować ścieżkę, należy kliknąć przycisk Track Line z paska menu okna wizualizacji. Kolejne przyciski to: Clear Track Line – pozwala na wyczyszczenie wykreślonej trajektorii oraz Save trajectory to .traj File – zapisanie trajektorii do pliku.

Rysunek przykładowej trajektorii przedstawiono na rysunku poniżej:

Zakładka Tools

Okno Robot Manager

W astorinoIDE szczególnie przydatnym narzędziem jest okno Robot Manager, które umożliwia wykonywanie wielu operacji związanych z obsługą robota. Funkcjonalności te zostaną szczegółowo omówione w dalszej części artykułu.

W celu uruchomienia okna Robot Managera klikamy przycisk oznaczony symbolem kontrolera do gier, bądź wybieramy odpowiednią opcję z zakładki Tools.

Karta Control

Karta ta służy do bezpośredniego zarządzania podstawowymi funkcjami robota, umożliwiając operatorowi kontrolę nad jego stanem, ustawieniami i trybem pracy. Wyświetla ona numer seryjny robota oraz wersję zainstalowanego oprogramowania firmware, co pozwala szybko zidentyfikować urządzenie i sprawdzić jego aktualizacje.

Użytkownik może również zmieniać aktualnie aktywne układy TOOL i WORK, czyli odpowiednio układ narzędzia i układ współrzędnych roboczych, co ma kluczowe znaczenie przy programowaniu i wykonywaniu ruchów robota. Karta Control umożliwia także ustawienie prędkości robota w trybie Teach. Operator ma wgląd w aktualny status robota, może przeglądać i kontrolować stany wejść/wyjść, a także przełączać sposób wyświetlania orientacji robota pomiędzy systemami kątów OAT i RPY.

Dodatkowo karta ta pozwala na wykonanie operacji serwisowych, takich jak resetowanie błędów, powrót do pozycji HOME czy uruchomienie procedury zerowania. Istotną funkcją jest także możliwość włączania i wyłączania napędów robota.

Karta JOG

Ta karta pozwala na ręczne sterowanie robotem w trybie Teach, umożliwiając precyzyjne pozycjonowanie ramienia robota oraz zapis punktów trajektorii. Główna funkcjonalność tej karty skupia się na ruchu robota za pomocą interfejsu sterującego. Użytkownik może wybrać sposób interpolacji ruchu – bazując na różnych układach współrzędnych (BASE, TOOL, JOINT, CONV). Karta JOG umożliwia również sterowanie osią dodatkową (JT7).

Podczas pracy wyświetlana jest aktualna pozycja ramienia; system ostrzega użytkownika kolorem żółtym, gdy zbliża się do krańcowych wartości, oraz czerwonym, gdy pozycja osiąga maksymalny dopuszczalny zakres ruchu. Użytkownik może także ustawić robota w trybie krokowym, co zwiększa precyzję ustawiania przy nauczaniu punktów.

Obszar TeachPoint umożliwia zapis aktualnej pozycji ramienia jako punktu ruchu. Te punkty zapisywane są na liście w obszarze Point, skąd można je ponownie wybrać do edycji lub użycia. Karta umożliwia także wykonanie konkretnego ruchu do wybranego punktu – dostępne są różne typy ruchów, takie jak LMOVE (liniowy), JMOVE (złączowy), LAPPRO czy JAPPRO (zbliżenia) oraz JUMP (ruch skokowy).

Karta Home

Karta Home umożliwia zarządzanie pozycją domową robota, czyli referencyjnym punktem, do którego robot może powracać np. po uruchomieniu systemu, zerowaniu czy w trakcie procedur bezpieczeństwa. Pozwala zarówno na ustawienie, jak i modyfikację tej pozycji.

Włączenie trybu Manual pozwala na ręczne wprowadzenie wartości pozycji domowej, co jest przydatne w sytuacjach, gdy potrzebna jest precyzyjna konfiguracja bez fizycznego przemieszczania robota. Z kolei kliknięcie przycisku Set Home zapisuje aktualne położenie ramienia robota jako nową pozycję domową.

Karta Tool – zakładka TOOL

Tu możliwa jest ręczna modyfikacja układu współrzędnych narzędzia.

Karta Tool – zakładka WIZARD

Tu możliwe jest automatyczne obliczenie układu współrzędnych narzędzia metodą cztero- (X,Y,Z) lub sześciopunktową (X,Y,Z,O,A,T).

Karta Work – zakładka WORK

Ta zakładka umożliwia ręczną modyfikację układu współrzędnych WORK.

Karta Work – zakładka WIZARD

Tu możliwe jest automatyczne obliczenie układu współrzędnych WORK metodą trzypunktową.

I/O Monitor

Okno I/O Monitor w środowisku astorinoIDE służy do monitorowania oraz sterowania sygnałami wejścia i wyjścia, zarówno fizycznymi, jak i logicznymi. Umożliwia ono użytkownikowi bieżący podgląd stanu wejść i wyjść systemu sterowania robota.

W ramach tego okna prezentowane są cztery główne grupy sygnałów:

  • wejścia fizyczne oraz wejścia z protokołu Modbus TCP,
  • wyjścia fizyczne oraz wyjścia Modbus TCP,
  • sygnały wewnętrzne,
  • sygnały wejściowe i wyjściowe znajdujące się bezpośrednio na ramieniu robota w wersji B robota Astorino.

Stany wysokie (czyli aktywne logicznie) poszczególnych sygnałów są przedstawione graficznie – poprzez podświetlenie odpowiadających im przycisków na kolor żółty. Dodatkowo użytkownik ma możliwość ręcznego wysterowania wyjść oraz sygnałów wewnętrznych, klikając na wybrany numer sygnału.

Funkcjonalność okna zostanie przestawiona na przykładzie chwytaka. W celu sprawdzenia, które wyjście domyślnie aktywuje chwytak, należy otworzyć ustawienia okna wizualizacji. Następnie w ustawieniach odczytujemy, które wyjście przypisane jest do chwytaka (dokładniej sygnał wyjściowy sterujący łapaniem obiektów klasy Work w wizualizacji przez robota).

Możemy również zmodyfikować wyjście za pomocą listy rozwijanej np. na wyjście 57  – wyjście znajdujące się na ramieniu robota (wersja B robota Astorino).

Gdy wyjście nie jest aktywne, chwytak jest otwarty.

Gdy ręcznie aktywujemy sygnał 57 (poprzez kliknięcie Arm I/O -> Output -> 57) powinien się on podświetlić, a chwytak – zamknąć się.

Controller

Okno Controller w środowisku astorinoIDE służy do zarządzania pamięcią i konfiguracją kontrolera robota. Umożliwia wykonanie trzech kluczowych operacji. Po pierwsze, pozwala na stworzenie kopii zapasowej aktualnego stanu kontrolera – zapisuje wówczas plik z rozszerzeniem *.as, który zawiera całą zawartość pamięci robota, w tym programy, konfiguracje oraz dane użytkownika.

Po drugie, umożliwia wczytanie wcześniej zapisanej kopii do pamięci robota, co pozwala na szybkie przywrócenie robota do zapisanego wcześniej stanu pracy. Trzecią funkcją jest reset kontrolera do ustawień fabrycznych, czyli przywrócenie domyślnej konfiguracji systemu, usunięcie danych użytkownika i wyczyszczenie pamięci robota.

Visualization

Pozwala na otwieranie okna wizualizacji. Dokładniejszy opis zawarto we wcześniejszej części artykułu, w paragrafie „Otwieranie okna symulacji”.

Points

Otwiera okno Points wraz z zapisanymi punktami. W zakładce Joint wyświetlane są punkty złączowe, a w Transformation – punkty kartezjańskie.

Punkty kartezjańskie (Transformation Points) opisują pozycję i orientację narzędzia robota w przestrzeni roboczej za pomocą współrzędnych X, Y, Z (pozycja liniowa) oraz O, A, T (obrót wokół osi). Odnoszą się one bezpośrednio do ruchu końcówki robota w przestrzeni i są szczególnie przydatne, gdy zależy nam na precyzyjnym śledzeniu trajektorii lub pozycji względem otoczenia.

Punkty złączowe (Joint Points) opisują położenie robota poprzez wartości kątów lub przesunięć w jego przegubach (w przypadku Astorino są to wyłącznie wartości kątów), określając tym samym konfigurację całego ramienia. Dzięki nim możliwe jest precyzyjne sterowanie ruchem każdego segmentu robota. Oznaczane są jako J1, J2, J3, J4, J5, J6 – gdzie każda wartość „J” odpowiada konkretnemu przegubowi. Ten system odnosi się bezpośrednio do ustawienia mechanicznych części robota.

Okno Terminala

W środowisku AstorinoIDE okno Terminala pełni rolę interfejsu komunikacyjnego między użytkownikiem a robotem. Służy ono zarówno do wyświetlania informacji zwrotnych z robota, jak i do wydawania mu bezpośrednich poleceń tekstowych. Dzięki terminalowi użytkownik może kontrolować robota w czasie rzeczywistym, diagnozować jego stan oraz wykonywać działania testowe i serwisowe bez konieczności edytowania głównego programu.

Terminal umożliwia:

  •  odczyt wartości zmiennych, np. PRINT x,
  • naukę punktów, np. HERE P1, POINT P1 = TRANS(0,350,300,90,180,–90),
  • ustawianie zmiennych, np. x = 10,
  • wykonywanie komend ruchu, takich jak LMOVE czy HOME.

Należy jednak pamiętać, że wszystkie polecenia ruchu muszą być poprzedzone słowem DO, np. DO LMOVE P1, oraz że robot musi znajdować się w stanie GOTOWY i pracować w trybie REPEAT.

Okno terminala pozwala także na wykonanie szeregu poleceń systemowych, takich jak:

  • CPUTEMP – wyświetla aktualną temperaturę procesora robota.
  • FREE – pokazuje ilość dostępnej pamięci RAM w procentach.
  • ERESET – resetuje aktywny błąd.
  • ZPOWER ON/OFF – włącza lub wyłącza silniki robota.
  • HOLD – wstrzymuje aktualnie działający program.
  • CONTINUE – wznawia jego wykonanie.
  • ZZERO x – rozpoczyna zerowanie wybranej osi (np. ZZERO 1 dla osi 1).
  • CLC – czyści terminal.
  • WHERE – pozwala na wyświetlenie aktualnej pozycji robota (TCP) – złączowej i kartezjańskiej.

Terminal w AstorinoIDE jest szybkim sposobem na bezpośrednią interakcję z robotem, co czyni go niezwykle przydatnym w pracy programisty i operatora robotów.

Realizacja przykładowego programu – paletyzacja

Implementacja przykładowej wizualizacji zostanie przedstawiona na podstawie zadania paletyzacji. Robot pobiera detal ze stosu (sześcienną kostkę) i odkłada go na paletę. W odpowiednim odstępie od poprzedniego detalu. Program zostanie napisany w taki sposób, aby po modyfikacji jednego parametru w kodzie mógł układać inną liczbę detali w: wierszu, rzędzie i kolumnie (kilka elementów na sobie).

Przygotowanie środowiska

Po otwarciu synchronizacji między komputerem i robotem oraz przygotowaniu programu w nowym projekcie zaczniemy od przygotowania sceny (przestrzeni roboczej manipulatora). W tym celu za pomocą terminala sprowadzimy go do pozycji domowej. W kolejnym kroku dodamy do robota chwytak pneumatyczny oraz obiekty, które będą symulowały detale (sześcienne kostki) i paletę.

W celu precyzyjniejszej prezentacji procesu przenoszenia obiektów typu work, dokonano modyfikacji położenia układu współrzędnych narzędzia robota. Zmiana ta polegała na przesunięciu układu narzędzia wzdłuż osi Z o 60 mm. Operację tę przeprowadzono, wchodząc w zakładkę Robot Manager -> Tool.W odpowiednim polu edycyjnym ustawiono wartość komponentu Z wektora przesunięcia na 60 mm, natomiast pozostałe składowe zostały wyzerowane, o ile nie były już ustawione na wartość zerową. Zmiana parametrów została zatwierdzona poprzez kliknięcie przycisku Update Tool, a następnie potwierdzona w oknie dialogowym poprzez wybór opcji OK w odpowiedzi na wyświetlone ostrzeżenie dotyczące modyfikacji parametrów narzędzia.

Przykładowa gotowa przestrzeń robota wygląda tak:

Warto eksportować zapisaną scenę do pliku.

Kod programu głównego

W kolejnym kroku napiszemy program, które realizował będzie zadanie paletyzacji. Przykładowy kod przedstawiono poniżej:

.PROGRAM EXAMPLE_PROG

TIMER 1 = 0    
HOME
SIGNAL –57
powt = 0
rozm = 25
num = 8

dlg = 2
szer = 2
wys = 2

maks = dlg * szer * wys

IF maks > num THEN
	PRINT "Za malo elementow do paletyzacji"
ELSE
	FOR i = 1 TO szer
		FOR j = 1 TO dlg
			FOR k = 1 TO wys
				POINT take = SHIFT(P1 BY 0,0,–powt * rozm)
				POINT give = SHIFT(P2 BY (i–1)*75,(j–1)*75, (k–1)* rozm)
				JAPPRO take, 50
				LMOVE take
				SIGNAL 57
				LAPPRO take, 50
				JAPPRO give, 50
				LMOVE give
				SIGNAL –57
				LAPPRO give, 50
				powt = powt + 1			
			END
		END
	END
END
 
HOME
.END

Ten program steruje robotem Astorino, wykonując zadanie przenoszenia detali z pionowego stosu do uporządkowanej przestrzennej siatki o wymiarach 2 x 2 x 2, co daje łącznie pozycji. Na początku robot ustawia się w pozycji domowej i wyłącza aktywne chwytanie przez wysłanie sygnału -57 (zwolnienie chwytaka).

Zmienna powt działa jako licznik pobranych elementów, natomiast rozm = 25 określa długość krawędzi sześciennej kostki (odległość pomiędzy kolejnymi elementami w stosie). Wartość num = 8 oznacza, że docelowo robot ma przenieść  elementów.

Zmienne dlg, szer i wys określają rozmiary siatki paletyzacji w trzech wymiarach (długość, szerokość, wysokość). Na ich podstawie wyliczana jest maksymalna liczba dostępnych pozycji (maks). Jeżeli liczba pozycji maks jest większa niż liczba dostępnych elementów num, program wypisuje komunikat „Za malo elementow do paletyzacji” i kończy działanie.

W przeciwnym przypadku robot wchodzi do trzech zagnieżdżonych pętli FOR, które tworzą współrzędne docelowe w przestrzeni 3D. W każdej iteracji:

  • Punkt take obliczany jest jako przesunięcie punktu P1 w dół w osi Z w zależności od wartości powt, co pozwala sięgać po kolejne elementy z pionowego stosu.
  • Punkt give wyznaczany jest na podstawie pozycji i, j, k, tworząc siatkę pozycji docelowych względem bazowego punktu P2.

Robot podjeżdża wstępnie i następnie dokładnie do punktu take, aktywuje chwytak, następnie się oddala i przemieszcza się do punktu give, gdzie odkłada detal. Na końcu oddala się od miejsca odkładania. Po każdym cyklu wartość powt jest zwiększana o 1, co powoduje pobranie następnego elementu z niższego poziomu stosu.

Cały cykl kończy się po przeniesieniu wszystkich ośmiu detali. Robot wraca do pozycji domowej, gotowy do kolejnego zadania.

W celu precyzyjniejszej prezentacji procesu przenoszenia obiektów typu work, dokonano modyfikacji położenia układu współrzędnych narzędzia robota. Zmiana ta polegała na przesunięciu układu narzędzia wzdłuż osi Z o 60 mm. Operację tę przeprowadzono, wchodząc w zakładkę Robot Manager -> Tool. W odpowiednim polu edycyjnym ustawiono wartość komponentu Z wektora przesunięcia na 60 mm, natomiast pozostałe składowe zostały wyzerowane, o ile nie były już ustawione na wartość zerową. Zmiana parametrów została zatwierdzona poprzez kliknięcie przycisku Update Tool, a następnie potwierdzona w oknie dialogowym poprzez wybór opcji OK w odpowiedzi na wyświetlone ostrzeżenie dotyczące modyfikacji parametrów narzędzia.

Deklaracja punktów

W programie astorinoIDE punkty można zapisać na dwa sposoby. Jednym z nich jest wykorzystanie zakładki JOG okna Robot Manager.

Po dojechaniu robotem do pozycji, w które chcemy zapisać punkt (w przykładzie punkt poboru pierwszej kostki), wybieramy rodzaj punktu, który chcemy zapisać: JOINTS (złączowy) lub TRANS (kartezjański). Następnie z listy rozwijanej wybieramy punkt, pod którym mają zostać zapisane bieżące współrzędne położenia i orientacji narzędzia (bądź kąty poszczególnych przegubów w przypadku wybrania punktu złączowego). Następnie klikamy przycisk Teach.

Potwierdzamy zapisanie punktu przyciskiem OK.

Drugim sposobem jest wykorzystanie Terminala. W tym celu wpiszemy instrukcję:

point p3 = here

w oknie terminala oraz potwierdzimy przyciskiem Enter.

Terminal odpowie nam współrzędnymi, które wpisał do punktu.

Po zapisaniu punktów możemy wyświetlić okno zapisanych punktów kartezjańskich, wchodząc z lewej strony drzewka projektu w Points i> Transformation.

Widać, że zarówno punkt P1 zapisany za pomocą zakładki JOG okna Robot Manager oraz punkt P3 zapisany przez terminal mają takie same współrzędne (różnice są niewielkie i pomijalne).

Następnie w analogiczny sposób należy zapisać drugi punkt (w którym będzie odkładany detal). Zostanie do wykonane w analogiczny sposób, jak dla punktu P1.

Punkt P2 został zapisany po dojeździe robota do punktu za pomocą zakładki JOG okna Robot Manager, a punkt P4 z wykorzystaniem komendy w terminalu:

point p4 = here

Testowanie symulacji

W kolejnym kroku wywołany zostanie program, którego wynik przedstawiono poniżej.

Widzimy, że kostki zostały ułożone zgodnie z założeniem (dwie na szerokość, dwie na długość i dwie na wysokość).

Program zadziała również, jeśli zadeklarujemy konfigurację, w której wymagana łączna liczba kostek będzie mniejsza niż dostępna liczba (8 kostek).

Dla konfiguracji dlg=2, szer=1, wys=3 otrzymano następujący wynik działania programu:

W przypadku wymaganej liczby kostek, większej niż dostępna, program wypisze w terminalu komunikat:  „ZA MALO ELEMENTOW DO PALETYZACJI”.

By przywrócić ustawienia kostek, które mieliśmy na początku, można za każdym razem importować zapisaną przez nas scenę z pliku. Można również skorzystać z opcji przywracania położenia obiektów typu Work i Obstacle w ustawieniach wizualizacji.

Podsumowanie

W niniejszym artykule przedstawiono podstawowy proces projektowania, programowania oraz testowania robota Astorino z wykorzystaniem dedykowanego środowiska astorinoIDE oraz symulatora ASTORINO-OPT-SIMBOX.

Omówiono najważniejsze urządzenia i oprogramowanie niezbędne do pracy z robotem oraz podstawowe funkcje i możliwości dostępnych narzędzi. Szczególną uwagę poświęcono podstawowym etapom tworzenia i symulacji programów sterujących, podkreślając rolę środowiska symulacyjnego w bezpiecznej weryfikacji działania algorytmów.

Pozostałe, bardziej zaawansowane funkcje i szczegóły techniczne zostały pominięte w celu zachowania przejrzystości i skupienia się na najważniejszych aspektach, a ich pełny opis można znaleźć w oryginalnej dokumentacji do astorinoIDE.

Autor artykułu:


Daniel Michalak

Praktykant ASTOR

Student III roku kierunku Automatyka i robotyka na Politechnice Poznańskiej

Newsletter Poradnika Automatyka

Czytaj trendy i inspiracje, podstawy automatyki, automatykę w praktyce

Please wait...

Dziękujemy za zapis do newslettera!

Czy ten artykuł był dla Ciebie przydatny?

Średnia ocena artykułu: 0 / 5. Ilość ocen: 0

Ten artykuł nie był jeszcze oceniony.

Zadaj pytanie

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