Robot edukacyjny Astorino: przykładowa aplikacja z zastosowaniem przenośnika taśmowego
Kontakt w sprawie artykułu: Łukasz Giza - 2026-07-28

Dzięki temu poradnikowi dowiesz się, jak używać oraz sterować przenośnikiem taśmowym dostarczanym przez ASTOR, poznasz również komendy służące do jego sterowania w języku AS Language . Celem poradnika jest również budowa i zaprogramowanie prostego stanowiska zrobotyzowanego z wykorzystaniem robota edukacyjnego Astorino i przenośnika taśmowego. Opracowana aplikacja ma na celu zaprezentowanie możliwości współpracy robota z przenośnikiem.
Po utworzeniu programu zostanie on uruchomiony i zweryfikowany na fizycznym robocie edukacyjnym. W pierwszej kolejności testy zostaną przeprowadzone w trybie TEACH w celu sprawdzenia poprawności działania aplikacji, a następnie program zostanie uruchomiony w trybie REPEAT jako w pełni funkcjonalna aplikacja zrobotyzowana.
Zaczynamy!
Przybliżony czas wykonywania aplikacji na Astorino: 90 min
Potrzebne urządzenia oraz oprogramowanie
W celu wykonania aplikacji potrzebne są następujące elementy:
- robot Astorino wraz z oprogramowaniem,
- wydrukowane kostki lub ich odpowiednik – 1 sztuka – zależnie od liczby iteracji,
- moduł I/O 24V kompatybilny z robotem,
- podajnik kostek sterowany sygnałami I/O z poziomu Astorino,
- czujnik optyczny do detekcji kostek podłączony do Astorino,
- chwytak dla Astorino umożliwiający manipulacje kostkami,
- przenośnik taśmowy wraz z czujnikami kompatybilny z Astorino,
- wydrukowane pudełko do odkładania kostek,
- wydrukowany wskaźnik wraz ze stojakiem,
- komputer z portem Ethernet oraz USB.
Opis stanowiska
Do wykonania tego ćwiczenia wykorzystano stację ECO (można również wykorzystać stację PRO) wyposażoną w robota Astorino, podajnik kostek z czujnikiem oraz przenośnik taśmowy.



Konfiguracja robota i programu Astorino
Sprawdzenie pozycji domowej robota
Przed rozpoczęciem pracy należy zweryfikować konfigurację pozycji domowej robota.
1. Otwórz zakładkę Home/Tool.
2. Sprawdź, czy dla pozycji HOME trzecie i piąte złącze (Joint 3 i 5) mają wartości −90°.
3. Jeżeli wartość jest inna, zaznacz opcję Manual i ręcznie ustaw oraz zapisz wymagane parametry (rys. 4).

Tworzenie nowego programu
Poniżej (rys. 5) przedstawiono sposób tworzenia nowego programu.

Wgrywanie programu do robota
Po przygotowaniu programu (wybraniu gotowego lub napisaniu własnego) należy przesłać go do sterownika robota. Proces ten przedstawiono na rys. 6.

WAŻNE: Żółty kolor przycisku wgrywania oznacza, że najnowsza wersja programu nie została jeszcze wgrana do robota.
Uruchamianie programu
Po poprawnym wgraniu programu można go uruchomić z poziomu tej samej zakładki, wybierając przycisk przedstawiony na rysunku 7.

Tryby pracy robota
Robot Astorino może pracować w dwóch trybach: TEACH oraz REPEAT.
Tryb TEACH przeznaczony jest do:
- nauki punktów,
- wgrywania programów,
- testowania aplikacji.
W tym trybie prędkość robota jest ograniczona, a zwolnienie przycisku Deadman Switch na teach pendancie powoduje natychmiastowe zatrzymanie robota.
Tryb REPEAT służy do wykonywania gotowego programu. W tym trybie robot może pracować z dowolnie ustawioną prędkością roboczą, jednak nie jest możliwe wgrywanie nowych programów. Dodatkowo robot nie reaguje na zwolnienie przycisku Deadman Switch, dlatego podczas pracy należy zachować szczególną ostrożność.
Miejsce zmiany trybu pracy robota zostało przedstawione na rys. 8.

