Funkcje

Opis

Funkcja reprezentuje obiekt zdefiniowany przez sześciowymiarową postawę (pozycję i orientację) względem podstawy robota. Funkcję można nazwać, aby ułatwić jej rozpoznanie w przyszłości.

Niektóre elementy składowe programu robota obejmują ruchy, które muszą zostać wykonane względem określonych obiektów, innych niż podstawa ramienia robota. Obiektami tymi mogą być stoły, inne maszyny, obsługiwane elementy, systemy wizyjne, półfabrykaty lub granice, które zazwyczaj występują w otoczeniu ramienia robota.

Robot ma dwie wstępnie zdefiniowane funkcje, wymienione poniżej, z postawami zdefiniowanymi przez konfigurację samego ramienia robota:

  • Funkcja Podstawa jest usytuowana w punkcie początkowym pośrodku podstawy robota.

  • Funkcja Narzędzie jest usytuowana w punkcie początkowym pośrodku bieżącego punktu TCP.

 

Funkcja bazowa

 

Funkcja narzędzia

 

Szczegóły

Funkcja Punkt, funkcja Linia i/lub funkcja Płaszczyzna służą do definiowania postawy funkcji.

Położenie funkcji jest określane za pomocą metody wykorzystującej bieżącą postawę TCP w obszarze roboczym. Dzięki temu można uczyć robota lokalizacji funkcji za pomocą np. trybu ruchu swobodnego lub przesuwać ramię robota impulsowo do żądanej postawy.

Wybór funkcji zależy od typu używanego obiektu i wymagań dotyczących dokładności. Gdy to możliwe, należy korzystać z funkcji Linia i Płaszczyzna, ponieważ są one oparte na większej liczbie punktów wejściowych. Więcej punktów wejściowych oznacza większą dokładność.

 

Aby na przykład dokładnie określić kierunek ruchu przenośnika liniowego, należy zdefiniować dwa punkty funkcji Linia przy zachowaniu jak największych możliwych odstępów fizycznych. Do określenia kierunku ruchu przenośnika liniowego można również użyć funkcji Punkt, jednak użytkownik musi skierować punkt TCP w kierunku ruchu przenośnika.

Wykorzystanie większej liczby punktów do zdefiniowania postawy stołu oznacza, że orientacja jest oparta o pozycje, a nie o orientację pojedynczego punktu TCP. Precyzyjne skonfigurowanie orientacji pojedynczego punktu TCP jest trudniejsze.
Więcej informacji na temat dodawania funkcji zawierają sekcje:  (Dodawanie punktu) i (Funkcja płaszczyznowa).

 

Korzystanie z funkcji

Aby powiązać ruchy robota (np. poleceń RuchJ, RuchL i RuchP) z funkcją, można odwołać się do funkcji zdefiniowanej w instalacji w programie robota (patrz sekcja Ruch).

Dzięki temu można w łatwy sposób dostosować program robota, na przykład gdy jest wiele stanowisk robota lub obiekt porusza się podczas wykonywania programu, lub stale porusza się w obrębie sceny. Dostosowanie funkcji obiektu koryguje wszystkie ruchy programu względem tego obiektu.

Dodatkowe przykłady zawierają sekcje: (Przykład: ręczna aktualizacja funkcji w celu dostosowania programu) i (Przykład: dynamiczna aktualizacja postawy funkcji). Po wybraniu funkcji jako układu odniesienia przyciski Porusz narzędzie odpowiedzialne za translację i rotację działają w wybranym obszarze funkcji (patrz Karta Ruch) i (Aby użyć strzałek Porusz narzędzie), odczytując współrzędne punktu TCP. Przykładowo, jeśli jako funkcję wybrano stół, który został również wybrany jako wartość referencyjna na karcie Ruch, przyciski strzałek translacji (np. góra/dół, lewo/prawo, przód/tył) przesuwają robota w odpowiednim kierunku względem stołu. Ponadto współrzędne punktu TCP będą mieściły się w ramie stołu.

  • W drzewie funkcji można zmienić nazwę punktu, linii lub płaszczyzny, dotykając przycisku ołówka.

  • W drzewie funkcji można usunąć punkt, linię lub płaszczyznę, dotykając przycisku Usuń.

 

Używanie funkcji Przesuń tutaj

Dotknąć przycisku Przesuń tutaj, aby przesunąć ramię robota w stronę wybranej funkcji. Pod koniec tego ruchu układy współrzędnych elementu oraz punktu centralnego narzędzia (TCP) będą się pokrywać.

Przycisk Przenieś tutaj jest wyłączony, jeśli ramię robota nie może dosięgnąć funkcji.

 

Funkcja Punkt

Funkcja punktowa określa granicę bezpieczeństwa lub globalną konfigurację pozycji początkowej ramienia robota. Postawa funkcji punktowej jest zdefiniowana jako pozycja i orientacja punktu TCP.

Dodawanie punktu
  1. Na karcie Instalacja wybrać opcję Funkcje.

  2. W obszarze Funkcje wybrać opcję Punkt.

 

Funkcja Linia

 

