warstwy programowania trajektorii ruchu
Transkrypt
warstwy programowania trajektorii ruchu
WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA RiSM Układy sterowania robotów przemysłowych. Warstwa programowania trajektorii ruchu. Warstwa wyznaczania trajektorii ruchu. Dr inż. Mariusz Dąbkowski Zadaniem warstwy programowania trajektorii ruchu jest umożliwienie uczenia robota tzn.: ¾ przeprowadzenie pomiaru wartości współrzędnych naturalnych odpowiadających kolejnym punktom zadanej trajektorii ruchu ramion; ¾ przechowanie tych wartości w pamięci układu sterowania robota. Dokonuje się tego w trakcie wodzenia przez człowieka ramionami manipulatora wzdłuż zadanej trajektorii. Zalety uczenia ¾ możliwość bardzo szybkiego zaprogramowania skomplikowanych trajektorii ruchu w bardzo naturalny sposób (na drodze „wykreślenia” tej trajektorii w przestrzeni trójwymiarowej – zadanie lakierowania lub spawania), ¾ możliwość szybkiego modyfikowania zaprogramowanej trajektorii; ¾ możliwość efektywnego stosowania uczenia przez niskokwalifikowany personel, ¾ duża prostota układów cyfrowych lub programów komputerowych, potrzebnych do uczenia. Uczenie ciągłe polega na automatycznym wprowadzaniu do pamięci układu sterowania, z odpowiednio dużą częstotliwością, wartości współrzędnych naturalnych kolejnych punktów trajektorii ruchu ramion, wodzonych przez człowieka wzdłuż zadanej trajektorii. Istotą uczenia ciągłego jest to, że: ¾ wybór punktów trajektorii przechowywanych w pamięci nie zależy od uczącego człowieka, który może wyłącznie ustalić częstotliwość próbkowania przetworników położenia ramion i zainicjować zbieranie danych; ¾ kolejno zapamiętywane punkty trajektorii są równoodległe w czasie; ¾ kolejno zapamiętywane punkty trajektorii mogą różnić się wartościami wszystkich współrzędnych naturalnych, ¾ uczenie odbywa się z reguły w tej samej skali czasu, w jakiej później trajektoria zostaje odtworzona. Przyśpieszenie ruchów robota wymaga więc przyśpieszenia ruchów podczas uczenia. Pojedyncze ramię robota z serwomechanizmem hydraulicznym (VERSATRAN i DeVilbiss-Trallfa ) Uczenie ciągłe Pojedyncze ramię robota z serwomechanizmem hydraulicznym (VERSATRAN i DeVilbiss-Trallfa ) Odtwarzanie trajektorii Uczenie ciągłe jest stosowane najczęściej w przypadku niekomputerowych układów sterowania z pamięciami taśmowymi lub bębnowymi. Zaletami uczenia ciągłego są: ¾ szybkość wprowadzania trajektorii do pamięci, ¾ duża prostota przygotowania bardzo złożonych trajektorii ruchu potrzebnych np. przy lakierowaniu natryskowym lub spawaniu łukowym, ¾ prostota i taniość układu sterowania. Wady uczenia ciągłego: ¾ mała elastyczność – wprowadzenie zmian do zaprogramowanej trajektorii jest praktycznie niemożliwe, ¾ trajektoria zaprogramowana w sposób nieciągły: odcinkami, z przerwami wynikłymi, ¾ jeżeli trajektoria ruchu zawiera fragment wielokrotnie powtarzany, to fragment ten musi zostać tyle samo razy zapisany na taśmie, ¾ uzależnienie przebiegu trajektorii od stanu obsługiwanej maszyny jest bardzo utrudnione i w zasadzie ograniczone do przypadków najprostszych, polegających, ¾ ze względu na zapamiętywanie wszystkich równoodległych w czasie punktów trajektorii uczenie takie wymaga bardzo pojemnych pamięci lub jest ograniczone do programów o krótkim czasie trwania. Uczenie dyskretne polega na wprowadzaniu na rozkaz człowieka do pamięci układu sterowania współrzędnych naturalnych kolejnych punktów trajektorii ruchu ramion, do których to punktów ramiona zostały doprowadzone na drodze sterowania ręcznego przez człowieka i w punktach tych na okres uczenia unieruchomione. Istotą uczenia dyskretnego jest to, że: ¾ wybór punktów trajektorii przechowanych w pamięci zależy całkowicie od uczącego człowieka; liczba tych punktów jest znacznie mniejsza aniżeli przy uczeniu ciągłym, ¾ kolejno zapamiętywane punkty trajektorii nie są równoodległe w czasie, ¾ kolejno zapamiętywane punkty trajektorii nie zawsze mogą różnić się wartościami wszystkich współrzędnych naturalnych, ¾ czas odtwarzania trajektorii jest niezależny od czasu, w jakim dokonano uczenia. Uczenie dyskretne jest najczęściej stosowane w przypadku komputerowych systemów sterowania. Wynika to stąd, że: ¾ dysponowanie komputerem umożliwia odtwarzanie trajektorii, dla której zapamiętano tylko kilka charakterystycznych punktów, najczęściej nierównoodległych w czasie; ¾ koszt pamięci operacyjnej czyni przechowanie wszystkich równoodległych w czasie punktów trajektorii rozwiązaniem ekonomicznie nieuzasadnionym. Budowa komputerowego układu sterowania robota, umożliwiającego uczenie dyskretne Procesor komputera jest sprzęgnięty bezpośrednio z dwoma rodzajami pamięci: ¾ z pamięcią trwałą (stałą), której zawartość procesor może tylko czytać, lecz do której nie może wpisywać informacji. Pamięć ta jest przeznaczona do przechowania zestawu programów, z których każdy realizuje jedną instrukcję wprowadzaną do procesora z programatora klawiszowego; ¾ z pamięcią operacyjną o dostępie swobodnym, której zawartość procesor może zarówno czytać jaki zmieniać. Pamięć ta służy do przechowania danych ulegających zmianie w trakcie programowania trajektorii i w trakcie pracy robota. Danymi tymi są np. wartości współrzędnych zapamiętanych punktów trajektorii, wartości zadeklarowanych czasów trwania ruchów, wyniki pośrednie i końcowe obliczeń interpolacyjnych. Magistrala wejścia-wyjścia sprzęga procesor z następującymi urządzeniami zewnętrznymi (peryferyjnymi): ¾ programator klawiszowy, którego klawisze odpowiadają instrukcjom, za pomocą których można: • sterować ręcznie serwomechanizmami położenia, • sterować uczeniem robota, oraz liczbom określającym parametry tych instrukcji (np. żądane prędkości przemieszczeń ramion), ¾ serwomechanizmy położenia, którym procesor przekazuje wartości zadane położeń i od których otrzymuje sygnały generowane w chwilach osiągnięcia skrajnych położeń ramion, ¾ przetworniki położenia ramion, umożliwiające procesorowi odczytywanie wartości współrzędnych naturalnych ramion w trakcie uczenia, ¾ chwytak manipulatora, któremu procesor przekazuje sygnały sterujące, ¾ obsługiwana maszyna, której procesor przekazuje sygnały sterujące i od której otrzymuje sygnały generowane w określonych sytuacjach (np. w chwili zakończenia operacji technologicznej, w chwili pojawienia się przedmiotu wymagającego manipulacji); ¾ pamięć zewnętrzna taśmowa lub dyskowa, przeznaczona do przechowania trajektorii wyznaczonych przez procesor w celu późniejszego wykorzystania oraz wprowadzania zapamiętanych trajektorii do pamięci operacyjnej komputera w celu ich realizacji. Konieczność sprzęgania urządzeń z komputerem za pomocą specjalnych, indywidualnych dla każdego urządzenia zewnętrznego układów sprzęgających. Układem sprzęgającym określony komputer z określonym urządzeniem zewnętrznym nazywa się układ przetwarzający sygnały sterujące i dane pochodzące z tego komputera na sygnały sterujące i dane akceptowane przez wymienione urządzenie zewnętrzne i na odwrót: przetwarzający sygnały sterujące i dane pochodzące z wymienionego urządzenia zewnętrznego na sygnały sterujące i dane akceptowane przez komputer. W trakcie uczenia robota komputer wymienia dane i sygnały sterujące z programatorem klawiszowym, przetwornikami położeń oraz serwomechanizmami położeń. Każdemu klawiszowi programatora oraz każdemu przetwornikowi położenia jest przyporządkowany rejestr wejściowy, którego zawartość odpowiada instrukcji wprowadzanej za pomocą tego klawisza lub wynikowi pomiaru położenia. Komputer powinien móc wczytać zawartość każdego z rejestrów wejściowych do pamięci, operacyjnej. Każdemu serwomechanizmowi położenia jest przyporządkowany rejestr wyjściowy, którego zawartość odpowiada wartości zadanej położenia. W skład układów sprzęgających dla oma-wianych urządzeń zewnętrznych wchodzi poza tym: ¾ wskaźnik gotowości - przerzutnik, którego stan sygnalizuje komputerowi obecność w rejestratorze wejściowym danej, którą komputer powinien odczytać lub gotowość rejestru wyjściowego do przyjęcia nowej danej z komputera. Dzięki tej sygnalizacji: • komputer wczytuje zawartość rejestru wyjściowego czujnika położenia np. dopiero wówczas, gdy czujnik położenia zostanie sprzęgnięty z przetwornikiem analogowo-cyfrowym i gdy przetwornik ten zakończy przetwarzanie; • komputer wpisuje nową daną do rejestru wejściowego serwomechanizmu np. dopiero wówczas, gdy poprzednia dana została przetworzona na sygnał analogowy; ¾ układ sterowania układu sprzęgającego, umożliwiający komputerowi: • wpisywanie danych do rejestrów wyjściowych oraz wczytywanie danych z rejestrów wejściowych; • testowanie stanu wskaźników gotowości (przerzutnika falagowego); • zerowanie wskaźników gotowości.(przerzutnika flagowego); • dokonywanie niezbędnych przełączeń, np. odłączenie przetwornika położenia od serwomechanizmu i wprowadzenie sygnału wyjściowego tego przetwornika do przetwornika analogowo-cyfrowego; ¾ deszyfrator adresów, który w odpowiedzi na adres danego rejestru wprowadzony na magistralę adresów, będącą częścią magistrali wejścia-wyjścia, łączy układ sterowania układu sprzęgającego z magistralą sterowań, będącą również częścią magistrali wejściawyjścia. Układ sprzęgający przetwornika położenia i układ sprzęgający serwomechanizmu Podczas uczenia i sterowania ręcznego za pomocą programu testującego komputer sprawdza periodycznie stany wskaźników gotowości wszystkich rejestrów programatora klawiszowego. Klawisze i przełączniki tego programatora umożliwiają wprowadzenie do komputera następujących danych: ¾ instrukcji uczących, przeznaczonych do wprowadzenia do pamięci operacyjnej nastawionych współrzędnych naturalnych ramion manipulatora oraz danych opisujących program pracy robota; ¾ instrukcji sterujących, umożliwiających ręczne sterowanie ruchu manipulatora; ¾ instrukcji sprawdzających, umożliwiających kontrolę programu pracy robota; ¾ parametrów ruchu, określających kierunek zaprogramowanego ruchu (np. pionowy lub poziomy), sposób wykonania ruchu (jednorazowo lub wielokrotnie) oraz prędkość ruchu. W wyniku realizacji podprogramu nastąpi wykonanie ciągu operacji składających się na wymienioną instrukcję: ¾ jeżeli instrukcja była instrukcją sterującą, to ramiona manipulatora wykonają określony ruch lub chwytak zostanie załączony lub wyłączony; ¾ jeżeli instrukcja była instrukcją sprawdzającą, to nastąpi odtworzenie wybranego fragmentu programu wprowadzonego do komputera podczas uczenia, wyświetlenie wybranej instrukcji lub jej usunięcie z programu; ¾ jeżeli instrukcja była instrukcją uczącą, to nastąpi: • wczytanie do pamięci operacyjnej danych charakteryzujących programowaną trajektorię • wczytanie do pamięci operacyjnej rozkazu skoku do podprogramu realizującego wymienioną instrukcję na etapie pracy automatycznej. Trajektorie ruchu ramion manipulatora różne ze względu na zmiany położeń początkowych manipulowanych przedmiotów lub zmian orientacji tych przedmiotów. „Sztywny" program manipulacji, wprowadzony pamięci robota podczas uczenia bezużyteczny. do Konieczność zastąpienia warstwy programowania trajektorii ruchu warstwą wyznaczania trajektorii ruchu współrzędnych naturalnych – warstwą wyznaczania trajektorii ruchu. Zadania warstwy (roboty generacji 2 i wyższych) Określenie takich dopuszczalnych przebiegów czasowych współrzędnych naturalnych manipulatora, które zapewniają przemieszczenie chwytaka do wybranego punktu trójwymiarowej przestrzeni kartezjańskiej, w której znajduje się robot. Przemieszczenie może być realizowane: ¾ z zachowaniem zadanej trajektorii chwytaka w przestrzeni trójwymiarowej; ¾ przy dowolnej dopuszczalnej trajektorii chwytaka kończącej się w wybranym punkcie. Dopuszczalnymi przebiegami czasowymi współrzędnych naturalnych manipulatora (współrzędne chwytaka w trójwymiarowej przestrzeni kartezjańskiej) nazywa się takie przebiegi czasowe, przy których: ¾ nie nastąpi przekroczenie granicznych położeń ramion; ¾ nie dojdzie do kolizji ramion manipulatora z przedmiotami go otaczającymi. Dopuszczalną trajektorią chwytaka nazywa się trajektorię nie przecinającą przedmiotów z otoczenia manipulatora. Dwa sposoby formułowania zadania wyznaczenia trajektorii ruchu współrzędnych naturalnych manipulatora a) zadane końcowe położenie manipulatora b) zadana trajektoria manipulatora