Wizualizacja stanowiska
Na poniższych rysunkach przedstawiono wizualizację stanowiska roboczego oraz fizyczny wygląd stanowiska wraz z rozmieszczeniem punktów wykorzystanych w niniejszym poradniku.



Uwaga! Punkty CORNER_1, CORNER_2, CORNER_3 oraz CORNER_4 należy wyznaczać, gdy w chwytaku robota znajduje się rysik. Podczas wyznaczania punktów końcówka rysika powinna znajdować się około 23 mm nad taśmą, czyli nieco poniżej górnej krawędzi kostki. Rysik nie powinien dotykać kostki.

Należy nauczyć robota punktów pokazanych na rysunku i zapisać je. Następnie należy podmienić punkty wpisane w programie na te przyuczone przez nas. W przedstawionym przykładzie punkty zostały zapisane jako współrzędne złączowe (Joint). Robotem można sterować zarówno z poziomu aplikacji Astorino (zakładka JOG), jak i za pomocą teach pendanta (rys. 13 i 14).


Czym jest przenośnik taśmowy
Przenośnik taśmowy, to urządzenie umożliwiające precyzyjne przemieszczanie obiektów wzdłuż jego osi pracy. Jest powszechnie stosowany w zakładach produkcyjnych i fabrykach do transportu elementów, półproduktów oraz gotowych wyrobów, np. pomiędzy oddalonymi od siebie stanowiskami lub sekcjami linii produkcyjnej. Zastosowanie przenośników pozwala usprawnić proces produkcyjny, zautomatyzować transport oraz ograniczyć konieczność ręcznego przenoszenia elementów.
Przenośnik wykorzystany w niniejszym artykule jest odpowiednio przeskalowaną (mniejszą) wersją przemysłowego rozwiązania, dostosowaną do zastosowań edukacyjnych i laboratoryjnych. Pomimo mniejszych wymiarów działa na tej samej zasadzie co pełnowymiarowe przenośniki stosowane w przemyśle.


Konfiguracja i podłączenie przenośnika taśmowego
Zanim zaczniemy pisanie jakiegokolwiek programu musimy odpowiednio podłączyć przenośnik do robota. Z samego przenośnika wychodzi kilka złącz:
- zasilające
- sterujące
- enkoder




Dodatkowo do wyposażenia przenośnika zostały dodane dwa czujniki optyczne na potrzeby ćwiczenia – rysunek 20.
Podłączenie złączy opisanych na rysunkach 17, 18 i 20 zostało przedstawione na rysunkach 21 i 22 (poniżej). Złącza zasilające i sterujące taśmociągiem oraz złącza czujników należy podłączyć do wyspy sygnałowej robota. Natomiast złącze enkodera należy podłączyć do złącza OPT1 robota. Przed uruchomieniem stanowiska warto sprawdzić poprawność wszystkich połączeń, aby zapewnić prawidłową pracę przenośnika oraz poprawną komunikację z robotem.


Konfiguracja przenośnika w środowisku Astorino
Po podłączeniu wszystkich przewodów zgodnie z przedstawionymi powyżej schematami przenośnikiem taśmowym można sterować za pomocą odpowiednich sygnałów wyjściowych robota. Sygnał wyjściowy nr 1 odpowiada za wybór kierunku pracy taśmociągu, natomiast sygnał wyjściowy nr 2 służy do włączania i wyłączania napędu przenośnika.
Dodatkowo należy skonfigurować prawidłowy kierunek przesuwu taśmy. W tym celu należy przejść do zakładki Sys. Set. znajdującej się na bocznej wstędze, a następnie wybrać zakładkę Conveyor z górnego paska. W tym miejscu można ustawić parametry pracy przenośnika, w tym kierunek przesuwu taśmy, tak aby odpowiadał rzeczywistemu ruchowi przenośnika i zapewniał poprawną współpracę z robotem.

