Automatyka w praktyce

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.

Rys. 1. Stacja PRO wraz z robotem Astorino oraz dodatkowym osprzętem. (Źródło: ASTOR)
Rys. 2. Chwytak szczękowy wykorzystany podczas realizacji poradnika. (Źródło: ASTOR)
Rys. 3. Przenośnik taśmowy wykorzystany podczas realizacji poradnika. Źródło: ASTOR

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).

Rys. 4. Ustawianie pozycji domowej HOME. Źródło: ASTOR

Tworzenie nowego programu

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

Rys. 5. Tworzenie nowego programu. Źródło: ASTOR

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.

Rys. 6. Tworzenie nowego programu. Źródło: ASTOR

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.

Rys. 7. Uruchamianie programu. Źródło: ASTOR

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.

Rys. 8. Menu zmiany trybu pracy. Źródło: ASTOR

Wizualizacja stanowiska

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

Rys. 9. Wizualizacja stanowiska zrobotyzowanego. Źródło: ASTOR
Rys. 10. Punkty użyte podczas realizacji zadania. Źródło: ASTOR
Rys. 11. Punkty na taśmociągu użyte w zadaniu. Źródło: ASTOR

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.

Rys. 12. Stanowisko fizyczne. Źródło: ASTOR

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).

Rys. 13. Zakładka JOG w środowisku Astorino. Źródło: ASTOR
Rys. 14. Teach Pendant. Źródło: ASTOR

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.

Rys. 15. Przenośnik taśmowy. Źródło: ASTOR
Rys. 16. Przenośnik taśmowy. Źródło: ASTOR

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
Rys. 17. Złącza taśmociągu. Źródło: ASTOR
Rys. 18. Złącze enkodera. Źródło: ASTOR
Rys. 19. Rozpiska wyprowadzeń złącza enkodera. Źródło: ASTOR
Rys. 20. Złącza czujników. Źródło: ASTOR

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.

Rys. 21. Podpięcie przewodów do modułu I/O 24V. Źródło: ASTOR
Rys. 22. Podpięcie przewodu enkodera do robota. Źródło: ASTOR

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.

Rys. 23. Ustawienie kierunku pracy taśmociągu. Źródło: ASTOR

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.

Rys. 24. Ustawienie rozdzielczości enkodera taśmociągu. Źródło: ASTOR

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

Rys. 25. Wartość przesunięcia taśmociągu odczytana z enkodera przez robota. Źródło: ASTOR

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.

Rys. 26. Sterowanie taśmociągiem za pomocą sygnałów wyjściowych robota. Źródło: ASTOR
Rys. 27. Przykładowe oznaczenie taśmy i taśmociągu. Źródło: ASTOR

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.

Rys. 28. Zmiana rozdzielczości enkodera taśmociągu. Źródło: ASTOR

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.
  • FORTOEND – 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
 
.END

Mapowanie I/O

UWAGA! Sygnały push_button i ind_sens nie są używane w tym artykule.

Operand symbolicznyOperand absolutnyOpis sygnału
conv_dir1Wybór kierunku pracy przenośnika
conv_en2Załączenie/wyłączenie przenośnika
feeder5Podajnik kostek
gripper57Chwytak robota
push_button1001Przycisk bistabilny podłączony do robota
ind_sens1002Czujnik indukcyjny
feeder_sens1003Czujnik kostek podajnika
conv_1_sens1007Czujnik obecności kostek na taśmociągu 1
conv_2_sens1008Czujnik 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.

Rys. 29. Realizacja programu na fizycznym robocie. Źródło: ASTOR

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:

Rys. 14. Resetowanie błędów robota. (Źródło: ASTOR)

Błąd E099

Rys. 15. Błąd E099. (Źródło: ASTOR)

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

Jak zasymulować stanowisko zrobotyzowane za pomocą K-ROSET oraz KIDE na robocie Kawasaki Robotics, a następnie przenieść aplikację na robota edukacyjnego Astorino

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

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: 5 / 5. Ilość ocen: 2

Ten artykuł nie był jeszcze oceniony.

Zadaj pytanie

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *