Wymień rodzaje funkcji typowych dla języków programowania
Transkrypt
Wymień rodzaje funkcji typowych dla języków programowania
Wymień rodzaje funkcji typowych dla języków programowania robotów. związane z ruchem w przestrzeni wewnętrznej związane z ruchem w przestrzeni zewnętrznej realizujące obsługe sygnałów wejsciowych i wyjsciowych realizujące operacje w funkcji czasu np. opóznienie realizujące operacje na zmiennych – arytmetyczne, logiczne itp. realizujące operacje typowe dla języków programowania wysokiego poziomu (warunkowe pętle, wywołania funkcji itp.) Cechy ruchu zaplanowanego w przestrzeni zewnętrznej. po lini prostej Robot prowadzi TCP ze zdefiniowaną prędkością do punktu docelowego po najkrótszym torze. Tor najkrotszy jest zawsze linia prostą. po okręgu Robot prowadzi TCP ze zdefiniowaną prędkością po okręgu do punktu docelowego. Okrąg ten jest definiowny przez punkt początkowy, punkt pomocniczy oraz punkt docelowy. Cechy ruchu zaplanowanego w przestrzeni wewnętrznej. Robot prowadzi TCP do punktu docelowego po torze najszybszym, tor najszybszy nie jest z reguly torem najkrotszym, czyli nie jest linia prosta, Dokladnego przebiegu ruchu nie da sie przewidziec. Wymień podstawowe instrukcje ruchowe języka KRL. PTP – ruch do zadanego punktu i orientacji w przestrzeni przy stałej prędkości każdej osi z osobna (szczególnie przydatny, jeżeli na drodze do zadanego punktu znajdują się punkty osobliwe kinematyki manipulatora), LIN oraz CIRC – ruch końcówki do zadanego punktu i orientacji po linii prostej lub łuku w przestrzeni operacyjnej (kartezjańskiej). Wymień podstawowe instrukcje ruchowe języka RAPID. Wszystkie instrukcje ruchów w RAPID są typu PTP. Stosowane są następujące metody interpolacji: kołowa (MoveC), liniowa (MoveL) – obie w przestrzeni operacyjnej oraz liniowa w przestrzeni złącz manipulatora (MoveJ). Ruchy mogą być wykonywane względem globalnego układu odniesienia (MoveAbsJ) lub układu związanego z aktualnym położeniem manipulatora (MoveJ). W trakcie ruchu mogą być aktywowane wyjścia sterownika (MoveCDO, MoveJDO, MoveLDO). Równolegle z wykonaniem ruchu może być uruchamiana procedura, przykładowo sterująca urządzeniem współpracującym (MoveCSync, MoveLSync). Mogą również być wykonywane ruchy poszukiwawcze (SearchC, SearchL). Wymień podstawowe instrukcje ruchowe języka AS. Instrukcje ruchu są typu PTP, czyli ruch od bieżącej pozycji do zadanej argumentem pozycji docelowej, przy określonym sposobie interpolacji. Możliwe są następujące rodzaje interpolacji: liniowa (LMOVE) i kołowa (C1MOVE), w przestrzeni operacyjnej oraz liniowa w przestrzeni konfiguracyjnej manipulatora (JMOVE). Ruchy mogą być zadawane w postaci przyrostowej z interpolacją liniową w przestrzeni operacyjnej (LDEPART) i w przestrzeni konfiguracyjnej (JDEPART). Instrukcje sterujące prędkością i dokładnością umożliwiają ustawienie prędkości (SPEED), przyspieszenia (ACCEL) hamowania (DECEL), dokładności (ACCURACY) osiągania pozycji. Sterowanie narzędziem odbywa się za pomocą instrukcji otwarcia (OPEN) i zamknięcia (CLOSE) narzędzia. Jaka jest różnica w określaniu prędkości dla ruchów PTP oraz LIN lub CIRC? PTP – ruch do zadanego punktu i orientacji w przestrzeni przy stałej prędkości każdej osi z osobna (szczególnie przydatny, jeżeli na drodze do zadanego punktu znajdują się punkty osobliwe kinematyki manipulatora), w PTP prędkość jest określana procentowo (0% 100%). LIN oraz CIRC – ruch końcówki do zadanego punktu i orientacji po linii prostej lub łuku w przestrzeni operacyjnej (kartezjańskiej). Prędkość określana jest w m/s (0,001 2 m/s). Jaki jest cel ruchu robota z pozycjonowaniem przybliżonym? Celem ruchu robota z pozycjonowaniem przybliżonym jest wykonanie ruchu w jak najkrótszym czasie. Dzięki przybliżania robot mniej hamuje, dzięki czemu ruchy są bardziej płynne, nie zużywają się hamulce oraz napędy a program jest wykonywany szybciej, choć mniej dokładnie. Czy możliwy jest ruch robota z pozycjonowaniem precyzyjnym, bez konieczności zatrzymania się w kolejnych punktach? Pozycjonowanie robota w zarejestrowanych (nauczonych) punktach może odbywac sie w sposób precyzyjny (wtedy robot musi sie zatrzymac) lub przybliony (wtedy ruch odbywa sie w sposób ciagły). Zalety trapezoidalnego profilu prędkości. Ruch w złączach robota odbywa się najczęściej z trapezoidalnym profilem prędkości. Wybór takiego profilu predkosci wynika z faktu, że ruch (generowany szczególnie w przestrzeni złączy) odbywa się głównie ze stałą prędkościa, a przyspieszanie i hamowanie stanowi niewielki fragment sekwencji ruchu. Jaka jest różnica pomiędzy instrukcjami OUT i ANOUT języka KRL? $OUT[] (dla wejść i wyjść cyfrowych) $ANOUT[] (dla analogowych) (są to zmienne globalne zapewniające dostęp do wyjść sterownika) Jaka jest różnica pomiędzy instrukcjami WAIT i WAIT FOR języka KRL? Wait – zatrzymuje program na określony czas WAITFOR – oczekiwanie np. na odpowiedni stan wejścia lub wyzerowanie czasomierza Jak wygenerować impuls o zadanym czasie trwania w języku KRL? Instrukcja PULSE, parametry (pola formularzu): Numer wyjscia Jeśli wyjscie ma przypisana nazwe, nazwa ta jest wyswietlna Stan, do ktorego przełączane jest wyjście CONT, przetwarzanie podczas przebiegu Pusty ([]) obróbka z wstrzymaniem buforowania przebiegu Długość impulsu Do czego służy i jakie ma zastosowanie funkcja SYN OUT? SYN OUT bądź SYN PULSE (ustawienie stanu wyjścia synchronizowane z wykonaniem pewnej części trajektorii). Jaka jest różnica pomiędzy funkcjami SetDO i SetAO języka RAPID? SetAO – zmienia wartość analogowego sygnału wyjściowego SetDO – zmienia wartość cyfrowego sygnału wyjściowego (wartość symboliczna, np. high/low) Wymień instrukcje ruchu z jednoczesną obsługą wyjść binarnych w języku RAPID. TestDI WaitDI MoveJDO MoveLDO MoveCDO Do czego służą instrukcje SIGNAL i SWAIT języka AS? Signal ustawianie sygnałów binarnych (Włacza lub wyłacza sygnał zewnetrzny) SWAIT wstrzymanie wykonywania programu (Oczekiwanie, az wymieniony sygnał osiagnie założony stan) Dodatnia wartość numeru sygnału oznacza ustawienie na ON, ujemna na OFF. Co to jest przesuw SAK (BCO) dla robotów Kuka? Aby uzyskać zgodność konfiguracji robota ze współrzędnymi aktualnego punktu programu, wykonywany jest tzw. przesuw SAK. Odbywa się ze zredukowana prędkością do 10%. Robot jest przesuwany do współrzędnych rekordu ruchowego, w którym znajduje się wskaźnik rekordu. W jaki sposób rozpoczyna się tworzenie nowego programu w języku AS? W programie AS niezbędne jest wyuczenie robota dwóch rzeczy: Warunków pracy (work conditions) robota. Ścieżki (path) (pose ustawienia) dla narzędzia robota. Najpierw należy określić wszystkie ruchy wymagane do ukończenia zadania: W jaki sposób należy wykonać program w trybie krokowym dla robotów Kawasaki? Możliwa jest kontrola ruchu i treści programu poprzez wykonanie programu krok po kroku. Użyj polecenia wprowadzonego z ekranu STEP lub klawisza CHECK znajdującego się na programatorze ręcznym. Wymień podstawowe cechy współczesnych systemów symulacyjnych robotów przemysłowych. Podstawowe cechy współczesnych systemów symulacyjnych to: dostępna biblioteka podstawowych struktur manipulatorów możliwość definiowania struktury kinematycznej i geometrycznej symulacja ruchu robota i generowanie trajektorii badanie kolizji z przeszkodami implementacja języka programowania np. Industrial Robot Language model dynamiki manipulatora (Easy Rob, RobotiCad) symulacja całego stanowiska (robot i urządzenia zewnętrzne) symulacja linii produkcyjnej (Cosimir Festo, RobCad) Wymień komercyjne systemy programowania robotów offline. RobotAssist EasyRob Cosmiro Festo RobCad Abb RobotStudio Wymień elementy składowe systemów symulacyjnych. interfejs użytkownika definiowanie struktur kinematycznych i geometrycznych planowanie zadań i generowanie trajektorii wykrywanie kolizji sterowanie rzeczywistymi manipulatorami Metody wykrywania kolizji. Jednym z istotniejszych zagadnień przy symulacji rzeczywistego środowiska trójwymiarowego, jest wykrywanie kolizji robota z otoczeniem. W wirtualnej rzeczywistości kolizje dzielimy na: dyskretne (DCD Discrete Collision Detection) Pierwsza metoda polega na badaniu w minimalnym odstępie czasu, czyli w jednej klatce animacji, przecięcia trójkątów składających się na poszczególne modele. Jeśli takie podejście nie zapewnia zadowalającej dokładności określania zajścia zdarzenia, na przykład ze względu na dużą szybkość z która poruszają sie obiekty, wówczas konieczne jest zastosowanie metod bazujących na ciągłym wykrywaniu kolizji. ciagłe (CCD Continous Collision Detection). Określamy wtedy nie sam fakt przecięcia, tylko obliczamy czas w jakim kolizja nastapi a dokładność, która możemy uzyskać jest o wiele większa niż jedna klatka animacji. Można również dokładnie określić miejsce kontaktu. Ze wzgledu na ogromną liczbę testów, jakie należy przeprowadzić, aby okreslić wszystkie możliwości kontaktu obiektów, jeżeli ich powierzchnie składają się z trójkątów, potrzebne sa funkcje optymalizujące proces wykrywania kolizji. Wymień najważniejsze cechy systemu RobotStudio (RS) firmy ABB. możliwość równoczesnej pracy wielu robotów import modeli z różnych systemów CAD wyznaczanie ścieżki na podstawie modeli CAD badanie, czy poszczególne punkty sa osiagalne w przestrzeni zewnętrznej wykrywanie, czy ścieżka nie przebiega w pobliżu punktów osobliwych wykrywanie kolizji edycja i debugging programu możliwość definiowania sygnałów i tworzenia połączeń pomiędzy różnymi elementami sceny możliwość reakcji na zdarzenia zewnetrzne możliwość programowania w C# i Visual Basic możliwość modelowania narzędzi robota z uwzględnieniem parametrów umożliwiających obliczenia dynamiki rozbudowane możliwosci symulacyjne poprzez tworzenie obiektów o wielu cechach (SmartComponent) Co kryje się pod pojęciami „System” i „Station” w systemie RS? Station – stanowisko z robotem lub wieloma robotami, otoczeniem itp. System – robot + wirtualny kontroler Do czego służy Workobject? Miejsce, w którym umieszczany jest obrabiany przedmiot. Dla robota jest to obszar roboczy. Wymień układy współrzędnych w systemie RS. World – układ współrzędnych stanowiska Controller world – układ współrzędnych sterownika Base – układ współrzędnych robota TCP – układ współrzędnych narzędzia WorkObject – układ współrzędnych przedmiotu User frame – układ współrzędnych względem Workobject frame User – układ współrzędnych użytkownika Parent – nadrzędny układ współrzędnych Local – lokalny układ współrzędnych Wymień sposoby ręcznego poruszania robotem. Joint jog – ruch węzłów Linear jog (Freehand) – ruch koncówki w zadanym układzie współrzędnych Reorient jog (Freehand) – rotacje koncówki w zadanym układzie współrzędnych Do czego służą współczynniki konfiguracji osi? Służą do kodowania konfiguracji osi robota, gdyż to samo położenie i orientacja TCP może byc osiągniete przez różne konfiguracje robota. Czym się różni macro od programu? Makra są niesamodzielnymi programami i w celu wykonania muszą być uruchamiane w środowisku innego programu. Czym się różni flaga od markera? Marker to punkt odniesienia, względem którego robot jest pozycjonowany w przestrzeni. Jest aktualizowany cyklicznie. Flaga jest stosowana do wskazania stanu lub do stymulowania szczególnej reakcji podczas wykonywania programu komputerowego. Aktualizowana tylko podczas przypisania. Rola instrukcji RP. jesli chodziło o CP to: Włącza lub wyłącza ciągłą ścieżkę ruchu. Gdy znajduje się w pozycji ON, robot wykonuje płynne przejścia pomiędzy odcinkami ruchu. Gdy wyłącznik jest w pozycji OFF, robot zwalnia i zatrzymuje się na końcu każdego odcinka ruchu. Wymienić instrukcje ruchowe w Robot Studio, czyli moveJoint itp. MoveJ – szybki ruch, który nie musi być linią prostą, z jednego punktu do drugiego MoveL – ruch liniowy MoveC – ruch kołowy Układy współrzędnych Robot Studio. TCP – centralny punkt narzędzia World – reprezentuje całą stację roboczą Workobejct – reprezentuje fizyczny obrabiany przedmiot Base Frame – zawsze zlokalizowany u podstawy robota User – wykorzystywany do tworzenia punktów odniesienia według własnego uznania Tryb FB ONL. FB ONL = E150 & E151 & E153 Robot wykonuje ruch, kiedy warunek logiczny jest spełniony. Warunek moze byc wykorzystany do zatrzymania robota, w kontrolowany sposob, kiedy warunki nie są spełnione lub następuje błąd czy też blokada, ograniczenie innego typu. Funkcja ta jest sprawdzana podczas ruchu robota, dzięki czemu można też zatrzymać robota podczas ruchu między dwoma punktami. Jest resetowana na koncu programu. (by sid niech ktos to sprawdzi) Opis współrzędnej w Robot Studio (RAPID). Position – pozycja zdefiniowana w układzie współrzędnych Workobject Orientation – orientacja względem orientacji obrabianego przedmiotu Configuration – wartości konfiguracyjne określające w jaki sposób robot powinien osiągnąć cel Kod programu. Dla przykładowej linii kodu wykonanie ruchu typu CIRCLE: MoveC Target_40,Target_50, v150,z100,Pen_TCP\WO bj:=wobj0; poszczególne argumenty to: MoveC ToPoint1, ToPoint2, Speed (prędkość), Zone (błąd), Tool (narzędzie) ruch po okręgu w przestrzeni kartezjańskiej MoveC ma 2 punkty, MoveL jeden, tu MoveC: ToPoint1 współrzędne punktu dodatkowego. ToPoint2 współrzędne punktu docelowego. MoveJ Target_Home,v1000,z100,Pen_TCP\WObj:=wobj0 MoveL Target_20,v100,z100,Pen_TCP\WObj:=wobj0; CONST robtarget Target_60:=[[1214.132108706,144.30910478 ,200],[0,0,1,0],[0,2,1,0],[9E9,9 E9,9E9,9E9,9E9,9E9]]; Korwin królem polski! robtarget(pos trans, orient rot, confdata robconf, extjoint extax); Target_60 nazwa zmiennej (cel) [1214.132108706,144.30910478,200] => [X, Y, Z] pozycja (do tej pozycji będzie wykonany ruch TCP) [0,0,1,0] konfiguracja (orientacja) narzędzia > TCP [0,2,1,0] konfiguracja (orientacja) robota [9E9,9E9,9E9,9E9,9E9,9E9] określa położenie logicznych osi zewnętrznych [external axes] określane w stopniach (6osi, bo manipulator 6osiowy) Kolejność obliczeń w ruchu PTP i LIN punktu · współrzędne wewnętrzne zewnętrzne i wewnętrzne docelowego robota (aktualne) · 1. Wyliczenie współrzędnych zewnętrznych punktu docelowego. 1. Wyliczenie drogi kątowej lub liniowej. 3. Interpolacja1 przejścia pomiędzy macierzami punktu początkowego i końcowego z uwzględnieniem profilu trapezoidalnego. Pytania z wykładów: 1. Korzystając z robota, z jakich układów współrzędnych korzystamy? układ wewnętrzny osi konfiguracyjnych, naturalnych (współrzędne osi) układ zewnętrzny => układ Kartezjański, prostokątny Układ zadaniowy (w tym układzie definiowane jest zadanie) Można wyszczególnić układ elementu obrabiania układ BASE Jaka operacja łączy układ wewnętrzny i zewnętrzny? Zadanie proste kinematyki pozwala na przeliczenie układów. Wektor X będzie funkcją wektora U, X=F(q) q=[q1,...,q6] X=[X,Y,Z,,,], gdzie ,,to kąty Eulera (rotacje względem układu współrzędnych) 11. Różnice między trybami T1 i T2. a. T1: prędkość ograniczona w trybie ręcznym i automatycznym. b. T2: prędkość ograniczona tylko w trybie ręcznym. 1