Kalibracja przenośnika w środowisku ASTORINO
Po sprawdzeniu poprawności działania samego przenośnika należy przejść do jego kalibracji. W pierwszej kolejności należy ustawić domyślną rozdzielczość w ustawieniach przenośnika. Dla wykorzystanego w tym poradniku modelu wynosi ona 0.2967 mm/bit. Odpowiada ona drodze przebytej przez taśmę przypadające na jeden impuls enkodera i stanowi punkt wyjścia do dalszej kalibracji układu. Ustawienie tej wartości przedstawiono na poniższym rysunku.

Następnie należy odczytać wartość przesunięcia taśmociągu w zakładce JOG i zapisać ją.

Następnie należy wyznaczyć punkt odniesienia na taśmie oraz ramie przenośnika. Można to zrobić, zaznaczając oba miejsca markerem lub przyklejając dwa kawałki taśmy izolacyjnej. Po wykonaniu oznaczeń należy przemieścić taśmę o około 10 cm, korzystając z zakładki Sys. Set. i sekcji OUTPUTS. Przemieszczenie nie musi być wykonane z dużą dokładnością – istotne jest jedynie uzyskanie odcinka o przybliżonej długości, który posłuży do dalszej kalibracji.


W kolejnym kroku należy odczytać rzeczywiste przesunięcie taśmociągu (np. za pomocą linijki lub suwmiarki) oraz przesunięcie zmierzone przez program (rys. 25).
Użyte symbole/opisy:
- D – odległość zmierzona przez kontroler robota,
- C1 – wartość taśmociągu odczytana na początku,
- C2 – wartość taśmociągu odczytana na końcu,
- R1 – obecna rozdzielczość,
- R2 – wyliczona rozdzielczość,
- M – zmierzona odległość przy pomocy linijki lub suwmiarki.
Teraz za pomocą proporcji należy wyliczyć nową poprawną rozdzielczość za pomocą poniższych wzorów:

Przykład:
- Aktualna rozdzielczość to 0.2967 mm/bit
- Przebyta odległość: 107.780 – 0.150 = 107.630 mm
- Zmierzona odległość wynosi 100 mm

Nowa wyliczona odległość wynosi:

Nowo obliczoną rozdzielczość należy wprowadzić w ustawieniach przenośnika, a następnie zapisać do robota.

Program dla robota
Użyte funkcje i ich opisy
Przykładowy program wykorzystuje następujące funkcje oraz instrukcje języka AS:
- SPEED – określa prędkość wykonywania ruchów robota.
- ACCEL – ustawia przyspieszenie robota podczas rozpoczynania ruchu.
- DECEL – ustawia przyspieszenie robota podczas zatrzymywania ruchu.
- POINT – służy do deklarowania oraz przechowywania punktów i pozycji robota.
- HOME – powoduje przejazd robota do zdefiniowanej pozycji bazowej.
- CVCOOPJT – wybór taśmociągu, z którym współpracuje robot.
- CVRESET – reset odczytu enkodera taśmociągu (zerowanie).
- SIGNAL – umożliwia sterowanie sygnałami wejść i wyjść robota, np. chwytakiem lub innymi urządzeniami peryferyjnymi.
- FOR … TO … END – pętla realizująca wielokrotne wykonywanie wybranego fragmentu programu.
- JAPPRO – realizuje ruch złączowy do punktu pośredniego znajdującego się nad celem, zapewniając bezpieczny dojazd.
- LMOVE – wykonuje ruch liniowy robota do wskazanego punktu.
- LDEPART – realizuje liniowe odejście od aktualnej pozycji o zadaną odległość.
- TWAIT – wstrzymuje wykonywanie programu na określony czas.
- SWAIT – wstrzymuje wykonywanie programu do czasu pojawienia się stanu wysokiego na wybranym wejściu robota
- CVLAPPRO – realizuje ruch liniowy do punktu pośredniego znajdującego się nad celem w synchronizacji z taśmociągiem, zapewniając bezpieczny dojazd.
- CVLDEPART – realizuje liniowe odejście od aktualnej pozycji w synchronizacji z przenośnikiem o zadaną odległość.
- CVLMOVE – wykonuje ruch liniowy robota do punktu w synchronizacji z taśmociągiem (przesuwa robota do punktu biorąc pod uwagę przesunięcie taśmociągu).
- IF x THEN y END – instrukcja warunkowa która realizuje instrukcje y kiedy spełniony jest warunek x.
- SHIFT(P BY X, Y, Z) – przesuwa wskazany punkt o zadane wartości w osiach X, Y oraz Z.
Kod programu
W tej części przedstawiono kompletny kod programu prezentującego możliwości synchronizacji taśmociągu z robotem. Działanie programu zostało podzielone na poszczególne kroki:
- Krok I – pobranie detalu i położenie go na taśmie.
- Krok II – pobranie rysika i ustawienie w pozycji obok detalu.
- Krok III – praca taśmociągu i synchronizacja z ruchem rysika. Rysik w trakcie pracy taśmociągu wykonuje trajektorie kwadratu wokół detalu. Detal dojeżdża do jednego końca taśmy, a następnie zmienia kierunek, cykl jest powtórzony cztery razy.
- Krok IV – rysik zostaje odłożony na stojak.
- Krok V – detal zostaje odłożony do pudełka i robot wraca do pozycji domowej, można zacząć kolejny cykl.
UWAGA! Wgrywając poniższy kod na własnego robota, należy uwzględnić różnice występujące pomiędzy stanowiskiem użytym w artykule, a własnym. Użytkownik ponosi pełną odpowiedzialność za prawidłowe działanie stanowiska oraz za wszelkie ewentualne uszkodzenia lub zniszczenia wynikające z działania programu.
.PROGRAM CONV_BELT_DEMO
;Maciej Pałka, ASTOR
;ustawienie parametrów robota
SPEED 50 ALWAYS
ACCEL 80 ALWAYS
DECEL 80 ALWAYS
;deklaracja parametrów i sygnałów
conv_dir = 1
conv_en = 2
feeder = 5
gripper = 57
push_button = 1001
ind_sens = 1002
feeder_sens = 1003
conv_1_sens = 1007
conv_2_sens = 1008
dir = 0
;deklaracje punktów
POINT PICK = #P10
POINT PLACE_CONV = #P11
POINT BOX = #P13
POINT NEEDLE = #P14
POINT CORNER_1 = #P15
POINT CORNER_2 = #P16
POINT CORNER_3 = #P17
POINT CORNER_4 = #P18
;kod startowy
HOME
SIGNAL -gripper, -conv_en, -conv_dir
CVCOOPJT 8
CVRESET 8
TWAIT 2
;kod programu
;pobranie detalu
JAPPRO PICK, 100
TWAIT 0.5
SIGNAL feeder
TWAIT 1
SIGNAL -feeder
SWAIT feeder_sens
LMOVE PICK
TWAIT 0.5
SIGNAL gripper
TWAIT 1
CVLDEPART 100
;odłożenie detalu na taśmociąg
CVLAPPRO PLACE_CONV, 100
CVLMOVE PLACE_CONV
TWAIT 0.5
SIGNAL -gripper
TWAIT 1
LDEPART 100
;pobranie stożka/rysika
SWAIT conv_1_sens
LAPPRO NEEDLE, 50
LMOVE NEEDLE
TWAIT 0.5
SIGNAL gripper
TWAIT 1
LDEPART 50
;praca taśmociągu
CVLAPPRO CORNER_1, 100
CVLMOVE CORNER_1
TWAIT 1
SIGNAL conv_en
FOR .i=0 TO 4
FOR .j=0 TO 3
CVLMOVE CORNER_2
CVLMOVE CORNER_3
CVLMOVE CORNER_4
CVLMOVE CORNER_1
END
IF dir==0 THEN
dir=1
SIGNAL conv_dir
ELSE
dir=0
SIGNAL -conv_dir
END
END
SIGNAL -conv_en
;odłożenie stożka/rysika
CVLDEPART 100
JAPPRO NEEDLE, 50
LMOVE NEEDLE
SIGNAL -gripper
LDEPART 100
;pobranie detalu z taśmy
CVLAPPRO PLACE_CONV, 50
CVLMOVE PLACE_CONV
TWAIT 0.5
SIGNAL gripper
TWAIT 1
LDEPART 100
;upuszczenie detalu do pudełka
JAPPRO BOX, 100
LMOVE BOX
TWAIT 0.5
SIGNAL -gripper
TWAIT 1
HOME
.ENDMapowanie I/O
UWAGA! Sygnały push_button i ind_sens nie są używane w tym artykule.
| Operand symboliczny | Operand absolutny | Opis sygnału |
|---|---|---|
| conv_dir | 1 | Wybór kierunku pracy przenośnika |
| conv_en | 2 | Załączenie/wyłączenie przenośnika |
| feeder | 5 | Podajnik kostek |
| gripper | 57 | Chwytak robota |
| push_button | 1001 | Przycisk bistabilny podłączony do robota |
| ind_sens | 1002 | Czujnik indukcyjny |
| feeder_sens | 1003 | Czujnik kostek podajnika |
| conv_1_sens | 1007 | Czujnik obecności kostek na taśmociągu 1 |
| conv_2_sens | 1008 | Czujnik obecności kostek na taśmociągu 2 |
Testy
Testowanie programu na fizycznym robocie
Program został uruchomiony na fizycznym robocie edukacyjnym Astorino. Przed rozpoczęciem testów nauczono robota wszystkich wymaganych punktów oraz zweryfikowano ich poprawność, aby zapewnić prawidłową realizację trajektorii ruchu i wyeliminować ewentualne błędy wynikające z nieprawidłowego położenia punktów. Należy również ustawić odpowiednią prędkość taśmociągu za pomocą potencjometru, zalecane jest około 50% prędkości maksymalnej.
Program początkowo uruchomiono w trybie TEACH, co umożliwiło bezpieczną obserwację i kontrolę wykonywanych ruchów robota. Należy jednak pamiętać, że praca w tym trybie wiąże się z ograniczeniem prędkości wykonywania ruchów. Z tego względu zaleca się zmniejszenie liczby obrotów wykonywanych wokół detalu z czterech do dwóch lub nawet jednego. Po potwierdzeniu poprawności działania programu robota przełączono w tryb REPEAT, a następnie wykonano pełny cykl pracy z nominalnymi parametrami.
Przeprowadzone testy potwierdziły zgodność działania programu z przyjętymi założeniami. Robot poprawnie realizował wszystkie zaprogramowane ruchy, zachowując właściwą kolejność operacji oraz prawidłowo wykonując cały cykl pracy.