Funkcja liniowa określa linie, po których musi podążać robot. (Np.: podczas używania funkcji śledzenia przenośnika). Linia l jest definiowana jako oś pomiędzy dwoma funkcjami punktu, p1 i p2, co przedstawia rysunek Funkcje.

Dodawanie linii

  1. Na karcie Instalacja wybrać opcję Funkcje.

  2. W obszarze Funkcje wybrać opcję Linia.

 

Tutaj widać, że oś skierowana od pierwszego do drugiego punktu stanowi oś y układu współrzędnych linii. Oś z jest definiowana przez rzutowanie osi z punktu p1 na płaszczyznę prostopadłą do linii. Pozycja układu współrzędnych linii jest taka sama jak pozycja punktu p1.

 

Funkcja płaszczyznowa Funkcję płaszczyznową należy wybrać, gdy potrzebna jest rama o wysokiej precyzji, np. podczas pracy z systemem wizyjnym lub w przypadku ruchu względem stołu.
Dodawanie płaszczyzny
  1. Na karcie Instalacja wybrać opcję Funkcje.

  2. W obszarze Funkcje wybrać opcję Płaszczyzna.

Uczenie płaszczyzny

Po naciśnięciu przycisku płaszczyzny w celu utworzenia nowej płaszczyzny na ekranie zostaje wyświetlany kreator pomagający ją utworzyć.

  1. Wybrać punkt charakterystyczny

  2. Przesunąć robota, aby zdefiniować kierunek dodatniej osi x na płaszczyźnie

  3. Przesunąć robota, aby zdefiniować kierunek dodatniej osi y na płaszczyźnie

Płaszczyzna jest definiowana za pomocą reguły prawej dłoni w taki sposób, że oś z jest iloczynem wektorowym osi x oraz osi y, jak pokazano poniżej.

Można wykonać ponowne uczenie płaszczyzny w kierunku przeciwnym do osi x, jeśli płaszczyzna ta ma mieć normalny kierunek w przeciwną stronę.

Zmodyfikować istniejącą płaszczyznę, wybierając płaszczyznę i naciskając przycisk Modyfikuj płaszczyznę. Następnie użyć tego samego kreatora, co w przypadku uczenia nowej płaszczyzny.

 

Przykład: ręczna aktualizacja funkcji w celu dostosowania programu

Uwzględnij zastosowanie funkcji, gdy wiele części programu robota jest względnych do stołu. Poniższy rysunek przedstawia ruch przez punkty orientacyjne od wp1 do wp4.

Robot Program
    MoveJ
        S1
    MoveL # Feature: P1_var
        wp1
        wp2
        wp3
        wp4

46.5:  Prosty program z czterema punktami trasy względem płaszczyzny cech aktualizowany ręcznie poprzez zmianę cechy

46.6:  

Zastosowanie wymaga, aby ponownie użyć programu w wielu instalacjach robota, gdzie pozycja stołu może różnić się w nieznacznym stopniu. Ruch względem stołu jest taki sam. W razie zdefiniowania pozycji stołu jako funkcji P1 w instalacji, program z poleceniem RuchL skonfigurowanym względem płaszczyzny można z łatwością zastosować na dodatkowych robotach, po prostu aktualizując instalację za pomocą rzeczywistej pozycji stołu.

Koncepcja ma zastosowanie do wielu funkcji aplikacji. Dzięki temu można ustalić elastyczny program, który służy do rozwiązania tego samego zadania na wielu robotach, nawet jeśli np. inne miejsca w przestrzeni roboczej będą różnić się w poszczególnych instalacjach.

 

Przykład: dynamiczna aktualizacja postawy funkcji

Rozważmy podobne zastosowanie, w którym robot musi wykonać ruch zgodnie z określonym wzorcem nad stołem, aby wykonać określone zadanie.

Polecenie MoveL z czterema punktami trasy względem obiektu płaskiego

Robot Program
    MoveJ
        wp1
    y = 0.01
    o = p[0,y,0,0,0,0]
    P1_var = pose_trans(P1_var, o)
    MoveL # Feature: P1_var
        wp1
        wp2
        wp3
        wp4

46.7:  Zastosowanie offsetu do elementu płaszczyzny

46.8:  

Robot Program
    MoveJ
        S1
    if (digital_input[0]) then
        P1_var = P1
    else
        P1_var = P2
    MoveL # Feature: P1_var
        wp1
        wp2
        wp3
        wp4

46.9:  Przełączanie z jednej płaszczyzny na inną

46.10:  

Ruch względem P1 jest wielokrotnie powtarzany, za każdym razem z przesunięciem o. W tym przykładzie przesunięcie wynosi 10 cm w kierunku Y, przesunięcia O1 i O2). Można to osiągnąć, np. korzystając z funkcji skryptu pos_dod() lub pos_trans(), za pomocą których można manipulować zmienną. Gdy program jest uruchomiony, zamiast dodawać przesunięcie można zmienić funkcję na inną. Pokazano to w przykładzie. Patrz rysunek, na którym funkcję odniesienia polecenia RuchL zmiennej_P1 można przełączać między dwoma płaszczyznami, P1 i P2.