Film prezentujący działanie programu
Błędy i rozwiązania
Resetowanie błędów – roboty Astorino
W przypadku pojawienia się błędu należy go zresetować, klikając odpowiedni przycisk:

Błąd E099

Błąd E099 oznacza, że robot nie jest w stanie osiągnąć zadanej pozycji. Może to być spowodowane niemożnością wykonania zadanej trajektorii pomiędzy dwoma punktami. W takim wypadku najczęściej wystarczy przejść z ruchu liniowego na złączowy lub nadać dodatkowy punkt pośredni w trajektorii.
Pozostałe błędy
W przypadku innych błędów, należy skontaktować się z pomocą techniczną ASTOR:
Telefonicznie: 12 424 00 88
Mailowo: support@astor.com.pl
Lub przez stronę internetową: https://www.astor.com.pl/wsparcie.html
Zobacz też:
Robot edukacyjny Astorino – kurs dla początkujących
Automatyzacja procesu sortowania z wykorzystaniem robota Astorino
Robot edukacyjny Astorino: zastosowanie funkcji FRAME i przykładowa aplikacja paletyzacji

Autor artykułu:
Maciej Pałka
Praktykant ASTOR
Student III roku kierunku Automatyka i robotyka na Akademii Górniczo-Hutniczej w Krakowie